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