ControllerBox directs electromechanical equipment in restaurants to display information.
Dependencies: EthernetInterface HTTPClient_KVplus MbedJSONValue SDFileSystem TextLCD mbed-rtos mbed picojson
main.cpp
- Committer:
- TimWoo
- Date:
- 2014-10-25
- Revision:
- 0:2279181caaa1
- Child:
- 1:d54aed10ddf3
File content as of revision 0:2279181caaa1:
#include "mbed.h" //the library "TextLCD.h" was slightly altered to work with the GDM2004D LCD #include "TextLCD/TextLCD.h" #include "Controller.h" #include "MODSERIAL.h" #include <string> //the object "lcd" is initialized to act as a TextLCD with 20x4 characters TextLCD lcd(p26, p25, p24, p23, p22, p20, p19, TextLCD::LCD20x4); //inputs DigitalIn Up(p8); DigitalIn Down(p14); //outputs DigitalOut led(p6); //Comms Serial pc(USBTX, USBRX); //tx, rx MODSERIAL rfd(p9, p10); //tx, rx // string displayLines[26] = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"}; //Main functionality in here Controller c(&lcd); void setup(); //Called once to setup void runProgram(); //Program with loop int main() { setup(); //the LCD is cleared using function .cls() lcd.cls(); //a "\n" in a text string causes a line feed lcd.printf("HELLO WORLDZ\n"); //if the end of a line is reached, the text is written to the next line automatically //lcd.printf("Testbed for mbed\nLCD example software with altered library"); pc.printf("Entering loop\r\n"); //the endless loop keeps mbed in low power mode runProgram(); } void setup() { pc.printf("Setup Controller Box\r\n"); rfd.baud(9600); } void runProgram() { c._lcd->cls(); c._lcd->locate(0,0); c.displayStatus(); if(!rfd.writeable()) { c._lcd->locate(0,1); c._lcd->clearLine(); c._lcd->printf("rfd not writeable"); } else { c._lcd->locate(0,1); c._lcd->clearLine(); c._lcd->printf("rfd writeable"); if(!rfd.txBufferSane()) { c._lcd->locate(0,3); c._lcd->printf("buffer not sane"); } } char received = 'a'; while(1) { // rfd.printf("aaiPoesjes"); //TEST broadcast text received = rfd.txGetLastChar(); c.displWriteLine(3, 'a'); pc.printf("%c", received); received = 'b'; if(!Up) { c.setStatus(c.BUSY); wait(1); rfd.printf("%s","161;"); wait_ms(100); rfd.printf("%s","308;"); } else { c.setStatus(c.READY); } wait_ms(1000); //__WFI(); } }