Browse Source

Merge remote-tracking branch 'origin/develop' into xap

QMK Bot 2 years ago
parent
commit
e8213ce840

+ 1 - 1
data/mappings/info_config.hjson

@@ -176,7 +176,7 @@
     "SECURE_UNLOCK_TIMEOUT": {"info_key": "secure.unlock_timeout", "value_type": "int"},
 
     // Split Keyboard
-    "SOFT_SERIAL_PIN": {"info_key": "split.soft_serial_pin"},
+    "SOFT_SERIAL_PIN": {"info_key": "split.serial.pin"},
     "SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"},
     "SPLIT_HAND_MATRIX_GRID": {"info_key": "split.handedness.matrix_grid", "value_type": "array", "to_c": false},
     "SPLIT_HAND_PIN": {"info_key": "split.handedness.pin"},

+ 6 - 2
data/schemas/keyboard.jsonschema

@@ -823,7 +823,10 @@
                         }
                     }
                 },
-                "soft_serial_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
+                "soft_serial_pin": {
+                    "$ref": "qmk.definitions.v1#/mcu_pin",
+                    "$comment": "Deprecated: use split.serial.pin instead"
+                },
                 "soft_serial_speed": {
                     "type": "integer",
                     "minimum": 0,
@@ -836,7 +839,8 @@
                         "driver": {
                             "type": "string",
                             "enum": ["bitbang", "usart", "vendor"]
-                        }
+                        },
+                        "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}
                     }
                 },
                 "transport": {

+ 2 - 2
docs/reference_info_json.md

@@ -736,8 +736,8 @@ Configures the [Split Keyboard](features/split_keyboard) feature.
         * `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).
+        * `pin`
+            * The GPIO pin to use for transmit and receive.
     * `soft_serial_speed`
         * The protocol speed, from `0` to `5` (`serial` transport protocol only).
         * Default: `1`

+ 5 - 5
keyboards/zvecr/zv48/info.json

@@ -50,15 +50,15 @@
     },
     "split": {
         "enabled": true,
-        "handedness": {
-            "pin": "B9"
-        },
-        "soft_serial_pin": "B6",
         "bootmagic": {
             "matrix": [4, 0]
         },
+        "handedness": {
+            "pin": "B9"
+        },
         "serial": {
-            "driver": "usart"
+            "driver": "usart",
+            "pin": "B6"
         },
         "matrix_pins": {
             "right": {

+ 9 - 0
lib/python/qmk/info.py

@@ -461,6 +461,14 @@ def _extract_split_handedness(info_data, config_c):
         split['handedness']['matrix_grid'] = split.pop('matrix_grid')
 
 
+def _extract_split_serial(info_data, config_c):
+    # Migrate
+    split = info_data.get('split', {})
+    if 'soft_serial_pin' in split:
+        split['serial'] = split.get('serial', {})
+        split['serial']['pin'] = split.pop('soft_serial_pin')
+
+
 def _extract_split_transport(info_data, config_c):
     # Figure out the transport method
     if config_c.get('USE_I2C') is True:
@@ -656,6 +664,7 @@ def _extract_config_h(info_data, config_c):
     _extract_audio(info_data, config_c)
     _extract_secure_unlock(info_data, config_c)
     _extract_split_handedness(info_data, config_c)
+    _extract_split_serial(info_data, config_c)
     _extract_split_transport(info_data, config_c)
     _extract_split_right_pins(info_data, config_c)
     _extract_encoders(info_data, config_c)