event: add pressure member

Addition of a pressure parameter called from main
and displayed on lcd
This commit is contained in:
Vasily Davydov 2022-10-14 16:33:44 +03:00
parent dcfb475ca1
commit 1709c0520b
3 changed files with 14 additions and 7 deletions

View File

@ -8,11 +8,13 @@
#ifndef EVENT_H_
#define EVENT_H_
class Event {
public:
virtual ~Event(){};
class Event
{
public:
virtual ~Event (){};
enum eventType {
enum eventType
{
/** Start of the event */
eEnter,
/** End of the event*/
@ -23,10 +25,11 @@ class Event {
/** Time event */
eTick
};
Event(eventType e = eTick, uint8_t b = 0, int t = 0)
: type(e), button(b), temp(t){};
Event (eventType e = eTick, uint8_t b = 0) : type (e), button (b){};
Event (eventType e = eTick, int16_t pres = 0) : type (e), pressure (pres){};
eventType type;
uint8_t button;
int16_t pressure;
int temp;
};

View File

@ -124,6 +124,7 @@ StateHandler::stateManual (const Event &event)
handleControlButtons (event.button);
break;
case Event::eTick:
displaySet (getSetSpeed (), event.pressure);
break;
}
}
@ -142,6 +143,7 @@ StateHandler::stateAuto (const Event &event)
handleControlButtons (event.button);
break;
case Event::eTick:
displaySet (getSetPressure (), event.pressure);
break;
}
}

View File

@ -48,6 +48,8 @@ main (void)
StateHandler ventMachine;
int16_t pressure = 1;
while (1)
{
if (b_up.read ())
@ -77,7 +79,7 @@ main (void)
* TODO:
* - Update current pressure to eTick
*/
ventMachine.HandleState (Event (Event::eTick));
ventMachine.HandleState (Event (Event::eTick, pressure));
}
return 0;