sttae-handler: set timeout for sensor reading

This commit is contained in:
Vasily Davydov 2022-10-24 16:49:26 +03:00
parent 54b09fc46d
commit 59486a746a
2 changed files with 11 additions and 13 deletions

View File

@ -119,10 +119,14 @@ StateHandler::stateManual (const Event &event)
this->A01->write (value[MANUAL].getCurrent () * 10);
break;
case Event::eTick:
if (event.value > 500)
{
SetState (&StateHandler::stateGetPressure);
state_timer->resetCounter ();
break;
}
}
}
void
StateHandler::stateAuto (const Event &event)

View File

@ -74,25 +74,19 @@ main (void)
SwitchController sw_up (&b_up, &ventMachine, BUTTON_CONTROL_UP);
DigitalIoPin b_down (0, 6, true, true, true); // A4
SwitchController sw_down (&b_down, &ventMachine,
BUTTON_CONTROL_DOWN);
SwitchController sw_down (&b_down, &ventMachine, BUTTON_CONTROL_DOWN);
DigitalIoPin b_toggle (0, 5, true, true, true); // A3
SwitchController sw_toggle (&b_toggle, &ventMachine,
BUTTON_CONTROL_TOG_MODE);
int pressure = 0;
while (1)
{
sw_up.listen ();
sw_down.listen ();
sw_toggle.listen ();
if(glob_time.getCounter() > 3) {
pressure = sens.getPressure();
glob_time.resetCounter();
}
ventMachine.HandleState (Event (Event::eTick, pressure));
ventMachine.HandleState (Event (Event::eTick, glob_time.getCounter ()));
glob_time.tickCounter (1);
}