31 std::string
host =
"127.0.0.1";
57 std::string
host =
"127.0.0.1";
259 return static_cast<uint8_t
>(m == 0 ? 10 : m);
305 const std::map<std::string, int>*
sensor_roles_for(
const std::string& board_key)
const;
309 const std::string& section_key)
const;
312 const std::map<std::string, double>*
full_scale_for(
const std::string& section_key)
const;
315 const std::map<std::string, double>*
sense_resistor_for(
const std::string& section_key)
const;
318 const std::map<std::string, double>*
sensitivity_for(
const std::string& section_key)
const;
321 const std::map<std::string, double>*
pga_gain_for(
const std::string& section_key)
const;
336std::map<ActiveBoardKind, std::vector<elodin::BoardChannels>>
active_boards(
const Config& cfg);
Per-board clock sync for DAQ sample timestamping.
std::map< uint8_t, PtBoardConfig > pt_boards(const Config &cfg)
Derive PT board 4-20 mA parameters keyed by Elodin slot (mirrors old load_pt_boards()).
std::map< ActiveBoardKind, std::vector< elodin::BoardChannels > > active_boards(const Config &cfg)
Derive the active-board table (enabled boards -> Elodin BoardChannels), with the same slot-collision ...
ActiveBoardKind
Board kinds from [boards.
ActiveBoardKind kind_of(const std::string &type_str)
[boards.
Config load_from_string(const std::string &text)
Parse config from an in-memory TOML string (SequencerService / ActuatorCommander hold it so).
Config load(const std::string &path)
Parse config.toml.
Motorized ball valve position: raw ADC counts -> % open.
std::string controller_role
double hp_pt_full_scale_psi
int enable_serial_printing
std::vector< int > active_connectors
Connector ids this board samples — the ONLY statement of which channels exist.
uint8_t slot() const
Elodin slot: board_id % 10, with 0 mapping to 10.
double hp_pt_sense_resistor_ohms
double rtd_adc_ref_voltage
double tc_adc_ref_voltage
double lc_sensitivity_mv_per_v
double lc_full_scale_value
The whole parsed config.toml, restricted to what C++ consumes.
ActuatorServiceConfig actuator_service
ServerHeartbeatConfig server_heartbeat
std::map< std::string, std::map< std::string, double > > calibration_sense_resistor
std::map< std::string, std::map< std::string, double > > calibration_sensitivity
const std::map< std::string, double > * sense_resistor_for(const std::string §ion_key) const
[calibration_sense_resistor_<board>] role->Ω map, or nullptr when absent/empty.
ControllerConfig controller
std::vector< BoardConfig > boards
std::vector< T7Board > t7_boards
const std::map< std::string, double > * full_scale_for(const std::string §ion_key) const
[calibration_full_scale_<board>] role->PSI map, or nullptr when absent/empty.
std::map< std::string, std::map< std::string, double > > calibration_full_scale
std::vector< std::string > t7_errors
CalibrationConfig calibration
fsw::time::TimeSyncConfig time_sync
const std::map< std::string, std::string > * calibration_model_for(const std::string §ion_key) const
[calibration_model_<board>] role->model map, or nullptr when absent/empty.
StateMachinePaths state_machine
HeartbeatServiceConfig heartbeat_service
std::map< std::string, double > abort_pts
const std::map< std::string, int > * sensor_roles_for(const std::string &board_key) const
[sensor_roles_<board>] with a legacy [sensor_roles] fallback.
std::map< std::string, ActuatorRole > actuator_roles
std::vector< StateDef > states
std::map< std::string, std::map< std::string, std::string > > calibration_models
const std::map< std::string, double > * sensitivity_for(const std::string §ion_key) const
[calibration_sensitivity_<board>] role->mV/V map, or nullptr when absent/empty.
const std::map< std::string, double > * pga_gain_for(const std::string §ion_key) const
[calibration_pga_<board>] role->gain map, or nullptr when absent/empty.
std::map< std::string, std::map< std::string, double > > calibration_pga_gain
ControllerServiceConfig controller_service
uint32_t config_broadcast_interval_ms
std::map< std::string, std::map< std::string, int > > sensor_roles
double controller_loop_hz
double fallback_ox_duty_cycle
std::string thrust_curve_path
double fallback_fuel_duty_cycle
uint32_t fire_extended_ms
uint32_t fire_duration_ms
bool sequencer_owns_valves
Who drives the valves during the burn.
std::string gate_actuator
The valve the burn is timed around, if the fire state staggers its actuators.
std::string expiry_target
[flow] — the characterization hold: open a valve for an exact interval, then close it.
std::string gate_actuator
The actuator the hold is timed around — the one whose opening actually starts the flow.
std::string return_target
uint16_t backend_udp_port
uint16_t actuator_cmd_port
bool send_from_daq_bridge
std::string script_timeout_target
Where the state lands when script_timeout_ms expires.
uint32_t script_timeout_ms
Wall-clock ceiling for the whole script, in milliseconds.
std::string script_file
Script filename inside the profile's scripts/ directory, e.g.
std::string script_return_target
Where the state lands when the script runs off its end without calling transition_to.
bool is_flow
Marks the state the characterization hold drives.
std::string transitions_csv
std::string actuator_delay_csv