Reference implementation of the UAVCAN protocol stack.
- UAVCAN specification
- Libuavcan overview
- List of platforms officially supported by libuavcan
- Libuavcan tutorials
Despite the fact that the library itself can be used on virtually any platform that has a standard-compliant C++03 or C++11 compiler, the library development process assumes that the host OS is Linux.
Prerequisites:
- Google test library for C++ - gtest (see how to install on Debian/Ubuntu)
- C++03 and C++11 capable compiler with GCC-like interface (e.g. GCC, Clang)
- CMake 2.8+
- Optional: static analysis tool for C++ - cppcheck (use Debian/Ubuntu package
cppcheck
)
Building the debug version and running the unit tests:
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug
make
Test outputs can be found in the build directory under libuavcan
.
Contributors, please follow the Zubax Style Guide.
An Eclipse project can be generated like that:
cmake ../../uavcan -G"Eclipse CDT4 - Unix Makefiles" \
-DCMAKE_ECLIPSE_VERSION=4.3 \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_CXX_COMPILER_ARG1=-std=c++11
Path ../../uavcan
in the command above points at the directory where the top-level CMakeLists.txt
is located; you may need to adjust this per your environment. Note that the directory where Eclipse project is generated must not be a descendant of the source directory.
First, get the Coverity build tool. Then build the library with it:
export PATH=$PATH:<coverity-build-tool-directory>/bin/
mkdir debug && cd debug
cmake <uavcan-source-directory> -DCMAKE_BUILD_TYPE=Debug
cov-build --dir cov-int make -j8
tar czvf uavcan.tgz cov-int
Then upload the resulting archive to Coverity.