mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-23 08:15:26 +03:00
Don't do home reset if in failsafe mode
This commit is contained in:
parent
37a0aa6d34
commit
cc298d075e
2 changed files with 9 additions and 4 deletions
|
@ -1732,7 +1732,7 @@ void updateHomePosition(void)
|
||||||
|
|
||||||
// If pilot so desires he may reset home position to current position
|
// If pilot so desires he may reset home position to current position
|
||||||
if (IS_RC_MODE_ACTIVE(BOXHOMERESET)) {
|
if (IS_RC_MODE_ACTIVE(BOXHOMERESET)) {
|
||||||
if (isHomeResetAllowed && !FLIGHT_MODE(NAV_RTH_MODE) && !FLIGHT_MODE(NAV_WP_MODE) && posControl.flags.hasValidPositionSensor) {
|
if (isHomeResetAllowed && !FLIGHT_MODE(FAILSAFE_MODE) && !FLIGHT_MODE(NAV_RTH_MODE) && !FLIGHT_MODE(NAV_WP_MODE) && posControl.flags.hasValidPositionSensor) {
|
||||||
const navSetWaypointFlags_t homeUpdateFlags = STATE(GPS_FIX_HOME) ? (NAV_POS_UPDATE_XY | NAV_POS_UPDATE_HEADING) : (NAV_POS_UPDATE_XY | NAV_POS_UPDATE_Z | NAV_POS_UPDATE_HEADING);
|
const navSetWaypointFlags_t homeUpdateFlags = STATE(GPS_FIX_HOME) ? (NAV_POS_UPDATE_XY | NAV_POS_UPDATE_HEADING) : (NAV_POS_UPDATE_XY | NAV_POS_UPDATE_Z | NAV_POS_UPDATE_HEADING);
|
||||||
setHomePosition(&posControl.actualState.pos, posControl.actualState.yaw, homeUpdateFlags);
|
setHomePosition(&posControl.actualState.pos, posControl.actualState.yaw, homeUpdateFlags);
|
||||||
isHomeResetAllowed = false;
|
isHomeResetAllowed = false;
|
||||||
|
|
|
@ -650,7 +650,7 @@ void handleSmartPortTelemetry(void)
|
||||||
break;
|
break;
|
||||||
case FSSP_DATAID_T1 :
|
case FSSP_DATAID_T1 :
|
||||||
{
|
{
|
||||||
uint32_t tmpi = 10000; // start off with at least one digit so the most significant 0 won't be cut off
|
uint32_t tmpi = 0;
|
||||||
|
|
||||||
// ones column
|
// ones column
|
||||||
if (!isArmingDisabled())
|
if (!isArmingDisabled())
|
||||||
|
@ -686,7 +686,9 @@ void handleSmartPortTelemetry(void)
|
||||||
tmpi += 4000;
|
tmpi += 4000;
|
||||||
|
|
||||||
// ten thousands column
|
// ten thousands column
|
||||||
if (ARMING_FLAG(ARMED) && IS_RC_MODE_ACTIVE(BOXHOMERESET) && !FLIGHT_MODE(NAV_RTH_MODE) && !FLIGHT_MODE(NAV_WP_MODE))
|
if (FLIGHT_MODE(FLAPERON))
|
||||||
|
tmpi += 10000;
|
||||||
|
if (FLIGHT_MODE(AUTO_TUNE))
|
||||||
tmpi += 20000;
|
tmpi += 20000;
|
||||||
if (FLIGHT_MODE(FAILSAFE_MODE))
|
if (FLIGHT_MODE(FAILSAFE_MODE))
|
||||||
tmpi += 40000;
|
tmpi += 40000;
|
||||||
|
@ -710,8 +712,11 @@ void handleSmartPortTelemetry(void)
|
||||||
tmpi += 1000;
|
tmpi += 1000;
|
||||||
if (STATE(GPS_FIX_HOME))
|
if (STATE(GPS_FIX_HOME))
|
||||||
tmpi += 2000;
|
tmpi += 2000;
|
||||||
|
if (ARMING_FLAG(ARMED) && IS_RC_MODE_ACTIVE(BOXHOMERESET) && !FLIGHT_MODE(FAILSAFE_MODE) && !FLIGHT_MODE(NAV_RTH_MODE) && !FLIGHT_MODE(NAV_WP_MODE))
|
||||||
|
tmpi += 4000;
|
||||||
|
|
||||||
smartPortSendPackage(id, tmpi);
|
smartPortSendPackage(id, tmpi);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
} else if (feature(FEATURE_GPS))
|
} else if (feature(FEATURE_GPS))
|
||||||
smartPortSendPackage(id, 0);
|
smartPortSendPackage(id, 0);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue