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:
parent
c77c593a14
commit
b0483d4669
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue