Skip to content

Commit

Permalink
Re-structure splinky support to handle versioning in the same fashion…
Browse files Browse the repository at this point in the history
… as for the teensy (qmk#19123)
  • Loading branch information
0xcharly authored and elpekenin committed Dec 7, 2022
1 parent 112a84c commit 06630b1
Show file tree
Hide file tree
Showing 79 changed files with 620 additions and 358 deletions.
37 changes: 0 additions & 37 deletions keyboards/bastardkb/charybdis/3x5/v2/splinky/config.h

This file was deleted.

6 changes: 0 additions & 6 deletions keyboards/bastardkb/charybdis/3x5/v2/splinky/readme.md

This file was deleted.

2 changes: 0 additions & 2 deletions keyboards/bastardkb/charybdis/3x5/v2/splinky/v2/rules.mk

This file was deleted.

2 changes: 0 additions & 2 deletions keyboards/bastardkb/charybdis/3x5/v2/splinky/v3/rules.mk

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,16 @@
/* Key matrix configuration. */
#define MATRIX_ROW_PINS \
{ GP26, GP5, GP4, GP9 }
#define MATRIX_COL_PINS \
{ GP28, GP15, GP6, GP7, GP8 }

/* Handedness. */
#define MASTER_RIGHT

// To use the handedness pin, resistors need to be installed on the adapter PCB.
// 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
Expand All @@ -29,7 +39,10 @@

/* 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
Expand Down
5 changes: 5 additions & 0 deletions keyboards/bastardkb/charybdis/3x5/v2/splinky_2/readme.md
Original file line number Diff line number Diff line change
@@ -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).
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,3 @@ POINTING_DEVICE_DRIVER = pmw3360

SERIAL_DRIVER = vendor
WS2812_DRIVER = vendor

DEFAULT_FOLDER = bastardkb/charybdis/3x5/v2/splinky/v3
50 changes: 50 additions & 0 deletions keyboards/bastardkb/charybdis/3x5/v2/splinky_3/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/*
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

/* Key matrix configuration. */
#define MATRIX_ROW_PINS \
{ GP26, GP5, GP4, GP9 }
#define MATRIX_COL_PINS \
{ GP28, GP21, GP6, GP7, GP8 }

/* Handedness. */
#define MASTER_RIGHT

// To use the handedness pin, resistors need to be installed on the adapter PCB.
// 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
6 changes: 6 additions & 0 deletions keyboards/bastardkb/charybdis/3x5/v2/splinky_3/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"keyboard_name": "Charybdis Nano (3x5) Splinky",
"usb": {
"device_version": "2.0.0"
}
}
5 changes: 5 additions & 0 deletions keyboards/bastardkb/charybdis/3x5/v2/splinky_3/readme.md
Original file line number Diff line number Diff line change
@@ -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).
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,10 @@ RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
RGB_MATRIX_DRIVER = WS2812

SPLIT_KEYBOARD = yes
LAYOUTS = split_3x5_3

POINTING_DEVICE_ENABLE = yes # Enable trackball
POINTING_DEVICE_DRIVER = pmw3360

SERIAL_DRIVER = vendor
WS2812_DRIVER = vendor

DEFAULT_FOLDER = bastardkb/charybdis/4x6/v2/splinky/v3
6 changes: 0 additions & 6 deletions keyboards/bastardkb/charybdis/3x6/v2/splinky/readme.md

This file was deleted.

2 changes: 0 additions & 2 deletions keyboards/bastardkb/charybdis/3x6/v2/splinky/v2/rules.mk

This file was deleted.

2 changes: 0 additions & 2 deletions keyboards/bastardkb/charybdis/3x6/v2/splinky/v3/rules.mk

This file was deleted.

50 changes: 50 additions & 0 deletions keyboards/bastardkb/charybdis/3x6/v2/splinky_2/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/*
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

/* Key matrix configuration. */
#define MATRIX_ROW_PINS \
{ GP26, GP5, GP4, GP9 }
#define MATRIX_COL_PINS \
{ GP27, GP28, GP15, GP6, GP7, GP8 }

/* Handedness. */
#define MASTER_RIGHT

// To use the handedness pin, resistors need to be installed on the adapter PCB.
// 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
5 changes: 5 additions & 0 deletions keyboards/bastardkb/charybdis/3x6/v2/splinky_2/readme.md
Original file line number Diff line number Diff line change
@@ -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).
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,3 @@ POINTING_DEVICE_DRIVER = pmw3360

SERIAL_DRIVER = vendor
WS2812_DRIVER = vendor

DEFAULT_FOLDER = bastardkb/charybdis/3x6/v2/splinky/v3
50 changes: 50 additions & 0 deletions keyboards/bastardkb/charybdis/3x6/v2/splinky_3/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/*
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

/* Key matrix configuration. */
#define MATRIX_ROW_PINS \
{ GP26, GP5, GP4, GP9 }
#define MATRIX_COL_PINS \
{ GP27, GP28, GP21, GP6, GP7, GP8 }

/* Handedness. */
#define MASTER_RIGHT

// To use the handedness pin, resistors need to be installed on the adapter PCB.
// 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
6 changes: 6 additions & 0 deletions keyboards/bastardkb/charybdis/3x6/v2/splinky_3/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"keyboard_name": "Charybdis Mini (3x6) Splinky",
"usb": {
"device_version": "2.0.0"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,7 @@

#pragma once

/* Key matrix configuration. */
#define MATRIX_ROW_PINS \
{ 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

/* 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
5 changes: 5 additions & 0 deletions keyboards/bastardkb/charybdis/3x6/v2/splinky_3/readme.md
Original file line number Diff line number Diff line change
@@ -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).
37 changes: 37 additions & 0 deletions keyboards/bastardkb/charybdis/3x6/v2/splinky_3/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# 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
LAYOUTS = split_3x6_3

POINTING_DEVICE_ENABLE = yes # Enable trackball
POINTING_DEVICE_DRIVER = pmw3360

SERIAL_DRIVER = vendor
WS2812_DRIVER = vendor
6 changes: 0 additions & 6 deletions keyboards/bastardkb/charybdis/4x6/v2/splinky/readme.md

This file was deleted.

2 changes: 0 additions & 2 deletions keyboards/bastardkb/charybdis/4x6/v2/splinky/v2/rules.mk

This file was deleted.

2 changes: 0 additions & 2 deletions keyboards/bastardkb/charybdis/4x6/v2/splinky/v3/rules.mk

This file was deleted.

Loading

0 comments on commit 06630b1

Please sign in to comment.