Przeglądaj źródła

Add Imera converter (#22419)

leah-splitkb 2 lat temu
rodzic
commit
2450fe28ee

+ 5 - 0
data/mappings/defaults.hjson

@@ -79,6 +79,11 @@
             "processor": "RP2040",
             "processor": "RP2040",
             "bootloader": "rp2040",
             "bootloader": "rp2040",
             "board": "QMK_PM2040"
             "board": "QMK_PM2040"
+        },
+        "imera": {
+            "processor": "RP2040",
+            "bootloader": "rp2040",
+            "board": "QMK_PM2040"
         }
         }
     }
     }
 }
 }

+ 1 - 1
data/schemas/keyboard.jsonschema

@@ -43,7 +43,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", "helios", "liatris"]
+            "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"]
         },
         },
         "pin_compatible": {
         "pin_compatible": {
             "type": "string",
             "type": "string",

+ 3 - 0
docs/feature_converters.md

@@ -19,6 +19,7 @@ The following converters are available at this time:
 | `promicro` | `elite_pi`        |
 | `promicro` | `elite_pi`        |
 | `promicro` | `helios`          |
 | `promicro` | `helios`          |
 | `promicro` | `liatris`         |
 | `promicro` | `liatris`         |
+| `promicro` | `imera`           |
 | `promicro` | `michi`           |
 | `promicro` | `michi`           |
 | `elite_c`  | `stemcell`        |
 | `elite_c`  | `stemcell`        |
 | `elite_c`  | `rp2040_ce`       |
 | `elite_c`  | `rp2040_ce`       |
@@ -82,6 +83,7 @@ If a board currently supported in QMK uses a [Pro Micro](https://www.sparkfun.co
 | [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`          |
 | [0xCB Helios](https://keeb.supply/products/0xcb-helios)                                  | `helios`          |
 | [Liatris](https://splitkb.com/products/liatris)                                          | `liatris`         |
 | [Liatris](https://splitkb.com/products/liatris)                                          | `liatris`         |
+| [Imera](https://splitkb.com/products/imera)                                              | `imera`           |
 | [Michi](https://github.com/ci-bus/michi-promicro-rp2040)                                 | `michi`           |
 | [Michi](https://github.com/ci-bus/michi-promicro-rp2040)                                 | `michi`           |
 
 
 Converter summary:
 Converter summary:
@@ -99,6 +101,7 @@ Converter summary:
 | `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`          |
 | `helios`          | `-e CONVERT_TO=helios`          | `CONVERT_TO=helios`          | `#ifdef CONVERT_TO_HELIOS`          |
 | `liatris`         | `-e CONVERT_TO=liatris`         | `CONVERT_TO=liatris`         | `#ifdef CONVERT_TO_LIATRIS`         |
 | `liatris`         | `-e CONVERT_TO=liatris`         | `CONVERT_TO=liatris`         | `#ifdef CONVERT_TO_LIATRIS`         |
+| `imera`           | `-e CONVERT_TO=imera`           | `CONVERT_TO=imera`           | `#ifdef CONVERT_TO_IMERA`           |
 | `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

+ 1 - 0
docs/squeezing_avr.md

@@ -210,6 +210,7 @@ That said, there are a number of Pro Micro replacements with ARM controllers:
 * [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)
 * [0xCB Helios](https://keeb.supply/products/0xcb-helios) ([Open Source](https://github.com/0xCB-dev/0xCB-Helios), DIY/PCBA/Shop)
 * [Liatris](https://splitkb.com/products/liatris)
 * [Liatris](https://splitkb.com/products/liatris)
+* [Imera](https://splitkb.com/products/imera)
 * [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:

+ 36 - 0
platforms/chibios/converters/promicro_to_imera/_pin_defs.h

@@ -0,0 +1,36 @@
+// Copyright 2023 splitkb.com
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+// Left side (front)
+#define D3 0U
+#define D2 1U
+//      GND
+//      GND
+#define D1 2U
+#define D0 3U
+#define D4 4U
+#define C6 5U
+#define D7 6U
+#define E6 7U
+#define B4 8U
+#define B5 9U
+
+// Right side (front)
+//      RAW
+//      GND
+//      RESET
+//      VCC
+#define F4 29U
+#define F5 28U
+#define F6 17U
+#define F7 16U
+#define B1 22U
+#define B3 20U
+#define B2 23U
+#define B6 21U
+
+// LEDs
+#define D5 24U // Power LED, default-on
+#define B0 18U // Unconnected

+ 10 - 0
platforms/chibios/converters/promicro_to_imera/converter.mk

@@ -0,0 +1,10 @@
+# rp2040_ce MCU settings for converting AVR projects
+MCU := RP2040
+BOARD := QMK_PM2040
+BOOTLOADER := rp2040
+
+# These are defaults based on what has been implemented for RP2040 boards
+SERIAL_DRIVER ?= vendor
+WS2812_DRIVER ?= vendor
+BACKLIGHT_DRIVER ?= software
+OPT_DEFS += -DUSB_VBUS_PIN=19U