From 096482164ce6a889cdc6134bdee12a11b92a6af0 Mon Sep 17 00:00:00 2001 From: zvecr Date: Sat, 15 Jun 2024 02:32:53 +0100 Subject: [PATCH] Implement data driven serial driver --- data/mappings/info_rules.hjson | 1 + data/schemas/keyboard.jsonschema | 10 ++++++++++ docs/reference_info_json.md | 4 ++++ keyboards/zvecr/zv48/f401/rules.mk | 1 - keyboards/zvecr/zv48/f411/rules.mk | 1 - keyboards/zvecr/zv48/info.json | 3 +++ 6 files changed, 18 insertions(+), 2 deletions(-) delete mode 100644 keyboards/zvecr/zv48/f401/rules.mk delete mode 100644 keyboards/zvecr/zv48/f411/rules.mk diff --git a/data/mappings/info_rules.hjson b/data/mappings/info_rules.hjson index 97611bcf58..384bc87b78 100644 --- a/data/mappings/info_rules.hjson +++ b/data/mappings/info_rules.hjson @@ -41,6 +41,7 @@ "RGB_MATRIX_DRIVER": {"info_key": "rgb_matrix.driver"}, "RGBLIGHT_DRIVER": {"info_key": "rgblight.driver"}, "SECURE_ENABLE": {"info_key": "secure.enabled", "value_type": "bool"}, + "SERIAL_DRIVER": {"info_key": "split.serial.driver"}, "SPLIT_KEYBOARD": {"info_key": "split.enabled", "value_type": "bool"}, "SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "to_c": false}, "STENO_ENABLE": {"info_key": "stenography.enabled", "value_type": "bool"}, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index b699f86277..b10f29238e 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -799,6 +799,16 @@ "minimum": 0, "maximum": 5 }, + "serial": { + "type": "object", + "additionalProperties": false, + "properties": { + "driver": { + "type": "string", + "enum": ["bitbang", "usart", "vendor"] + } + } + }, "transport": { "type": "object", "additionalProperties": false, diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index 2db2cd1427..a7a6caff79 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -732,6 +732,10 @@ Configures the [Split Keyboard](features/split_keyboard) feature. * `matrix_pins` * `right` * See [Matrix](#matrix) config. + * `serial` + * `driver` + * The driver to use. Must be one of `bitbang`, `usart`, `vendor`. + * Default: `"bitbang"` * `soft_serial_pin` * The GPIO pin to use (`serial` transport protocol only). * `soft_serial_speed` diff --git a/keyboards/zvecr/zv48/f401/rules.mk b/keyboards/zvecr/zv48/f401/rules.mk deleted file mode 100644 index c6e2988321..0000000000 --- a/keyboards/zvecr/zv48/f401/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = usart diff --git a/keyboards/zvecr/zv48/f411/rules.mk b/keyboards/zvecr/zv48/f411/rules.mk deleted file mode 100644 index c6e2988321..0000000000 --- a/keyboards/zvecr/zv48/f411/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = usart diff --git a/keyboards/zvecr/zv48/info.json b/keyboards/zvecr/zv48/info.json index e596eb6e79..a5cef75d4a 100644 --- a/keyboards/zvecr/zv48/info.json +++ b/keyboards/zvecr/zv48/info.json @@ -53,6 +53,9 @@ "handedness": { "pin": "B9" }, + "serial": { + "driver": "usart" + }, "soft_serial_pin": "B6", "bootmagic": { "matrix": [4, 0]