pub struct DevDomainSnapshot {Show 19 fields
pub channel_keys: Vec<[u8; 32], MAX_CHANNEL_KEYS>,
pub peers: Vec<[u8; 32], MAX_DEV_PEERS>,
pub dev_key: Option<[u8; 32]>,
pub repeater_enabled: bool,
pub repeater_regions: Vec<u8, { _ }>,
pub repeater_default_region: Option<[u8; 2]>,
pub repeater_min_rssi: Option<i16>,
pub repeater_min_snr: Option<i8>,
pub ident_role: Option<u8>,
pub ident_mobile: bool,
pub discoverable: bool,
pub advert_interval_s: u32,
pub beacon_interval_s: u32,
pub startup_beacon: bool,
pub tz_offset_min: i16,
pub gnss_enabled: bool,
pub gnss_ident_update: bool,
pub gnss_ident_precision: u8,
pub gnss_time_trust: bool,
}Expand description
The session’s device-domain tables, mirrored to the board’s device node whenever their generation moves (device-node plan increment 3).
Fields§
§channel_keys: Vec<[u8; 32], MAX_CHANNEL_KEYS>§peers: Vec<[u8; 32], MAX_DEV_PEERS>§dev_key: Option<[u8; 32]>The session’s live PROP_DEV_KEY.
The device node compares this against the key its MAC was built
with rather than merely checking that some identity exists. The
two can disagree — a newly installed PROP_DEV_PRIVATE_KEY takes
effect at the next boot, and CMD_CLEAR + CMD_RST erases the
stored one — and in every such case the running node is no longer
the identity the session describes and must stop originating
traffic under it.
repeater_enabled: boolPROP_MAC_REPEATER_ENABLED: whether the device node should
forward overheard routable frames. Advertised as the REP
capability bit — a fact about what the node does, not a choice
about what it calls itself.
repeater_regions: Vec<u8, { _ }>PROP_MAC_REPEATER_REGIONS: the flood-forwarding region filter,
as concatenated 2-octet codes. Empty imposes no restriction.
Carried in wire order so the device node can both configure the MAC’s region filter and hand the same bytes to the Supported Regions identity option without reshaping either.
repeater_default_region: Option<[u8; 2]>PROP_MAC_REPEATER_DEFAULT_REGION: the code the node inserts
into an untagged flood packet, or None to never tag.
repeater_min_rssi: Option<i16>PROP_MAC_REPEATER_MIN_RSSI: minimum RSSI in dBm to
flood-forward, or None for no threshold.
repeater_min_snr: Option<i8>PROP_MAC_REPEATER_MIN_SNR: minimum SNR in whole dB to
flood-forward, or None for no threshold.
ident_role: Option<u8>PROP_IDENT_ROLE: the advertised ROLE byte, or None to
derive it from the forwarding state.
ident_mobile: boolPROP_IDENT_MOBILE: whether to advertise the MOB capability
bit.
discoverable: boolPROP_DEV_DISCOVERABLE: whether the device identity answers
Identity Requests.
advert_interval_s: u32PROP_ADVERT_INTERVAL: seconds between unsolicited
advertisements, 0 for none.
beacon_interval_s: u32PROP_BEACON_INTERVAL: seconds between unsolicited beacons, 0 for
none.
startup_beacon: boolPROP_STARTUP_BEACON: whether one beacon goes out at bring-up.
tz_offset_min: i16PROP_TZ_OFFSET: minutes east of UTC, for whatever renders a
local time.
gnss_enabled: boolPROP_GNSS_ENABLED: whether the receiver should be powered.
Always false on a board without CAP_GNSS.
Carried here rather than as an effect of its own so that a host
write, a boot restore, and a CMD_RST all reach the receiver by
the same path — the mirror is published whenever the device domain
moves, which is exactly the set of moments this can change.
gnss_ident_update: boolPROP_GNSS_IDENT_UPDATE: whether fixes refresh the advertised
node identity’s location.
gnss_ident_precision: u8PROP_GNSS_IDENT_PRECISION: how far the advertised location is
clamped down from the fix.
gnss_time_trust: boolPROP_GNSS_TIME_TRUST: whether receiver-derived time may set the
wall clock.