Skip to content

Fix JSON type for SELECT_SOFT_SERIAL_SPEED#26003

Open
jakoschiko wants to merge 1 commit intoqmk:masterfrom
jakoschiko:json-path-fix
Open

Fix JSON type for SELECT_SOFT_SERIAL_SPEED#26003
jakoschiko wants to merge 1 commit intoqmk:masterfrom
jakoschiko:json-path-fix

Conversation

@jakoschiko
Copy link

@jakoschiko jakoschiko commented Feb 11, 2026

For the variable SELECT_SOFT_SERIAL_SPEED, the JSON definition in info_config.hjson doesn't match keyboard.jsonschema.

Description

If I define the variable SELECT_SOFT_SERIAL_SPEED in my keyboard firmware, the generated JSON is invalid. The validation against keyboard.jsonschema will fail. I seems that info_config.hjson doesn't match keyboard.jsonschema for this case.

☐ Running command: ['make', '-r', '-R', '-f', 'builddefs/build_keyboard.mk', 'KEYBOARD=epomaker/split65', 'KEYMAP=via', 'KEYBOARD_FILESAFE=epomaker_split65', 'TARGET=epomaker_split65_via', 'VERBOSE=true', 'COLOR=true', 'SILENT=false', 'QMK_BIN="qmk"']
☒ Invalid API data: epomaker/split65: split.serial.speed: '1' is not of type 'integer'
☒ Invalid API data: epomaker/split65: split.serial.speed: '1' is not of type 'integer'

The compile error only happened after migrating my keyboard firmware from a very old version of qmk_firmware to the most recent one.

"serial": {
"type": "object",
"additionalProperties": false,
"properties": {
"driver": {
"type": "string",
"enum": ["bitbang", "usart", "vendor"]
},
"pin": {"$ref": "./definitions.jsonschema#/mcu_pin"},
"speed": {
"type": "integer",
"minimum": 0,
"maximum": 5
}
}
},

Types of Changes

  • Core
  • Bugfix
  • New feature
  • Enhancement/optimization
  • Keyboard (addition or update)
  • Keymap/layout (addition or update)
  • Documentation

Issues Fixed or Closed by This PR

Checklist

  • My code follows the code style of this project: C, Python
  • I have read the PR Checklist document and have made the appropriate changes.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes and verified that they work and don't break anything (as well as I can manage).

@github-actions github-actions bot added the dd Data Driven Changes label Feb 11, 2026
jakoschiko added a commit to jakoschiko/Split65 that referenced this pull request Feb 11, 2026
If SELECT_SOFT_SERIAL_SPEED is defined, it
triggers a QMK bug. A JSON with an invalid
path is generated. The validation against
keyboard.jsonschema fails. We can remove
SELECT_SOFT_SERIAL_SPEED because it's set
to the default value, anyway.

See qmk/qmk_firmware#26003
@zvecr zvecr added the invalid label Feb 11, 2026
@jakoschiko jakoschiko marked this pull request as draft February 11, 2026 19:43
@jakoschiko jakoschiko changed the title Fix JSON path for split keyboard settings Fix JSON type for SELECT_SOFT_SERIAL_SPEED Feb 11, 2026
@zvecr zvecr added bug and removed invalid labels Feb 11, 2026
@jakoschiko jakoschiko marked this pull request as ready for review February 11, 2026 20:03
jakoschiko added a commit to jakoschiko/Split65 that referenced this pull request Feb 11, 2026
If SELECT_SOFT_SERIAL_SPEED is defined, it
triggers a QMK bug. A JSON with an invalid
type is generated. The validation against
keyboard.jsonschema fails. We can remove
SELECT_SOFT_SERIAL_SPEED because it's set
to the default value, anyway.

See qmk/qmk_firmware#26003
@jakoschiko
Copy link
Author

The needed to adjust the commit message, it was outdated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug dd Data Driven Changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants