#radio #bsc #decawave #uwb #dw1000

no-std dwm1001

Board Support Crate for the Decawave DWM1001 module and development board

8 releases (5 breaking)

0.6.0 Dec 14, 2021
0.5.0 Jan 27, 2021
0.4.0 Mar 30, 2020
0.3.0 Sep 25, 2019
0.1.0 Feb 22, 2019

#1502 in Embedded development

22 downloads per month
Used in cmim

0BSD license

215KB
3K SLoC

DWM1001 Board Support Crate crates.io Documentation Build Status

Introduction

Board support crate for the Decawave DWM1001 module and DWM1001 development board board, written in the Rust programming language.

Status

This crate itself is relatively stable and complete, but is still missing some features. Be mindful that its API exposes a number of other crates, whose development status varies.

This project is still in development. No guarantee of API stability is made, so expect future versions to require updates in your code.

Usage

Include this crate in your Cargo project by adding the following to Cargo.toml:

[dependencies.dwm1001]
version = "0.6"

This crate exposes various Cargo features that are useful in various situations, none of which is enabled by default:

  • dev: Exposes the features of the DWM1001 development board. If you're working with the DWM1001 development board, as opposed to a bare DWM1001 module, enable this feature.
  • rt: Enables runtime features. This is required if you're writing an application. Libraries should not enable this feature.
  • semihosting: Enable debug output via semihosting. Enable this feature only if you need it. If you enable this feature without being connected to a host, the program on the microcontroller won't run.

To build, upload and run an applicatio built on this library, you need working configuration for Cargo, cortex-m-rt, OpenOCD and GDB. You can use .cargo/config, openocd.cfg, memory.x, and .gdbinit from this repository as a starting point.

Documentation

Please refer to the API Reference for further documentation.

Example programs are available in the GitHub repository.

License

This project is open source software, licensed under the terms of the Zero Clause BSD License (0BSD, for short). This basically means you can do anything with the software, without any restrictions, but you can't hold the authors liable for problems.

See LICENSE.md for full details.

Created by Braun Embedded
Initial development sponsored by Ferrous Systems

Dependencies

~12MB
~279K SLoC