Skip to content
Rodeo

Your first app

Every app and example is a self-contained folder: its own src/main.cpp and a small Makefile that sets two variables and includes the shared rules.

Copy the template

Terminal window
cp -r rodeo-sdk/template rodeo-sdk/examples/10_my_app

Delete the template’s RODEO_ROOT line

rodeo.mk defaults to RODEO_ROOT = ../.., which resolves correctly two levels below rodeo-sdk/. The template carries an explicit RODEO_ROOT for its own shallower location — delete that line once the copy is in examples/, or the build looks for the SDK in the wrong place.

The Makefile

examples/10_my_app/Makefile
TARGET = my_app
CPP_SOURCES = src/main.cpp
include ../../common/rodeo.mk

The pin map

board.h is the single source of truth for the Rodeo pin and channel map, and it is host-safe — it has no libDaisy in it, so host tests can include it too.

It names every pin by what it is wired to — board::pin::kSatTx, not seed::D2 — and lists the ten I/O connectors by their silkscreen. Target code turns a pin into libDaisy’s with board_daisy.h:

#include "board_daisy.h"
GPIO gate;
gate.Init(board::ToDaisy(board::kIo[board::kIoD1].pin), GPIO::Mode::INPUT);

The whole map is on The board and its pin map. The blink below needs none of it: it only uses the Seed’s own LED.

src/main.cpp
#include "daisy_seed.h"
#include "board.h"
using namespace daisy;
DaisySeed hw;
int main(void) {
hw.Init();
while (1) {
hw.SetLed(true);
System::Delay(250);
hw.SetLed(false);
System::Delay(250);
}
}
Terminal window
make && make program-dfu

If the onboard LED blinks, the toolchain, the board and the flash path all work.

Where instrument code goes

An instrument lives outside the SDK, in its own component directory, and consumes the SDK rather than forking it. instruments/rodeo-002/firmware/ is the worked example: it links the vendored libDaisy and DaisySP and the shared drivers, and keeps only its own voice and panel code. It builds against the frozen v0.2.0 SDK for now, and is the first instrument to move onto this one once the boards are brought up.