Timer: fix atomic add

This commit is contained in:
Evgenii Meshcheriakov 2022-10-25 16:49:03 +03:00
parent e899ba9cc9
commit 940b978764
2 changed files with 3 additions and 9 deletions

View File

@ -177,20 +177,14 @@ StateHandler::stateSensors (const Event &event)
sensors_data[TEMPERATURE] = humidity.readT (); sensors_data[TEMPERATURE] = humidity.readT ();
sensors_data[PRESSUREDAT] = pressure->getPressure (); sensors_data[PRESSUREDAT] = pressure->getPressure ();
sensors_data[CO2] = co2.read (); sensors_data[CO2] = co2.read ();
state_timer->Sleep(10); state_timer->tickCounter(5);
sensors_data[HUMIDITY] = humidity.readRH (); sensors_data[HUMIDITY] = humidity.readRH ();
// displaySens ();
break; break;
case Event::eExit: case Event::eExit:
break; break;
case Event::eKey: case Event::eKey:
handleControlButtons (event.value);
break; break;
case Event::eTick: case Event::eTick:
// save (pressure->getPressure (), ((current_mode) ? AUTO :
// MANUAL));
SetState (current_mode ? &StateHandler::stateAuto
: &StateHandler::stateManual);
break; break;
} }
} }

View File

@ -47,9 +47,9 @@ Timer::tickCounter (int ms)
{ {
if (counter >= INT_MAX) if (counter >= INT_MAX)
{ {
counter = 0; resetCounter();
} }
counter++; counter.fetch_add(ms, std::memory_order_relaxed);
Sleep (ms); Sleep (ms);
} }