Giter VIP home page Giter VIP logo

inav-configurator's Introduction

INAV Configurator

INAV Configurator is a cross-platform 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 the authors. If you find a bug, please create an issue on GitHub.

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

Installation

INAV Configurator is distributed as a standalone application.

Windows

  1. Visit release page

  2. Download Configurator for Windows platform (ia32 or win64 is present)

  3. Install

    • Extract ZIP archive and run the INAV Configurator app from the unpacked folder
    • OR just use the setup program INAV-Configurator_win32_arch_x.y.z.msi, arch is your computer architecture (ia32 (32bit) or x64 (64bit)), x.y.z is the INAV Configurator version number.
  4. Configurator is not signed, so you have to allow Windows to run untrusted applications. There might be a monit for it during the first run

Linux

  1. Visit release page
  2. Download Configurator for Linux platform (only linux64 is present)
    • .rpm is the Fedora installation file. Just download and install using sudo dnf localinstall /path/to/INAV-Configurator_linux_x64-x.y.z.rpm or open it with a package manager (e.g. via Files)
    • .deb is the Debian/Ubuntu installation file. Just download and install using sudo apt install /path/to/INAV-Configurator_linux_x64_x.y.z.deb or open it with a package manager (e.g. via the File Manager)
    • .zip is a universal archive. Download and continue with these instructions to install
  3. Change to the directory containing the downloaded zip file
  4. download this file to the same directory. Its filename should be inav-configurator.desktop.
  5. Extract zip archive
unzip INAV-Configurator_linux_arch_x.y.z.zip -d /tmp/

arch is your computer architecture (x64, armv7l, ...), x.y.z is the INAV Configurator version number.

  1. If this is the first time installing INAV Configurator, create a home for its files
sudo mkdir /opt/inav
sudo chown $USER /opt/inav
  1. Move the temporary files into their home
mv /tmp/INAV\ Configurator /opt/inav/inav-configurator
  1. Update the application icon.
sudo mkdir /opt/inav/inav-configurator/icon
sudo cp /opt/inav/inav-configurator/images/inav_icon_128.png /opt/inav/inav-configurator/icon
  1. As a one-off, move the desktop file into the applications directory
sudo mv inav-configurator.desktop /usr/share/applications/
  1. Make the following files executable:
  • inav-configurator chmod +x /opt/inav/inav-configurator/inav-configurator
  1. Run the INAV Configurator app from the unpacked folder /opt/inav/inav-configurator/inav-configurator

Mac

  1. Visit release page
  2. Download Configurator for the Mac platform
  3. Install
    • Extract ZIP archive and run INAV Configurator
    • OR use the DMG package for installation

Building and running INAV Configurator locally (for development)

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

  1. Install node.js
  2. From the project folder run yarn install and then npm install
  3. To build the and start the configurator:
    • Run npm start.

To build the App run npm run make to build for your platform.

Options:

  • Architecture: --arch - Allowed values are: "ia32", "x64", "armv7l", "arm64", "universal", or "mips64el".

See Electron Forge CLI Documentation for details

Note: Not all architectures are available for all platforms. For example, ia32 (32bit) support is not available for Linux. Tested architectures:

  • Windows: x64 and ia32
  • Linux: x64 and armv7l
  • MacOS: x64 and arm64

To build the setup program for windows, you have to install WiX Toolset V3 and add the bin folder to you PATH, e.g. C:\Program Files (x86)\WiX Toolset v3.14\bin

To build deb and rpm packages for Linux, you have to install the following packages:

  • Ubuntu/Debian: dpkg, fakeroot, rpm, build-essential, libudev-dev
  • OpenSuse/Fedora: dpkg, fakeroot, rpmbuild, systemd-devel, devel-basis (zypper install -t pattern devel_basis), zip

Example (note the double -- ): npm run make -- --arch="x64"

Running with debug | Inspector

To be able to open Inspector, set environment variable NODE_ENV to development or set the flag directly when run npm start:

NODE_ENV=development npm start or $env:NODE_ENV="development" | npm start for Windows PowerShell

Or use vscode and start a debug session Debug Configurator (Just hit F5!)

Different map providers

INAV Configurator 2.1 allows you to choose between OpenStreetMap, Bing Maps (Aerial View), 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 their own account, agree to all Terms and Conditions required by Bing Maps, and configure INAV Configurator by himself.

How to choose a Map provider

  1. Click Settings icon in the top-right corner of INAV Configurator
  2. Choose a 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 the 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 that 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 is displayed 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 set up a MapProxy server for offline caching and mission planning

  1. Follow the process described in MAPPROXY.md
  2. Test your MapProxy server in a 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 the area you will be flying in while connected to the internet in either the GPS or Mission Control tab to save the cache for offline use

Font Customisation

INAV provides the font images so that custom fonts can be created for your personal preference. This is the case for both analogue and digital fonts. The resources can be found in the osd folder. Within the analogue and digital subfolders, you will find information on compiling your own fonts. There is also an INAV Character Map document. This contains previews of all the character images in the fonts and the appropriate variable names within the firmware and Configurator. There are tools for compiling the analogue and digital fonts. New font submissions via pull requests are welcome.

Notes

WebGL

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

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

afinogen avatar arnotlse avatar avsaase avatar b14ckyy avatar breadoven avatar creyc avatar ctn-dev avatar digitalentity avatar dzikuvx avatar fiam avatar giacomo892 avatar hydra avatar kernel-machine avatar mmosca avatar mrd-rc avatar nighthawk32 avatar nmaggioni avatar optimusti avatar pawel-spychalski avatar romanlut avatar scavanger avatar sensei-hacker avatar shellixyz avatar shota3527 avatar skaman82 avatar stewlg avatar stronnag avatar thenickdude avatar tricoptery avatar wanderzell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

inav-configurator's Issues

Idea: use sonar for obstacle avoidance

Just an idea: Could it be possible to use sonar for obstacle avoidance? Maybe place it at the front (facing forward) or at the top (facing to the top). Maybe even multiple modules if possible. Then configure the position in the configurator to match the orientation. What do you think?

Position hold not visible in configurator

After flashing Naze32 with latest release of inav I don's see at all any navigation flight modes in configurator. Are there any limitations for Naze 32 or I can assign modes only via CLI? I was using Inav configurator and not a Cleanflight one.

PWM output enabling information

Follow up of #56
Inform user that he/she has to enable motor output after flashing the board
Display this info only if PWM_OUTPUT_ENABLE feature has not been enabled

Add 25ms delay after each line when restoring a dump in cli

Multiple users have reported issues with restoring a dump in the CLI, flight modes are sometimes not restored, or only partially. Random settings are not set, and so on. See this issue:
iNavFlight/inav#229

@stronnag wrote

This is a well known feature of all CF firmware variants, the firmware cannot process mode changes fast enough, the buffer overflows, data is lost. This is why the mwptools cf-cfi (cli backup / restore tool) uses a baud rate and context aware inter-line delay. Slower than pasting into a terminal, but reliable.

He then suggested that a 25ms delay after each new line could help.
To all javascript gurus: How can this be implement so we can try it and see if that solves the problem?

Presets layout changes

As requested by @skaman82

skaman82 [2:48 AM] 
@dzikuvx I would like to make some designs for the new profile tab but for that I need two things to change to style the content properly. I can’t do that myself. (edited)

[2:49]  
1. this list should be a UL > li construct instead of a select input

skaman82 [2:50 AM] 
uploaded this image: Bildschirmfoto 2017-01-13 um 02.48.57.png
Add Comment

skaman82 [2:51 AM] 
Each profile name should appear like this <li class=”profileitem”><a class="someclass">*ProfileName*</a></li> (edited)

[2:53]  
2. I would like to have an image for each configuration in the right box with the preset details. Basically a DIV and the css class changes depending on the selected preset. (edited)

[2:55]  
I have created a new branch “profile-gui” for this

[2:56]  
It would great if you could make this changes

[2:56]  
thanks

skaman82 [3:06 AM] 
If there will be more presets, we maybe should display them in categories or just select the category to show depending on selected mixer (we dont need presets for wings if QuadX is selected, right?) (edited)

skaman82 [3:22 AM] 
if you see this as a starting point for configuration, then showing different categories all together would make sense, but groups like Wings/Mini(Racing)quads/Quads would help if the list is going to be much longer (edited)

angle mode roll and pich rate

hello
i am trying to increase the rate of roll and pich in angle mode
can someone give me a tip ?
i am using the latest firmware
thanks
kfir

Airspeed sensor icon

With upcoming airspeed sensor support we'll also need an airspeed sensor icon for Configurator header line. @skaman82 can you create one?

MSP catch-ups with BF

We need to catch up with Betaflight a little bit. Especially MSP needs to be separated into protocol and handler parts - as done here 96115be

Suggestion: rework the GUI/Logo a bit?

I could rework the colorscheme a bit to look nicer. The dark blue color is a bit heavy on the yes :). I also think the logo could use some work – and maybe not look so much alike the CF Logo. Do you call it iNAV or iNAVFLIGHT? (first one is a bit nicer - people call you project iNAV anyway). @digitalentity what do you think?

Invalid value not detected in configurator for failsafe_off_delay

Thank-you for this configurator!
I noticed that if I set failsafe_off_delay in CLI, the allowed range is 0 - 200, but the configurator accepts values up to 2000 and can write values up to 255, beyond this the value is wrapped around to zero at intervals of 256, 512, 768 etc.

Examples - a value of 300 in the configurator writes a value of 44 to the configuration.

My version info:
2017-01-08 @ 14:51:31 -- Running - OS: Windows, Chrome: 55.0.2883.87, Configurator: 1.5.2
2017-01-08 @ 14:51:35 -- Flight controller info, identifier: INAV, version: 1.5.1
2017-01-08 @ 14:51:35 -- Running firmware released on: Jan 4 2017 13:59:21
2017-01-08 @ 14:51:35 -- Board: REF3, version: 0

INAV - Configurator reports old version

When running INAV Configurator v1.0.2 it reports:

"You are using an old version of INAV - Configurator. There may be a more recent version with improvements and fixes."

Yet, Google extension store shows v1.0.2 as the latest. Is there a newer version or is the app incorrectly reporting that it's old when it's not?

Receiver mode problems when using MSP

Hello, I have some questions about the iNavFlight Configurator.

  1. In iNav-Configurator, if I set Receiver Mode to RX_MSP, then the value bars will disappear in the Receiver page;
  2. The control sticks don’t work when I am using RX_MSP;
  3. Previously I wrote a GUI joystick to simulate control sticks and send out signals to the board via UART2 and it works for CleanFlight, but when I move to iNavFlight it doesn’t work any more, so the communication protocol changed? How?
  4. If I want to use the Ground control station, how to set up the receiver modes? I am using a pair of XBees to do the wireless communication. Thanks!

I am currently using Naze 32 full rev6 with firmware 1.2.1.

Thanks~
Any reply is greatly appreciated.


I compiled the source code with customized settings and it worked. Thanks~

Introduce presets

To make it simpler to setup INAV on various platforms, introduce "Presets" that will set different "internal" parameters depending of platforms properties.

Settings to change in Presets:

  • gyro_lpf
  • gyro_soft_lpf_hz
  • gyro_sync_denom
  • acc_soft_lpf_hz
  • dterm_lpf_hz
  • yaw_lpf_hz
  • ROLL/PITCH/YAW PIDs
  • LEVEL I (LPF)

inav 1.3 LED control not working

Naze32 rev 5 Full.

When trying to configure LED it will not work.
Wiring order just will not add numbers to leds.

How to fix? :)

LTM - Add telemetry support

With a future support of LTM the iNav-configurator could be used also as GCS. Maps, logging in real time and other tetelemetry features.

RTH on Failsafe

I am not sure if it is even an option in the current code but it will be good to have RTH selectable in the stage2 settings in the failsafe tab

cannot open menu Calibration

just install Inav Configurator 1.0.0 with iNav 1.1
when i try to access menu 'Calibration' it just showing 'Waiting for data'.. don't have clue why

New PID and filtering settings

  • Rate Acceleration limiting
  • MagHold rate limit and MagHold Error LPF
  • Iterm ignore rate
  • Yaw P limit
  • Gyro soft LPF
  • dterm_lpf_hz
  • yaw_lpf_hz

Issue with using Airbot with iNav, wont connect after flash.

Hi, having issue with using iNav after flash.
When if first got the Airbot F4 with MPU6000 I manage after a while getting to work with iNav, I tried changing some gyro sync settings and after that I cannot get it working again.

I tried flashing iNav 1.3, I tried flashing iNav 1.4 and Betaflight.

When flashing betaflight it just works, no need to install Zadig driver, its there already and I dont have multiple interfaces to install driver to. (interface 0 and interface 1) which shows up dual in device manager after I installed driver on both aswell.

With iNav I tried replacing driver, removing all driver etc etc.
iNav configurator is official from google store.

First I uninstalled all driver to start over:
1 uninstalled all drivers

After that it did not work and I tried to replace interface 1 with WINUSB
2 installed winusb on interface 1

That did not work either so I tried to replace interface 0 aswell, this time I have now com ports to connect to.
3 installed winusb on both interface
4 installed winusb on interface 1_showinginterface0

Flashed betaflight revo, everything is working without doing anything
5 flashed with revo target betaflight without installing any drivers manually

And then I tried with iNav Revo target, that did not make any difference.
6 flashed with inav revo target
7 flashed with inav revo target manually installed driver interface 1
8 flashed with inav revo target manually installed driver on both interface

Links point to cleanflight

A number of the configurator link (github, RCG, IRC) point to cleanflight resources rather than iNav resources.

A new user might find this confusing.

Under what condition, "Navigation is safe" will pass?

I found that if I have "POSHOLD" mode in the switches, "Navigation is safe" will fail. So what is the condition for "Navigation is safe" to pass?

I had all other terms pass, only "Navigation is safe" fail. I had GPS, and got 3D fix but not stable. Because the thick cloud, I could only connect to 4 satellite yesterday.

Is that the problem of too less satellites or anything else?

Thanks~

Drop PID scaling

Drop PID scaling in configurator, use CLI values where possible

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.