Beispiel #1
0
void updateAdjustmentStates(void)
{
    for (int index = 0; index < MAX_ADJUSTMENT_RANGE_COUNT; index++) {
        const adjustmentRange_t * const adjustmentRange = adjustmentRanges(index);
        if (isRangeActive(adjustmentRange->auxChannelIndex, &adjustmentRange->range)) {
            const adjustmentConfig_t *adjustmentConfig = &defaultAdjustmentConfigs[adjustmentRange->adjustmentFunction - ADJUSTMENT_FUNCTION_CONFIG_INDEX_OFFSET];
            configureAdjustment(adjustmentRange->adjustmentIndex, adjustmentRange->auxSwitchChannelIndex, adjustmentConfig);
        }
    }
}
Beispiel #2
0
void updateAdjustmentStates(bool canUseRxData)
{
    for (int index = 0; index < MAX_ADJUSTMENT_RANGE_COUNT; index++) {
        const adjustmentRange_t * const adjustmentRange = adjustmentRanges(index);
        if (adjustmentRange->adjustmentFunction == ADJUSTMENT_NONE) {
            // Range not set up
            continue;
        }
        const adjustmentConfig_t *adjustmentConfig = &defaultAdjustmentConfigs[adjustmentRange->adjustmentFunction - ADJUSTMENT_FUNCTION_CONFIG_INDEX_OFFSET];
        adjustmentState_t * const adjustmentState = &adjustmentStates[adjustmentRange->adjustmentIndex];

        if (canUseRxData && isRangeActive(adjustmentRange->auxChannelIndex, &adjustmentRange->range)) {
            if (!adjustmentState->config) {
                configureAdjustment(adjustmentRange->adjustmentIndex, adjustmentRange->auxSwitchChannelIndex, adjustmentConfig);
            }
        } else {
            if (adjustmentState->config == adjustmentConfig) {
                adjustmentState->config = NULL;
            }
        }
    }
}