diff --git a/radio/src/gui/colorlcd/model_telemetry.cpp b/radio/src/gui/colorlcd/model_telemetry.cpp index a415202cc..28aec32c8 100644 --- a/radio/src/gui/colorlcd/model_telemetry.cpp +++ b/radio/src/gui/colorlcd/model_telemetry.cpp @@ -671,7 +671,8 @@ class SensorEditWindow : public Page { paramLines[P_RATIO] = form->newLine(&grid); new StaticText(paramLines[P_RATIO], rect_t{}, STR_RATIO, 0, COLOR_THEME_PRIMARY1); - auto edit = new NumberEdit(paramLines[P_RATIO], rect_t{}, 0, 30000, GET_SET_DEFAULT(sensor->custom.ratio)); + auto edit = new NumberEdit(paramLines[P_RATIO], rect_t{}, 0, 30000, GET_SET_DEFAULT(sensor->custom.ratio), + 0, PREC1); edit->setZeroText("-"); paramLines[P_CELLINDEX] = form->newLine(&grid); diff --git a/radio/src/telemetry/telemetry_sensors.cpp b/radio/src/telemetry/telemetry_sensors.cpp index 9ffd46672..a2e567ea4 100644 --- a/radio/src/telemetry/telemetry_sensors.cpp +++ b/radio/src/telemetry/telemetry_sensors.cpp @@ -707,6 +707,7 @@ int32_t convertTelemetryValue(int32_t value, uint8_t unit, uint8_t prec, uint8_t int32_t TelemetrySensor::getValue(int32_t value, uint8_t unit, uint8_t prec) const { if (type == TELEM_TYPE_CUSTOM && custom.ratio) { + /* farzu: Not needed, scaling work properly for the 3 types of prec without it if (this->prec == 2) { value *= 10; prec = 2; @@ -714,7 +715,9 @@ int32_t TelemetrySensor::getValue(int32_t value, uint8_t unit, uint8_t prec) con else { prec = 1; } - value = (custom.ratio * value + 122) / 255; + */ + + value = (custom.ratio * value + 122) / 255; // 122/255 (0.48) is to aproximate up (ceiling) } value = convertTelemetryValue(value, unit, prec, this->unit, this->prec);