diff --git a/gbmanager.cpp b/gbmanager.cpp index 90b85d4..56d99ca 100644 --- a/gbmanager.cpp +++ b/gbmanager.cpp @@ -5,6 +5,7 @@ #include "hardware/i2c.h" #include "pico/stdlib.h" +#include "config.h" #include "ds18b20.h" #include "lcd.h" @@ -28,21 +29,38 @@ int main() { float temp_act{0}; float temp_tgt{28.0}; + float temp_diff{0.5}; std::stringstream lcdText{}; bool isHeating = false; + bool isSystemOn = false; string heatInfo{" "}; string systemInfo{"OFF"}; + lcdText << " G" << CUSTOM_CHAR_AE << "rbox Manager\n (Ver. " + << PROJECT_VERSION << ")"; + myLCD.sendString(lcdText.str()); + sleep_ms(3000); + while (true) { // ds.convert(); sleep_ms(750); // temp_act = ds.getTemperature(); temp_act = 23.5; + if (isSystemOn && temp_act < temp_tgt - temp_diff) { + isHeating = true; + } else if (isSystemOn && temp_act > temp_tgt + temp_diff) { + isHeating = false; + } else if (!isSystemOn) { + isHeating = false; + } + isHeating ? heatInfo = ">H<" : heatInfo = " "; + lcdText.str(""); lcdText.clear(); lcdText.precision(4); - lcdText << "ACT: " << temp_act << CUSTOM_CHAR_DEG << "C " << heatInfo << "\n" + lcdText << "ACT: " << temp_act << CUSTOM_CHAR_DEG << "C " << heatInfo + << "\n" << "TGT: " << temp_tgt << CUSTOM_CHAR_DEG << "C " << systemInfo; myLCD.setCursor(0, 0);