This commit is contained in:
2025-10-25 12:51:28 +02:00
parent f8735d4bce
commit 844cf86d8d

View File

@@ -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);