AUDIO
Source snapshot · 12 October 2026

Embedded projects

Independent bare-metal starter and validation

python3 scripts/new-project.py --kind embedded-rust --destination ../my-stm32-project \
  --name my-stm32-project --license GPL-3.0-only

This creates a no_std consumer library with prepared fixed audio and a synthetic fixture, not an entry-point firmware binary. Keep product code/assets/wrappers in this private sibling. Absolute Rust dependencies and copied Arduino headers need updating when RAVET moves or changes; see project starters.

Host behavior tests, no-default-feature tests, native C/C++ fixtures and optional cross-target checks run through:

rustup target add thumbv6m-none-eabi thumbv7em-none-eabihf \
  aarch64-unknown-linux-gnu armv7-unknown-linux-gnueabihf
python3 scripts/check-embedded.py --cross

The script requires a Unix-like host with Rust, Python, C and C++ compilers. It builds a host static library and exercises the actual C symbols. The embedded workflow configures Ubuntu execution; remote CI execution remains separate evidence. See work status for checks actually executed. Arduino compile/link environments are recorded in work status as build evidence only. Physical Arduino/Pi runtime, STM32 final linking/flashing and real-time/device compatibility remain unvalidated.