From 844cf86d8d81fd7f9d40e0ea1fafbb668cf4060b Mon Sep 17 00:00:00 2001 From: Stepan Usatiuk Date: Sat, 25 Oct 2025 12:51:28 +0200 Subject: [PATCH] fixie --- Firmware/components/backend-esp/src/esp_backend.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Firmware/components/backend-esp/src/esp_backend.cpp b/Firmware/components/backend-esp/src/esp_backend.cpp index 9b4a3ea..d7ceede 100644 --- a/Firmware/components/backend-esp/src/esp_backend.cpp +++ b/Firmware/components/backend-esp/src/esp_backend.cpp @@ -391,7 +391,8 @@ cardboy::sdk::AppTimerHandle EspRuntime::TimerService::scheduleTimer(std::uint32 if (xTimerStart(timerHandle, portMAX_DELAY) != pdPASS) { assert(false); } - return storedRecord->handle; + + return newHandle; } void EspRuntime::TimerService::cancelTimer(cardboy::sdk::AppTimerHandle handle) { @@ -452,7 +453,6 @@ void EspRuntime::TimerService::timerCallback(TimerHandle_t timer) { } void EspRuntime::TimerService::handleTimer(sdk::AppTimerHandle handle) { - TimerRecord* record = nullptr; TimerHandle_t timerHandle = nullptr; bool repeat = false; @@ -460,7 +460,6 @@ void EspRuntime::TimerService::handleTimer(sdk::AppTimerHandle handle) { xSemaphoreTake(_mutex, portMAX_DELAY); for (auto it = _timers.begin(); it != _timers.end(); ++it) { if (it->handle == handle) { - record = &(*it); timerHandle = it->timer; if (!it->repeat) { _timers.erase(it); @@ -473,8 +472,10 @@ void EspRuntime::TimerService::handleTimer(sdk::AppTimerHandle handle) { xSemaphoreGive(_mutex); } - if (!record) + if (!timerHandle) { + printf("Couldn't find handle for timer %lu\n", handle); return; + } if (!repeat && timerHandle) xTimerDelete(timerHandle, portMAX_DELAY);