state-handler: #6 add basic states
Add the states: - init - manual - auto
This commit is contained in:
parent
69d767a73e
commit
3dfc3d6d2a
5
.vscode/settings.json
vendored
Normal file
5
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"C_Cpp.autocompleteAddParentheses": true,
|
||||
"files.autoSave": "onFocusChange",
|
||||
"C_Cpp.codeAnalysis.clangTidy.enabled": true
|
||||
}
|
||||
@ -99,6 +99,31 @@ private:
|
||||
bool current_mode;
|
||||
Counter set[2] = { { 0, 100 }, { 0, 120 } };
|
||||
LiquidCrystal *_lcd;
|
||||
|
||||
/** Initialization state
|
||||
*
|
||||
* @param event event of the state
|
||||
*/
|
||||
void stateInit (const Event &event);
|
||||
|
||||
/** Manual state
|
||||
*
|
||||
* - set current speed
|
||||
* - print current pressure
|
||||
*
|
||||
* @param event event of the state
|
||||
*/
|
||||
void stateManual (const Event &event);
|
||||
|
||||
/** Automated state
|
||||
*
|
||||
* - print current pressure
|
||||
* - print set pressure
|
||||
* - inc/dec fan speed
|
||||
*
|
||||
* @param event
|
||||
*/
|
||||
void stateAuto (const Event &event);
|
||||
};
|
||||
|
||||
#endif /* STATE_HANDLER_H_ */
|
||||
|
||||
@ -62,13 +62,50 @@ StateHandler::SetState (state_pointer newstate)
|
||||
(this->*current) (Event (Event::eEnter));
|
||||
}
|
||||
|
||||
void StateHandler::HandleState(const Event &event){
|
||||
(this->*current)(event);
|
||||
void
|
||||
stateInit (const Event &event)
|
||||
{
|
||||
switch (event.type)
|
||||
{
|
||||
case Event::eEnter:
|
||||
break;
|
||||
case Event::eExit:
|
||||
break;
|
||||
case Event::eKey:
|
||||
break;
|
||||
case Event::eTick:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void StateHandler::SetState(state_pointer newstate){
|
||||
(this->*current)(Event(Event::eExit));
|
||||
current = newstate;
|
||||
(this->*current)(Event(Event::eEnter));
|
||||
|
||||
void
|
||||
stateManual (const Event &event)
|
||||
{
|
||||
switch (event.type)
|
||||
{
|
||||
case Event::eEnter:
|
||||
break;
|
||||
case Event::eExit:
|
||||
break;
|
||||
case Event::eKey:
|
||||
break;
|
||||
case Event::eTick:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
stateAuto (const Event &event)
|
||||
{
|
||||
switch (event.type)
|
||||
{
|
||||
case Event::eEnter:
|
||||
break;
|
||||
case Event::eExit:
|
||||
break;
|
||||
case Event::eKey:
|
||||
break;
|
||||
case Event::eTick:
|
||||
break;
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user