GithubHelp home page GithubHelp logo

andy521 / inav-configurator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from inavflight/inav-configurator

1.0 0.0 0.0 43.83 MB

License: GNU General Public License v3.0

JavaScript 68.96% Ruby 0.56% PowerShell 0.05% CSS 8.22% HTML 21.93% Inno Setup 0.28%

inav-configurator's Introduction

INAV Configurator

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

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

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

Support

INAV Configurator comes as is, without any warranty and support from authors. If you found a bug, please create an issue on GitHub.

GitHub issue tracker is reserved for bugs and other technical problems. If you do not know how to setup everything, hardware is not working or have any other support problem, please consult:

INAV Configurator start minimized, what should I do?

You have to remove C:\Users%Your_UserNname%\AppData\Local\inav-configurator folder and all its content.

https://www.youtube.com/watch?v=XMoULyiFDp4

Alternatively, on Windows with PowerShell you can use post_install_cleanup.ps1 script that will do the cleaning. (thank you James Cherrill)

Installation

Depending on target operating system, INAV Configurator is distributed as standalone application or Chrome App.

Windows

  1. Visit release page
  2. Download Configurator for Windows platform (win32 or win64 is present)
  3. Extract ZIP archive
  4. Run INAV Configurator app from unpacked folder
  5. Configurator is not signed, so you have to allow Windows to run untrusted application. There might be a monit for it during first run

Linux

  1. Visit release page
  2. Download Configurator for Linux platform (linux32 and linux64 are present)
  3. Extract tar.gz archive
  4. Make the following files executable:
    • inav-configurator chmod +x inav-configurator
    • (5.0.0+) chrome_crashpad_handler chmod +x chrome_crashpad_handler
  5. Run INAV Configurator app from unpacked folder

On some Linux distros, you may be missing libatomic, a NW.JS (specially libnode.so) dependency. If so, please install libatomic using your distro's package manager, e.g:

  • Arch Linux: sudo pacman -S --needed libatomic_ops
  • Debian / Ubuntu: sudo apt install libatomic1
  • Fedora: sudo dnf install libatomic

Mac

  1. Visit release page
  2. Download Configurator for Mac platform
  3. Extract ZIP archive
  4. Run INAV Configurator
  5. Configurator is not signed, so you have to allow Mac to run untrusted application. There might be a monit for it during first run

Building and running INAV Configurator locally (for development or Linux users)

For local development, node.js build system is used.

  1. Install node.js
  2. From project folder run npm install
  3. To build the JS and CSS files and start the configurator:
    • With NW.js: Run npm start.
    • With Chrome: Run npm run gulp. Then open chrome://extensions, enable the Developer mode, click on the Load unpacked extension... button and select the inav-configurator directory.

Other tasks are also defined in gulpfile.js. To run a task, use node ./node_modules/gulp/bin/gulp.js task-name. Available ones are:

  • build: Generate JS and CSS output files used by the configurator from their sources. It must be run whenever changes are made to any .js or .css files in order to have those changes appear in the configurator. If new files are added, they must be included in gulpfile.js. See the comments at the top of gulpfile.js to learn how to do so. See also the watch task.
  • watch: Watch JS and CSS sources for changes and run the build task whenever they're edited.
  • dist: Create a distribution of the app (valid for packaging both as a Chrome app or a NW.js app) in the ./dist/ directory.
  • release: Create NW.js apps for each supported platform (win32, osx64 and linux64) in the ./apps directory. Running this task on macOS or Linux requires Wine, since it's needed to set the icon for the Windows app. If you don't have Wine installed you can create a release by running the release-only-linux task.
    --installer argument can be added to build installers for particular OS. NOTE: MacOS Installer can be built with MacOS only.

To build a specific release, use the command release --platform="win64" for example.

Running with debug | Inspector

To be able to open Inspector, you will need SDK flavours of NW.js

npm install [email protected] --nwjs_build_type=sdk

Different map providers

INAV Configurator 2.1 allows to choose between OpenStreetMap, Bing Maps, and MapProxy map providers. INAV Configurator is shipped WITHOUT API key for Bing Maps. That means: every user who wants to use Bing Maps has to create own account, agree to all Terms and Conditions required by Bing Maps and configure INAV Configuerator by himself.

How to choose Map provider

  1. Click Settings icon in the top-right corner of INAV Configurator
  2. Choose provider: OpenStreetMap, Bing, or MapProxy
  3. In the case of Bing Maps, you have to provide your own, personal, generated by you, Bing Maps API key
  4. For MapProxy, you need to provide a server URL and layer name to be used

How to get Bing Maps API key

  1. Go to the Bing Maps Dev Center at https://www.bingmapsportal.com/.
    • If you have a Bing Maps account, sign in with the Microsoft account that you used to create the account or create a new one. For new accounts, follow the instructions in Creating a Bing Maps Account.
  2. Select My keys under My Account.
  3. Select the option to create a new key.
  4. Provide the following information to create a key:
    1. Application name: Required. The name of the application.
    2. Application URL: The URL of the application. This is an optional field which is useful in helping you remember the purpose of that key in the future.
    3. Key type: Required. Select the key type that you want to create. You can find descriptions of key and application types here.
    4. Application type: Required. Select the application type that best represents the application that will use this key. You can find descriptions of key and application types here.
  5. Click the Create button. The new key displays in the list of available keys. Use this key to authenticate your Bing Maps application as described in the documentation for the Bing Maps API you are using.

How to setup a MapProxy server for offline caching and mission planning

  1. Follow process described in MAPPROXY.md
  2. Test your MapProxy server in web browser, eg: http://192.168.145.20/inavmapproxy/
  3. Once you have a working MapProxy server choose MapProxy as your map provider
    1. Enter MapProxy service URL, eg: http://192.168.145.20/inavmapproxy/service?
    2. Enter MapProxy service layer (inav_layer if configured from MAPPROXY.md)
  4. Once completed, you can zoom in on area you will be flying in while connected to the internet in either GPS or Mission Control tab to save the cache for offline use

Notes

WebGL

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

Linux users

  1. Dont forget to add your user into dialout group "sudo usermod -aG dialout YOUR_USERNAME" for serial access
  2. If you have 3D model animation problems, enable "Override software rendering list" in Chrome flags chrome://flags/#ignore-gpu-blacklist

Issue trackers

For INAV configurator issues raise them here

https://github.com/iNavFlight/inav-configurator/issues

For INAV firmware issues raise them here

https://github.com/iNavFlight/inav/issues

Developers

We accept clean and reasonable patches, submit them!

inav-configurator's People

Contributors

dzikuvx avatar ctn-dev avatar hydra avatar skaman82 avatar mrd-rc avatar digitalentity avatar fiam avatar shellixyz avatar avsaase avatar arnotlse avatar breadoven avatar tricoptery avatar nighthawk32 avatar nmaggioni avatar thenickdude avatar afinogen avatar kernel-machine avatar b14ckyy avatar pawel-spychalski avatar optimusti avatar creyc avatar stewlg avatar wanderzell avatar tracernz avatar olivierc-fr avatar pulsar256 avatar giacomo892 avatar scavanger avatar geoffsim avatar roeland54 avatar

Stargazers

Roman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.