diff --git a/src/screen.cpp b/src/screen.cpp index ea7b07a02..b552e1b17 100644 --- a/src/screen.cpp +++ b/src/screen.cpp @@ -401,10 +401,7 @@ void _screen_header() } #endif -Screen::Screen(uint8_t address, uint8_t sda, uint8_t scl) - : cmdQueue(32), useDisplay(false), dispdev(address, sda, scl), ui(&dispdev) -{ -} +Screen::Screen(uint8_t address, uint8_t sda, uint8_t scl) : cmdQueue(32), dispdev(address, sda, scl), ui(&dispdev) {} void Screen::handleSetOn(bool on) { diff --git a/src/screen.h b/src/screen.h index 05ab53330..6d088b1f9 100644 --- a/src/screen.h +++ b/src/screen.h @@ -40,7 +40,7 @@ class DebugInfo /// Sets battery/charging/etc status. // - void setPowerStatus(const PowerStatus& status) + void setPowerStatus(const PowerStatus &status) { LockGuard guard(&lock); powerStatus = status; @@ -169,9 +169,13 @@ class Screen : public PeriodicTask /// Enques given command item to be processed by main loop(). bool enqueueCmd(const CmdItem &cmd) { - bool success = cmdQueue.enqueue(cmd, 0); - setPeriod(1); // handle ASAP - return success; + if (!useDisplay) + return true; // claim success if our display is not in use + else { + bool success = cmdQueue.enqueue(cmd, 0); + setPeriod(1); // handle ASAP + return success; + } } // Implementations of various commands, called from doTask().