]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/naked48/rev1/config.h
[Keyboard] Add keyboard Naked48 (#6330)
[qmk_firmware.git] / keyboards / naked48 / 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 #pragma once
20
21 /* USB Device descriptor parameter */
22 #define VENDOR_ID       0xFEED
23 #define PRODUCT_ID      0x3060
24 #define DEVICE_VER      0x0001
25 #define MANUFACTURER    Salicylic_Acid
26 #define PRODUCT         naked48
27 #define DESCRIPTION     Ortholinear 48 Keys Keyboard
28
29 /* Use I2C or Serial */
30 //#define USE_I2C
31 #define USE_SERIAL
32 //#define USE_MATRIX_I2C
33
34 /* Select hand configuration */
35 #define MASTER_LEFT
36 // #define MASTER_RIGHT
37 // #define EE_HANDS
38
39 // OLED support
40 //      see ./rules.mk: OLED_ENABLE=yes or no
41 #ifdef OLED_ENABLE
42   #define SSD1306OLED
43 #endif
44
45 /* key matrix size */
46 #define MATRIX_ROWS 8
47 #define MATRIX_COLS 14
48
49 // Rows are doubled-up
50 #define MATRIX_ROW_PINS { D1, D0, D4, C6 }
51
52 // wiring of each half
53 #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, D7, E6, B4, B5 }
54 // #define MATRIX_COL_PINS { B5, B4, E6, D7, D6, B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order
55
56 /* define if matrix has ghost */
57 //#define MATRIX_HAS_GHOST
58
59 /* number of backlight levels */
60 // #define BACKLIGHT_LEVELS 3
61
62 /* Set 0 if debouncing isn't needed */
63 #define DEBOUNCE 5
64
65 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
66 //#define LOCKING_SUPPORT_ENABLE
67 /* Locking resynchronize hack */
68 //#define LOCKING_RESYNC_ENABLE
69
70 /* ws2812 RGB LED */
71 #define RGB_DI_PIN D3
72 #define RGBLIGHT_TIMER
73 #define ws2812_PORTREG  PORTD
74 #define ws2812_DDRREG   DDRD
75
76 // naked48 keyboard RGB LED support
77 //#define RGBLIGHT_ANIMATIONS : see ./rules.mk: LED_ANIMATIONS = yes or no
78 //    see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes
79 #define RGBLED_NUM 48
80
81 #ifndef IOS_DEVICE_ENABLE
82   #define RGBLIGHT_LIMIT_VAL 180
83   #define RGBLIGHT_VAL_STEP 17
84 #else
85   #define RGBLIGHT_LIMIT_VAL 50
86   #define RGBLIGHT_VAL_STEP 4
87 #endif
88 #define RGBLIGHT_HUE_STEP 10
89 #define RGBLIGHT_SAT_STEP 17
90
91 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
92 // USB_MAX_POWER_CONSUMPTION value for naked48 keyboard
93 //  120  RGBoff, OLEDoff
94 //  120  OLED
95 //  330  RGB 6
96 //  300  RGB 32
97 //  310  OLED & RGB 32
98   #define USB_MAX_POWER_CONSUMPTION 400
99 #else
100   // fix iPhone and iPad power adapter issue
101   // iOS device need lessthan 100
102   #define USB_MAX_POWER_CONSUMPTION 100
103 #endif
104
105 /*
106  * Feature disable options
107  *  These options are also useful to firmware size reduction.
108  */
109
110 /* disable debug print */
111 // #define NO_DEBUG
112
113 /* disable print */
114 // #define NO_PRINT
115
116 /* disable action features */
117 //#define NO_ACTION_LAYER
118 //#define NO_ACTION_TAPPING
119 //#define NO_ACTION_ONESHOT
120 //#define NO_ACTION_MACRO
121 //#define NO_ACTION_FUNCTION