|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
CommsMessage - Template-based message serialization. More...
#include <CommsMessage.hpp>
Classes | |
| struct | is_std_array |
| struct | is_std_array< std::array< T, N > > |
| struct | MessageSizeHelper |
| struct | MessageSizeHelper< CommsMessage< Ts... > > |
Public Member Functions | |
| CommsMessage () | |
| CommsMessage (Fields... args) | |
| template<std::size_t Index> | |
| auto & | getField () |
| template<std::size_t Index> | |
| const auto & | getField () const |
| template<std::size_t Index, typename ValueType> | |
| void | setField (ValueType &&value) |
| constexpr std::size_t | get_size () const |
| void | serialize (uint8_t *buffer) const |
| void | deserialize (const uint8_t *buffer) |
Static Public Member Functions | |
| static constexpr std::size_t | nbytes () |
Public Attributes | |
| std::tuple< Fields... > | fields |
Private Member Functions | |
| template<typename T> | |
| void | serialize_field (uint8_t *buffer, std::size_t &offset, const T &field) const |
Static Private Attributes | |
| template<typename T> | |
| static constexpr bool | is_std_array_v = is_std_array<T>::value |
| template<typename T> | |
| static constexpr bool | is_comms_message_v = is_comms_message<T>::value |
CommsMessage - Template-based message serialization.
Standalone implementation for DAQ system. Provides type-safe message definition and serialization.
Definition at line 24 of file CommsMessage.hpp.
|
inline |
Definition at line 28 of file CommsMessage.hpp.
|
inline |
Definition at line 32 of file CommsMessage.hpp.
|
inline |
Definition at line 67 of file CommsMessage.hpp.
Referenced by sequencer::PressureFeed::runLoop(), and fsw::control::ControllerService::subscriberReadLoop().
|
inlineconstexpr |
Definition at line 50 of file CommsMessage.hpp.
|
inline |
Definition at line 36 of file CommsMessage.hpp.
Referenced by sequencer::PressureFeed::runLoop(), and fsw::control::ControllerService::subscriberReadLoop().
|
inline |
Definition at line 41 of file CommsMessage.hpp.
|
inlinestaticconstexpr |
Definition at line 79 of file CommsMessage.hpp.
|
inline |
Definition at line 57 of file CommsMessage.hpp.
|
inlineprivate |
Definition at line 87 of file CommsMessage.hpp.
Referenced by comms::CommsMessage< uint64_t, uint8_t, uint8_t >::serialize(), and comms::CommsMessage< uint64_t, uint8_t, uint8_t >::serialize_field().
|
inline |
Definition at line 46 of file CommsMessage.hpp.
Referenced by main(), fsw::routing::HeartbeatRouter::process_heartbeat(), fsw::routing::SensorRouter::route_lc_samples(), fsw::routing::SensorRouter::route_lc_samples_calibrated(), fsw::routing::SensorRouter::route_pt_samples(), fsw::routing::SensorRouter::route_pt_samples_calibrated(), fsw::routing::SensorRouter::route_rtd_samples(), fsw::routing::SensorRouter::route_rtd_samples_calibrated(), fsw::routing::SensorRouter::route_tc_samples(), fsw::routing::SensorRouter::route_tc_samples_calibrated(), and anonymous_namespace{t7_bridge_main.cpp}::run_board().
| std::tuple<Fields...> comms::CommsMessage< Fields >::fields |
Definition at line 25 of file CommsMessage.hpp.
Referenced by fsw::control::PressureStateMachine::executeStateEntryActions(), main(), fsw::control::PressureStateMachine::sendActuatorCommand(), fsw::control::ControllerService::setFireActive(), fsw::control::ControllerService::writeActuationToDB(), fsw::control::ControllerService::writeDiagnosticsToDB(), and fsw::control::ControllerService::writeMeasurementToDB().
|
staticconstexprprivate |
Definition at line 128 of file CommsMessage.hpp.
|
staticconstexprprivate |
Definition at line 118 of file CommsMessage.hpp.