mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-01-18 15:53:26 +00:00
Merge remote-tracking branch 'origin/develop' into xap
This commit is contained in:
commit
bb1bed38e7
@ -28,6 +28,12 @@
|
||||
"board": "QMK_PM2040",
|
||||
"pin_compatible": "promicro"
|
||||
},
|
||||
"blok": {
|
||||
"processor": "RP2040",
|
||||
"bootloader": "rp2040",
|
||||
"board": "QMK_PM2040",
|
||||
"pin_compatible": "promicro"
|
||||
},
|
||||
"bluepill": {
|
||||
"processor": "STM32F103",
|
||||
"bootloader": "stm32duino",
|
||||
@ -44,4 +50,4 @@
|
||||
"board": "BLACKPILL_STM32_F411"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -34,7 +34,7 @@
|
||||
},
|
||||
"development_board": {
|
||||
"type": "string",
|
||||
"enum": ["promicro", "elite_c", "proton_c", "kb2040", "promicro_rp2040", "bluepill", "blackpill_f401", "blackpill_f411"]
|
||||
"enum": ["promicro", "elite_c", "proton_c", "kb2040", "promicro_rp2040", "blok", "bluepill", "blackpill_f401", "blackpill_f411"]
|
||||
},
|
||||
"pin_compatible": {
|
||||
"type": "string",
|
||||
|
@ -13,6 +13,7 @@ Currently the following converters are available:
|
||||
| `promicro` | `proton_c` |
|
||||
| `promicro` | `kb2040` |
|
||||
| `promicro` | `promicro_rp2040` |
|
||||
| `promicro` | `blok` |
|
||||
|
||||
See below for more in depth information on each converter.
|
||||
|
||||
@ -52,6 +53,7 @@ If a board currently supported in QMK uses a [Pro Micro](https://www.sparkfun.co
|
||||
| [Proton C](https://qmk.fm/proton-c/) | `proton_c` |
|
||||
| [Adafruit KB2040](https://learn.adafruit.com/adafruit-kb2040) | `kb2040` |
|
||||
| [SparkFun Pro Micro - RP2040](https://www.sparkfun.com/products/18288) | `promicro_rp2040` |
|
||||
| [Blok](https://boardsource.xyz/store/628b95b494dfa308a6581622) | `blok` |
|
||||
|
||||
Converter summary:
|
||||
|
||||
@ -60,6 +62,7 @@ Converter summary:
|
||||
| `proton_c` | `-e CONVERT_TO=proton_c` | `CONVERT_TO=proton_c` | `#ifdef CONVERT_TO_PROTON_C` |
|
||||
| `kb2040` | `-e CONVERT_TO=kb2040` | `CONVERT_TO=kb2040` | `#ifdef CONVERT_TO_KB2040` |
|
||||
| `promicro_rp2040` | `-e CONVERT_TO=promicro_rp2040` | `CONVERT_TO=promicro_rp2040` | `#ifdef CONVERT_TO_PROMICRO_RP2040` |
|
||||
| `blok` | `-e CONVERT_TO=blok` | `CONVERT_TO=blok` | `#ifdef CONVERT_TO_BLOK` |
|
||||
|
||||
### Proton C :id=proton_c
|
||||
|
||||
@ -90,6 +93,6 @@ 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 :id=promicro_rp2040
|
||||
### SparkFun Pro Micro - RP2040 and Blok :id=promicro_rp2040
|
||||
|
||||
Currently identical to [Adafruit KB2040](#kb2040).
|
||||
|
36
platforms/chibios/converters/promicro_to_blok/_pin_defs.h
Normal file
36
platforms/chibios/converters/promicro_to_blok/_pin_defs.h
Normal file
@ -0,0 +1,36 @@
|
||||
// Copyright 2022 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
// Left side (front)
|
||||
#define D3 0U
|
||||
#define D2 1U
|
||||
// GND
|
||||
// GND
|
||||
#define D1 16U
|
||||
#define D0 17U
|
||||
#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 27U
|
||||
#define F7 26U
|
||||
#define B1 22U
|
||||
#define B3 20U
|
||||
#define B2 23U
|
||||
#define B6 21U
|
||||
|
||||
// LEDs (Mapped to unused pins to avoid collisions)
|
||||
#define D5 12U
|
||||
#define B0 13U
|
@ -0,0 +1,9 @@
|
||||
# Boardsource Blok 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
|
@ -397,6 +397,18 @@ void raw_hid_receive(uint8_t *data, uint8_t length) {
|
||||
dynamic_keymap_set_buffer(offset, size, &command_data[3]);
|
||||
break;
|
||||
}
|
||||
#ifdef ENCODER_MAP_ENABLE
|
||||
case id_dynamic_keymap_get_encoder: {
|
||||
uint16_t keycode = dynamic_keymap_get_encoder(command_data[0], command_data[1], command_data[2] != 0);
|
||||
command_data[3] = keycode >> 8;
|
||||
command_data[4] = keycode & 0xFF;
|
||||
break;
|
||||
}
|
||||
case id_dynamic_keymap_set_encoder: {
|
||||
dynamic_keymap_set_encoder(command_data[0], command_data[1], command_data[2] != 0, (command_data[3] << 8) | command_data[4]);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
default: {
|
||||
// The command ID is not known
|
||||
// Return the unhandled state
|
||||
|
@ -58,7 +58,7 @@
|
||||
|
||||
// This is changed only when the command IDs change,
|
||||
// so VIA Configurator can detect compatible firmware.
|
||||
#define VIA_PROTOCOL_VERSION 0x0009
|
||||
#define VIA_PROTOCOL_VERSION 0x000A
|
||||
|
||||
enum via_command_id {
|
||||
id_get_protocol_version = 0x01, // always 0x01
|
||||
@ -80,6 +80,8 @@ enum via_command_id {
|
||||
id_dynamic_keymap_get_layer_count = 0x11,
|
||||
id_dynamic_keymap_get_buffer = 0x12,
|
||||
id_dynamic_keymap_set_buffer = 0x13,
|
||||
id_dynamic_keymap_get_encoder = 0x14,
|
||||
id_dynamic_keymap_set_encoder = 0x15,
|
||||
id_unhandled = 0xFF,
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user