mirror of
https://github.com/lumapu/ahoy.git
synced 2025-05-22 13:26:10 +02:00
kleine Optimierungen
This commit is contained in:
parent
ce20d7c1b4
commit
0ff821aeac
5 changed files with 12 additions and 8 deletions
|
@ -23,6 +23,7 @@ class Display {
|
||||||
mUtcTs = utcTs;
|
mUtcTs = utcTs;
|
||||||
mNewPayload = false;
|
mNewPayload = false;
|
||||||
mLoopCnt = 0;
|
mLoopCnt = 0;
|
||||||
|
mVersion = version;
|
||||||
|
|
||||||
if (mCfg->type == 0) {
|
if (mCfg->type == 0) {
|
||||||
return;
|
return;
|
||||||
|
@ -46,12 +47,12 @@ class Display {
|
||||||
DisplayMono.enableScreensaver = mCfg->pxShift;
|
DisplayMono.enableScreensaver = mCfg->pxShift;
|
||||||
DisplayMono.contrast = mCfg->contrast;
|
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) {
|
} else if (mCfg->type > 10) {
|
||||||
DisplayEPaper.displayRotation = mCfg->rot;
|
DisplayEPaper.displayRotation = mCfg->rot;
|
||||||
counterEPaper = 0;
|
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;
|
bool mNewPayload;
|
||||||
uint8_t mLoopCnt;
|
uint8_t mLoopCnt;
|
||||||
uint32_t *mUtcTs;
|
uint32_t *mUtcTs;
|
||||||
|
const char *mVersion;
|
||||||
display_t *mCfg;
|
display_t *mCfg;
|
||||||
HMSYSTEM *mSys;
|
HMSYSTEM *mSys;
|
||||||
uint16_t period = 10000; // Achtung, max 65535
|
uint16_t period = 10000; // Achtung, max 65535
|
||||||
|
|
|
@ -63,7 +63,7 @@ void DisplayMonoClass::printText(const char* text, uint8_t line, uint8_t dispX =
|
||||||
_display->drawStr(dispX, mLineOffsets[line], text);
|
_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) {
|
if (0 < _type < 4) {
|
||||||
auto constructor = mono_types[_type];
|
auto constructor = mono_types[_type];
|
||||||
_display = constructor(_RST, _SCK, _MOSI, _CS, _DC);
|
_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) {
|
if (contrast < 255) {
|
||||||
_display->setContrast(contrast);
|
_display->setContrast(contrast);
|
||||||
}
|
}
|
||||||
printText("OpenDTU!", 0);
|
printText("AHOY!", 0, 35);
|
||||||
|
printText("ahoydtu.de", 2, 20);
|
||||||
|
printText(version, 3, 46);
|
||||||
_display->sendBuffer();
|
_display->sendBuffer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ class DisplayMonoClass {
|
||||||
DisplayMonoClass();
|
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);
|
void loop(float totalPower, float totalYieldDay, float totalYieldTotal, uint8_t isprod);
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ static const uint32_t spiClk = 4000000; // 4 MHz
|
||||||
SPIClass hspi(HSPI);
|
SPIClass hspi(HSPI);
|
||||||
#endif
|
#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
|
// 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)); }},
|
{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
|
// GDEW027C44 2.7 " b/w/r 176x264, IL91874
|
||||||
|
@ -24,7 +24,7 @@ DisplayEPaperClass::~DisplayEPaperClass() {
|
||||||
delete _display;
|
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) {
|
if (type > 3) {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
auto constructor = _ePaperTypes[type];
|
auto constructor = _ePaperTypes[type];
|
||||||
|
|
|
@ -31,7 +31,7 @@ class DisplayEPaperClass {
|
||||||
DisplayEPaperClass();
|
DisplayEPaperClass();
|
||||||
~DisplayEPaperClass();
|
~DisplayEPaperClass();
|
||||||
void fullRefresh();
|
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);
|
void loop(float totalPower, float totalYieldDay, float totalYieldTotal, uint8_t isprod);
|
||||||
|
|
||||||
uint8_t displayRotation = 2;
|
uint8_t displayRotation = 2;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue