Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 3 commits into from
Feb 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions data/mappings/defaults.hjson
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,11 @@
"processor": "STM32F411",
"bootloader": "stm32-dfu",
"board": "BONSAI_C4"
},
"helios": {
"processor": "RP2040",
"bootloader": "rp2040",
"board": "QMK_PM2040"
}
}
}
2 changes: 1 addition & 1 deletion data/schemas/keyboard.jsonschema
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
},
"development_board": {
"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": {
"type": "string",
Expand Down
27 changes: 23 additions & 4 deletions docs/feature_converters.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,14 @@ Currently the following converters are available:
| `promicro` | `stemcell` |
| `promicro` | `bonsai_c4` |
| `promicro` | `elite_pi` |
| `promicro` | `rp2040_ce` |
| `promicro` | `elite_pi` |
| `promicro` | `helios` |
| `promicro` | `michi` |
| `elite_c` | `stemcell` |
| `elite_c` | `rp2040_ce` |
| `elite_c` | `elite_pi` |
| `elite_c` | `helios` |

See below for more in depth information on each converter.

Expand Down Expand Up @@ -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` |
| [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` |
| [0xCB Helios](https://keeb.supply/products/0xcb-helios) | `helios` |
| [Michi](https://github.com/ci-bus/michi-promicro-rp2040) | `michi` |

Converter summary:
Expand All @@ -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` |
| `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` |
| `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` |
| `helios` | `-e CONVERT_TO=helios` | `CONVERT_TO=helios` | `#ifdef CONVERT_TO_HELIOS` |
| `michi` | `-e CONVERT_TO=michi` | `CONVERT_TO=michi` | `#ifdef CONVERT_TO_MICHI` |

### Proton C :id=proton_c
Expand Down Expand Up @@ -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) |
| [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).

Expand Down Expand Up @@ -156,10 +164,18 @@ The Bonsai C4 only has one on-board LED (B2), and by default, both the Pro Micro

```c
#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)
```

### 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

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:
Expand All @@ -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` |
| [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:

| Target | Argument | `rules.mk` | Condition |
|-------------------|---------------------------------|------------------------------|-------------------------------------|
| `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` |
| `helios` | `-e CONVERT_TO=helios` | `CONVERT_TO=helios` | `#ifdef CONVERT_TO_HELIOS` |

### STeMCell :id=stemcell_elite

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.
15 changes: 15 additions & 0 deletions docs/platformdev_rp2040.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,3 +124,18 @@ As the RP2040 does not have any internal flash memory it depends on an external
| W25X10CL | `#define RP2040_FLASH_W25X10CL` |
| IS25LP080 | `#define RP2040_FLASH_IS25LP080` |
| 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) |
1 change: 1 addition & 0 deletions docs/squeezing_avr.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
* [Blok](https://boardsource.xyz/store/628b95b494dfa308a6581622)
* [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)

There are other, non-Pro Micro compatible boards out there. The most popular being:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
CONVERTER:=platforms/chibios/converters/elite_c_to_rp2040_ce
ACTIVE_CONVERTER:=rp2040_ce
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
CONVERTER:=platforms/chibios/converters/elite_c_to_rp2040_ce
ACTIVE_CONVERTER:=rp2040_ce
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2022 QMK
// Copyright 2023 QMK
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Elite-Pi MCU settings for converting AVR projects
# rp2040_ce MCU settings for converting AVR projects
MCU := RP2040
BOARD := QMK_PM2040
BOOTLOADER := rp2040
Expand All @@ -7,3 +7,4 @@ BOOTLOADER := rp2040
SERIAL_DRIVER ?= vendor
WS2812_DRIVER ?= vendor
BACKLIGHT_DRIVER ?= software
OPT_DEFS += -DUSB_VBUS_PIN=19U
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
CONVERTER:=platforms/chibios/converters/promicro_to_rp2040_ce
ACTIVE_CONVERTER:=rp2040_ce
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
CONVERTER:=platforms/chibios/converters/promicro_to_rp2040_ce
ACTIVE_CONVERTER:=rp2040_ce
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2022 QMK
// Copyright 2023 QMK
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Elite-Pi MCU settings for converting AVR projects
# rp2040_ce MCU settings for converting AVR projects
MCU := RP2040
BOARD := QMK_PM2040
BOOTLOADER := rp2040
Expand All @@ -7,3 +7,4 @@ BOOTLOADER := rp2040
SERIAL_DRIVER ?= vendor
WS2812_DRIVER ?= vendor
BACKLIGHT_DRIVER ?= software
OPT_DEFS += -DUSB_VBUS_PIN=19U