Browse Source

[Keyboard] Convert most of sinc to data driven info.json (#18481)

Seth Barberee 2 years ago
parent
commit
26c3e877c7

+ 18 - 0
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": [

+ 0 - 27
keyboards/keebio/sinc/rev1/config.h

@@ -18,31 +18,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #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 <http://www.gnu.org/licenses/>.
 #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)
 

+ 50 - 0
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,
+        }
     }
 }

+ 2 - 2
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;
 }

+ 1 - 3
keyboards/keebio/sinc/rev1/rules.mk

@@ -1,3 +1 @@
-BACKLIGHT_ENABLE = yes
-RGBLIGHT_ENABLE = yes
-ENCODER_ENABLE = yes
+# This file intentionally left blank

+ 0 - 27
keyboards/keebio/sinc/rev2/config.h

@@ -16,31 +16,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #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 <http://www.gnu.org/licenses/>.
 #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)
 

+ 50 - 0
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,
+        }
     }
 }

+ 2 - 2
keyboards/keebio/sinc/rev2/rev2.c

@@ -18,14 +18,14 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #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;
 }

+ 1 - 3
keyboards/keebio/sinc/rev2/rules.mk

@@ -1,3 +1 @@
-BACKLIGHT_ENABLE = yes
-RGBLIGHT_ENABLE = yes
-ENCODER_ENABLE = yes
+# This file intentionally left blank

+ 0 - 21
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