diff options
| author | Michele Bini <michele.bini@gmail.com> | 2022-04-16 11:43:58 (GMT) |
|---|---|---|
| committer | Michele Bini <michele.bini@gmail.com> | 2022-04-16 12:12:52 (GMT) |
| commit | 2e367ec0aea857a1aee7306a2de893f96a60f2df (patch) | |
| tree | 86439281fb0ed810b83161cb36985f2a731b22bc /src/components/timer/TimerController.cpp | |
| parent | ebf3859407adba9da7acbc77b1ebabfd39d80a37 (diff) | |
| parent | c9808e29f1bbfbd1396d7b83212f6d223d52f99d (diff) | |
Merge branch 'alarm-fix-work' into edge
# Conflicts:
# src/components/timer/TimerController.cpp
Diffstat (limited to 'src/components/timer/TimerController.cpp')
| -rw-r--r-- | src/components/timer/TimerController.cpp | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/src/components/timer/TimerController.cpp b/src/components/timer/TimerController.cpp index d6f8ffd..35e3512 100644 --- a/src/components/timer/TimerController.cpp +++ b/src/components/timer/TimerController.cpp @@ -4,30 +4,28 @@ #include "components/timer/TimerController.h" #include "systemtask/SystemTask.h" -#include "app_timer.h" #include "task.h" using namespace Pinetime::Controllers; -APP_TIMER_DEF(timerAppTimer); - namespace { - void TimerEnd(void* p_context) { - auto* controller = static_cast<Pinetime::Controllers::TimerController*>(p_context); - if (controller != nullptr) - controller->OnTimerEnd(); + void TimerEnd(TimerHandle_t xTimer) { + auto controller = static_cast<Pinetime::Controllers::TimerController*>(pvTimerGetTimerID(xTimer)); + controller->OnTimerEnd(); } } void TimerController::Init() { - app_timer_create(&timerAppTimer, APP_TIMER_MODE_SINGLE_SHOT, TimerEnd); + timerAppTimer = xTimerCreate("timerAppTm", 1, pdFALSE, this, TimerEnd); } void TimerController::StartTimer(uint32_t duration) { - app_timer_stop(timerAppTimer); + xTimerStop(timerAppTimer,0); auto currentTicks = xTaskGetTickCount(); - app_timer_start(timerAppTimer, APP_TIMER_TICKS(duration), this); - endTicks = currentTicks + APP_TIMER_TICKS(duration); + TickType_t durationTicks = APP_TIMER_TICKS(duration); + xTimerChangePeriod(timerAppTimer, durationTicks, 0); + xTimerStart(timerAppTimer, 0); + endTicks = currentTicks + durationTicks; timerRunning = true; overtime = false; } @@ -44,7 +42,7 @@ int32_t TimerController::GetSecondsRemaining() { } void TimerController::StopTimer() { - app_timer_stop(timerAppTimer); + xTimerStop(timerAppTimer, 0); timerRunning = false; overtime = false; } |
