39#include <satnogs-comms-lib/version.hpp>
194 error_msg{
"Singleton class not initialized (init() not called)",
Generic antenna definition.
IO peripherals required for the control of the various subsystems of the board.
bsp::gpio & emmc_en
GPIO for the eMMC enable.
comms::lib::antenna & sband_antenna
S-Band antenna interface.
bsp::chrono & chrono
Chrono device for measuring time and introducing delay.
bsp::gpio & fpga_boot_sel_1
second GPIO for selecting fpga boot mode
bsp::gpio & led0
GPIO of the LED0.
bsp::gpio & emmc_rst
GPIO for the reset signal of the eMMC.
bsp::gpio & fpga_boot_sel_0
first GPIO for selecting fpga boot mode
bsp::gpio & fpga_done
GPIO indicating successful firmware load on the FPGA.
bsp::gpio & emmc_sel
GPIO for the eMMC direction selections.
comms::lib::antenna & uhf_antenna
UHF antenna interface.
bsp::gpio & led1
GPIO of the LED1.
radio::io_conf & radio_io
IO configuration of the radio subsystem.
power::io_conf & pwr_io
IO configuration of the power subsystem.
bsp::spi & fpga_spi
SPI peripheral for communication with the FPGA.
bsp::gpio & alert_t_pa_sband
Temperature alert GPIO for the S-Band PA.
bsp::gpio & alert_t_pa_uhf
Temperature alert GPIO for the UHF PA.
Board initialization parameters.
radio::params radio_params
radio subsystem initialization parameters
bsp::imsgq< radio::rx_msg > & rx_msgq
fpga::hw fpga_hw
FPGA type currently attached on the board.
comms::lib::power & power()
Returns a reference to the power subsystem.
comms::lib::emmc & emmc()
Returns a reference to the eMMC subsystem.
static void init(const io_conf &io, const params &p)
Initializes the board and creates a single instance.
static bool is_init()
Checks if the init() has already called by the user.
comms::lib::leds & leds()
Returns a reference to the LEDs subsystem.
comms::lib::radio & radio()
Returns a reference to the radio subsystem.
comms::lib::fpga & fpga()
Returns a reference to the FPGA subsystem.
static board & get_instance()
Gets a reference to the single instance of the Board interface class.
void operator=(board const &)=delete
float temperature(temperature_sensor s) const
Gets the temperature from a specific sensor.
bool alert(temperature_sensor s) const
Checks if there is an alert from a specific sensor.
board(board const &)=delete
comms::lib::antenna & antenna(radio::interface iface)
Chrono device abstraction.
Message queue device abstraction.
A class representing error messages in the SatNOGS-COMMS system.
severity
Severity levels of exceptions.
@ CATASTROPHIC
Failure causing loss of mission.
@ CRITICAL
Failure causing mission degradation or significant damage.
exception(severity sev, const char *file, int lineno, const error_msg &err_msg)
Constructor for the exception class.
initialization_exception(string_type file_name, numeric_type line)
LED control library for the SatNOGS-COMMS board.
Represents the I/O configuration for the power management system.
Manages power supplies and monitors subsystem status.
IO configuration that is necessary for the radio to operate.
Initialization parameters of the radio class.
Radio subsystem providing TX/RX functionality on UHF and S-Band.
interface
Radio interface identifier.
Manages multiple temperature sensors for monitoring and alerting.
uninitialization_exception(string_type file_name, numeric_type line)
#define EINIT
Singleton already initialized.
#define EUNINIT
Singleton not initialized (init() not called).
temperature_sensor
Source of temperature readings.