This page presents the Decawave Module Open Software Development Kit (DMOSDK).
Brief
The Decawave Module Open Software Development Kit (DMOSDK) is a framework developed by the IRIT RMESS team in order to facilitate the integration of Decawave’s UWB modules in standard software libraries used in the industry.
Official repository: https://github.com/irit-rmess/DMOSDK
Included software
- CMSIS 5: ARM’s Cortex M HAL
- deca_driver: Decawave’s DW1000 HAL
- FreeRTOS
- nrfx: nRF’s SoC HAL
- Kconfiglib: Kconfig python implementation
Features
- Software configuration through a
menuconfig
- Compilation using GCC toolchain
- Board-based debug configuration
Supported Hardware
- DWM1001-DEV: Decawave’s DWM1001 development board
- Yahu: Yahu
Required software
arm-none-eabi-gcc
make
python3
Getting started
Have a look under the examples
directory
Firmware
To generate a binary for the DWM1001:
- Create a directory for your project
- Write a
Makefile
that defineDWM1001_FRAMEWORK_PATH
and includesbuild_tools/common.mk
- Configure the software libraries with
make menuconfig
- Write your application’s code with at least a
main
function - Compile with
make
Code documentation
Source code documentation is generated using Doxygen:
- Navigate to
doc
folder - Run
./generate_all_html_doc.sh
Using a Docker image
To avoid dealing with the tools’ installation, a Dockerfile to build an all-in-one image is provided under docker
To build the image, run:
docker build -f docker/Dockerfile .
Compilation and debug can be done inside a container:
docker run -it -v $(pwd):/dmosdk iritrmess/dmosdk:latest
License
DMOSDK is distributed under the GPLv3 license. Please refer to the LICENSE
file.