Fix serial speed DD configuration & migrate keyboards (#25546)

* Fix serial speed DD configuration

- Fixes incorrect SOFT_SERIAL_SPEED mapping
- Renames key split.soft_serial_speed -> split.serial.speed
- Migrates keyoards that configure this, and remove configuration from keyboards that do not differ from the default behaviour
- Add deprecation notice and migration support
This commit is contained in:
Jack Sangdahl 2025-08-10 00:14:40 +02:00 • committed by GitHub
commit 12dc6d1ac8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
33 changed files with 20 additions and 361 deletions

View file

@ -184,7 +184,7 @@
// Split Keyboard
"SOFT_SERIAL_PIN": {"info_key": "split.serial.pin"},
"SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"},
"SELECT_SOFT_SERIAL_SPEED": {"info_key": "split.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"},
"SPLIT_USB_DETECT": {"info_key": "split.usb_detect.enabled", "value_type": "flag"},

View file

@ -864,8 +864,7 @@
},
"soft_serial_speed": {
"type": "integer",
"minimum": 0,
"maximum": 5
"$comment": "Deprecated: use split.serial.speed instead"
},
"serial": {
"type": "object",
@ -875,7 +874,12 @@
"type": "string",
"enum": ["bitbang", "usart", "vendor"]
},
"pin": {"$ref": "./definitions.jsonschema#/mcu_pin"}
"pin": {"$ref": "./definitions.jsonschema#/mcu_pin"},
"speed": {
"type": "integer",
"minimum": 0,
"maximum": 5
}
}
},
"transport": {

View file

@ -753,9 +753,9 @@ Configures the [Split Keyboard](features/split_keyboard) feature.
* Default: `"bitbang"`
* `pin` <Badge type="info">Pin</Badge>
* The GPIO pin to use for transmit and receive.
* `soft_serial_speed` <Badge type="info">Number</Badge>
* The protocol speed, from `0` to `5` (`serial` transport protocol only).
* Default: `1`
* `speed` <Badge type="info">Number</Badge>
* The protocol speed, from `0` to `5` (fastest to slowest).
* Default: `1`
* `transport`
* `protocol` <Badge type="info">String</Badge>
* The split transport protocol to use. Must be one of `custom`, `i2c`, `serial`.

View file

@ -1,19 +0,0 @@
/*
Copyright 2021 Spencer Deven <splitlogicdesign@gmail.com>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define SELECT_SOFT_SERIAL_SPEED 1

View file

@ -18,7 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#define SELECT_SOFT_SERIAL_SPEED 1
// #define USE_I2C
#define SPLIT_USB_DETECT
#define SPLIT_USB_TIMEOUT 500

View file

@ -17,16 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#define SELECT_SOFT_SERIAL_SPEED 1
/*Sets the protocol speed when using serial communication*/
//Speeds:
//0: about 189kbps (Experimental only)
//1: about 137kbps (default)
//2: about 75kbps
//3: about 39kbps
//4: about 26kbps
//5: about 20kbps
// Right side has to be the master since 1, LED data is output from right side, and 2, Audio pin is prepared on right side as a reserve.
#define MASTER_RIGHT

View file

@ -25,13 +25,6 @@
#define SERIAL_USART_RX_PIN B7 // USART RX pin
#define SERIAL_USART_TX_PIN B6 // USART TX pin
#define SELECT_SOFT_SERIAL_SPEED 1 // or 0, 2, 3, 4, 5
// 0: 460800 baud
// 1: 230400 baud (default)
// 2: 115200 baud
// 3: 57600 baud
// 4: 38400 baud
// 5: 19200 baud
#define SERIAL_USART_DRIVER SD1 // USART driver of TX and RX pin. default: SD1
#define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
#define SERIAL_USART_RX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7

View file

@ -2,7 +2,6 @@
// Comunication and Split Detection
#define SELECT_SOFT_SERIAL_SPEED 1
#define SPLIT_USB_DETECT
#define EE_HANDS
#define SPLIT_USB_TIMEOUT 1000

View file

@ -15,8 +15,6 @@
*/
#pragma once
#define SELECT_SOFT_SERIAL_SPEED 1
// Feature diable options
//#define NO_DEBUG
//#define NO_PRINT

View file

@ -21,7 +21,6 @@
#define AUDIO_PIN_ALT A4
#define AUDIO_PIN_ALT_AS_NEGATIVE
#define SELECT_SOFT_SERIAL_SPEED 1
#define SERIAL_USART_DRIVER SD1
#define SERIAL_USART_TX_PAL_MODE 7
#define SERIAL_USART_TIMEOUT 100

View file

@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#define SELECT_SOFT_SERIAL_SPEED 1
# ifndef IOS_DEVICE_ENABLE
# define RGBLIGHT_VAL_STEP 16
# define RGBLIGHT_LIMIT_VAL 128 /* The maximum brightness level */

View file

@ -17,7 +17,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#define SELECT_SOFT_SERIAL_SPEED 5
#define SPLIT_USB_DETECT
#define EE_HANDS

View file

@ -28,7 +28,8 @@
"split": {
"enabled": true,
"serial": {
"pin": "D1"
"pin": "D1",
"speed": 5
}
},
"rgblight": {

View file

@ -19,13 +19,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#define AUDIO_PIN C6
#define SELECT_SOFT_SERIAL_SPEED 1
/*Sets the protocol speed when using serial communication*/
//Speeds:
//0: about 189kbps (Experimental only)
//1: about 137kbps (default)
//2: about 75kbps
//3: about 39kbps
//4: about 26kbps
//5: about 20kbps

View file

@ -19,13 +19,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#define AUDIO_PIN C6
#define SELECT_SOFT_SERIAL_SPEED 1
/*Sets the protocol speed when using serial communication*/
//Speeds:
//0: about 189kbps (Experimental only)
//1: about 137kbps (default)
//2: about 75kbps
//3: about 39kbps
//4: about 26kbps
//5: about 20kbps

View file

@ -1,27 +0,0 @@
/* Copyright 2019 omkbd
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define SELECT_SOFT_SERIAL_SPEED 1
/*Sets the protocol speed when using serial communication*/
//Speeds:
//0: about 189kbps (Experimental only)
//1: about 137kbps (default)
//2: about 75kbps
//3: about 39kbps
//4: about 26kbps
//5: about 20kbps

View file

@ -1,27 +0,0 @@
/* Copyright 2019 omkbd
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define SELECT_SOFT_SERIAL_SPEED 1
/*Sets the protocol speed when using serial communication*/
//Speeds:
//0: about 189kbps (Experimental only)
//1: about 137kbps (default)
//2: about 75kbps
//3: about 39kbps
//4: about 26kbps
//5: about 20kbps

View file

@ -1,27 +0,0 @@
/* Copyright 2019 omkbd
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define SELECT_SOFT_SERIAL_SPEED 1
/*Sets the protocol speed when using serial communication*/
//Speeds:
//0: about 189kbps (Experimental only)
//1: about 137kbps (default)
//2: about 75kbps
//3: about 39kbps
//4: about 26kbps
//5: about 20kbps

View file

@ -1,27 +0,0 @@
/* Copyright 2019 omkbd
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define SELECT_SOFT_SERIAL_SPEED 1
/*Sets the protocol speed when using serial communication*/
//Speeds:
//0: about 189kbps (Experimental only)
//1: about 137kbps (default)
//2: about 75kbps
//3: about 39kbps
//4: about 26kbps
//5: about 20kbps

View file

@ -1,27 +0,0 @@
/* Copyright 2019 omkbd
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define SELECT_SOFT_SERIAL_SPEED 1
/*Sets the protocol speed when using serial communication*/
//Speeds:
//0: about 189kbps (Experimental only)
//1: about 137kbps (default)
//2: about 75kbps
//3: about 39kbps
//4: about 26kbps
//5: about 20kbps

Some files were not shown because too many files have changed in this diff Show more