diff --git a/radio/src/telemetry/frsky.h b/radio/src/telemetry/frsky.h index 0d928a08c..9078b2343 100644 --- a/radio/src/telemetry/frsky.h +++ b/radio/src/telemetry/frsky.h @@ -288,9 +288,9 @@ class TelemetryData { uint16_t xjtVersion; bool varioHighPrecision; - void setSwr(uint8_t origin, uint8_t value) + void setSwr(uint8_t module, uint8_t value) { - if (origin & 0x80) + if (module == EXTERNAL_MODULE) swrExternal.set(value); else swrInternal.set(value); diff --git a/radio/src/telemetry/frsky_sport.cpp b/radio/src/telemetry/frsky_sport.cpp index c1f3675de..ae4a8c0d1 100644 --- a/radio/src/telemetry/frsky_sport.cpp +++ b/radio/src/telemetry/frsky_sport.cpp @@ -185,12 +185,12 @@ void sportProcessTelemetryPacketWithoutCrc(uint8_t origin, const uint8_t * packe else if (dataId == XJT_VERSION_ID) { telemetryData.xjtVersion = HUB_DATA_U16(packet); if (!isRasValueValid()) { - telemetryData.setSwr(origin, 0); + telemetryData.setSwr(origin >> 2, 0); } } else if (dataId == RAS_ID) { if (isRasValueValid()) { - telemetryData.setSwr(origin, SPORT_DATA_U8(packet)); + telemetryData.setSwr(origin >> 2, SPORT_DATA_U8(packet)); } } diff --git a/radio/src/telemetry/telemetry_holders.h b/radio/src/telemetry/telemetry_holders.h index 2993e9a3b..1b0e558eb 100644 --- a/radio/src/telemetry/telemetry_holders.h +++ b/radio/src/telemetry/telemetry_holders.h @@ -77,7 +77,7 @@ class TelemetryExpiringDecorator: public T { void set(uint8_t value) { T::set(value); - expirationTime = get_tmr10ms(); + expirationTime = get_tmr10ms() + 1000/*10s*/; } void reset() {