diff --git a/StateHandler/inc/StateHandler.h b/StateHandler/inc/StateHandler.h index d22a914..7a847a3 100644 --- a/StateHandler/inc/StateHandler.h +++ b/StateHandler/inc/StateHandler.h @@ -96,7 +96,7 @@ private: * @param newstate new state to be set to current */ void SetState (state_pointer newstate); - bool current_mode; + uint8_t current_mode; Counter value[2] = { { 0, 100 }, { 0, 120 } }; LiquidCrystal *_lcd; diff --git a/StateHandler/src/StateHandler.cpp b/StateHandler/src/StateHandler.cpp index a4518c7..c464a8f 100644 --- a/StateHandler/src/StateHandler.cpp +++ b/StateHandler/src/StateHandler.cpp @@ -21,19 +21,41 @@ StateHandler::~StateHandler () void StateHandler::displaySet (unsigned int value1, unsigned int value2) { - // TODO - /** - * MANUAL MODE: - * ---------------- - * SPEED: 20% - * PRESSURE: XXPa - * ---------------- - * AUTO MODE: - * ---------------- - * PRESSURE SET: 35Pa - * PRESSURE CUR: XXPa - * ---------------- - */ + char line_up[16] = { 0 }; + char line_down[16] = { 0 }; + + switch (current_mode) + { + /* + * MANUAL MODE: + * ---------------- + * SPEED: 20% + * PRESSURE: XXPa + * ---------------- + */ + case MANUAL: + snprintf (line_up, 16, "SPEED: %02d%", value1); + snprintf (line_down, 16, "PRESSURE: %02dPa", value2); + break; + /* + * AUTO MODE: + * ---------------- + * PRESSURE SET: 35Pa + * PRESSURE CUR: XXPa + * ---------------- + */ + case AUTO: + snprintf (line_up, 16, "P. SET: %02dPa", value1); + snprintf (line_down, 16, "P. CURR: %02dPa", value2); + break; + default: + break; + } + _lcd->clear (); + _lcd->setCursor (0, 0); + _lcd->print (line_up); + _lcd->setCursor (0, 1); + _lcd->print (line_down); } unsigned int