\mainpage Roboid Control for C++ Roboid Control support for C++ applications. Supporting: - Windows - MacOS - Linux - Arduino (using PlatformIO). The following microcontrollers are tested and supported: - ESP8266 - ESP32 - UNO R4 WiFi - UNO (without networking support) # Basic components - RoboidControl::Thing - RoboidControl::Participant # Installation ## Core code The repository uses cmake for building. You can place it in a subfolder of your project and include it in you `CMakeLists.txt`. For example if the library is placed in the subfolder `roboidcontrol`: ``` # Add the path to Roboid Control add_subdirectory(roboidcontrol) # Your source files/executable add_executable(my_executable main.cpp) # Link against RoboidControl target_link_libraries(my_executable RoboidControl) ``` ## Arduino (PlatformIO) Arduino is only supported in combination with PlatformIO. The Arduino IDE is not (yet?) supported. The best way to include support for Roboid Control in PlatformIO is to clone the Roboid Control for C++ repository into a subfolder of the /lib folder. Alternatively you can download the zip file and unpack it as a subfolder of the /lib folder. ## ESP-IDF The best way to include support for Roboid Control in PlatformIO is to clone the Roboid Control for C++ repository into a subfolder of the /components folder. Alternatively you can download the zip file and unpack it as a subfolder of the /components folder. Make sure you have included RoboidControl as a component in your top-level CMakeLists.txt, for example: ``` list(APPEND EXTRA_COMPONENT_DIRS components/RoboidControl ) ``` # Get Started ## Core C++ Examples This repository contains examples in the `examples` folder. You can build these using cmake. For example, to build the BB2A example: ``` cmake -B build -D BUILD_EXAMPLE_BB2A=ON cmake --build build ``` The resulting executable is then `build/examples/Debug/BB2A.exe` ## Arduino (PlatformIO) Examples Specific examples for the Arduino platform are found in the `Arduino\examples` folder. To use them you should create a new project in PlatformIO and then copy the example code to your project.