summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSadek Baroudi <sadekbaroudi@gmail.com>2024-10-11 16:16:25 -0700
committerGitHub <noreply@github.com>2024-10-12 00:16:25 +0100
commit9d17779832563dba59ad26c58b6aeabd1d4488d9 (patch)
tree7c0bac78fb6379e56654b5f659423cc04107aa2c
parent8844fba607fd73696f172ddf8d6c5868bb843359 (diff)
Add svlinky converter (#24449)
-rw-r--r--data/mappings/defaults.hjson5
-rw-r--r--data/schemas/keyboard.jsonschema2
-rw-r--r--docs/feature_converters.md6
-rw-r--r--platforms/chibios/converters/promicro_to_svlinky/_pin_defs.h36
-rw-r--r--platforms/chibios/converters/promicro_to_svlinky/converter.mk10
5 files changed, 58 insertions, 1 deletions
diff --git a/data/mappings/defaults.hjson b/data/mappings/defaults.hjson
index 71902c92d6..32322a0309 100644
--- a/data/mappings/defaults.hjson
+++ b/data/mappings/defaults.hjson
@@ -84,6 +84,11 @@
84 "board": "STEMCELL", 84 "board": "STEMCELL",
85 "bootloader": "tinyuf2", 85 "bootloader": "tinyuf2",
86 "processor": "STM32F411" 86 "processor": "STM32F411"
87 },
88 "svlinky": {
89 "board": "QMK_PM2040",
90 "bootloader": "rp2040",
91 "processor": "RP2040"
87 } 92 }
88 } 93 }
89} 94}
diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema
index 7649a8e31b..72a33f55ad 100644
--- a/data/schemas/keyboard.jsonschema
+++ b/data/schemas/keyboard.jsonschema
@@ -45,7 +45,7 @@
45 }, 45 },
46 "development_board": { 46 "development_board": {
47 "type": "string", 47 "type": "string",
48 "enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "michi", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4", "helios", "liatris", "imera"] 48 "enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "michi", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4", "helios", "liatris", "imera", "svlinky"]
49 }, 49 },
50 "pin_compatible": { 50 "pin_compatible": {
51 "type": "string", 51 "type": "string",
diff --git a/docs/feature_converters.md b/docs/feature_converters.md
index 0021c34e51..06cc7b3a11 100644
--- a/docs/feature_converters.md
+++ b/docs/feature_converters.md
@@ -21,6 +21,7 @@ The following converters are available at this time:
21| `promicro` | `liatris` | 21| `promicro` | `liatris` |
22| `promicro` | `imera` | 22| `promicro` | `imera` |
23| `promicro` | `michi` | 23| `promicro` | `michi` |
24| `promicro` | `svlinky` |
24| `elite_c` | `stemcell` | 25| `elite_c` | `stemcell` |
25| `elite_c` | `rp2040_ce` | 26| `elite_c` | `rp2040_ce` |
26| `elite_c` | `elite_pi` | 27| `elite_c` | `elite_pi` |
@@ -87,6 +88,7 @@ If a board currently supported in QMK uses a [Pro Micro](https://www.sparkfun.co
87| [Liatris](https://splitkb.com/products/liatris) | `liatris` | 88| [Liatris](https://splitkb.com/products/liatris) | `liatris` |
88| [Imera](https://splitkb.com/products/imera) | `imera` | 89| [Imera](https://splitkb.com/products/imera) | `imera` |
89| [Michi](https://github.com/ci-bus/michi-promicro-rp2040) | `michi` | 90| [Michi](https://github.com/ci-bus/michi-promicro-rp2040) | `michi` |
91| [Svlinky](https://github.com/sadekbaroudi/svlinky) | `svlinky` |
90 92
91Converter summary: 93Converter summary:
92 94
@@ -105,6 +107,7 @@ Converter summary:
105| `liatris` | `-e CONVERT_TO=liatris` | `CONVERT_TO=liatris` | `#ifdef CONVERT_TO_LIATRIS` | 107| `liatris` | `-e CONVERT_TO=liatris` | `CONVERT_TO=liatris` | `#ifdef CONVERT_TO_LIATRIS` |
106| `imera` | `-e CONVERT_TO=imera` | `CONVERT_TO=imera` | `#ifdef CONVERT_TO_IMERA` | 108| `imera` | `-e CONVERT_TO=imera` | `CONVERT_TO=imera` | `#ifdef CONVERT_TO_IMERA` |
107| `michi` | `-e CONVERT_TO=michi` | `CONVERT_TO=michi` | `#ifdef CONVERT_TO_MICHI` | 109| `michi` | `-e CONVERT_TO=michi` | `CONVERT_TO=michi` | `#ifdef CONVERT_TO_MICHI` |
110| `svlinky` | `-e CONVERT_TO=svlinky` | `CONVERT_TO=svlinky` | `#ifdef CONVERT_TO_SVLINKY` |
108 111
109### Proton C {#proton_c} 112### Proton C {#proton_c}
110 113
@@ -170,6 +173,9 @@ The Bonsai C4 only has one on-board LED (B2), and by default, both the Pro Micro
170 173
171Feature set is identical to [Adafruit KB2040](#kb2040). VBUS detection is enabled by default for superior split keyboard support. For more information, refer to the [Community Edition pinout](platformdev_rp2040#rp2040_ce) docs. 174Feature set is identical to [Adafruit KB2040](#kb2040). VBUS detection is enabled by default for superior split keyboard support. For more information, refer to the [Community Edition pinout](platformdev_rp2040#rp2040_ce) docs.
172 175
176### Svlinky {#svlinky}
177
178Feature set is a pro micro equivalent of the [RP2040 Community Edition](#rp2040_ce), except that two of the analog GPIO have been replaced with digital only GPIO. These two were moved to the FPC connector to support the [VIK specification](https://github.com/sadekbaroudi/vik). This means that if you are expecting analog support on all 4 pins as provided on a RP2040 Community Edition pinout, you will not have that. Please see the [Svlinky github page](https://github.com/sadekbaroudi/svlinky) for more details.
173 179
174## Elite-C 180## Elite-C
175 181
diff --git a/platforms/chibios/converters/promicro_to_svlinky/_pin_defs.h b/platforms/chibios/converters/promicro_to_svlinky/_pin_defs.h
new file mode 100644
index 0000000000..b90e5f4020
--- /dev/null
+++ b/platforms/chibios/converters/promicro_to_svlinky/_pin_defs.h
@@ -0,0 +1,36 @@
1// Copyright 2023 QMK
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#pragma once
5
6// Left side (front)
7#define D3 0U
8#define D2 1U
9// GND
10// GND
11#define D1 2U
12#define D0 3U
13#define D4 4U
14#define C6 5U
15#define D7 6U
16#define E6 7U
17#define B4 8U
18#define B5 9U
19
20// Right side (front)
21// RAW
22// GND
23// RESET
24// VCC
25#define F4 29U
26#define F5 28U
27#define F6 18U
28#define F7 24U
29#define B1 22U
30#define B3 20U
31#define B2 23U
32#define B6 21U
33
34// LEDs
35#define D5 17U
36#define B0 25U
diff --git a/platforms/chibios/converters/promicro_to_svlinky/converter.mk b/platforms/chibios/converters/promicro_to_svlinky/converter.mk
new file mode 100644
index 0000000000..bfca20cd99
--- /dev/null
+++ b/platforms/chibios/converters/promicro_to_svlinky/converter.mk
@@ -0,0 +1,10 @@
1# rp2040_ce MCU settings for converting AVR projects
2MCU := RP2040
3BOARD := QMK_PM2040
4BOOTLOADER := rp2040
5
6# These are defaults based on what has been implemented for RP2040 boards
7SERIAL_DRIVER ?= vendor
8WS2812_DRIVER ?= vendor
9BACKLIGHT_DRIVER ?= software
10OPT_DEFS += -DUSB_VBUS_PIN=19U