Skip to content

Improve high-rate PPG acquisition - #271

Open
mkuettner97 wants to merge 2 commits into
2.2.8from
codex/ppg-high-rate-exposure-control
Open

mkuettner97 wants to merge 2 commits into
2.2.8from
codex/ppg-high-rate-exposure-control

Conversation

@mkuettner97

Copy link
Copy Markdown
Collaborator

The PPG did not even reach the higher PPG sampling rates before, since the integration time was set to long

@mkuettner97
mkuettner97 requested a review from o-bagge September 7, 2026 13:38
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

Build output available:
openearable_v2_firmware.elf.zip
openearable_v2_fota.zip

@o-bagge
o-bagge changed the base branch from main to 2.2.8 September 8, 2026 12:15
@o-bagge
o-bagge force-pushed the codex/ppg-high-rate-exposure-control branch from f2380b1 to 7fe2cab Compare September 18, 2026 11:10
@github-actions

github-actions Bot commented Sep 18, 2026

Copy link
Copy Markdown

✅ Unit tests passed

2 passed, 0 failed/error, 0 skippedview workflow run

Test scenario Platform Result
ring_buffer/openearable.unit.ring_buffer native_sim/native/64 ✅ passed
sensor_component/openearable.unit.sensor_component native_sim/native/64 ✅ passed

Download the unit-test-results artifact for full Twister reports and logs.

@github-actions

Copy link
Copy Markdown

Build output available:
openearable_v2_firmware.elf.zip
openearable_v2_fota.zip

@github-actions

github-actions Bot commented Sep 18, 2026

Copy link
Copy Markdown

Compiler warnings

The extended-warning build completed successfully.

Application compiler warnings

None.

View this workflow run

@github-actions

Copy link
Copy Markdown

CodeChecker static analysis

✅ No non-style issues found.

@o-bagge

o-bagge commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator

At 1024 Hz, red and ambient frequently contain zeros, although all four channels should be available. Recordings at 2048 Hz looked good with red and IR, and 4096 Hz looked good with only IR.
image

@o-bagge

o-bagge commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator

Zero values were caused by PPG samples being split across two FIFO reads. The fix keeps the unfinished sample and completes it on the next read, so only complete samples are returned. Tested at 1024 Hz and the zeros are gone.
image

@o-bagge

o-bagge commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator

Timestamps are irregular because each FIFO batch is timestamped when the firmware reads it, which introduces scheduling jitter. This was not introduced by this PR though
image

@github-actions

Copy link
Copy Markdown

Build output available:
openearable_v2_firmware.elf.zip
openearable_v2_fota.zip

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