mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-23 00:05:33 +03:00
Renamed the existing RC smoothing related functionality.
This commit is contained in:
parent
c29b125a59
commit
53318e5e4d
10 changed files with 26 additions and 26 deletions
|
@ -167,7 +167,7 @@ static void taskUpdateRxMain(timeUs_t currentTimeUs)
|
||||||
}
|
}
|
||||||
|
|
||||||
timeDelta_t rxFrameDeltaUs;
|
timeDelta_t rxFrameDeltaUs;
|
||||||
if (!rxGetFrameDelta(&rxFrameDeltaUs)) {
|
if (!rxTryGetFrameDelta(&rxFrameDeltaUs)) {
|
||||||
rxFrameDeltaUs = cmpTimeUs(currentTimeUs, lastRxTimeUs); // calculate a delta here if not supplied by the protocol
|
rxFrameDeltaUs = cmpTimeUs(currentTimeUs, lastRxTimeUs); // calculate a delta here if not supplied by the protocol
|
||||||
}
|
}
|
||||||
lastRxTimeUs = currentTimeUs;
|
lastRxTimeUs = currentTimeUs;
|
||||||
|
|
|
@ -369,7 +369,7 @@ void crsfRxSendTelemetryData(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static timeUs_t crsfFrameTimeUs(void)
|
static timeUs_t crsfFrameTimeUsOrZeroFn(void)
|
||||||
{
|
{
|
||||||
const timeUs_t result = lastRcFrameTimeUs;
|
const timeUs_t result = lastRcFrameTimeUs;
|
||||||
lastRcFrameTimeUs = 0;
|
lastRcFrameTimeUs = 0;
|
||||||
|
@ -387,7 +387,7 @@ bool crsfRxInit(const rxConfig_t *rxConfig, rxRuntimeState_t *rxRuntimeState)
|
||||||
|
|
||||||
rxRuntimeState->rcReadRawFn = crsfReadRawRC;
|
rxRuntimeState->rcReadRawFn = crsfReadRawRC;
|
||||||
rxRuntimeState->rcFrameStatusFn = crsfFrameStatus;
|
rxRuntimeState->rcFrameStatusFn = crsfFrameStatus;
|
||||||
rxRuntimeState->rcFrameTimeUsFn = crsfFrameTimeUs;
|
rxRuntimeState->rcFrameTimeUsOrZeroFn = crsfFrameTimeUsOrZeroFn;
|
||||||
|
|
||||||
const serialPortConfig_t *portConfig = findSerialPortConfig(FUNCTION_RX_SERIAL);
|
const serialPortConfig_t *portConfig = findSerialPortConfig(FUNCTION_RX_SERIAL);
|
||||||
if (!portConfig) {
|
if (!portConfig) {
|
||||||
|
|
|
@ -206,7 +206,7 @@ static uint16_t ibusReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t ch
|
||||||
return ibusChannelData[chan];
|
return ibusChannelData[chan];
|
||||||
}
|
}
|
||||||
|
|
||||||
static timeUs_t ibusFrameTimeUs(void)
|
static timeUs_t ibusFrameTimeUsOrZeroFn(void)
|
||||||
{
|
{
|
||||||
const timeUs_t result = lastRcFrameTimeUs;
|
const timeUs_t result = lastRcFrameTimeUs;
|
||||||
lastRcFrameTimeUs = 0;
|
lastRcFrameTimeUs = 0;
|
||||||
|
@ -223,7 +223,7 @@ bool ibusInit(const rxConfig_t *rxConfig, rxRuntimeState_t *rxRuntimeState)
|
||||||
|
|
||||||
rxRuntimeState->rcReadRawFn = ibusReadRawRC;
|
rxRuntimeState->rcReadRawFn = ibusReadRawRC;
|
||||||
rxRuntimeState->rcFrameStatusFn = ibusFrameStatus;
|
rxRuntimeState->rcFrameStatusFn = ibusFrameStatus;
|
||||||
rxRuntimeState->rcFrameTimeUsFn = ibusFrameTimeUs;
|
rxRuntimeState->rcFrameTimeUsOrZeroFn = ibusFrameTimeUsOrZeroFn;
|
||||||
|
|
||||||
const serialPortConfig_t *portConfig = findSerialPortConfig(FUNCTION_RX_SERIAL);
|
const serialPortConfig_t *portConfig = findSerialPortConfig(FUNCTION_RX_SERIAL);
|
||||||
if (!portConfig) {
|
if (!portConfig) {
|
||||||
|
|
|
@ -247,7 +247,7 @@ static uint16_t jetiExBusReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8
|
||||||
return (jetiExBusChannelData[chan]);
|
return (jetiExBusChannelData[chan]);
|
||||||
}
|
}
|
||||||
|
|
||||||
static timeUs_t jetiExBusFrameTimeUs(void)
|
static timeUs_t jetiExBusFrameTimeUsOrZeroFn(void)
|
||||||
{
|
{
|
||||||
const timeUs_t result = lastRcFrameTimeUs;
|
const timeUs_t result = lastRcFrameTimeUs;
|
||||||
lastRcFrameTimeUs = 0;
|
lastRcFrameTimeUs = 0;
|
||||||
|
@ -263,7 +263,7 @@ bool jetiExBusInit(const rxConfig_t *rxConfig, rxRuntimeState_t *rxRuntimeState)
|
||||||
|
|
||||||
rxRuntimeState->rcReadRawFn = jetiExBusReadRawRC;
|
rxRuntimeState->rcReadRawFn = jetiExBusReadRawRC;
|
||||||
rxRuntimeState->rcFrameStatusFn = jetiExBusFrameStatus;
|
rxRuntimeState->rcFrameStatusFn = jetiExBusFrameStatus;
|
||||||
rxRuntimeState->rcFrameTimeUsFn = jetiExBusFrameTimeUs;
|
rxRuntimeState->rcFrameTimeUsOrZeroFn = jetiExBusFrameTimeUsOrZeroFn;
|
||||||
|
|
||||||
jetiExBusFrameReset();
|
jetiExBusFrameReset();
|
||||||
|
|
||||||
|
|
|
@ -873,20 +873,20 @@ bool isRssiConfigured(void)
|
||||||
return rssiSource != RSSI_SOURCE_NONE;
|
return rssiSource != RSSI_SOURCE_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool rxGetFrameDelta(timeDelta_t *deltaUs)
|
bool rxTryGetFrameDelta(timeDelta_t *deltaUs)
|
||||||
{
|
{
|
||||||
static timeUs_t previousFrameTimeUs = 0;
|
static timeUs_t previousFrameTimeUsOrZero = 0;
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
||||||
*deltaUs = 0;
|
*deltaUs = 0;
|
||||||
if (rxRuntimeState.rcFrameTimeUsFn) {
|
if (rxRuntimeState.rcFrameTimeUsOrZeroFn) {
|
||||||
const timeUs_t frameTimeUs = rxRuntimeState.rcFrameTimeUsFn();
|
const timeUs_t frameTimeUsOrZero = rxRuntimeState.rcFrameTimeUsOrZeroFn();
|
||||||
if (frameTimeUs) {
|
if (frameTimeUsOrZero) {
|
||||||
if (previousFrameTimeUs) {
|
if (previousFrameTimeUsOrZero) {
|
||||||
*deltaUs = cmpTimeUs(frameTimeUs, previousFrameTimeUs);
|
*deltaUs = cmpTimeUs(frameTimeUsOrZero, previousFrameTimeUsOrZero);
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
previousFrameTimeUs = frameTimeUs;
|
previousFrameTimeUsOrZero = frameTimeUsOrZero;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result; // No frame delta function available for protocol type or frames have stopped
|
return result; // No frame delta function available for protocol type or frames have stopped
|
||||||
|
|
|
@ -125,7 +125,7 @@ struct rxRuntimeState_s;
|
||||||
typedef uint16_t (*rcReadRawDataFnPtr)(const struct rxRuntimeState_s *rxRuntimeState, uint8_t chan); // used by receiver driver to return channel data
|
typedef uint16_t (*rcReadRawDataFnPtr)(const struct rxRuntimeState_s *rxRuntimeState, uint8_t chan); // used by receiver driver to return channel data
|
||||||
typedef uint8_t (*rcFrameStatusFnPtr)(struct rxRuntimeState_s *rxRuntimeState);
|
typedef uint8_t (*rcFrameStatusFnPtr)(struct rxRuntimeState_s *rxRuntimeState);
|
||||||
typedef bool (*rcProcessFrameFnPtr)(const struct rxRuntimeState_s *rxRuntimeState);
|
typedef bool (*rcProcessFrameFnPtr)(const struct rxRuntimeState_s *rxRuntimeState);
|
||||||
typedef timeUs_t (*rcGetFrameTimeUsFnPtr)(void); // used to retrieve the timestamp in microseconds for the last channel data frame
|
typedef timeUs_t (*rcGetFrameTimeUsOrZeroFnPtr)(void); // used to retrieve the timestamp in microseconds for the last channel data frame, or 0, depending on suitablilty of the value for RC smoothing
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
RX_PROVIDER_NONE = 0,
|
RX_PROVIDER_NONE = 0,
|
||||||
|
@ -144,7 +144,7 @@ typedef struct rxRuntimeState_s {
|
||||||
rcReadRawDataFnPtr rcReadRawFn;
|
rcReadRawDataFnPtr rcReadRawFn;
|
||||||
rcFrameStatusFnPtr rcFrameStatusFn;
|
rcFrameStatusFnPtr rcFrameStatusFn;
|
||||||
rcProcessFrameFnPtr rcProcessFrameFn;
|
rcProcessFrameFnPtr rcProcessFrameFn;
|
||||||
rcGetFrameTimeUsFnPtr rcFrameTimeUsFn;
|
rcGetFrameTimeUsOrZeroFnPtr rcFrameTimeUsOrZeroFn;
|
||||||
uint16_t *channelData;
|
uint16_t *channelData;
|
||||||
void *frameData;
|
void *frameData;
|
||||||
} rxRuntimeState_t;
|
} rxRuntimeState_t;
|
||||||
|
@ -210,4 +210,4 @@ void resumeRxPwmPpmSignal(void);
|
||||||
|
|
||||||
uint16_t rxGetRefreshRate(void);
|
uint16_t rxGetRefreshRate(void);
|
||||||
|
|
||||||
bool rxGetFrameDelta(timeDelta_t *deltaUs);
|
bool rxTryGetFrameDelta(timeDelta_t *deltaUs);
|
||||||
|
|
|
@ -160,7 +160,7 @@ static uint8_t sbusFrameStatus(rxRuntimeState_t *rxRuntimeState)
|
||||||
return frameStatus;
|
return frameStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
static timeUs_t sbusFrameTimeUs(void)
|
static timeUs_t sbusFrameTimeUsOrZeroFn(void)
|
||||||
{
|
{
|
||||||
const timeUs_t result = lastRcFrameTimeUs;
|
const timeUs_t result = lastRcFrameTimeUs;
|
||||||
lastRcFrameTimeUs = 0;
|
lastRcFrameTimeUs = 0;
|
||||||
|
@ -188,7 +188,7 @@ bool sbusInit(const rxConfig_t *rxConfig, rxRuntimeState_t *rxRuntimeState)
|
||||||
}
|
}
|
||||||
|
|
||||||
rxRuntimeState->rcFrameStatusFn = sbusFrameStatus;
|
rxRuntimeState->rcFrameStatusFn = sbusFrameStatus;
|
||||||
rxRuntimeState->rcFrameTimeUsFn = sbusFrameTimeUs;
|
rxRuntimeState->rcFrameTimeUsOrZeroFn = sbusFrameTimeUsOrZeroFn;
|
||||||
|
|
||||||
const serialPortConfig_t *portConfig = findSerialPortConfig(FUNCTION_RX_SERIAL);
|
const serialPortConfig_t *portConfig = findSerialPortConfig(FUNCTION_RX_SERIAL);
|
||||||
if (!portConfig) {
|
if (!portConfig) {
|
||||||
|
|
|
@ -343,7 +343,7 @@ void srxlRxWriteTelemetryData(const void *data, int len)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static timeUs_t spektrumFrameTimeUs(void)
|
static timeUs_t spektrumFrameTimeUsOrZeroFn(void)
|
||||||
{
|
{
|
||||||
const timeUs_t result = lastRcFrameTimeUs;
|
const timeUs_t result = lastRcFrameTimeUs;
|
||||||
lastRcFrameTimeUs = 0;
|
lastRcFrameTimeUs = 0;
|
||||||
|
@ -397,7 +397,7 @@ bool spektrumInit(const rxConfig_t *rxConfig, rxRuntimeState_t *rxRuntimeState)
|
||||||
|
|
||||||
rxRuntimeState->rcReadRawFn = spektrumReadRawRC;
|
rxRuntimeState->rcReadRawFn = spektrumReadRawRC;
|
||||||
rxRuntimeState->rcFrameStatusFn = spektrumFrameStatus;
|
rxRuntimeState->rcFrameStatusFn = spektrumFrameStatus;
|
||||||
rxRuntimeState->rcFrameTimeUsFn = spektrumFrameTimeUs;
|
rxRuntimeState->rcFrameTimeUsOrZeroFn = spektrumFrameTimeUsOrZeroFn;
|
||||||
#if defined(USE_TELEMETRY_SRXL)
|
#if defined(USE_TELEMETRY_SRXL)
|
||||||
rxRuntimeState->rcProcessFrameFn = spektrumProcessFrame;
|
rxRuntimeState->rcProcessFrameFn = spektrumProcessFrame;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -480,7 +480,7 @@ void srxl2RxWriteData(const void *data, int len)
|
||||||
writeBufferIdx = len;
|
writeBufferIdx = len;
|
||||||
}
|
}
|
||||||
|
|
||||||
static timeUs_t srxl2FrameTimeUs(void)
|
static timeUs_t srxl2FrameTimeUsOrZeroFn(void)
|
||||||
{
|
{
|
||||||
const timeUs_t result = lastRcFrameTimeUs;
|
const timeUs_t result = lastRcFrameTimeUs;
|
||||||
lastRcFrameTimeUs = 0;
|
lastRcFrameTimeUs = 0;
|
||||||
|
@ -503,7 +503,7 @@ bool srxl2RxInit(const rxConfig_t *rxConfig, rxRuntimeState_t *rxRuntimeState)
|
||||||
|
|
||||||
rxRuntimeState->rcReadRawFn = srxl2ReadRawRC;
|
rxRuntimeState->rcReadRawFn = srxl2ReadRawRC;
|
||||||
rxRuntimeState->rcFrameStatusFn = srxl2FrameStatus;
|
rxRuntimeState->rcFrameStatusFn = srxl2FrameStatus;
|
||||||
rxRuntimeState->rcFrameTimeUsFn = srxl2FrameTimeUs;
|
rxRuntimeState->rcFrameTimeUsOrZeroFn = srxl2FrameTimeUsOrZeroFn;
|
||||||
rxRuntimeState->rcProcessFrameFn = srxl2ProcessFrame;
|
rxRuntimeState->rcProcessFrameFn = srxl2ProcessFrame;
|
||||||
|
|
||||||
const serialPortConfig_t *portConfig = findSerialPortConfig(FUNCTION_RX_SERIAL);
|
const serialPortConfig_t *portConfig = findSerialPortConfig(FUNCTION_RX_SERIAL);
|
||||||
|
|
|
@ -167,7 +167,7 @@ static uint16_t sumdReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t ch
|
||||||
return sumdChannels[chan] / 8;
|
return sumdChannels[chan] / 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
static timeUs_t sumdFrameTimeUs(void)
|
static timeUs_t sumdFrameTimeUsOrZeroFn(void)
|
||||||
{
|
{
|
||||||
const timeUs_t result = lastRcFrameTimeUs;
|
const timeUs_t result = lastRcFrameTimeUs;
|
||||||
lastRcFrameTimeUs = 0;
|
lastRcFrameTimeUs = 0;
|
||||||
|
@ -183,7 +183,7 @@ bool sumdInit(const rxConfig_t *rxConfig, rxRuntimeState_t *rxRuntimeState)
|
||||||
|
|
||||||
rxRuntimeState->rcReadRawFn = sumdReadRawRC;
|
rxRuntimeState->rcReadRawFn = sumdReadRawRC;
|
||||||
rxRuntimeState->rcFrameStatusFn = sumdFrameStatus;
|
rxRuntimeState->rcFrameStatusFn = sumdFrameStatus;
|
||||||
rxRuntimeState->rcFrameTimeUsFn = sumdFrameTimeUs;
|
rxRuntimeState->rcFrameTimeUsOrZeroFn = sumdFrameTimeUsOrZeroFn;
|
||||||
|
|
||||||
const serialPortConfig_t *portConfig = findSerialPortConfig(FUNCTION_RX_SERIAL);
|
const serialPortConfig_t *portConfig = findSerialPortConfig(FUNCTION_RX_SERIAL);
|
||||||
if (!portConfig) {
|
if (!portConfig) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue