From cbbf0b77e7254b3b61c10578cac92862aa3ba187 Mon Sep 17 00:00:00 2001 From: Martin Brodbeck Date: Tue, 31 May 2022 12:31:29 +0200 Subject: [PATCH] some basic work implemented --- gbmanager.cpp | 44 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 37 insertions(+), 7 deletions(-) diff --git a/gbmanager.cpp b/gbmanager.cpp index 4f4e114..90b85d4 100644 --- a/gbmanager.cpp +++ b/gbmanager.cpp @@ -1,21 +1,51 @@ +#include #include +#include #include "hardware/i2c.h" #include "pico/stdlib.h" -#include "lcd.h" #include "ds18b20.h" +#include "lcd.h" constexpr uint I2C_SDA_PIN = 26; constexpr uint I2C_SCL_PIN = 27; +constexpr uint DS18B20_PIN = 28; + +constexpr char CUSTOM_CHAR_DEG = 0xDF; +constexpr char CUSTOM_CHAR_AE = 0xE1; + +using std::string; int main() { - // Enable UART so we can print status output - stdio_init_all(); + // Enable UART so we can print status output + stdio_init_all(); - auto myLCD = LCD(i2c1, I2C_SDA_PIN, I2C_SCL_PIN); + auto myLCD = LCD(i2c1, I2C_SDA_PIN, I2C_SCL_PIN); + myLCD.clear(); - myLCD.sendString("Hallo, Welt"); - myLCD.clear(); - myLCD.sendString("Hallo, Wölt!"); + // DS18B20 ds = DS18B20(pio0, DS18B20_PIN); + + float temp_act{0}; + float temp_tgt{28.0}; + std::stringstream lcdText{}; + bool isHeating = false; + string heatInfo{" "}; + string systemInfo{"OFF"}; + + while (true) { + // ds.convert(); + sleep_ms(750); + // temp_act = ds.getTemperature(); + temp_act = 23.5; + + lcdText.str(""); + lcdText.clear(); + lcdText.precision(4); + lcdText << "ACT: " << temp_act << CUSTOM_CHAR_DEG << "C " << heatInfo << "\n" + << "TGT: " << temp_tgt << CUSTOM_CHAR_DEG << "C " << systemInfo; + + myLCD.setCursor(0, 0); + myLCD.sendString(lcdText.str()); + } } \ No newline at end of file