From 81734f75c8f1de97845ee51b5b0eb840c1646ea2 Mon Sep 17 00:00:00 2001 From: geeksville Date: Sun, 29 Mar 2020 11:13:53 -0700 Subject: [PATCH] fix review comments (don't let commands queue up if we are missing a display) --- src/screen.cpp | 5 +---- src/screen.h | 12 ++++++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/screen.cpp b/src/screen.cpp index ea7b07a0..b552e1b1 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 05ab5333..6d088b1f 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().