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
+26
View File
@@ -58,6 +58,10 @@ ButtonThread *BackButtonThread = nullptr;
ButtonThread *CancelButtonThread = nullptr;
#endif
#if defined(DOWN_BUTTON_PIN)
ButtonThread *DownButtonThread = nullptr;
#endif
#endif
InputBroker *inputBroker = nullptr;
@@ -323,6 +327,28 @@ void InputBroker::Init()
BackButtonThread->initButton(backConfig);
#endif
#if defined(DOWN_BUTTON_PIN)
// Sends literal INPUT_BROKER_DOWN/DOWN_LONG (needed for message/nodelist scroll),
// unlike ALT_BUTTON_PIN which sends ALT_PRESS/ALT_LONG (treated as UP/previous).
DownButtonThread = new ButtonThread("DownButton");
ButtonConfig downConfig;
downConfig.pinNumber = DOWN_BUTTON_PIN;
downConfig.activeLow = DOWN_BUTTON_ACTIVE_LOW;
downConfig.activePullup = DOWN_BUTTON_ACTIVE_PULLUP;
downConfig.pullupSense = pullup_sense;
downConfig.intRoutine = []() {
DownButtonThread->userButton.tick();
DownButtonThread->setIntervalFromNow(0);
runASAP = true;
BaseType_t higherWake = 0;
concurrency::mainDelay.interruptFromISR(&higherWake);
};
downConfig.singlePress = INPUT_BROKER_DOWN;
downConfig.longPress = INPUT_BROKER_DOWN_LONG;
downConfig.longPressTime = 500;
DownButtonThread->initButton(downConfig);
#endif
#if defined(BUTTON_PIN)
#if defined(USERPREFS_BUTTON_PIN)
int _pinNum = config.device.button_gpio ? config.device.button_gpio : USERPREFS_BUTTON_PIN;