1#ifndef DAQ_FSW_CONFIG_MANAGER_HPP
2#define DAQ_FSW_CONFIG_MANAGER_HPP
15struct BoardHeartbeatPacket;
37 bool initialize(
const std::string& bind_address, uint16_t bind_port);
53 const daq::BoardHeartbeatPacket& body,
54 const std::string& source_ip,
55 const std::string& mac_address);
65 uint8_t start_channel = 0);
94 void set_board_static_ip(uint8_t
board_id,
const std::string& ip);
Sensor Assignment Manager.
std::string process_board_heartbeat(const daq::PacketHeader &header, const daq::BoardHeartbeatPacket &body, const std::string &source_ip, const std::string &mac_address)
Process board heartbeat and assign IP if needed.
config::SystemState get_system_state() const
Get current system state.
config::SensorAssignmentManager & get_assignment_manager()
Get sensor assignment manager.
~FSWConfigManager()=default
config::SensorAssignmentManager assignment_manager_
std::map< uint8_t, bool > boards_configured_
bool send_config_to_board(uint8_t board_id)
Send configuration packet to board.
void send_configs_to_all_boards()
Send configuration to all configured boards.
config::SystemState current_state_
config::SystemState infer_system_state(uint8_t board_id, const std::string &source_ip) const
std::string bind_address_
Local address board config packets are sent from — the same NIC this manager listens on.
bool initialize(const std::string &bind_address, uint16_t bind_port)
Initialize FSW config manager.
bool assign_sensors(uint8_t board_id, const std::vector< std::string > &sensor_ids, uint8_t start_channel=0)
Assign sensors to a board.
std::unique_ptr< daq_comms::transport::UDPSocket > config_socket_
static ActuatorControllerState state
SystemState
System state (GSE or Flight).
Motorized ball valve position: raw ADC counts -> % open.