This project has some dependencies for various functionality. The dependencies are as follows:
Prerequisites:
- Eigen3 [header only] (http://eigen.tuxfamily.org)
- Boost [Component: system] (https://www.boost.org/)
Submodules:
- cpp_redis (https://github.com/cpp-redis/cpp_redis)
- Catch2 (https://github.com/catchorg/Catch2)
git clone --recurse-submodules https://github.com/theilem/cpsCore.git
cd cpsCore
mkdir -p bld/release && cd bld/release
cmake -DCMAKE_BUILD_TYPE=Release ../../
make
make install
Aggregation defines how objects are aggregated together and contains all the aggregation logic. Check the aggregation tests for an example of how Aggregation is done.
Configuration defines how configurable objects are made and contains all the configuration logic. Check the configuration tests for an example of how Configuration is done.
Synchronization defines all the runnable objects and contains all the synchronization and run stage logic. Check the synchronization tests for an example of how Synchronization is done.
This contains the logic for the CPSLogger, the logger used in this project.
Utilities contain all helper classes which can be Aggregatable, Configurable, and Runnable. This is a catchall directory for components
Theile, M., Dantsker, O., Nai, R., Caccamo, M., & Yu, S. (2020). uavAP: A Modular Autopilot Framework for UAVs. In AIAA AVIATION 2020 FORUM (p. 3268).