mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-19 22:35:19 +03:00
landing tweaks
This commit is contained in:
parent
aa8fcc2991
commit
3560bb57ea
5 changed files with 6 additions and 5 deletions
|
@ -2688,7 +2688,7 @@ Delay before craft disarms when `nav_disarm_on_landing` is set (ms)
|
||||||
|
|
||||||
| Default | Min | Max |
|
| Default | Min | Max |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| 2000 | 100 | 10000 |
|
| 1000 | 100 | 10000 |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
@ -50,6 +50,7 @@ static const OSD_Entry cmsx_menuNavSettingsEntries[] =
|
||||||
OSD_SETTING_ENTRY("MC MAX BANK ANGLE", SETTING_NAV_MC_BANK_ANGLE),
|
OSD_SETTING_ENTRY("MC MAX BANK ANGLE", SETTING_NAV_MC_BANK_ANGLE),
|
||||||
OSD_SETTING_ENTRY("MID THR FOR AH", SETTING_NAV_USE_MIDTHR_FOR_ALTHOLD),
|
OSD_SETTING_ENTRY("MID THR FOR AH", SETTING_NAV_USE_MIDTHR_FOR_ALTHOLD),
|
||||||
OSD_SETTING_ENTRY("MC HOVER THR", SETTING_NAV_MC_HOVER_THR),
|
OSD_SETTING_ENTRY("MC HOVER THR", SETTING_NAV_MC_HOVER_THR),
|
||||||
|
OSD_SETTING_ENTRY("LANDING DISARM", SETTING_NAV_DISARM_ON_LANDING),
|
||||||
|
|
||||||
OSD_BACK_AND_END_ENTRY,
|
OSD_BACK_AND_END_ENTRY,
|
||||||
};
|
};
|
||||||
|
|
|
@ -2563,7 +2563,7 @@ groups:
|
||||||
max: 45
|
max: 45
|
||||||
- name: nav_auto_disarm_delay
|
- name: nav_auto_disarm_delay
|
||||||
description: "Delay before craft disarms when `nav_disarm_on_landing` is set (ms)"
|
description: "Delay before craft disarms when `nav_disarm_on_landing` is set (ms)"
|
||||||
default_value: 2000
|
default_value: 1000
|
||||||
field: general.auto_disarm_delay
|
field: general.auto_disarm_delay
|
||||||
min: 100
|
min: 100
|
||||||
max: 10000
|
max: 10000
|
||||||
|
|
|
@ -737,8 +737,8 @@ bool isFixedWingLandingDetected(void)
|
||||||
DEBUG_SET(DEBUG_LANDING, 7, isPitchAxisStatic);
|
DEBUG_SET(DEBUG_LANDING, 7, isPitchAxisStatic);
|
||||||
if (isRollAxisStatic && isPitchAxisStatic) {
|
if (isRollAxisStatic && isPitchAxisStatic) {
|
||||||
// Probably landed, low horizontal and vertical velocities and no axis rotation in Roll and Pitch
|
// Probably landed, low horizontal and vertical velocities and no axis rotation in Roll and Pitch
|
||||||
timeMs_t safetyTimeDelay = 2000 + navConfig()->general.auto_disarm_delay;
|
timeMs_t safetyTimeDelay = 1000 + navConfig()->general.auto_disarm_delay;
|
||||||
return currentTimeMs - fwLandingTimerStartAt > safetyTimeDelay; // check conditions stable for 2s + optional extra delay
|
return currentTimeMs - fwLandingTimerStartAt > safetyTimeDelay; // check conditions stable for 1s + optional extra delay
|
||||||
} else {
|
} else {
|
||||||
fixAxisCheck = false;
|
fixAxisCheck = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -798,7 +798,7 @@ bool isMulticopterLandingDetected(void)
|
||||||
DEBUG_SET(DEBUG_LANDING, 5, possibleLandingDetected);
|
DEBUG_SET(DEBUG_LANDING, 5, possibleLandingDetected);
|
||||||
|
|
||||||
if (possibleLandingDetected) {
|
if (possibleLandingDetected) {
|
||||||
timeUs_t safetyTimeDelay = MS2US(2000 + navConfig()->general.auto_disarm_delay); // check conditions stable for 2s + optional extra delay
|
timeUs_t safetyTimeDelay = MS2US(1000 + navConfig()->general.auto_disarm_delay); // check conditions stable for 1s + optional extra delay
|
||||||
return (currentTimeUs - landingDetectorStartedAt > safetyTimeDelay);
|
return (currentTimeUs - landingDetectorStartedAt > safetyTimeDelay);
|
||||||
} else {
|
} else {
|
||||||
landingDetectorStartedAt = currentTimeUs;
|
landingDetectorStartedAt = currentTimeUs;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue