How boraayhan/talon-flight-computer works
TALON is an under-development UAV flight computer. Its principal documented workflow is remote pilot input becoming flight commands, which the runtime routes to autopilot or manual control and then to configured servos and motors; trim follows a separate command path. The README also documents TOGA and input-loss safety behavior, while the tree includes navigation, sensor, and storage modules. Sampled code supports the main runtime and actuator wiring, but does not establish how the Python serial transmitter connects to the RF24 receiver or how the unsampled navigation and sensor modules are orchestrated.
Main entry points: TALON.cpp TALON runtime · CommunicationManager.cpp Command receiver · Autopilot.cpp Autopilot modes · FlightControlsManager.cpp Flight controls manager
Components 18
Pilot Input
- Joystick transmitter
src/transmit.py - Command receiver
lib/TALON/src/communication/CommunicationManager.cpp - Command payload
lib/TALON/src/communication/CommunicationPayload.cpp
Flight Runtime
- Firmware entry
src/main.cpp - TALON runtime
lib/TALON/src/TALON.cpp - Flight data types
lib/TALON/src/global/DataStructs.h - Autopilot modes
lib/TALON/src/control/Autopilot/Autopilot.cpp
Flight Actuation
- Flight controls manager
lib/TALON/src/control/FlightControlsManager/FlightControlsManager.cpp - Control surfaces
lib/TALON/src/control/ControlSurface/ControlSurface.cpp - Motor output
lib/TALON/src/control/Motor/Motor.cpp
Navigation Data
- Pathfinder
lib/TALON/src/control/Autopilot/Pathfinder.cpp - Dubins paths
lib/TALON/src/control/Autopilot/DubinsPathGenerator/dubins.c - Runway model
lib/TALON/src/control/Autopilot/Runway.cpp - IMU placeholder
lib/TALON/src/data/sensors/IMU_PLACEHOLDER/IMUPlaceholder.cpp - SD data
lib/TALON/src/data/SD/SD.cpp
Other components
- Pilot joystick
- USB serial
- RF24 radio
Connections 14
- Pilot joystick → Joystick transmitter: moves joystick
- Joystick transmitter → USB serial: writes payload
- RF24 radio → Command receiver: delivers packets
- Firmware entry → TALON runtime: calls periodic
- TALON runtime → Command receiver: polls commands
- Command receiver → Command payload: decodes packets
- Command receiver → Flight data types: updates commands
- TALON runtime → Autopilot modes: updates and queries
- TALON runtime → Flight controls manager: applies commands
- Autopilot modes → Flight data types: produces flight command
- Flight controls manager → Control surfaces: moves and trims
- Flight controls manager → Motor output: sets throttle
- Autopilot modes → Pathfinder: uses navigation
- Pathfinder → Dubins paths: generates paths