aboutsummaryrefslogtreecommitdiff
path: root/keyboards/helix/pico/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/helix/pico/config.h')
-rw-r--r--keyboards/helix/pico/config.h152
1 files changed, 152 insertions, 0 deletions
diff --git a/keyboards/helix/pico/config.h b/keyboards/helix/pico/config.h
new file mode 100644
index 000000000..b49f0173b
--- /dev/null
+++ b/keyboards/helix/pico/config.h
@@ -0,0 +1,152 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3Copyright 2015 Jack Humbert
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#ifndef PICO_CONFIG_H
20#define PICO_CONFIG_H
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0xFEED
24#define PRODUCT_ID 0x3060
25#define DEVICE_VER 0x0002
26#define MANUFACTURER Yushakobo
27#define PRODUCT HelixPico
28#define DESCRIPTION A split keyboard for the cheap makers
29
30
31#define PREVENT_STUCK_MODIFIERS
32#define TAPPING_FORCE_HOLD
33#define TAPPING_TERM 100
34
35/* Use I2C or Serial */
36#define USE_I2C
37#define USE_SERIAL
38//#define USE_MATRIX_I2C
39
40/* Select hand configuration */
41#define MASTER_LEFT
42// #define MASTER_RIGHT
43// #define EE_HANDS
44
45// Helix keyboard OLED support
46// see ./rules.mk: OLED_ENABLE=yes or no
47#ifdef OLED_ENABLE
48 #define SSD1306OLED
49#endif
50
51/* key matrix size */
52// Rows are doubled-up
53#define MATRIX_ROWS 8
54#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
55
56// wiring of each half
57#define MATRIX_COLS 7
58#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
59// #define MATRIX_COL_PINS { B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order
60
61/* define if matrix has ghost */
62//#define MATRIX_HAS_GHOST
63
64/* number of backlight levels */
65// #define BACKLIGHT_LEVELS 3
66
67/* Set 0 if debouncing isn't needed */
68#define DEBOUNCING_DELAY 5
69
70/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
71//#define LOCKING_SUPPORT_ENABLE
72/* Locking resynchronize hack */
73//#define LOCKING_RESYNC_ENABLE
74
75/* key combination for command */
76#define IS_COMMAND() ( \
77 keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
78)
79
80/* Audio */
81#ifdef AUDIO_ENABLE
82 #define B5_AUDIO
83#endif
84
85/* ws2812 RGB LED */
86#define RGB_DI_PIN D3
87#define RGBLIGHT_TIMER
88//#define RGBLED_NUM 12 // Number of LEDs. see ./keymaps/default/config.h
89#define ws2812_PORTREG PORTD
90#define ws2812_DDRREG DDRD
91
92// Helix keyboard RGB LED support
93//#define RGBLIGHT_ANIMATIONS : see ./rules.mk: LED_ANIMATIONS = yes or no
94// see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes
95#ifdef RGBLED_BACK
96 #define RGBLED_NUM 25
97#else
98 #define RGBLED_NUM 6
99#endif
100
101#ifndef IOS_DEVICE_ENABLE
102 #if RGBLED_NUM <= 6
103 #define RGBLIGHT_LIMIT_VAL 255
104 #else
105 #define RGBLIGHT_LIMIT_VAL 130
106 #endif
107 #define RGBLIGHT_VAL_STEP 17
108#else
109 #if RGBLED_NUM <= 6
110 #define RGBLIGHT_LIMIT_VAL 90
111 #else
112 #define RGBLIGHT_LIMIT_VAL 45
113 #endif
114 #define RGBLIGHT_VAL_STEP 4
115#endif
116#define RGBLIGHT_HUE_STEP 10
117#define RGBLIGHT_SAT_STEP 17
118
119#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
120// USB_MAX_POWER_CONSUMPTION value for Helix keyboard
121// 120 RGBoff, OLEDoff
122// 120 OLED
123// 330 RGB 6
124// 300 RGB 32
125// 310 OLED & RGB 32
126 #define USB_MAX_POWER_CONSUMPTION 400
127#else
128 // fix iPhone and iPad power adapter issue
129 // iOS device need lessthan 100
130 #define USB_MAX_POWER_CONSUMPTION 100
131#endif
132
133/*
134 * Feature disable options
135 * These options are also useful to firmware size reduction.
136 */
137
138/* disable debug print */
139// #define NO_DEBUG
140
141/* disable print */
142// #define NO_PRINT
143
144/* disable action features */
145//#define NO_ACTION_LAYER
146//#define NO_ACTION_TAPPING
147//#define NO_ACTION_ONESHOT
148//#define NO_ACTION_MACRO
149//#define NO_ACTION_FUNCTION
150
151
152#endif