sblakemore / cleanflight

Clean-code version of the baseflight flight controller firmware
http://cleanflight.com
GNU General Public License v3.0
0 stars 0 forks source link

Cleanflight

Cleanflight

Clean-code version of baseflight flight-controller - flight controllers are used to fly multi-rotor craft and fixed wing craft.

This fork differs from baseflight in that it attempts to use modern software development practices which result in:

  1. Greater reliability through code robustness and automated testing.
  2. Easier maintenance through code cleanliness.
  3. Easier to develop new features.
  4. Easier to re-use code through code de-coupling and modularisation.

The MultiWii software, from which baseflight originated, violates many good software development best-practices. Hopefully this fork will go some way to address them. If you see any bad code in this fork please immediately raise an issue so it can be fixed, or better yet submit a pull request.

Additional Features

Cleanflight also has additional features not found in baseflight.

For a list of features, changes and some discussion please review the thread on MultiWii forums and consult the documentation.

Installation

See: Installation.md

Documentation

See: Cleanflight docs folder

If what you need is not covered, check the Baseflight documentation. If you still can't find what you need then visit the #cleanflight channel on the Freenode IRC network (info below).

IRC Support and Developers Channel

There's a dedicated Cleanflight IRC channel on the Freenode IRC network:

irc://irc.freenode.net/#cleanflight

If you are using Windows and don't have an IRC client installed, take a look at HydraIRC.

Etiquette: Don't ask to ask and please wait around long enough for a reply - sometimes people are out flying, asleep or at work and can't answer immediately.

Videos

There is a dedicated Cleanflight YouTube channel which has progress update videos, flight demonstrations, instructions and other related videos.

https://www.youtube.com/playlist?list=PL6H1fAj_XUNVBEcp8vbMH2DrllZAGWkt8

Please subscribe and '+1' the videos if you find them useful.

Configuration Tool

To configure Cleanflight you should use the Cleanflight-configurator GUI tool (Windows/OSX/Linux) that can be found here:

The source for it is here:

https://github.com/cleanflight/cleanflight-configurator

Contributing

Contributions are welcome and encouraged. You can contribute in many ways:

The best place to start is the IRC channel on freenode (see above), drop in, say hi. Next place is the github issue tracker:

https://github.com/cleanflight/cleanflight/issues https://github.com/cleanflight/cleanflight-configurator/issues

Before creating new issues please check to see if there is an existing one, search first otherwise you waste peoples time when they could be coding instead!

See CONTRIBUTING.md

Developers

Please refer to the development section in the docs/development folder.

TravisCI is used to run automatic builds: https://travis-ci.org/cleanflight/cleanflight

Build Status

Cleanflight Releases

https://github.com/cleanflight/cleanflight/releases