Get started by cloning the code

$ git clone

Read our installation instructions to get started

Packaged tag releases



The new package holds the concept of Vehicle as a default to allow flexibility and splits out the extra packages so they are not all in one place.


3 Degrees of Freedom

Added accelerometer classes and the I2C interfaces required to communicate with 9DOF stick. With this there are also a few playground scripts added to test the 9DOF stick.

Bug fixed the ticker timer for the servod program. It is now optimized for the Pi to handle the correct amount of tasks per second.

The tests have been improved to fit the vehicle model correctly, and added a few QuadX tests.


Updated Buffer, and created tests

The buffer class now uses a class instead of a std::queue. It implements a next function which runs the std::queue.front() and std::queue.pop() before returning the value of front element.

Also added a fix to wait after the GPIO reset, In non verbose mode it didn't give enough time for the board to reset, and therefore never work in non verbose mode


Bug Fixes with UART

  • UART now sleep on board reset so in non verbose mode getError does not timeout
  • demo.html now uses a smaller width and height support smaller screens

Thread Scopes and SIGHUPS

Segmented the functionality in Containers and Controllers - Added Thread::Scope for RAII protection - Moved all the loading into the Container - Added a small Controller which holds an instance of a container - Added SIGHUP reload in threadStepController thread - Automation virtual test environment added


Main program uses threads now

The program now uses threads to function its main program, Other key changes are refactoring code and improving interface to threads - Threads now return the return value from Thread::exit to Thread::join - Server has a appendBufferTo function to copy its buffer - servod program now uses threads to run its controls


Namespaced Threads

Updated tests and namespaced the Threads classes in server - Refactored threads to use special exception for invalid locks, and also namespaced thread values inside Threads namespace - Changed playground folder to be in the root rather than hidden in server folder. - Added locked tests for Threads


Multithreaded environment

This release adds the capacity to do threading, to the system. Note the program itself is not threaded at this point. - Added Threads - Added Lock - Added tests for Threads - Added playground/pthread for developing


First release

First every tagged release. Yay :+1: - Nothing to report