$ sudo apt install libjson-c-dev
The repo for the library is located on the Strawson Design GitHub page. There is a bug in the 1.0.4 release version (rc_duplicate_filter
fails for initialized filter) so install librobotcontrol from source.
In the scripts folder there are some convenient scripts for moving files to and from the vehicle. These scripts were build and tested on Ubuntu 19.04 but have not been tested on any other system. They should work on any system with bash and rsync. To transfer the files to the vehicle run:
$ ./scripts/transfer_rcpilot [usb|wifi|a2sys]
Note: a2sys
option refers to the linksys router. This option depends on the beaglebone static IP being properly set. The wifi
option refers to the beaglebones onboard wifi.
$ make
$ sudo ./bin/rc_pilot -s settings/[quad_settings].json
Make sure that doxygen is installed on your system and run
$ make docs
Open the docs with the web browser of your choice
$ firefox docs/html/index.html
$ google-chrome docs/html/index.html
Test cases are written using the Boost 1.66 testing suite. Look at make target test for system install location. This suite is not written with portability in mind so it may take some tweaking to get it to work right now. Typically, installing boost with the option --prefix=/usr/local
should put the libraries and headers in the correct location but don't count on it.
Run the test suit with the make target:
$ make test
To add a test modules, create a new file <module_name>_test.cpp and format it as follows:
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_SUIT(Test_<module_name>)
BOOST_AUTO_TEST_CASE(test1){...}
BOOST_AUTO_TEST_CASE(test2){...}
...
BOOST_AUTO_TEST_CASE_END()
The make target will compile each test module into a single executable and run all test cases simultaneously.