Compare commits

..

1 Commits

Author SHA1 Message Date
Pete Johanson
e4fb39d4a6 fix(studio): Allow setting UART RPC thread priority (#3290)
To ensure we can tune things when other threads may have priority,
preventing UART processing in time for the studio UI requirements,
adjust our default UART thread priority, and allow overriding as needed.
2026-03-20 03:51:46 -04:00
4 changed files with 567 additions and 960 deletions

View File

@@ -59,11 +59,20 @@ config ZMK_STUDIO_TRANSPORT_UART
select RING_BUFFER
default y if $(dt_chosen_enabled,$(DT_CHOSEN_ZMK_STUDIO_RPC_UART))
if ZMK_STUDIO_TRANSPORT_UART
config ZMK_STUDIO_TRANSPORT_UART_RX_STACK_SIZE
int "RX Stack Size"
depends on !UART_INTERRUPT_DRIVEN
default 512
config ZMK_STUDIO_TRANSPORT_UART_RX_PRIORITY
int "RX Thread Priority"
depends on !UART_INTERRUPT_DRIVEN
default 9
endif
config ZMK_STUDIO_TRANSPORT_BLE
bool "BLE (GATT)"
select RING_BUFFER
@@ -71,9 +80,12 @@ config ZMK_STUDIO_TRANSPORT_BLE
depends on ZMK_BLE
default y
config BT_CONN_TX_MAX
default 64 if ZMK_STUDIO_TRANSPORT_BLE
if ZMK_STUDIO_TRANSPORT_BLE
config ZMK_STUDIO_TRANSPORT_BLE_PREF_LATENCY
int "BLE Transport preferred latency"
default 10
@@ -81,6 +93,8 @@ config ZMK_STUDIO_TRANSPORT_BLE_PREF_LATENCY
When the studio UI is connected, a lower latency can be requested in order
to make the interactions between keyboard and studio faster.
endif
endmenu
config ZMK_STUDIO_RPC_THREAD_STACK_SIZE

View File

@@ -65,7 +65,7 @@ static void uart_rx_main(void) {
}
K_THREAD_DEFINE(uart_transport_read_thread, CONFIG_ZMK_STUDIO_TRANSPORT_UART_RX_STACK_SIZE,
uart_rx_main, NULL, NULL, NULL, K_LOWEST_APPLICATION_THREAD_PRIO, 0, 0);
uart_rx_main, NULL, NULL, NULL, CONFIG_ZMK_STUDIO_TRANSPORT_UART_RX_PRIORITY, 0, 0);
#endif

1497
docs/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -18,17 +18,17 @@
"@docusaurus/core": "^3.9.2",
"@docusaurus/preset-classic": "^3.9.2",
"@docusaurus/theme-mermaid": "^3.9.2",
"@fortawesome/fontawesome-svg-core": "^7.2.0",
"@fortawesome/free-solid-svg-icons": "^7.2.0",
"@fortawesome/react-fontawesome": "^3.3.0",
"@fortawesome/fontawesome-svg-core": "^6.7.1",
"@fortawesome/free-solid-svg-icons": "^6.7.1",
"@fortawesome/react-fontawesome": "^0.2.0",
"@mdx-js/react": "^3.1.0",
"classnames": "^2.2.6",
"js-yaml": "^4.1.1",
"react": "^19.2.4",
"react": "^18.0.0",
"react-async": "^10.0.1",
"react-copy-to-clipboard": "^5.0.3",
"react-dom": "^19.2.4",
"react-toastify": "^11.0.5",
"react-dom": "^18.0.0",
"react-toastify": "^10.0.6",
"tree-sitter-devicetree": "^0.12.1",
"web-tree-sitter": "^0.24.3"
},
@@ -51,7 +51,7 @@
"@eslint/js": "^9.39.2",
"@types/glob": "^8.1.0",
"@types/js-yaml": "^4.0.5",
"@types/react": "^19.2.14",
"@types/react": "^18.3.12",
"@types/react-helmet": "^6.1.6",
"@types/react-router-dom": "^5.1.7",
"eslint": "^9.39.2",