Flight control software written in rust, aims to provide more convenience for developers and better OSD experience for users.
There are some popular flight-control software like Betaflight, INAV, PX4 and ardupilot, which is indeed mature and stable, while programming language they're using is C/C++ which is a bit of outdated, and besides:
In conclusion, I want to customize my own flight-control software while not willing to use C/C++.
Here's a sample OSD output:
Implemented
WIP
Future
Priority | Module |
---|---|
Systick | Software interrupts |
Immediate | Serial RX, ESC and Servo |
Sensor | USART DMA and Sensor Interrupt |
System | SPI/I²C DMA |
Telemtry | OSD |
Main | LED/CLI |
graph LR
subgraph Sensors
Accelerometer
Gyroscope
Magnetometer
style Magnetometer stroke-dasharray: 5 5
Barometer
GNSS
end
Accelerometer -->|"Acceleration(RAW)"| IMU
Gyroscope -->|"Gyro(RAW)"| IMU
Magnetometer -.-> |Magnetism| IMU
GNSS -->|Heading/Course| IMU
Barometer -->|Pressure| Altimeter
subgraph INS
Speedometer --> Positioning
end
IMU -->|"Acceleration(CAL)<br/>Attitude"| Speedometer
GNSS -->|datetime| System-clock
GNSS -->|V/S<br/>G/S| Speedometer
GNSS -->|Coordinate| Positioning
Altimeter -->|Altitude| Variometer
Altimeter -->|Altitude| Positioning
Variometer -->|V/S| Speedometer
subgraph FCS
PIDs --> Servos
end
RC -->|Input| PIDs
IMU -->|"Gyro(CAL)"| PIDs