Skip to content

Commit

Permalink
[Keyboard] Convert most of sinc to data driven info.json (qmk#18481)
Browse files Browse the repository at this point in the history
  • Loading branch information
SethBarberee authored and ramonimbao committed Nov 28, 2022
1 parent 6008b98 commit 1ddd1fe
Show file tree
Hide file tree
Showing 10 changed files with 124 additions and 85 deletions.
18 changes: 18 additions & 0 deletions keyboards/keebio/sinc/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -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": [
Expand Down
27 changes: 0 additions & 27 deletions keyboards/keebio/sinc/rev1/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,42 +18,15 @@ 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
/* Locking resynchronize hack */
#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)

Expand Down
50 changes: 50 additions & 0 deletions keyboards/keebio/sinc/rev1/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -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,
}
}
}
4 changes: 2 additions & 2 deletions keyboards/keebio/sinc/rev1/rev1.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down
4 changes: 1 addition & 3 deletions keyboards/keebio/sinc/rev1/rules.mk
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
BACKLIGHT_ENABLE = yes
RGBLIGHT_ENABLE = yes
ENCODER_ENABLE = yes
# This file intentionally left blank
27 changes: 0 additions & 27 deletions keyboards/keebio/sinc/rev2/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,42 +16,15 @@ 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
/* Locking resynchronize hack */
#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)

Expand Down
50 changes: 50 additions & 0 deletions keyboards/keebio/sinc/rev2/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -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,
}
}
}
4 changes: 2 additions & 2 deletions keyboards/keebio/sinc/rev2/rev2.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down
4 changes: 1 addition & 3 deletions keyboards/keebio/sinc/rev2/rules.mk
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
BACKLIGHT_ENABLE = yes
RGBLIGHT_ENABLE = yes
ENCODER_ENABLE = yes
# This file intentionally left blank
21 changes: 0 additions & 21 deletions keyboards/keebio/sinc/rules.mk
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 1ddd1fe

Please sign in to comment.