qiuchengxuan / pro-flight

Flight control software written in rust, provides more flexibility for customize and better OSD experience
GNU General Public License v2.0
25 stars 1 forks source link
flight-controller

pro-flight

Flight control software written in rust, aims to provide more convenience for developers and better OSD experience for users.

Why pro-flight?

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:

OSD

Progress

Implemented

WIP

Future

Priority map

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

Framework

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