From 26c3e877c7e836d45cb84ec5265fab62e4c90028 Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Thu, 29 Sep 2022 19:23:02 -0500 Subject: [PATCH] [Keyboard] Convert most of sinc to data driven info.json (#18481) --- keyboards/keebio/sinc/info.json | 18 ++++++++++ keyboards/keebio/sinc/rev1/config.h | 27 --------------- keyboards/keebio/sinc/rev1/info.json | 50 ++++++++++++++++++++++++++++ keyboards/keebio/sinc/rev1/rev1.c | 4 +-- keyboards/keebio/sinc/rev1/rules.mk | 4 +-- keyboards/keebio/sinc/rev2/config.h | 27 --------------- keyboards/keebio/sinc/rev2/info.json | 50 ++++++++++++++++++++++++++++ keyboards/keebio/sinc/rev2/rev2.c | 4 +-- keyboards/keebio/sinc/rev2/rules.mk | 4 +-- keyboards/keebio/sinc/rules.mk | 21 ------------ 10 files changed, 124 insertions(+), 85 deletions(-) diff --git a/keyboards/keebio/sinc/info.json b/keyboards/keebio/sinc/info.json index a8d346ebe5..c01273093e 100644 --- a/keyboards/keebio/sinc/info.json +++ b/keyboards/keebio/sinc/info.json @@ -5,6 +5,24 @@ "usb": { "vid": "0xCB10" }, + "processor": "atmega32u4", + "protocol": "atmel-dfu", + "features": { + "audio": false, + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": false, + "nkro": false, + "unicode": false, + }, + "split": { + "enabled": true, + }, + "build": { + "lto": true, + }, "layouts": { "LAYOUT_75": { "layout": [ diff --git a/keyboards/keebio/sinc/rev1/config.h b/keyboards/keebio/sinc/rev1/config.h index 0d31d1ad80..ea6c2d36a2 100644 --- a/keyboards/keebio/sinc/rev1/config.h +++ b/keyboards/keebio/sinc/rev1/config.h @@ -18,31 +18,8 @@ along with this program. If not, see . #pragma once -/* key matrix size */ -// Rows are doubled-up -#define MATRIX_ROWS 12 -#define MATRIX_COLS 9 - -#define DIODE_DIRECTION COL2ROW // wiring of each half -#define MATRIX_ROW_PINS { B1, B2, C7, B4, D7, B0 } -#define MATRIX_COL_PINS { F4, F1, F0, B7, B3, D2, D3, D5, D4 } -#define MATRIX_ROW_PINS_RIGHT { B3, B2, B6, B4, D7, B0 } -#define MATRIX_COL_PINS_RIGHT { F1, F0, F4, F5, F6, D5, C7, D3, B7 } #define SPLIT_HAND_PIN F7 -#define ENCODERS_PAD_A { F5 } -#define ENCODERS_PAD_B { F6 } -#define ENCODERS_PAD_A_RIGHT { D6 } -#define ENCODERS_PAD_B_RIGHT { D4 } - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - -#define BACKLIGHT_PIN B5 -#define CAPS_LOCK_LED_PIN B6 - -/* serial.c configuration for split keyboard */ -#define SOFT_SERIAL_PIN D0 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE @@ -50,10 +27,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* ws2812 RGB LED */ -#define RGB_DI_PIN E6 -#define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 16 // Number of LEDs -#define RGBLED_SPLIT { 8, 8 } #define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 } #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/sinc/rev1/info.json b/keyboards/keebio/sinc/rev1/info.json index d7a119807f..3c8a90c206 100644 --- a/keyboards/keebio/sinc/rev1/info.json +++ b/keyboards/keebio/sinc/rev1/info.json @@ -3,5 +3,55 @@ "usb": { "pid": "0x1267", "device_version": "1.0.0" + }, + "debounce": 5, + "diode_direction": "COL2ROW", + "features": { + "rgblight": true, + "backlight": true, + }, + "indicators": { + "caps_lock": "B6" + }, + "split": { + "enabled": true, + "soft_serial_pin": "D0", + "transport": { + "protocol": "serial" + }, + "encoder": { + "right": { + "rotary": [ + {"pin_a": "D6", "pin_b": "D4" }, + ], + }, + }, + "matrix_pins": { + "right":{ + "cols": ["F1", "F0", "F4", "F5", "F6", "D5", "C7", "D3", "B7"], + "rows": ["B3", "B2", "B6", "B4", "D7", "B0"], + }, + }, + }, + "matrix_pins": { + "cols": ["F4", "F1", "F0", "B7", "B3", "D2", "D3", "D5", "D4"], + "rows": ["B1", "B2", "C7", "B4", "D7", "B0"], + }, + "encoder": { + "enabled": true, + "rotary": [ + {"pin_a": "F5", "pin_b": "F6" }, + ], + }, + "backlight":{ + "pin": "B5", + }, + "rgblight": { + "pin": "E6", + "led_count" : 16, + "split_count": [8, 8], + "animations": { + "all": true, + } } } diff --git a/keyboards/keebio/sinc/rev1/rev1.c b/keyboards/keebio/sinc/rev1/rev1.c index 906b9b7d58..ec3eb1c0c9 100644 --- a/keyboards/keebio/sinc/rev1/rev1.c +++ b/keyboards/keebio/sinc/rev1/rev1.c @@ -2,14 +2,14 @@ #include "split_util.h" void matrix_init_kb(void) { - setPinOutput(CAPS_LOCK_LED_PIN); + setPinOutput(LED_CAPS_LOCK_PIN); matrix_init_user(); } bool led_update_kb(led_t led_state) { // Only update if left half if (isLeftHand && led_update_user(led_state)) { - writePin(CAPS_LOCK_LED_PIN, !led_state.caps_lock); + writePin(LED_CAPS_LOCK_PIN, !led_state.caps_lock); } return true; } diff --git a/keyboards/keebio/sinc/rev1/rules.mk b/keyboards/keebio/sinc/rev1/rules.mk index 32e7881599..6e7633bfe0 100644 --- a/keyboards/keebio/sinc/rev1/rules.mk +++ b/keyboards/keebio/sinc/rev1/rules.mk @@ -1,3 +1 @@ -BACKLIGHT_ENABLE = yes -RGBLIGHT_ENABLE = yes -ENCODER_ENABLE = yes +# This file intentionally left blank diff --git a/keyboards/keebio/sinc/rev2/config.h b/keyboards/keebio/sinc/rev2/config.h index 800400e905..92d2fda644 100644 --- a/keyboards/keebio/sinc/rev2/config.h +++ b/keyboards/keebio/sinc/rev2/config.h @@ -16,31 +16,8 @@ along with this program. If not, see . #pragma once -/* key matrix size */ -// Rows are doubled-up -#define MATRIX_ROWS 12 -#define MATRIX_COLS 9 - -#define DIODE_DIRECTION COL2ROW // wiring of each half -#define MATRIX_ROW_PINS { B1, B2, C7, B4, D7, B0 } -#define MATRIX_COL_PINS { F4, F1, F0, B7, B3, D2, D3, D5, D4 } -#define MATRIX_ROW_PINS_RIGHT { B3, B2, B6, B4, D7, B0 } -#define MATRIX_COL_PINS_RIGHT { F1, F0, F4, F5, F6, D5, C7, D3, B7 } #define SPLIT_HAND_PIN F7 -#define ENCODERS_PAD_A { F5 } -#define ENCODERS_PAD_B { F6 } -#define ENCODERS_PAD_A_RIGHT { D6 } -#define ENCODERS_PAD_B_RIGHT { D4 } - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - -#define BACKLIGHT_PIN B5 -#define CAPS_LOCK_LED_PIN B6 - -/* serial.c configuration for split keyboard */ -#define SOFT_SERIAL_PIN D0 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE @@ -48,10 +25,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* ws2812 RGB LED */ -#define RGB_DI_PIN E6 -#define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 16 // Number of LEDs -#define RGBLED_SPLIT { 8, 8 } #define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 } #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/sinc/rev2/info.json b/keyboards/keebio/sinc/rev2/info.json index 378b02d2e7..c3dd1d80ed 100644 --- a/keyboards/keebio/sinc/rev2/info.json +++ b/keyboards/keebio/sinc/rev2/info.json @@ -3,5 +3,55 @@ "usb": { "pid": "0x2267", "device_version": "2.0.0" + }, + "debounce": 5, + "diode_direction": "COL2ROW", + "features": { + "rgblight": true, + "backlight": true, + }, + "indicators": { + "caps_lock": "B6" + }, + "split": { + "enabled": true, + "soft_serial_pin": "D0", + "transport": { + "protocol": "serial" + }, + "encoder": { + "right": { + "rotary": [ + {"pin_a": "D6", "pin_b": "D4" }, + ], + }, + }, + "matrix_pins": { + "right":{ + "cols": ["F1", "F0", "F4", "F5", "F6", "D5", "C7", "D3", "B7"], + "rows": ["B3", "B2", "B6", "B4", "D7", "B0"], + }, + }, + }, + "matrix_pins": { + "cols": ["F4", "F1", "F0", "B7", "B3", "D2", "D3", "D5", "D4"], + "rows": ["B1", "B2", "C7", "B4", "D7", "B0"], + }, + "encoder": { + "enabled": true, + "rotary": [ + {"pin_a": "F5", "pin_b": "F6" }, + ], + }, + "backlight":{ + "pin": "B5", + }, + "rgblight": { + "pin": "E6", + "led_count" : 16, + "split_count": [8, 8], + "animations": { + "all": true, + } } } diff --git a/keyboards/keebio/sinc/rev2/rev2.c b/keyboards/keebio/sinc/rev2/rev2.c index 47bb1e9e68..a774b76ca0 100644 --- a/keyboards/keebio/sinc/rev2/rev2.c +++ b/keyboards/keebio/sinc/rev2/rev2.c @@ -18,14 +18,14 @@ along with this program. If not, see . #include "split_util.h" void matrix_init_kb(void) { - setPinOutput(CAPS_LOCK_LED_PIN); + setPinOutput(LED_CAPS_LOCK_PIN); matrix_init_user(); } bool led_update_kb(led_t led_state) { // Only update if left half if (isLeftHand && led_update_user(led_state)) { - writePin(CAPS_LOCK_LED_PIN, !led_state.caps_lock); + writePin(LED_CAPS_LOCK_PIN, !led_state.caps_lock); } return true; } diff --git a/keyboards/keebio/sinc/rev2/rules.mk b/keyboards/keebio/sinc/rev2/rules.mk index 32e7881599..6e7633bfe0 100644 --- a/keyboards/keebio/sinc/rev2/rules.mk +++ b/keyboards/keebio/sinc/rev2/rules.mk @@ -1,3 +1 @@ -BACKLIGHT_ENABLE = yes -RGBLIGHT_ENABLE = yes -ENCODER_ENABLE = yes +# This file intentionally left blank diff --git a/keyboards/keebio/sinc/rules.mk b/keyboards/keebio/sinc/rules.mk index fc8ab56049..1419957479 100644 --- a/keyboards/keebio/sinc/rules.mk +++ b/keyboards/keebio/sinc/rules.mk @@ -1,22 +1 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = atmel-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -AUDIO_ENABLE = no # Audio output -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. -LTO_ENABLE = yes -SPLIT_KEYBOARD = yes - DEFAULT_FOLDER = keebio/sinc/rev1