Repository navigation
BLE (W6): record IMU in 5/MG Raw Data Collector sessions - #27
Merged
Merged
Conversation
W06-002. A Raw Data Collector session on a WHOOP 5/MG never recorded an IMU sample. The only writer, ImuSessionFileStore.append, sits in Collector.ingest(frame:parsed:), and nothing in the app calls that: ryanbr#1709 moved IMU storage behind the ingest seam, which the 5/MG frame loop does not enter. The session started the strap's 100 Hz stream, then exported nothing. The 5/MG loop now hands every frame to Collector.bankImuForSessions before the offload branch, so a session takes buffers from the live stream and from history sync, as ryanbr#1709 intended. Only intact 1244-byte buffers are banked, because Whoop5RawImu decodes without checking the CRC. V1: CollectorImuBankingTests (an intact real buffer is banked, a CRC-flipped copy is not); Strand and NOOPiOS (without the watch app) build. Not yet tested on hardware.
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.
W6 BLE and collection, first Phase 1 batch: the one S2. Stacked on
review/phase-1. Finding row: W06-002 indocs/review/workstreams/W06-ble-collect.md.W06-002 — 5/MG Raw Data Collector sessions recorded no IMU data
A Raw Data Collector session (Test Centre) starts the strap's 100 Hz IMU stream, but the only writer to the session store,
ImuSessionFileStore.append, sat inCollector.ingest(frame:parsed:), which nothing in the app calls: ryanbr#1709 moved IMU storage behind that seam, and the 5/MG frame loop never enters it. Upstream has the same gap.The 5/MG frame loop now hands every frame to
Collector.bankImuForSessionsbefore the offload branch, so a session takes buffers from the live stream and from history sync, as ryanbr#1709 intended. Only intact 1244-byte buffers are banked, becauseWhoop5RawImudecodes without checking the CRC.Verification
CollectorImuBankingTests: an intact real buffer is banked, a CRC-flipped copy is not.StrandTests(1,966) and both app builds pass (NOOPiOS without the watch app)..imussegments. Attach the strap log.