aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/schemas/keyboard.jsonschema5
-rw-r--r--keyboards/clueboard/60/info.json1
-rw-r--r--keyboards/clueboard/60/rules.mk2
-rw-r--r--keyboards/clueboard/66/rev4/info.json1
-rw-r--r--keyboards/clueboard/66/rev4/rules.mk1
-rw-r--r--keyboards/clueboard/66_hotswap/gen1/info.json1
-rw-r--r--keyboards/clueboard/66_hotswap/gen1/rules.mk1
-rw-r--r--keyboards/clueboard/california/info.json1
-rw-r--r--keyboards/clueboard/california/rules.mk1
-rw-r--r--keyboards/cmm_studio/saka68/info.json2
-rwxr-xr-xlib/python/qmk/cli/generate/rules_mk.py4
-rw-r--r--lib/python/qmk/info.py8
12 files changed, 19 insertions, 9 deletions
diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema
index f76c7fd18..0b3d6f393 100644
--- a/data/schemas/keyboard.jsonschema
+++ b/data/schemas/keyboard.jsonschema
@@ -27,6 +27,11 @@
27 "type": "string", 27 "type": "string",
28 "enum": ["MK20DX128", "MK20DX256", "MKL26Z64", "STM32F042", "STM32F072", "STM32F103", "STM32F303", "STM32F401", "STM32F411", "at90usb1286", "at90usb646", "atmega16u2", "atmega328p", "atmega32a", "atmega32u2", "atmega32u4", "attiny85", "cortex-m4", "unknown"] 28 "enum": ["MK20DX128", "MK20DX256", "MKL26Z64", "STM32F042", "STM32F072", "STM32F103", "STM32F303", "STM32F401", "STM32F411", "at90usb1286", "at90usb646", "atmega16u2", "atmega328p", "atmega32a", "atmega32u2", "atmega32u4", "attiny85", "cortex-m4", "unknown"]
29 }, 29 },
30 "board": {
31 "type": "string",
32 "minLength": 2,
33 "pattern": "^[a-zA-Z_][0-9a-zA-Z_]*$"
34 },
30 "bootloader": { 35 "bootloader": {
31 "type": "string", 36 "type": "string",
32 "enum": ["atmel-dfu", "bootloadHID", "caterina", "halfkay", "kiibohd", "lufa-dfu", "lufa-ms", "micronucleus", "qmk-dfu", "stm32-dfu", "stm32duino", "unknown", "USBasp"] 37 "enum": ["atmel-dfu", "bootloadHID", "caterina", "halfkay", "kiibohd", "lufa-dfu", "lufa-ms", "micronucleus", "qmk-dfu", "stm32-dfu", "stm32duino", "unknown", "USBasp"]
diff --git a/keyboards/clueboard/60/info.json b/keyboards/clueboard/60/info.json
index 2da993437..a68081daf 100644
--- a/keyboards/clueboard/60/info.json
+++ b/keyboards/clueboard/60/info.json
@@ -6,6 +6,7 @@
6 "width": 15, 6 "width": 15,
7 "debounce": 6, 7 "debounce": 6,
8 "processor": "STM32F303", 8 "processor": "STM32F303",
9 "board": "QMK_PROTON_C",
9 "diode_direction": "COL2ROW", 10 "diode_direction": "COL2ROW",
10 "features": { 11 "features": {
11 "audio": true, 12 "audio": true,
diff --git a/keyboards/clueboard/60/rules.mk b/keyboards/clueboard/60/rules.mk
index 6bc7eb761..c73b4c473 100644
--- a/keyboards/clueboard/60/rules.mk
+++ b/keyboards/clueboard/60/rules.mk
@@ -1,4 +1,2 @@
1BOARD = QMK_PROTON_C
2
3# project specific files 1# project specific files
4SRC = led.c 2SRC = led.c
diff --git a/keyboards/clueboard/66/rev4/info.json b/keyboards/clueboard/66/rev4/info.json
index aef1dee7a..9c8fcbef5 100644
--- a/keyboards/clueboard/66/rev4/info.json
+++ b/keyboards/clueboard/66/rev4/info.json
@@ -6,6 +6,7 @@
6 "width": 16.5, 6 "width": 16.5,
7 "debounce": 5, 7 "debounce": 5,
8 "processor": "STM32F303", 8 "processor": "STM32F303",
9 "board": "QMK_PROTON_C",
9 "diode_direction": "COL2ROW", 10 "diode_direction": "COL2ROW",
10 "features": { 11 "features": {
11 "audio": true, 12 "audio": true,
diff --git a/keyboards/clueboard/66/rev4/rules.mk b/keyboards/clueboard/66/rev4/rules.mk
index 14a7fa7b7..6e7633bfe 100644
--- a/keyboards/clueboard/66/rev4/rules.mk
+++ b/keyboards/clueboard/66/rev4/rules.mk
@@ -1,2 +1 @@
1BOARD = QMK_PROTON_C
2# This file intentionally left blank # This file intentionally left blank
diff --git a/keyboards/clueboard/66_hotswap/gen1/info.json b/keyboards/clueboard/66_hotswap/gen1/info.json
index 18afe5412..bcf66e8af 100644
--- a/keyboards/clueboard/66_hotswap/gen1/info.json
+++ b/keyboards/clueboard/66_hotswap/gen1/info.json
@@ -6,6 +6,7 @@
6 "width": 16.5, 6 "width": 16.5,
7 "debounce": 5, 7 "debounce": 5,
8 "processor": "STM32F303", 8 "processor": "STM32F303",
9 "board": "QMK_PROTON_C",
9 "diode_direction": "COL2ROW", 10 "diode_direction": "COL2ROW",
10 "features": { 11 "features": {
11 "audio": true, 12 "audio": true,
diff --git a/keyboards/clueboard/66_hotswap/gen1/rules.mk b/keyboards/clueboard/66_hotswap/gen1/rules.mk
index e23f9a4b3..33cf11a79 100644
--- a/keyboards/clueboard/66_hotswap/gen1/rules.mk
+++ b/keyboards/clueboard/66_hotswap/gen1/rules.mk
@@ -1,4 +1,3 @@
1BOARD = QMK_PROTON_C
2LED_MATRIX_DRIVER = IS31FL3731 1LED_MATRIX_DRIVER = IS31FL3731
3 2
4# project specific files 3# project specific files
diff --git a/keyboards/clueboard/california/info.json b/keyboards/clueboard/california/info.json
index 02c06ce51..e40b2338c 100644
--- a/keyboards/clueboard/california/info.json
+++ b/keyboards/clueboard/california/info.json
@@ -3,6 +3,7 @@
3 "url": "", 3 "url": "",
4 "maintainer": "skullydazed", 4 "maintainer": "skullydazed",
5 "processor": "STM32F303", 5 "processor": "STM32F303",
6 "board": "QMK_PROTON_C",
6 "matrix_pins": { 7 "matrix_pins": {
7 "direct": [ 8 "direct": [
8 ["A10", "A9"], 9 ["A10", "A9"],
diff --git a/keyboards/clueboard/california/rules.mk b/keyboards/clueboard/california/rules.mk
index 14a7fa7b7..6e7633bfe 100644
--- a/keyboards/clueboard/california/rules.mk
+++ b/keyboards/clueboard/california/rules.mk
@@ -1,2 +1 @@
1BOARD = QMK_PROTON_C
2# This file intentionally left blank # This file intentionally left blank
diff --git a/keyboards/cmm_studio/saka68/info.json b/keyboards/cmm_studio/saka68/info.json
index 75a78649b..ac6d0465a 100644
--- a/keyboards/cmm_studio/saka68/info.json
+++ b/keyboards/cmm_studio/saka68/info.json
@@ -1,6 +1,4 @@
1{ 1{
2 "keyboard_name": "",
3 "url": "",
4 "maintainer": "qmk", 2 "maintainer": "qmk",
5 "width": 17.25, 3 "width": 17.25,
6 "height": 5, 4 "height": 5,
diff --git a/lib/python/qmk/cli/generate/rules_mk.py b/lib/python/qmk/cli/generate/rules_mk.py
index 0fdccb404..b262e3c66 100755
--- a/lib/python/qmk/cli/generate/rules_mk.py
+++ b/lib/python/qmk/cli/generate/rules_mk.py
@@ -7,6 +7,7 @@ from qmk.info import info_json
7from qmk.path import is_keyboard, normpath 7from qmk.path import is_keyboard, normpath
8 8
9info_to_rules = { 9info_to_rules = {
10 'board': 'BOARD',
10 'bootloader': 'BOOTLOADER', 11 'bootloader': 'BOOTLOADER',
11 'processor': 'MCU', 12 'processor': 'MCU',
12} 13}
@@ -37,7 +38,8 @@ def generate_rules_mk(cli):
37 38
38 # Bring in settings 39 # Bring in settings
39 for info_key, rule_key in info_to_rules.items(): 40 for info_key, rule_key in info_to_rules.items():
40 rules_mk_lines.append(f'{rule_key} ?= {kb_info_json[info_key]}') 41 if info_key in kb_info_json:
42 rules_mk_lines.append(f'{rule_key} ?= {kb_info_json[info_key]}')
41 43
42 # Find features that should be enabled 44 # Find features that should be enabled
43 if 'features' in kb_info_json: 45 if 'features' in kb_info_json:
diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py
index 0ea5136a9..cc81f7a08 100644
--- a/lib/python/qmk/info.py
+++ b/lib/python/qmk/info.py
@@ -462,7 +462,7 @@ def _extract_rules_mk(info_data):
462 """Pull some keyboard information from existing rules.mk files 462 """Pull some keyboard information from existing rules.mk files
463 """ 463 """
464 rules = rules_mk(info_data['keyboard_folder']) 464 rules = rules_mk(info_data['keyboard_folder'])
465 mcu = rules.get('MCU') 465 mcu = rules.get('MCU', info_data.get('processor'))
466 466
467 if mcu in CHIBIOS_PROCESSORS: 467 if mcu in CHIBIOS_PROCESSORS:
468 arm_processor_rules(info_data, rules) 468 arm_processor_rules(info_data, rules)
@@ -594,6 +594,12 @@ def arm_processor_rules(info_data, rules):
594 elif 'ARM_ATSAM' in rules: 594 elif 'ARM_ATSAM' in rules:
595 info_data['platform'] = 'ARM_ATSAM' 595 info_data['platform'] = 'ARM_ATSAM'
596 596
597 if 'BOARD' in rules:
598 if 'board' in info_data:
599 _log_warning(info_data, 'Board is specified in both info.json and rules.mk, the rules.mk value wins.')
600
601 info_data['board'] = rules['BOARD']
602
597 return info_data 603 return info_data
598 604
599 605