Add missing else clauses
[betaflight.git] / README.md
blob81c41ae1057d233a8569107fded240e4a8d569cb
1 ![Betaflight](docs/assets/images/bf_logo.png)
3 [![Latest version](https://img.shields.io/github/v/release/betaflight/betaflight)](https://github.com/betaflight/betaflight/releases) [![Build Status](https://dev.azure.com/Betaflight/Betaflight%20Nightlies/_apis/build/status/betaflight.betaflight?branchName=master)](https://dev.azure.com/Betaflight/Betaflight%20Nightlies/_build/latest?definitionId=8&branchName=master) [![Build Status](https://dev.azure.com/Betaflight/Betaflight%20Nightlies/_apis/build/status/betaflight.betaflight?branchName=4.2-maintenance)](https://dev.azure.com/Betaflight/Betaflight%20Nightlies/_build/latest?definitionId=8&branchName=4.2-maintenance) [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
5 Betaflight is flight controller software (firmware) used to fly multi-rotor craft and fixed wing craft.
7 This fork differs from Baseflight and Cleanflight in that it focuses on flight performance, leading-edge feature additions, and wide target support.
9 ## Events
11 | Date  | Event |
12 | - | - |
15 ## News
17 ### Requirements for the submission of new and updated targets
19 The following new requirements for pull requests adding new targets or modifying existing targets are put in place from now on:
21 1. No new F3 based targets will be accepted;
23 2. For any new target that is to be added, only a Unified Target config into https://github.com/betaflight/unified-targets/tree/master/configs/default needs to be submitted. See the [instructions](https://github.com/betaflight/betaflight/blob/master/docs/TargetMaintenance/CreatingAUnifiedTarget.md) for how to create a Unified Target configuration. If there is no Unified Target for the MCU type of the new target (see instructions above), then a 'legacy' format target definition into `src/main/target/` has to be submitted as well;
25 3. For changes to existing targets, the change needs to be applied to the Unified Target config in https://github.com/betaflight/unified-targets/tree/master/configs/default. If no Unified Target configuration for the target exists, a new Unified Target configuration will have to be created and submitted. If there is no Unified Target for the MCU type of the new target (see instructions above), then an update to the 'legacy' format target definition in `src/main/target/` has to be submitted alongside the update to the Unified Target configuration.
28 ## Features
30 Betaflight has the following features:
32 * Multi-color RGB LED strip support (each LED can be a different color using variable length WS2811 Addressable RGB strips - use for Orientation Indicators, Low Battery Warning, Flight Mode Status, Initialization Troubleshooting, etc)
33 * DShot (150, 300, 600 and 1200), Multishot, and Oneshot (125 and 42) motor protocol support
34 * Blackbox flight recorder logging (to onboard flash or external microSD card where equipped)
35 * Support for targets that use the STM32 F7, F4 and F3 processors
36 * PWM, PPM, and Serial (SBus, SumH, SumD, Spektrum 1024/2048, XBus, etc) RX connection with failsafe detection
37 * Multiple telemetry protocols (CRSF, FrSky, HoTT smart-port, MSP, etc)
38 * RSSI via ADC - Uses ADC to read PWM RSSI signals, tested with FrSky D4R-II, X8R, X4R-SB, & XSR
39 * OSD support & configuration without needing third-party OSD software/firmware/comm devices
40 * OLED Displays - Display information on: Battery voltage/current/mAh, profile, rate profile, mode, version, sensors, etc
41 * In-flight manual PID tuning and rate adjustment
42 * Rate profiles and in-flight selection of them
43 * Configurable serial ports for Serial RX, Telemetry, ESC telemetry, MSP, GPS, OSD, Sonar, etc - Use most devices on any port, softserial included
44 * VTX support for Unify Pro and IRC Tramp
45 * and MUCH, MUCH more.
47 ## Installation & Documentation
49 See: https://github.com/betaflight/betaflight/wiki
51 ## Support and Developers Channel
53 There's a dedicated Slack chat channel here:
55 https://slack.betaflight.com/
57 We also have a Facebook Group. Join us to get a place to talk about Betaflight, ask configuration questions, or just hang out with fellow pilots.
59 https://www.facebook.com/groups/betaflightgroup/
61 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.
63 ## Configuration Tool
65 To configure Betaflight you should use the Betaflight-configurator GUI tool (Windows/OSX/Linux) which can be found here:
67 https://github.com/betaflight/betaflight-configurator/releases/latest
69 ## Contributing
71 Contributions are welcome and encouraged. You can contribute in many ways:
73 * implement a new feature in the firmware or in configurator (see [below](#Developers));
74 * documentation updates and corrections;
75 * How-To guides - received help? Help others!
76 * bug reporting & fixes;
77 * new feature ideas & suggestions;
78 * provide a new translation for configurator, or help us maintain the existing ones (see [below](#Translators)).
80 The best place to start is the Betaflight Slack (registration [here](https://slack.betaflight.com/)). Next place is the github issue tracker:
82 https://github.com/betaflight/betaflight/issues
83 https://github.com/betaflight/betaflight-configurator/issues
85 Before creating new issues please check to see if there is an existing one, search first otherwise you waste people's time when they could be coding instead!
87 If you want to contribute to our efforts financially, please consider making a donation to us through [PayPal](https://paypal.me/betaflight).
89 If you want to contribute financially on an ongoing basis, you should consider becoming a patron for us on [Patreon](https://www.patreon.com/betaflight).
91 ## Developers
93 Contribution of bugfixes and new features is encouraged. Please be aware that we have a thorough review process for pull requests, and be prepared to explain what you want to achieve with your pull request.
94 Before starting to write code, please read our [development guidelines](docs/development/Development.md ) and [coding style definition](docs/development/CodingStyle.md).
96 Azure Pipelines are used to run automatic builds
98 https://dev.azure.com/Betaflight/Betaflight%20Nightlies/_build
100 ## Translators
102 We want to make Betaflight accessible for pilots who are not fluent in English, and for this reason we are currently maintaining translations into 18 languages for Betaflight Configurator: Català, Deutsch, Español, Euskera, Français, Galego, Hrvatski, Bahasa Indonesia, Italiano, 日本語, 한국어, Latviešu, Português, Português Brasileiro, polski, Русский язык, Svenska, 简体中文.
103 We have got a team of volunteer translators who do this work, but additional translators are always welcome to share the workload, and we are keen to add additional languages. If you would like to help us with translations, you have got the following options:
104 - if you help by suggesting some updates or improvements to translations in a language you are familiar with, head to [crowdin](https://crowdin.com/project/betaflight-configurator) and add your suggested translations there;
105 - if you would like to start working on the translation for a new language, or take on responsibility for proof-reading the translation for a language you are very familiar with, please head to the Betaflight Slack (registration [here](https://slack.betaflight.com/)), and join the '#team\_translation' channel - the people in there can help you to get a new language added, or set you up as a proof reader.
107 ## Hardware Issues
109 Betaflight does not manufacture or distribute their own hardware. While we are collaborating with and supported by a number of manufacturers, we do not do any kind of hardware support.
110 If you encounter any hardware issues with your flight controller or another component, please contact the manufacturer or supplier of your hardware, or check RCGroups https://rcgroups.com/forums/showthread.php?t=2464844 to see if others with the same problem have found a solution.
112 ## Betaflight Releases
114 https://github.com/betaflight/betaflight/releases
116 ## Open Source / Contributors
118 Betaflight is software that is **open source** and is available free of charge without warranty to all users.
120 Betaflight is forked from Cleanflight, so thanks goes to all those whom have contributed to Cleanflight and its origins.
122 Origins for this fork (Thanks!):
123 * **Alexinparis** (for MultiWii),
124 * **timecop** (for Baseflight),
125 * **Dominic Clifton** (for Cleanflight),
126 * **borisbstyle** (for Betaflight), and
127 * **Sambas** (for the original STM32F4 port).
129 The Betaflight Configurator is forked from Cleanflight Configurator and its origins.
131 Origins for Betaflight Configurator:
132 * **Dominic Clifton** (for Cleanflight configurator), and
133 * **ctn** (for the original Configurator).
135 Big thanks to current and past contributors:
136 * Budden, Martin (martinbudden)
137 * Bardwell, Joshua (joshuabardwell)
138 * Blackman, Jason (blckmn)
139 * ctzsnooze
140 * Höglund, Anders (andershoglund)
141 * Ledvina, Petr (ledvinap) - **IO code awesomeness!**
142 * kc10kevin
143 * Keeble, Gary (MadmanK)
144 * Keller, Michael (mikeller) - **Configurator brilliance**
145 * Kravcov, Albert (skaman82) - **Configurator brilliance**
146 * MJ666
147 * Nathan (nathantsoi)
148 * ravnav
149 * sambas - **bringing us the F4**
150 * savaga
151 * Stålheim, Anton (KiteAnton)
153 And many many others who haven't been mentioned....