pub struct SessionConfig {Show 16 fields
pub dev_version: &'static str,
pub default_device_name: &'static str,
pub mtu: u16,
pub sync_word: u16,
pub min_tx_power_dbm: i8,
pub max_tx_power_dbm: i8,
pub freq_khz_min: u32,
pub freq_khz_max: u32,
pub defaults: RadioSettings,
pub default_duty_limit: u16,
pub duty: &'static DutyLedger,
pub battery: Option<BatteryFields>,
pub alert: Option<AlertConfig>,
pub time: Option<TimeConfig>,
pub gnss: Option<GnssConfig>,
pub illuminance: bool,
}Expand description
Fixed properties of the device this session runs on.
Fields§
§dev_version: &'static strPROP_DEV_VERSION string (without NUL terminator).
default_device_name: &'static strFactory/post-reset value of PROP_DEV_NAME.
mtu: u16PROP_PHY_MTU; must not exceed MAX_MTU.
sync_word: u16The only sync word this firmware can use; PROP_PHY_LORA_SW
sets must match it (v0 limitation).
min_tx_power_dbm: i8Lowest transmit power the radio supports, in dBm.
max_tx_power_dbm: i8Highest transmit power the radio supports, in dBm.
freq_khz_min: u32Tunable frequency range in kHz, inclusive.
freq_khz_max: u32§defaults: RadioSettingsPost-reset radio settings. enabled is forced off on reset per
the spec regardless of what this carries.
default_duty_limit: u16Post-reset PROP_PHY_DUTY_LIMIT.
duty: &'static DutyLedgerThe shared duty ledger. The session owns the limit’s lifecycle
and records its own transmissions here, but the ledger is
consulted by every radio client on the device (the device node’s
TX path draws from the same budget), so PROP_PHY_DUTY_NOW
reports the combined figure and PROP_PHY_DUTY_LIMIT bounds the
combined airtime.
battery: Option<BatteryFields>None: not battery powered; CAP_BATTERY is absent and
PROP_BATTERY is unknown. Some: the capability is advertised
and the fields say which measurements the platform reports.
alert: Option<AlertConfig>None: the board has no way to make itself conspicuous;
CAP_ALERT is absent and PROP_ALERT is unknown. Some: the
capability is advertised and the config carries the deadline.
time: Option<TimeConfig>None: the board keeps no wall clock; CAP_TIME is absent and
PROP_TIME / PROP_TZ_OFFSET are unknown.
gnss: Option<GnssConfig>None: no GNSS receiver; CAP_GNSS is absent and the positioning
properties are unknown. Meaningful only alongside
time — see GnssConfig.
illuminance: boolWhether an ambient light sensor is fitted. When set,
CAP_ILLUMINANCE is advertised and PROP_ILLUMINANCE samples on
every read; otherwise the property is unknown.
Trait Implementations§
Source§impl Clone for SessionConfig
impl Clone for SessionConfig
Source§fn clone(&self) -> SessionConfig
fn clone(&self) -> SessionConfig
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SessionConfig
impl Debug for SessionConfig
impl Copy for SessionConfig
Auto Trait Implementations§
impl Freeze for SessionConfig
impl !RefUnwindSafe for SessionConfig
impl Send for SessionConfig
impl Sync for SessionConfig
impl Unpin for SessionConfig
impl !UnwindSafe for SessionConfig
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)