extend telemetry queue to five seconds
This commit is contained in:
@@ -28,6 +28,8 @@ Both breakouts share SDA, SCL, 3V3, and GND. The firmware checks both possible
|
|||||||
- ADXL345: `0x53` or `0x1D`; expected `DEVID` is `0xE5`.
|
- ADXL345: `0x53` or `0x1D`; expected `DEVID` is `0xE5`.
|
||||||
- L3G4200D: `0x69` or `0x68`; expected `WHO_AM_I` is `0xD3`.
|
- L3G4200D: `0x69` or `0x68`; expected `WHO_AM_I` is `0xD3`.
|
||||||
|
|
||||||
|
The XIAO ESP32-C3 external antenna is installed for the upcoming BLE transport.
|
||||||
|
|
||||||
## Sensor configuration
|
## Sensor configuration
|
||||||
|
|
||||||
- ADXL345: nominal 100 Hz output rate, full-resolution mode, +/-8 g. Nominal scale is
|
- ADXL345: nominal 100 Hz output rate, full-resolution mode, +/-8 g. Nominal scale is
|
||||||
@@ -63,7 +65,8 @@ consumer can distinguish a fresh sample from a repeated poll and identify gyro
|
|||||||
overruns. Hardware data-ready interrupts and FIFO acquisition are deferred to the
|
overruns. Hardware data-ready interrupts and FIFO acquisition are deferred to the
|
||||||
later sensor-side acquisition refinement.
|
later sensor-side acquisition refinement.
|
||||||
|
|
||||||
Completed samples enter a 128-record RAM queue. A lower-priority output task
|
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
|
batches up to eight records into versioned `TRK1` frames, isolating acquisition
|
||||||
from brief USB or future BLE stalls. CRC, packet and sample sequences, timestamps,
|
from brief USB or future BLE stalls. CRC, packet and sample sequences, timestamps,
|
||||||
and cumulative loss/overrun counters make loss detectable.
|
and cumulative loss/overrun counters make loss detectable.
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ before that first valid frame separately from CRC failures after synchronization
|
|||||||
## Buffering
|
## Buffering
|
||||||
|
|
||||||
Acquisition runs in a dedicated higher-priority task and writes complete samples
|
Acquisition runs in a dedicated higher-priority task and writes complete samples
|
||||||
to a 128-entry RAM queue. The lower-priority output task batches up to eight
|
to a 512-entry RAM queue. The lower-priority output task batches up to eight
|
||||||
records per frame. At 100 Hz this queue represents about 1.28 seconds of
|
records per frame. At 100 Hz this queue represents about 5.12 seconds of
|
||||||
decoupling from a blocked transport. Queue overflow never overwrites an older
|
decoupling from a blocked transport. Queue overflow never overwrites an older
|
||||||
sample silently: sequence gaps and the cumulative lost-sample counter expose it.
|
sample silently: sequence gaps and the cumulative lost-sample counter expose it.
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ BLE link overhead, far below the previous CSV stream.
|
|||||||
## Task separation and buffer
|
## Task separation and buffer
|
||||||
|
|
||||||
The 100 Hz I2C acquisition runs at FreeRTOS priority 10. USB encoding/output runs
|
The 100 Hz I2C acquisition runs at FreeRTOS priority 10. USB encoding/output runs
|
||||||
at priority 5 and receives samples through a 128-entry queue (about 1.28 seconds
|
at priority 5 and receives samples through a 512-entry queue (about 5.12 seconds
|
||||||
at 100 Hz). The hardware capture's zero timing anomalies and zero loop overruns
|
at 100 Hz). The hardware capture's zero timing anomalies and zero loop overruns
|
||||||
confirm that packet encoding, CRC, float metadata, and USB output did not disturb
|
confirm that packet encoding, CRC, float metadata, and USB output did not disturb
|
||||||
the acquisition cadence.
|
the acquisition cadence.
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
#define TRIKKE_I2C_FREQ_HZ 400000
|
#define TRIKKE_I2C_FREQ_HZ 400000
|
||||||
#define TRIKKE_SAMPLE_RATE_HZ 100
|
#define TRIKKE_SAMPLE_RATE_HZ 100
|
||||||
#define TRIKKE_SAMPLE_TICKS pdMS_TO_TICKS(1000 / TRIKKE_SAMPLE_RATE_HZ)
|
#define TRIKKE_SAMPLE_TICKS pdMS_TO_TICKS(1000 / TRIKKE_SAMPLE_RATE_HZ)
|
||||||
#define TRIKKE_SAMPLE_QUEUE_DEPTH 128
|
#define TRIKKE_SAMPLE_QUEUE_DEPTH 512
|
||||||
#define TRIKKE_METADATA_INTERVAL_PACKETS 64
|
#define TRIKKE_METADATA_INTERVAL_PACKETS 64
|
||||||
|
|
||||||
// Software calibration from the 2026-08-17 enclosure six-face capture.
|
// Software calibration from the 2026-08-17 enclosure six-face capture.
|
||||||
|
|||||||
Reference in New Issue
Block a user