Add support for specifying BOARD in info.json (#11492)
* add support for specifying BOARD in info.json * move BOARD from rules.mk to info.json for clueboard * fix keyboards that do not require board * remove out of compliance valuesmaster
parent
54a8262dfe
commit
eaa9106ec7
|
@ -27,6 +27,11 @@
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": ["MK20DX128", "MK20DX256", "MKL26Z64", "STM32F042", "STM32F072", "STM32F103", "STM32F303", "STM32F401", "STM32F411", "at90usb1286", "at90usb646", "atmega16u2", "atmega328p", "atmega32a", "atmega32u2", "atmega32u4", "attiny85", "cortex-m4", "unknown"]
|
"enum": ["MK20DX128", "MK20DX256", "MKL26Z64", "STM32F042", "STM32F072", "STM32F103", "STM32F303", "STM32F401", "STM32F411", "at90usb1286", "at90usb646", "atmega16u2", "atmega328p", "atmega32a", "atmega32u2", "atmega32u4", "attiny85", "cortex-m4", "unknown"]
|
||||||
},
|
},
|
||||||
|
"board": {
|
||||||
|
"type": "string",
|
||||||
|
"minLength": 2,
|
||||||
|
"pattern": "^[a-zA-Z_][0-9a-zA-Z_]*$"
|
||||||
|
},
|
||||||
"bootloader": {
|
"bootloader": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": ["atmel-dfu", "bootloadHID", "caterina", "halfkay", "kiibohd", "lufa-dfu", "lufa-ms", "micronucleus", "qmk-dfu", "stm32-dfu", "stm32duino", "unknown", "USBasp"]
|
"enum": ["atmel-dfu", "bootloadHID", "caterina", "halfkay", "kiibohd", "lufa-dfu", "lufa-ms", "micronucleus", "qmk-dfu", "stm32-dfu", "stm32duino", "unknown", "USBasp"]
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
"width": 15,
|
"width": 15,
|
||||||
"debounce": 6,
|
"debounce": 6,
|
||||||
"processor": "STM32F303",
|
"processor": "STM32F303",
|
||||||
|
"board": "QMK_PROTON_C",
|
||||||
"diode_direction": "COL2ROW",
|
"diode_direction": "COL2ROW",
|
||||||
"features": {
|
"features": {
|
||||||
"audio": true,
|
"audio": true,
|
||||||
|
|
|
@ -1,4 +1,2 @@
|
||||||
BOARD = QMK_PROTON_C
|
|
||||||
|
|
||||||
# project specific files
|
# project specific files
|
||||||
SRC = led.c
|
SRC = led.c
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
"width": 16.5,
|
"width": 16.5,
|
||||||
"debounce": 5,
|
"debounce": 5,
|
||||||
"processor": "STM32F303",
|
"processor": "STM32F303",
|
||||||
|
"board": "QMK_PROTON_C",
|
||||||
"diode_direction": "COL2ROW",
|
"diode_direction": "COL2ROW",
|
||||||
"features": {
|
"features": {
|
||||||
"audio": true,
|
"audio": true,
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
BOARD = QMK_PROTON_C
|
|
||||||
# This file intentionally left blank
|
# This file intentionally left blank
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
"width": 16.5,
|
"width": 16.5,
|
||||||
"debounce": 5,
|
"debounce": 5,
|
||||||
"processor": "STM32F303",
|
"processor": "STM32F303",
|
||||||
|
"board": "QMK_PROTON_C",
|
||||||
"diode_direction": "COL2ROW",
|
"diode_direction": "COL2ROW",
|
||||||
"features": {
|
"features": {
|
||||||
"audio": true,
|
"audio": true,
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
BOARD = QMK_PROTON_C
|
|
||||||
LED_MATRIX_DRIVER = IS31FL3731
|
LED_MATRIX_DRIVER = IS31FL3731
|
||||||
|
|
||||||
# project specific files
|
# project specific files
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
"url": "",
|
"url": "",
|
||||||
"maintainer": "skullydazed",
|
"maintainer": "skullydazed",
|
||||||
"processor": "STM32F303",
|
"processor": "STM32F303",
|
||||||
|
"board": "QMK_PROTON_C",
|
||||||
"matrix_pins": {
|
"matrix_pins": {
|
||||||
"direct": [
|
"direct": [
|
||||||
["A10", "A9"],
|
["A10", "A9"],
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
BOARD = QMK_PROTON_C
|
|
||||||
# This file intentionally left blank
|
# This file intentionally left blank
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
{
|
{
|
||||||
"keyboard_name": "",
|
|
||||||
"url": "",
|
|
||||||
"maintainer": "qmk",
|
"maintainer": "qmk",
|
||||||
"width": 17.25,
|
"width": 17.25,
|
||||||
"height": 5,
|
"height": 5,
|
||||||
|
|
|
@ -7,6 +7,7 @@ from qmk.info import info_json
|
||||||
from qmk.path import is_keyboard, normpath
|
from qmk.path import is_keyboard, normpath
|
||||||
|
|
||||||
info_to_rules = {
|
info_to_rules = {
|
||||||
|
'board': 'BOARD',
|
||||||
'bootloader': 'BOOTLOADER',
|
'bootloader': 'BOOTLOADER',
|
||||||
'processor': 'MCU',
|
'processor': 'MCU',
|
||||||
}
|
}
|
||||||
|
@ -37,7 +38,8 @@ def generate_rules_mk(cli):
|
||||||
|
|
||||||
# Bring in settings
|
# Bring in settings
|
||||||
for info_key, rule_key in info_to_rules.items():
|
for info_key, rule_key in info_to_rules.items():
|
||||||
rules_mk_lines.append(f'{rule_key} ?= {kb_info_json[info_key]}')
|
if info_key in kb_info_json:
|
||||||
|
rules_mk_lines.append(f'{rule_key} ?= {kb_info_json[info_key]}')
|
||||||
|
|
||||||
# Find features that should be enabled
|
# Find features that should be enabled
|
||||||
if 'features' in kb_info_json:
|
if 'features' in kb_info_json:
|
||||||
|
|
|
@ -462,7 +462,7 @@ def _extract_rules_mk(info_data):
|
||||||
"""Pull some keyboard information from existing rules.mk files
|
"""Pull some keyboard information from existing rules.mk files
|
||||||
"""
|
"""
|
||||||
rules = rules_mk(info_data['keyboard_folder'])
|
rules = rules_mk(info_data['keyboard_folder'])
|
||||||
mcu = rules.get('MCU')
|
mcu = rules.get('MCU', info_data.get('processor'))
|
||||||
|
|
||||||
if mcu in CHIBIOS_PROCESSORS:
|
if mcu in CHIBIOS_PROCESSORS:
|
||||||
arm_processor_rules(info_data, rules)
|
arm_processor_rules(info_data, rules)
|
||||||
|
@ -594,6 +594,12 @@ def arm_processor_rules(info_data, rules):
|
||||||
elif 'ARM_ATSAM' in rules:
|
elif 'ARM_ATSAM' in rules:
|
||||||
info_data['platform'] = 'ARM_ATSAM'
|
info_data['platform'] = 'ARM_ATSAM'
|
||||||
|
|
||||||
|
if 'BOARD' in rules:
|
||||||
|
if 'board' in info_data:
|
||||||
|
_log_warning(info_data, 'Board is specified in both info.json and rules.mk, the rules.mk value wins.')
|
||||||
|
|
||||||
|
info_data['board'] = rules['BOARD']
|
||||||
|
|
||||||
return info_data
|
return info_data
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue