mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-13 11:29:56 +03:00
docs update fixes#282
This commit is contained in:
parent
72050604eb
commit
a588ee08b9
40 changed files with 270 additions and 392 deletions
10
README.md
10
README.md
|
@ -15,8 +15,6 @@ The MultiWii software, from which baseflight originated, violates many good soft
|
||||||
|
|
||||||
## Additional Features
|
## Additional Features
|
||||||
|
|
||||||
Cleanflight also has additional features not found in baseflight.
|
|
||||||
|
|
||||||
* 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)
|
* 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)
|
||||||
* Oneshot ESC support.
|
* Oneshot ESC support.
|
||||||
* Blackbox flight recorder logging (to onboard flash or external SD card).
|
* Blackbox flight recorder logging (to onboard flash or external SD card).
|
||||||
|
@ -70,7 +68,7 @@ Etiquette: Don't ask to ask and please wait around long enough for a reply - som
|
||||||
|
|
||||||
## Videos
|
## Videos
|
||||||
|
|
||||||
There is a dedicated Cleanflight youtube channel which has progress update videos, flight demonstrations, instructions and other related videos.
|
There is a dedicated INAV youtube channel which has progress update videos, flight demonstrations, instructions and other related videos.
|
||||||
|
|
||||||
https://www.youtube.com/playlist?list=PL6H1fAj_XUNVBEcp8vbMH2DrllZAGWkt8
|
https://www.youtube.com/playlist?list=PL6H1fAj_XUNVBEcp8vbMH2DrllZAGWkt8
|
||||||
|
|
||||||
|
@ -78,7 +76,7 @@ Please subscribe and '+1' the videos if you find them useful.
|
||||||
|
|
||||||
## Configuration Tool
|
## Configuration Tool
|
||||||
|
|
||||||
To configure Cleanflight you should use the Cleanflight-configurator GUI tool (Windows/OSX/Linux) that can be found here:
|
To configure INAV you should use the INAV-configurator GUI tool (Windows/OSX/Linux) that can be found here:
|
||||||
|
|
||||||
https://chrome.google.com/webstore/detail/cleanflight-configurator/enacoimjcgeinfnnnpajinjgmkahmfgb
|
https://chrome.google.com/webstore/detail/cleanflight-configurator/enacoimjcgeinfnnnpajinjgmkahmfgb
|
||||||
|
|
||||||
|
@ -113,7 +111,5 @@ https://travis-ci.org/cleanflight/cleanflight
|
||||||
|
|
||||||
[](https://travis-ci.org/cleanflight/cleanflight)
|
[](https://travis-ci.org/cleanflight/cleanflight)
|
||||||
|
|
||||||
## Cleanflight Releases
|
## INAV Releases
|
||||||
https://github.com/cleanflight/cleanflight/releases
|
https://github.com/cleanflight/cleanflight/releases
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ Currently supported on the SPRACINGF3, STM32F3DISCOVERY, NAZE32 (including clone
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
- Plug in the USB cable and connect to your board with the CleanFlight configurator.
|
- Plug in the USB cable and connect to your board with the INAV configurator.
|
||||||
|
|
||||||
- For boards without a built in USB/UART adapter, you'll need to plug an external one in. Here is how you wire up the CC3D. Plug your USB/UART adapter into the Flexi port:
|
- For boards without a built in USB/UART adapter, you'll need to plug an external one in. Here is how you wire up the CC3D. Plug your USB/UART adapter into the Flexi port:
|
||||||
|
|
||||||
|
@ -34,9 +34,9 @@ Currently supported on the SPRACINGF3, STM32F3DISCOVERY, NAZE32 (including clone
|
||||||
|
|
||||||
- Open the BlHeli Suite.
|
- Open the BlHeli Suite.
|
||||||
|
|
||||||
- Ensure you have selected the correct Atmel or SILABS "Cleanflight" option under the "Select ATMEL / SILABS Interface" menu option.
|
- Ensure you have selected the correct Atmel or SILABS "INAV" option under the "Select ATMEL / SILABS Interface" menu option.
|
||||||
|
|
||||||
- Ensure you have port for your external USB/UART adapter selected, if you're using one, otherwise pick the same COM port that you normally use for Cleanflight.
|
- Ensure you have port for your external USB/UART adapter selected, if you're using one, otherwise pick the same COM port that you normally use for INAV.
|
||||||
|
|
||||||
- Click "Connect" and wait for the connection to complete. If you get a COM error, hit connect again. It will probably work.
|
- Click "Connect" and wait for the connection to complete. If you get a COM error, hit connect again. It will probably work.
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# MSP Extensions
|
# MSP Extensions
|
||||||
|
|
||||||
Cleanflight includes a number of extensions to the MultiWii Serial Protocol (MSP). This document describes
|
INAV includes a number of extensions to the MultiWii Serial Protocol (MSP). This document describes
|
||||||
those extensions in order that 3rd party tools may identify cleanflight firmware and react appropriately.
|
those extensions in order that 3rd party tools may identify INAV firmware and react appropriately.
|
||||||
|
|
||||||
Issue the MSP_API_VERSION command to find out if the firmware supports them.
|
Issue the MSP_API_VERSION command to find out if the firmware supports them.
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ Unassigned slots have rangeStartStep == rangeEndStep. Each element contains the
|
||||||
| rangeStartStep | uint8 | The start value for this element in 'blocks' of 25 where 0 == 900 and 48 == 2100 |
|
| rangeStartStep | uint8 | The start value for this element in 'blocks' of 25 where 0 == 900 and 48 == 2100 |
|
||||||
| rangeEndStep | uint8 | The end value for this element in 'blocks' of 25 where 0 == 900 and 48 == 2100 |
|
| rangeEndStep | uint8 | The end value for this element in 'blocks' of 25 where 0 == 900 and 48 == 2100 |
|
||||||
|
|
||||||
Thus, for a cleanflight firmware with 40 slots 160 bytes would be returned in response to MSP\_MODE\_RANGES,
|
Thus, for a INAV firmware with 40 slots 160 bytes would be returned in response to MSP\_MODE\_RANGES,
|
||||||
|
|
||||||
### MSP\_SET\_MODE\_RANGE
|
### MSP\_SET\_MODE\_RANGE
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@ Unassigned slots have rangeStartStep == rangeEndStep. Each element contains the
|
||||||
| adjustmentFunction | uint8 | See below |
|
| adjustmentFunction | uint8 | See below |
|
||||||
| auxSwitchChannelIndex | uint8 | The Aux channel number used to perform the function (indexed from 0) |
|
| auxSwitchChannelIndex | uint8 | The Aux channel number used to perform the function (indexed from 0) |
|
||||||
|
|
||||||
Thus, for a cleanflight firmware with 12 slots 72 bytes would be returned in response to MSP\_ADJUSTMENT\_RANGES,
|
Thus, for a INAV firmware with 12 slots 72 bytes would be returned in response to MSP\_ADJUSTMENT\_RANGES,
|
||||||
|
|
||||||
### MSP\_SET\_ADJUSTMENT\_RANGE
|
### MSP\_SET\_ADJUSTMENT\_RANGE
|
||||||
|
|
||||||
|
@ -150,12 +150,12 @@ There are many adjustments that can be made, the numbers of them and their use i
|
||||||
|
|
||||||
The following MSP commands are replaced by the MSP\_MODE\_RANGES and
|
The following MSP commands are replaced by the MSP\_MODE\_RANGES and
|
||||||
MSP\_SET\_MODE\_RANGE extensions, and are not recognised by
|
MSP\_SET\_MODE\_RANGE extensions, and are not recognised by
|
||||||
cleanflight.
|
INAV.
|
||||||
|
|
||||||
* MSP\_BOX
|
* MSP\_BOX
|
||||||
* MSP\_SET\_BOX
|
* MSP\_SET\_BOX
|
||||||
|
|
||||||
See also
|
See also
|
||||||
--------
|
--------
|
||||||
Modes.md describes the user visible implementation for the cleanflight
|
Modes.md describes the user visible implementation for the INAV
|
||||||
modes extension.
|
modes extension.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Battery Monitoring
|
# Battery Monitoring
|
||||||
|
|
||||||
Cleanflight has a battery monitoring feature. The voltage of the main battery can be measured by the system and used to trigger a low-battery warning [buzzer](Buzzer.md), on-board status LED flashing and LED strip patterns.
|
INAV has a battery monitoring feature. The voltage of the main battery can be measured by the system and used to trigger a low-battery warning [buzzer](Buzzer.md), on-board status LED flashing and LED strip patterns.
|
||||||
|
|
||||||
Low battery warnings can:
|
Low battery warnings can:
|
||||||
|
|
||||||
|
@ -146,7 +146,7 @@ The general method is:
|
||||||
|
|
||||||
1. Fully charge your flight battery
|
1. Fully charge your flight battery
|
||||||
2. Fly your craft, using >50% of your battery pack capacity (estimated)
|
2. Fly your craft, using >50% of your battery pack capacity (estimated)
|
||||||
3. Note Cleanflight's reported mAh draw
|
3. Note INAV's reported mAh draw
|
||||||
4. Re-charge your flight battery, noting the mAh charging data needed to restore the pack to fully charged
|
4. Re-charge your flight battery, noting the mAh charging data needed to restore the pack to fully charged
|
||||||
5. Adjust `current_meter_scale` to according to the formula given below
|
5. Adjust `current_meter_scale` to according to the formula given below
|
||||||
6. Repeat and test
|
6. Repeat and test
|
||||||
|
@ -156,7 +156,7 @@ Given (a) the reported mAh draw and the (b) mAh charging data, calculate a new `
|
||||||
current_meter_scale = (charging_data_mAh / reported_draw_mAh) * old_current_meter_scale
|
current_meter_scale = (charging_data_mAh / reported_draw_mAh) * old_current_meter_scale
|
||||||
```
|
```
|
||||||
For example, assuming:
|
For example, assuming:
|
||||||
+ A Cleanflight reported current draw of 1260 mAh
|
+ A INAV reported current draw of 1260 mAh
|
||||||
+ Charging data to restore full charge of 1158 mAh
|
+ Charging data to restore full charge of 1158 mAh
|
||||||
+ A existing `current_meter_scale` value of 400 (the default)
|
+ A existing `current_meter_scale` value of 400 (the default)
|
||||||
|
|
||||||
|
@ -166,8 +166,3 @@ current_meter_scale = (charging_data_mAh / reported_draw_mAh) * old_current_mete
|
||||||
= (1158 / 1260) * 400
|
= (1158 / 1260) * 400
|
||||||
= 368
|
= 368
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -37,14 +37,14 @@ because these craft have more motors to record, they must transmit more data to
|
||||||
number of dropped frames. Although the browser-based log viewer supports hexacopters and octocopters, the command-line
|
number of dropped frames. Although the browser-based log viewer supports hexacopters and octocopters, the command-line
|
||||||
`blackbox_render` tool currently only supports tri- and quadcopters.
|
`blackbox_render` tool currently only supports tri- and quadcopters.
|
||||||
|
|
||||||
Cleanflight's `looptime` setting decides how frequently an update is saved to the flight log. The default looptime on
|
INAV's `looptime` setting decides how frequently an update is saved to the flight log. The default looptime on
|
||||||
Cleanflight is 3500. If you're using a looptime smaller than about 2400, you may experience some dropped frames due to
|
INAV is 2000us. If you're using a looptime smaller than about 2400, you may experience some dropped frames due to
|
||||||
the high required data rate. In that case you will need to reduce the sampling rate in the Blackbox settings, or
|
the high required data rate. In that case you will need to reduce the sampling rate in the Blackbox settings, or
|
||||||
increase your logger's baudrate to 250000. See the later section on configuring the Blackbox feature for details.
|
increase your logger's baudrate to 250000. See the later section on configuring the Blackbox feature for details.
|
||||||
|
|
||||||
## Setting up logging
|
## Setting up logging
|
||||||
|
|
||||||
First, you must enable the Blackbox feature. In the [Cleanflight Configurator][] enter the Configuration tab,
|
First, you must enable the Blackbox feature. In the [INAV Configurator][] enter the Configuration tab,
|
||||||
tick the "BLACKBOX" feature at the bottom of the page, and click "Save and reboot"
|
tick the "BLACKBOX" feature at the bottom of the page, and click "Save and reboot"
|
||||||
|
|
||||||
Now you must decide which device to store your flight logs on. You can either transmit the log data over a serial port
|
Now you must decide which device to store your flight logs on. You can either transmit the log data over a serial port
|
||||||
|
@ -59,7 +59,7 @@ flights to a MicroSD card.
|
||||||
The OpenLog ships from SparkFun with standard "OpenLog 3" firmware installed. Although this original OpenLog firmware
|
The OpenLog ships from SparkFun with standard "OpenLog 3" firmware installed. Although this original OpenLog firmware
|
||||||
will work with the Blackbox, in order to reduce the number of dropped frames it should be reflashed with the
|
will work with the Blackbox, in order to reduce the number of dropped frames it should be reflashed with the
|
||||||
higher performance [OpenLog Blackbox firmware][]. The special Blackbox variant of the OpenLog firmware also ensures that
|
higher performance [OpenLog Blackbox firmware][]. The special Blackbox variant of the OpenLog firmware also ensures that
|
||||||
the OpenLog is using Cleanflight compatible settings, and defaults to 115200 baud.
|
the OpenLog is using INAV compatible settings, and defaults to 115200 baud.
|
||||||
|
|
||||||
You can find the Blackbox version of the OpenLog firmware [here](https://github.com/cleanflight/blackbox-firmware),
|
You can find the Blackbox version of the OpenLog firmware [here](https://github.com/cleanflight/blackbox-firmware),
|
||||||
along with instructions for installing it onto your OpenLog.
|
along with instructions for installing it onto your OpenLog.
|
||||||
|
@ -95,7 +95,7 @@ First, tell the Blackbox to log using a serial port (rather than to an onboard d
|
||||||
Configurator's CLI tab, enter `set blackbox_device=SERIAL` to switch logging to serial, and
|
Configurator's CLI tab, enter `set blackbox_device=SERIAL` to switch logging to serial, and
|
||||||
save.
|
save.
|
||||||
|
|
||||||
You need to let Cleanflight know which of [your serial ports][] you connect your OpenLog to (i.e. the Blackbox port),
|
You need to let INAV know which of [your serial ports][] you connect your OpenLog to (i.e. the Blackbox port),
|
||||||
which you can do on the Configurator's Ports tab.
|
which you can do on the Configurator's Ports tab.
|
||||||
|
|
||||||
You should use a hardware serial port (such as UART1 on the Naze32, the two-pin Tx/Rx header in the center of the
|
You should use a hardware serial port (such as UART1 on the Naze32, the two-pin Tx/Rx header in the center of the
|
||||||
|
@ -124,7 +124,7 @@ telemetry pins.
|
||||||
|
|
||||||
Pin RC3 on the side of the board is UART2's Tx pin. If Blackbox is configured on UART2, MSP can still be used on UART1
|
Pin RC3 on the side of the board is UART2's Tx pin. If Blackbox is configured on UART2, MSP can still be used on UART1
|
||||||
when the board is armed, which means that the Configurator will continue to work simultaneously with Blackbox logging.
|
when the board is armed, which means that the Configurator will continue to work simultaneously with Blackbox logging.
|
||||||
Note that in `PARALLEL_PWM` mode this leaves the board with 6 input channels as RC3 and RC4 pins are used by UART2 as Tx and Rx. Cleanflight automatically shifts logical channel mapping for you when UART2 is enabled in `Ports` tab so you'll have to shift receiver pins that are connected to Naze32 pins 3 to 6 by two.
|
Note that in `PARALLEL_PWM` mode this leaves the board with 6 input channels as RC3 and RC4 pins are used by UART2 as Tx and Rx. INAV automatically shifts logical channel mapping for you when UART2 is enabled in `Ports` tab so you'll have to shift receiver pins that are connected to Naze32 pins 3 to 6 by two.
|
||||||
|
|
||||||
The OpenLog tolerates a power supply of between 3.3V and 12V. If you are powering your Naze32 with a standard 5V BEC,
|
The OpenLog tolerates a power supply of between 3.3V and 12V. If you are powering your Naze32 with a standard 5V BEC,
|
||||||
then you can use a spare motor header's +5V and GND pins to power the OpenLog with.
|
then you can use a spare motor header's +5V and GND pins to power the OpenLog with.
|
||||||
|
@ -192,7 +192,7 @@ On the Configurator's CLI tab, you must enter `set blackbox_device=SPIFLASH` to
|
||||||
then save.
|
then save.
|
||||||
|
|
||||||
[your serial ports]: https://github.com/cleanflight/cleanflight/blob/master/docs/Serial.md
|
[your serial ports]: https://github.com/cleanflight/cleanflight/blob/master/docs/Serial.md
|
||||||
[Cleanflight Configurator]: https://chrome.google.com/webstore/detail/cleanflight-configurator/enacoimjcgeinfnnnpajinjgmkahmfgb?hl=en
|
[INAV Configurator]: https://chrome.google.com/webstore/detail/cleanflight-configurator/enacoimjcgeinfnnnpajinjgmkahmfgb?hl=en
|
||||||
|
|
||||||
## Configuring the Blackbox
|
## Configuring the Blackbox
|
||||||
|
|
||||||
|
@ -204,7 +204,7 @@ every iteration.
|
||||||
If you're using a slower MicroSD card, you may need to reduce your logging rate to reduce the number of corrupted
|
If you're using a slower MicroSD card, you may need to reduce your logging rate to reduce the number of corrupted
|
||||||
logged frames that `blackbox_decode` complains about. A rate of 1/2 is likely to work for most craft.
|
logged frames that `blackbox_decode` complains about. A rate of 1/2 is likely to work for most craft.
|
||||||
|
|
||||||
You can change the logging rate settings by entering the CLI tab in the [Cleanflight Configurator][] and using the `set`
|
You can change the logging rate settings by entering the CLI tab in the [INAV Configurator][] and using the `set`
|
||||||
command, like so:
|
command, like so:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -232,8 +232,8 @@ not diagnose flight problems like vibration or PID setting issues.
|
||||||
|
|
||||||
The Blackbox starts recording data as soon as you arm your craft, and stops when you disarm.
|
The Blackbox starts recording data as soon as you arm your craft, and stops when you disarm.
|
||||||
|
|
||||||
If your craft has a buzzer attached, you can use Cleanflight's arming beep to synchronize your Blackbox log with your
|
If your craft has a buzzer attached, you can use INAV's arming beep to synchronize your Blackbox log with your
|
||||||
flight video. Cleanflight's arming beep is a "long, short" pattern. The beginning of the first long beep will be shown
|
flight video. INAV's arming beep is a "long, short" pattern. The beginning of the first long beep will be shown
|
||||||
as a blue line in the flight data log, which you can sync against your recorded audio track.
|
as a blue line in the flight data log, which you can sync against your recorded audio track.
|
||||||
|
|
||||||
You should wait a few seconds after disarming your craft to allow the Blackbox to finish saving its data.
|
You should wait a few seconds after disarming your craft to allow the Blackbox to finish saving its data.
|
||||||
|
@ -246,7 +246,7 @@ tools will ask you to pick which one of these flights you want to display/decode
|
||||||
Don't insert or remove the SD card while the OpenLog is powered up.
|
Don't insert or remove the SD card while the OpenLog is powered up.
|
||||||
|
|
||||||
### Usage - Dataflash chip
|
### Usage - Dataflash chip
|
||||||
After your flights, you can use the [Cleanflight Configurator][] to download the contents of the dataflash to your
|
After your flights, you can use the [INAV Configurator][] to download the contents of the dataflash to your
|
||||||
computer. Go to the "dataflash" tab and click the "save flash to file..." button. Saving the log can take 2 or 3
|
computer. Go to the "dataflash" tab and click the "save flash to file..." button. Saving the log can take 2 or 3
|
||||||
minutes.
|
minutes.
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ Here are the hardware specifications:
|
||||||
- 3.3V buck-boost power converter (newer prototypes and production versions)
|
- 3.3V buck-boost power converter (newer prototypes and production versions)
|
||||||
- battery monitoring with an LED for buzzer functionality (actualy for an ALIENWIIF3 variant)
|
- battery monitoring with an LED for buzzer functionality (actualy for an ALIENWIIF3 variant)
|
||||||
|
|
||||||
(*) Spektrum Compatible DSM2 satellites are supported out of the box. DSMX sat will work with DSM2 protocol with default settings (DSM2, 11bit, 11ms is preset). This is chosen for maximum compatibility. For optimal connection it is recommended to adjust settings to match the capabilities of your transmitter and satellite receiver. If possible it is recommended to use the DSMX protocol since it is known as more reliable. Also to make use of additional channels you should adjust the following two parameters with the Cleanflight Configurator.
|
(*) Spektrum Compatible DSM2 satellites are supported out of the box. DSMX sat will work with DSM2 protocol with default settings (DSM2, 11bit, 11ms is preset). This is chosen for maximum compatibility. For optimal connection it is recommended to adjust settings to match the capabilities of your transmitter and satellite receiver. If possible it is recommended to use the DSMX protocol since it is known as more reliable. Also to make use of additional channels you should adjust the following two parameters with the INAV Configurator.
|
||||||
|
|
||||||
set serialrx_provider = 1 (0 for 1024bit, 1 for 2048bit)
|
set serialrx_provider = 1 (0 for 1024bit, 1 for 2048bit)
|
||||||
set spektrum_sat_bind = 5
|
set spektrum_sat_bind = 5
|
||||||
|
@ -29,10 +29,10 @@ For more detail of the different bind modes please refer the [Spektrum Bind](Spe
|
||||||
|
|
||||||
Deltang receivers in serial mode will work like any other Spektrum satellite receiver (10bit, 22ms) only the bind process will be different.
|
Deltang receivers in serial mode will work like any other Spektrum satellite receiver (10bit, 22ms) only the bind process will be different.
|
||||||
|
|
||||||
The pin layout for the ALIENWIIF1 is very similar to NAZE32 or the related clones (MW32, Flip32, etc.). The hardware bind pin is connected to pin 41 (PB5). The pin layout for the ALIENWIIF3 is similar to Sparky. The hardware bind pin is connected to pin 25 (PB12). The AlienWii32 firmware will be built as target ALIENWIIF1 or ALIENWIIF3. The firmware image will come with alternative default settings which will give the user a plug and play experience. There is no computer needed to get this into the air with an small Quadcopter. An preconfigured custom mixer for an Octocopter is part of the default settings to allow clean straight wiring with the AlienWii32. The mixer can be activated with "mixer custom" in the CLI. To use the AlienWii32 in an Hexa- or Octocopter or to do some more tuning additional configuration changes can be done as usual in the CLI or the Cleanflight configurator.
|
The pin layout for the ALIENWIIF1 is very similar to NAZE32 or the related clones (MW32, Flip32, etc.). The hardware bind pin is connected to pin 41 (PB5). The pin layout for the ALIENWIIF3 is similar to Sparky. The hardware bind pin is connected to pin 25 (PB12). The AlienWii32 firmware will be built as target ALIENWIIF1 or ALIENWIIF3. The firmware image will come with alternative default settings which will give the user a plug and play experience. There is no computer needed to get this into the air with an small Quadcopter. An preconfigured custom mixer for an Octocopter is part of the default settings to allow clean straight wiring with the AlienWii32. The mixer can be activated with "mixer custom" in the CLI. To use the AlienWii32 in an Hexa- or Octocopter or to do some more tuning additional configuration changes can be done as usual in the CLI or the INAV configurator.
|
||||||
|
|
||||||
## Flashing the firmware
|
## Flashing the firmware
|
||||||
|
|
||||||
The AlienWii32 F1 board can be flashed like the Naze board or the related clones. All the different methods will work in the same way.
|
The AlienWii32 F1 board can be flashed like the Naze board or the related clones. All the different methods will work in the same way.
|
||||||
|
|
||||||
The AlienWii32 F3 board needs to be flashed via the USB port in DFU mode. Flashing via the Cleanflight GUI is not possible yet. The DFU mode can be activated via setting the BOOT0 jumper during power on of the board. The second method is to connect with an terminal program (i.e. Putty) to the board and enter the character "R" immediately after connecting. Details about the flashing process can be found in the related section of the [Sparky](Board - Sparky.md) documentation. The BOOT0 jumper should be removed and the board needs to be repowerd after firmware flashing. Please be aware, during reboot of the AlienWii F3 board, the GUI will disconnect and an manual reconnect is required.
|
The AlienWii32 F3 board needs to be flashed via the USB port in DFU mode. Flashing via the INAV GUI is not possible yet. The DFU mode can be activated via setting the BOOT0 jumper during power on of the board. The second method is to connect with an terminal program (i.e. Putty) to the board and enter the character "R" immediately after connecting. Details about the flashing process can be found in the related section of the [Sparky](Board - Sparky.md) documentation. The BOOT0 jumper should be removed and the board needs to be repowerd after firmware flashing. Please be aware, during reboot of the AlienWii F3 board, the GUI will disconnect and an manual reconnect is required.
|
||||||
|
|
|
@ -30,6 +30,7 @@ The 8 pin RC_Input connector has the following pinouts when used in RX_PPM/RX_SE
|
||||||
| 8 | PPM Input | Enable `feature RX_PPM` |
|
| 8 | PPM Input | Enable `feature RX_PPM` |
|
||||||
|
|
||||||
*Connect to the output of a PWM-RSSI conditioner, 0v-3.3v input.
|
*Connect to the output of a PWM-RSSI conditioner, 0v-3.3v input.
|
||||||
|
|
||||||
NOTE: for the CC3D\_PPM1 build PPM input is on Pin 3 and RSSI\_ADC is on Pin 8
|
NOTE: for the CC3D\_PPM1 build PPM input is on Pin 3 and RSSI\_ADC is on Pin 8
|
||||||
|
|
||||||
The 6 pin RC_Output connector has the following pinouts when used in RX_PPM/RX_SERIAL mode
|
The 6 pin RC_Output connector has the following pinouts when used in RX_PPM/RX_SERIAL mode
|
||||||
|
@ -106,10 +107,10 @@ You cannot use USART3 and I2C at the same time.
|
||||||
|
|
||||||
# Flashing
|
# Flashing
|
||||||
|
|
||||||
There are two primary ways to get Cleanflight onto a CC3D board.
|
There are two primary ways to get INAV onto a CC3D board.
|
||||||
|
|
||||||
* Single binary image mode - best mode if you don't want to use OpenPilot.
|
* Single binary image mode - best mode if you don't want to use OpenPilot.
|
||||||
* OpenPilot Bootloader compatible image mode - best mode if you want to switch between OpenPilot and Cleanflight.
|
* OpenPilot Bootloader compatible image mode - best mode if you want to switch between OpenPilot and INAV.
|
||||||
|
|
||||||
## Single binary image mode.
|
## Single binary image mode.
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,7 @@ USART2 is the following pins.
|
||||||
|
|
||||||
In standard QUADX configuration, the motors are mapped:
|
In standard QUADX configuration, the motors are mapped:
|
||||||
|
|
||||||
| Cleanflight | CJMCU |
|
| INAV | CJMCU |
|
||||||
| ----------- | ------ |
|
| ----------- | ------ |
|
||||||
| Motor 1 | Motor3 |
|
| Motor 1 | Motor3 |
|
||||||
| Motor 2 | Motor2 |
|
| Motor 2 | Motor2 |
|
||||||
|
@ -91,7 +91,7 @@ You will need a USB -> Serial UART adapter. Connect:
|
||||||
|
|
||||||
When first connected this should power up the board, and will be in bootloader mode. If this does not happen, check
|
When first connected this should power up the board, and will be in bootloader mode. If this does not happen, check
|
||||||
the charge switch is set to POW.
|
the charge switch is set to POW.
|
||||||
After the flashing process has been completed, this will allow access via the cleanflight configurator to change
|
After the flashing process has been completed, this will allow access via the INAV configurator to change
|
||||||
settings or flash a new firmware.
|
settings or flash a new firmware.
|
||||||
|
|
||||||
WARNING: If the motors are connected and the board boots into the bootloader, they will start
|
WARNING: If the motors are connected and the board boots into the bootloader, they will start
|
||||||
|
@ -101,7 +101,7 @@ is flashed.
|
||||||
# Flashing
|
# Flashing
|
||||||
|
|
||||||
To flash the board:
|
To flash the board:
|
||||||
* Open Cleanflight Configurator
|
* Open INAV Configurator
|
||||||
* Choose the latest CJMCU firmware from the list.
|
* Choose the latest CJMCU firmware from the list.
|
||||||
* Select "Load Firmware [Online]" and wait for the firmware to download.
|
* Select "Load Firmware [Online]" and wait for the firmware to download.
|
||||||
* Tick "No Reboot Sequence" and "Full Chip Erase"
|
* Tick "No Reboot Sequence" and "Full Chip Erase"
|
||||||
|
@ -142,4 +142,3 @@ The two nearby LEDs will show the status of charging:
|
||||||
for one of the the AUX channels which will result in it being always on
|
for one of the the AUX channels which will result in it being always on
|
||||||
* Enabling the feature MOTOR_STOP helps with crashes so it doesn't try to keep spinning on its back
|
* Enabling the feature MOTOR_STOP helps with crashes so it doesn't try to keep spinning on its back
|
||||||
* When the power runs low, the quad will start jumping around a bit, if the flight behaviour seems strange, check your batteries charge
|
* When the power runs low, the quad will start jumping around a bit, if the flight behaviour seems strange, check your batteries charge
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ Both boards use the STM32F303 microcontroller and have the following features:
|
||||||
|
|
||||||
# Flashing
|
# Flashing
|
||||||
|
|
||||||
The MotoLab boards use the internal DFU USB interface on the STM32F3 microcontroller which is not compatible with the Cleanflight configurator flashing tool.
|
The MotoLab boards use the internal DFU USB interface on the STM32F3 microcontroller which is not compatible with the INAV configurator flashing tool.
|
||||||
|
|
||||||
Instead, on Windows you can use the Impulse Flashing Utility from ImpulseRC, available here:
|
Instead, on Windows you can use the Impulse Flashing Utility from ImpulseRC, available here:
|
||||||
|
|
||||||
|
@ -99,4 +99,3 @@ dd if=/dev/zero of=zero.bin bs=1 count=262144
|
||||||
## Todo
|
## Todo
|
||||||
|
|
||||||
Pinout documentation
|
Pinout documentation
|
||||||
|
|
||||||
|
|
|
@ -49,8 +49,8 @@ When SOFTSERIAL is enabled, LED_STRIP and CURRENT_METER are unavailable, but two
|
||||||
+ Apply power to the board
|
+ Apply power to the board
|
||||||
+ Remove the short on the board
|
+ Remove the short on the board
|
||||||
|
|
||||||
### Cleanflight configurator
|
### INAV configurator
|
||||||
+ Select the correct hardware and the desired release of the Clearflight firmware
|
+ Select the correct hardware and the desired release of the INAV firmware
|
||||||
+ Put a check in the "No reboot sequence"
|
+ Put a check in the "No reboot sequence"
|
||||||
+ Flash firmware
|
+ Flash firmware
|
||||||
|
|
||||||
|
@ -66,4 +66,3 @@ When SOFTSERIAL is enabled, LED_STRIP and CURRENT_METER are unavailable, but two
|
||||||
|O O|
|
|O O|
|
||||||
\-------[USB]-------/
|
\-------[USB]-------/
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Board - SPRacingF3
|
# Board - SPRacingF3
|
||||||
|
|
||||||
The Seriously Pro Racing MOF3 board (SPRacingF3) is the first board designed specifically for Cleanflight.
|
The Seriously Pro Racing MOF3 board (SPRacingF3) is the first board designed specifically for INAV.
|
||||||
|
|
||||||
Full details available on the website, here:
|
Full details available on the website, here:
|
||||||
|
|
||||||
|
@ -125,4 +125,3 @@ The port cannot be used at the same time as UART2.
|
||||||
| 2 | NRST | Voltage as-supplied by BEC OR USB, always on |
|
| 2 | NRST | Voltage as-supplied by BEC OR USB, always on |
|
||||||
| 3 | SWDIO | |
|
| 3 | SWDIO | |
|
||||||
| 4 | SWDCLK | |
|
| 4 | SWDCLK | |
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,7 @@ The status bar will show the upload progress and confirm that the upload is comp
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Disconnect and reconnect the board from USB and continue to configure it via the Cleanflight configurator as per normal
|
Disconnect and reconnect the board from USB and continue to configure it via the INAV configurator as per normal
|
||||||
|
|
||||||
|
|
||||||
## Via Device Firmware Upload (DFU, USB) - Mac OS X / Linux
|
## Via Device Firmware Upload (DFU, USB) - Mac OS X / Linux
|
||||||
|
|
|
@ -12,7 +12,7 @@ The core set of supported flyable boards are:
|
||||||
* Sparky
|
* Sparky
|
||||||
* SPRacingF3
|
* SPRacingF3
|
||||||
|
|
||||||
Cleanflight also runs on the following developer boards:
|
INAV also runs on the following developer boards:
|
||||||
|
|
||||||
* STM32F3Discovery
|
* STM32F3Discovery
|
||||||
* Port103R
|
* Port103R
|
||||||
|
@ -33,4 +33,4 @@ Please see the board-specific chapters in the manual for wiring details.
|
||||||
|
|
||||||
There are off-shoots (forks) of the project that support the STM32F4 processors as found on the Revo and Quanton boards.
|
There are off-shoots (forks) of the project that support the STM32F4 processors as found on the Revo and Quanton boards.
|
||||||
|
|
||||||
Where applicable the chapters also provide links to other hardware that is known to work with Cleanflight, such as receivers, buzzers, etc.
|
Where applicable the chapters also provide links to other hardware that is known to work with INAV, such as receivers, buzzers, etc.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Buzzer
|
# Buzzer
|
||||||
|
|
||||||
Cleanflight supports a buzzer which is used for the following purposes:
|
INAV supports a buzzer which is used for the following purposes:
|
||||||
|
|
||||||
* Low and critical battery alarms (when battery monitoring enabled)
|
* Low and critical battery alarms (when battery monitoring enabled)
|
||||||
* Arm/disarm tones (and warning beeps while armed)
|
* Arm/disarm tones (and warning beeps while armed)
|
||||||
|
@ -12,7 +12,7 @@ Cleanflight supports a buzzer which is used for the following purposes:
|
||||||
|
|
||||||
If the arm/disarm is via the control stick, holding the stick in the disarm position will sound a repeating tone. This can be used as a lost-model locator.
|
If the arm/disarm is via the control stick, holding the stick in the disarm position will sound a repeating tone. This can be used as a lost-model locator.
|
||||||
|
|
||||||
Three beeps immediately after powering the board means that the gyroscope calibration has completed successfully. Cleanflight calibrates the gyro automatically upon every power-up. It is important that the copter stay still on the ground until the three beeps sound, so that gyro calibration isn't thrown off. If you move the copter significantly during calibration, Cleanflight will detect this, and will automatically re-start the calibration once the copter is still again. This will delay the "three beeps" tone. If you move the copter just a little bit, the gyro calibration may be incorrect, and the copter may not fly correctly. In this case, the gyro calibration can be performed manually via [stick command](Controls.md), or you may simply power cycle the board.
|
Three beeps immediately after powering the board means that the gyroscope calibration has completed successfully. INAV calibrates the gyro automatically upon every power-up. It is important that the copter stay still on the ground until the three beeps sound, so that gyro calibration isn't thrown off. If you move the copter significantly during calibration, INAV will detect this, and will automatically re-start the calibration once the copter is still again. This will delay the "three beeps" tone. If you move the copter just a little bit, the gyro calibration may be incorrect, and the copter may not fly correctly. In this case, the gyro calibration can be performed manually via [stick command](Controls.md), or you may simply power cycle the board.
|
||||||
|
|
||||||
There is a special arming tone used if a GPS fix has been attained, and there's a "ready" tone sounded after a GPS fix has been attained (only happens once). The tone sounded via the TX-AUX-switch will count out the number of satellites (if GPS fix).
|
There is a special arming tone used if a GPS fix has been attained, and there's a "ready" tone sounded after a GPS fix has been attained (only happens once). The tone sounded via the TX-AUX-switch will count out the number of satellites (if GPS fix).
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ Buzzer is enabled by default on platforms that have buzzer connections.
|
||||||
|
|
||||||
Buzzer tone sequences (square wave generation) are made so that : 1st, 3rd, 5th, .. are the delays how long the beeper is on and 2nd, 4th, 6th, .. are the delays how long beeper is off. Delays are in milliseconds/10 (i.e., 5 => 50ms).
|
Buzzer tone sequences (square wave generation) are made so that : 1st, 3rd, 5th, .. are the delays how long the beeper is on and 2nd, 4th, 6th, .. are the delays how long beeper is off. Delays are in milliseconds/10 (i.e., 5 => 50ms).
|
||||||
|
|
||||||
Sequences available in Cleanflight v1.9 and above are :
|
Sequences:
|
||||||
|
|
||||||
0 GYRO_CALIBRATED 20, 10, 20, 10, 20, 10 Gyro is calibrated
|
0 GYRO_CALIBRATED 20, 10, 20, 10, 20, 10 Gyro is calibrated
|
||||||
1 RX_LOST_LANDING 10, 10, 10, 10, 10, 40, 40, 10, 40, 10, 40, 40, 10, 10, 10, 10, 10, 70 SOS morse code
|
1 RX_LOST_LANDING 10, 10, 10, 10, 10, 40, 40, 10, 40, 10, 40, 40, 10, 10, 10, 10, 10, 70 SOS morse code
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Command Line Interface (CLI)
|
# Command Line Interface (CLI)
|
||||||
|
|
||||||
Cleanflight has a command line interface (CLI) that can be used to change settings and configure the FC.
|
INAV has a command line interface (CLI) that can be used to change settings and configure the FC.
|
||||||
|
|
||||||
## Accessing the CLI.
|
## Accessing the CLI.
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Configuration
|
# Configuration
|
||||||
|
|
||||||
Cleanflight is configured primarily using the Cleanflight Configurator GUI.
|
INAV is configured primarily using the INAV Configurator GUI.
|
||||||
|
|
||||||
Both the command line interface and GUI are accessible by connecting to a serial port on the target,
|
Both the command line interface and GUI are accessible by connecting to a serial port on the target,
|
||||||
be it a USB virtual serial port, physical hardware UART port or a SoftSerial port.
|
be it a USB virtual serial port, physical hardware UART port or a SoftSerial port.
|
||||||
|
@ -15,12 +15,12 @@ __Due to ongoing development, the fact that the GUI cannot yet backup all your s
|
||||||
|
|
||||||
## GUI
|
## GUI
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The GUI tool is the preferred way of configuration. The GUI tool also includes a terminal which
|
The GUI tool is the preferred way of configuration. The GUI tool also includes a terminal which
|
||||||
can be used to interact with the CLI.
|
can be used to interact with the CLI.
|
||||||
|
|
||||||
[Cleanflight Configurator on Chrome store](https://chrome.google.com/webstore/detail/cleanflight-configurator/enacoimjcgeinfnnnpajinjgmkahmfgb)
|
[INAV Configurator on Chrome store](https://chrome.google.com/webstore/detail/cleanflight-configurator/enacoimjcgeinfnnnpajinjgmkahmfgb)
|
||||||
|
|
||||||
If you cannot use the latest version of the GUI to access the FC due to firmware compatibility issues you can still access the FC via the CLI to backup your settings, or you can install an old version of the configurator.
|
If you cannot use the latest version of the GUI to access the FC due to firmware compatibility issues you can still access the FC via the CLI to backup your settings, or you can install an old version of the configurator.
|
||||||
|
|
||||||
|
@ -30,6 +30,6 @@ See the README file that comes with the configurator for installation instructio
|
||||||
|
|
||||||
## CLI
|
## CLI
|
||||||
|
|
||||||
Cleanflight can also be configured by a command line interface.
|
INAV can also be configured by a command line interface.
|
||||||
|
|
||||||
See the CLI section of the documentation for more details.
|
See the CLI section of the documentation for more details.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Display
|
# Display
|
||||||
|
|
||||||
Cleanflight supports displays to provide information to you about your aircraft and cleanflight state.
|
INAV supports displays to provide information to you about your aircraft and cleanflight state.
|
||||||
|
|
||||||
When the aircraft is armed the display does not update so flight is not affected. When disarmed the display cycles between various pages.
|
When the aircraft is armed the display does not update so flight is not affected. When disarmed the display cycles between various pages.
|
||||||
|
|
||||||
|
@ -68,5 +68,3 @@ More can be read about this procedure here: http://www.multiwii.com/forum/viewto
|
||||||
Connect +5v, Ground, I2C SDA and I2C SCL from the flight controller to the display.
|
Connect +5v, Ground, I2C SDA and I2C SCL from the flight controller to the display.
|
||||||
|
|
||||||
On Naze32 rev 5 boards the SDA and SCL pads are underneath the board.
|
On Naze32 rev 5 boards the SDA and SCL pads are underneath the board.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
# Getting Started
|
# Getting Started
|
||||||
|
|
||||||
This is a step-by-step guide that can help a person that has never used Cleanflight before set up a flight controller and the aircraft around it for flight. Basic RC knowledge is required, though. A total beginner should first familiarize themselves with concepts and techniques of RC before using this (e.g. basic controls, soldering, transmitter operation etc). One could use [RCGroups](http://www.rcgroups.com/forums/index.php) and/or [the Youtube show FliteTest](https://www.youtube.com/user/flitetest) for this.
|
This is a step-by-step guide that can help a person that has never used INAV before set up a flight controller and the aircraft around it for flight. Basic RC knowledge is required, though. A total beginner should first familiarize themselves with concepts and techniques of RC before using this (e.g. basic controls, soldering, transmitter operation etc). One could use [RCGroups](http://www.rcgroups.com/forums/index.php) and/or [the Youtube show FliteTest](https://www.youtube.com/user/flitetest) for this.
|
||||||
|
|
||||||
DISCLAIMER: This documents is a work in progress. We cannot guarantee the safety or success of your project. At this point the document is only meant to be a helping guide, not an authoritative checklist of everything you should do to be safe and successful. Always exercise common sense, critical thinking and caution.
|
DISCLAIMER: This documents is a work in progress. We cannot guarantee the safety or success of your project. At this point the document is only meant to be a helping guide, not an authoritative checklist of everything you should do to be safe and successful. Always exercise common sense, critical thinking and caution.
|
||||||
|
|
||||||
Read the [Introduction](Introduction.md) chapter for an overview of Cleanflight and how the community works.
|
Read the [Introduction](Introduction.md) chapter for an overview of INAV and how the community works.
|
||||||
|
|
||||||
## Hardware
|
## Hardware
|
||||||
|
|
||||||
NOTE: Flight Controllers are typically equipped with accelerometers. These devices are sensitive to shocks. When the device is not yet installed to an aircraft, it has very little mass by itself. If you drop or bump the controller, a big force will be applied on its accelerometers, which could potentially damage them. Bottom line: Handle the board very carefully until it's installed on an aircraft!
|
NOTE: Flight Controllers are typically equipped with accelerometers. These devices are sensitive to shocks. When the device is not yet installed to an aircraft, it has very little mass by itself. If you drop or bump the controller, a big force will be applied on its accelerometers, which could potentially damage them. Bottom line: Handle the board very carefully until it's installed on an aircraft!
|
||||||
|
|
||||||
For an overview of the hardware Cleanflight (hereby CF) can run on, see [Boards.md](Boards.md). For information about specific boards, see the board specific documentation.
|
For an overview of the hardware INAV (hereby CF) can run on, see [Boards.md](Boards.md). For information about specific boards, see the board specific documentation.
|
||||||
|
|
||||||
* Assuming that you have a flight controller board (hereby FC) in hand, you should first read through the manual that it came with. You can skip the details about software setup, as we'll cover that here.
|
* Assuming that you have a flight controller board (hereby FC) in hand, you should first read through the manual that it came with. You can skip the details about software setup, as we'll cover that here.
|
||||||
|
|
||||||
|
@ -32,11 +32,11 @@ For an overview of the hardware Cleanflight (hereby CF) can run on, see [Boards.
|
||||||
|
|
||||||
## Software setup
|
## Software setup
|
||||||
|
|
||||||
Now that your board has pins on it, you are ready to connect it to your PC and flash it with CF. Install the Chromium browser or Google Chrome to your PC, if you don't have it already, add the [Cleanflight Configurator](https://chrome.google.com/webstore/detail/cleanflight-configurator/enacoimjcgeinfnnnpajinjgmkahmfgb) to it, and start it.
|
Now that your board has pins on it, you are ready to connect it to your PC and flash it with CF. Install the Chromium browser or Google Chrome to your PC, if you don't have it already, add the [INAV Configurator](https://chrome.google.com/webstore/detail/cleanflight-configurator/enacoimjcgeinfnnnpajinjgmkahmfgb) to it, and start it.
|
||||||
|
|
||||||
Then follow these instructions for [Installation](Installation.md) of the firmware to the FC.
|
Then follow these instructions for [Installation](Installation.md) of the firmware to the FC.
|
||||||
|
|
||||||
## Cleanflight Configuration
|
## INAV Configuration
|
||||||
|
|
||||||
Your FC should now be running CF, and you should be able to connect to it using the Configurator. If that is not the case, please go back to the previous sections and follow the steps carefully.
|
Your FC should now be running CF, and you should be able to connect to it using the Configurator. If that is not the case, please go back to the previous sections and follow the steps carefully.
|
||||||
|
|
||||||
|
@ -105,4 +105,3 @@ Some advanced configurations and features are documented in the following pages,
|
||||||
* [Telemetry](Telemetry.md)
|
* [Telemetry](Telemetry.md)
|
||||||
* [Using a Display](Display.md)
|
* [Using a Display](Display.md)
|
||||||
* [Using a LED strip](LedStrip.md)
|
* [Using a LED strip](LedStrip.md)
|
||||||
* [Migrating from baseflight](Migrating from baseflight.md)
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# GPS
|
# GPS
|
||||||
|
|
||||||
GPS features in Cleanflight are experimental. Please share your findings with the developers.
|
GPS features in INAV are experimental. Please share your findings with the developers.
|
||||||
|
|
||||||
GPS works best if the GPS receiver is mounted above and away from other sources of interference.
|
GPS works best if the GPS receiver is mounted above and away from other sources of interference.
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ Enable the GPS from the CLI as follows:
|
||||||
1. connect your GPS to the serial port configured for GPS.
|
1. connect your GPS to the serial port configured for GPS.
|
||||||
1. save and reboot.
|
1. save and reboot.
|
||||||
|
|
||||||
Note: GPS packet loss has been observed at 115200. Try using 57600 if you experience this.
|
Note: GPS packet loss has been observed at 115200. Try using 38400 is enough in most of the cases.
|
||||||
|
|
||||||
For the connections step check the Board documentation for pins and port numbers.
|
For the connections step check the Board documentation for pins and port numbers.
|
||||||
|
|
||||||
|
@ -131,7 +131,7 @@ Select `Save current configuration` and click `Send`.
|
||||||
|
|
||||||
### UBlox Navigation model
|
### UBlox Navigation model
|
||||||
|
|
||||||
If GPS auto configuration is used Cleanflight will use `Airborne<1G` when `gps_nav_model=LOW_G` and `Airborne<4G` when `gps_nav_model=HIGH_G`.
|
If GPS auto configuration is used INAV will use `Airborne<1G` when `gps_nav_model=LOW_G` and `Airborne<4G` when `gps_nav_model=HIGH_G`.
|
||||||
|
|
||||||
From the UBlox documentation:
|
From the UBlox documentation:
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ The algorithm has been originally developed by Mohammad Hefny (mohammad.hefny@gm
|
||||||
> http://diydrones.com/profiles/blogs/zero-pid-tunes-for-multirotors-part-2
|
> http://diydrones.com/profiles/blogs/zero-pid-tunes-for-multirotors-part-2
|
||||||
> http://www.multiwii.com/forum/viewtopic.php?f=8&t=5190
|
> http://www.multiwii.com/forum/viewtopic.php?f=8&t=5190
|
||||||
|
|
||||||
The G-Tune functionality for Cleanflight is ported from the Harakiri firmware.
|
The G-Tune functionality for INAV is ported from the Harakiri firmware.
|
||||||
|
|
||||||
## Safety preamble: _Use at your own risk_
|
## Safety preamble: _Use at your own risk_
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# In-flight Adjustments
|
# In-flight Adjustments
|
||||||
|
|
||||||
With Cleanflight it's possible to make adjustments to various settings by using AUX channels from your transmitter while the aircraft is flying.
|
With INAV it's possible to make adjustments to various settings by using AUX channels from your transmitter while the aircraft is flying.
|
||||||
|
|
||||||
## Warning
|
## Warning
|
||||||
|
|
||||||
|
|
|
@ -3,16 +3,16 @@
|
||||||
## Using the configurator
|
## Using the configurator
|
||||||
This is a generic procedure to flash a board using the configurator. The configurator does not yet support all boards, so please check the documentation corresponding to your board before proceeding.
|
This is a generic procedure to flash a board using the configurator. The configurator does not yet support all boards, so please check the documentation corresponding to your board before proceeding.
|
||||||
|
|
||||||
Make sure you have the [Cleanflight Configurator](https://github.com/cleanflight/cleanflight-configurator) installed, then:
|
Make sure you have the [INAV Configurator](https://github.com/iNavFlight/inav-configurator) installed, then:
|
||||||
|
|
||||||
* Connect the flight controller to the PC.
|
* Connect the flight controller to the PC.
|
||||||
* Start the Cleanflight Configurator.
|
* Start the INAV Configurator.
|
||||||
* Click on "Disconnect" if the configurator connected to the board automatically.
|
* Click on "Disconnect" if the configurator connected to the board automatically.
|
||||||
* Click on the "Firmware Flasher" tab.
|
* Click on the "Firmware Flasher" tab.
|
||||||
* Make sure you have internet connectivity and click on the "Load Firmware [Online]" button.
|
* Make sure you have internet connectivity and click on the "Load Firmware [Online]" button.
|
||||||
* Click on the "Choose a Firmware / Board" dropdown menu, and select the latest stable version for your flight controller.
|
* Click on the "Choose a Firmware / Board" dropdown menu, and select the latest stable version for your flight controller.
|
||||||
* IMPORTANT: Read and understand the release notes that are displayed. When upgrading review all release notes since your current firmware.
|
* IMPORTANT: Read and understand the release notes that are displayed. When upgrading review all release notes since your current firmware.
|
||||||
* If this is the first time Cleanflight is flashed to the board, tick the "Full Chip Erase" checkbox.
|
* If this is the first time INAV is flashed to the board, tick the "Full Chip Erase" checkbox.
|
||||||
* Connect the flight controller board to the PC. Ensure the correct serial port is selected.
|
* Connect the flight controller board to the PC. Ensure the correct serial port is selected.
|
||||||
* Click on the "Flash Firmware" button and hold still (do not breathe, too).
|
* Click on the "Flash Firmware" button and hold still (do not breathe, too).
|
||||||
* When the progress bar becomes green and reads "Programming: SUCCESSFUL" you are done!
|
* When the progress bar becomes green and reads "Programming: SUCCESSFUL" you are done!
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
# Cleanflight
|
# INAV
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Welcome to CleanFlight!
|
Welcome to CleanFlight!
|
||||||
|
|
||||||
Cleanflight is an community project which attempts to deliver flight controller firmware and related tools.
|
INAV is an community project which attempts to deliver flight controller firmware and related tools.
|
||||||
|
|
||||||
## Primary Goals
|
## Primary Goals
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# LED Strip
|
# LED Strip
|
||||||
|
|
||||||
Cleanflight supports the use of addressable LED strips. Addressable LED strips allow each LED in the strip to
|
INAV supports the use of addressable LED strips. Addressable LED strips allow each LED in the strip to
|
||||||
be programmed with a unique and independant color. This is far more advanced than the normal RGB strips which
|
be programmed with a unique and independant color. This is far more advanced than the normal RGB strips which
|
||||||
require that all the LEDs in the strip show the same color.
|
require that all the LEDs in the strip show the same color.
|
||||||
|
|
||||||
|
|
|
@ -1,103 +0,0 @@
|
||||||
# Migrating from baseflight
|
|
||||||
|
|
||||||
## Procedure
|
|
||||||
|
|
||||||
**First ensure your main flight battery is disconnected or your props are off!**
|
|
||||||
|
|
||||||
Before flashing with cleanflight, dump your configs for each profile via the CLI and save to a text file.
|
|
||||||
|
|
||||||
```
|
|
||||||
profile 0
|
|
||||||
dump
|
|
||||||
profile 1
|
|
||||||
dump
|
|
||||||
profile 2
|
|
||||||
dump
|
|
||||||
```
|
|
||||||
|
|
||||||
Then after flashing cleanflight paste the output from each dump command into the cli, switching profiles as you go.
|
|
||||||
|
|
||||||
You'll note that some commands are not recognised by cleanflight when you do this. For the commands that are not recognised look
|
|
||||||
up the new configuration options and choose appropriate values for the settings. See below for a list of differences.
|
|
||||||
|
|
||||||
Once you've done this for the first profile, save the config. Then verify your config is OK, e.g. features serial ports, etc.
|
|
||||||
When you've verified the first profile is OK repeat for the other profiles.
|
|
||||||
|
|
||||||
It's also advisable to take screenshots of your AUX settings from baseflight configurator and then after re-applying the settings
|
|
||||||
verify your aux config is correct - aux settings are not backwards compatible.
|
|
||||||
|
|
||||||
## CLI command differences from baseflight
|
|
||||||
|
|
||||||
In general all CLI commands use underscore characters to separate words for consistency. In baseflight the format of CLI commands is somewhat haphazard.
|
|
||||||
|
|
||||||
### gps_baudrate
|
|
||||||
reason: new serial port configuration.
|
|
||||||
|
|
||||||
See `serial` command.
|
|
||||||
|
|
||||||
### gps_type
|
|
||||||
reason: renamed to `gps_provider` for consistency
|
|
||||||
|
|
||||||
### serialrx_type
|
|
||||||
reason: renamed to `serialrx_provider` for consistency
|
|
||||||
|
|
||||||
### rssi_aux_channel
|
|
||||||
reason: renamed to `rssi_channel` for improved functionality
|
|
||||||
|
|
||||||
Cleanflight supports using any RX channel for rssi. Baseflight only supports AUX1 to 4.
|
|
||||||
|
|
||||||
In Cleanflight a value of 0 disables the feature, a higher value indicates the channel number to read RSSI information from.
|
|
||||||
|
|
||||||
Example: to use RSSI on AUX1 in Cleanflight use `set rssi_channel = 5`, since 5 is the first AUX channel (this is equivalent to `set rssi_aux_channel = 1` in Baseflight).
|
|
||||||
|
|
||||||
### failsafe_detect_threshold
|
|
||||||
reason: improved functionality
|
|
||||||
|
|
||||||
See `rx_min_usec` and `rx_max_usec` in Failsafe documentation.
|
|
||||||
|
|
||||||
### emfavoidance
|
|
||||||
reason: renamed to `emf_avoidance` for consistency
|
|
||||||
|
|
||||||
### yawrate
|
|
||||||
reason: renamed to `yaw_rate` for consistency
|
|
||||||
|
|
||||||
### yawdeadband
|
|
||||||
reason: renamed to `yaw_deadband` for consistency
|
|
||||||
|
|
||||||
### midrc
|
|
||||||
reason: renamed to `mid_rc` for consistency
|
|
||||||
|
|
||||||
### mincheck
|
|
||||||
reason: renamed to `min_check` for consistency
|
|
||||||
|
|
||||||
### maxcheck
|
|
||||||
reason: renamed to `max_check` for consistency
|
|
||||||
|
|
||||||
### minthrottle
|
|
||||||
reason: renamed to `min_throttle` for consistency
|
|
||||||
|
|
||||||
### maxthrottle
|
|
||||||
reason: renamed to `max_throttle` for consistency
|
|
||||||
|
|
||||||
### mincommand
|
|
||||||
reason: renamed to `min_command` for consistency
|
|
||||||
|
|
||||||
### deadband3d_low
|
|
||||||
reason: renamed to `3d_deadband_low` for consistency
|
|
||||||
|
|
||||||
### deadband3d_high
|
|
||||||
reason: renamed to `3d_deadband_high` for consistency
|
|
||||||
|
|
||||||
### deadband3d_throttle
|
|
||||||
reason: renamed to `3d_deadband_throttle` for consistency
|
|
||||||
|
|
||||||
### neutral3d
|
|
||||||
reason: renamed to `3d_neutral` for consistency
|
|
||||||
|
|
||||||
### alt_hold_throttle_neutral
|
|
||||||
reason: renamed to `alt_hold_deadband` for consistency
|
|
||||||
|
|
||||||
### gimbal_flags
|
|
||||||
reason: seperation of features.
|
|
||||||
|
|
||||||
see `gimbal_mode` and `CHANNEL_FORWARDING` feature
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Mixer
|
# Mixer
|
||||||
|
|
||||||
Cleanflight supports a number of mixing configurations as well as custom mixing. Mixer configurations determine how the servos and motors work together to control the aircraft.
|
INAV supports a number of mixing configurations as well as custom mixing. Mixer configurations determine how the servos and motors work together to control the aircraft.
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
|
@ -210,7 +210,7 @@ smix reverse 5 2 r
|
||||||
Here is an example of a custom twin engine plane with [Differential Thrust](http://rcvehicles.about.com/od/rcairplanes/ss/RCAirplaneBasic.htm#step8)
|
Here is an example of a custom twin engine plane with [Differential Thrust](http://rcvehicles.about.com/od/rcairplanes/ss/RCAirplaneBasic.htm#step8)
|
||||||
Motors take the first 2 pins, the servos take pins as indicated in the [Servo slot] chart above.
|
Motors take the first 2 pins, the servos take pins as indicated in the [Servo slot] chart above.
|
||||||
Settings bellow have motor yaw influence at "0.3", you can change this nuber to have more or less differential thrust over the two motors.
|
Settings bellow have motor yaw influence at "0.3", you can change this nuber to have more or less differential thrust over the two motors.
|
||||||
Note: You can look at the Motors tab in [Cleanflight Cofigurator](https://chrome.google.com/webstore/detail/cleanflight-configurator/enacoimjcgeinfnnnpajinjgmkahmfgb?hl=en) to see motor and servo outputs.
|
Note: You can look at the Motors tab in [INAV Cofigurator](https://chrome.google.com/webstore/detail/cleanflight-configurator/enacoimjcgeinfnnnpajinjgmkahmfgb?hl=en) to see motor and servo outputs.
|
||||||
|
|
||||||
| Pins | Outputs |
|
| Pins | Outputs |
|
||||||
|------|------------------|
|
|------|------------------|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Modes
|
# Modes
|
||||||
|
|
||||||
Cleanflight has various modes that can be toggled on or off. Modes can be enabled/disabled by stick positions,
|
INAV has various modes that can be toggled on or off. Modes can be enabled/disabled by stick positions,
|
||||||
auxillary receiver channels and other events such as failsafe detection.
|
auxillary receiver channels and other events such as failsafe detection.
|
||||||
|
|
||||||
| MSP ID | CLI ID | Short Name | Function |
|
| MSP ID | CLI ID | Short Name | Function |
|
||||||
|
@ -94,4 +94,3 @@ aux 0 0 0 1700 2100
|
||||||
```
|
```
|
||||||
|
|
||||||
You can display the AUX configuration by using the `aux` command with no arguments.
|
You can display the AUX configuration by using the `aux` command with no arguments.
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Navigation
|
# Navigation
|
||||||
|
|
||||||
Navigation system in Cleanflight is responsible for assisting the pilot allowing altitude and position hold, return-to-home and waypoint flight.
|
Navigation system in INAV is responsible for assisting the pilot allowing altitude and position hold, return-to-home and waypoint flight.
|
||||||
|
|
||||||
## NAV ALTHOLD mode - altitude hold
|
## NAV ALTHOLD mode - altitude hold
|
||||||
|
|
||||||
|
|
|
@ -61,15 +61,15 @@ If you are getting oscillations starting at say 3/4 throttle, set tpa breakpoint
|
||||||
|
|
||||||
## PID controllers
|
## PID controllers
|
||||||
|
|
||||||
Cleanflight has 3 built-in PID controllers which each have different flight behavior. Each controller requires
|
INAV has 3 built-in PID controllers which each have different flight behavior. Each controller requires
|
||||||
different PID settings for best performance, so if you tune your craft using one PID controller, those settings will
|
different PID settings for best performance, so if you tune your craft using one PID controller, those settings will
|
||||||
likely not work well on any of the other controllers.
|
likely not work well on any of the other controllers.
|
||||||
|
|
||||||
You can change between PID controllers by running `set pid_controller=x` on the CLI tab of the Cleanflight
|
You can change between PID controllers by running `set pid_controller=x` on the CLI tab of the INAV
|
||||||
Configurator, where `x` is the controller you want to use. Please read these notes first before trying one
|
Configurator, where `x` is the controller you want to use. Please read these notes first before trying one
|
||||||
out.
|
out.
|
||||||
|
|
||||||
Note that older Cleanflight versions had 6 pid controllers, experimental and old ones were removed in 1.11.0 / API 1.14.0.
|
Note that older INAV versions had 6 pid controllers, experimental and old ones were removed in 1.11.0 / API 1.14.0.
|
||||||
|
|
||||||
### PID controller "MW23"
|
### PID controller "MW23"
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ the Angle mode. Note: There is currently a bug in the Configurator which shows t
|
||||||
shows as 0.03 rather than 3.0).
|
shows as 0.03 rather than 3.0).
|
||||||
|
|
||||||
The transition between self-leveling and acro behavior in Horizon mode is controlled by the "sensitivity_horizon"
|
The transition between self-leveling and acro behavior in Horizon mode is controlled by the "sensitivity_horizon"
|
||||||
parameter which is labeled "LEVEL Derivative" in the Cleanflight Configurator GUI. This sets the percentage of your
|
parameter which is labeled "LEVEL Derivative" in the INAV Configurator GUI. This sets the percentage of your
|
||||||
stick travel that should have self-leveling applied to it, so smaller values cause more of the stick area to fly using
|
stick travel that should have self-leveling applied to it, so smaller values cause more of the stick area to fly using
|
||||||
only the gyros. The default is 75%
|
only the gyros. The default is 75%
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ profile <index>
|
||||||
|
|
||||||
# Rate Profiles
|
# Rate Profiles
|
||||||
|
|
||||||
Cleanflight supports rate profiles in addition to regular profiles.
|
INAV supports rate profiles in addition to regular profiles.
|
||||||
|
|
||||||
Rate profiles contain settings that adjust how your craft behaves based on control input.
|
Rate profiles contain settings that adjust how your craft behaves based on control input.
|
||||||
|
|
||||||
|
|
|
@ -254,7 +254,7 @@ Do __NOT USE__ the mode indicated with FAILSAFE instead, as this combination is
|
||||||
## Receiver Channel Range Configuration.
|
## Receiver Channel Range Configuration.
|
||||||
|
|
||||||
If you have a transmitter/receiver, that output a non-standard pulse range (i.e. 1070-1930 as some Spektrum receivers)
|
If you have a transmitter/receiver, that output a non-standard pulse range (i.e. 1070-1930 as some Spektrum receivers)
|
||||||
you could use rx channel range configuration to map actual range of your transmitter to 1000-2000 as expected by Cleanflight.
|
you could use rx channel range configuration to map actual range of your transmitter to 1000-2000 as expected by INAV.
|
||||||
|
|
||||||
The low and high value of a channel range are often referred to as 'End-points'. e.g. 'End-point adjustments / EPA'.
|
The low and high value of a channel range are often referred to as 'End-points'. e.g. 'End-point adjustments / EPA'.
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# Serial
|
# Serial
|
||||||
|
|
||||||
Cleanflight has enhanced serial port flexibility but configuration is slightly more complex as a result.
|
INAV has enhanced serial port flexibility but configuration is slightly more complex as a result.
|
||||||
|
|
||||||
Cleanflight has the concept of a function (MSP, GPS, Serial RX, etc) and a port (VCP, UARTx, SoftSerial x).
|
INAV has the concept of a function (MSP, GPS, Serial RX, etc) and a port (VCP, UARTx, SoftSerial x).
|
||||||
Not all functions can be used on all ports due to hardware pin mapping, conflicting features, hardware, and software
|
Not all functions can be used on all ports due to hardware pin mapping, conflicting features, hardware, and software
|
||||||
constraints.
|
constraints.
|
||||||
|
|
||||||
|
@ -80,4 +80,3 @@ The allowable baud rates are as follows:
|
||||||
| 5 | 115200 |
|
| 5 | 115200 |
|
||||||
| 6 | 230400 |
|
| 6 | 230400 |
|
||||||
| 7 | 250000 |
|
| 7 | 250000 |
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ set telemetry_inversion = 1
|
||||||
|
|
||||||
### Precision setting for VFAS
|
### Precision setting for VFAS
|
||||||
|
|
||||||
Cleanflight can send VFAS (FrSky Ampere Sensor Voltage) in two ways:
|
INAV can send VFAS (FrSky Ampere Sensor Voltage) in two ways:
|
||||||
|
|
||||||
```
|
```
|
||||||
set frsky_vfas_precision = 0
|
set frsky_vfas_precision = 0
|
||||||
|
@ -89,13 +89,13 @@ Note: The SoftSerial ports may not be 5V tolerant on your board. Verify if you
|
||||||
LTM is a lightweight streaming telemetry protocol supported by a
|
LTM is a lightweight streaming telemetry protocol supported by a
|
||||||
number of OSDs, ground stations and antenna trackers.
|
number of OSDs, ground stations and antenna trackers.
|
||||||
|
|
||||||
The Cleanflight implementation of LTM implements the following frames:
|
The INAV implementation of LTM implements the following frames:
|
||||||
|
|
||||||
* G-FRAME: GPS information (lat, long, ground speed, altitude, sat
|
* G-FRAME: GPS information (lat, long, ground speed, altitude, sat
|
||||||
info)
|
info)
|
||||||
* A-FRAME: Attitude (pitch, roll, heading)
|
* A-FRAME: Attitude (pitch, roll, heading)
|
||||||
* S-FRAME: Status (voltage, current+, RSSI, airspeed+, status). Item
|
* S-FRAME: Status (voltage, current+, RSSI, airspeed+, status). Item
|
||||||
suffixed '+' not implemented in Cleanflight.
|
suffixed '+' not implemented in INAV.
|
||||||
* O-FRAME: Origin (home position, lat, long, altitude, fix)
|
* O-FRAME: Origin (home position, lat, long, altitude, fix)
|
||||||
|
|
||||||
In addition, in the inav (navigation-rewrite) fork:
|
In addition, in the inav (navigation-rewrite) fork:
|
||||||
|
@ -103,7 +103,7 @@ In addition, in the inav (navigation-rewrite) fork:
|
||||||
Waypoint number, Nav Error, Nav Flags).
|
Waypoint number, Nav Error, Nav Flags).
|
||||||
|
|
||||||
LTM is transmit only, and can work at any supported baud rate. It is
|
LTM is transmit only, and can work at any supported baud rate. It is
|
||||||
designed to operate over 2400 baud (9600 in Cleanflight) and does not
|
designed to operate over 2400 baud (9600 in INAV) and does not
|
||||||
benefit from higher rates. It is thus usable on soft serial.
|
benefit from higher rates. It is thus usable on soft serial.
|
||||||
|
|
||||||
More information about the fields, encoding and enumerations may be
|
More information about the fields, encoding and enumerations may be
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Bitmaps
|
# Bitmaps
|
||||||
|
|
||||||
The bitmapDecompress function in Cleanflight is currently designed to work with RLE compressed monochrome bitmaps.
|
The bitmapDecompress function in INAV is currently designed to work with RLE compressed monochrome bitmaps.
|
||||||
|
|
||||||
## Image format
|
## Image format
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ rate of 900Hz. That's about 25,000 bytes per second, which is 250,000 baud with
|
||||||
|
|
||||||
Please refer to the source code to clarify anything this document leaves unclear:
|
Please refer to the source code to clarify anything this document leaves unclear:
|
||||||
|
|
||||||
* Cleanflight's Blackbox logger: [blackbox.c](https://github.com/cleanflight/cleanflight/blob/master/src/main/blackbox/blackbox.c),
|
* INAV's Blackbox logger: [blackbox.c](https://github.com/cleanflight/cleanflight/blob/master/src/main/blackbox/blackbox.c),
|
||||||
[blackbox_io.c](https://github.com/cleanflight/cleanflight/blob/master/src/main/blackbox/blackbox_io.c),
|
[blackbox_io.c](https://github.com/cleanflight/cleanflight/blob/master/src/main/blackbox/blackbox_io.c),
|
||||||
[blackbox_fielddefs.h](https://github.com/cleanflight/cleanflight/blob/master/src/main/blackbox/blackbox_fielddefs.h)
|
[blackbox_fielddefs.h](https://github.com/cleanflight/cleanflight/blob/master/src/main/blackbox/blackbox_fielddefs.h)
|
||||||
* [C implementation of the Blackbox log decoder](https://github.com/cleanflight/blackbox-tools/blob/master/src/parser.c)
|
* [C implementation of the Blackbox log decoder](https://github.com/cleanflight/blackbox-tools/blob/master/src/parser.c)
|
||||||
|
@ -36,7 +36,7 @@ iteration.
|
||||||
|
|
||||||
Each main frame must contain at least two fields, "loopIteration" which records the index of the current main loop
|
Each main frame must contain at least two fields, "loopIteration" which records the index of the current main loop
|
||||||
iteration (starting at zero for the first logged iteration), and "time" which records the timestamp of the beginning of
|
iteration (starting at zero for the first logged iteration), and "time" which records the timestamp of the beginning of
|
||||||
the main loop in microseconds (this needn't start at zero, on Cleanflight it represents the system uptime).
|
the main loop in microseconds (this needn't start at zero, on INAV it represents the system uptime).
|
||||||
|
|
||||||
There are two kinds of main frames, "I" and "P". "I", or "intra" frames are like video keyframes. They can be decoded
|
There are two kinds of main frames, "I" and "P". "I", or "intra" frames are like video keyframes. They can be decoded
|
||||||
without reference to any previous frame, so they allow log decoding to be resynchronized in the event of log damage. "P"
|
without reference to any previous frame, so they allow log decoding to be resynchronized in the event of log damage. "P"
|
||||||
|
@ -65,7 +65,7 @@ All Slow frames are logged as intraframes. An interframe encoding scheme can't b
|
||||||
damaged frame causes all subsequent interframes to be undecodable. Because Slow frames are written so infrequently, one
|
damaged frame causes all subsequent interframes to be undecodable. Because Slow frames are written so infrequently, one
|
||||||
missing Slow frame could invalidate minutes worth of Slow state.
|
missing Slow frame could invalidate minutes worth of Slow state.
|
||||||
|
|
||||||
On Cleanflight, Slow frames are currently used to log data like the user-chosen flight mode and the current failsafe
|
On INAV, Slow frames are currently used to log data like the user-chosen flight mode and the current failsafe
|
||||||
state.
|
state.
|
||||||
|
|
||||||
### Event frames: E
|
### Event frames: E
|
||||||
|
@ -74,8 +74,8 @@ controller "state". Instead, we log it as a state *transition* . This data is lo
|
||||||
frame payload begins with a single byte "event type" field. The format of the rest of the payload is not encoded in the
|
frame payload begins with a single byte "event type" field. The format of the rest of the payload is not encoded in the
|
||||||
flight log, so its interpretation is left up to an agreement of the writer and the decoder.
|
flight log, so its interpretation is left up to an agreement of the writer and the decoder.
|
||||||
|
|
||||||
For example, one event that Cleanflight logs is that the user has adjusted a system setting (such as a PID setting)
|
For example, one event that INAV logs is that the user has adjusted a system setting (such as a PID setting)
|
||||||
using Cleanflight's inflight adjustments feature. The event payload notes which setting was adjusted and the new value
|
using INAV's inflight adjustments feature. The event payload notes which setting was adjusted and the new value
|
||||||
for the setting.
|
for the setting.
|
||||||
|
|
||||||
Because these setting updates are so rare, it would be wasteful to treat the settings as "state" and log the fact that
|
Because these setting updates are so rare, it would be wasteful to treat the settings as "state" and log the fact that
|
||||||
|
@ -94,7 +94,7 @@ the raw field value. Finally, the encoder is used to transform the value into by
|
||||||
### Field predictors
|
### Field predictors
|
||||||
The job of the predictor is to bring the value to be encoded as close to zero as possible. The predictor may be based
|
The job of the predictor is to bring the value to be encoded as close to zero as possible. The predictor may be based
|
||||||
on the values seen for the field in a previous frame, or some other value such as a fixed value or a value recorded in
|
on the values seen for the field in a previous frame, or some other value such as a fixed value or a value recorded in
|
||||||
the log headers. For example, the battery voltage values in "I" intraframes in Cleanflight use a reference voltage that
|
the log headers. For example, the battery voltage values in "I" intraframes in INAV use a reference voltage that
|
||||||
is logged as part of the headers as a predictor. This assumes that battery voltages will be broadly similar to the
|
is logged as part of the headers as a predictor. This assumes that battery voltages will be broadly similar to the
|
||||||
initial pack voltage of the flight (e.g. 4S battery voltages are likely to lie within a small range for the whole
|
initial pack voltage of the flight (e.g. 4S battery voltages are likely to lie within a small range for the whole
|
||||||
flight). In "P" interframes, the battery voltage will instead use the previously-logged voltage as a predictor, because
|
flight). In "P" interframes, the battery voltage will instead use the previously-logged voltage as a predictor, because
|
||||||
|
@ -125,7 +125,7 @@ history is a better predictor of the next value than the previous value on its o
|
||||||
or motor measurements).
|
or motor measurements).
|
||||||
|
|
||||||
#### Predict minthrottle (4)
|
#### Predict minthrottle (4)
|
||||||
This predictor subtracts the value of "minthrottle" which is included in the log header. In Cleanflight, motors always
|
This predictor subtracts the value of "minthrottle" which is included in the log header. In INAV, motors always
|
||||||
lie in the range of `[minthrottle ... maxthrottle]` when the craft is armed, so this predictor is used for the first
|
lie in the range of `[minthrottle ... maxthrottle]` when the craft is armed, so this predictor is used for the first
|
||||||
motor value in intraframes.
|
motor value in intraframes.
|
||||||
|
|
||||||
|
@ -147,7 +147,7 @@ typically lie close to the midpoint of 1500us.
|
||||||
|
|
||||||
#### Predict vbatref (9)
|
#### Predict vbatref (9)
|
||||||
This predictor is set to the "vbatref" field written in the log header. It is used when logging intraframe battery
|
This predictor is set to the "vbatref" field written in the log header. It is used when logging intraframe battery
|
||||||
voltages in Cleanflight, since these are expected to be broadly similar to the first battery voltage seen during
|
voltages in INAV, since these are expected to be broadly similar to the first battery voltage seen during
|
||||||
arming.
|
arming.
|
||||||
|
|
||||||
#### Predict last main-frame time (10)
|
#### Predict last main-frame time (10)
|
||||||
|
@ -219,7 +219,7 @@ Here are some example integers encoded using ZigZag encoding:
|
||||||
|
|
||||||
#### Neg 14-bit (3)
|
#### Neg 14-bit (3)
|
||||||
The value is negated, treated as an unsigned 14 bit integer, then encoded using unsigned variable byte encoding. This
|
The value is negated, treated as an unsigned 14 bit integer, then encoded using unsigned variable byte encoding. This
|
||||||
bizarre encoding is used in Cleanflight for battery pack voltages. This is because battery voltages are measured using a
|
bizarre encoding is used in INAV for battery pack voltages. This is because battery voltages are measured using a
|
||||||
14-bit ADC, with a predictor which is set to the battery voltage during arming, which is expected to be higher than any
|
14-bit ADC, with a predictor which is set to the battery voltage during arming, which is expected to be higher than any
|
||||||
voltage experienced during flight. After the predictor is subtracted, the battery voltage will almost certainly be below
|
voltage experienced during flight. After the predictor is subtracted, the battery voltage will almost certainly be below
|
||||||
zero.
|
zero.
|
||||||
|
@ -233,7 +233,7 @@ number of bytes. If the bitstream isn't aligned on a byte boundary by the time t
|
||||||
or the end of the frame is reached, the final byte is padded with zeros byte-align the stream. This encoding requires
|
or the end of the frame is reached, the final byte is padded with zeros byte-align the stream. This encoding requires
|
||||||
more CPU time than the other encodings because of the bit juggling involved in writing the bitstream.
|
more CPU time than the other encodings because of the bit juggling involved in writing the bitstream.
|
||||||
|
|
||||||
When this encoder is chosen to encode all of the values in Cleanflight interframes, it saves about 10% bandwidth
|
When this encoder is chosen to encode all of the values in INAV interframes, it saves about 10% bandwidth
|
||||||
compared to using a mixture of the other encodings, but uses too much CPU time to be practical.
|
compared to using a mixture of the other encodings, but uses too much CPU time to be practical.
|
||||||
|
|
||||||
[The basic encoding algorithm is defined on Wikipedia](https://en.wikipedia.org/wiki/Elias_delta_coding). Given these
|
[The basic encoding algorithm is defined on Wikipedia](https://en.wikipedia.org/wiki/Elias_delta_coding). Given these
|
||||||
|
@ -524,7 +524,7 @@ Because Blackbox records the internal flight controller state, the interpretatio
|
||||||
on knowing which flight controller recorded it. To accomodate this, the name of the flight controller should be recorded:
|
on knowing which flight controller recorded it. To accomodate this, the name of the flight controller should be recorded:
|
||||||
|
|
||||||
```
|
```
|
||||||
H Firmware type:Cleanflight
|
H Firmware type:INAV
|
||||||
```
|
```
|
||||||
|
|
||||||
More details should be included to help narrow down the precise flight-controller version (but these are not required):
|
More details should be included to help narrow down the precise flight-controller version (but these are not required):
|
||||||
|
@ -570,7 +570,7 @@ H Field X encoding:1,1,0,0...
|
||||||
This header provides the reference voltage that will be used by predictor #9.
|
This header provides the reference voltage that will be used by predictor #9.
|
||||||
|
|
||||||
#### minthrottle
|
#### minthrottle
|
||||||
This header provides the minimum value sent by Cleanflight to the ESCs when armed, it is used by predictor #4.
|
This header provides the minimum value sent by INAV to the ESCs when armed, it is used by predictor #4.
|
||||||
|
|
||||||
#### Additional headers
|
#### Additional headers
|
||||||
The decoder ignores headers that it does not understand, so you can freely add any headers that you require in order to
|
The decoder ignores headers that it does not understand, so you can freely add any headers that you require in order to
|
||||||
|
|
|
@ -4,7 +4,7 @@ Building in Mac OS X can be accomplished in just a few steps:
|
||||||
|
|
||||||
* Install general development tools (clang, make, git)
|
* Install general development tools (clang, make, git)
|
||||||
* Install ARM GCC 4.9 series compiler
|
* Install ARM GCC 4.9 series compiler
|
||||||
* Checkout Cleanflight sourcecode through git
|
* Checkout INAV sourcecode through git
|
||||||
* Build the code
|
* Build the code
|
||||||
|
|
||||||
## Install general development tools (clang, make, git)
|
## Install general development tools (clang, make, git)
|
||||||
|
@ -37,7 +37,7 @@ installation, open up XCode and enter its preferences menu. Go to the "downloads
|
||||||
|
|
||||||
## Install ARM GCC 4.9 series compiler
|
## Install ARM GCC 4.9 series compiler
|
||||||
|
|
||||||
Cleanflight is built using the 4.9 series GCC compiler provided by the [GNU Tools for ARM Embedded Processors project][].
|
INAV is built using the 4.9 series GCC compiler provided by the [GNU Tools for ARM Embedded Processors project][].
|
||||||
|
|
||||||
Hit the "all downloads" link on the right side of the GNU Tools for ARM page to view [the older releases][]. Grab the
|
Hit the "all downloads" link on the right side of the GNU Tools for ARM page to view [the older releases][]. Grab the
|
||||||
Mac installation tarball for the latest version in the 4.9 series (e.g. 4.9-2015q2). Move it somewhere useful
|
Mac installation tarball for the latest version in the 4.9 series (e.g. 4.9-2015q2). Move it somewhere useful
|
||||||
|
@ -75,26 +75,26 @@ If `arm-none-eabi-gcc` couldn't be found, go back and check that you entered the
|
||||||
|
|
||||||
## Checkout CleanFlight sourcecode through git
|
## Checkout CleanFlight sourcecode through git
|
||||||
|
|
||||||
Enter your development directory and clone the [Cleanflight repository][] using the "HTTPS clone URL" which is shown on
|
Enter your development directory and clone the [INAV repository][] using the "HTTPS clone URL" which is shown on
|
||||||
the right side of the Cleanflight GitHub page, like so:
|
the right side of the INAV GitHub page, like so:
|
||||||
|
|
||||||
```
|
```
|
||||||
git clone https://github.com/cleanflight/cleanflight.git
|
git clone https://github.com/cleanflight/cleanflight.git
|
||||||
```
|
```
|
||||||
|
|
||||||
This will download the entire Cleanflight repository for you into a new folder called "cleanflight".
|
This will download the entire INAV repository for you into a new folder called "cleanflight".
|
||||||
|
|
||||||
[CleanFlight repository]: https://github.com/cleanflight/cleanflight
|
[CleanFlight repository]: https://github.com/cleanflight/cleanflight
|
||||||
|
|
||||||
## Build the code
|
## Build the code
|
||||||
|
|
||||||
Enter the cleanflight directory and run `make TARGET=NAZE` to build firmware for the Naze32. When the build completes,
|
Enter the cleanflight directory and run `make TARGET=NAZE` to build firmware for the Naze32. When the build completes,
|
||||||
the .hex firmware should be available as `obj/cleanflight_NAZE.hex` for you to flash using the Cleanflight
|
the .hex firmware should be available as `obj/cleanflight_NAZE.hex` for you to flash using the INAV
|
||||||
Configurator.
|
Configurator.
|
||||||
|
|
||||||
## Updating to the latest source
|
## Updating to the latest source
|
||||||
|
|
||||||
If you want to erase your local changes and update to the latest version of the Cleanflight source, enter your
|
If you want to erase your local changes and update to the latest version of the INAV source, enter your
|
||||||
cleanflight directory and run these commands to first erase your local changes, fetch and merge the latest
|
cleanflight directory and run these commands to first erase your local changes, fetch and merge the latest
|
||||||
changes from the repository, then rebuild the firmware:
|
changes from the repository, then rebuild the firmware:
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Building in Ubuntu
|
# Building in Ubuntu
|
||||||
|
|
||||||
Building for Ubuntu platform is remarkably easy. The only trick to understand is that the Ubuntu toolchain,
|
Building for Ubuntu platform is remarkably easy. The only trick to understand is that the Ubuntu toolchain,
|
||||||
which they are downstreaming from Debian, is not compatible with Cleanflight. We suggest that you take an
|
which they are downstreaming from Debian, is not compatible with INAV. We suggest that you take an
|
||||||
alternative PPA from Terry Guo, found here:
|
alternative PPA from Terry Guo, found here:
|
||||||
https://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded
|
https://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ $ ls -la obj/cleanflight_NAZE.hex
|
||||||
-rw-rw-r-- 1 pim pim 274258 Jan 12 21:45 obj/cleanflight_NAZE.hex
|
-rw-rw-r-- 1 pim pim 274258 Jan 12 21:45 obj/cleanflight_NAZE.hex
|
||||||
```
|
```
|
||||||
|
|
||||||
You can use the Cleanflight-Configurator to flash the ```obj/cleanflight_NAZE.hex``` file.
|
You can use the INAV-Configurator to flash the ```obj/cleanflight_NAZE.hex``` file.
|
||||||
|
|
||||||
## Bricked/Bad build?
|
## Bricked/Bad build?
|
||||||
|
|
||||||
|
|
|
@ -51,9 +51,9 @@ add the "bin" subdirectory to the PATH Windows environment variable: ```%PATH%;C
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Checkout and compile Cleanflight
|
## Checkout and compile INAV
|
||||||
|
|
||||||
Head over to the Cleanflight Github page and grab the URL of the GIT Repository: "https://github.com/cleanflight/cleanflight.git"
|
Head over to the INAV Github page and grab the URL of the GIT Repository: "https://github.com/cleanflight/cleanflight.git"
|
||||||
|
|
||||||
Open the Cygwin-Terminal, navigate to your development folder and use the git commandline to checkout the repository:
|
Open the Cygwin-Terminal, navigate to your development folder and use the git commandline to checkout the repository:
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ git clone https://github.com/cleanflight/cleanflight.git
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
To compile your Cleanflight binaries, enter the cleanflight directory and build the project using the make command. You can append TARGET=[HARDWARE] if you want to build anything other than the default NAZE target:
|
To compile your INAV binaries, enter the cleanflight directory and build the project using the make command. You can append TARGET=[HARDWARE] if you want to build anything other than the default NAZE target:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd cleanflight
|
cd cleanflight
|
||||||
|
@ -84,7 +84,7 @@ arm-none-eabi-size ./obj/main/cleanflight_NAZE.elf
|
||||||
arm-none-eabi-objcopy -O ihex --set-start 0x8000000 obj/main/cleanflight_NAZE.elf obj/cleanflight_NAZE.hex
|
arm-none-eabi-objcopy -O ihex --set-start 0x8000000 obj/main/cleanflight_NAZE.elf obj/cleanflight_NAZE.hex
|
||||||
```
|
```
|
||||||
|
|
||||||
You can use the Cleanflight-Configurator to flash the ```obj/cleanflight_NAZE.hex``` file.
|
You can use the INAV-Configurator to flash the ```obj/cleanflight_NAZE.hex``` file.
|
||||||
|
|
||||||
## Updating and rebuilding
|
## Updating and rebuilding
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,7 @@ https://help.github.com/articles/creating-a-pull-request/
|
||||||
|
|
||||||
The main flow for a contributing is as follows:
|
The main flow for a contributing is as follows:
|
||||||
|
|
||||||
1. Login to github, go to the cleanflight repository and press `fork`.
|
1. Login to github, go to the INAV repository and press `fork`.
|
||||||
2. Then using the command line/terminal on your computer: `git clone <url to YOUR fork>`
|
2. Then using the command line/terminal on your computer: `git clone <url to YOUR fork>`
|
||||||
3. `cd cleanflight`
|
3. `cd cleanflight`
|
||||||
4. `git checkout master`
|
4. `git checkout master`
|
||||||
|
@ -98,5 +98,3 @@ Later, you can get the changes from the cleanflight repo into your `master` bran
|
||||||
|
|
||||||
|
|
||||||
You can also perform the git commands using the git client inside Eclipse. Refer to the Eclipse git manual.
|
You can also perform the git commands using the git client inside Eclipse. Refer to the Eclipse git manual.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#Travis
|
#Travis
|
||||||
|
|
||||||
Cleanflight provides Travis build and config files in the repository root.
|
INAV provides Travis build and config files in the repository root.
|
||||||
|
|
||||||
## Pushing builds to a remote server
|
## Pushing builds to a remote server
|
||||||
|
|
||||||
|
@ -8,4 +8,4 @@ Cleanflight provides Travis build and config files in the repository root.
|
||||||
```PUBLISH_URL``` environment variable. If set, the build script will use the cURL binary and simulate
|
```PUBLISH_URL``` environment variable. If set, the build script will use the cURL binary and simulate
|
||||||
a file upload post to the configured server.
|
a file upload post to the configured server.
|
||||||
|
|
||||||
Pleas check the ```notifications``` section in the ```.travis.yml``` file and adjust the irc notifications if you plan on using Travis on your Cleanflight fork
|
Pleas check the ```notifications``` section in the ```.travis.yml``` file and adjust the irc notifications if you plan on using Travis on your INAV fork
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue