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:
1:d54aed10ddf3
Parent:
0:2279181caaa1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/library/Controller.h	Sat Nov 15 13:04:09 2014 +0000
@@ -0,0 +1,54 @@
+#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();
+    
+    /**
+        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;
+    
+    Flower* flower;
+//    std::vector<Device*> devices;
+//    vector <Table>tables
+    vector <Device::mCommand>commandList;
+};
+
+#endif
\ No newline at end of file