diff --git a/StateHandler/.cproject b/StateHandler/.cproject
index 7731589..dce4dd8 100644
--- a/StateHandler/.cproject
+++ b/StateHandler/.cproject
@@ -48,6 +48,7 @@
+
@@ -71,6 +72,7 @@
+
@@ -87,6 +89,7 @@
+
@@ -149,6 +152,7 @@
+
@@ -173,6 +177,7 @@
+
@@ -189,6 +194,7 @@
+
diff --git a/StateHandler/.project b/StateHandler/.project
index ca7ae8f..428ff80 100644
--- a/StateHandler/.project
+++ b/StateHandler/.project
@@ -5,6 +5,7 @@
lpc_chip_15xx
DigitalIoPin
+ LiquidCrystal
diff --git a/StateHandler/Debug/src/StateHandler.su b/StateHandler/Debug/src/StateHandler.su
index 6b60dbb..5f05996 100644
--- a/StateHandler/Debug/src/StateHandler.su
+++ b/StateHandler/Debug/src/StateHandler.su
@@ -1,5 +1,10 @@
-../src/StateHandler.cpp:10:1:StateHandler::StateHandler(EVENT_HANDL) 16 static
-../src/StateHandler.cpp:15:1:StateHandler::~StateHandler() 16 static
-../src/StateHandler.cpp:15:1:virtual StateHandler::~StateHandler() 16 static
-../src/StateHandler.cpp:19:5:int StateHandler::getSetPresuure() 16 static
-../src/StateHandler.cpp:24:5:int StateHandler::getSetSpeed() 16 static
+/home/tylen/Desktop/Programming/Projects_Metropolia/ESP-Ventilation/StateHandler/inc/Event.h:13:11:Event::~Event() 16 static
+/home/tylen/Desktop/Programming/Projects_Metropolia/ESP-Ventilation/StateHandler/inc/Event.h:13:11:virtual Event::~Event() 16 static
+/home/tylen/Desktop/Programming/Projects_Metropolia/ESP-Ventilation/StateHandler/inc/Event.h:26:3:Event::Event(Event::eventType, int, int) 24 static
+../src/StateHandler.cpp:10:1:StateHandler::StateHandler() 16 static
+../src/StateHandler.cpp:14:1:StateHandler::~StateHandler() 16 static
+../src/StateHandler.cpp:14:1:virtual StateHandler::~StateHandler() 16 static
+../src/StateHandler.cpp:18:14:unsigned int StateHandler::getSetPressure() 16 static
+../src/StateHandler.cpp:22:14:unsigned int StateHandler::getSetSpeed() 16 static
+../src/StateHandler.cpp:26:6:void StateHandler::HandleState(const Event&) 16 static
+../src/StateHandler.cpp:30:6:void StateHandler::SetState(state_pointer) 64 static
diff --git a/StateHandler/inc/Counter.h b/StateHandler/inc/Counter.h
index 1c6e89f..b402f32 100644
--- a/StateHandler/inc/Counter.h
+++ b/StateHandler/inc/Counter.h
@@ -14,7 +14,7 @@ public:
Counter(int i, int up);
void inc();
void dec();
- int getInit();
+ int getCurrent();
void setInit(int i);
~Counter() = default;
diff --git a/StateHandler/inc/StateHandler.h b/StateHandler/inc/StateHandler.h
index a31df2b..3bc7e65 100644
--- a/StateHandler/inc/StateHandler.h
+++ b/StateHandler/inc/StateHandler.h
@@ -16,6 +16,7 @@
#define STATE_HANDLER_H_
#include "DigitalIoPin.h"
+#include "LiquidCrystal.h"
#include "Counter.h"
#include "Event.h"
@@ -41,16 +42,45 @@ enum _buttons {
BUTTON_CONTROL_TOG_ACTIVE
};
+enum _bars {
+ /** 0-100 % */
+ FAN_SPEED,
+ /** 0-120 Pa */
+ PRESSURE
+};
+
+enum _mode {
+ MANUAL,
+ AUTO
+};
+
class StateHandler;
typedef void (StateHandler::*state_pointer)(const Event &);
class StateHandler {
public:
- StateHandler();
+ StateHandler(LiquidCrystal * lcd);
virtual ~StateHandler();
- int getSetPresuure(); // Get currently set pressure 0-100%
- int getSetSpeed(); //Get currently set FanSpeed 0-100%
+
+ /** Get currently set pressure
+ *
+ * @return pressure in range of 0-120
+ */
+ unsigned int getSetPressure();
+
+ /** Get currently set FanSpeed
+ *
+ * @return speed in range of 0-100
+ */
+ unsigned int getSetSpeed();
+
+ /** Display values on LCD depending on current mode
+ *
+ * @param value1 value to be displayed on LCD line 0
+ * @param value2 value to be displayed on LCD line 1
+ */
+ void displaySet(unsigned int value1, unsigned int value2);
/** Handle the given event of the current state
* @param event event to be handled in the current state
@@ -62,9 +92,9 @@ private:
* @param newstate new state to be set to current
*/
void SetState(state_pointer newstate);
- bool mode;
- Counter * bar_pressure;
- Counter * bar_speed;
+ bool current_mode;
+ Counter set [2] = {{0, 100}, {0, 120}};
+ LiquidCrystal * _lcd;
};
diff --git a/StateHandler/src/Counter.cpp b/StateHandler/src/Counter.cpp
index 3b44778..0b53145 100644
--- a/StateHandler/src/Counter.cpp
+++ b/StateHandler/src/Counter.cpp
@@ -24,7 +24,7 @@ void Counter::dec() {
}
-int Counter::getInit(){
+int Counter::getCurrent(){
return this->init;
}
diff --git a/StateHandler/src/StateHandler.cpp b/StateHandler/src/StateHandler.cpp
index 7c4fb0f..bfd7393 100644
--- a/StateHandler/src/StateHandler.cpp
+++ b/StateHandler/src/StateHandler.cpp
@@ -7,23 +7,37 @@
#include
-StateHandler::StateHandler() {
- // TODO Auto-generated constructor stub
-
+StateHandler::StateHandler(LiquidCrystal * lcd) {
+ this->_lcd = lcd;
+ // TODO
}
StateHandler::~StateHandler() {
// TODO Auto-generated destructor stub
}
-int StateHandler::getSetPresuure(){
- //TODO
- return 0;
+unsigned int StateHandler::getSetPressure(){
+ return (unsigned int)this->set[PRESSURE].getCurrent();
}
-int StateHandler::getSetSpeed(){
+unsigned int StateHandler::getSetSpeed(){
+ return (unsigned int)this->set[FAN_SPEED].getCurrent();
+}
+
+void StateHandler::displaySet(unsigned int value1, unsigned int value2){
// TODO
- return 0;
+ /**
+ * MANUAL MODE:
+ * ----------------
+ * SPEED: 20%
+ * PRESSURE: XXPa
+ * ----------------
+ * AUTO MODE:
+ * ----------------
+ * PRESSURE SET: 35Pa
+ * PRESSURE CUR: XXPa
+ * ----------------
+ */
}
void StateHandler::HandleState(const Event &event){