summaryrefslogtreecommitdiff
path: root/keyboards/treadstone32/rev1
diff options
context:
space:
mode:
authormarksard <38324387+marksard@users.noreply.github.com>2020-05-07 18:23:26 +0900
committerGitHub <noreply@github.com>2020-05-07 02:23:26 -0700
commitae5f7365eae0e25339615908c275bf383dc7b335 (patch)
treed27112d4a3191293ea39be894cbe2977ed2772f1 /keyboards/treadstone32/rev1
parent606438692db8bb935c047bf202e9052f2e1ac037 (diff)
[Keyboard] Add keyboard firmware treadstone32lite (#8720)
* Keyboard: add treeadstone48 * rename layout defines * Use of pragma once * move common include code * fixed info.json * change keymap layout from kc to normal * fix alpha revision keymap * fixed info.json * remove USE_Link_Time_Optimization * Add keyboard firmware of treadstone32lite * fixed by the review * I used to set this to a per-keymap setting, so I'll undo it.
Diffstat (limited to 'keyboards/treadstone32/rev1')
-rw-r--r--keyboards/treadstone32/rev1/config.h97
-rw-r--r--keyboards/treadstone32/rev1/rev1.c16
-rw-r--r--keyboards/treadstone32/rev1/rev1.h45
3 files changed, 158 insertions, 0 deletions
diff --git a/keyboards/treadstone32/rev1/config.h b/keyboards/treadstone32/rev1/config.h
new file mode 100644
index 0000000000..caec9c5825
--- /dev/null
+++ b/keyboards/treadstone32/rev1/config.h
@@ -0,0 +1,97 @@
+/*
+Copyright 2019 marksard
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0xDFA5
+#define DEVICE_VER 0x0010
+#define MANUFACTURER marksard
+#define PRODUCT treadstone32
+#define DESCRIPTION Minimal Symmetrical staggered 32-Key Keyboard
+
+/* key matrix size */
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 5
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+*/
+#define MATRIX_ROW_PINS { F1, F0, E6, B2, B4, D7, D6, D4 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7, C7 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+#define RGB_DI_PIN D3
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 6
+ #ifndef IOS_DEVICE_ENABLE
+ #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+ #define RGBLIGHT_VAL_STEP 8
+ #else
+ #define RGBLIGHT_LIMIT_VAL 50
+ #define RGBLIGHT_VAL_STEP 4
+ #endif
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+/*== all animations enable ==*/
+// #define RGBLIGHT_ANIMATIONS
+/*== or choose animations ==*/
+// #define RGBLIGHT_EFFECT_BREATHING
+ #define RGBLIGHT_EFFECT_RAINBOW_MOOD
+ #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+// #define RGBLIGHT_EFFECT_SNAKE
+ #define RGBLIGHT_EFFECT_KNIGHT
+// #define RGBLIGHT_EFFECT_CHRISTMAS
+ #define RGBLIGHT_EFFECT_STATIC_GRADIENT
+// #define RGBLIGHT_EFFECT_RGB_TEST
+// #define RGBLIGHT_EFFECT_ALTERNATING
+/*== customize breathing effect ==*/
+ /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+ #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+ /*==== use exp() and sin() ====*/
+ #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+ #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+#endif
+
+#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
+// USB_MAX_POWER_CONSUMPTION value for treadstone32 keyboard
+// 120 RGBoff
+// 330 RGB 6
+// 300 RGB 32
+ #define USB_MAX_POWER_CONSUMPTION 400
+#else
+ // fix iPhone and iPad power adapter issue
+ // iOS device need lessthan 100
+ #define USB_MAX_POWER_CONSUMPTION 100
+#endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
diff --git a/keyboards/treadstone32/rev1/rev1.c b/keyboards/treadstone32/rev1/rev1.c
new file mode 100644
index 0000000000..bf41abddbe
--- /dev/null
+++ b/keyboards/treadstone32/rev1/rev1.c
@@ -0,0 +1,16 @@
+/* Copyright 2019 marksard
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "rev1.h"
diff --git a/keyboards/treadstone32/rev1/rev1.h b/keyboards/treadstone32/rev1/rev1.h
new file mode 100644
index 0000000000..90181124c0
--- /dev/null
+++ b/keyboards/treadstone32/rev1/rev1.h
@@ -0,0 +1,45 @@
+/* Copyright 2019 marksard.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#include "quantum.h"
+
+#define K_N KC_NO
+
+/* This a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT( \
+ L09, L08, L07, L06, L05, L04, L03, L02, L01, L00, \
+ L19, L18, L17, L16, L15, L14, L13, L12, L11, L10, \
+ L29, L28, L27, L26, L25, L24, L23, L22, L21, L20, \
+ L35, L34 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04 }, \
+ { L10, L11, L12, L13, L14 }, \
+ { L20, L21, L22, L23, L24 }, \
+ { K_N, K_N, K_N, K_N, L34 }, \
+ { L05, L06, L07, L08, L09 }, \
+ { L15, L16, L17, L18, L19 }, \
+ { L25, L26, L27, L28, L29 }, \
+ { L35, K_N, K_N, K_N, K_N } \
+ }