summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorleah-splitkb <103112489+leah-splitkb@users.noreply.github.com>2023-11-28 07:53:47 +0100
committerGitHub <noreply@github.com>2023-11-28 17:53:47 +1100
commit2450fe28ee00a816be02fc770cceae8deb2b2f1d (patch)
tree8cd0aafeb9eb69ec4be300d1ba7d2cfb4b5f7538
parentea8d2ffe31763943805c641d502f060094db0cf1 (diff)
Add Imera converter (#22419)
-rw-r--r--data/mappings/defaults.hjson5
-rw-r--r--data/schemas/keyboard.jsonschema2
-rw-r--r--docs/feature_converters.md3
-rw-r--r--docs/squeezing_avr.md1
-rw-r--r--platforms/chibios/converters/promicro_to_imera/_pin_defs.h36
-rw-r--r--platforms/chibios/converters/promicro_to_imera/converter.mk10
6 files changed, 56 insertions, 1 deletions
diff --git a/data/mappings/defaults.hjson b/data/mappings/defaults.hjson
index 2bb00da223..8bf5b8ebcb 100644
--- a/data/mappings/defaults.hjson
+++ b/data/mappings/defaults.hjson
@@ -79,6 +79,11 @@
79 "processor": "RP2040", 79 "processor": "RP2040",
80 "bootloader": "rp2040", 80 "bootloader": "rp2040",
81 "board": "QMK_PM2040" 81 "board": "QMK_PM2040"
82 },
83 "imera": {
84 "processor": "RP2040",
85 "bootloader": "rp2040",
86 "board": "QMK_PM2040"
82 } 87 }
83 } 88 }
84} 89}
diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema
index 2996958084..32d737a1d8 100644
--- a/data/schemas/keyboard.jsonschema
+++ b/data/schemas/keyboard.jsonschema
@@ -43,7 +43,7 @@
43 }, 43 },
44 "development_board": { 44 "development_board": {
45 "type": "string", 45 "type": "string",
46 "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"] 46 "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"]
47 }, 47 },
48 "pin_compatible": { 48 "pin_compatible": {
49 "type": "string", 49 "type": "string",
diff --git a/docs/feature_converters.md b/docs/feature_converters.md
index 11bdbed576..62c214e246 100644
--- a/docs/feature_converters.md
+++ b/docs/feature_converters.md
@@ -19,6 +19,7 @@ The following converters are available at this time:
19| `promicro` | `elite_pi` | 19| `promicro` | `elite_pi` |
20| `promicro` | `helios` | 20| `promicro` | `helios` |
21| `promicro` | `liatris` | 21| `promicro` | `liatris` |
22| `promicro` | `imera` |
22| `promicro` | `michi` | 23| `promicro` | `michi` |
23| `elite_c` | `stemcell` | 24| `elite_c` | `stemcell` |
24| `elite_c` | `rp2040_ce` | 25| `elite_c` | `rp2040_ce` |
@@ -82,6 +83,7 @@ If a board currently supported in QMK uses a [Pro Micro](https://www.sparkfun.co
82| [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) | `elite_pi` | 83| [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) | `elite_pi` |
83| [0xCB Helios](https://keeb.supply/products/0xcb-helios) | `helios` | 84| [0xCB Helios](https://keeb.supply/products/0xcb-helios) | `helios` |
84| [Liatris](https://splitkb.com/products/liatris) | `liatris` | 85| [Liatris](https://splitkb.com/products/liatris) | `liatris` |
86| [Imera](https://splitkb.com/products/imera) | `imera` |
85| [Michi](https://github.com/ci-bus/michi-promicro-rp2040) | `michi` | 87| [Michi](https://github.com/ci-bus/michi-promicro-rp2040) | `michi` |
86 88
87Converter summary: 89Converter summary:
@@ -99,6 +101,7 @@ Converter summary:
99| `elite_pi` | `-e CONVERT_TO=elite_pi` | `CONVERT_TO=elite_pi` | `#ifdef CONVERT_TO_ELITE_PI` | 101| `elite_pi` | `-e CONVERT_TO=elite_pi` | `CONVERT_TO=elite_pi` | `#ifdef CONVERT_TO_ELITE_PI` |
100| `helios` | `-e CONVERT_TO=helios` | `CONVERT_TO=helios` | `#ifdef CONVERT_TO_HELIOS` | 102| `helios` | `-e CONVERT_TO=helios` | `CONVERT_TO=helios` | `#ifdef CONVERT_TO_HELIOS` |
101| `liatris` | `-e CONVERT_TO=liatris` | `CONVERT_TO=liatris` | `#ifdef CONVERT_TO_LIATRIS` | 103| `liatris` | `-e CONVERT_TO=liatris` | `CONVERT_TO=liatris` | `#ifdef CONVERT_TO_LIATRIS` |
104| `imera` | `-e CONVERT_TO=imera` | `CONVERT_TO=imera` | `#ifdef CONVERT_TO_IMERA` |
102| `michi` | `-e CONVERT_TO=michi` | `CONVERT_TO=michi` | `#ifdef CONVERT_TO_MICHI` | 105| `michi` | `-e CONVERT_TO=michi` | `CONVERT_TO=michi` | `#ifdef CONVERT_TO_MICHI` |
103 106
104### Proton C :id=proton_c 107### Proton C :id=proton_c
diff --git a/docs/squeezing_avr.md b/docs/squeezing_avr.md
index af015b4b18..c3b9e5595e 100644
--- a/docs/squeezing_avr.md
+++ b/docs/squeezing_avr.md
@@ -210,6 +210,7 @@ That said, there are a number of Pro Micro replacements with ARM controllers:
210* [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) 210* [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040)
211* [0xCB Helios](https://keeb.supply/products/0xcb-helios) ([Open Source](https://github.com/0xCB-dev/0xCB-Helios), DIY/PCBA/Shop) 211* [0xCB Helios](https://keeb.supply/products/0xcb-helios) ([Open Source](https://github.com/0xCB-dev/0xCB-Helios), DIY/PCBA/Shop)
212* [Liatris](https://splitkb.com/products/liatris) 212* [Liatris](https://splitkb.com/products/liatris)
213* [Imera](https://splitkb.com/products/imera)
213* [Michi](https://github.com/ci-bus/michi-promicro-rp2040) 214* [Michi](https://github.com/ci-bus/michi-promicro-rp2040)
214 215
215There are other, non-Pro Micro compatible boards out there. The most popular being: 216There are other, non-Pro Micro compatible boards out there. The most popular being:
diff --git a/platforms/chibios/converters/promicro_to_imera/_pin_defs.h b/platforms/chibios/converters/promicro_to_imera/_pin_defs.h
new file mode 100644
index 0000000000..475a84d697
--- /dev/null
+++ b/platforms/chibios/converters/promicro_to_imera/_pin_defs.h
@@ -0,0 +1,36 @@
1// Copyright 2023 splitkb.com
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 17U
28#define F7 16U
29#define B1 22U
30#define B3 20U
31#define B2 23U
32#define B6 21U
33
34// LEDs
35#define D5 24U // Power LED, default-on
36#define B0 18U // Unconnected
diff --git a/platforms/chibios/converters/promicro_to_imera/converter.mk b/platforms/chibios/converters/promicro_to_imera/converter.mk
new file mode 100644
index 0000000000..bfca20cd99
--- /dev/null
+++ b/platforms/chibios/converters/promicro_to_imera/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