All Projects → korken89 → trustflight_firmware

korken89 / trustflight_firmware

Licence: Apache-2.0, MIT licenses found Licenses found Apache-2.0 LICENSE-APACHE MIT LICENSE-MIT
A multirotor flight controller firmware you can trust!

Programming Languages

rust
11053 projects
shell
77523 projects
GDB
78 projects
Logos
282 projects

TrustFlight

Build Status

A flight controller firmware you can trust!

Aim

The aim of this project is twofold, 1) I am looking to learn Rust and how its borrow checker can be applied in embedded design to constrain and guide, while 2) I want to compare Rust vs latest C++, especially in the metaprogramming functionality when it comes to enforcing constraints at compile time.

From a practical perspective this is mostly a complete rewrite/redesign of the old KFly code into Rust, with better modularization and less complexity.

Layout

In the trustflight folder is the main firmware, while in trustflight-hal is the low-level code for talking to the hardware, including abstrations, aka the HAL.

Features

  • Runs the cortex-m-rtfm scheduler, practically the same as crect (C++ version)
  • Minimal communication overhead to a high level flight computer via COBS ZPE/ZRE together with priority buffers to minimize delay and jitter
  • All communication is designed to be DMA driven, no CPU intervention needed
  • Adaptive notch filters to reduce impact of vibrations (similar to Betaflight's dynamic filter)
  • Modern sensor suite
    • ST's ISM330DLC IMU - with heater to temperature stabilize the sensor
    • Bosch's BMP388 barometer
  • Support for the latest protocols
    • F.port for RC input and telemetry to the pilot
    • DShot motor protocol with telemetery at about 200 Hz per motor
  • Has accompanying reference hardware (OSHW) available here
    • Has (soon) a board trait to allow for simple support of other hardware platforms

Contributors

List of contributors in alphabetical order:


License

Licensed under either of

at your option.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].