Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
Middlewares/ST/STM32_USB_Device_Library Inreased USB performance by switching to interrupt driven implementation Oct 19, 2016
bin Refactoring of make Feb 3, 2016
generated-test Added support for unit tests, #1 Feb 7, 2016
hal/stm32f0xx Improved USB performance and stability Oct 12, 2016
inc #41 Added configuration for UWB radio bitrate and preamble length Sep 3, 2018
lib/freertos #15: Improve sniffer performance with binary mode Jul 14, 2017
src Refactoring of menus. Closes #44 Jan 8, 2019
test #5: Fixed test and code for EEPROM write Feb 16, 2017
tools Closes #41. Minor updates in related scripts Sep 3, 2018
vendor Changed to latest version of the DW1000 lib. Closes #38 Aug 8, 2018
.gitignore Added script for setting tx power of anchors Aug 10, 2018
.gitmodules extracted the driver of dw1000 into a library to be reused in the cra… Feb 8, 2016
.travis.yml Added compile flag for longer range in TDoA 3 Jun 13, 2018 Create Oct 24, 2017
LICENSE Add license Feb 4, 2016
Makefile #27 Implemented the TDoA3 protocol on top of the TDoA2 implementation… May 4, 2018 Add instruction to install compiler on Linux Oct 19, 2016
Rakefile extracted the driver of dw1000 into a library to be reused in the cra… Feb 8, 2016
module.json Refactoring of make Feb 3, 2016

LPS node firmware Build Status

This project contains the source code for the Local positioning System node firmware.


You'll need to use either the Crazyflie VM, install some ARM toolchain or the Bitcraze docker builder image. If you install a toolchain, the arm embedded gcc toolchain is recomended.

Frameworks for unit testing are pulled in as git submodules. To get them when cloning

git clone --recursive

or if you already have a cloned repo and want the submodules

git submodule init        
git submodule update        


brew tap PX4/homebrew-px4
brew install gcc-arm-none-eabi

Debian/Ubuntu linux

Download, extract and put in your path the compiler from For example:

mkdir -p ~/opt/
cd ~/opt
tar xvf gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2
mv gcc-arm-none-eabi-5_4-2016q3 gcc-arm-none-eabi
rm gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2
echo "export PATH=\$PATH:\$HOME/opt/gcc-arm-none-eabi/bin" >> ~/.bashrc

On 64Bit Linux you also need to install some 32Bit libs:

sudo apt-get install libncurses5:i386

If all works you will be able to execute arm-none-eabi-gcc:

$ arm-none-eabi-gcc --version
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 5.4.1 20160919 (release) [ARM/embedded-5-branch revision 240496]
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO

Arch Linux

sudo pacman -S community/arm-none-eabi-gcc community/arm-none-eabi-gdb community/arm-none-eabi-newlib


TODO: Please share!




docker run --rm -v ${PWD}:/module bitcraze/builder ./tools/build/compile


tools/do compile

Folder description:

TODO: Please share!

Make targets:

all        : Shortcut for build
flash      : Flash throgh jtag
openocd    : Launch OpenOCD
dfu        : Flash throgh DFU 

Unit testing

We use Unity and cmock for unit testing.

To run all tests

./tools/do test

You can’t perform that action at this time.