From 0ff821aeac6ae4f8cd893943da121c92e20c8778 Mon Sep 17 00:00:00 2001
From: dAjaY85 <AndreasElsesser@gmx.de>
Date: Sun, 5 Mar 2023 16:56:01 +0100
Subject: [PATCH] kleine Optimierungen

---
 src/plugins/Display/Display.h          | 6 ++++--
 src/plugins/Display/Display_Mono.cpp   | 6 ++++--
 src/plugins/Display/Display_Mono.h     | 2 +-
 src/plugins/Display/Display_ePaper.cpp | 4 ++--
 src/plugins/Display/Display_ePaper.h   | 2 +-
 5 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/src/plugins/Display/Display.h b/src/plugins/Display/Display.h
index 9903c4e3..8849f30e 100644
--- a/src/plugins/Display/Display.h
+++ b/src/plugins/Display/Display.h
@@ -23,6 +23,7 @@ class Display {
         mUtcTs = utcTs;
         mNewPayload = false;
         mLoopCnt = 0;
+        mVersion = version;
 
         if (mCfg->type == 0) {
             return;
@@ -46,12 +47,12 @@ class Display {
             DisplayMono.enableScreensaver = mCfg->pxShift;
             DisplayMono.contrast = mCfg->contrast;
 
-            DisplayMono.init(mCfg->type, mCfg->disp_cs, mCfg->disp_dc, mCfg->disp_reset, mCfg->disp_busy, mCfg->disp_clk, mCfg->disp_data);
+            DisplayMono.init(mCfg->type, mCfg->disp_cs, mCfg->disp_dc, mCfg->disp_reset, mCfg->disp_busy, mCfg->disp_clk, mCfg->disp_data, mVersion);
         } else if (mCfg->type > 10) {
             DisplayEPaper.displayRotation = mCfg->rot;
             counterEPaper = 0;
 
-            DisplayEPaper.init(mCfg->type, mCfg->disp_cs, mCfg->disp_dc, mCfg->disp_reset, mCfg->disp_busy, mCfg->disp_clk, mCfg->disp_data);
+            DisplayEPaper.init(mCfg->type, mCfg->disp_cs, mCfg->disp_dc, mCfg->disp_reset, mCfg->disp_busy, mCfg->disp_clk, mCfg->disp_data, mVersion);
         }
     }
 
@@ -116,6 +117,7 @@ class Display {
     bool mNewPayload;
     uint8_t mLoopCnt;
     uint32_t *mUtcTs;
+    const char *mVersion;
     display_t *mCfg;
     HMSYSTEM *mSys;
     uint16_t period = 10000;  // Achtung, max 65535
diff --git a/src/plugins/Display/Display_Mono.cpp b/src/plugins/Display/Display_Mono.cpp
index 23c6f0e3..d6caa1a0 100644
--- a/src/plugins/Display/Display_Mono.cpp
+++ b/src/plugins/Display/Display_Mono.cpp
@@ -63,7 +63,7 @@ void DisplayMonoClass::printText(const char* text, uint8_t line, uint8_t dispX =
     _display->drawStr(dispX, mLineOffsets[line], text);
 }
 
-void DisplayMonoClass::init(uint8_t _type, uint8_t _CS, uint8_t _DC, uint8_t _RST, uint8_t _BUSY, uint8_t _SCK, uint8_t _MOSI) {
+void DisplayMonoClass::init(uint8_t _type, uint8_t _CS, uint8_t _DC, uint8_t _RST, uint8_t _BUSY, uint8_t _SCK, uint8_t _MOSI, const char* version) {
     if (0 < _type < 4) {
         auto constructor = mono_types[_type];
         _display = constructor(_RST, _SCK, _MOSI, _CS, _DC);
@@ -77,7 +77,9 @@ void DisplayMonoClass::init(uint8_t _type, uint8_t _CS, uint8_t _DC, uint8_t _RS
         if (contrast < 255) {
             _display->setContrast(contrast);
         }
-        printText("OpenDTU!", 0);
+        printText("AHOY!", 0, 35);
+        printText("ahoydtu.de", 2, 20);
+        printText(version, 3, 46);
         _display->sendBuffer();
     }
 }
diff --git a/src/plugins/Display/Display_Mono.h b/src/plugins/Display/Display_Mono.h
index eda23f05..b3307ef9 100644
--- a/src/plugins/Display/Display_Mono.h
+++ b/src/plugins/Display/Display_Mono.h
@@ -8,7 +8,7 @@ class DisplayMonoClass {
     DisplayMonoClass();
     ~DisplayMonoClass();
 
-    void init(uint8_t type, uint8_t _CS, uint8_t _DC, uint8_t _RST, uint8_t _BUSY, uint8_t _SCK, uint8_t _MOSI);
+    void init(uint8_t type, uint8_t _CS, uint8_t _DC, uint8_t _RST, uint8_t _BUSY, uint8_t _SCK, uint8_t _MOSI, const char* version);
 
     void loop(float totalPower, float totalYieldDay, float totalYieldTotal, uint8_t isprod);
 
diff --git a/src/plugins/Display/Display_ePaper.cpp b/src/plugins/Display/Display_ePaper.cpp
index 6e260ab1..01b641ba 100644
--- a/src/plugins/Display/Display_ePaper.cpp
+++ b/src/plugins/Display/Display_ePaper.cpp
@@ -9,7 +9,7 @@ static const uint32_t spiClk = 4000000;  // 4 MHz
 SPIClass hspi(HSPI);
 #endif
 
-std::map<uint8_t, std::function<GxEPD2_GFX*(uint8_t, uint8_t, uint8_t, uint8_t)>> _ePaperTypes = {
+std::map<uint8_t, std::function<GxEPD2_GFX *(uint8_t, uint8_t, uint8_t, uint8_t)>> _ePaperTypes = {
     // DEPG0150BN 200x200, SSD1681, TTGO T5 V2.4.1
     {11, [](uint8_t _CS, uint8_t _DC, uint8_t _RST, uint8_t _BUSY) { return new GxEPD2_BW<GxEPD2_150_BN, GxEPD2_150_BN::HEIGHT>(GxEPD2_150_BN(_CS, _DC, _RST, _BUSY)); }},
     // GDEW027C44   2.7 " b/w/r 176x264, IL91874
@@ -24,7 +24,7 @@ DisplayEPaperClass::~DisplayEPaperClass() {
     delete _display;
 }
 //***************************************************************************
-void DisplayEPaperClass::init(uint8_t type, uint8_t _CS, uint8_t _DC, uint8_t _RST, uint8_t _BUSY, uint8_t _SCK, uint8_t _MOSI) {
+void DisplayEPaperClass::init(uint8_t type, uint8_t _CS, uint8_t _DC, uint8_t _RST, uint8_t _BUSY, uint8_t _SCK, uint8_t _MOSI, const char *version) {
     if (type > 3) {
         Serial.begin(115200);
         auto constructor = _ePaperTypes[type];
diff --git a/src/plugins/Display/Display_ePaper.h b/src/plugins/Display/Display_ePaper.h
index e404f565..ed8fb025 100644
--- a/src/plugins/Display/Display_ePaper.h
+++ b/src/plugins/Display/Display_ePaper.h
@@ -31,7 +31,7 @@ class DisplayEPaperClass {
     DisplayEPaperClass();
     ~DisplayEPaperClass();
     void fullRefresh();
-    void init(uint8_t type, uint8_t _CS, uint8_t _DC, uint8_t _RST, uint8_t _BUSY, uint8_t _SCK, uint8_t _MOSI);
+    void init(uint8_t type, uint8_t _CS, uint8_t _DC, uint8_t _RST, uint8_t _BUSY, uint8_t _SCK, uint8_t _MOSI, const char* version);
     void loop(float totalPower, float totalYieldDay, float totalYieldTotal, uint8_t isprod);
 
     uint8_t displayRotation = 2;