/rust-radio-at86rf212

Rust driver for the Atmel AT86RF212 radio IC

Primary LanguageRustMozilla Public License 2.0MPL-2.0

rust-radio-at86rf212

A rust driver for the Atmel AT86RF212 Sub 1GHz ISM band radio IC, based on ryankurte/libat86rf212.

Status

GitHub tag Build status Crates.io Docs.rs

Open Issues

Work in Progress

  • Register operations
  • Initialisation
  • Polling
  • Simple Send
  • Simple Receive
  • Packet building & parsing
  • Auto ACK
  • Auto Retransmit
  • Interrupt Mode
  • DMA support
  • Unit testing
  • Integration Testing

Testing

Unit testing should be implemented using dbrgn/embedded-hal-mock.

Integration testing is run using a Raspberry Pi model 3 with an IO shield and a pair of XPlained PRO Zigbit + ATRF212B-0-U modules.

The RPi pins are configured at startup as in rpi_setup.sh and the environment is configured in rpi_env.sh (though these are separately injected into the test system). Note that CS0 and CS1 functions are not currently used.

buildkite with a custom worker is used to run integration tests against a physical hardware.

at86rf212-test-setup

Licensing

This project is licensed as GPLv3 for all purposes. For alternative licensing options / proprietary use, please contact the author (and we'll be happy to help ^_^).