Skip to content

Cherry pick of Bluetooth controller peripheral conn update fix#51

Open
carrefinho wants to merge 1 commit into
zmkfirmware:v4.1.0+zmk-fixesfrom
carrefinho:v4.1.0+zmk-fixes+split-conn-fix
Open

Cherry pick of Bluetooth controller peripheral conn update fix#51
carrefinho wants to merge 1 commit into
zmkfirmware:v4.1.0+zmk-fixesfrom
carrefinho:v4.1.0+zmk-fixes+split-conn-fix

Conversation

@carrefinho

Copy link
Copy Markdown

Cherry-picks fix for peripheral assertion crash during BLE connection parameter updates from upstream Zephyr.

This is needed for the split idle interval feature (zmkfirmware/zmk#3182) which updates connection parameters when idle.

Fix peripheral role assertion during connection update and
simultaneous flash operations.

prepare_cb: Actual EVENT_OVERHEAD_START_US = 6149

This happens due to instant latency at connection update
where the ticks_at_expire was in the past.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
carrefinho added a commit to carrefinho/zephyr that referenced this pull request May 21, 2026
Add conn_subrate_transitions: the peripheral negotiates factor 4, the
central re-negotiates to factor 8 (a true M->N transition, central-
initiated 5.1.19), and the central verifies both sides re-skip at 8 via
timed reads. It then changes the connection interval while subrated and
verifies subrating resets to factor 1 (low read latency) and the link
survives -- exercising the steady-state gate (both present every event
during the procedure) and the zmkfirmware#51 latency_upd fix.

No controller changes: the gate already handles M->N transitions and the
conn-update instant; this validates that behavior. central.c / peripheral.c
refactored to share connect/probe helpers across the two scenarios; new
run script + CI step.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants