1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-25 17:25:20 +03:00

Fixed rssi source type

This commit is contained in:
Martin Budden 2018-01-21 11:28:08 +00:00
parent ab1812455f
commit 4e0a40ceb9
2 changed files with 10 additions and 13 deletions

View file

@ -73,7 +73,7 @@ static timeUs_t lastMspRssiUpdateUs = 0;
#define MSP_RSSI_TIMEOUT_US 1500000 // 1.5 sec #define MSP_RSSI_TIMEOUT_US 1500000 // 1.5 sec
rssiSource_t rssiSource; rssiSource_e rssiSource;
static bool rxDataProcessingRequired = false; static bool rxDataProcessingRequired = false;
static bool auxiliaryProcessingRequired = false; static bool auxiliaryProcessingRequired = false;
@ -652,7 +652,7 @@ void parseRcChannels(const char *input, rxConfig_t *rxConfig)
} }
} }
void setRssiFiltered(uint16_t newRssi, rssiSource_t source) void setRssiFiltered(uint16_t newRssi, rssiSource_e source)
{ {
if (source != rssiSource) { if (source != rssiSource) {
return; return;
@ -664,7 +664,7 @@ void setRssiFiltered(uint16_t newRssi, rssiSource_t source)
#define RSSI_SAMPLE_COUNT 16 #define RSSI_SAMPLE_COUNT 16
#define RSSI_MAX_VALUE 1023 #define RSSI_MAX_VALUE 1023
void setRssiUnfiltered(uint16_t rssiValue, rssiSource_t source) void setRssiUnfiltered(uint16_t rssiValue, rssiSource_e source)
{ {
if (source != rssiSource) { if (source != rssiSource) {
return; return;
@ -740,17 +740,14 @@ void updateRSSI(timeUs_t currentTimeUs)
switch (rssiSource) { switch (rssiSource) {
case RSSI_SOURCE_RX_CHANNEL: case RSSI_SOURCE_RX_CHANNEL:
updateRSSIPWM(); updateRSSIPWM();
break; break;
case RSSI_SOURCE_ADC: case RSSI_SOURCE_ADC:
updateRSSIADC(currentTimeUs); updateRSSIADC(currentTimeUs);
break; break;
case RSSI_SOURCE_MSP: case RSSI_SOURCE_MSP:
if (cmpTimeUs(micros(), lastMspRssiUpdateUs) > MSP_RSSI_TIMEOUT_US) { if (cmpTimeUs(micros(), lastMspRssiUpdateUs) > MSP_RSSI_TIMEOUT_US) {
rssi = 0; rssi = 0;
} }
break; break;
default: default:
break; break;

View file

@ -163,15 +163,15 @@ typedef struct rxRuntimeConfig_s {
void *frameData; void *frameData;
} rxRuntimeConfig_t; } rxRuntimeConfig_t;
typedef enum rssiSource_e { typedef enum {
RSSI_SOURCE_NONE = 0, RSSI_SOURCE_NONE = 0,
RSSI_SOURCE_ADC, RSSI_SOURCE_ADC,
RSSI_SOURCE_RX_CHANNEL, RSSI_SOURCE_RX_CHANNEL,
RSSI_SOURCE_RX_PROTOCOL, RSSI_SOURCE_RX_PROTOCOL,
RSSI_SOURCE_MSP, RSSI_SOURCE_MSP,
} rssiSource_t; } rssiSource_e;
extern rssiSource_t rssiSource; extern rssiSource_e rssiSource;
extern rxRuntimeConfig_t rxRuntimeConfig; //!!TODO remove this extern, only needed once for channelCount extern rxRuntimeConfig_t rxRuntimeConfig; //!!TODO remove this extern, only needed once for channelCount
@ -183,10 +183,10 @@ bool calculateRxChannelsAndUpdateFailsafe(timeUs_t currentTimeUs);
void parseRcChannels(const char *input, rxConfig_t *rxConfig); void parseRcChannels(const char *input, rxConfig_t *rxConfig);
void setRssiFiltered(const uint16_t newRssi, const rssiSource_t source); void setRssiFiltered(uint16_t newRssi, rssiSource_e source);
void setRssiUnfiltered(const uint16_t rssiValue, const rssiSource_t source); void setRssiUnfiltered(uint16_t rssiValue, rssiSource_e source);
void setRssiMsp(const uint8_t newMspRssi); void setRssiMsp(uint8_t newMspRssi);
void updateRSSI(const timeUs_t currentTimeUs); void updateRSSI(timeUs_t currentTimeUs);
uint16_t getRssi(void); uint16_t getRssi(void);
void resetAllRxChannelRangeConfigurations(rxChannelRangeConfig_t *rxChannelRangeConfig); void resetAllRxChannelRangeConfigurations(rxChannelRangeConfig_t *rxChannelRangeConfig);