
ControllerBox directs electromechanical equipment in restaurants to display information.
Dependencies: TextLCD MbedJSONValue libMotiv picojson mbed-rtos mbed
Fork of Mbed_MotiVControllerBox by
Diff: libMotiv/Controller.h
- 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