Skip to content

Decode compact PPG and support firmware 2.3.x - #154

Merged
TobiasRoeddiger merged 4 commits into
2.5.0from
codex/compact-ppg-ble
Oct 4, 2026
Merged

TobiasRoeddiger merged 4 commits into
2.5.0from
codex/compact-ppg-ble

Conversation

@TobiasRoeddiger

@TobiasRoeddiger TobiasRoeddiger commented Oct 4, 2026 •

Copy link
Copy Markdown
Member

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/.oe decoding and other sensor payloads are unchanged. No packet marker or sensor-ID change is used.

Depends on protocol #1. Publish open_earable_protocols 0.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.

@github-actions

github-actions Bot commented Oct 4, 2026 •

Copy link
Copy Markdown

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
@TobiasRoeddiger
TobiasRoeddiger merged commit c93ac77 into 2.5.0 Oct 4, 2026
4 checks passed
@TobiasRoeddiger TobiasRoeddiger mentioned this pull request Oct 4, 2026
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.

1 participant