
ControllerBox directs electromechanical equipment in restaurants to display information.
Dependencies: TextLCD MbedJSONValue libMotiv picojson mbed-rtos mbed
Fork of Mbed_MotiVControllerBox by
Controller.cpp@0:2279181caaa1, 2014-10-25 (annotated)
- 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?
User | Revision | Line number | New 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 | } |