Expand description

Driver crate for the DW3000 UWB transceiver

The recommended way to use this driver is the high-level interface. If you require a higher degree of flexibility, you can use the register-level interface instead.

We used the crate dw1000 developped for the DW1000 module and changed the registers access and spi functions, added fast command and implemented some high level functions.

We tried a first positionning exemple using RTT methode. Lot of work still need to be added like the use of PDoA or AoA.

These examples uses a NUCLEO STM32F103RB

This driver is built on top of embedded-hal, which means it is portable and can be used on any platform that implements the embedded-hal API.

Re-exports

pub use ieee802154::mac;
pub use crate::configs::Config;
pub use crate::fast_command::FastCommand;
pub use crate::hl::DW3000;

Modules

Redirection of nb::block

Configuration structs for sending and receiving

Enumeration for fast commands

High-level interface to the DW3000

Low-level interface to the DW3000

Time-related types based on the DW3000’s system time

Macros

Turns the non-blocking expression $e into a blocking operation.

Structs

Indicates that the DW3000 instance is currently receiving in double buffer mode

An incoming message

Indicates that the DW3000 instance is ready to be used

Indicates that the DW3000 instance is currently sending

Indicates that the DW3000 instance is currently receiving in single buffer mode (default)

Indicates that the DW3000 instance is currently sleeping

Indicates that the DW3000 instance is not initialized yet

Enums

An error that can occur when sending or receiving data