diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..97da8e0 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "C_Cpp.autocompleteAddParentheses": true, + "files.autoSave": "onFocusChange", + "C_Cpp.codeAnalysis.clangTidy.enabled": true +} \ No newline at end of file diff --git a/StateHandler/inc/StateHandler.h b/StateHandler/inc/StateHandler.h index fd1b271..48ce4d3 100644 --- a/StateHandler/inc/StateHandler.h +++ b/StateHandler/inc/StateHandler.h @@ -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_ */ diff --git a/StateHandler/src/StateHandler.cpp b/StateHandler/src/StateHandler.cpp index ee75928..add68e5 100644 --- a/StateHandler/src/StateHandler.cpp +++ b/StateHandler/src/StateHandler.cpp @@ -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; + } +} \ No newline at end of file