GitXplorerGitXplorer
k

trustflight_firmware

public
35 stars
0 forks
1 issues

Commits

List of commits on branch master.
Unverified
198e21f5065e2803c4fca3f5bf0e28b2ef675b9b

Edition 2018 now used

kkorken89 committed 6 years ago
Unverified
28c289ad0f75e6c5c748f6bda032be9699fdb99d

Fixed mdcheckr

kkorken89 committed 6 years ago
Unverified
dfe0bd80d08a6e97148df52b75fe6a2d59cf48c8

Testing to use stable since rust 1.30

kkorken89 committed 6 years ago
Unverified
0b6a0efedf45513cf0045489c184d1ffdcfe4ab2

New cortex-m version

kkorken89 committed 6 years ago
Unverified
737a1be9f1a47e2c3a98c3b286cba18e6dd04dba

New cortex-m-rt version, can now unwind hardfaults

kkorken89 committed 6 years ago
Unverified
53d01aa99efaf2b95abb0f6366eca74dca177218

Added so the BMP can access memory mapped registers

kkorken89 committed 6 years ago

README

The README file for this repository.

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.