An embedded-hal like abstraction for digital radio devices, this is intended to provide a common basis for implementing packet radio drivers, and for extension to support 802.15.4 / BLE etc. in the hope that we can construct embedded network stacks using this common abstraction.
Radio devices should implement the core traits, and then gain automatic blocking helper functions. Experimental async/await helpers are available behind the nonblocking
feature flag, this uses dtolnay/async-trait, imports std
and async-std
, and requires a nightly compiler, and a MockRadio
implementation for testing is available behind the mock
feature flag (also requiring nightly).
Work In Progress, expect major API changes
- Generic Traits
- Transmit
- Receive
- Set Channel
- Fetch RSSI
- Register Access
- Configuration (?)
- Mode Specific Traits (and definitions)
- 802.15.4
- BLE
- LoRa
- Helpers
- Blocking
- Async
- ryankurte/rust-radio-sx127x
- ryankurte/rust-radio-sx128x
- ryankurte/rust-radio-at86rf212
- ryankurte/rust-radio-s2lp
For similar interfaces, check out:
- Riot-OS
- Contiki-OS
- Tock-PS