mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-25 17:25:20 +03:00
rework RC Smoothing
This commit is contained in:
parent
4366ad3066
commit
82e23fd437
3 changed files with 27 additions and 84 deletions
|
@ -83,6 +83,7 @@ int16_t rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; // interval [1000;2000]
|
|||
rxRuntimeConfig_t rxRuntimeConfig;
|
||||
static rxConfig_t *rxConfig;
|
||||
|
||||
<<<<<<< HEAD
|
||||
static uint16_t nullReadRawRC(rxRuntimeConfig_t *rxRuntimeConfig, uint8_t channel) {
|
||||
UNUSED(rxRuntimeConfig);
|
||||
UNUSED(channel);
|
||||
|
@ -91,6 +92,7 @@ static uint16_t nullReadRawRC(rxRuntimeConfig_t *rxRuntimeConfig, uint8_t channe
|
|||
}
|
||||
|
||||
static rcReadRawDataPtr rcReadRawFunc = nullReadRawRC;
|
||||
static uint16_t rxRefreshRate;
|
||||
|
||||
void serialRxInit(rxConfig_t *rxConfig);
|
||||
|
||||
|
@ -161,6 +163,7 @@ void rxInit(rxConfig_t *rxConfig)
|
|||
}
|
||||
|
||||
if (feature(FEATURE_RX_PPM) || feature(FEATURE_RX_PARALLEL_PWM)) {
|
||||
rxRefreshRate = 20000;
|
||||
rxPwmInit(&rxRuntimeConfig, &rcReadRawFunc);
|
||||
}
|
||||
|
||||
|
@ -173,20 +176,28 @@ void serialRxInit(rxConfig_t *rxConfig)
|
|||
bool enabled = false;
|
||||
switch (rxConfig->serialrx_provider) {
|
||||
case SERIALRX_SPEKTRUM1024:
|
||||
rxRefreshRate = 22000;
|
||||
enabled = spektrumInit(rxConfig, &rxRuntimeConfig, &rcReadRawFunc);
|
||||
break;
|
||||
case SERIALRX_SPEKTRUM2048:
|
||||
rxRefreshRate = 11000;
|
||||
enabled = spektrumInit(rxConfig, &rxRuntimeConfig, &rcReadRawFunc);
|
||||
break;
|
||||
case SERIALRX_SBUS:
|
||||
rxRefreshRate = 11000;
|
||||
enabled = sbusInit(rxConfig, &rxRuntimeConfig, &rcReadRawFunc);
|
||||
break;
|
||||
case SERIALRX_SUMD:
|
||||
rxRefreshRate = 11000;
|
||||
enabled = sumdInit(rxConfig, &rxRuntimeConfig, &rcReadRawFunc);
|
||||
break;
|
||||
case SERIALRX_SUMH:
|
||||
rxRefreshRate = 11000;
|
||||
enabled = sumhInit(rxConfig, &rxRuntimeConfig, &rcReadRawFunc);
|
||||
break;
|
||||
case SERIALRX_XBUS_MODE_B:
|
||||
case SERIALRX_XBUS_MODE_B_RJ01:
|
||||
rxRefreshRate = 11000;
|
||||
enabled = xBusInit(rxConfig, &rxRuntimeConfig, &rcReadRawFunc);
|
||||
break;
|
||||
}
|
||||
|
@ -545,4 +556,6 @@ void updateRSSI(uint32_t currentTime)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
void initRxRefreshRate(uint16_t *rxRefreshRatePtr) {
|
||||
*rxRefreshRatePtr = rxRefreshRate;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue