Merge remote-tracking branch 'origin/master' into develop

This commit is contained in:
QMK Bot
2022-11-15 08:52:19 +00:00
139 changed files with 2793 additions and 301 deletions

View File

@@ -56,5 +56,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

View File

@@ -1,4 +1,5 @@
/*
/**
* Copyright 2020 Nick Brassel (tzarc)
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
*
* This program is free software: you can redistribute it and/or modify

View File

@@ -1,4 +1,6 @@
/*
* Copyright 2020 Nick Brassel (tzarc)
* Copyright 2021 Stefan Kerkmann (@KarlK90)
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
*
* This program is free software: you can redistribute it and/or modify

View File

@@ -38,4 +38,4 @@
#define RGB_DI_PIN D3
/* PMW3360 settings. */
#define PMW33XX_CS_PIN B0
#define POINTING_DEVICE_CS_PIN B0

View File

@@ -33,4 +33,4 @@
#define RGB_DI_PIN D3
/* PMW3360 settings. */
#define PMW33XX_CS_PIN F0
#define POINTING_DEVICE_CS_PIN F0

View File

@@ -20,8 +20,6 @@
/* 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
@@ -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

View File

@@ -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.

View File

@@ -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

View File

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

View File

@@ -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

View File

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

View File

@@ -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 \
{ 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

View File

@@ -0,0 +1,24 @@
/*
* 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
#define HAL_USE_PWM TRUE
#define HAL_USE_SERIAL TRUE
#define HAL_USE_SPI TRUE
#include_next <halconf.h>

View File

@@ -0,0 +1,6 @@
{
"keyboard_name": "Charybdis Mini (3x6) STeMCell",
"usb": {
"device_version": "2.0.0"
}
}

View File

@@ -0,0 +1,32 @@
/*
* 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
#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

View File

@@ -0,0 +1,38 @@
# 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
LAYOUTS = split_3x6_3
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