clear display on init to avoid static

This commit is contained in:
liamcottle 2025-04-01 14:46:48 +13:00
parent 0a62ab663f
commit 87443ad43f
4 changed files with 8 additions and 0 deletions

View file

@ -1442,6 +1442,7 @@ void setup() {
#ifdef DISPLAY_CLASS #ifdef DISPLAY_CLASS
if (display.begin()) { if (display.begin()) {
disp = &display; disp = &display;
disp->clear();
} }
#endif #endif
#endif #endif

View file

@ -15,6 +15,7 @@ public:
virtual bool isOn() = 0; virtual bool isOn() = 0;
virtual void turnOn() = 0; virtual void turnOn() = 0;
virtual void turnOff() = 0; virtual void turnOff() = 0;
virtual void clear() = 0;
virtual void startFrame(Color bkg = DARK) = 0; virtual void startFrame(Color bkg = DARK) = 0;
virtual void setTextSize(int sz) = 0; virtual void setTextSize(int sz) = 0;
virtual void setColor(Color c) = 0; virtual void setColor(Color c) = 0;

View file

@ -20,6 +20,11 @@ void SSD1306Display::turnOff() {
_isOn = false; _isOn = false;
} }
void SSD1306Display::clear() {
display.clearDisplay();
display.display();
}
void SSD1306Display::startFrame(Color bkg) { void SSD1306Display::startFrame(Color bkg) {
display.clearDisplay(); // TODO: apply 'bkg' display.clearDisplay(); // TODO: apply 'bkg'
_color = SSD1306_WHITE; _color = SSD1306_WHITE;

View file

@ -27,6 +27,7 @@ public:
bool isOn() override { return _isOn; } bool isOn() override { return _isOn; }
void turnOn() override; void turnOn() override;
void turnOff() override; void turnOff() override;
void clear() override;
void startFrame(Color bkg = DARK) override; void startFrame(Color bkg = DARK) override;
void setTextSize(int sz) override; void setTextSize(int sz) override;
void setColor(Color c) override; void setColor(Color c) override;