1
0
Fork 0
mirror of https://github.com/iNavFlight/inav.git synced 2025-07-14 20:10:15 +03:00

Changed the logic

I've changed the logic so that it now explicitly ignores certain modes (RTH, WP, FS, and emergency landing). This way the override radius can be changed without being in POS HOLD, allowing it to be preselected.
This commit is contained in:
Darren Lines 2021-09-27 16:47:37 +01:00
parent 2fec7a0285
commit 8d5a0b0b8c

View file

@ -730,7 +730,8 @@ int16_t getRcChannelOverride(uint8_t channel, int16_t originalValue) {
}
uint32_t getLoiterRadius(uint32_t loiterRadius) {
if (LOGIC_CONDITION_GLOBAL_FLAG(LOGIC_CONDITION_GLOBAL_FLAG_OVERRIDE_LOITER_RADIUS) && FLIGHT_MODE(NAV_POSHOLD_MODE)) {
if (LOGIC_CONDITION_GLOBAL_FLAG(LOGIC_CONDITION_GLOBAL_FLAG_OVERRIDE_LOITER_RADIUS) &&
!(FLIGHT_MODE(FAILSAFE_MODE) || FLIGHT_MODE(NAV_RTH_MODE) || FLIGHT_MODE(NAV_WP_MODE) || navigationIsExecutingAnEmergencyLanding())) {
return constrain(logicConditionValuesByType[LOGIC_CONDITION_LOITER_OVERRIDE], loiterRadius, 100000);
} else {
return loiterRadius;