Merge pull request #8531 from meshtastic/master

Master
This commit is contained in:
Ben Meadors
2025-11-03 15:56:42 -06:00
committed by GitHub
3 changed files with 14 additions and 2 deletions

View File

@@ -1,5 +1,7 @@
#include "InputBroker.h"
#include "PowerFSM.h" // needed for event trigger
#include "configuration.h"
#include "modules/ExternalNotificationModule.h"
InputBroker *inputBroker = nullptr;
@@ -48,6 +50,12 @@ void InputBroker::processInputEventQueue()
int InputBroker::handleInputEvent(const InputEvent *event)
{
powerFSM.trigger(EVENT_INPUT); // todo: not every input should wake, like long hold release
if (event && event->inputEvent != INPUT_BROKER_NONE && externalNotificationModule &&
moduleConfig.external_notification.enabled) {
externalNotificationModule->stopNow();
}
this->notifyObservers(event);
return 0;
}

View File

@@ -325,6 +325,10 @@ void ExternalNotificationModule::stopNow()
drv.stop();
#endif
// Prevent the state machine from immediately re-triggering outputs after a manual stop.
isNagging = false;
nagCycleCutoff = UINT32_MAX;
#ifdef HAS_I2S
// GPIO0 is used as mclk for I2S audio and set to OUTPUT by the sound library
// T-Deck uses GPIO0 as trackball button, so restore the mode