switch-controller: add basic switch listener

This commit is contained in:
Vasily Davydov
2022-10-17 09:15:21 +03:00
parent c0c85df36f
commit 0bf20552cf
2 changed files with 19 additions and 3 deletions

View File

@@ -8,9 +8,14 @@
#include <SwitchController.h>
SwitchController::SwitchController (DigitalIoPin *button, Timer *timer,
StateHandler *handler)
StateHandler *handler, int button_mode)
{
// TODO Auto-generated constructor stub
b = button;
t = timer;
h = handler;
b_state = false;
b_mode = button_mode;
t->resetCounter ();
}
SwitchController::~SwitchController ()
@@ -21,4 +26,13 @@ SwitchController::~SwitchController ()
void
SwitchController::listen ()
{
if (b->read ())
{
b_state = true;
}
if (!b->read () && b_state)
{
h->HandleState (Event (Event::eKey, b_mode));
b_state = false;
}
}