Fix multi-range profile type adjustments

Fixes support for the multi-range method of configuring profile type adjustments that stopped working when "slots" were removed. Although this type of setup will now work again, the correct method is to have a single adjustment set to the full channel range.
This commit is contained in:
Bruce Luckcuck 2019-11-11 11:10:40 -05:00
parent c77c593a14
commit b0483d4669
1 changed files with 30 additions and 30 deletions

View File

@ -782,14 +782,10 @@ static void processContinuosAdjustments(controlRateConfig_t *controlRateConfig)
const adjustmentConfig_t *adjustmentConfig = &defaultAdjustmentConfigs[adjustmentRange->adjustmentConfig - ADJUSTMENT_FUNCTION_CONFIG_INDEX_OFFSET];
const adjustmentFunction_e adjustmentFunction = adjustmentConfig->adjustmentFunction;
if (!isRangeActive(adjustmentRange->auxChannelIndex, &adjustmentRange->range) ||
adjustmentFunction == ADJUSTMENT_NONE ||
rcData[channelIndex] == adjustmentState->lastRcData) {
continue;
}
adjustmentState->lastRcData = rcData[channelIndex];
if (isRangeActive(adjustmentRange->auxChannelIndex, &adjustmentRange->range) &&
adjustmentFunction != ADJUSTMENT_NONE) {
if (rcData[channelIndex] != adjustmentState->lastRcData) {
int newValue = -1;
if (adjustmentConfig->mode == ADJUSTMENT_MODE_SELECT) {
@ -815,12 +811,16 @@ static void processContinuosAdjustments(controlRateConfig_t *controlRateConfig)
pidInitConfig(currentPidProfile);
}
}
#if defined(USE_OSD) && defined(USE_OSD_ADJUSTMENTS)
updateOsdAdjustmentData(newValue, adjustmentConfig->adjustmentFunction);
#else
UNUSED(newValue);
#endif
adjustmentState->lastRcData = rcData[channelIndex];
}
} else {
adjustmentState->lastRcData = 0;
}
}
}