From 87443ad43f0b032074a9df05cdd00a624345be62 Mon Sep 17 00:00:00 2001 From: liamcottle Date: Tue, 1 Apr 2025 14:46:48 +1300 Subject: [PATCH] clear display on init to avoid static --- examples/companion_radio/main.cpp | 1 + src/helpers/ui/DisplayDriver.h | 1 + src/helpers/ui/SSD1306Display.cpp | 5 +++++ src/helpers/ui/SSD1306Display.h | 1 + 4 files changed, 8 insertions(+) diff --git a/examples/companion_radio/main.cpp b/examples/companion_radio/main.cpp index ef50d1ca..d6a6e990 100644 --- a/examples/companion_radio/main.cpp +++ b/examples/companion_radio/main.cpp @@ -1442,6 +1442,7 @@ void setup() { #ifdef DISPLAY_CLASS if (display.begin()) { disp = &display; + disp->clear(); } #endif #endif diff --git a/src/helpers/ui/DisplayDriver.h b/src/helpers/ui/DisplayDriver.h index 1c8bebc7..7086b807 100644 --- a/src/helpers/ui/DisplayDriver.h +++ b/src/helpers/ui/DisplayDriver.h @@ -15,6 +15,7 @@ public: virtual bool isOn() = 0; virtual void turnOn() = 0; virtual void turnOff() = 0; + virtual void clear() = 0; virtual void startFrame(Color bkg = DARK) = 0; virtual void setTextSize(int sz) = 0; virtual void setColor(Color c) = 0; diff --git a/src/helpers/ui/SSD1306Display.cpp b/src/helpers/ui/SSD1306Display.cpp index 4c2699ac..911dd6fa 100644 --- a/src/helpers/ui/SSD1306Display.cpp +++ b/src/helpers/ui/SSD1306Display.cpp @@ -20,6 +20,11 @@ void SSD1306Display::turnOff() { _isOn = false; } +void SSD1306Display::clear() { + display.clearDisplay(); + display.display(); +} + void SSD1306Display::startFrame(Color bkg) { display.clearDisplay(); // TODO: apply 'bkg' _color = SSD1306_WHITE; diff --git a/src/helpers/ui/SSD1306Display.h b/src/helpers/ui/SSD1306Display.h index c90a336d..cd0e2a0a 100644 --- a/src/helpers/ui/SSD1306Display.h +++ b/src/helpers/ui/SSD1306Display.h @@ -27,6 +27,7 @@ public: bool isOn() override { return _isOn; } void turnOn() override; void turnOff() override; + void clear() override; void startFrame(Color bkg = DARK) override; void setTextSize(int sz) override; void setColor(Color c) override;