Add rp2040_ce and add elite-pi and helios as alias (#19830)

* add rp2040_ce and add elite-pi and helios as alias (#19628)

* fix git mishap

* Update platforms/chibios/converters/promicro_to_rp2040_ce/_pin_defs.h

Co-authored-by: Joel Challis <git@zvecr.com>

---------

Co-authored-by: Joel Challis <git@zvecr.com>

* Tidy docs

---------

Co-authored-by: Conor Burns <mail@conor-burns.com>
This commit is contained in:
Joel Challis 2023-02-12 23:02:05 +00:00 committed by GitHub
parent b8ac4dddb6
commit 896d9aa98c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 59 additions and 9 deletions

View file

@ -69,6 +69,11 @@
"processor": "STM32F411", "processor": "STM32F411",
"bootloader": "stm32-dfu", "bootloader": "stm32-dfu",
"board": "BONSAI_C4" "board": "BONSAI_C4"
},
"helios": {
"processor": "RP2040",
"bootloader": "rp2040",
"board": "QMK_PM2040"
} }
} }
} }

View file

@ -34,7 +34,7 @@
}, },
"development_board": { "development_board": {
"type": "string", "type": "string",
"enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "michi", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4"] "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"]
}, },
"pin_compatible": { "pin_compatible": {
"type": "string", "type": "string",

View file

@ -18,9 +18,14 @@ Currently the following converters are available:
| `promicro` | `stemcell` | | `promicro` | `stemcell` |
| `promicro` | `bonsai_c4` | | `promicro` | `bonsai_c4` |
| `promicro` | `elite_pi` | | `promicro` | `elite_pi` |
| `promicro` | `rp2040_ce` |
| `promicro` | `elite_pi` |
| `promicro` | `helios` |
| `promicro` | `michi` | | `promicro` | `michi` |
| `elite_c` | `stemcell` | | `elite_c` | `stemcell` |
| `elite_c` | `rp2040_ce` |
| `elite_c` | `elite_pi` | | `elite_c` | `elite_pi` |
| `elite_c` | `helios` |
See below for more in depth information on each converter. See below for more in depth information on each converter.
@ -82,6 +87,7 @@ If a board currently supported in QMK uses a [Pro Micro](https://www.sparkfun.co
| [STeMCell](https://github.com/megamind4089/STeMCell) | `stemcell` | | [STeMCell](https://github.com/megamind4089/STeMCell) | `stemcell` |
| [customMK Bonsai C4](https://shop.custommk.com/products/bonsai-c4-microcontroller-board) | `bonsai_c4` | | [customMK Bonsai C4](https://shop.custommk.com/products/bonsai-c4-microcontroller-board) | `bonsai_c4` |
| [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) | `elite_pi` | | [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) | `elite_pi` |
| [0xCB Helios](https://keeb.supply/products/0xcb-helios) | `helios` |
| [Michi](https://github.com/ci-bus/michi-promicro-rp2040) | `michi` | | [Michi](https://github.com/ci-bus/michi-promicro-rp2040) | `michi` |
Converter summary: Converter summary:
@ -95,7 +101,9 @@ Converter summary:
| `bit_c_pro` | `-e CONVERT_TO=bit_c_pro` | `CONVERT_TO=bit_c_pro` | `#ifdef CONVERT_TO_BIT_C_PRO` | | `bit_c_pro` | `-e CONVERT_TO=bit_c_pro` | `CONVERT_TO=bit_c_pro` | `#ifdef CONVERT_TO_BIT_C_PRO` |
| `stemcell` | `-e CONVERT_TO=stemcell` | `CONVERT_TO=stemcell` | `#ifdef CONVERT_TO_STEMCELL` | | `stemcell` | `-e CONVERT_TO=stemcell` | `CONVERT_TO=stemcell` | `#ifdef CONVERT_TO_STEMCELL` |
| `bonsai_c4` | `-e CONVERT_TO=bonsai_c4` | `CONVERT_TO=bonsai_c4` | `#ifdef CONVERT_TO_BONSAI_C4` | | `bonsai_c4` | `-e CONVERT_TO=bonsai_c4` | `CONVERT_TO=bonsai_c4` | `#ifdef CONVERT_TO_BONSAI_C4` |
| `rp2040_ce` | `-e CONVERT_TO=rp2040_ce` | `CONVERT_TO=rp2040_ce` | `#ifdef CONVERT_TO_RP2040_CE` |
| `elite_pi` | `-e CONVERT_TO=elite_pi` | `CONVERT_TO=elite_pi` | `#ifdef CONVERT_TO_ELITE_PI` | | `elite_pi` | `-e CONVERT_TO=elite_pi` | `CONVERT_TO=elite_pi` | `#ifdef CONVERT_TO_ELITE_PI` |
| `helios` | `-e CONVERT_TO=helios` | `CONVERT_TO=helios` | `#ifdef CONVERT_TO_HELIOS` |
| `michi` | `-e CONVERT_TO=michi` | `CONVERT_TO=michi` | `#ifdef CONVERT_TO_MICHI` | | `michi` | `-e CONVERT_TO=michi` | `CONVERT_TO=michi` | `#ifdef CONVERT_TO_MICHI` |
### Proton C :id=proton_c ### Proton C :id=proton_c
@ -127,7 +135,7 @@ The following defaults are based on what has been implemented for [RP2040](platf
| USB Host (e.g. USB-USB converter) | Not supported (USB host code is AVR specific and is not currently supported on ARM) | | USB Host (e.g. USB-USB converter) | Not supported (USB host code is AVR specific and is not currently supported on ARM) |
| [Split keyboards](feature_split_keyboard.md) | Partial via `PIO` vendor driver - heavily dependent on enabled features | | [Split keyboards](feature_split_keyboard.md) | Partial via `PIO` vendor driver - heavily dependent on enabled features |
### SparkFun Pro Micro - RP2040, Blok, Bit-C PRO, Elite-Pi and Michi :id=promicro_rp2040 ### SparkFun Pro Micro - RP2040, Blok, Bit-C PRO and Michi :id=promicro_rp2040
Currently identical to [Adafruit KB2040](#kb2040). Currently identical to [Adafruit KB2040](#kb2040).
@ -156,10 +164,18 @@ The Bonsai C4 only has one on-board LED (B2), and by default, both the Pro Micro
```c ```c
#undef B0 #undef B0
// If Vbus detection is unused, we can send RXLED to the Vbus detect pin instead // If VBUS detection is unused, we can send RXLED to the Vbus detect pin instead
#define B0 PAL_LINE(GPIOA, 9) #define B0 PAL_LINE(GPIOA, 9)
``` ```
### RP2040 Community Edition - Elite-Pi and Helios :id=rp2040_ce
Feature set currently identical to [Adafruit KB2040](#kb2040).
Enables VBUS detection by default for superior split keyboard support.
For more information, refer to the [RP2040 Community Edition](platformdev_rp2040.md#rp2040_ce) docs.
## Elite-C ## Elite-C
If a board currently supported in QMK uses an [Elite-C](https://keeb.io/products/elite-c-low-profile-version-usb-c-pro-micro-replacement-atmega32u4), the supported alternative controllers are: If a board currently supported in QMK uses an [Elite-C](https://keeb.io/products/elite-c-low-profile-version-usb-c-pro-micro-replacement-atmega32u4), the supported alternative controllers are:
@ -168,18 +184,21 @@ If a board currently supported in QMK uses an [Elite-C](https://keeb.io/products
|----------------------------------------------------------------------------------|-------------------| |----------------------------------------------------------------------------------|-------------------|
| [STeMCell](https://github.com/megamind4089/STeMCell) | `stemcell` | | [STeMCell](https://github.com/megamind4089/STeMCell) | `stemcell` |
| [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) | `elite_pi` | | [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) | `elite_pi` |
| [0xCB Helios](https://keeb.supply/products/0xcb-helios) | `helios` |
Converter summary: Converter summary:
| Target | Argument | `rules.mk` | Condition | | Target | Argument | `rules.mk` | Condition |
|-------------------|---------------------------------|------------------------------|-------------------------------------| |-------------------|---------------------------------|------------------------------|-------------------------------------|
| `stemcell` | `-e CONVERT_TO=stemcell` | `CONVERT_TO=stemcell` | `#ifdef CONVERT_TO_STEMCELL` | | `stemcell` | `-e CONVERT_TO=stemcell` | `CONVERT_TO=stemcell` | `#ifdef CONVERT_TO_STEMCELL` |
| `rp2040_ce` | `-e CONVERT_TO=rp2040_ce` | `CONVERT_TO=rp2040_ce` | `#ifdef CONVERT_TO_RP2040_CE` |
| `elite_pi` | `-e CONVERT_TO=elite_pi` | `CONVERT_TO=elite_pi` | `#ifdef CONVERT_TO_ELITE_PI` | | `elite_pi` | `-e CONVERT_TO=elite_pi` | `CONVERT_TO=elite_pi` | `#ifdef CONVERT_TO_ELITE_PI` |
| `helios` | `-e CONVERT_TO=helios` | `CONVERT_TO=helios` | `#ifdef CONVERT_TO_HELIOS` |
### STeMCell :id=stemcell_elite ### STeMCell :id=stemcell_elite
Currently identical to [STeMCell](#stemcell) with support for the additional bottom row of pins. Currently identical to [STeMCell](#stemcell) with support for the additional bottom row of pins.
### Elite-Pi :id=elite_pi ### RP2040 Community Edition :id=rp2040_ce_elite
Currently identical to [Adafruit KB2040](#kb2040), with support for the additional bottom row of pins. Currently identical to [RP2040 Community Edition](#rp2040_ce), with support for the additional bottom row of pins.

View file

@ -124,3 +124,18 @@ As the RP2040 does not have any internal flash memory it depends on an external
| W25X10CL | `#define RP2040_FLASH_W25X10CL` | | W25X10CL | `#define RP2040_FLASH_W25X10CL` |
| IS25LP080 | `#define RP2040_FLASH_IS25LP080` | | IS25LP080 | `#define RP2040_FLASH_IS25LP080` |
| Generic 03H flash | `#define RP2040_FLASH_GENERIC_03H` | | Generic 03H flash | `#define RP2040_FLASH_GENERIC_03H` |
## RP2040 Community Edition :id=rp2040_ce
The "RP2040 Community Edition" standard is a pinout that was defined by a committee of designers on the BastardKB Discord server.
These boards are designed to be a drop-in replacement for keyboards wanting an upgrade from ATmega32u4 based pro micros (eg. Elite-C).
| Pinout Compatible Controllers |
| -------------------------------------------------------------------------------- |
| [0xB2 Splinky](https://github.com/plut0nium/0xB2/) |
| [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) |
| [Sea-Picro EXT](https://github.com/joshajohnson/sea-picro) |
| [0xCB Helios](https://keeb.supply/products/0xcb-helios) |
| [Frood](https://github.com/piit79/Frood) |
| [Liatris](https://splitkb.com/products/liatris) |

View file

@ -193,6 +193,7 @@ That said, there are a number of Pro Micro replacements with ARM controllers:
* [SparkFun Pro Micro - RP2040](https://www.sparkfun.com/products/18288) * [SparkFun Pro Micro - RP2040](https://www.sparkfun.com/products/18288)
* [Blok](https://boardsource.xyz/store/628b95b494dfa308a6581622) * [Blok](https://boardsource.xyz/store/628b95b494dfa308a6581622)
* [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) * [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040)
* [0xCB Helios](https://keeb.supply/products/0xcb-helios) ([Open Source](https://github.com/0xCB-dev/0xCB-Helios), DIY/PCBA/Shop)
* [Michi](https://github.com/ci-bus/michi-promicro-rp2040) * [Michi](https://github.com/ci-bus/michi-promicro-rp2040)
There are other, non-Pro Micro compatible boards out there. The most popular being: There are other, non-Pro Micro compatible boards out there. The most popular being:

View file

@ -0,0 +1,2 @@
CONVERTER:=platforms/chibios/converters/elite_c_to_rp2040_ce
ACTIVE_CONVERTER:=rp2040_ce

View file

@ -0,0 +1,2 @@
CONVERTER:=platforms/chibios/converters/elite_c_to_rp2040_ce
ACTIVE_CONVERTER:=rp2040_ce

View file

@ -1,4 +1,4 @@
// Copyright 2022 QMK // Copyright 2023 QMK
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once

View file

@ -1,4 +1,4 @@
# Elite-Pi MCU settings for converting AVR projects # rp2040_ce MCU settings for converting AVR projects
MCU := RP2040 MCU := RP2040
BOARD := QMK_PM2040 BOARD := QMK_PM2040
BOOTLOADER := rp2040 BOOTLOADER := rp2040
@ -7,3 +7,4 @@ BOOTLOADER := rp2040
SERIAL_DRIVER ?= vendor SERIAL_DRIVER ?= vendor
WS2812_DRIVER ?= vendor WS2812_DRIVER ?= vendor
BACKLIGHT_DRIVER ?= software BACKLIGHT_DRIVER ?= software
OPT_DEFS += -DUSB_VBUS_PIN=19U

View file

@ -0,0 +1,2 @@
CONVERTER:=platforms/chibios/converters/promicro_to_rp2040_ce
ACTIVE_CONVERTER:=rp2040_ce

View file

@ -0,0 +1,2 @@
CONVERTER:=platforms/chibios/converters/promicro_to_rp2040_ce
ACTIVE_CONVERTER:=rp2040_ce

View file

@ -1,4 +1,4 @@
// Copyright 2022 QMK // Copyright 2023 QMK
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once

View file

@ -1,4 +1,4 @@
# Elite-Pi MCU settings for converting AVR projects # rp2040_ce MCU settings for converting AVR projects
MCU := RP2040 MCU := RP2040
BOARD := QMK_PM2040 BOARD := QMK_PM2040
BOOTLOADER := rp2040 BOOTLOADER := rp2040
@ -7,3 +7,4 @@ BOOTLOADER := rp2040
SERIAL_DRIVER ?= vendor SERIAL_DRIVER ?= vendor
WS2812_DRIVER ?= vendor WS2812_DRIVER ?= vendor
BACKLIGHT_DRIVER ?= software BACKLIGHT_DRIVER ?= software
OPT_DEFS += -DUSB_VBUS_PIN=19U