summaryrefslogtreecommitdiff
path: root/keyboards/bastardkb/tbkmini
diff options
context:
space:
mode:
authorCharly Delay <0xcharly@users.noreply.github.com>2022-11-15 17:51:44 +0900
committerGitHub <noreply@github.com>2022-11-15 08:51:44 +0000
commit30b2dbe369b3a61d1d6681b0a689dbcdd41fc221 (patch)
treecddf4e7318c2b06d33d4b3750d2e4eb15f1d2333 /keyboards/bastardkb/tbkmini
parentee7426e7b19c25ddfc53d0b50db68a457d8f992b (diff)
Bastard Keyboards: upstream recent changes (#18903)
* bastardkb: cleanup blackpill configuration Fixes #17 * bastardkb: fix splinky configuration The pinout of the splinky changed between the last beta batch, and the production one. This commit updates the keyboard definition to support the new pinout by default, while offering backward compatibility. Define `SPLINKY_BETA_PINOUT` to build the firmware with pre-production pinout. Fixes #15 * bastardkb: add support for STeMCell * Update scylla/tbkmini/skeletyl outdated readmes * bastardkb/dilemma: enable circular scroll * bastardkb/dilemma: add initial version of the `via` keymap * bastardkb/dilemma/assembled: add new keyboard Fixes #20 * bastardkb/dilemma: remove elite-c * Initial support for the Dilemma 3x5+3 Assembled RGB * Address code review comments * Address more comments * Address review comments * Address more nits * bastardkb: split splinky-based keyboards to distinguish between Splinky v2 and v3 pinout
Diffstat (limited to 'keyboards/bastardkb/tbkmini')
-rw-r--r--keyboards/bastardkb/tbkmini/blackpill/halconf.h4
-rw-r--r--keyboards/bastardkb/tbkmini/blackpill/mcuconf.h28
-rw-r--r--keyboards/bastardkb/tbkmini/readme.md20
-rw-r--r--keyboards/bastardkb/tbkmini/v2/splinky/config.h2
-rw-r--r--keyboards/bastardkb/tbkmini/v2/splinky/readme.md6
-rw-r--r--keyboards/bastardkb/tbkmini/v2/splinky/v2/config.h22
-rw-r--r--keyboards/bastardkb/tbkmini/v2/splinky/v2/rules.mk2
-rw-r--r--keyboards/bastardkb/tbkmini/v2/splinky/v3/config.h22
-rw-r--r--keyboards/bastardkb/tbkmini/v2/splinky/v3/rules.mk2
-rw-r--r--keyboards/bastardkb/tbkmini/v2/stemcell/config.h48
-rw-r--r--keyboards/bastardkb/tbkmini/v2/stemcell/halconf.h23
-rw-r--r--keyboards/bastardkb/tbkmini/v2/stemcell/info.json6
-rw-r--r--keyboards/bastardkb/tbkmini/v2/stemcell/mcuconf.h29
-rw-r--r--keyboards/bastardkb/tbkmini/v2/stemcell/rules.mk33
14 files changed, 213 insertions, 34 deletions
diff --git a/keyboards/bastardkb/tbkmini/blackpill/halconf.h b/keyboards/bastardkb/tbkmini/blackpill/halconf.h
index 0d4b7b5dc5..1ba700a80f 100644
--- a/keyboards/bastardkb/tbkmini/blackpill/halconf.h
+++ b/keyboards/bastardkb/tbkmini/blackpill/halconf.h
@@ -1,4 +1,4 @@
-/*
+/**
* Copyright 2020 Nick Brassel (tzarc)
* Copyright 2022 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/tbkmini/blackpill/mcuconf.h b/keyboards/bastardkb/tbkmini/blackpill/mcuconf.h
index e7cf3681fd..2b3f30cbfe 100644
--- a/keyboards/bastardkb/tbkmini/blackpill/mcuconf.h
+++ b/keyboards/bastardkb/tbkmini/blackpill/mcuconf.h
@@ -21,39 +21,15 @@
#include_next <mcuconf.h>
-#undef STM32_I2C_USE_I2C1
-#define STM32_I2C_USE_I2C1 FALSE
-
-//#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
-
-//#undef STM32_PWM_USE_TIM3
-//#define STM32_PWM_USE_TIM3 TRUE
-
#undef STM32_SPI_USE_SPI1
#define STM32_SPI_USE_SPI1 TRUE
-//#undef STM32_SPI_SPI1_RX_DMA_STREAM
-//#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0)
-//#undef STM32_SPI_SPI1_TX_DMA_STREAM
-//#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
+#undef STM32_PWM_USE_TIM2
+#define STM32_PWM_USE_TIM2 TRUE
#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_TIM3
#define STM32_GPT_USE_TIM3 TRUE
diff --git a/keyboards/bastardkb/tbkmini/readme.md b/keyboards/bastardkb/tbkmini/readme.md
index 8be8200ff9..74e24ff506 100644
--- a/keyboards/bastardkb/tbkmini/readme.md
+++ b/keyboards/bastardkb/tbkmini/readme.md
@@ -6,10 +6,24 @@ A split, compact ergonomic keyboard.
* Hardware Supported: elite-C V4
* Hardware Availability: [Bastardkb.com](https://bastardkb.com/)
-Make example for this keyboard (after setting up your build environment):
+## Building the firmware
- make bastardkb/tbkmini:default
+**You must specify the shield version when compiling/flashing the firmware.**
+
+The template is:
+
+```shell
+qmk compile -kb bastardkb/tbkmini/{VERSION}/elitec -km {KEYMAP}
+```
+
+| Shield Version | default | via |
+| --------------- | -------------------------------------------------------------- | ---------------------------------------------------------- |
+| v1 (Elite-C) | `qmk compile -kb bastardkb/tbkmini/v1/elitec -km default` | `qmk compile -kb bastardkb/tbkmini/v1/elitec -km via` |
+| v2 (Elite-C) | `qmk compile -kb bastardkb/tbkmini/v2/elitec -km default` | `qmk compile -kb bastardkb/tbkmini/v2/elitec -km via` |
+| v2 (Splinky v2) | `qmk compile -kb bastardkb/tbkmini/v2/splinky/v2 -km default` | `qmk compile -kb bastardkb/tbkmini/v2/splinky/v2 -km via` |
+| v2 (Splinky v3) | `qmk compile -kb bastardkb/tbkmini/v2/splinky/v3 -km default` | `qmk compile -kb bastardkb/tbkmini/v2/splinky/v3 -km via` |
+| v2 (STeMCell) | `qmk compile -kb bastardkb/tbkmini/v2/stemcell -km default` | `qmk compile -kb bastardkb/tbkmini/v2/stemcell -km via` |
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-See the [keyboard build instructions](http://docs.bastardkb.com/) \ No newline at end of file
+See the [keyboard build instructions](http://docs.bastardkb.com/)
diff --git a/keyboards/bastardkb/tbkmini/v2/splinky/config.h b/keyboards/bastardkb/tbkmini/v2/splinky/config.h
index ed0b4a6a54..c4e5b3ff90 100644
--- a/keyboards/bastardkb/tbkmini/v2/splinky/config.h
+++ b/keyboards/bastardkb/tbkmini/v2/splinky/config.h
@@ -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
diff --git a/keyboards/bastardkb/tbkmini/v2/splinky/readme.md b/keyboards/bastardkb/tbkmini/v2/splinky/readme.md
new file mode 100644
index 0000000000..22df77bbaa
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/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/tbkmini/v2/splinky/v2/config.h b/keyboards/bastardkb/tbkmini/v2/splinky/v2/config.h
new file mode 100644
index 0000000000..be0e2fb959
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v2/splinky/v2/config.h
@@ -0,0 +1,22 @@
+/*
+ * 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 }
diff --git a/keyboards/bastardkb/tbkmini/v2/splinky/v2/rules.mk b/keyboards/bastardkb/tbkmini/v2/splinky/v2/rules.mk
new file mode 100644
index 0000000000..c9c50319db
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/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/tbkmini/v2/splinky/v3/config.h b/keyboards/bastardkb/tbkmini/v2/splinky/v3/config.h
new file mode 100644
index 0000000000..72f5c0ffa8
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v2/splinky/v3/config.h
@@ -0,0 +1,22 @@
+/*
+ * 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 }
diff --git a/keyboards/bastardkb/tbkmini/v2/splinky/v3/rules.mk b/keyboards/bastardkb/tbkmini/v2/splinky/v3/rules.mk
new file mode 100644
index 0000000000..c9c50319db
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/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/tbkmini/v2/stemcell/config.h b/keyboards/bastardkb/tbkmini/v2/stemcell/config.h
new file mode 100644
index 0000000000..0c66a8075b
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v2/stemcell/config.h
@@ -0,0 +1,48 @@
+/*
+ * 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
diff --git a/keyboards/bastardkb/tbkmini/v2/stemcell/halconf.h b/keyboards/bastardkb/tbkmini/v2/stemcell/halconf.h
new file mode 100644
index 0000000000..dbeb6aeaa0
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v2/stemcell/halconf.h
@@ -0,0 +1,23 @@
+/*
+ * 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
+
+#include_next <halconf.h>
diff --git a/keyboards/bastardkb/tbkmini/v2/stemcell/info.json b/keyboards/bastardkb/tbkmini/v2/stemcell/info.json
new file mode 100644
index 0000000000..b56c455ae3
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v2/stemcell/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "TBK Mini STeMCell",
+ "usb": {
+ "device_version": "2.0.0"
+ }
+}
diff --git a/keyboards/bastardkb/tbkmini/v2/stemcell/mcuconf.h b/keyboards/bastardkb/tbkmini/v2/stemcell/mcuconf.h
new file mode 100644
index 0000000000..6afebade36
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v2/stemcell/mcuconf.h
@@ -0,0 +1,29 @@
+/*
+ * 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_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/tbkmini/v2/stemcell/rules.mk b/keyboards/bastardkb/tbkmini/v2/stemcell/rules.mk
new file mode 100644
index 0000000000..9b36bf7ed5
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v2/stemcell/rules.mk
@@ -0,0 +1,33 @@
+# 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
+
+SERIAL_DRIVER = usart
+WS2812_DRIVER = pwm
+
+DEBOUNCE_TYPE = asym_eager_defer_pk