How dantiel/orniflight works
OrniFlight is documented as Betaflight-based ornithopter flight-control firmware. Its principal workflow is stabilization inputs and PID terms shaping a phase-locked wing trajectory, which drives oscillating wing servos to produce flapping flight. The README describes ONDAS’s eight modulation layers and damping anchor; their implementation paths are not present in the supplied tree, so those nodes have no asserted source path. The tree does show CMSIS DSP, CMSIS core headers, MAVLink message definitions, and USB mass-storage backends. Their product-level wiring is not established by the sampled excerpts, so uncertain connections are omitted.
Main entry points: msc USB storage · usbd_storage_sd_spi.c SD SPI backend · usbd_storage_sdio.c SDIO backend
Components 22
ONDAS Control
- Stabilization inputs
- PID terms
- Cadence
- Ferocity
- Balance
- Warp
- Resonance
- Prescience
- Espelho
- Saudade
- Damping anchor
Wing Actuation
- Wing oscillator
- Flapping servos
Firmware Platform
- CMSIS core
lib/main/CMSIS/Core/Include - CMSIS DSP
lib/main/CMSIS/DSP/Source
Device Interfaces
- MAVLink messages
lib/main/MAVLink/common - USB storage
src/main/msc - SD SPI backend
src/main/msc/usbd_storage_sd_spi.c - SDIO backend
src/main/msc/usbd_storage_sdio.c
Other components
- Pilot / config
- Flapping flight
- SD card
Connections 25
- Pilot / config → Stabilization inputs: sets inputs
- Stabilization inputs → PID terms: feeds errors
- PID terms → Cadence: modulates
- PID terms → Ferocity: modulates
- PID terms → Balance: modulates
- PID terms → Warp: modulates
- Stabilization inputs → Resonance: phase-locks
- Stabilization inputs → Prescience: predicts errors
- Stabilization inputs → Espelho: cancels self-noise
- PID terms → Saudade: learns bias
- Damping anchor → Wing oscillator: varies damping
- Cadence → Wing oscillator: shifts timing
- Ferocity → Wing oscillator: sets sharpness
- Balance → Wing oscillator: biases thrust
- Warp → Wing oscillator: asymmetrizes
- Resonance → Wing oscillator: amplifies error
- Prescience → Wing oscillator: feeds forward
- Espelho → Wing oscillator: subtracts noise
- Saudade → Wing oscillator: accumulates trim
- Wing oscillator → Flapping servos: drives trajectory
- Flapping servos → Flapping flight: produces flapping
- USB storage → SD SPI backend: dispatches storage
- USB storage → SDIO backend: dispatches storage
- SD SPI backend → SD card: reads / writes
- SDIO backend → SD card: reads / writes