WIFI
Dependencies: mbed
Fork of SerialPassthroughcjsESP8266 by
Diff: main.cpp
- Revision:
- 7:d78ed22a787d
- Parent:
- 6:dc4c165f6b53
- Child:
- 8:34cc66421054
--- a/main.cpp Tue Jun 07 16:19:17 2016 +0000 +++ b/main.cpp Tue Jun 07 19:37:59 2016 +0000 @@ -1,11 +1,18 @@ +/* Simpler prog based on the serial passthrough code to enable a command line driven test of esp8266 +* wifi modules. +* NB this uses the mbed sleep() command to form a low power system but on some MCUs this is a problem +* this works fine on an lpc1768 but not as yet on the KL25Z +*/ #include "mbed.h" -RawSerial pc(USBTX, USBRX); -RawSerial dev(p28,p27); -DigitalOut led1(LED1); -DigitalOut led4(LED4); +RawSerial pc(USBTX, USBRX); // serial terminal for the pc connection +RawSerial dev(p28,p27); // serial uart for connecting to the esp8266 tx,rx NB mbed tx must connect ot esp rx and vice versa +DigitalOut led1(LED1); // twp leds +DigitalOut led4(LED4); // to allow visual check of bidirectional comms DigitalOut rst(p26); +// subroutine to run anytime a serial interrupt arrives from the device +// this basically passes everything thatthe device produces on to the pc terminal screen void dev_recv() { led1 = !led1; @@ -13,7 +20,10 @@ pc.putc(dev.getc()); } } - +// subroutine to service the serial interrupt on the pc connection +// this is a bit more complex - it takes what the use sends on the pc and copies it on to the device +// the esp should echo these straight back to the the pc if all is well +// this also detects the end of command character which is ascii 13 (0x0d) adn adds a linefeed after it =asscii 10 (0x0a) void pc_recv() { char c; @@ -22,7 +32,7 @@ c=pc.getc(); dev.putc(c); //pc.putc(c); // echo back - if(c==13) {dev.putc(10); + if(c==13) {dev.putc(10); // send the linefeed to complement the carriage return generated by return key on the pc pc.putc(10); } }