Merge pull request #174 from ledvinap/fix-atomic-version
[betaflight.git] / README.md
blob21a3768cb3c636ada8aba8d15b638a474f2d70fe
1 # Cleanflight
3 Clean-code version of baseflight flight-controller - flight controllers are used to fly multi-rotor craft and fixed wing craft.
5 This fork differs from baseflight in that it attempts to use modern software development practices which result in:
7 1. greater reliability through code robustness and automated testing. 
8 2. easier maintainance through code cleanliness.
9 3. easier to develop new features. 
10 4. easier to re-use code though code de-coupling and modularisation.
12 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.
14 ## Additional Features
16 Cleanflight also has additional features not found in baseflight.  Since the primary maintainer of baseflight also sells hardware there is no incentive for baseflight to support the target platforms and features that Cleanflight now provides.
18 For a list of features, changes and some discussion please review the thread on MultiWii forums and consult the documenation.
20 http://www.multiwii.com/forum/viewtopic.php?f=23&t=5149
23 ## Documentation
25 There is some documentation here: https://github.com/hydra/cleanflight/tree/master/docs 
27 If what you need is not covered then refer to the baseflight documentation. If you still can't find what you need then visit the #cleanflight on the Freenode IRC network
29 ## IRC Support and Developers Channel
31 There's a dedicated IRC channel here:
33 irc://irc.freenode.net/#cleanflight
35 If you are using windows and don't have an IRC client installed then take a look at HydraIRC - here: http://hydrairc.com/
37 ## Videos
40 There is a dedicated Cleanflight youtube channel which has progress update videos, flight demonstrations, instrutions and other related videos.
42 https://www.youtube.com/playlist?list=PL6H1fAj_XUNVBEcp8vbMH2DrllZAGWkt8
44 Please subscribe and '+1' the videos if you find them useful.
46 ## Configuration Tool
48 To configure Cleanflight you should use the Cleanlight-configurator GUI tool (Windows/OSX/Linux) that can be found here:
50 https://chrome.google.com/webstore/detail/cleanflight-configurator/enacoimjcgeinfnnnpajinjgmkahmfgb
52 The source for it is here:
54 https://github.com/hydra/cleanflight-configurator
56 ## Contributing
58 Before making any contributions, take a note of the https://github.com/multiwii/baseflight/wiki/CodingStyle
60 For this fork it is also advised to read about clean code, here are some useful links:
62 * http://cleancoders.com/
63 * http://en.wikipedia.org/wiki/SOLID_%28object-oriented_design%29
64 * http://en.wikipedia.org/wiki/Code_smell
65 * http://en.wikipedia.org/wiki/Code_refactoring
66 * http://www.amazon.co.uk/Working-Effectively-Legacy-Robert-Martin/dp/0131177052