From af14b212b962ec455ec80f7527a919ae245bc2d9 Mon Sep 17 00:00:00 2001 From: Charly Delay <0xcharly@users.noreply.github.com> Date: Mon, 5 Dec 2022 05:58:12 +0900 Subject: Re-structure splinky support to handle versioning in the same fashion as for the teensy (#19123) --- .../bastardkb/charybdis/3x5/v2/splinky_2/config.h | 50 ++++++++++++++++++++++ .../bastardkb/charybdis/3x5/v2/splinky_2/info.json | 6 +++ .../bastardkb/charybdis/3x5/v2/splinky_2/mcuconf.h | 23 ++++++++++ .../bastardkb/charybdis/3x5/v2/splinky_2/readme.md | 5 +++ .../bastardkb/charybdis/3x5/v2/splinky_2/rules.mk | 37 ++++++++++++++++ 5 files changed, 121 insertions(+) create mode 100644 keyboards/bastardkb/charybdis/3x5/v2/splinky_2/config.h create mode 100644 keyboards/bastardkb/charybdis/3x5/v2/splinky_2/info.json create mode 100644 keyboards/bastardkb/charybdis/3x5/v2/splinky_2/mcuconf.h create mode 100644 keyboards/bastardkb/charybdis/3x5/v2/splinky_2/readme.md create mode 100644 keyboards/bastardkb/charybdis/3x5/v2/splinky_2/rules.mk (limited to 'keyboards/bastardkb/charybdis/3x5/v2/splinky_2') diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/config.h b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/config.h new file mode 100644 index 0000000000..cbdc3ae855 --- /dev/null +++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/config.h @@ -0,0 +1,50 @@ +/* + * Copyright 2022 Charly Delay (@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 . + */ + +#pragma once + +/* 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 + +/* 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 diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/info.json b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/info.json new file mode 100644 index 0000000000..98f436f52b --- /dev/null +++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/info.json @@ -0,0 +1,6 @@ +{ + "keyboard_name": "Charybdis Nano (3x5) Splinky", + "usb": { + "device_version": "2.0.0" + } +} diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/mcuconf.h b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/mcuconf.h new file mode 100644 index 0000000000..0fdd67c3a2 --- /dev/null +++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/mcuconf.h @@ -0,0 +1,23 @@ +/* + * Copyright 2022 Charly Delay (@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 . + */ + +#pragma once + +#include_next "mcuconf.h" + +#undef RP_SPI_USE_SPI0 +#define RP_SPI_USE_SPI0 TRUE diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/readme.md b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/readme.md new file mode 100644 index 0000000000..662eb5825c --- /dev/null +++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/readme.md @@ -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). diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/rules.mk b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/rules.mk new file mode 100644 index 0000000000..21a9506077 --- /dev/null +++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/rules.mk @@ -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_3x5_3 + +POINTING_DEVICE_ENABLE = yes # Enable trackball +POINTING_DEVICE_DRIVER = pmw3360 + +SERIAL_DRIVER = vendor +WS2812_DRIVER = vendor -- cgit v1.2.3