diff --git a/src/main/config/config.c b/src/main/config/config.c index 75afdac767..a82df3ab86 100644 --- a/src/main/config/config.c +++ b/src/main/config/config.c @@ -372,7 +372,7 @@ static void validateAndFixConfig(void) #endif if ( - featureIsConfigured(FEATURE_3D) || !featureIsConfigured(FEATURE_GPS) + featureIsConfigured(FEATURE_3D) || !featureIsConfigured(FEATURE_GPS) || mixerModeIsFixedWing(mixerConfig()->mixerMode) #if !defined(USE_GPS) || !defined(USE_GPS_RESCUE) || true #endif diff --git a/src/main/flight/mixer.c b/src/main/flight/mixer.c index ab993e561d..576d643c1a 100644 --- a/src/main/flight/mixer.c +++ b/src/main/flight/mixer.c @@ -992,10 +992,9 @@ mixerMode_e getMixerMode(void) return currentMixerMode; } - -bool isFixedWing(void) +bool mixerModeIsFixedWing(mixerMode_e mixerMode) { - switch (currentMixerMode) { + switch (mixerMode) { case MIXER_FLYING_WING: case MIXER_AIRPLANE: case MIXER_CUSTOM_AIRPLANE: @@ -1008,3 +1007,8 @@ bool isFixedWing(void) break; } } + +bool isFixedWing(void) +{ + return mixerModeIsFixedWing(currentMixerMode); +} diff --git a/src/main/flight/mixer.h b/src/main/flight/mixer.h index e5cf091e2d..4b923a896a 100644 --- a/src/main/flight/mixer.h +++ b/src/main/flight/mixer.h @@ -115,4 +115,5 @@ bool mixerIsTricopter(void); void mixerSetThrottleAngleCorrection(int correctionValue); float mixerGetThrottle(void); mixerMode_e getMixerMode(void); +bool mixerModeIsFixedWing(mixerMode_e mixerMode); bool isFixedWing(void); diff --git a/src/main/msp/msp_box.c b/src/main/msp/msp_box.c index 4c1bbaed27..e5c98b8966 100644 --- a/src/main/msp/msp_box.c +++ b/src/main/msp/msp_box.c @@ -214,7 +214,7 @@ void initActiveBoxIds(void) #ifdef USE_GPS if (featureIsEnabled(FEATURE_GPS)) { #ifdef USE_GPS_RESCUE - if (!featureIsEnabled(FEATURE_3D)) { + if (!featureIsEnabled(FEATURE_3D) && !isFixedWing()) { BME(BOXGPSRESCUE); } #endif