Allow sample apps to override BaseApplication's default lcd screen (#31603)
* Allow sample apps to override BaseApplication's default lcd screen
* Restyled by whitespace
* use virtual method in parent class
---------
Co-authored-by: Restyled.io <commits@restyled.io>
diff --git a/examples/platform/silabs/BaseApplication.cpp b/examples/platform/silabs/BaseApplication.cpp
index fadeaf9..99acb26 100644
--- a/examples/platform/silabs/BaseApplication.cpp
+++ b/examples/platform/silabs/BaseApplication.cpp
@@ -458,11 +458,7 @@
// - Cycle LCD screen
CancelFunctionTimer();
- OutputQrCode(false);
-#ifdef DISPLAY_ENABLED
- UpdateLCDStatusScreen();
- slLCD.CycleScreens();
-#endif
+ AppTask::GetAppTask().UpdateDisplay();
#ifdef SL_WIFI
if (!ConnectivityMgr().IsWiFiStationProvisioned())
@@ -493,6 +489,15 @@
}
}
+void BaseApplication::UpdateDisplay()
+{
+ OutputQrCode(false);
+#ifdef DISPLAY_ENABLED
+ UpdateLCDStatusScreen();
+ slLCD.CycleScreens();
+#endif
+}
+
void BaseApplication::CancelFunctionTimer()
{
if (xTimerStop(sFunctionTimer, pdMS_TO_TICKS(0)) == pdFAIL)
diff --git a/examples/platform/silabs/BaseApplication.h b/examples/platform/silabs/BaseApplication.h
index 0bde0e7..b38f0e5 100644
--- a/examples/platform/silabs/BaseApplication.h
+++ b/examples/platform/silabs/BaseApplication.h
@@ -105,6 +105,11 @@
*/
static void PostEvent(const AppEvent * event);
+ /**
+ * @brief Overridable function used to update display on button press
+ */
+ virtual void UpdateDisplay();
+
#ifdef DISPLAY_ENABLED
/**
* @brief Return LCD object
diff --git a/examples/platform/silabs/display/lcd.h b/examples/platform/silabs/display/lcd.h
index b6f3fc9..703e72a 100644
--- a/examples/platform/silabs/display/lcd.h
+++ b/examples/platform/silabs/display/lcd.h
@@ -71,6 +71,7 @@
void SetScreen(Screen_e screen);
void CycleScreens(void);
void SetStatus(DisplayStatus_t & status);
+ void WriteStatus();
#ifdef QR_CODE_ENABLED
void SetQRCode(uint8_t * str, uint32_t size);
@@ -85,7 +86,6 @@
} DemoState_t;
void WriteDemoUI();
- void WriteStatus();
#ifdef QR_CODE_ENABLED
void WriteQRCode();