From 8c28533c69ec1edc889eb6c265d4ef3da26c13ba Mon Sep 17 00:00:00 2001 From: Hans Christian Olaussen <41271048+klutvott123@users.noreply.github.com> Date: Fri, 16 Apr 2021 23:07:02 +0200 Subject: [PATCH 1/2] Preserve resolution of RC input --- src/main/cms/cms_menu_misc.c | 33 +++++++++++++++++++-------- src/main/fc/rc.c | 2 +- src/main/rx/crsf.c | 4 ++-- src/main/rx/ghst.c | 4 ++-- src/main/rx/ibus.c | 2 +- src/main/rx/jetiexbus.c | 2 +- src/main/rx/msp.c | 2 +- src/main/rx/msp.h | 2 +- src/main/rx/pwm.c | 4 ++-- src/main/rx/rx.c | 16 ++++++------- src/main/rx/rx.h | 4 ++-- src/main/rx/rx_spi.c | 2 +- src/main/rx/sbus_channels.c | 4 ++-- src/main/rx/spektrum.c | 13 ++++++----- src/main/rx/srxl2.c | 6 ++--- src/main/rx/sumd.c | 4 ++-- src/main/rx/sumh.c | 2 +- src/main/rx/xbus.c | 2 +- src/main/target/CRAZYFLIE2/serialrx.c | 2 +- 19 files changed, 63 insertions(+), 47 deletions(-) diff --git a/src/main/cms/cms_menu_misc.c b/src/main/cms/cms_menu_misc.c index ce306b4bf7..b945cb37db 100644 --- a/src/main/cms/cms_menu_misc.c +++ b/src/main/cms/cms_menu_misc.c @@ -22,6 +22,7 @@ #include #include #include +#include #include "platform.h" @@ -79,6 +80,20 @@ static const void *cmsx_menuRcConfirmBack(displayPort_t *pDisp, const OSD_Entry } } +static int16_t rcDataInt[AUX4 + 1]; + +static const void *cmsx_menuRcOnDisplayUpdate(displayPort_t *pDisp, const OSD_Entry *selected) +{ + UNUSED(pDisp); + UNUSED(selected); + + for (int i = 0; i <= AUX4; i++) { + rcDataInt[i] = lroundf(rcData[i]); + } + + return NULL; +} + // // RC preview // @@ -86,15 +101,15 @@ static const OSD_Entry cmsx_menuRcEntries[] = { { "-- RC PREV --", OME_Label, NULL, NULL, 0}, - { "ROLL", OME_INT16, NULL, &(OSD_INT16_t){ &rcData[ROLL], 1, 2500, 0 }, DYNAMIC }, - { "PITCH", OME_INT16, NULL, &(OSD_INT16_t){ &rcData[PITCH], 1, 2500, 0 }, DYNAMIC }, - { "THR", OME_INT16, NULL, &(OSD_INT16_t){ &rcData[THROTTLE], 1, 2500, 0 }, DYNAMIC }, - { "YAW", OME_INT16, NULL, &(OSD_INT16_t){ &rcData[YAW], 1, 2500, 0 }, DYNAMIC }, + { "ROLL", OME_INT16, NULL, &(OSD_INT16_t){ &rcDataInt[ROLL], 1, 2500, 0 }, DYNAMIC }, + { "PITCH", OME_INT16, NULL, &(OSD_INT16_t){ &rcDataInt[PITCH], 1, 2500, 0 }, DYNAMIC }, + { "THR", OME_INT16, NULL, &(OSD_INT16_t){ &rcDataInt[THROTTLE], 1, 2500, 0 }, DYNAMIC }, + { "YAW", OME_INT16, NULL, &(OSD_INT16_t){ &rcDataInt[YAW], 1, 2500, 0 }, DYNAMIC }, - { "AUX1", OME_INT16, NULL, &(OSD_INT16_t){ &rcData[AUX1], 1, 2500, 0 }, DYNAMIC }, - { "AUX2", OME_INT16, NULL, &(OSD_INT16_t){ &rcData[AUX2], 1, 2500, 0 }, DYNAMIC }, - { "AUX3", OME_INT16, NULL, &(OSD_INT16_t){ &rcData[AUX3], 1, 2500, 0 }, DYNAMIC }, - { "AUX4", OME_INT16, NULL, &(OSD_INT16_t){ &rcData[AUX4], 1, 2500, 0 }, DYNAMIC }, + { "AUX1", OME_INT16, NULL, &(OSD_INT16_t){ &rcDataInt[AUX1], 1, 2500, 0 }, DYNAMIC }, + { "AUX2", OME_INT16, NULL, &(OSD_INT16_t){ &rcDataInt[AUX2], 1, 2500, 0 }, DYNAMIC }, + { "AUX3", OME_INT16, NULL, &(OSD_INT16_t){ &rcDataInt[AUX3], 1, 2500, 0 }, DYNAMIC }, + { "AUX4", OME_INT16, NULL, &(OSD_INT16_t){ &rcDataInt[AUX4], 1, 2500, 0 }, DYNAMIC }, { "BACK", OME_Back, NULL, NULL, 0}, {NULL, OME_END, NULL, NULL, 0} @@ -107,7 +122,7 @@ CMS_Menu cmsx_menuRcPreview = { #endif .onEnter = cmsx_menuRcOnEnter, .onExit = cmsx_menuRcConfirmBack, - .onDisplayUpdate = NULL, + .onDisplayUpdate = cmsx_menuRcOnDisplayUpdate, .entries = cmsx_menuRcEntries }; diff --git a/src/main/fc/rc.c b/src/main/fc/rc.c index c466f0314e..d4137dce79 100644 --- a/src/main/fc/rc.c +++ b/src/main/fc/rc.c @@ -763,7 +763,7 @@ FAST_CODE_NOINLINE void updateRcCommands(void) for (int axis = 0; axis < 3; axis++) { // non coupled PID reduction scaler used in PID controller 1 and PID controller 2. - int32_t tmp = MIN(ABS(rcData[axis] - rxConfig()->midrc), 500); + float tmp = MIN(ABS(rcData[axis] - rxConfig()->midrc), 500); if (axis == ROLL || axis == PITCH) { if (tmp > rcControlsConfig()->deadband) { tmp -= rcControlsConfig()->deadband; diff --git a/src/main/rx/crsf.c b/src/main/rx/crsf.c index 33ba6bbdab..76e0375e40 100644 --- a/src/main/rx/crsf.c +++ b/src/main/rx/crsf.c @@ -345,7 +345,7 @@ STATIC_UNIT_TESTED uint8_t crsfFrameStatus(rxRuntimeState_t *rxRuntimeState) return RX_FRAME_PENDING; } -STATIC_UNIT_TESTED uint16_t crsfReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) +STATIC_UNIT_TESTED float crsfReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) { UNUSED(rxRuntimeState); /* conversion from RC value to PWM @@ -356,7 +356,7 @@ STATIC_UNIT_TESTED uint16_t crsfReadRawRC(const rxRuntimeState_t *rxRuntimeState * scale factor = (2012-988) / (1811-172) = 0.62477120195241 * offset = 988 - 172 * 0.62477120195241 = 880.53935326418548 */ - return (0.62477120195241f * crsfChannelData[chan]) + 881; + return (0.62477120195241f * (float)crsfChannelData[chan]) + 881; } void crsfRxWriteTelemetryData(const void *data, int len) diff --git a/src/main/rx/ghst.c b/src/main/rx/ghst.c index 0ac6a968ae..6b203fc809 100644 --- a/src/main/rx/ghst.c +++ b/src/main/rx/ghst.c @@ -289,7 +289,7 @@ static bool ghstProcessFrame(const rxRuntimeState_t *rxRuntimeState) return true; } -STATIC_UNIT_TESTED uint16_t ghstReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) +STATIC_UNIT_TESTED float ghstReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) { UNUSED(rxRuntimeState); @@ -302,7 +302,7 @@ STATIC_UNIT_TESTED uint16_t ghstReadRawRC(const rxRuntimeState_t *rxRuntimeState // max 1024 1811 2012us // - return (5 * (ghstChannelData[chan]+1) / 8) + 880; + return (5 * ((float)ghstChannelData[chan] + 1) / 8) + 880; } static timeUs_t ghstFrameTimeUs(void) diff --git a/src/main/rx/ibus.c b/src/main/rx/ibus.c index 392cd188fe..0b7d9f6fbb 100644 --- a/src/main/rx/ibus.c +++ b/src/main/rx/ibus.c @@ -196,7 +196,7 @@ static uint8_t ibusFrameStatus(rxRuntimeState_t *rxRuntimeState) } -static uint16_t ibusReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) +static float ibusReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) { UNUSED(rxRuntimeState); return ibusChannelData[chan]; diff --git a/src/main/rx/jetiexbus.c b/src/main/rx/jetiexbus.c index 23f3c99d5e..312d0c0a5c 100644 --- a/src/main/rx/jetiexbus.c +++ b/src/main/rx/jetiexbus.c @@ -237,7 +237,7 @@ static uint8_t jetiExBusFrameStatus(rxRuntimeState_t *rxRuntimeState) return frameStatus; } -static uint16_t jetiExBusReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) +static float jetiExBusReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) { if (chan >= rxRuntimeState->channelCount) return 0; diff --git a/src/main/rx/msp.c b/src/main/rx/msp.c index 3304810f26..91177de899 100644 --- a/src/main/rx/msp.c +++ b/src/main/rx/msp.c @@ -36,7 +36,7 @@ static uint16_t mspFrame[MAX_SUPPORTED_RC_CHANNEL_COUNT]; static bool rxMspFrameDone = false; -uint16_t rxMspReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) +float rxMspReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) { UNUSED(rxRuntimeState); return mspFrame[chan]; diff --git a/src/main/rx/msp.h b/src/main/rx/msp.h index afc749747c..b1ef90513b 100644 --- a/src/main/rx/msp.h +++ b/src/main/rx/msp.h @@ -22,6 +22,6 @@ struct rxConfig_s; struct rxRuntimeState_s; -uint16_t rxMspReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan); +float rxMspReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan); void rxMspInit(const struct rxConfig_s *rxConfig, struct rxRuntimeState_s *rxRuntimeState); void rxMspFrameReceive(uint16_t *frame, int channelCount); diff --git a/src/main/rx/pwm.c b/src/main/rx/pwm.c index 44b3a152b7..49f16f92e7 100644 --- a/src/main/rx/pwm.c +++ b/src/main/rx/pwm.c @@ -41,13 +41,13 @@ #include "rx/rx.h" #include "rx/pwm.h" -static uint16_t pwmReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t channel) +static float pwmReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t channel) { UNUSED(rxRuntimeState); return pwmRead(channel); } -static uint16_t ppmReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t channel) +static float ppmReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t channel) { UNUSED(rxRuntimeState); return ppmRead(channel); diff --git a/src/main/rx/rx.c b/src/main/rx/rx.c index 380f5e7dc2..7a46a08a67 100644 --- a/src/main/rx/rx.c +++ b/src/main/rx/rx.c @@ -107,8 +107,8 @@ static uint32_t needRxSignalMaxDelayUs; static uint32_t suspendRxSignalUntil = 0; static uint8_t skipRxSamples = 0; -static int16_t rcRaw[MAX_SUPPORTED_RC_CHANNEL_COUNT]; // interval [1000;2000] -int16_t rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; // interval [1000;2000] +static float rcRaw[MAX_SUPPORTED_RC_CHANNEL_COUNT]; // interval [1000;2000] +float rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; // interval [1000;2000] uint32_t rcInvalidPulsPeriod[MAX_SUPPORTED_RC_CHANNEL_COUNT]; #define MAX_INVALID_PULS_TIME 300 @@ -154,7 +154,7 @@ void resetAllRxChannelRangeConfigurations(rxChannelRangeConfig_t *rxChannelRange } } -static uint16_t nullReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t channel) +static float nullReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t channel) { UNUSED(rxRuntimeState); UNUSED(channel); @@ -584,15 +584,15 @@ static uint16_t getRxfailValue(uint8_t channel) } } -STATIC_UNIT_TESTED uint16_t applyRxChannelRangeConfiguraton(int sample, const rxChannelRangeConfig_t *range) +STATIC_UNIT_TESTED float applyRxChannelRangeConfiguraton(float sample, const rxChannelRangeConfig_t *range) { // Avoid corruption of channel with a value of PPM_RCVR_TIMEOUT if (sample == PPM_RCVR_TIMEOUT) { return PPM_RCVR_TIMEOUT; } - sample = scaleRange(sample, range->min, range->max, PWM_RANGE_MIN, PWM_RANGE_MAX); - sample = constrain(sample, PWM_PULSE_MIN, PWM_PULSE_MAX); + sample = scaleRangef(sample, range->min, range->max, PWM_RANGE_MIN, PWM_RANGE_MAX); + sample = constrainf(sample, PWM_PULSE_MIN, PWM_PULSE_MAX); return sample; } @@ -604,7 +604,7 @@ static void readRxChannelsApplyRanges(void) const uint8_t rawChannel = channel < RX_MAPPABLE_CHANNEL_COUNT ? rxConfig()->rcmap[channel] : channel; // sample the channel - uint16_t sample; + float sample; #if defined(USE_RX_MSP_OVERRIDE) if (rxConfig()->msp_override_channels_mask) { sample = rxMspOverrideReadRawRc(&rxRuntimeState, rxConfig(), rawChannel); @@ -634,7 +634,7 @@ static void detectAndApplySignalLossBehaviour(void) rxFlightChannelsValid = true; for (int channel = 0; channel < rxChannelCount; channel++) { - uint16_t sample = rcRaw[channel]; + float sample = rcRaw[channel]; const bool validPulse = useValueFromRx && isPulseValid(sample); diff --git a/src/main/rx/rx.h b/src/main/rx/rx.h index 87731bbf23..55cc18de97 100644 --- a/src/main/rx/rx.h +++ b/src/main/rx/rx.h @@ -86,7 +86,7 @@ typedef enum { extern const char rcChannelLetters[]; -extern int16_t rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; // interval [1000;2000] +extern float rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; // interval [1000;2000] #define RSSI_SCALE_MIN 1 #define RSSI_SCALE_MAX 255 @@ -124,7 +124,7 @@ typedef struct rxChannelRangeConfig_s { PG_DECLARE_ARRAY(rxChannelRangeConfig_t, NON_AUX_CHANNEL_COUNT, rxChannelRangeConfigs); struct rxRuntimeState_s; -typedef uint16_t (*rcReadRawDataFnPtr)(const struct rxRuntimeState_s *rxRuntimeState, uint8_t chan); // used by receiver driver to return channel data +typedef float (*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 bool (*rcProcessFrameFnPtr)(const struct rxRuntimeState_s *rxRuntimeState); typedef timeUs_t rcGetFrameTimeUsFn(void); // used to retrieve the timestamp in microseconds for the last channel data frame diff --git a/src/main/rx/rx_spi.c b/src/main/rx/rx_spi.c index 7b41ad1c22..c72def4940 100644 --- a/src/main/rx/rx_spi.c +++ b/src/main/rx/rx_spi.c @@ -67,7 +67,7 @@ static protocolDataReceivedFnPtr protocolDataReceived; static protocolProcessFrameFnPtr protocolProcessFrame; static protocolSetRcDataFromPayloadFnPtr protocolSetRcDataFromPayload; -STATIC_UNIT_TESTED uint16_t rxSpiReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t channel) +STATIC_UNIT_TESTED float rxSpiReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t channel) { STATIC_ASSERT(NRF24L01_MAX_PAYLOAD_SIZE <= RX_SPI_MAX_PAYLOAD_SIZE, NRF24L01_MAX_PAYLOAD_SIZE_larger_than_RX_SPI_MAX_PAYLOAD_SIZE); diff --git a/src/main/rx/sbus_channels.c b/src/main/rx/sbus_channels.c index a1b9be4acb..f9926f4f0f 100644 --- a/src/main/rx/sbus_channels.c +++ b/src/main/rx/sbus_channels.c @@ -87,11 +87,11 @@ uint8_t sbusChannelsDecode(rxRuntimeState_t *rxRuntimeState, const sbusChannels_ return RX_FRAME_COMPLETE; } -static uint16_t sbusChannelsReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) +static float sbusChannelsReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) { // Linear fitting values read from OpenTX-ppmus and comparing with values received by X4R // http://www.wolframalpha.com/input/?i=linear+fit+%7B173%2C+988%7D%2C+%7B1812%2C+2012%7D%2C+%7B993%2C+1500%7D - return (5 * rxRuntimeState->channelData[chan] / 8) + 880; + return (5 * (float)rxRuntimeState->channelData[chan] / 8) + 880; } void sbusChannelsInit(const rxConfig_t *rxConfig, rxRuntimeState_t *rxRuntimeState) diff --git a/src/main/rx/spektrum.c b/src/main/rx/spektrum.c index 8c31f1f6a8..ce5d9fbaa3 100644 --- a/src/main/rx/spektrum.c +++ b/src/main/rx/spektrum.c @@ -174,18 +174,19 @@ static uint8_t spektrumFrameStatus(rxRuntimeState_t *rxRuntimeState) return result; } -static uint16_t spektrumReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) +static float spektrumReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) { - uint16_t data; + float data; if (chan >= rxRuntimeState->channelCount) { return 0; } - if (spekHiRes) - data = 988 + (spekChannelData[chan] >> 1); // 2048 mode - else - data = 988 + spekChannelData[chan]; // 1024 mode + if (spekHiRes) { + data = 0.5f * (float)spekChannelData[chan] + 988; // 2048 mode + } else { + data = spekChannelData[chan] + 988; // 1024 mode + } return data; } diff --git a/src/main/rx/srxl2.c b/src/main/rx/srxl2.c index 59e2032a10..a598c20079 100644 --- a/src/main/rx/srxl2.c +++ b/src/main/rx/srxl2.c @@ -55,7 +55,7 @@ #define SRXL2_MAX_CHANNELS 32 #define SRXL2_FRAME_PERIOD_US 11000 // 5500 for DSMR -#define SRXL2_CHANNEL_SHIFT 5 +#define SRXL2_CHANNEL_SHIFT 2 #define SRXL2_CHANNEL_CENTER 0x8000 #define SRXL2_PORT_BAUDRATE_DEFAULT 115200 @@ -458,13 +458,13 @@ static bool srxl2ProcessFrame(const rxRuntimeState_t *rxRuntimeState) return true; } -static uint16_t srxl2ReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t channelIdx) +static float srxl2ReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t channelIdx) { if (channelIdx >= rxRuntimeState->channelCount) { return 0; } - return SPEKTRUM_PULSE_OFFSET + ((rxRuntimeState->channelData[channelIdx] >> SRXL2_CHANNEL_SHIFT) >> 1); + return ((float)(rxRuntimeState->channelData[channelIdx] >> SRXL2_CHANNEL_SHIFT) / 16) + SPEKTRUM_PULSE_OFFSET; } void srxl2RxWriteData(const void *data, int len) diff --git a/src/main/rx/sumd.c b/src/main/rx/sumd.c index 0923d1ac16..0b99c620f2 100644 --- a/src/main/rx/sumd.c +++ b/src/main/rx/sumd.c @@ -162,10 +162,10 @@ static uint8_t sumdFrameStatus(rxRuntimeState_t *rxRuntimeState) return frameStatus; } -static uint16_t sumdReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) +static float sumdReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) { UNUSED(rxRuntimeState); - return sumdChannels[chan] / 8; + return (float)sumdChannels[chan] / 8; } static timeUs_t sumdFrameTimeUsFn(void) diff --git a/src/main/rx/sumh.c b/src/main/rx/sumh.c index ca1ae7f4c1..9dc7d82896 100644 --- a/src/main/rx/sumh.c +++ b/src/main/rx/sumh.c @@ -108,7 +108,7 @@ static uint8_t sumhFrameStatus(rxRuntimeState_t *rxRuntimeState) return RX_FRAME_COMPLETE; } -static uint16_t sumhReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) +static float sumhReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) { UNUSED(rxRuntimeState); diff --git a/src/main/rx/xbus.c b/src/main/rx/xbus.c index 5d98fba1a3..3981bd4c4a 100644 --- a/src/main/rx/xbus.c +++ b/src/main/rx/xbus.c @@ -248,7 +248,7 @@ static uint8_t xBusFrameStatus(rxRuntimeState_t *rxRuntimeState) return RX_FRAME_COMPLETE; } -static uint16_t xBusReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) +static float xBusReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) { uint16_t data; diff --git a/src/main/target/CRAZYFLIE2/serialrx.c b/src/main/target/CRAZYFLIE2/serialrx.c index 72e3f37eea..047db5e693 100644 --- a/src/main/target/CRAZYFLIE2/serialrx.c +++ b/src/main/target/CRAZYFLIE2/serialrx.c @@ -201,7 +201,7 @@ static uint8_t frameStatus(rxRuntimeState_t *rxRuntimeState) return RX_FRAME_COMPLETE; } -static uint16_t readRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) +static float readRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan) { if (chan >= rxRuntimeState->channelCount) { return 0; From 3177cb3ec07b6ffd4c32d4c3638450f0047fb4f9 Mon Sep 17 00:00:00 2001 From: Hans Christian Olaussen <41271048+klutvott123@users.noreply.github.com> Date: Sun, 18 Apr 2021 21:26:56 +0200 Subject: [PATCH 2/2] Update unit tests --- src/test/unit/arming_prevention_unittest.cc | 2 +- src/test/unit/flight_failsafe_unittest.cc | 2 +- src/test/unit/flight_imu_unittest.cc | 2 +- src/test/unit/ledstrip_unittest.cc | 2 +- src/test/unit/link_quality_unittest.cc | 2 +- src/test/unit/osd_unittest.cc | 2 +- src/test/unit/rc_controls_unittest.cc | 2 +- src/test/unit/rcdevice_unittest.cc | 2 +- src/test/unit/rx_crsf_unittest.cc | 10 +++++----- src/test/unit/rx_ranges_unittest.cc | 2 +- src/test/unit/vtx_unittest.cc | 2 +- 11 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/test/unit/arming_prevention_unittest.cc b/src/test/unit/arming_prevention_unittest.cc index cdd574b707..b6d3438089 100644 --- a/src/test/unit/arming_prevention_unittest.cc +++ b/src/test/unit/arming_prevention_unittest.cc @@ -59,7 +59,7 @@ extern "C" { PG_REGISTER(motorConfig_t, motorConfig, PG_MOTOR_CONFIG, 0); float rcCommand[4]; - int16_t rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; + float rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; uint16_t averageSystemLoadPercent = 0; uint8_t cliMode = 0; uint8_t debugMode = 0; diff --git a/src/test/unit/flight_failsafe_unittest.cc b/src/test/unit/flight_failsafe_unittest.cc index 2fbdcba8b1..c5b0069617 100644 --- a/src/test/unit/flight_failsafe_unittest.cc +++ b/src/test/unit/flight_failsafe_unittest.cc @@ -543,7 +543,7 @@ TEST(FlightFailsafeTest, TestFailsafeNotActivatedWhenDisarmedAndRXLossIsDetected // STUBS extern "C" { -int16_t rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; +float rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; float rcCommand[4]; int16_t debug[DEBUG16_VALUE_COUNT]; bool isUsingSticksToArm = true; diff --git a/src/test/unit/flight_imu_unittest.cc b/src/test/unit/flight_imu_unittest.cc index a1648095a8..55b177e04c 100644 --- a/src/test/unit/flight_imu_unittest.cc +++ b/src/test/unit/flight_imu_unittest.cc @@ -204,7 +204,7 @@ TEST(FlightImuTest, TestSmallAngle) extern "C" { boxBitmask_t rcModeActivationMask; float rcCommand[4]; -int16_t rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; +float rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; gyro_t gyro; acc_t acc; diff --git a/src/test/unit/ledstrip_unittest.cc b/src/test/unit/ledstrip_unittest.cc index 0a0e445ab2..3abeed55b9 100644 --- a/src/test/unit/ledstrip_unittest.cc +++ b/src/test/unit/ledstrip_unittest.cc @@ -299,7 +299,7 @@ uint8_t armingFlags = 0; uint8_t stateFlags = 0; uint16_t flightModeFlags = 0; float rcCommand[4]; -int16_t rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; +float rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; boxBitmask_t rcModeActivationMask; gpsSolutionData_t gpsSol; diff --git a/src/test/unit/link_quality_unittest.cc b/src/test/unit/link_quality_unittest.cc index ee4320230e..26441c40bb 100644 --- a/src/test/unit/link_quality_unittest.cc +++ b/src/test/unit/link_quality_unittest.cc @@ -69,7 +69,7 @@ extern "C" { float rMat[3][3]; pidProfile_t *currentPidProfile; - int16_t rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; + float rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; uint8_t GPS_numSat; uint16_t GPS_distanceToHome; int16_t GPS_directionToHome; diff --git a/src/test/unit/osd_unittest.cc b/src/test/unit/osd_unittest.cc index 8969837c13..66b78bc345 100644 --- a/src/test/unit/osd_unittest.cc +++ b/src/test/unit/osd_unittest.cc @@ -73,7 +73,7 @@ extern "C" { pidProfile_t *currentPidProfile; int16_t debug[DEBUG16_VALUE_COUNT]; - int16_t rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; + float rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; uint8_t GPS_numSat; uint16_t GPS_distanceToHome; int16_t GPS_directionToHome; diff --git a/src/test/unit/rc_controls_unittest.cc b/src/test/unit/rc_controls_unittest.cc index 8d5c107b22..0f1fab75fb 100644 --- a/src/test/unit/rc_controls_unittest.cc +++ b/src/test/unit/rc_controls_unittest.cc @@ -640,7 +640,7 @@ uint8_t armingFlags = 0; uint16_t flightModeFlags = 0; int16_t heading; uint8_t stateFlags = 0; -int16_t rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; +float rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; pidProfile_t *currentPidProfile; rxRuntimeState_t rxRuntimeState; PG_REGISTER(blackboxConfig_t, blackboxConfig, PG_BLACKBOX_CONFIG, 0); diff --git a/src/test/unit/rcdevice_unittest.cc b/src/test/unit/rcdevice_unittest.cc index 4566674ef8..1ddd462190 100644 --- a/src/test/unit/rcdevice_unittest.cc +++ b/src/test/unit/rcdevice_unittest.cc @@ -53,7 +53,7 @@ extern "C" { #include "rx/rx.h" - int16_t rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; // interval [1000;2000] + float rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; // interval [1000;2000] extern rcdeviceSwitchState_t switchStates[BOXCAMERA3 - BOXCAMERA1 + 1]; extern runcamDevice_t *camDevice; diff --git a/src/test/unit/rx_crsf_unittest.cc b/src/test/unit/rx_crsf_unittest.cc index fa1cbdb41f..f477a9d95d 100644 --- a/src/test/unit/rx_crsf_unittest.cc +++ b/src/test/unit/rx_crsf_unittest.cc @@ -46,7 +46,7 @@ extern "C" { void crsfDataReceive(uint16_t c); uint8_t crsfFrameCRC(void); uint8_t crsfFrameStatus(void); - uint16_t crsfReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan); + float crsfReadRawRC(const rxRuntimeState_t *rxRuntimeState, uint8_t chan); extern bool crsfFrameDone; extern crsfFrame_t crsfFrame; @@ -239,10 +239,10 @@ TEST(CrossFireTest, TestCapturedData) EXPECT_EQ(983, crsfChannelData[3]); uint8_t crc = crsfFrameCRC(); EXPECT_EQ(crc, crsfFrame.frame.payload[CRSF_FRAME_RC_CHANNELS_PAYLOAD_SIZE]); - EXPECT_EQ(999, crsfReadRawRC(NULL, 0)); - EXPECT_EQ(1501, crsfReadRawRC(NULL, 1)); - EXPECT_EQ(1492, crsfReadRawRC(NULL, 2)); - EXPECT_EQ(1495, crsfReadRawRC(NULL, 3)); + EXPECT_EQ(999, (uint16_t)crsfReadRawRC(NULL, 0)); + EXPECT_EQ(1501, (uint16_t)crsfReadRawRC(NULL, 1)); + EXPECT_EQ(1492, (uint16_t)crsfReadRawRC(NULL, 2)); + EXPECT_EQ(1495, (uint16_t)crsfReadRawRC(NULL, 3)); ++framePtr; crsfFrame = *(const crsfFrame_t*)framePtr; diff --git a/src/test/unit/rx_ranges_unittest.cc b/src/test/unit/rx_ranges_unittest.cc index 636178def0..0aa95e44c4 100644 --- a/src/test/unit/rx_ranges_unittest.cc +++ b/src/test/unit/rx_ranges_unittest.cc @@ -44,7 +44,7 @@ boxBitmask_t rcModeActivationMask; int16_t debug[DEBUG16_VALUE_COUNT]; uint8_t debugMode = 0; -extern uint16_t applyRxChannelRangeConfiguraton(int sample, const rxChannelRangeConfig_t *range); +extern float applyRxChannelRangeConfiguraton(float sample, const rxChannelRangeConfig_t *range); } #define RANGE_CONFIGURATION(min, max) new (rxChannelRangeConfig_t) {min, max} diff --git a/src/test/unit/vtx_unittest.cc b/src/test/unit/vtx_unittest.cc index abea4e1fe4..e7897e010b 100644 --- a/src/test/unit/vtx_unittest.cc +++ b/src/test/unit/vtx_unittest.cc @@ -62,7 +62,7 @@ extern "C" { PG_REGISTER(motorConfig_t, motorConfig, PG_MOTOR_CONFIG, 0); float rcCommand[4]; - int16_t rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; + float rcData[MAX_SUPPORTED_RC_CHANNEL_COUNT]; uint16_t averageSystemLoadPercent = 0; uint8_t cliMode = 0; uint8_t debugMode = 0;