Re-structure splinky support to handle versioning in the same fashion as for the teensy (#19123)

This commit is contained in:
Charly Delay
2022-12-05 05:58:12 +09:00
committed by GitHub
parent ea1a6975a8
commit af14b212b9
79 changed files with 620 additions and 358 deletions

View File

@@ -1,6 +0,0 @@
# Splinky controller
The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
See https://github.com/plut0nium/0xB2/#releases to figure out the right version
for you (v2 and v3) supported.

View File

@@ -1,2 +0,0 @@
# Intentionally blank so that QMK detects this folder as a valid keyboard
# parameter.

View File

@@ -1,2 +0,0 @@
# Intentionally blank so that QMK detects this folder as a valid keyboard
# parameter.

View File

@@ -18,14 +18,11 @@
#pragma once
/* Key matrix configuration. */
#define MATRIX_ROW_PINS \
{ GP29, GP26, GP5, GP4, GP9 }
#define MATRIX_COL_PINS \
{ GP27, GP28, GP15, GP6, GP7, GP8 }
/* SPI & PMW3360 settings. */
#define SPI_SCK_PIN GP18
#define SPI_MOSI_PIN GP19
#define POINTING_DEVICE_CS_PIN GP14
/* Handedness. */
#define MASTER_RIGHT
@@ -33,3 +30,21 @@
// If so, uncomment the following code, and undefine MASTER_RIGHT above.
// #define SPLIT_HAND_PIN GP13
// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
/* serial.c configuration (for split keyboard). */
#define SOFT_SERIAL_PIN GP1
/* RGB settings. */
#define RGB_DI_PIN GP0
/* SPI & PMW3360 settings. */
#define SPI_DRIVER SPID0
#define SPI_SCK_PIN GP18
#define SPI_MISO_PIN GP20
#define SPI_MOSI_PIN GP19
#define POINTING_DEVICE_CS_PIN GP14
/* Reset. */
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U

View File

@@ -0,0 +1,5 @@
# Splinky controller
The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3).

View File

@@ -34,5 +34,3 @@ POINTING_DEVICE_DRIVER = pmw3360
SERIAL_DRIVER = vendor
WS2812_DRIVER = vendor
DEFAULT_FOLDER = bastardkb/charybdis/4x6/v2/splinky/v3

View File

@@ -18,14 +18,11 @@
#pragma once
/* Key matrix configuration. */
#define MATRIX_ROW_PINS \
{ GP29, GP26, GP5, GP4, GP9 }
#define MATRIX_COL_PINS \
{ GP27, GP28, GP21, GP6, GP7, GP8 }
/* SPI & PMW3360 settings. */
#define SPI_SCK_PIN GP22
#define SPI_MOSI_PIN GP23
#define POINTING_DEVICE_CS_PIN GP16
/* Handedness. */
#define MASTER_RIGHT
@@ -33,3 +30,21 @@
// If so, uncomment the following code, and undefine MASTER_RIGHT above.
// #define SPLIT_HAND_PIN GP15
// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
/* serial.c configuration (for split keyboard). */
#define SOFT_SERIAL_PIN GP1
/* RGB settings. */
#define RGB_DI_PIN GP0
/* SPI & PMW3360 settings. */
#define SPI_DRIVER SPID0
#define SPI_SCK_PIN GP22
#define SPI_MISO_PIN GP20
#define SPI_MOSI_PIN GP23
#define POINTING_DEVICE_CS_PIN GP16
/* Reset. */
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U

View File

@@ -0,0 +1,6 @@
{
"keyboard_name": "Charybdis (4x6) Splinky",
"usb": {
"device_version": "2.0.0"
}
}

View File

@@ -17,21 +17,7 @@
#pragma once
/* Key matrix configuration. */
#define MATRIX_ROW_PINS \
{ GP29, GP26, GP5, GP4, GP9 }
#include_next "mcuconf.h"
/* serial.c configuration (for split keyboard). */
#define SOFT_SERIAL_PIN GP1
/* RGB settings. */
#define RGB_DI_PIN GP0
/* SPI & PMW3360 settings. */
#define SPI_DRIVER SPID0
#define SPI_MISO_PIN GP20
/* Reset. */
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
#undef RP_SPI_USE_SPI0
#define RP_SPI_USE_SPI0 TRUE

View File

@@ -0,0 +1,5 @@
# Splinky controller
The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3).

View File

@@ -0,0 +1,36 @@
# MCU name
MCU = RP2040
# Bootloader selection
BOOTLOADER = rp2040
# RP2040-specific options
ALLOW_WARNINGS = yes
PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS.
# 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 = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
AUDIO_SUPPORTED = no # Audio is not supported
RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
RGB_MATRIX_DRIVER = WS2812
SPLIT_KEYBOARD = yes
POINTING_DEVICE_ENABLE = yes # Enable trackball
POINTING_DEVICE_DRIVER = pmw3360
SERIAL_DRIVER = vendor
WS2812_DRIVER = vendor