diff options
Diffstat (limited to 'keyboards/rgbkb/sol3')
-rw-r--r-- | keyboards/rgbkb/sol3/config.h | 11 | ||||
-rw-r--r-- | keyboards/rgbkb/sol3/rev1/info.json | 206 | ||||
-rw-r--r-- | keyboards/rgbkb/sol3/rev1/rev1.c | 13 | ||||
-rw-r--r-- | keyboards/rgbkb/sol3/rev1/rev1.h | 51 | ||||
-rw-r--r-- | keyboards/rgbkb/sol3/rules.mk | 2 |
5 files changed, 115 insertions, 168 deletions
diff --git a/keyboards/rgbkb/sol3/config.h b/keyboards/rgbkb/sol3/config.h index 727947ef0b..9cc0134249 100644 --- a/keyboards/rgbkb/sol3/config.h +++ b/keyboards/rgbkb/sol3/config.h @@ -9,13 +9,6 @@ #pragma once - -// Last pins reserved for encoder / touch encoder support -#define MATRIX_ROW_PINS { B15, A8, A15, B12, A3, NO_PIN } -#define MATRIX_ROW_PINS_RIGHT { B15, B14, A8, A13, A7, NO_PIN } -// Empty matrix entries used for encoder / touch encoder support -#define MATRIX_COL_PINS { A6, A7, B0, B2, B1, B9, B3, B4 } -#define MATRIX_COL_PINS_RIGHT { B9, B8, B4, A6, A3, B10, B12, B11 } #define MATRIX_IO_DELAY 5 #define BUSY_WAIT @@ -28,9 +21,6 @@ #define TOUCH_RESOLUTION 25 // sensitivity of swipes, lower=faster #define TOUCH_SEGMENTS 3 -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - /* CRC Configuration */ #define CRC8_OPTIMIZE_SPEED #define CRC8_USE_TABLE @@ -63,7 +53,6 @@ #define DIP_SWITCH_PINS_RIGHT { A14, B0 } /* RGB LED Configuration */ -#define RGB_DI_PIN B5 #define RGBLED_NUM 156 #define RGBLED_SPLIT { 78, 78 } #define RGBLIGHT_LIMIT_VAL 255 diff --git a/keyboards/rgbkb/sol3/rev1/info.json b/keyboards/rgbkb/sol3/rev1/info.json index 046a56f390..74af9d21fa 100644 --- a/keyboards/rgbkb/sol3/rev1/info.json +++ b/keyboards/rgbkb/sol3/rev1/info.json @@ -8,6 +8,18 @@ "pid": "0x3510", "device_version": "0.0.1" }, + "ws2812": { + "pin": "B5", + "driver": "pwm" + }, + "rgb_matrix": { + "driver": "WS2812" + }, + "matrix_pins": { + "cols": ["A6", "A7", "B0", "B2", "B1", "B9", "B3", "B4"], + "rows": ["B15", "A8", "A15", "B12", "A3", null] + }, + "diode_direction": "COL2ROW", "encoder": { "rotary": [ {"pin_a": "A1", "pin_b": "A2"}, @@ -25,6 +37,12 @@ {"pin_a": "B3", "pin_b": "B13"} ] } + }, + "matrix_pins": { + "right": { + "cols": ["B9", "B8", "B4", "A6", "A3", "B10", "B12", "B11"], + "rows": ["B15", "B14", "A8", "A13", "A7", null] + } } }, "processor": "STM32F303", @@ -32,113 +50,113 @@ "layouts": { "LAYOUT": { "layout": [ - {"x":0, "y":0, "w":1.5}, - {"x":1.5, "y":0}, - {"x":2.5, "y":0}, - {"x":3.5, "y":0}, - {"x":4.5, "y":0}, - {"x":5.5, "y":0}, - {"x":6.75, "y":0}, + {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.75, "y": 0}, - {"x":9.25, "y":0}, - {"x":10.5, "y":0}, - {"x":11.5, "y":0}, - {"x":12.5, "y":0}, - {"x":13.5, "y":0}, - {"x":14.5, "y":0}, - {"x":15.5, "y":0, "w":1.5}, + {"matrix": [6, 6], "x": 9.25, "y": 0}, + {"matrix": [6, 5], "x": 10.5, "y": 0}, + {"matrix": [6, 4], "x": 11.5, "y": 0}, + {"matrix": [6, 3], "x": 12.5, "y": 0}, + {"matrix": [6, 2], "x": 13.5, "y": 0}, + {"matrix": [6, 1], "x": 14.5, "y": 0}, + {"matrix": [6, 0], "x": 15.5, "y": 0, "w": 1.5}, - {"x":0, "y":1, "w":1.5}, - {"x":1.5, "y":1}, - {"x":2.5, "y":1}, - {"x":3.5, "y":1}, - {"x":4.5, "y":1}, - {"x":5.5, "y":1}, - {"x":6.75, "y":1}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.75, "y": 1}, - {"x":9.25, "y":1}, - {"x":10.5, "y":1}, - {"x":11.5, "y":1}, - {"x":12.5, "y":1}, - {"x":13.5, "y":1}, - {"x":14.5, "y":1}, - {"x":15.5, "y":1, "w":1.5}, + {"matrix": [7, 6], "x": 9.25, "y": 1}, + {"matrix": [7, 5], "x": 10.5, "y": 1}, + {"matrix": [7, 4], "x": 11.5, "y": 1}, + {"matrix": [7, 3], "x": 12.5, "y": 1}, + {"matrix": [7, 2], "x": 13.5, "y": 1}, + {"matrix": [7, 1], "x": 14.5, "y": 1}, + {"matrix": [7, 0], "x": 15.5, "y": 1, "w": 1.5}, - {"x":0, "y":2, "w":1.5}, - {"x":1.5, "y":2}, - {"x":2.5, "y":2}, - {"x":3.5, "y":2}, - {"x":4.5, "y":2}, - {"x":5.5, "y":2}, - {"x":6.75, "y":2}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2}, + {"matrix": [2, 2], "x": 2.5, "y": 2}, + {"matrix": [2, 3], "x": 3.5, "y": 2}, + {"matrix": [2, 4], "x": 4.5, "y": 2}, + {"matrix": [2, 5], "x": 5.5, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"x":9.25, "y":2}, - {"x":10.5, "y":2}, - {"x":11.5, "y":2}, - {"x":12.5, "y":2}, - {"x":13.5, "y":2}, - {"x":14.5, "y":2}, - {"x":15.5, "y":2, "w":1.5}, + {"matrix": [8, 6], "x": 9.25, "y": 2}, + {"matrix": [8, 5], "x": 10.5, "y": 2}, + {"matrix": [8, 4], "x": 11.5, "y": 2}, + {"matrix": [8, 3], "x": 12.5, "y": 2}, + {"matrix": [8, 2], "x": 13.5, "y": 2}, + {"matrix": [8, 1], "x": 14.5, "y": 2}, + {"matrix": [8, 0], "x": 15.5, "y": 2, "w": 1.5}, - {"x":0, "y":3, "w":1.5}, - {"x":1.5, "y":3}, - {"x":2.5, "y":3}, - {"x":3.5, "y":3}, - {"x":4.5, "y":3}, - {"x":5.5, "y":3}, - {"x":6.75, "y":3}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 3}, + {"matrix": [3, 2], "x": 2.5, "y": 3}, + {"matrix": [3, 3], "x": 3.5, "y": 3}, + {"matrix": [3, 4], "x": 4.5, "y": 3}, + {"matrix": [3, 5], "x": 5.5, "y": 3}, + {"matrix": [3, 6], "x": 6.75, "y": 3}, - {"x":9.25, "y":3}, - {"x":10.5, "y":3}, - {"x":11.5, "y":3}, - {"x":12.5, "y":3}, - {"x":13.5, "y":3}, - {"x":14.5, "y":3}, - {"x":15.5, "y":3, "w":1.5}, + {"matrix": [9, 6], "x": 9.25, "y": 3}, + {"matrix": [9, 5], "x": 10.5, "y": 3}, + {"matrix": [9, 4], "x": 11.5, "y": 3}, + {"matrix": [9, 3], "x": 12.5, "y": 3}, + {"matrix": [9, 2], "x": 13.5, "y": 3}, + {"matrix": [9, 1], "x": 14.5, "y": 3}, + {"matrix": [9, 0], "x": 15.5, "y": 3, "w": 1.5}, - {"x":0, "y":4, "w":1.5}, - {"x":1.5, "y":4}, - {"x":2.5, "y":4}, - {"x":3.5, "y":4}, - {"x":4.5, "y":4}, - {"x":6, "y":4.5, "h":2}, - {"x":7, "y":4.5}, - {"x":7, "y":5.5}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4}, + {"matrix": [4, 3], "x": 3.5, "y": 4}, + {"matrix": [4, 4], "x": 4.5, "y": 4}, + {"matrix": [4, 5], "x": 6, "y": 4.5, "h": 2}, + {"matrix": [4, 6], "x": 7, "y": 4.5}, + {"matrix": [4, 7], "x": 7, "y": 5.5}, - {"x":9, "y":5.5}, - {"x":9, "y":4.5}, - {"x":10, "y":4.5, "h":2}, - {"x":11.5, "y":4}, - {"x":12.5, "y":4}, - {"x":13.5, "y":4}, - {"x":14.5, "y":4}, - {"x":15.5, "y":4, "w":1.5}, + {"matrix": [10, 7], "x": 9, "y": 5.5}, + {"matrix": [10, 6], "x": 9, "y": 4.5}, + {"matrix": [10, 5], "x": 10, "y": 4.5, "h": 2}, + {"matrix": [10, 4], "x": 11.5, "y": 4}, + {"matrix": [10, 3], "x": 12.5, "y": 4}, + {"matrix": [10, 2], "x": 13.5, "y": 4}, + {"matrix": [10, 1], "x": 14.5, "y": 4}, + {"matrix": [10, 0], "x": 15.5, "y": 4, "w": 1.5}, - {"x":0, "y":7, "w":0.8, "h":0.8}, - {"x":0.8, "y":7, "w":0.8, "h":0.8}, - {"x":1.6, "y":7, "w":0.8, "h":0.8}, - {"x":2.4, "y":7, "w":0.8, "h":0.8}, - {"x":3.2, "y":7, "w":0.8, "h":0.8}, - {"x":4, "y":7, "w":0.8, "h":0.8}, + {"matrix": [5, 0], "x": 0, "y": 7, "w": 0.8, "h": 0.8}, + {"matrix": [5, 1], "x": 0.8, "y": 7, "w": 0.8, "h": 0.8}, + {"matrix": [5, 2], "x": 1.6, "y": 7, "w": 0.8, "h": 0.8}, + {"matrix": [5, 3], "x": 2.4, "y": 7, "w": 0.8, "h": 0.8}, + {"matrix": [5, 4], "x": 3.2, "y": 7, "w": 0.8, "h": 0.8}, + {"matrix": [5, 5], "x": 4, "y": 7, "w": 0.8, "h": 0.8}, - {"x":12.2, "y":7, "w":0.8, "h":0.8}, - {"x":13, "y":7, "w":0.8, "h":0.8}, - {"x":13.8, "y":7, "w":0.8, "h":0.8}, - {"x":14.6, "y":7, "w":0.8, "h":0.8}, - {"x":15.4, "y":7, "w":0.8, "h":0.8}, - {"x":16.2, "y":7, "w":0.8, "h":0.8}, + {"matrix": [11, 0], "x": 12.2, "y": 7, "w": 0.8, "h": 0.8}, + {"matrix": [11, 1], "x": 13, "y": 7, "w": 0.8, "h": 0.8}, + {"matrix": [11, 2], "x": 13.8, "y": 7, "w": 0.8, "h": 0.8}, + {"matrix": [11, 3], "x": 14.6, "y": 7, "w": 0.8, "h": 0.8}, + {"matrix": [11, 4], "x": 15.4, "y": 7, "w": 0.8, "h": 0.8}, + {"matrix": [11, 5], "x": 16.2, "y": 7, "w": 0.8, "h": 0.8}, - {"x":0, "y":7.8, "w":0.8, "h":0.8}, - {"x":0.8, "y":7.8, "w":0.8, "h":0.8}, - {"x":1.6, "y":7.8, "w":0.8, "h":0.8}, - {"x":2.4, "y":7.8, "w":0.8, "h":0.8}, - {"x":3.2, "y":7.8, "w":0.8, "h":0.8}, + {"matrix": [0, 7], "x": 0, "y": 7.8, "w": 0.8, "h": 0.8}, + {"matrix": [1, 7], "x": 0.8, "y": 7.8, "w": 0.8, "h": 0.8}, + {"matrix": [2, 7], "x": 1.6, "y": 7.8, "w": 0.8, "h": 0.8}, + {"matrix": [5, 6], "x": 2.4, "y": 7.8, "w": 0.8, "h": 0.8}, + {"matrix": [5, 7], "x": 3.2, "y": 7.8, "w": 0.8, "h": 0.8}, - {"x":13, "y":7.8, "w":0.8, "h":0.8}, - {"x":13.8, "y":7.8, "w":0.8, "h":0.8}, - {"x":14.6, "y":7.8, "w":0.8, "h":0.8}, - {"x":15.4, "y":7.8, "w":0.8, "h":0.8}, - {"x":16.2, "y":7.8, "w":0.8, "h":0.8} + {"matrix": [6, 7], "x": 13, "y": 7.8, "w": 0.8, "h": 0.8}, + {"matrix": [7, 7], "x": 13.8, "y": 7.8, "w": 0.8, "h": 0.8}, + {"matrix": [8, 7], "x": 14.6, "y": 7.8, "w": 0.8, "h": 0.8}, + {"matrix": [11, 6], "x": 15.4, "y": 7.8, "w": 0.8, "h": 0.8}, + {"matrix": [11, 7], "x": 16.2, "y": 7.8, "w": 0.8, "h": 0.8} ] } } diff --git a/keyboards/rgbkb/sol3/rev1/rev1.c b/keyboards/rgbkb/sol3/rev1/rev1.c index de5836e061..ff330a83d6 100644 --- a/keyboards/rgbkb/sol3/rev1/rev1.c +++ b/keyboards/rgbkb/sol3/rev1/rev1.c @@ -57,10 +57,7 @@ bool dip_switch_update_kb(uint8_t index, bool active) { } case 1: { // Handle RGB Encoder switch press - action_exec((keyevent_t){ - .key = (keypos_t){.row = isLeftHand ? 4 : 10, .col = 6}, - .pressed = active, .time = (timer_read() | 1) /* time should not be 0 */ - }); + action_exec(MAKE_KEYEVENT(isLeftHand ? 4 : 10, 6, active)); break; } } @@ -68,15 +65,11 @@ bool dip_switch_update_kb(uint8_t index, bool active) { } static void process_encoder_matrix(encodermap_t pos) { - action_exec((keyevent_t){ - .key = (keypos_t){.row = pos.r, .col = pos.c}, .pressed = true, .time = (timer_read() | 1) /* time should not be 0 */ - }); + action_exec(MAKE_KEYEVENT(pos.r, pos.c, true)); #if TAP_CODE_DELAY > 0 wait_ms(TAP_CODE_DELAY); #endif - action_exec((keyevent_t){ - .key = (keypos_t){.row = pos.r, .col = pos.c}, .pressed = false, .time = (timer_read() | 1) /* time should not be 0 */ - }); + action_exec(MAKE_KEYEVENT(pos.r, pos.c, false)); } bool encoder_update_kb(uint8_t index, bool clockwise) { diff --git a/keyboards/rgbkb/sol3/rev1/rev1.h b/keyboards/rgbkb/sol3/rev1/rev1.h index e80f8c298d..2ed720fcc3 100644 --- a/keyboards/rgbkb/sol3/rev1/rev1.h +++ b/keyboards/rgbkb/sol3/rev1/rev1.h @@ -11,57 +11,6 @@ #include "sol3.h" -// clang-format off -/* Blank ascii map to reuse, with labeled possible encoder positions, *rgb encoder only -┌──────┬──────┬──────┬──────┬──────┬──────┬──────┐ ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┐ -│ │ │ │ │ │ │ E2 │ │ E5 │ │ │ │ │ │ │ -├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ -│ │ │ │ │ │ │ E2 │ │ E5 │ │ │ │ │ │ │ -├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ -│ │ │ │ E1 │ E1 │ │ E0* │ │ E3* │ │ E4 │ E4 │ │ │ │ -└──────┴──────┴──────┴──────┴──────┤ ├──────┤ ├──────┤ ├──────┴──────┴──────┴──────┴──────┘ - │ │ E0 │ │ E3 │ │ - └──────┴──────┘ └──────┴──────┘ -┌──────┬──────┬──────┬──────┬──────┬──────┐ ┌──────┬──────┬──────┬──────┬──────┬──────┐ -│ E0↑ │ E0↓ │ E1↑ │ E1↓ │ E2↑ │ E2↓ │ │ E3↑ │ E3↓ │ E4↑ │ E4↓ │ E5↑ │ E5↓ │ -└──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘ -┌──────┬──────┬──────┬──────┬──────┐ ┌──────┬──────┬──────┬──────┬──────┐ -│ │ │ │ │ │ │ │ │ │ │ │ -└──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┘ -*/ - -#define LAYOUT( \ - L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ - L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \ - L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \ - L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \ - L40, L41, L42, L43, L44, L45, L46, L47, R40, R41, R42, R43, R44, R45, R46, R47, \ - \ - E0L, E0R, E1L, E1R, E2L, E2R, E3L, E3R, E4L, E4R, E5L, E5R, \ - LT0, LT1, LT2, LSL, LSR, RT0, RT1, RT2, RSL, RSR \ -) \ -{ \ - /* Left Half */ \ - { L00, L01, L02, L03, L04, L05, L06, LT0 }, \ - { L10, L11, L12, L13, L14, L15, L16, LT1 }, \ - { L20, L21, L22, L23, L24, L25, L26, LT2 }, \ - { L30, L31, L32, L33, L34, L35, L36, KC_NO }, \ - { L40, L41, L42, L43, L44, L45, L46, L47 }, \ - { E0L, E0R, E1L, E1R, E2L, E2R, LSL, LSR }, \ - /* Right Half */ \ - { R06, R05, R04, R03, R02, R01, R00, RT0 }, \ - { R16, R15, R14, R13, R12, R11, R10, RT1 }, \ - { R26, R25, R24, R23, R22, R21, R20, RT2 }, \ - { R36, R35, R34, R33, R32, R31, R30, KC_NO }, \ - { R47, R46, R45, R44, R43, R42, R41, R40 }, \ - { E3L, E3R, E4L, E4R, E5L, E5R, RSL, RSR } \ -} -// clang-format on - // weak functions overridable by the user void render_layer_status(void); void render_leds_status(void); diff --git a/keyboards/rgbkb/sol3/rules.mk b/keyboards/rgbkb/sol3/rules.mk index f761d71be2..382b858f46 100644 --- a/keyboards/rgbkb/sol3/rules.mk +++ b/keyboards/rgbkb/sol3/rules.mk @@ -19,10 +19,8 @@ AUDIO_DRIVER = dac_additive DYNAMIC_MACRO_ENABLE = yes DIP_SWITCH_ENABLE = yes -WS2812_DRIVER = pwm RGBLIGHT_ENABLE = no RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = WS2812 OLED_ENABLE = yes OLED_DRIVER = SSD1306 # Enable the OLED Driver |