Files
Robin Anderson 5f694c5d9b Read poses at 100 Hz while both controllers are still
A knock needs the controller to move first. While every tracked
controller stays under 0.1 m/s, the pose thread reads every 10 ms. The
first read that sees a controller faster than that switches back to
1 kHz, which holds for 0.5 s after the last movement.

KNOCKTHRU_TEST_RATE now takes moving_speed, hold_s, still_ms, and
idle_ms for sweeps. Every recording gives the same actions as the 1 kHz
replay, calibration included. Margins from the sweep:

- still_ms 20 and 30 give the same result.
- moving_speed 0.2 with hold_s 0.5 gives the same result.
- moving_speed 0.3 with hold_s 0.5 loses one headset double.
- moving_speed 0.3 with hold_s 0.3 gives a wrong action in mixed.

Reads in the recordings, which are knock sessions with little rest,
drop from 414,710 to 378,881 (9%). straps and leg-doubles drop 20%.
play and noise do not change.

scripts/measure.sh 60 on the Frame in standby, twice: 0.23-0.28% CPU
and 70 wakeups/s for the whole app, the same as before this change. The
still rate only applies with a controller on, which needs the headset
worn, so the Frame has no measurement of it yet.
2026-10-24 22:42:10 -04:00
..
2026-10-24 19:04:39 -04:00
2026-10-24 19:04:39 -04:00