|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Variables | |
| constexpr int | kRecvTimeoutMs = 200 |
| Long enough that the loop is not spinning, short enough that stop() is prompt. | |
| constexpr int | kReconnectBackoffMs = 200 |
| constexpr int | kResubscribeMs = 1000 |
| How often a table that has never delivered is asked for again. | |
|
constexpr |
Definition at line 14 of file PressureFeed.cpp.
|
constexpr |
Long enough that the loop is not spinning, short enough that stop() is prompt.
Definition at line 13 of file PressureFeed.cpp.
|
constexpr |
How often a table that has never delivered is asked for again.
subscribe_tables() only reports whether the SOCKET WRITE succeeded — it sends request id 0 and never reads a reply, and the C++ client has no ErrorResponse handling at all. So a subscription the DB refuses is silent, and on a cold start it is refused routinely: the sequencer and the calibration service come up together, and whichever loses the race subscribes to a calibrated PT table before calibration_service has registered its VTable. Measured on the stand 2026-09-16: PressureFeed subscribed at 16:45:08.348, the calibrated VTables were registered at 16:45:08.494 — 146 ms later. The DB answered "invalid msg id", nothing retried, and the feed stayed blind for the life of the process. Every dynamic state reading a pressure was then refused entry with "has produced no reading yet" for the whole session, decided by ~150 ms of startup ordering.
Definition at line 30 of file PressureFeed.cpp.