Project type: Arduino library that can be compiled for Linux and the Pico SDK.
requires: doxygen
steps:
cd docsdoxygen(generatesdocs/html)- optional: open
docs/html/index.html
requires: cmake, build tools (and sudo for install)
steps:
cmake -B build -S . [...cmake options]cmake --build buildsudo cmake --install build(required for building examples)
- Dependency ordering (use git HEAD of
masterunless specified):- RF24 (build & install)
- RF24Network (build & install)
RF24Mesh(build)
- Example commands to install dependencies from source (repeat for each
dependency):
git clone <repo> && cd <repo>cmake -B build -S .cmake --build buildsudo cmake --install build
requires: cmake, build tools
steps:
cmake -B examples_RPi/build examples_RPi [...cmake options]cmake --build examples_RPi/build
requires: cmake, PicoSDK (Windows: ninja may be required)
steps:
cmake -B examples_pico/build examples_pico [...cmake opts]cmake --build examples_pico/build
About RF24 and RF24Network dependency
The examples_pico/CMakeLists.txt expects RF24 and RF24Network repos
checked out adjacent to this repo's root folder. Unless otherwise noted, RF24
and RF24Network master branch tip is used.
requires:
python,pip, and Python C API headersboost.python(typically provided viaapt-get install)
steps:
- Create a venv (can be done with various tools). Need only be done once.
- Activate the venv (depends on method used in previous step), if not already in active venv.
pip install -v ./pyRF24Mesh
Notes about dependencies:
- Most dependencies can be installed via
apt-get install python3-dev libboost-python-dev. - The RF24 and RF24Network (C++ libs) are required to be installed beforehand too.
requires: clang-format v14.x
steps:
clang-format-14 -i --style=file <file>- On Windows (powershell does not expand globs):
clang-format -i --style=file <file>
Note: clang-tidy can only be used when targeting Linux builds. Prefer WSL when building on a Windows host machine.
- To generate a compilation database required by
clang-tidy:cmake -B build -S . -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
- Run
clang-tidywith the-poption pointing to the build directory:clang-tidy -p build <files>