From 0597e57e43a2d3adcf55920e736320ce7f9614fa Mon Sep 17 00:00:00 2001 From: Chrome Legion Date: Wed, 6 Jun 2018 20:22:54 -0700 Subject: [PATCH] Qrome - Fixed Temperature to an accurate rounding value --- printermonitor/OctoPrintClient.cpp | 6 ++++++ printermonitor/OctoPrintClient.h | 1 + printermonitor/printermonitor.ino | 10 +++++----- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/printermonitor/OctoPrintClient.cpp b/printermonitor/OctoPrintClient.cpp index 204f9b9..b2879ca 100644 --- a/printermonitor/OctoPrintClient.cpp +++ b/printermonitor/OctoPrintClient.cpp @@ -286,4 +286,10 @@ String OctoPrintClient::getFilamentLength() { String OctoPrintClient::getError() { return printerData.error; +} + +String OctoPrintClient::getValueRounded(String value) { + float f = value.toFloat(); + int rounded = (int)(f+0.5f); + return String(rounded); } diff --git a/printermonitor/OctoPrintClient.h b/printermonitor/OctoPrintClient.h index 0871868..1d02836 100644 --- a/printermonitor/OctoPrintClient.h +++ b/printermonitor/OctoPrintClient.h @@ -85,6 +85,7 @@ class OctoPrintClient { String getTempToolActual(); String getTempToolTarget(); String getFilamentLength(); + String getValueRounded(String value); String getError(); }; diff --git a/printermonitor/printermonitor.ino b/printermonitor/printermonitor.ino index ca68cf0..05df0d5 100644 --- a/printermonitor/printermonitor.ino +++ b/printermonitor/printermonitor.ino @@ -27,7 +27,7 @@ SOFTWARE. #include "Settings.h" -#define VERSION "1.6" +#define VERSION "1.7" #define HOSTNAME "OctMon-" #define CONFIG "/conf.txt" @@ -630,10 +630,10 @@ void drawScreen1(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int display->drawString(64 + x, 0 + y, "Bed / Tool Temp"); display->setTextAlignment(TEXT_ALIGN_LEFT); display->setFont(ArialMT_Plain_24); - int bed = printerClient.getTempBedActual().toInt(); - int tool = printerClient.getTempToolActual().toInt(); - display->drawString(2 + x, 14 + y, String(bed) + "°"); - display->drawString(64 + x, 14 + y, String(tool) + "°"); + String bed = printerClient.getValueRounded(printerClient.getTempBedActual()); + String tool = printerClient.getValueRounded(printerClient.getTempToolActual()); + display->drawString(2 + x, 14 + y, bed + "°"); + display->drawString(64 + x, 14 + y, tool + "°"); } void drawScreen2(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y) {