retain telemetry across transport outages

This commit is contained in:
Jay
2026-08-17 14:00:14 -04:00
parent bc4a2856e1
commit 291c6b54e6
11 changed files with 222 additions and 37 deletions
+7 -5
View File
@@ -66,10 +66,12 @@ overruns. Hardware data-ready interrupts and FIFO acquisition are deferred to th
later sensor-side acquisition refinement.
Completed samples enter a 512-record RAM queue, providing 5.12 seconds of
transport-stall tolerance at 100 Hz. A lower-priority output task
batches up to eight records into versioned `TRK1` frames, isolating acquisition
from brief USB or future BLE stalls. CRC, packet and sample sequences, timestamps,
and cumulative loss/overrun counters make loss detectable.
blocked or disconnected transport tolerance at 100 Hz. A failed write retains
and retries its packet while this queue accumulates the backlog. A lower-priority
output task batches up to eight records into versioned `TRK1` frames, isolating
acquisition from brief USB or future BLE stalls. CRC, packet and sample sequences,
timestamps, and cumulative loss/overrun counters make any queue overflow
detectable.
Measured end-to-end framing overhead is about 2.47 kB/s at 100 Hz, or 8.47
MiB/hour before BLE link overhead.
@@ -123,7 +125,7 @@ Status bits:
The binary capture tool auto-detects a single `/dev/cu.usbmodem*` device, stores
only CRC-valid frames, renders CSV, and reports packet, sample, timing, status,
drop, and overrun totals:
drop, overrun, timestamp-saturation, and trailing-partial-byte totals:
```sh
python tools/capture_binary.py