README.md 5.74 KB
Newer Older
Albert Kravcov's avatar
Albert Kravcov committed
1
# INAV
Dominic Clifton's avatar
Dominic Clifton committed
2

Albert Kravcov's avatar
Albert Kravcov committed
3
![INAV](http://static.rcgroups.net/forums/attachments/6/1/0/3/7/6/a9088858-102-inav.png)
Dominic Clifton's avatar
Dominic Clifton committed
4

Dominic Clifton's avatar
Dominic Clifton committed
5
6
Clean-code version of baseflight flight-controller - flight controllers are used to fly multi-rotor craft and fixed wing craft.

Paweł Spychalski's avatar
Paweł Spychalski committed
7
8
9
10
11
12
13
14
## Important: PID values and scaling

Starting at 22-06-2016 INAV uses the same scaling for PIDs as Cleanflight/Betaflight LuxFloat and MWRewrite PID controllers. That means the following:

* PIDs from CF/BF can be used in INAV, no need to retune for INAV
* INAV uses the same PID defaults that Cleanflight and Betaflight
* Current INAV tunes can be converted to new using [this guide](https://github.com/iNavFlight/inav/wiki/PID-conversion-from-pre-1.2-to-1.2)

Dominic Clifton's avatar
Dominic Clifton committed
15
16
This fork differs from baseflight in that it attempts to use modern software development practices which result in:

17
1. greater reliability through code robustness and automated testing.
18
2. easier maintenance through code cleanliness.
19
3. easier to develop new features.
Dominic Clifton's avatar
Dominic Clifton committed
20
4. easier to re-use code though code de-coupling and modularisation.
dongie's avatar
dongie committed
21

Dominic Clifton's avatar
Dominic Clifton committed
22
The MultiWii software, from which baseflight originated, violates many good software development best-practices. Hopefully this fork will go some way to address them. If you see any bad code in this fork please immediately raise an issue so it can be fixed, or better yet submit a pull request.
Dominic Clifton's avatar
Dominic Clifton committed
23

Dominic Clifton's avatar
Dominic Clifton committed
24
25
## Additional Features

26
* 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, etc)
27
* Oneshot ESC support.
28
* Blackbox flight recorder logging (to onboard flash or external SD card).
29
* Support for additional targets that use the STM32F3 processors (baseflight only supports STM32F1).
30
31
32
* Support for the Seriously Pro Racing F3 board (STM32F303, I2C sensors, large flash, excellent I/O.)
* Support for the TauLabs Sparky board (STM32F303, I2C sensors, based board with acc/gyro/compass and baro, ~$35)
* Support for the OpenPilot CC3D board. (STM32F103, board, SPI acc/gyro, ~$20)
33
34
35
36
37
38
39
40
* Support for the CJMCU nano quadcopter board.
* Support for developer breakout boards: (Port103R, EUSTM32F103RC, Olimexino, STM32F3Discovery).
* Support for more than 8 RC channels - (e.g. 16 Channels via FrSky X4RSB SBus).
* Support for N-Position switches via flexible channel ranges - not just 3 like baseflight or 3/6 in MultiWii
* Lux's new PID (uses float values internally, resistant to looptime variation).
* Simultaneous Bluetooth configuration and OSD.
* Better PWM and PPM input and failsafe detection than baseflight.
* Better FrSky Telemetry than baseflight.
41
* LTM Telemetry.
42
* Smartport Telemetry.
43
44
45
46
47
48
* RSSI via ADC - Uses ADC to read PWM RSSI signals, tested with FrSky D4R-II and X8R.
* OLED Displays - Display information on: Battery voltage, profile, rate profile, version, sensors, RC, etc.
* In-flight manual PID tuning and rate adjustment.
* Rate profiles and in-flight selection of them.
* Graupner PPM failsafe.
* Graupner HoTT telemetry.
49
* Multiple simultaneous telemetry providers.
50
* Configurable serial ports for Serial RX, Telemetry, MSP, GPS - Use most devices on any port, softserial too.
Joe Poser's avatar
Joe Poser committed
51
* And many more minor bug fixes.
Dominic Clifton's avatar
Dominic Clifton committed
52

Echelon9's avatar
Echelon9 committed
53
For a list of features, changes and some discussion please review the thread on MultiWii forums and consult the documentation.
Dominic Clifton's avatar
Dominic Clifton committed
54
55
56

http://www.multiwii.com/forum/viewtopic.php?f=23&t=5149

57
58
## Installation

59
See: https://github.com/cleanflight/cleanflight/blob/master/docs/Installation.md
60

Dominic Clifton's avatar
Dominic Clifton committed
61
## Documentation
62

63
There is lots of documentation here: https://github.com/cleanflight/cleanflight/tree/master/docs
Dominic Clifton's avatar
Dominic Clifton committed
64
65
66
67
68
69
70
71
72
73
74

If what you need is not covered then refer to the baseflight documentation. If you still can't find what you need then visit the #cleanflight on the Freenode IRC network

## IRC Support and Developers Channel

There's a dedicated IRC channel here:

irc://irc.freenode.net/#cleanflight

If you are using windows and don't have an IRC client installed then take a look at HydraIRC - here: http://hydrairc.com/

Dominic Clifton's avatar
Dominic Clifton committed
75
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.
Dominic Clifton's avatar
Dominic Clifton committed
76

Dominic Clifton's avatar
Dominic Clifton committed
77
## Videos
Dominic Clifton's avatar
Dominic Clifton committed
78

79
There is a dedicated INAV youtube channel which has progress update videos, flight demonstrations, instructions and other related videos.
Dominic Clifton's avatar
Dominic Clifton committed
80
81
82
83
84
85
86

https://www.youtube.com/playlist?list=PL6H1fAj_XUNVBEcp8vbMH2DrllZAGWkt8

Please subscribe and '+1' the videos if you find them useful.

## Configuration Tool

87
To configure INAV you should use the INAV-configurator GUI tool (Windows/OSX/Linux) that can be found here:
Dominic Clifton's avatar
Dominic Clifton committed
88

89
90
91
https://chrome.google.com/webstore/detail/cleanflight-configurator/enacoimjcgeinfnnnpajinjgmkahmfgb

The source for it is here:
92

Dominic Clifton's avatar
Dominic Clifton committed
93
https://github.com/cleanflight/cleanflight-configurator
94

Dominic Clifton's avatar
Dominic Clifton committed
95
## Contributing
dongie's avatar
dongie committed
96

Dominic Clifton's avatar
Dominic Clifton committed
97
Contributions are welcome and encouraged.  You can contribute in many ways:
Dominic Clifton's avatar
Dominic Clifton committed
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113

* Documentation updates and corrections.
* How-To guides - received help?  help others!
* Bug fixes.
* New features.
* Telling us your ideas and suggestions.

The best place to start is the IRC channel on freenode (see above), drop in, say hi. Next place is the github issue tracker:

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

Before creating new issues please check to see if there is an existing one, search first otherwise you waste peoples time when they could be coding instead!

## Developers

114
Please refer to the development section in the [docs/development](https://github.com/cleanflight/cleanflight/tree/master/docs/development) folder.
Dominic Clifton's avatar
Dominic Clifton committed
115

116
TravisCI is used to run automatic builds
Dominic Clifton's avatar
Dominic Clifton committed
117
118
119
120
121

https://travis-ci.org/cleanflight/cleanflight

[![Build Status](https://travis-ci.org/cleanflight/cleanflight.svg?branch=master)](https://travis-ci.org/cleanflight/cleanflight)

122
## INAV Releases
Akfreak's avatar
Akfreak committed
123
https://github.com/cleanflight/cleanflight/releases