This program is designed to act as a serial terminal for interfacing with serial peripherals, such as the ESP8266, that support AT Commands.

Dependencies:   mbed

Fork of SerialPassthrough by Austin Blackstone

Revision:
5:d94d237eea49
Parent:
4:ba9100d52e48
Child:
6:49fb0cbb3314
--- a/main.cpp	Mon Apr 27 21:32:55 2015 +0000
+++ b/main.cpp	Tue Apr 28 03:18:52 2015 +0000
@@ -1,37 +1,25 @@
 #include "mbed.h"
 
-// Program to use the  mbed as a serial bridge
-//
-RawSerial pc(USBTX, USBRX); // tx, rx
-RawSerial dev(D1, D0); // tx, rx
+RawSerial pc(USBTX, USBRX);    // computer to mbed board
+RawSerial esp(D1, D0);         // mbed board to target board
 
-void send()
+int
+main()
 {
-    while (pc.readable()) {
-        dev.putc(pc.getc());
+    pc.baud(115200);
+    esp.baud(9600);
+    wait(0.1);
+    pc.printf("\r\n########### ready ###########\r\n");
+    esp.printf("AT+RST\r\n");
+    while(1) {
+        if(pc.readable()) {
+            char c = pc.getc();
+            //pc.putc(c); // echo character back to computer for sanity
+            esp.putc(c);
+        }
+        if(esp.readable()) {
+            char c = esp.getc();
+            pc.putc(c);
+        }
     }
 }
-
-void recv()
-{
-    pc.putc(dev.getc());
-}
-
-int main()
-{
-    char c;
-
-    // PC serial
-    pc.baud(9600);
-    pc.attach(send, Serial::RxIrq);
-
-    // Device serial
-    dev.baud(9600);
-
-    wait(0.1);
-    dev.printf("AT+RST\r\n"); // Reset esp device
-    while(1) {
-        c = dev.getc();
-        pc.putc(c);
-    }
-}