Mbed Code for ECE4180Project
Dependencies: 4DGL-uLCD-SE RPCInterface mbed
Fork of rpc_mbed by
main.cpp@2:cf74d941dba8, 2018-05-02 (annotated)
- 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?
User | Revision | Line number | New 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 | } |