|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Heartbeat Service — C++ SERVER_HEARTBEAT broadcaster. More...
Functions | |
| void | signalHandler (int) |
| static constexpr uint8_t | stateToEngine (uint8_t s) |
| void | elodinThread (std::string host, uint16_t port) |
| std::vector< uint8_t > | buildHeartbeatPacket (uint8_t engine_state) |
Variables | |
| std::atomic< bool > | g_running {true} |
| std::atomic< uint8_t > | g_engine_state {0} |
| constexpr int | kElodinRecvTimeoutMs = 3000 |
| constexpr uint8_t | SERVER_HEARTBEAT_TYPE = 2 |
| constexpr uint8_t | DIABLO_VERSION = 0 |
Heartbeat Service — C++ SERVER_HEARTBEAT broadcaster.
Subscribes to Elodin [0x5000] (SequencerState) for current state, maps it to the legacy EngineState enum (0-4), and broadcasts SERVER_HEARTBEAT (type 2) to all boards on the subnet every 1s.
Packet: type(1)=2, version(1)=0, timestamp_ms(4 LE), engine_state(1)
Usage: ./heartbeat_service [–config PATH] [–elodin-host HOST] [–elodin-port PORT] [–broadcast-ip IP] [–broadcast-port PORT] [–interval-ms MS]
| std::vector< uint8_t > anonymous_namespace{heartbeat_service_main.cpp}::buildHeartbeatPacket | ( | uint8_t | engine_state | ) |
Definition at line 156 of file heartbeat_service_main.cpp.
References DIABLO_VERSION, and SERVER_HEARTBEAT_TYPE.
Referenced by main().
| void anonymous_namespace{heartbeat_service_main.cpp}::elodinThread | ( | std::string | host, |
| uint16_t | port ) |
Definition at line 103 of file heartbeat_service_main.cpp.
References g_engine_state, g_running, kElodinRecvTimeoutMs, fsw::elodin::kTableSequencerState, port, and stateToEngine().
Referenced by main().
| void anonymous_namespace{heartbeat_service_main.cpp}::signalHandler | ( | int | ) |
Definition at line 43 of file heartbeat_service_main.cpp.
References g_running.
|
staticconstexpr |
Definition at line 59 of file heartbeat_service_main.cpp.
Referenced by elodinThread().
|
constexpr |
Definition at line 49 of file heartbeat_service_main.cpp.
Referenced by buildHeartbeatPacket().
| std::atomic<uint8_t> anonymous_namespace{heartbeat_service_main.cpp}::g_engine_state {0} |
Definition at line 38 of file heartbeat_service_main.cpp.
Referenced by elodinThread(), and main().
| std::atomic<bool> anonymous_namespace{heartbeat_service_main.cpp}::g_running {true} |
Definition at line 37 of file heartbeat_service_main.cpp.
Referenced by elodinThread(), and signalHandler().
|
constexpr |
Definition at line 41 of file heartbeat_service_main.cpp.
Referenced by elodinThread().
|
constexpr |
Definition at line 48 of file heartbeat_service_main.cpp.
Referenced by buildHeartbeatPacket().