]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/crkbd/rev1/rev1.c
38ab927881ee7f442f2ce25598575f2eceabc167
[qmk_firmware.git] / keyboards / crkbd / rev1 / rev1.c
1 #include "crkbd.h"
2
3
4 #ifdef AUDIO_ENABLE
5     float tone_startup[][2] = SONG(STARTUP_SOUND);
6     float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
7 #endif
8
9 #ifdef SSD1306OLED
10 void led_set_kb(uint8_t usb_led) {
11     // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
12     //led_set_user(usb_led);
13 }
14 #endif
15
16 #ifdef RGB_MATRIX_ENABLE
17
18   // Logical Layout
19   // Columns
20   // Left
21   // 0  1  2  3  4  5
22   //                   ROWS
23   // 25 24 19 18 11 10   0
24   //    03    02    01
25   // 26 23 20 17 12 09   1
26   //    04    05    06
27   // 27 22 21 16 13 08   2
28   //
29   //          15 14 07   3
30   //
31   // Right
32   // 0  1  2  3  4  5
33   //                    ROWS
34   // 25 24 19 18 11 10   4
35   //    03    02    01
36   // 26 23 20 17 12 09   5
37   //    04    05    06
38   // 27 22 21 16 13 08   6
39   //
40   //          15 14 07   7
41   //
42   // Physical Layout
43   // Columns
44   // 0  1  2  3  4  5  6  7  8  9  10 11 12 13
45   //                                           ROWS
46   // 25 24 19 18 11 10       10 11 18 19 24 25  0
47   //    03    02    01       01    02    03
48   // 26 23 20 17 12 09       09 12 17 20 23 26  1
49   //    04                               04
50   // 27 22 21 16 13 08       08 13 16 21 22 27  2
51   //          05    06       06    05
52   //           15 14 07     07 14 15              3
53
54
55 #ifdef RGB_MATRIX_SPLIT_RIGHT
56 led_config_t g_led_config = { {
57     {  51,  50,  45,  44,  37,  36, NO_LED },
58     {  52,  49,  46,  43,  38,  35, NO_LED },
59     {  53,  48,  47,  42,  39,  34, NO_LED },
60     { NO_LED, NO_LED, NO_LED,  41,  40,  33, NO_LED },
61     {  24,  23,  18,  17,  10,   9, NO_LED },
62     {  25,  22,  19,  16,  11,   8, NO_LED },
63     {  26,  21,  20,  15,  12,   7, NO_LED },
64     { NO_LED, NO_LED, NO_LED,  14,  13,   6, NO_LED }
65 }, {
66     { 139,  16 }, { 174,  13 }, { 208,  20 }, { 208,  38 }, { 174,  48 }, { 139,  52 }, { 129,  63 },
67     { 139,  39 }, { 139,  21 }, { 139,   4 }, { 156,   2 }, { 156,  19 }, { 156,  37 }, { 144,  58 },
68     { 164,  55 }, { 174,  35 }, { 174,  13 }, { 174,   0 }, { 191,   3 }, { 191,  20 }, { 191,  37 },
69     { 208,  42 }, { 208,  24 }, { 208,   7 }, { 224,   7 }, { 224,  24 }, { 224,  41 }, {  85,  16 },
70     {  50,  13 }, {  16,  20 }, {  16,  38 }, {  50,  48 }, {  85,  52 }, {  95,  63 }, {  85,  39 },
71     {  85,  21 }, {  85,   4 }, {  68,   2 }, {  68,  19 }, {  68,  37 }, {  80,  58 }, {  60,  55 },
72     {  50,  35 }, {  50,  13 }, {  50,   0 }, {  33,   3 }, {  33,  20 }, {  33,  37 }, {  16,  42 },
73     {  16,  24 }, {  16,   7 }, {   0,   7 }, {   0,  24 }, {   0,  41 }
74 }, {
75     2, 2, 2, 2, 2, 2, 1,
76     4, 4, 4, 4, 4, 4, 1,
77     1, 4, 4, 4, 4, 4, 4,
78     4, 4, 4, 1, 1, 1, 2,
79     2, 2, 2, 2, 2, 1, 4,
80     4, 4, 4, 4, 4, 1, 1,
81     4, 4, 4, 4, 4, 4, 4,
82     4, 4, 1, 1, 1
83 } };
84 #else
85 led_config_t g_led_config = { {
86     {  24,  23,  18,  17,  10,   9, NO_LED },
87     {  25,  22,  19,  16,  11,   8, NO_LED },
88     {  26,  21,  20,  15,  12,   7, NO_LED },
89     { NO_LED, NO_LED, NO_LED,  14,  13,   6, NO_LED },
90     {  51,  50,  45,  44,  37,  36, NO_LED },
91     {  52,  49,  46,  43,  38,  35, NO_LED },
92     {  53,  48,  47,  42,  39,  34, NO_LED },
93     { NO_LED, NO_LED, NO_LED,  41,  40,  33, NO_LED }
94 }, {
95     {  85,  16 }, {  50,  13 }, {  16,  20 }, {  16,  38 }, {  50,  48 }, {  85,  52 }, {  95,  63 },
96     {  85,  39 }, {  85,  21 }, {  85,   4 }, {  68,   2 }, {  68,  19 }, {  68,  37 }, {  80,  58 },
97     {  60,  55 }, {  50,  35 }, {  50,  13 }, {  50,   0 }, {  33,   3 }, {  33,  20 }, {  33,  37 },
98     {  16,  42 }, {  16,  24 }, {  16,   7 }, {   0,   7 }, {   0,  24 }, {   0,  41 }, { 139,  16 },
99     { 174,  13 }, { 208,  20 }, { 208,  38 }, { 174,  48 }, { 139,  52 }, { 129,  63 }, { 139,  39 },
100     { 139,  21 }, { 139,   4 }, { 156,   2 }, { 156,  19 }, { 156,  37 }, { 144,  58 }, { 164,  55 },
101     { 174,  35 }, { 174,  13 }, { 174,   0 }, { 191,   3 }, { 191,  20 }, { 191,  37 }, { 208,  42 },
102     { 208,  24 }, { 208,   7 }, { 224,   7 }, { 224,  24 }, { 224,  41 }
103 }, {
104     2, 2, 2, 2, 2, 2, 1,
105     4, 4, 4, 4, 4, 4, 1,
106     1, 4, 4, 4, 4, 4, 4,
107     4, 4, 4, 1, 1, 1, 2,
108     2, 2, 2, 2, 2, 1, 4,
109     4, 4, 4, 4, 4, 1, 1,
110     4, 4, 4, 4, 4, 4, 4,
111     4, 4, 1, 1, 1
112 } };
113 #endif
114
115 #endif
116 void matrix_init_kb(void) {
117
118     #ifdef AUDIO_ENABLE
119         _delay_ms(20); // gets rid of tick
120         PLAY_SONG(tone_startup);
121     #endif
122
123         matrix_init_user();
124 };
125
126 void shutdown_kb(void) {
127     #ifdef AUDIO_ENABLE
128         PLAY_SONG(tone_goodbye);
129         _delay_ms(150);
130         stop_all_notes();
131     #endif
132 }