fix: send UART node status at source of state changes - #10
Merged
Conversation
- UART status reporting was broken when the firmware was not in an active BLE connection, because node status was only dispatched to UART inside the BLE IRQ handler alongside the BLE TX path - Added a dedicated helper that sends node status entries over UART and call it directly at every point in the mesh management layer where node state changes: new node discovery, status updates, and node timeouts; this makes UART reporting fully independent of BLE connection state - Removed the UART send from the BLE IRQ handler; that path was the sole mechanism for UART delivery, which meant remote node statuses were silently dropped when no BLE central was connected - Extended test coverage to verify all status-change paths dispatch over UART, and updated existing tests to reflect that UART delivery is no longer the responsibility of the BLE IRQ path
📊 Coverage Report
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
UART status reporting was broken when the firmware was not in an active BLE connection, because node status was only dispatched to UART inside the BLE IRQ handler alongside the BLE TX path
Added a dedicated helper that sends node status entries over UART and call it directly at every point in the mesh management layer where node state changes: new node discovery, status updates, and node timeouts; this makes UART reporting fully independent of BLE connection state
Removed the UART send from the BLE IRQ handler; that path was the sole mechanism for UART delivery, which meant remote node statuses were silently dropped when no BLE central was connected
Extended test coverage to verify all status-change paths dispatch over UART, and updated existing tests to reflect that UART delivery is no longer the responsibility of the BLE IRQ path