ControllerBox directs electromechanical equipment in restaurants to display information.

Dependencies:   TextLCD MbedJSONValue libMotiv picojson mbed-rtos mbed

Fork of Mbed_MotiVControllerBox by Tim Wöstemeier

Revision:
3:21c8adb97c8f
Child:
5:e22a1ae893d2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libMotiv/Controller.h	Thu Dec 04 22:26:30 2014 +0000
@@ -0,0 +1,58 @@
+#ifndef MOTIV_CONTROLLER_H
+#define MOTIV_CONTROLLER_H
+
+//Controller
+#include <string>
+#include "mbed.h"
+#include "MotiVAPI.h"
+#include "Device.h"
+#include "Flower.h"
+#include "Table.h"
+#include <stdlib.h>
+#include <vector>
+
+class Controller {
+public:
+    enum cStatus {
+        READY,
+        WAITING,
+        BUSY,
+        ERROR,
+        INIT
+    };
+    Controller(TextLCD *lcd);
+    cStatus getStatus();
+    string statusString();
+    void setStatus(cStatus);
+    void displayStatus();
+    
+    void lcdWriteLine(int row, string str);
+    void printDesc(int c);
+    
+    //DEMO PURPOSES
+    void nextCommand(); 
+    void prevCommand();
+    void sendCommandDem();
+    
+    
+    //DEBUG
+    void printCommandList();
+    
+    /**
+        sendCommand() gets the first command from the command list and sends the command to the devices.
+    */
+    void sendCommand();
+    
+    TextLCD *lcd;
+//    MotiVAPI *mapi;
+    
+private:
+    cStatus status;
+    
+
+//    std::vector<Device*> devices;
+//    vector <Table>tables
+    vector <MCommand> commandList;
+};
+
+#endif
\ No newline at end of file