Repository navigation
Decode compact PPG and support firmware 2.3.x - #154
Merged
Merged
Conversation
|
Visit the preview URL for this PR (updated for commit a171dae): https://open-earable-lib-web-example--pr154-codex-compact-ppg-xkd5eflm.web.app (expires Sun, 01 Nov 2026 20:47:30 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: 7f6db4d9d00b851ad49af109fa949061904b3151 |
Decode compact IMU BLE samples without changing public units
Merged
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.
Decode firmware 2.3.x BLE PPG as four lossless 19-bit values packed into ten bytes. Each device factory reads the firmware version and creates its own decoder, so 2.2.9/2.2.10 and mixed-version pairs retain the legacy path. Extend the supported firmware range to >=2.1.0 <2.4.0.
The existing sensor scheme still supplies logical channel metadata. The default/file parser remains legacy; SD/
.oedecoding and other sensor payloads are unchanged. No packet marker or sensor-ID change is used.Depends on protocol #1. Publish
open_earable_protocols0.0.4 before releasing this library; the temporary root/example overrides pin the reviewed protocol commit so this PR can be tested beforehand. Apps testing this unpublished dependency must also use that override.Validation: all 18 library tests pass; all seven compatibility/PPG tests also pass on Chrome; full library analysis passes. Tests cover firmware/prerelease selection, equal-length old/new packets, 2,300 randomized samples, full-scale channels, timestamp reconstruction, ByteData views, malformed packets, and unchanged legacy/non-PPG decoding.