mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-12-28 12:09:16 +06:00
e50867d52d
* Add support for RISC-V builds and GD32VF103 MCU * Add toolchain selection in chibios.mk based on the mcu selected in mcu_selection.mk * Reorder and added comments to chibios.mk to have a streamlined makefile * Add GD32VF103 mcu to possible targets for QMK. * Add STM32 compatibility for GD32VF103 MCU, this is hacky but more efficent then rewriting every driver. * Add GigaDevice DFU bootloader as flash target, please note that dfu-util of at least version 0.10 is needed. * Add analog driver compatibility * Add apa102 bitbang driver compatibility * Add ws2812 bitbang driver compatibility * Add eeprom in flash emulation compatibility * Allow faster re-builds with ccache * Add SiPeed Longan Nano to platform files * Add SiPeed Longan Nano Onekeys * Make quine compatible with other bootloaders * Support builds with picolibc * Add risc-v toolchain to arch and debian/ubuntu scripts
39 lines
1.6 KiB
Python
39 lines
1.6 KiB
Python
"""Information that should be available to the python library.
|
|
"""
|
|
from os import environ
|
|
from pathlib import Path
|
|
|
|
# The root of the qmk_firmware tree.
|
|
QMK_FIRMWARE = Path.cwd()
|
|
|
|
# Upstream repo url
|
|
QMK_FIRMWARE_UPSTREAM = 'qmk/qmk_firmware'
|
|
|
|
# This is the number of directories under `qmk_firmware/keyboards` that will be traversed. This is currently a limitation of our make system.
|
|
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', 'STM32F407', 'STM32F411', 'STM32F446', 'STM32G431', 'STM32G474', 'STM32L412', 'STM32L422', 'STM32L433', 'STM32L443', 'GD32VF103'
|
|
LUFA_PROCESSORS = 'at90usb162', 'atmega16u2', 'atmega32u2', 'atmega16u4', 'atmega32u4', 'at90usb646', 'at90usb647', 'at90usb1286', 'at90usb1287', None
|
|
VUSB_PROCESSORS = 'atmega32a', 'atmega328p', 'atmega328', 'attiny85'
|
|
|
|
# Common format strings
|
|
DATE_FORMAT = '%Y-%m-%d'
|
|
DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S %Z'
|
|
TIME_FORMAT = '%H:%M:%S'
|
|
|
|
# Used when generating matrix locations
|
|
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_'
|