How inavflight/inav works
INAV is embedded flight-controller firmware for multirotors, fixed-wing aircraft, and other vehicles. A pilot configures a controller and selects a flight mode; during flight, sensor and positioning inputs support stabilization and navigation, whose outputs are mixed for vehicle actuators. The README also identifies OSD, logging, telemetry, and programmable logic as product capabilities. Those subsystems are documented but their implementation paths and wiring are not present in the supplied tree, so they use the supported enclosing path src/main and only documented relationships are shown. USB mass-storage details are grounded in sampled source; other internal wiring was not inspected.
Main entry points: main Navigation · usbd_storage_sd_spi.c USB Mass Storage · mavlink_msg_storage_information.h MAVLink Messages · usbd_storage_emfat.c Flash Disk Image
Components 21
Flight Control
- Flight Modes
src/main - Navigation
src/main - Flight Stabilization
src/main - Configurable Mixer
src/main - Vehicle Actuators
- Logic And Functions
src/main
Sensing And Navigation
- Sensor Inputs
src/main - GPS Positioning
src/main - Altitude Sensing
src/main
Pilot And Display
- Flight Configuration
src/main - On-screen Display
src/main - Telemetry
src/main - MAVLink Messages
lib/main/MAVLink/common/mavlink_msg_storage_information.h - Gimbal Control Message
lib/main/MAVLink/storm32/mavlink_msg_storm32_gimbal_manager_control.h
Logging And Storage
- Blackbox Recorder
src/main - USB Host
- USB Mass Storage
src/main/msc/usbd_storage_sd_spi.c - SD Card
- Flash Disk Image
src/main/msc/usbd_storage_emfat.c - Flash Filesystem
Other components
- Pilot
Connections 21
- Pilot → Flight Configuration: configures
- Pilot → Flight Modes: selects
- Sensor Inputs → Flight Stabilization: provides measurements
- GPS Positioning → Navigation: provides position
- Altitude Sensing → Navigation: provides altitude
- Flight Modes → Flight Stabilization: selects behavior
- Navigation → Configurable Mixer: guides control
- Flight Stabilization → Configurable Mixer: provides control
- Configurable Mixer → Vehicle Actuators: drives outputs
- Sensor Inputs → On-screen Display: supplies display data
- Navigation → On-screen Display: supplies status
- Sensor Inputs → Blackbox Recorder: records flight data
- Navigation → Blackbox Recorder: records navigation
- Pilot → Telemetry: receives telemetry
- Telemetry → MAVLink Messages: encodes messages
- Pilot → MAVLink Messages: exchanges messages
- MAVLink Messages → Gimbal Control Message: includes dialect message
- USB Host → USB Mass Storage: requests block access
- USB Mass Storage → SD Card: reads and writes blocks
- USB Mass Storage → Flash Disk Image: serves flash disk
- Flash Disk Image → Flash Filesystem: reads flash files