27#include <zephyr/drivers/flash.h>
32static const struct device *
const flash = DEVICE_DT_GET(DT_NODELABEL(flash));
33static constexpr size_t size = DT_REG_SIZE(DT_NODELABEL(lfs1_partition));
34constexpr off_t
offset = DT_REG_ADDR(DT_NODELABEL(lfs1_partition));
37struct fs_mount_t *
mountpoint = &FS_FSTAB_ENTRY(DT_NODELABEL(lfs1));
55 flash_erase(flash,
offset, size);
63 for (
auto key : m_settings_map.keys()) {
64 m_runtime_settings_map.insert({key, m_settings_map[key].default_value});
227 reset_sequence(std::make_index_sequence<m_settings_map.size()>{});
241 load_sequence(std::make_index_sequence<m_settings_map.size()>{});
255 save_sequence(std::make_index_sequence<m_settings_map.size()>{});
static constexpr uint32_t ASM
CCSDS frame synchronization marker.
static error_handler & get_instance()
Singleton access to the error_handler subsystem.
Generic exception indicating an invalid argument.
at86rf215_fsk_srate_t rate
FSK data rate.
float excess_bw
FSK 3-dB bandwidth of the shaping filter.
RX configuration parameters.
fsk_conf fsk
FSK parameters.
uint32_t sync
The synchronization word.
rf_frontend::filter filter
Hardware filter selection.
uint32_t freq
The desired RX frequency to set.
rf_frontend::rx_gain_params gain
Gain settings to set.
uint8_t preamble_len
The length of the preamble in bytes.
uint32_t sync
The synchronization word.
fsk_conf fsk
FSK parameters.
uint32_t freq
The desired RX frequency to set.
uint8_t preamble_len
The length of the preamble in bytes.
Radio subsystem providing TX/RX functionality on UHF and S-Band.
interface
Radio interface identifier.
clk_src
PLL Reference Clock identifier.
@ INTERNAL
Internal Crystal Oscillator.
@ EXTERNAL
External Reference Clock (TCXO).
union satnogs::comms::lib::rf_frontend::rx_gain_params::@057170116231345201073375110000256144366370046377 gain0
float tgt
Target signal level for the AGC [-60, -35].
union satnogs::comms::lib::rf_frontend::rx_gain_params::@215011014006014333052114215072331261330071377362 gain1
float gain
Fixed gain value in dB [-6, 29.5].
void save()
Save all the core settings from the RAM shadow table to FLASH.
void save_one()
Save a core setting from RAM shadow table to FLASH.
settings()
Construct a new settings::settings object and mounts the LittleFS partition.
void set(T x)
Sets a mission-defined setting in RAM shadow table.
void get_tx_conf(lib::radio::interface iface, lib::radio::tx_conf &cnf)
Retrieve the TX configuration parameters for a specific interface.
void get_rx_conf(lib::radio::interface iface, lib::radio::rx_conf &cnf)
Retrieve the TX configuration parameters for a specific interface.
auto get()
Get a specific core setting from RAM shadow table.
bool deployed()
Retrieves the information regarding if this is the first time that the system deploys.
void reset_all()
Resets all the settings to their default values.
lib::radio::clk_src radio_clk_src()
Returns the current radio clock source.
void incr_boot_cnt()
Increments the current boot count and stores it at the persistent storage.
void load()
Loads all the core settings from FLASH to the RAM shadow table.
FS_FSTAB_DECLARE_ENTRY(DT_NODELABEL(lfs1))
struct fs_mount_t * mountpoint
at86rf215_fsk_srate_t baudrate