Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Glossary

TermMeaning
ABI (persistent)The stored byte format other firmware versions rely on: container, section IDs, CBOR payloads. See Persistent ABI
BackendA platform implementation of a portable trait: WifiBackend, IpBackend, BleTransport, ConfigStorage
BleTransportPortable BLE peripheral API: one connected central as a bounded byte pipe
CapabilityA feature a device advertises through GetCapabilities; clients must not infer features from the firmware version
CommandA transient, bounded request to an owner task (scan, reconnect). Contrast desired state
ConfigHandle / ConfigStore / ConfigSectionHandle to the configuration owner task / the transactional store / one typed section owned by a feature crate
Control plane (BLE)The local protobuf protocol served over BLE by rohi-control + rohi-control-ble
Control plane (Wi-Fi)WifiHandle / WifiManager: configuration, scan, status, reconnect, disconnect. Not DNS or TCP
Desired stateThe latest value a runtime should converge to (for example the desired WifiConfig); published, not queued. See Runtime ownership
EspWirelessThe single owner of the ESP radio peripherals and the wireless heap; creates the Wi-Fi and BLE drivers
Golden testA test pinning exact encoded bytes or IDs so accidental ABI changes fail
HandleA small copyable value giving other tasks bounded access to a service owned by one task
IdentityThe device’s single Ed25519 key, provisioned from the host (never generated on the device) and stored as the Identity config section. See Device identity
IP data planeNetworkHandle: DNS and TCP through embedded-nal-async / embedded-io-async, and bounded UDP sockets
MeasurementStore / MeasurementHandle / snapshotOwner-side store of typed observations / handle for on-demand requests / immutable MeasurementsSnapshot generated at request time
OwnerThe one task (or runtime object) that holds the mutable state of a service
ProductA firmware (Altruist Urban) that composes the SDK and owns its resource budget
ReconciliationThe Wi-Fi manager continuously moving the actual radio state towards the latest desired configuration
Section IDFNV-1a 64-bit hash of the Rust struct name identifying a ConfigSection
SensorDriver / RunnerDriver trait for one sensor / the generic task loop handling probing, polling, backoff and recovery
Slot (A/B)One of the two flash slots of the configuration region; updates go to the inactive one and commit last
Time anchorThe accepted absolute time together with the monotonic instant it was accepted at; wall-clock time is anchor + monotonic elapsed. See Time service
TimeService / TimeSourceThe single source of optional wall-clock time / an abstract producer of absolute-time samples (NTP, future RTC)
Wall-clock timeUnixTime: absolute time, available only after a valid sample and allowed to step; never used for durations (those use monotonic time)
Wireless heapThe fixed heap shared by the Wi-Fi and BLE controllers; the only heap in the firmware