diff --git a/radio/src/telemetry/frsky_sport.cpp b/radio/src/telemetry/frsky_sport.cpp index ebb90586a..0e4f3920c 100644 --- a/radio/src/telemetry/frsky_sport.cpp +++ b/radio/src/telemetry/frsky_sport.cpp @@ -130,7 +130,7 @@ uint16_t rboxState; void sportProcessTelemetryPacket(uint16_t id, uint8_t subId, uint8_t instance, uint32_t data, TelemetryUnit unit=UNIT_RAW) { const FrSkySportSensor * sensor = getFrSkySportSensor(id, subId); - uint8_t precision = 0; + uint8_t precision = 255; if (sensor) { if (unit == UNIT_RAW) unit = sensor->unit; diff --git a/radio/src/telemetry/telemetry_sensors.cpp b/radio/src/telemetry/telemetry_sensors.cpp index dc9742b55..66b0e2255 100644 --- a/radio/src/telemetry/telemetry_sensors.cpp +++ b/radio/src/telemetry/telemetry_sensors.cpp @@ -82,6 +82,10 @@ void TelemetryItem::setValue(const TelemetrySensor & sensor, int32_t val, uint32 { int32_t newVal = val; + if(prec == 255) { + prec = sensor.prec; + } + if (unit == UNIT_CELLS) { uint32_t data = uint32_t(newVal); uint8_t cellsCount = (data >> 24);