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

Committer:
TimWoo
Date:
Sat Oct 25 00:11:12 2014 +0000
Revision:
0:2279181caaa1
Initial Version,; Bare classes made for the main application and the devices that will be controlled.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
TimWoo 0:2279181caaa1 1 #include <string>
TimWoo 0:2279181caaa1 2 #include "TextLCD.h"
TimWoo 0:2279181caaa1 3 #include "Controller.h"
TimWoo 0:2279181caaa1 4
TimWoo 0:2279181caaa1 5 Controller::Controller(TextLCD *lcd):
TimWoo 0:2279181caaa1 6 _status(WAITING)
TimWoo 0:2279181caaa1 7 {
TimWoo 0:2279181caaa1 8 _lcd = lcd;
TimWoo 0:2279181caaa1 9 //setStatus(WAITING);
TimWoo 0:2279181caaa1 10 displayStatus();
TimWoo 0:2279181caaa1 11 }
TimWoo 0:2279181caaa1 12
TimWoo 0:2279181caaa1 13 Controller::cStatus Controller::getStatus()
TimWoo 0:2279181caaa1 14 {
TimWoo 0:2279181caaa1 15 return _status;
TimWoo 0:2279181caaa1 16 }
TimWoo 0:2279181caaa1 17
TimWoo 0:2279181caaa1 18 string Controller::statusString()
TimWoo 0:2279181caaa1 19 {
TimWoo 0:2279181caaa1 20 switch(_status) {
TimWoo 0:2279181caaa1 21 case READY:
TimWoo 0:2279181caaa1 22 return "ready";
TimWoo 0:2279181caaa1 23
TimWoo 0:2279181caaa1 24 case WAITING:
TimWoo 0:2279181caaa1 25 return "waiting";
TimWoo 0:2279181caaa1 26
TimWoo 0:2279181caaa1 27 case BUSY:
TimWoo 0:2279181caaa1 28 return "busy";
TimWoo 0:2279181caaa1 29
TimWoo 0:2279181caaa1 30 case ERROR:
TimWoo 0:2279181caaa1 31 return "error";
TimWoo 0:2279181caaa1 32
TimWoo 0:2279181caaa1 33 default:
TimWoo 0:2279181caaa1 34 return "unknown";
TimWoo 0:2279181caaa1 35 }
TimWoo 0:2279181caaa1 36 }
TimWoo 0:2279181caaa1 37
TimWoo 0:2279181caaa1 38 void Controller::setStatus(cStatus status)
TimWoo 0:2279181caaa1 39 {
TimWoo 0:2279181caaa1 40 _status = status;
TimWoo 0:2279181caaa1 41 displayStatus();
TimWoo 0:2279181caaa1 42 }
TimWoo 0:2279181caaa1 43
TimWoo 0:2279181caaa1 44 void Controller::displayStatus()
TimWoo 0:2279181caaa1 45 {
TimWoo 0:2279181caaa1 46 _lcd->locate(0,0);
TimWoo 0:2279181caaa1 47 _lcd->clearLine();
TimWoo 0:2279181caaa1 48 _lcd->locate(0,0);
TimWoo 0:2279181caaa1 49 _lcd->printf("Status: %s", statusString());
TimWoo 0:2279181caaa1 50 }
TimWoo 0:2279181caaa1 51
TimWoo 0:2279181caaa1 52 void Controller::displWriteLine(int row, char c)
TimWoo 0:2279181caaa1 53 {
TimWoo 0:2279181caaa1 54 _lcd->locate(0,row);
TimWoo 0:2279181caaa1 55 _lcd->printf("%c", c);
TimWoo 0:2279181caaa1 56 }