STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
sequencer::anonymous_namespace{PressureFeed.cpp} Namespace Reference

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.

Variable Documentation

◆ kReconnectBackoffMs

int sequencer::anonymous_namespace{PressureFeed.cpp}::kReconnectBackoffMs = 200
constexpr

Definition at line 14 of file PressureFeed.cpp.

◆ kRecvTimeoutMs

int sequencer::anonymous_namespace{PressureFeed.cpp}::kRecvTimeoutMs = 200
constexpr

Long enough that the loop is not spinning, short enough that stop() is prompt.

Definition at line 13 of file PressureFeed.cpp.

◆ kResubscribeMs

int sequencer::anonymous_namespace{PressureFeed.cpp}::kResubscribeMs = 1000
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.