Flight computer subproject context. Use when working in the flight_computer package, camera capture, video processing, audio recording, or high-level mission logic.
The flight computer is the high-level processing unit of the payload system, running on an Orange Pi 4A single-board computer with Linux.
flight_computer/
├── Cargo.toml
├── Cargo.lock
├── README.md
├── src/
│ ├── main.rs # Entry point, camera capture
│ └── 2581417.txt # DaytonAudio mic calibration
└── target/
cd flight_computer
cargo build --release
cargo run --release
Target: Standard Linux (aarch64 or x86_64 depending on dev machine)
Before running on Orange Pi 4A:
Remove standard ffmpeg, install ffmpeg-rk:
sudo apt remove ffmpeg
# Install ffmpeg-rk for hardware encoding
Install PipeWire audio system:
# Replace PulseAudio with PipeWire
Camera capture using nokhwa with callback-based frame processing:
use nokhwa::{CallbackCamera, pixel_format::LumaFormat, utils::CameraIndex};
let index = CameraIndex::Index(3); // Camera at index 3
let mut camera = CallbackCamera::new(index, requested, |buffer| {
let decoded = buffer.decode_image::<LumaFormat>().unwrap();
decoded.save("./test.png").unwrap();
}).unwrap();
camera.open_stream().unwrap();
| Crate | Version | Purpose |
|---|---|---|
| nokhwa | 0.10.10 | Camera/webcam access |
| image | 0.25.9 | Image processing/encoding |
src/2581417.txt contains DaytonAudio microphone frequency response calibration data for accurate audio recording.
orange-pi-4a: Hardware platform detailspico-logger: Telemetry source