state-handler: wrap up etick into a separate method

This commit is contained in:
Vasily Davydov 2022-10-26 21:28:27 +03:00
parent a6d7bc0b27
commit cc7a0e40f2
2 changed files with 29 additions and 32 deletions

View File

@ -184,6 +184,12 @@ private:
*/
void handleControlButtons (uint8_t button);
/** Handle the timer value of eTick event
*
* @param value current event value
*/
void handleTickValue (int value);
/** Save values to class' varibales
*
* @param eventValue value coming from an event

View File

@ -130,22 +130,7 @@ StateHandler::stateManual (const Event &event)
handleControlButtons (event.value);
break;
case Event::eTick:
if (event.value % 5000 == 0)
{
updateSensorValues ();
displaySet (SENSORS);
}
if (event.value % 500 == 0)
{
SetState (&StateHandler::stateGetPressure);
}
if (event.value < 0)
{
displaySet (ERROR_TIMEOUT);
fan_speed.setInit (0);
value[(current_mode)].setInit (0);
SetState (&StateHandler::stateInit);
}
handleTickValue (event.value);
break;
}
}
@ -164,22 +149,7 @@ StateHandler::stateAuto (const Event &event)
handleControlButtons (event.value);
break;
case Event::eTick:
if (event.value % 5000 == 0)
{
updateSensorValues ();
displaySet (SENSORS);
}
if (event.value % 500 == 0)
{
SetState (&StateHandler::stateGetPressure);
}
if (event.value < 0)
{
displaySet (ERROR_TIMEOUT);
fan_speed.setInit (0);
value[(current_mode)].setInit (0);
SetState (&StateHandler::stateInit);
}
handleTickValue (event.value);
pid ();
this->A01->write (fan_speed.getCurrent ());
break;
@ -232,6 +202,27 @@ StateHandler::handleControlButtons (uint8_t button)
}
}
void
StateHandler::handleTickValue (int value)
{
if (value % 5000 == 0)
{
updateSensorValues ();
displaySet (SENSORS);
}
if (value % 500 == 0)
{
SetState (&StateHandler::stateGetPressure);
}
if (value < 0)
{
displaySet (ERROR_TIMEOUT);
this->fan_speed.setInit (0);
this->value[(current_mode)].setInit (0);
SetState (&StateHandler::stateInit);
}
}
void
StateHandler::save (int eventValue, size_t mode)
{