Mbed Code for ECE4180Project

Dependencies:   4DGL-uLCD-SE RPCInterface mbed

Fork of rpc_mbed by Nydrel Jack

Committer:
Nydrel
Date:
Wed May 02 04:40:02 2018 +0000
Revision:
2:cf74d941dba8
Parent:
1:6e3272a3d9d0
Comments added

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Nydrel 0:3c342a2555ef 1 #include "mbed.h"
Nydrel 0:3c342a2555ef 2 #include "mbed_rpc.h"
Nydrel 0:3c342a2555ef 3 #include "uLCD_4DGL.h"
Nydrel 0:3c342a2555ef 4 #include <ctype.h>
bjs9 1:6e3272a3d9d0 5 #include "RGB_LED.h"
Nydrel 0:3c342a2555ef 6
Nydrel 0:3c342a2555ef 7 //Use the RPC enabled wrapped class - see RpcClasses.h for more info
Nydrel 0:3c342a2555ef 8 Serial pc(USBTX, USBRX);
Nydrel 0:3c342a2555ef 9 PinName tx, rx, rst;
bjs9 1:6e3272a3d9d0 10 RGBLed myRGBled(p22,p23,p24);
Nydrel 0:3c342a2555ef 11 uLCD_4DGL uLCD(p28, p27, p29);
Nydrel 0:3c342a2555ef 12 char text;
Nydrel 0:3c342a2555ef 13 //string screen;
Nydrel 0:3c342a2555ef 14
Nydrel 0:3c342a2555ef 15 void clearLCD(Arguments *in, Reply *out);
Nydrel 0:3c342a2555ef 16 RPCFunction rpcClear(&clearLCD, "clearLCD");
Nydrel 0:3c342a2555ef 17
bjs9 1:6e3272a3d9d0 18 void printLCDAndLightRGB(Arguments *in, Reply *out);
bjs9 1:6e3272a3d9d0 19 RPCFunction rpcPrintLCDAndLightRGB(&printLCDAndLightRGB, "printLCDAndLightRGB");
Nydrel 0:3c342a2555ef 20
Nydrel 0:3c342a2555ef 21 int main() {
Nydrel 0:3c342a2555ef 22
Nydrel 0:3c342a2555ef 23 char buf[256], outbuf[256];
Nydrel 0:3c342a2555ef 24 while(1) {
Nydrel 0:3c342a2555ef 25 pc.gets(buf, 256);
Nydrel 0:3c342a2555ef 26 //Call the static call method on the RPC class
Nydrel 0:3c342a2555ef 27 RPC::call(buf, outbuf);
Nydrel 0:3c342a2555ef 28 pc.printf("%s\n", outbuf);
Nydrel 0:3c342a2555ef 29 }
Nydrel 0:3c342a2555ef 30 }
Nydrel 0:3c342a2555ef 31
Nydrel 0:3c342a2555ef 32 void clearLCD(Arguments *in, Reply *out)
Nydrel 0:3c342a2555ef 33 {
Nydrel 0:3c342a2555ef 34 uLCD.cls();
Nydrel 0:3c342a2555ef 35 }
Nydrel 0:3c342a2555ef 36
bjs9 1:6e3272a3d9d0 37 void printLCDAndLightRGB(Arguments *in, Reply *out)
Nydrel 0:3c342a2555ef 38 {
bjs9 1:6e3272a3d9d0 39 uLCD.cls();
Nydrel 0:3c342a2555ef 40 char * text = in->getArg<char *>();
bjs9 1:6e3272a3d9d0 41 int value = strlen(text);
bjs9 1:6e3272a3d9d0 42 if(text[0] == '1'){
bjs9 1:6e3272a3d9d0 43 myRGBled.write(0,1.0f,0);
bjs9 1:6e3272a3d9d0 44 uLCD.printf("Tweet is found!\n");
bjs9 1:6e3272a3d9d0 45 uLCD.printf("\n");
bjs9 1:6e3272a3d9d0 46 } else if(text[0] == '0'){
bjs9 1:6e3272a3d9d0 47 myRGBled.write(0,0,1.0f);
bjs9 1:6e3272a3d9d0 48 }
bjs9 1:6e3272a3d9d0 49 text[0] = '-';
bjs9 1:6e3272a3d9d0 50 for(int i = 0; i< value; i++) {
bjs9 1:6e3272a3d9d0 51 if(text[i] == '|') {
bjs9 1:6e3272a3d9d0 52 text[i] = ' ';
bjs9 1:6e3272a3d9d0 53 }
bjs9 1:6e3272a3d9d0 54 }
bjs9 1:6e3272a3d9d0 55 uLCD.printf(text);
Nydrel 0:3c342a2555ef 56 }