Full T-echo card support + Compact UI (#11342)

* T-echo card

* Update NRF52I2SOutput.cpp

* Update NRF52I2SOutput.h

* cleanup

* Update buzz.cpp

* use consistent runtime compact-panel check instead of mixing with compile-time macro

* Update NodeDB.cpp

* Update ExternalNotificationModule.cpp

* switched to Throttle::isWithinTimespanMs

* Update SharedUIDisplay.h

* trunk fix

* last cleanup

* ClockRenderer.cpp for OLED_COMPACT_UI and setup Unit C6L for new UI.

* Fixed regressions in standard OLED and TFT

---------

Co-authored-by: Jason P <applewiz@mac.com>
This commit is contained in:
HarukiToreda
2026-08-04 14:27:35 +00:00
committed by GitHub
co-authored by Jason P
parent d89f3eb8fc
commit 39e7aa6a6c
26 changed files with 1231 additions and 186 deletions
+9 -2
View File
@@ -677,16 +677,19 @@ void menuHandler::TZPicker()
void menuHandler::clockMenu()
{
enum optionsNumbers { Back = 0, Clock, Time, Timezone };
#if defined(OLED_TINY)
static const char *optionsArray[] = {"Back", "Time Format", "Timezone"};
static const int optionsEnumArray[] = {Back, Time, Timezone};
#else
static const char *optionsArray[] = {"Back", "Clock Face", "Time Format", "Timezone"};
static const int optionsEnumArray[] = {Back, Clock, Time, Timezone};
#endif
enum optionsNumbers { Back = 0, Clock = 1, Time = 2, Timezone = 3 };
BannerOverlayOptions bannerOptions;
bannerOptions.message = "Clock Action";
bannerOptions.optionsArrayPtr = optionsArray;
bannerOptions.optionsCount = 4;
bannerOptions.optionsEnumPtr = optionsEnumArray;
bannerOptions.optionsCount = sizeof(optionsArray) / sizeof(optionsArray[0]);
bannerOptions.bannerCallback = [](int selected) -> void {
if (selected == Clock) {
menuHandler::menuQueue = menuHandler::ClockFacePicker;
@@ -1475,7 +1478,11 @@ void menuHandler::nodeListMenu()
static int optionsEnumArray[enumEnd] = {Back};
int options = 1;
#if defined(OLED_TINY)
optionsArray[options] = "Node Action";
#else
optionsArray[options] = "Node Actions / Settings";
#endif
optionsEnumArray[options++] = NodePicker;
if (currentResolution != ScreenResolution::UltraLow) {