Use the base class to optimize screen display code.
This commit is contained in:
@@ -6,27 +6,19 @@
|
||||
#include <Wire.h>
|
||||
#include <heltec-eink-modules.h>
|
||||
|
||||
enum EInkDetectionResult {
|
||||
V_LCMEN213EFC1 = 0, // Initial version
|
||||
V_E0213A367 = 1, // E213 PCB marked V1.1 (Mid 2025)
|
||||
};
|
||||
|
||||
// Display driver for E213 e-ink display
|
||||
class E213Display : public DisplayDriver {
|
||||
#ifdef VISION_MASTER_E213
|
||||
EInkDisplay_VisionMasterE213 display;
|
||||
EInkDisplay_VisionMasterE213V1_1 display1;
|
||||
#else
|
||||
EInkDisplay_WirelessPaperV1_1 display;
|
||||
EInkDisplay_WirelessPaperV1_1_1 display1;
|
||||
#endif
|
||||
EInkDetectionResult _version =V_LCMEN213EFC1;
|
||||
BaseDisplay* display=NULL;
|
||||
bool _init = false;
|
||||
bool _isOn = false;
|
||||
|
||||
public:
|
||||
E213Display() : DisplayDriver(250, 122) {}
|
||||
|
||||
~E213Display(){
|
||||
if(display!=NULL) {
|
||||
delete display;
|
||||
}
|
||||
}
|
||||
bool begin();
|
||||
bool isOn() override { return _isOn; }
|
||||
void turnOn() override;
|
||||
@@ -44,7 +36,7 @@ public:
|
||||
void endFrame() override;
|
||||
|
||||
private:
|
||||
EInkDetectionResult detectEInk();
|
||||
BaseDisplay* detectEInk();
|
||||
void powerOn();
|
||||
void powerOff();
|
||||
};
|
||||
Reference in New Issue
Block a user