Cross platform configuration tool for the Betaflight firmware
 
 
 
 
 
 
Go to file
Eike Ahmels 4b47dab653 scanning for elrs network devices with crsf msp frame capability
only setup port and connect if its valid and ready

change mdsn detection and made remove ports working for tcp ports

used the bonjour package and made it event based

removed unused constant

chore: code quality

fix self reference for mdns handler functions

adding port removal on not reachable

fix tcpcheck for resolved addresses

fixing mdns and polling

fixed mdns browser init (thanks to CapnBry), events not getting registered before the discovery starts

tcp polling was to fast and now doesnt check if the gui is connected to reduce ESP stress.

chore: remove commented code

added mdns requery interval

added andoird zeroconf for mdns discovery

fixed mobile detection and fixed squash/merge errors

fixing yarn install error and code smells

fixes cordova connect
2022-08-31 08:44:35 +02:00
.github Use the new render attritube for the diff in the issue yaml template 2022-06-28 11:28:04 +02:00
.storybook Update .storybook/main.js 2022-04-23 19:08:59 +02:00
assets Add Danish translation 2022-04-29 20:51:40 +02:00
cordova scanning for elrs network devices with crsf msp frame capability 2022-08-31 08:44:35 +02:00
libraries Merge pull request #2238 from McGiverGim/remove_q_library 2020-10-22 04:59:13 +13:00
locales Update translations 2022-06-07 15:45:59 +02:00
resources Remove colorAmbient 2020-11-30 18:56:02 +01:00
src scanning for elrs network devices with crsf msp frame capability 2022-08-31 08:44:35 +02:00
test scanning for elrs network devices with crsf msp frame capability 2022-08-31 08:44:35 +02:00
.editorconfig Update EditorConfig 2022-01-03 18:23:09 +01:00
.eslintrc.js Add `no-extra-semi` to match what's in sonarcloud 2022-08-19 22:17:02 +01:00
.gitattributes Added unified '.gitattributes' file. 2019-10-02 22:56:13 +13:00
.gitignore Added build for Android Play store bundle. 2021-09-07 16:49:34 +12:00
.nvmrc Update NWjs to 0.67.1 and Node to 16.17.0 2022-08-19 23:39:40 +02:00
.sonarcloud.properties refactor: use js to generate table contents 2021-12-22 14:23:53 +01:00
.travis.yml chore(repo): update node version to 14 2021-12-17 18:38:53 +01:00
CODE_OF_CONDUCT.md Updated documentation from template repository. 2020-03-08 15:01:39 +13:00
CONTRIBUTING.md Updated documentation from template repository. 2020-03-08 15:01:39 +13:00
LICENSE Updated documentation from template repository. 2020-03-08 15:01:39 +13:00
README.md Bump Arm build to ARMv8 2022-06-03 17:13:29 +02:00
changelog.html Change log update for 10.8 2022-06-12 19:19:03 +10:00
crowdin.yml Clean languages mapping file 2019-12-28 15:03:14 +01:00
gulp-appdmg.js chore: add prefer template rule 2022-01-18 12:29:53 +01:00
gulpfile.js Merge pull request #2930 from haslinghuis/update_nwjs 2022-08-21 00:31:00 +02:00
package.json scanning for elrs network devices with crsf msp frame capability 2022-08-31 08:44:35 +02:00
yarn.lock scanning for elrs network devices with crsf msp frame capability 2022-08-31 08:44:35 +02:00

README.md

Betaflight Configurator

Betaflight

Latest version Build Crowdin Quality Gate Status License: GPL v3

Betaflight Configurator is a crossplatform configuration tool for the Betaflight flight control system.

It runs as an application under different operating systems and allows you to configure the Betaflight software running on any supported Betaflight target. Downloads are available in Releases.

Various types of aircraft are supported by the tool and by Betaflight, e.g. quadcopters, hexacopters, octocopters and fixed-wing aircraft.

Authors

Betaflight Configurator is a fork of the Cleanflight Configurator with support for Betaflight instead of Cleanflight.

This configurator is the only configurator with support for Betaflight specific features. It will likely require that you run the latest firmware on the flight controller.

If you are experiencing any problems please make sure you are running the latest firmware version.

Installation

Standalone

We provide a standalone program for Windows, Linux, Mac and Android.

Download the installer from Releases.

Notes

Windows users

The minimum required version of windows is Windows 8.

MacOS X users

Changes to the security model used in the latest versions of MacOS X 10.14 (Mojave) and 10.15 (Catalina) mean that the operating system will show an error message ('"Betaflight Configurator.app" is damaged and cant be opened. You should move it to the Trash.') when trying to install the application. To work around this, run the following command in a terminal after installing: sudo xattr -rd com.apple.quarantine /Applications/Betaflight\ Configurator.app.

Linux users

In most Linux distributions your user won't have access to serial interfaces by default. To add this access right type the following command in a terminal, log out your user and log in again:

sudo usermod -aG dialout ${USER}

Post-installation errors can be prevented by making sure the directory /usr/share/desktop-directories exists. To make sure it exists, run the following command before installing the package:

sudo mkdir /usr/share/desktop-directories/

The libatomic library must also be installed before installing Betaflight Configurator. (If the library is missing, the installation will succeed but Betaflight Configurator will not start.) Some Linux distributions (e.g. Fedora) will install it automatically. On Debian or Ubuntu you can install it as follows:

sudo apt install libatomic1

Graphics Issues

If you experience graphics display problems or smudged/dithered fonts display issues in Betaflight Configurator, try invoking the betaflight-configurator executable file with the --disable-gpu command line switch. This will switch off hardware graphics acceleration. Likewise, setting your graphics card antialiasing option to OFF (e.g. FXAA parameter on NVidia graphics cards) might be a remedy as well.

Unstable Testing Versions

Unstable testing versions of the latest builds of the configurator for most platforms can be downloaded from here.

Be aware that these versions are intended for testing / feedback only, and may be buggy or broken, and can cause flight controller settings to be corrupted. Caution is advised when using these versions.

Languages

Please do not submit pull requests for translation changes, but read and follow the instructions below!

Betaflight Configurator has been translated into several languages. The application will try to detect and use your system language if a translation into this language is available. You can help translating the application into your language;

If you prefer to have the application in English or any other language, you can select your desired language in the first screen of the application.

App build via NW.js (windows/linux/macos) or Cordova (android)

Development

  1. Install node.js (refer to .nvmrc for required version)
  2. Install yarn: npm install yarn -g
  3. (For Android platform only) Install Java JDK 8, Gradle and Android Studio (Android SDK at least level 19)
  4. Change to project folder and run yarn install.
  5. Run yarn start.

Running tests

yarn test

App build and release

The tasks are defined in gulpfile.js and can be run with through yarn:

yarn gulp <taskname> [[platform] [platform] ...]

List of possible values of <task-name>:

  • dist copies all the JS and CSS files in the ./dist folder [2].
  • apps builds the apps in the ./apps folder [1].
  • debug builds debug version of the apps in the ./debug folder [1][3].
  • release zips up the apps into individual archives in the ./release folder [1].

[1] Running this task on macOS or Linux requires Wine, since it's needed to set the icon for the Windows app (build for specific platform to avoid errors). [2] For Android platform, dist task will generate folders and files in the ./dist_cordova folder. [3] For Android platform, you need to configure an emulator or to plug an Android device with USB debugging enabled

Build or release app for one specific platform

To build or release only for one specific platform you can append the plaform after the task-name. If no platform is provided, the build for the host platform is run.

  • MacOS X use yarn gulp <task-name> --osx64
  • Linux use yarn gulp <task-name> --linux64
  • Windows use yarn gulp <task-name> --win64
  • Android use yarn gulp <task-name> --android

Note: Support for cross-platform building is very limited due to the requirement for platform specific build tools. If in doubt, build on the target platform.

You can also use multiple platforms e.g. yarn gulp <taskname> --osx64 --linux64. Other platforms like --win32, --linux32 and --armv8 can be used too, but they are not officially supported, so use them at your own risk.

Support

If you need help please reach out on the betaflightgroup slack channel before raising issues on github. Register and request slack access here.

Issue trackers

For Betaflight configurator issues raise them here

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

For Betaflight firmware issues raise them here

https://github.com/betaflight/betaflight/issues

Technical details

The configurator is based on chrome.serial API running on Google Chrome/Chromium core.

Developers

We accept clean and reasonable patches, submit them!

Credits

ctn - primary author and maintainer of Baseflight Configurator from which Cleanflight Configurator project was forked.

Hydra - author and maintainer of Cleanflight Configurator from which this project was forked.