Skip to content

Latest commit

 

History

History
39 lines (26 loc) · 1.74 KB

File metadata and controls

39 lines (26 loc) · 1.74 KB

Crazyradio Rust driver Latest version Documentation tests

Crazyradio USB dongle driver for Rust.

This crate implements low level support for the Crazyradio PA USB dongle. It implements the protocol documented in the Crazyradio documentation. It uses the rusb crates to access the USB device.

Crazyradio is a 2.4GHz USB radio dongle based on the Nordic Semiconductor nRF24LU1 radio chip. It is mainly intended to be used to control and communicate with the Crazyflie nano quadcopter.

Usage

The crates exposes a Crazyradio struct that can be used to open a Crazyradio dongle, configure it, sent packet and receive ack with it. See the Crazyradio struct documentation for an example.

To run the examples use, e.g.,:

cargo run --features async,shared_radio --example async_scan
cargo run --example console

Shared and async radio

The feature shared_radio enables the SharedCrazyradio struct that can be used to share a radio dongle between threads.

The feature async enables async functions in the SharedRadio struct as well as to create the Crazyradio struct.

The feature packet_capture enables packet capturing to Wireshark.

Serde support

To enable Serde support for serializing and deserializing Channels, enable the feature "serde_support".