ButterFlight / butterflight-configurator

GNU General Public License v3.0
55 stars 19 forks source link

Butterflight Configurator

Butterflight

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

It runs as an app within Google Chrome and allows you to configure the Butterflight software running on any supported Butterflight target.

There is also now a standalone version available, since Google Chrome Apps are getting deprecated on platforms that aren't Chrome OS. Downloads are available in Releases.

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

Authors

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

This configurator is the only configurator with support for Butterflight 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

Download the installer from Releases.

How to use

You can find the Butterflight Configurator icon in your application tab "Apps"

Native app build via NW.js

Linux build is disabled currently because of unmet dependecies with some distros, it can be enabled in the gulpfile.js.

Development

  1. Install node.js
  2. Change to project folder and run npm install.
  3. Run npm start.

App build and release

The tasks are defined in gulpfile.js and can be run either via gulp <task-name> (if the command is in PATH or via ../node_modules/gulp/bin/gulp.js <task-name>:

  1. Optional, install gulp npm install --global gulp-cli.
  2. Run gulp <taskname> [[platform] [platform] ...].

List of possible values of <task-name>:

[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).

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, all the platforms will be done in sequence.

You can also use multiple platforms e.g. gulp <taskname> --osx64 --linux64.

Languages

Butterflight 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 options menu of the application.

Notes

WebGL

Make sure Settings -> System -> "User hardware acceleration when available" is checked to achieve the best performance

Linux users

Dont forget to add your user into dialout group "sudo usermod -aG dialout YOUR_USERNAME" for serial access

Linux / MacOSX users

If you have 3D model animation problems, enable "Override software rendering list" in Chrome flags chrome://flags/#ignore-gpu-blacklist

Support

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

Issue trackers

For Butterflight configurator issues raise them here

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

For Butterflight firmware issues raise them here

https://github.com/butterflight/butterflight/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.

Crowdin