diff --git a/src/main/fc/core.c b/src/main/fc/core.c index 87e34e9d4..31400a7a7 100644 --- a/src/main/fc/core.c +++ b/src/main/fc/core.c @@ -578,7 +578,7 @@ bool processRx(timeUs_t currentTimeUs) const throttleStatus_e throttleStatus = calculateThrottleStatus(); const uint8_t throttlePercent = calculateThrottlePercent(); - if (isAirmodeActive() && ARMING_FLAG(ARMED)) { + if (airmodeIsEnabled() && ARMING_FLAG(ARMED)) { if (throttlePercent >= rxConfig()->airModeActivateThreshold) { airmodeIsActivated = true; // Prevent iterm from being reset } @@ -618,7 +618,7 @@ bool processRx(timeUs_t currentTimeUs) // - sticks are active and have deflection greater than runaway_takeoff_deactivate_stick_percent // - pidSum on all axis is less then runaway_takeoff_deactivate_pidlimit bool inStableFlight = false; - if (!featureIsEnabled(FEATURE_MOTOR_STOP) || isAirmodeActive() || (throttleStatus != THROTTLE_LOW)) { // are motors running? + if (!featureIsEnabled(FEATURE_MOTOR_STOP) || airmodeIsEnabled() || (throttleStatus != THROTTLE_LOW)) { // are motors running? const uint8_t lowThrottleLimit = pidConfig()->runaway_takeoff_deactivate_throttle; const uint8_t midThrottleLimit = constrain(lowThrottleLimit * 2, lowThrottleLimit * 2, RUNAWAY_TAKEOFF_HIGH_THROTTLE_PERCENT); if ((((throttlePercent >= lowThrottleLimit) && areSticksActive(RUNAWAY_TAKEOFF_DEACTIVATE_STICK_PERCENT)) || (throttlePercent >= midThrottleLimit)) @@ -674,7 +674,7 @@ bool processRx(timeUs_t currentTimeUs) && featureIsEnabled(FEATURE_MOTOR_STOP) && !STATE(FIXED_WING) && !featureIsEnabled(FEATURE_3D) - && !isAirmodeActive() + && !airmodeIsEnabled() ) { if (isUsingSticksForArming()) { if (throttleStatus == THROTTLE_LOW) { @@ -872,7 +872,7 @@ static FAST_CODE void subTaskPidController(timeUs_t currentTimeUs) && !runawayTakeoffCheckDisabled && !flipOverAfterCrashMode && !runawayTakeoffTemporarilyDisabled - && (!featureIsEnabled(FEATURE_MOTOR_STOP) || isAirmodeActive() || (calculateThrottleStatus() != THROTTLE_LOW))) { + && (!featureIsEnabled(FEATURE_MOTOR_STOP) || airmodeIsEnabled() || (calculateThrottleStatus() != THROTTLE_LOW))) { if (((fabsf(pidData[FD_PITCH].Sum) >= RUNAWAY_TAKEOFF_PIDSUM_THRESHOLD) || (fabsf(pidData[FD_ROLL].Sum) >= RUNAWAY_TAKEOFF_PIDSUM_THRESHOLD) diff --git a/src/main/fc/rc_modes.c b/src/main/fc/rc_modes.c index 1b4831b9f..8828415f5 100644 --- a/src/main/fc/rc_modes.c +++ b/src/main/fc/rc_modes.c @@ -45,7 +45,7 @@ boxBitmask_t rcModeActivationMask; // one bit per mode defined in boxId_e static boxBitmask_t stickyModesEverDisabled; -static bool airmodeActive; +static bool airmodeEnabled; PG_REGISTER_ARRAY(modeActivationCondition_t, MAX_MODE_ACTIVATION_CONDITION_COUNT, modeActivationConditions, PG_MODE_ACTIVATION_PROFILE, 1); @@ -60,8 +60,8 @@ void rcModeUpdate(boxBitmask_t *newState) rcModeActivationMask = *newState; } -bool isAirmodeActive(void) { - return airmodeActive; +bool airmodeIsEnabled(void) { + return airmodeEnabled; } bool isRangeActive(uint8_t auxChannelIndex, const channelRange_t *range) { @@ -139,7 +139,7 @@ void updateActivatedModes(void) rcModeUpdate(&newMask); - airmodeActive = featureIsEnabled(FEATURE_AIRMODE) || IS_RC_MODE_ACTIVE(BOXAIRMODE); + airmodeEnabled = featureIsEnabled(FEATURE_AIRMODE) || IS_RC_MODE_ACTIVE(BOXAIRMODE); } bool isModeActivationConditionPresent(boxId_e modeId) diff --git a/src/main/fc/rc_modes.h b/src/main/fc/rc_modes.h index da3c7ea7a..bac7c6cd3 100644 --- a/src/main/fc/rc_modes.h +++ b/src/main/fc/rc_modes.h @@ -126,7 +126,7 @@ typedef struct modeActivationProfile_s { bool IS_RC_MODE_ACTIVE(boxId_e boxId); void rcModeUpdate(boxBitmask_t *newState); -bool isAirmodeActive(void); +bool airmodeIsEnabled(void); bool isRangeActive(uint8_t auxChannelIndex, const channelRange_t *range); void updateActivatedModes(void); diff --git a/src/main/flight/mixer.c b/src/main/flight/mixer.c index e581725e8..3d6182347 100644 --- a/src/main/flight/mixer.c +++ b/src/main/flight/mixer.c @@ -712,6 +712,7 @@ static void applyMixToMotors(float motorMix[MAX_SUPPORTED_MOTORS]) } else { motorOutput = constrain(motorOutput, motorRangeMin, motorRangeMax); } + motor[i] = motorOutput; } @@ -788,7 +789,7 @@ FAST_CODE_NOINLINE void mixTable(timeUs_t currentTimeUs, uint8_t vbatPidCompensa #ifdef USE_YAW_SPIN_RECOVERY // 50% throttle provides the maximum authority for yaw recovery when airmode is not active. // When airmode is active the throttle setting doesn't impact recovery authority. - if (yawSpinDetected && !isAirmodeActive()) { + if (yawSpinDetected && !airmodeIsEnabled()) { throttle = 0.5f; // } #endif // USE_YAW_SPIN_RECOVERY @@ -835,11 +836,11 @@ FAST_CODE_NOINLINE void mixTable(timeUs_t currentTimeUs, uint8_t vbatPidCompensa motorMix[i] /= motorMixRange; } // Get the maximum correction by setting offset to center when airmode enabled - if (isAirmodeActive()) { + if (airmodeIsEnabled()) { throttle = 0.5f; } } else { - if (isAirmodeActive() || throttle > 0.5f) { // Only automatically adjust throttle when airmode enabled. Airmode logic is always active on high throttle + if (airmodeIsEnabled() || throttle > 0.5f) { // Only automatically adjust throttle when airmode enabled. Airmode logic is always active on high throttle const float throttleLimitOffset = motorMixRange / 2.0f; throttle = constrainf(throttle, 0.0f + throttleLimitOffset, 1.0f - throttleLimitOffset); } diff --git a/src/main/io/osd.c b/src/main/io/osd.c index dfc41763d..207d434a0 100644 --- a/src/main/io/osd.c +++ b/src/main/io/osd.c @@ -637,7 +637,7 @@ static bool osdDrawSingleElement(uint8_t item) strcpy(buff, "HOR "); } else if (IS_RC_MODE_ACTIVE(BOXACROTRAINER)) { strcpy(buff, "ATRN"); - } else if (isAirmodeActive()) { + } else if (airmodeIsEnabled()) { strcpy(buff, "AIR "); } else { strcpy(buff, "ACRO"); diff --git a/src/main/telemetry/crsf.c b/src/main/telemetry/crsf.c index 0c86995d2..e60643f87 100644 --- a/src/main/telemetry/crsf.c +++ b/src/main/telemetry/crsf.c @@ -268,7 +268,7 @@ void crsfFrameFlightMode(sbuf_t *dst) // use same logic as OSD, so telemetry displays same flight text as OSD const char *flightMode = "ACRO"; - if (isAirmodeActive()) { + if (airmodeIsEnabled()) { flightMode = "AIR"; } if (FLIGHT_MODE(FAILSAFE_MODE)) {