summaryrefslogtreecommitdiff
path: root/lib/python/qmk/constants.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python/qmk/constants.py')
-rw-r--r--lib/python/qmk/constants.py63
1 files changed, 55 insertions, 8 deletions
diff --git a/lib/python/qmk/constants.py b/lib/python/qmk/constants.py
index a54d9058bc..8a13029a8a 100644
--- a/lib/python/qmk/constants.py
+++ b/lib/python/qmk/constants.py
@@ -14,12 +14,13 @@ QMK_FIRMWARE_UPSTREAM = 'qmk/qmk_firmware'
MAX_KEYBOARD_SUBFOLDERS = 5
# Supported processor types
-CHIBIOS_PROCESSORS = 'cortex-m0', 'cortex-m0plus', 'cortex-m3', 'cortex-m4', 'MKL26Z64', 'MK20DX128', 'MK20DX256', 'MK66FX1M0', 'STM32F042', 'STM32F072', 'STM32F103', 'STM32F303', 'STM32F401', 'STM32F405', 'STM32F407', 'STM32F411', 'STM32F446', 'STM32G431', 'STM32G474', 'STM32L412', 'STM32L422', 'STM32L432', 'STM32L433', 'STM32L442', 'STM32L443', 'GD32VF103', 'WB32F3G71', 'WB32FQ95'
+CHIBIOS_PROCESSORS = 'cortex-m0', 'cortex-m0plus', 'cortex-m3', 'cortex-m4', 'MKL26Z64', 'MK20DX128', 'MK20DX256', 'MK64FX512', 'MK66FX1M0', 'RP2040', 'STM32F042', 'STM32F072', 'STM32F103', 'STM32F303', 'STM32F401', 'STM32F405', 'STM32F407', 'STM32F411', 'STM32F446', 'STM32G431', 'STM32G474', 'STM32L412', 'STM32L422', 'STM32L432', 'STM32L433', 'STM32L442', 'STM32L443', 'GD32VF103', 'WB32F3G71', 'WB32FQ95'
LUFA_PROCESSORS = 'at90usb162', 'atmega16u2', 'atmega32u2', 'atmega16u4', 'atmega32u4', 'at90usb646', 'at90usb647', 'at90usb1286', 'at90usb1287', None
VUSB_PROCESSORS = 'atmega32a', 'atmega328p', 'atmega328', 'attiny85'
# Bootloaders of the supported processors
MCU2BOOTLOADER = {
+ "RP2040": "rp2040",
"MKL26Z64": "halfkay",
"MK20DX128": "halfkay",
"MK20DX256": "halfkay",
@@ -58,6 +59,59 @@ MCU2BOOTLOADER = {
"atmega328": "usbasploader",
}
+# Map of legacy keycodes that can be automatically updated
+LEGACY_KEYCODES = { # Comment here is to force multiline formatting
+ 'RESET': 'QK_BOOT'
+}
+
+# Map VID:PID values to bootloaders
+BOOTLOADER_VIDS_PIDS = {
+ 'atmel-dfu': {
+ ("03eb", "2fef"), # ATmega16U2
+ ("03eb", "2ff0"), # ATmega32U2
+ ("03eb", "2ff3"), # ATmega16U4
+ ("03eb", "2ff4"), # ATmega32U4
+ ("03eb", "2ff9"), # AT90USB64
+ ("03eb", "2ffa"), # AT90USB162
+ ("03eb", "2ffb") # AT90USB128
+ },
+ 'kiibohd': {("1c11", "b007")},
+ 'stm32-dfu': {
+ ("1eaf", "0003"), # STM32duino
+ ("0483", "df11") # STM32 DFU
+ },
+ 'apm32-dfu': {("314b", "0106")},
+ 'gd32v-dfu': {("28e9", "0189")},
+ 'bootloadhid': {("16c0", "05df")},
+ 'usbasploader': {("16c0", "05dc")},
+ 'usbtinyisp': {("1782", "0c9f")},
+ 'md-boot': {("03eb", "6124")},
+ 'caterina': {
+ # pid.codes shared PID
+ ("1209", "2302"), # Keyboardio Atreus 2 Bootloader
+ # Spark Fun Electronics
+ ("1b4f", "9203"), # Pro Micro 3V3/8MHz
+ ("1b4f", "9205"), # Pro Micro 5V/16MHz
+ ("1b4f", "9207"), # LilyPad 3V3/8MHz (and some Pro Micro clones)
+ # Pololu Electronics
+ ("1ffb", "0101"), # A-Star 32U4
+ # Arduino SA
+ ("2341", "0036"), # Leonardo
+ ("2341", "0037"), # Micro
+ # Adafruit Industries LLC
+ ("239a", "000c"), # Feather 32U4
+ ("239a", "000d"), # ItsyBitsy 32U4 3V3/8MHz
+ ("239a", "000e"), # ItsyBitsy 32U4 5V/16MHz
+ # dog hunter AG
+ ("2a03", "0036"), # Leonardo
+ ("2a03", "0037") # Micro
+ },
+ 'hid-bootloader': {
+ ("03eb", "2067"), # QMK HID
+ ("16c0", "0478") # PJRC halfkay
+ }
+}
+
# Common format strings
DATE_FORMAT = '%Y-%m-%d'
DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S %Z'
@@ -67,13 +121,6 @@ TIME_FORMAT = '%H:%M:%S'
COL_LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijilmnopqrstuvwxyz'
ROW_LETTERS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnop'
-# Mapping between info.json and config.h keys
-LED_INDICATORS = {
- 'caps_lock': 'LED_CAPS_LOCK_PIN',
- 'num_lock': 'LED_NUM_LOCK_PIN',
- 'scroll_lock': 'LED_SCROLL_LOCK_PIN',
-}
-
# Constants that should match their counterparts in make
BUILD_DIR = environ.get('BUILD_DIR', '.build')
KEYBOARD_OUTPUT_PREFIX = f'{BUILD_DIR}/obj_'