|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
A fake actuator board: binds the actuator command UDP port on loopback and records what was actually sent, and when. More...
Classes | |
| struct | Burst |
| One received command burst: when it arrived (ms since the listener started) and what it said. More... | |
| class | BoardListener |
| Collects UDP actuator packets, folding the 3x retransmit of one batch into a single burst. More... | |
Typedefs | |
| using | Clock = std::chrono::steady_clock |
Functions | |
| long long | firstCommand (const std::vector< Burst > &bursts, uint8_t ch, uint8_t hw, long long after_ms=-1) |
| When ch was first commanded to hw at or after after_ms. | |
A fake actuator board: binds the actuator command UDP port on loopback and records what was actually sent, and when.
This is the only thing that can answer "did the valve move when we said it would". Every other way of testing the delay feature measures a clock somewhere in the sequencer, which is how a staggered send could be shadowed by an unstaged one for as long as it was: the arithmetic was right and the commands still went out together. Assert on the wire.
Shared by test_actuator_delays (the mechanism) and test_hold_rules (the caller).
| using daqtest::Clock = std::chrono::steady_clock |
Definition at line 31 of file BoardListener.hpp.
|
inline |
When ch was first commanded to hw at or after after_ms.
-1 if it never was.
Definition at line 133 of file BoardListener.hpp.
Referenced by attemptEntry(), and main().