]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/sol/rev1/config.h
fc91b8d499429b5204784876ecfb4c6fadcd0b64
[qmk_firmware.git] / keyboards / sol / rev1 / config.h
1 /*
2 Copyright 2012 Jun Wako <wakojun@gmail.com>
3 Copyright 2015 Jack Humbert
4
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 */
18
19 #ifndef REV1_CONFIG_H
20 #define REV1_CONFIG_H
21
22
23 /* USB Device descriptor parameter */
24 #define VENDOR_ID       0xFEED
25 #define PRODUCT_ID      0x3060
26 #define DEVICE_VER      0x0001
27 #define MANUFACTURER    RGBKB
28 #define PRODUCT         Sol
29 #define DESCRIPTION     "An RGB, split, ortho-esque keyboard"
30
31
32 #define PREVENT_STUCK_MODIFIERS
33 #define TAPPING_FORCE_HOLD
34 #define TAPPING_TERM 150
35
36 #define USE_I2C
37 #define USE_SERIAL
38 #define USE_SERIAL_PD3
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 /* Select rows configuration */
52 // Rows are 4 or 5
53 // #define HELIX_ROWS 5 see ./rules.mk
54
55 /* key matrix size */
56 // Rows are doubled-up
57 #define MATRIX_ROWS 12
58 #define MATRIX_ROW_PINS { C6, B6, B5, B4, D7, E6}
59
60 // wiring of each half
61 #define MATRIX_COLS 7
62 #define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7 }
63 // #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
64
65 /* define if matrix has ghost */
66 //#define MATRIX_HAS_GHOST
67
68 /* number of backlight levels */
69 // #define BACKLIGHT_LEVELS 3
70
71 /* Set 0 if debouncing isn't needed */
72 #define DEBOUNCING_DELAY 5
73
74 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
75 //#define LOCKING_SUPPORT_ENABLE
76 /* Locking resynchronize hack */
77 //#define LOCKING_RESYNC_ENABLE
78
79 /* key combination for command */
80 #define IS_COMMAND() ( \
81     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
82 )
83
84 /* ws2812 RGB LED */
85 #define RGB_DI_PIN B3
86 #define RGBLIGHT_TIMER
87 //#define RGBLED_NUM 12    // Number of LEDs. see ./keymaps/default/config.h
88 #define ws2812_PORTREG  PORTD
89 #define ws2812_DDRREG   DDRD
90
91 #define DRIVER_COUNT      2
92 #define DRIVER_LED_TOTAL  70
93 // #define RGB_MATRIX_KEYPRESSES
94 #define BACKLIGHT_PIN B7
95 #define BACKLIGHT_LEVELS 5
96
97 #ifdef LED_MIRRORED
98   #define RGBLED_NUM 35
99 #else
100   #define RGBLED_NUM 70
101 #endif
102
103 #define RGBLIGHT_RAINBOW_SWIRL_RANGE 1950
104
105 #ifdef IOS_DEVICE_ENABLE
106   #define RGBLIGHT_LIMIT_VAL 40
107   #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 40
108 #elif RGBLIGHT_FULL_POWER
109   #define RGBLIGHT_LIMIT_VAL 255
110   #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
111 #else
112   #define RGBLIGHT_LIMIT_VAL 120
113   #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
114 #endif
115
116 #define RGBLIGHT_VAL_STEP (RGBLIGHT_LIMIT_VAL / 10)
117 #define RGBLIGHT_HUE_STEP 10
118 #define RGBLIGHT_SAT_STEP 17
119
120 #define RGBLIGHT_ANIMATIONS
121
122 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
123 // USB_MAX_POWER_CONSUMPTION value for Helix keyboard
124 //  120  RGBoff, OLEDoff
125 //  120  OLED
126 //  330  RGB 6
127 //  300  RGB 32
128 //  310  OLED & RGB 32
129   #define USB_MAX_POWER_CONSUMPTION 500
130 #else
131   // fix iPhone and iPad power adapter issue
132   // iOS device need lessthan 100
133   #define USB_MAX_POWER_CONSUMPTION 100
134 #endif
135
136 /*
137  * Feature disable options
138  *  These options are also useful to firmware size reduction.
139  */
140
141 /* disable debug print */
142 // #define NO_DEBUG
143
144 /* disable print */
145 // #define NO_PRINT
146
147 /* disable action features */
148 //#define NO_ACTION_LAYER
149 //#define NO_ACTION_TAPPING
150 //#define NO_ACTION_ONESHOT
151 //#define NO_ACTION_MACRO
152 //#define NO_ACTION_FUNCTION
153
154
155 #endif