From 940b9787643ec23d415336fcf173644ef6d63567 Mon Sep 17 00:00:00 2001 From: Evgenii Meshcheriakov Date: Tue, 25 Oct 2022 16:49:03 +0300 Subject: [PATCH] Timer: fix atomic add --- esp-vent-main/src/StateHandler/StateHandler.cpp | 8 +------- esp-vent-main/src/Timer.cpp | 4 ++-- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/esp-vent-main/src/StateHandler/StateHandler.cpp b/esp-vent-main/src/StateHandler/StateHandler.cpp index 3f94184..b7a4873 100644 --- a/esp-vent-main/src/StateHandler/StateHandler.cpp +++ b/esp-vent-main/src/StateHandler/StateHandler.cpp @@ -177,20 +177,14 @@ StateHandler::stateSensors (const Event &event) sensors_data[TEMPERATURE] = humidity.readT (); sensors_data[PRESSUREDAT] = pressure->getPressure (); sensors_data[CO2] = co2.read (); - state_timer->Sleep(10); + state_timer->tickCounter(5); sensors_data[HUMIDITY] = humidity.readRH (); - // displaySens (); break; case Event::eExit: break; case Event::eKey: - handleControlButtons (event.value); break; case Event::eTick: - // save (pressure->getPressure (), ((current_mode) ? AUTO : - // MANUAL)); - SetState (current_mode ? &StateHandler::stateAuto - : &StateHandler::stateManual); break; } } diff --git a/esp-vent-main/src/Timer.cpp b/esp-vent-main/src/Timer.cpp index 1190c1d..844040d 100644 --- a/esp-vent-main/src/Timer.cpp +++ b/esp-vent-main/src/Timer.cpp @@ -47,9 +47,9 @@ Timer::tickCounter (int ms) { if (counter >= INT_MAX) { - counter = 0; + resetCounter(); } - counter++; + counter.fetch_add(ms, std::memory_order_relaxed); Sleep (ms); }