feat(ble): report Bluetooth 5 long-range advertisements as ble5 - #4
Open
wnagele wants to merge 1 commit into
Open
feat(ble): report Bluetooth 5 long-range advertisements as ble5#4wnagele wants to merge 1 commit into
wnagele wants to merge 1 commit into
Conversation
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.
What
Bluetooth 5 long-range / extended advertisements (a Message Pack per advertisement) are now received at all — previously they were dropped at the service-data length check and logged as "Unrecognised service data". They report through the existing
rid_sourcefield with a new valueble5; Bluetooth 4 legacy advertisements keepble. No new field, noschema_versionbump. Journal lines log as[BLE]/[BLE5],/statusgains able5per-source counter, and the dashboard, history DB and MQTTevents/detectionpayload carry it throughrid_sourceunchanged.Why
ASTM F3411 defines two BLE transports: Bluetooth 4 legacy advertising carries one 25-byte ODID message per advertisement, while Bluetooth 5 long-range / extended advertising carries a Message Pack. Before this change, BT5 transmitters (ArduRemoteID, Dronetag, …) were invisible over BLE, and everything BLE reported as one undifferentiated
ble— so a receiver that cannot hear Bluetooth 5 (a BT 4.x dongle, Pi onboard Bluetooth) was indistinguishable from empty airspace. Withble5as a distinct value, able5counter pinned at zero whilebleclimbs makes the adapter the visible limit. Consumers that passrid_sourcethrough are unaffected; those that enumerate its values gain one.How
extract_rid_payload()now accepts pack payloads (service data longer than one message with the0x0Dapp code) and decodes all sub-messages."ble5"/"ble"into the tracker's existingrid_sourcepath — the tracker, feed rows,/statuscounters and MQTT events needed no changes at all; only the BLE decoder and the dashboard's always-shown source tiles (KNOWN_SOURCES) plus FEED.md/README/CHANGELOG documentation.