Project Setup
Clone Repo
To get started clone the repo onto your system:
git clone https://github.com/Pico-Router/Pico-Router.git
Dev Container
For an easier introduction to the project it is heavily encouraged to use the pre-made Dev Container as it includes all the necessary depencies and toolchains.
Build the Dev Container image from project root using:
docker buildx build --platform linux/amd64 --load -t pico-router-dev:latest -f .devcontainer/Dockerfile .
To open the project in the Dev Container on VS Code you'll need Microsoft's Dev Containers extension. After that's installed run Dev Containers: Reopen in Container in the command pallet ( Ctrl ⇧ P ) to reopen the project in the container.
Manual Setup
In case you decide to work with Pico Router without the Dev Container make sure you have at least the following dependencies installed:
- CMake 3.13+
- A C++17-capable compiler
- The Raspberry Pi Pico SDK available through
PICO_SDK_PATH - The
arm-none-eabitoolchain for Pico builds - Python 3 for custom tooling
Firmware Builds
To build the Pico Router firmware from source you have two options. You can either build the firmware for the Raspberry Pi Pico 2 hardware target or you can build the binary for your host system for testing. To distinguish between the two build targets the CMake -DBUILD_PICO=ON build flag is used.
cmake -S . -B build-pico -DBUILD_PICO=ON
cmake --build build-pico
cmake -S . -B build-host # BUILD_PICO is OFF by default
cmake --build build-host
Running Unit Tests
Pico Router uses GTest as its main testing framework.