forked from mirrors/qmk_userspace
		
	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:
		
					parent
					
						
							
								b8ac4dddb6
							
						
					
				
			
			
				commit
				
					
						896d9aa98c
					
				
			
		
					 13 changed files with 59 additions and 9 deletions
				
			
		| 
						 | 
					@ -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"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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)                                  |
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,2 @@
 | 
				
			||||||
 | 
					CONVERTER:=platforms/chibios/converters/elite_c_to_rp2040_ce
 | 
				
			||||||
 | 
					ACTIVE_CONVERTER:=rp2040_ce
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,2 @@
 | 
				
			||||||
 | 
					CONVERTER:=platforms/chibios/converters/elite_c_to_rp2040_ce
 | 
				
			||||||
 | 
					ACTIVE_CONVERTER:=rp2040_ce
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,2 @@
 | 
				
			||||||
 | 
					CONVERTER:=platforms/chibios/converters/promicro_to_rp2040_ce
 | 
				
			||||||
 | 
					ACTIVE_CONVERTER:=rp2040_ce
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,2 @@
 | 
				
			||||||
 | 
					CONVERTER:=platforms/chibios/converters/promicro_to_rp2040_ce
 | 
				
			||||||
 | 
					ACTIVE_CONVERTER:=rp2040_ce
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue