From 083fb63764f64b68d7d37b2c72be68b542dea3f9 Mon Sep 17 00:00:00 2001 From: Ray Jones Date: Thu, 9 Jan 2020 12:50:54 +1100 Subject: [PATCH] BUG FIX: always showing offset against DS18B20 in temp sensor role screen --- src/Afterburner.cpp | 4 ++-- src/OLED/TempSensorScreen.cpp | 16 +++++++++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/Afterburner.cpp b/src/Afterburner.cpp index 4b0cf7d..8d6ff21 100644 --- a/src/Afterburner.cpp +++ b/src/Afterburner.cpp @@ -126,8 +126,8 @@ const int FirmwareRevision = 31; const int FirmwareSubRevision = 7; -const int FirmwareMinorRevision = 4; -const char* FirmwareDate = "4 Jan 2020"; +const int FirmwareMinorRevision = 5; +const char* FirmwareDate = "9 Jan 2020"; #ifdef ESP32 diff --git a/src/OLED/TempSensorScreen.cpp b/src/OLED/TempSensorScreen.cpp index 46c2d12..1264b24 100644 --- a/src/OLED/TempSensorScreen.cpp +++ b/src/OLED/TempSensorScreen.cpp @@ -108,10 +108,20 @@ CTempSensorScreen::show() _printMenuText(border, baseLine, msg, _rowSel == 2 && _colSel == 0); _printMenuText(27, baseLine, "DS18B20"); - if(_nDS18B20 == 1) { - sprintf(msg, "%+.01f", _OffsetDS18B20); - _printMenuText(90, baseLine, msg, _rowSel == 2 && _colSel == 1); + if(_nDS18B20 > 1) { + sprintf(msg, "x%d", _nDS18B20); + _printMenuText(72, baseLine, msg); } + if(_colSel == 0) { + // get temperature of primary DS18B20 + float temperature; + getTempSensor().getDS18B20().getTemperature(0, temperature, false); + sprintf(msg, "%.01f`C", temperature + _OffsetDS18B20); + } + else { + sprintf(msg, "%+.01f", _OffsetDS18B20); + } + _printMenuText(90, baseLine, msg, _rowSel == 2 && _colSel == 1); } }