forked from iNavFlight/inav
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag '7.1.2' into 7.1.2_unofficial_targets
- Loading branch information
Showing
472 changed files
with
12,856 additions
and
2,767 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,6 +22,7 @@ cov-int* | |
/downloads/ | ||
/debug/ | ||
/release/ | ||
/*_SITL/ | ||
|
||
# script-generated files | ||
docs/Manual.pdf | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
{ | ||
"configurations": [ | ||
{ | ||
"name": "Linux", | ||
"includePath": [ | ||
"${workspaceRoot}/src/main/**", | ||
"${workspaceRoot}/lib/main/**", | ||
"/usr/include/**" | ||
], | ||
"browse": { | ||
"limitSymbolsToIncludedHeaders": false, | ||
"path": [ | ||
"${workspaceRoot}/src/main/**", | ||
"${workspaceRoot}/lib/main/**" | ||
] | ||
}, | ||
"intelliSenseMode": "linux-gcc-arm", | ||
"cStandard": "c11", | ||
"cppStandard": "c++17", | ||
"defines": [ | ||
"MCU_FLASH_SIZE 512", | ||
"USE_NAV", | ||
"NAV_FIXED_WING_LANDING", | ||
"USE_OSD", | ||
"USE_GYRO_NOTCH_1", | ||
"USE_GYRO_NOTCH_2", | ||
"USE_DTERM_NOTCH", | ||
"USE_ACC_NOTCH", | ||
"USE_GYRO_BIQUAD_RC_FIR2", | ||
"USE_D_BOOST", | ||
"USE_SERIALSHOT", | ||
"USE_ANTIGRAVITY", | ||
"USE_ASYNC_GYRO_PROCESSING", | ||
"USE_RPM_FILTER", | ||
"USE_GLOBAL_FUNCTIONS", | ||
"USE_DYNAMIC_FILTERS", | ||
"USE_IMU_BNO055", | ||
"USE_SECONDARY_IMU", | ||
"USE_DSHOT", | ||
"FLASH_SIZE 480", | ||
"USE_I2C_IO_EXPANDER", | ||
"USE_PCF8574", | ||
"USE_ESC_SENSOR", | ||
"USE_PROGRAMMING_FRAMEWORK", | ||
"USE_SERIALRX_GHST", | ||
"USE_TELEMETRY_GHST", | ||
"USE_CMS", | ||
"USE_DJI_HD_OSD", | ||
"USE_GYRO_KALMAN", | ||
"USE_RANGEFINDER", | ||
"USE_RATE_DYNAMICS", | ||
"USE_SMITH_PREDICTOR", | ||
"USE_ALPHA_BETA_GAMMA_FILTER", | ||
"USE_MAG_VCM5883", | ||
"USE_TELEMETRY_JETIEXBUS", | ||
"USE_NAV", | ||
"USE_SDCARD_SDIO", | ||
"USE_SDCARD", | ||
"USE_Q_TUNE", | ||
"USE_GYRO_FFT_FILTER" | ||
], | ||
"configurationProvider": "ms-vscode.cmake-tools" | ||
} | ||
], | ||
"version": 4 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
{ | ||
// See https://go.microsoft.com/fwlink/?LinkId=733558 | ||
// for the documentation about the tasks.json format | ||
"version": "2.0.0", | ||
"tasks": [ | ||
{ | ||
"label": "Build Matek F722-SE", | ||
"type": "shell", | ||
"command": "make MATEKF722SE", | ||
"group": "build", | ||
"problemMatcher": [], | ||
"options": { | ||
"cwd": "${workspaceFolder}/build" | ||
} | ||
}, | ||
{ | ||
"label": "Build Matek F722", | ||
"type": "shell", | ||
"command": "make MATEKF722", | ||
"group": { | ||
"kind": "build", | ||
"isDefault": true | ||
}, | ||
"problemMatcher": [], | ||
"options": { | ||
"cwd": "${workspaceFolder}/build" | ||
} | ||
} | ||
, | ||
{ | ||
"label": "CMAKE Update", | ||
"type": "shell", | ||
"command": "cmake ..", | ||
"group": "build", | ||
"problemMatcher": [], | ||
"options": { | ||
"cwd": "${workspaceFolder}/build" | ||
} | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -51,7 +51,7 @@ else() | |
endif() | ||
endif() | ||
|
||
project(INAV VERSION 7.0.0) | ||
project(INAV VERSION 7.1.2) | ||
|
||
enable_language(ASM) | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
#!/bin/bash | ||
rm -r build_SITL | ||
mkdir -p build_SITL | ||
#cmake -DSITL=ON -DWARNINGS_AS_ERRORS=ON -GNinja -B build_SITL .. | ||
cmake -DSITL=ON -DDEBUG=ON -DWARNINGS_AS_ERRORS=ON -GNinja -B build_SITL .. | ||
cd build_SITL | ||
ninja |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
#!/bin/bash | ||
cd build_SITL | ||
|
||
#Lauch SITL - configurator only mode | ||
./inav_7.0.0_SITL | ||
|
||
#Launch SITL - connect to X-Plane. IP address should be host IP address, not 127.0.0.1. Can be found in X-Plane "Network" tab. | ||
#./inav_7.0.0_SITL --sim=xp --simip=192.168.2.105 --simport=49000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
# Fixed Wing Landing | ||
|
||
## Introducion | ||
|
||
INAV supports advanced automatic landings for fixed wing aircraft from version 7.1. | ||
The procedure is based on landings for man-carrying aircraft, so that safe landings at a specific location are possible. | ||
Supported are landings at safehome after "Return to Home" or at a defined LAND waypoint for missions. | ||
Every landing locations can be defined with a target point and 2 different approach headings (colinear to the landing strips) with exclusive direction or opposite directions allowed. | ||
This enables up to 4 different approach directions, based on the landing site and surrounding area. | ||
|
||
## General procedure: | ||
|
||
1. After reaching Safehome/LAND Waypoint the altitude is corrected to "Approach Altitude". | ||
2. The aircraft circles for at least 30 seconds to determine the wind direction and strength. | ||
3. The landing direction and the approach waypoints are calculated on the basis of the measured wind parameters. If no headwind landing is possible or the wind strength is greater than "Max. tailwind" (see Global Parameters), return to point 2. | ||
4. The landing is initiated. The aircraft flies the downwind course, "Approach Altitude" is held. | ||
5. Base Leg: the altitude is reduced from 2/3 of "Approach Altitude". | ||
6. Final Appraoch: The engine power is reduced using "Pitch2throttle modifier" to reduce speed and the altitude is reduced to "Land Altitude". | ||
7. Glide: When "Glide Altitude" is reached, the motor is switched off and the pitch angle of "Glide Pitch" is held. | ||
7. Flare: Only if a LIDAR/Rangefinder sensor is present: the motor remains switched off and the pitch angle of "Flare Pitch" is held | ||
8. Landing: As soon as INAV has detected the landing, it is automatically disarmed, see setting `nav_disarm_on_landing`. | ||
|
||
To activate the automatic landing, the parameter `nav_rth_allow_landing` must be set to `ALWAYS` or `FAILSAFE`. | ||
|
||
> [!WARNING] | ||
> If landing is activated and no parameters are set for the landing site (Safehome and/or landing waypoint), the old landing procedure (circling until close to the ground, then hovering out) is performed. | ||
> This is probably not what you want. | ||
The following graphics illustrate the process: | ||
|
||
![Approach Drawing Up](/docs/assets/images/Approach-Drawing-Up.png "Approach Drawing Up") | ||
|
||
![Approach Drawing Side](/docs/assets/images/Approach-Drawing-Side.png "Approach Drawing Side") | ||
|
||
## Landing site parameters | ||
|
||
### The following parameters are set for each landing site (Safefome/LAND waypoint): | ||
|
||
All settings can also be conveniently made in the Configurator via Mission Control. | ||
|
||
CLI command `fwapproach`: | ||
`fwapproach <index> <Approach altitude> <Land altitude> <Approach direction> <approach heading 1> <approach heading 2> <sea level>` | ||
|
||
`fwapproach` has 17 slots in which landing parameters can be stored. In slot 0-7 the landing parameters for Safehome are stored, in 8 - 16 the parameters for waypoint missions. Only one landing point per mission can be saved. | ||
|
||
* index: 0 - 17, 0 - 7 Safehome, 8 - 16 Mission | ||
* Approach direction: 0 - Left, 1 - Right. Always seen from the primary landing direction (positive value), i.e. whether the aircraft flies left or right turns on approach. | ||
* Approach Altitude: Initial altitude of the approach, the altitude at which the wind direction is determined and the downwind approach, in cm | ||
* Land Altitude: Altitude of the landing site, in cm | ||
* Approach heading 1 and 2: Two landing directions can be set, values: 0 - +/-360. 0 = landing direction is deactivated. | ||
A positive value means that you can approach in both directions, a negative value means that this direction is exclusive. | ||
Example: 90 degrees: It is possible to land in 90 degrees as well as in 270 degrees. -90 means that you can only land in a 90 degree direction. | ||
This means that practically 4 landing directions can be saved. | ||
* Sea Level: 0 - Deactivated, 1 - Activated. If activated, approach and land altitude refer to normal zero (sea level), otherwise relative altitude to the altitude during first GPS fix. | ||
|
||
> [!CAUTION] | ||
> The Configuator automatically determines the ground altitude based on databases on the Internet, which may be inaccurate. Please always compare with the measured GPS altitude at the landing site to avoid crashes. | ||
### Global parameters | ||
|
||
All settings are available via “Advanced Tuning” in the Configurator. | ||
|
||
* `nav_fw_land_approach_length`: Length of the final approach, measured from the land site (Safehome/Waypoint) to the last turning point. | ||
In cm. Max: 100000, Min: 100, Default: 35000 | ||
|
||
* `nav_fw_land_final_approach_pitch2throttle_mod`: Modifier for pitch to throttle ratio at final approach. This parameter can be used to reduce speed during the final approach. | ||
Example: If the parameter is set to 200% and Pitch To Throttle Ratio is set to 15, Pitch To Throttle Ratio is set to 30 on the final approach. This causes a reduction in engine power on approach when the nose is pointing downwards. | ||
In Percent. Min: 100, Max: 400, Default: 100 | ||
|
||
* `nav_fw_land_glide_alt`: Initial altitude of the glide phase. The altitude refers to "Landing Altitude", see above under "Landing site parameters" | ||
In cm. Min: 100, Max: 5000, Default: 200 | ||
|
||
* `nav_fw_land_flare_alt`: Initial altitude of the flare phase. The altitude refers to "Landing Altitude", see above under "Landing site parameters" | ||
In cm. Min: 0, Max: 5000, Default: 200 | ||
|
||
* `nav_fw_land_glide_pitch`: Pitch value for glide phase. | ||
In degrees. Min: 0, Max: 45, Default: 0 | ||
|
||
* `nav_fw_land_flare_pitch`: Pitch value for flare phase. | ||
In degrees. Min: 0, Max: 45, Default: 8 | ||
|
||
* `nav_fw_land_max_tailwind`: Max. tailwind if no landing direction with downwind is available. Wind strengths below this value are ignored (error tolerance in the wind measurement). Landing then takes place in the main direction. If, for example, 90 degrees is configured, landing takes place in this direction, NOT in 270 degrees (see above). | ||
In cm/s. Min: 0; Max: 3000, Default: 140 | ||
|
||
## Waypoint missions | ||
|
||
Only one landing waypoint per mission can be active and saved and the landing waypoint must be the last waypoint of the mission. | ||
If the altitude of the waypoint and the "Approach Altitude" are different, the altitude of the waypoint is approached first and then the altitude is corrected to "Approach Altitude". | ||
|
||
## Logic Conditions | ||
|
||
The current landing state can be retrieved via ID 41 in "Flight" (FW Land State). This allows additional actions to be executed according to the landing phases, e.g. deployment of the landing flaps. | ||
|
||
| Returned value | State | | ||
| --- | --- | | ||
| 0 | Idle/Inactive | | ||
| 1 | Loiter | | ||
| 2 | Downwind | | ||
| 3 | Base Leg | | ||
| 4 | Final Approach | | ||
| 5 | Glide | | ||
| 6 | Flare | |
Oops, something went wrong.