diff options
Diffstat (limited to 'keyboards/bastardkb/charybdis/4x6')
17 files changed, 230 insertions, 29 deletions
diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/config.h b/keyboards/bastardkb/charybdis/4x6/blackpill/config.h index 2514a52fb0..e37df487fd 100644 --- a/keyboards/bastardkb/charybdis/4x6/blackpill/config.h +++ b/keyboards/bastardkb/charybdis/4x6/blackpill/config.h @@ -58,5 +58,5 @@ #define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4 /* PMW3360 settings. */ -#define PMW33XX_CS_PIN B14 +#define POINTING_DEVICE_CS_PIN B14 #define PMW33XX_CS_DIVISOR 64 diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h b/keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h index a89dff0cd3..0e5caa9f9a 100644 --- a/keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h +++ b/keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h @@ -1,4 +1,4 @@ -/* +/** * Copyright 2020 Nick Brassel (tzarc) * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly) * @@ -20,10 +20,8 @@ #define HAL_USE_PWM TRUE #define HAL_USE_SERIAL TRUE -//#define HAL_USE_I2C TRUE #define HAL_USE_SPI TRUE #define SPI_USE_WAIT TRUE #define SPI_SELECT_MODE SPI_SELECT_MODE_PAD -//#define HAL_USE_GPT TRUE #include_next "halconf.h" diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/mcuconf.h b/keyboards/bastardkb/charybdis/4x6/blackpill/mcuconf.h index 1615d1bf46..3b9c9056f8 100644 --- a/keyboards/bastardkb/charybdis/4x6/blackpill/mcuconf.h +++ b/keyboards/bastardkb/charybdis/4x6/blackpill/mcuconf.h @@ -21,14 +21,6 @@ #include_next "mcuconf.h" -#undef STM32_I2C_USE_I2C1 -#define STM32_I2C_USE_I2C1 TRUE - -#undef STM32_I2C_I2C1_RX_DMA_STREAM -#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0) -#undef STM32_I2C_I2C1_TX_DMA_STREAM -#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1) - #undef STM32_PWM_USE_TIM2 #define STM32_PWM_USE_TIM2 TRUE @@ -46,14 +38,6 @@ #undef STM32_SERIAL_USE_USART1 #define STM32_SERIAL_USE_USART1 TRUE -// #undef STM32_SERIAL_USE_USART2 -// #define STM32_SERIAL_USE_USART2 TRUE - -// #undef STM32_UART_USART2_RX_DMA_STREAM -// #define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5) -// #undef STM32_UART_USART2_TX_DMA_STREAM -// #define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6) - #undef STM32_GPT_USE_TIM4 #define STM32_GPT_USE_TIM4 TRUE diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk b/keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk index 6123ec58b7..9015f3a8b2 100644 --- a/keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk +++ b/keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk @@ -24,8 +24,6 @@ RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by def RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality RGB_MATRIX_DRIVER = WS2812 -# Charybdis is a split 4x6 keyboard with a maximum of 5 thumb keys (3 on the -# trackball side). SPLIT_KEYBOARD = yes POINTING_DEVICE_ENABLE = yes # Enable trackball diff --git a/keyboards/bastardkb/charybdis/4x6/v1/elitec/config.h b/keyboards/bastardkb/charybdis/4x6/v1/elitec/config.h index 15044ef645..710c4c3587 100644 --- a/keyboards/bastardkb/charybdis/4x6/v1/elitec/config.h +++ b/keyboards/bastardkb/charybdis/4x6/v1/elitec/config.h @@ -39,4 +39,4 @@ #define RGB_DI_PIN D3 /* PMW3360 settings. */ -#define PMW33XX_CS_PIN B0 +#define POINTING_DEVICE_CS_PIN B0 diff --git a/keyboards/bastardkb/charybdis/4x6/v2/elitec/config.h b/keyboards/bastardkb/charybdis/4x6/v2/elitec/config.h index 891e511ccb..692a28b7be 100644 --- a/keyboards/bastardkb/charybdis/4x6/v2/elitec/config.h +++ b/keyboards/bastardkb/charybdis/4x6/v2/elitec/config.h @@ -33,4 +33,4 @@ #define RGB_DI_PIN D3 /* PMW3360 settings. */ -#define PMW33XX_CS_PIN F0 +#define POINTING_DEVICE_CS_PIN F0 diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky/config.h b/keyboards/bastardkb/charybdis/4x6/v2/splinky/config.h index e17ec49726..010de7c480 100644 --- a/keyboards/bastardkb/charybdis/4x6/v2/splinky/config.h +++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky/config.h @@ -20,8 +20,6 @@ /* Key matrix configuration. */ #define MATRIX_ROW_PINS \ { GP29, GP26, GP5, GP4, GP9 } -#define MATRIX_COL_PINS \ - { GP27, GP28, GP15, GP6, GP7, GP8 } /* Handedness. */ #define MASTER_RIGHT @@ -39,10 +37,7 @@ /* SPI & PMW3360 settings. */ #define SPI_DRIVER SPID0 -#define SPI_SCK_PIN GP18 -#define SPI_MOSI_PIN GP19 #define SPI_MISO_PIN GP20 -#define PMW33XX_CS_PIN GP14 /* Reset. */ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky/readme.md b/keyboards/bastardkb/charybdis/4x6/v2/splinky/readme.md new file mode 100644 index 0000000000..22df77bbaa --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky/readme.md @@ -0,0 +1,6 @@ +# 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. diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky/v2/config.h b/keyboards/bastardkb/charybdis/4x6/v2/splinky/v2/config.h new file mode 100644 index 0000000000..7b7d94b320 --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky/v2/config.h @@ -0,0 +1,27 @@ +/* + * 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_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 diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky/v2/rules.mk b/keyboards/bastardkb/charybdis/4x6/v2/splinky/v2/rules.mk new file mode 100644 index 0000000000..c9c50319db --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky/v2/rules.mk @@ -0,0 +1,2 @@ +# Intentionally blank so that QMK detects this folder as a valid keyboard +# parameter. diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky/v3/config.h b/keyboards/bastardkb/charybdis/4x6/v2/splinky/v3/config.h new file mode 100644 index 0000000000..0e9f2257f0 --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky/v3/config.h @@ -0,0 +1,27 @@ +/* + * 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_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 diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky/v3/rules.mk b/keyboards/bastardkb/charybdis/4x6/v2/splinky/v3/rules.mk new file mode 100644 index 0000000000..c9c50319db --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky/v3/rules.mk @@ -0,0 +1,2 @@ +# Intentionally blank so that QMK detects this folder as a valid keyboard +# parameter. diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/config.h b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/config.h new file mode 100644 index 0000000000..b1b432c330 --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/config.h @@ -0,0 +1,63 @@ +/* + * 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 \ + { F4, F7, C6, D4, B5 } +#define MATRIX_COL_PINS \ + { F6, F5, B6, D7, E6, B4 } + +/* 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 A0 PAL_LINE(GPIOA, 0) +// #define SPLIT_HAND_PIN A0 +// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. + +/* serial.c configuration (for split keyboard). */ +#define SOFT_SERIAL_PIN D2 + +/* RGB settings. */ +#define RGB_DI_PIN D3 +#define WS2812_PWM_DRIVER PWMD2 +#define WS2812_PWM_CHANNEL 4 +#define WS2812_PWM_PAL_MODE 1 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM7 +#define WS2812_DMA_CHANNEL 3 + +/* CRC. */ +#define CRC8_USE_TABLE +#define CRC8_OPTIMIZE_SPEED + +/* SPI config for pmw3360 sensor. */ +#define SPI_DRIVER SPID1 +#define SPI_SCK_PIN B1 +#define SPI_SCK_PAL_MODE 5 +#define SPI_MOSI_PIN B2 +#define SPI_MOSI_PAL_MODE 5 +#define SPI_MISO_PIN B3 +#define SPI_MISO_PAL_MODE 5 + +/* PMW3360 settings. */ +#define A1 PAL_LINE(GPIOA, 1) +#define POINTING_DEVICE_CS_PIN A1 +#define PMW3360_CS_MODE 3 +#define PMW3360_CS_DIVISOR 64 diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/halconf.h b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/halconf.h new file mode 100644 index 0000000000..0397de50b7 --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/halconf.h @@ -0,0 +1,24 @@ +/* + * Copyright 2021 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 + +#define HAL_USE_PWM TRUE +#define HAL_USE_SERIAL TRUE +#define HAL_USE_SPI TRUE + +#include_next <halconf.h> diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json new file mode 100644 index 0000000000..7d687319b3 --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json @@ -0,0 +1,6 @@ +{ + "keyboard_name": "Charybdis (4x6) STeMCell", + "usb": { + "device_version": "2.0.0" + } +} diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/mcuconf.h b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/mcuconf.h new file mode 100644 index 0000000000..17a46d8f95 --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/mcuconf.h @@ -0,0 +1,32 @@ +/* + * Copyright 2021 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 + +#include_next <mcuconf.h> + +#undef STM32_SPI_USE_SPI1 +#define STM32_SPI_USE_SPI1 TRUE + +#undef STM32_SERIAL_USE_USART1 +#define STM32_SERIAL_USE_USART1 FALSE + +#undef STM32_PWM_USE_TIM2 +#define STM32_PWM_USE_TIM2 TRUE + +#undef STM32_ST_USE_TIMER +#define STM32_ST_USE_TIMER 5 diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/rules.mk b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/rules.mk new file mode 100644 index 0000000000..0847e9ce1f --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/rules.mk @@ -0,0 +1,37 @@ +# MCU name +MCU = STM32F411 + +# Bootloader selection +BOOTLOADER = stm32-dfu +CONVERT_TO = stemcell + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # 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 +MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint +KEYBOARD_SHARED_EP = yes + +SERIAL_DRIVER = usart +WS2812_DRIVER = pwm + +DEBOUNCE_TYPE = asym_eager_defer_pk |