PROVES Core Reference - Software Design Documents
Welcome to the PROVES Core Reference documentation site. This documentation provides comprehensive information for working with PROVES Core Reference, from getting started to detailed component design documents.
Overview
PROVES Core Reference is a reference software implementation combining F Prime (NASA's flight software framework) with Zephyr RTOS to create firmware for embedded flight control boards. The project targets ARM Cortex-M microcontrollers, specifically RP2350 (Raspberry Pi Pico 2) and STM32 boards.
Documentation Sections
Getting Started
Step-by-step guides to set up your development environment, build the firmware, and flash it to your board:
- Initial Setup
- Clone the repository and set up dependencies
- Build, Flash, and Run
- Build and deploy the firmware
Component Software Design Documents (SDDs)
The documentation is organized into the following categories:
Core Components
System-level components that manage the overall operation and state of the spacecraft: ADCS, Mode Manager, Startup Manager, Reset Manager, Watchdog, Bootloader Trigger, Detumble Manager
Communication Components
Components that handle various communication protocols and interfaces: Amateur Radio, S-Band, Com CCSDS UART, Com CCSDS S-Band, Com CCSDS LoRa, Payload Com, Com Delay
Hardware Components
Components that interface with physical hardware devices and actuators: Antenna Deployer, Burnwire, Camera Handler, Load Switch
Sensor Components
Components that manage and process data from various sensors: IMU Manager, Power Monitor, Thermal Manager
Driver Components
Low-level driver components for specific hardware peripherals: Drv2605 Manager, Ina219 Manager, RTC Manager, Tmp112 Manager, Veml6031 Manager
Storage Components
Components that manage persistent storage and filesystem operations: Flash Worker, Fs Format, Fs Space, Null Prm Db
Security Components
Components that handle authentication and security features: Authenticate, Authentication Router
Additional Resources
Troubleshooting guides and additional configuration information:
- Board List
- Tested boards and their configurations
- Specifying Board Configuration
- Troubleshooting
- WSL Notes
- Self-Hosted Runner Setup
Navigation
Use the navigation tabs above to browse through the different component SDDs. Each SDD includes:
- Introduction and purpose
- Requirements
- Design details
- Port definitions
- Command and event specifications
- Telemetry information
- Usage examples