Skip to content

David-OConnor/corvus

Repository files navigation

Corvus: Small UAS flight controller firmware

todo: Fill out this README

This mainly exists as a code demo, although is mostly functional for quadcopter rate-control ("acro") flight, when paired with specific hardware. There is nascent code to support fixed-wing flight, but it is incomplete and untested.

It usesRTIC to manage control flow, via interrupts.

Overview

This firmware is tied to specific hardware configurations. It runs on STM32G4 and STM32H743 flight controllers. (AnyLeaf boards). It requires specific hardware, currently:

  • ICM426xx IMU
  • DPS310 baro
  • UART or CAN GPS using the UBLOX protocol
  • MSP Displayport OSD
  • DSHOT600 ESCs
  • ELRS (CRSF) controls
  • WIP support for CAN GPS, external AHRS, and controls

It is in either a flyable, or close to flyable state if paired with compatible hardware, using acro mode only. Code is written for semi-autonomous flight modes, but these are not working.

Its primary flight control model is attitude-based. Its acro mode is based on this as well, setting the attitude target based on rate controls, vice direct gyro reads. This results in higher latency compared to traditional gyro-based acro modes, but is less sensitive to tuning. It decouples control inputs from response.

See the accompanying Preflight repo for PC software that connects via USB to configure view system status, and configure the UAS.

See the accompanying AHRS library, which it uses as a dependency, for the attitude heading-reference system.

See this DroneCAN library for interaction with CAN peripherals.

See descriptions in individual modules for their function.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published