1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/pkg/uwb-dw1000
2024-03-26 14:54:22 +01:00
..
hal pkg/uwb-dw1000: fix compilation with clang 2023-07-18 12:24:10 +02:00
include pkg/uwb-dw1000: update txpower from OTP register on boot 2022-04-25 13:32:59 +02:00
patches pkg/uwb-dw1000: fix compilation with clang 2023-07-18 12:24:10 +02:00
0006-hw-drivers-dw1000_otp-fix-function-signature.patch pkg/uwb-dw1000: update txpower from OTP register on boot 2022-04-25 13:32:59 +02:00
doc.txt pkg/uwb-dw1000: fix README include 2024-02-29 17:27:06 +01:00
Makefile pkg/uwb-dw1000: add -Wno-cast-align 2021-12-03 10:12:35 +01:00
Makefile.dep pkg: 64 bit compatibility 2024-01-18 00:40:08 +01:00
Makefile.include pkg/uwb-dw1000: initial import 2020-11-12 12:07:20 +01:00
README.md doc/pkg: include some Readme.md within doc.txt 2022-01-25 17:41:40 +01:00
uwb-dw1000.mk pkg/uwb-dw1000: initial import 2020-11-12 12:07:20 +01:00

Decawave uwb-dw1000 RIOT Port

The distribution https://github.com/decawave/uwb-core contains the device driver implementation for the Decawave Impulse Radio-Ultra Wideband (IR-UWB) transceiver(s). The driver includes hardware abstraction layers (HAL), media access control (MAC) layer, Ranging Services (RNG).

Abstraction details

uwb-dw1000 is meant as a hardware and architecture agnostic driver. It was developed with MyNewt as its default OS, but its abstractions are well defined which makes it easy to use with another OS.

A porting layer DPL (Decawave Porting Layer) has been implemented that wraps around OS functionalities and modules: mutex, semaphores, threads, etc.. In most cases the mapping is direct although some specific functionalities might not be supported. This layer is found in the uwb-core pkg.

A hardware abstraction layer is defined under hal which wraps around modules such as: periph_gpio, periph_spi, etc.

Since the library was used on top of mynewt most configuration values are prefixed with MYNEWT_VAL_%, all configurations can be found under pkg/uwb-dw1000/include/syscfg.

Todos

The uwb-dw1000 can be used to provide a netdev driver for the dw1000 module.

uwb-dw1000 repository uses fixed length arrays to keep track of the devices that are present. This port uses linked list but some of the upstream code is not compatible with this.