Added AM2302 sensor reading to one of the screens

This commit is contained in:
2026-06-22 18:43:20 +03:00
parent be6670b982
commit 5e88eee23b
7 changed files with 120 additions and 6 deletions
+23 -2
View File
@@ -2,6 +2,8 @@
namespace
{
Am2302Reading environmentReading = {0.0F, 0.0F, false};
void drawSun(U8G2 &u8g2, uint8_t x, uint8_t y)
{
u8g2.drawDisc(x, y, 11);
@@ -31,10 +33,29 @@ void drawScreen1(U8G2 &u8g2)
u8g2.drawStr(0, 20, "Screen 1");
}
void drawScreen2(U8G2 &u8g2)
void setEnvironmentReading(Am2302Reading reading)
{
environmentReading = reading;
}
void drawEnvironmentScreen(U8G2 &u8g2)
{
u8g2.setFont(u8g2_font_6x12_tr);
u8g2.drawStr(0, 12, "AM2302");
if (!environmentReading.valid) {
u8g2.setFont(u8g2_font_ncenB14_tr);
u8g2.drawStr(0, 40, "No data");
return;
}
u8g2.setFont(u8g2_font_ncenB14_tr);
u8g2.drawStr(0, 40, "Screen 2");
u8g2.setCursor(0, 34);
u8g2.print(environmentReading.temperatureC, 1);
u8g2.print(" C");
u8g2.setCursor(0, 60);
u8g2.print(environmentReading.humidityPercent, 0);
u8g2.print(" %");
}
void drawWeatherIconScreen(U8G2 &u8g2)