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:
4:ba9100d52e48
Parent:
3:0393f97fd8cf
Child:
5:d94d237eea49
--- a/main.cpp	Mon Apr 27 21:23:36 2015 +0000
+++ b/main.cpp	Mon Apr 27 21:32:55 2015 +0000
@@ -1,37 +1,37 @@
 #include "mbed.h"
 
-RawSerial pc(USBTX, USBRX);    // computer to mbed board
-RawSerial esp(D1, D0);         // mbed board to target board
+// Program to use the  mbed as a serial bridge
+//
+RawSerial pc(USBTX, USBRX); // tx, rx
+RawSerial dev(D1, D0); // tx, rx
 
-int
-main()
+void send()
 {
-    pc.baud(115200);
-    esp.baud(115200);
-    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
-            //if(c == '\r'){
-//                esp.printf("\r\n");
-//            }
-//            else{
-            esp.putc(c);
-//            }
-        }
-        if(esp.readable()) {
-            char c = esp.getc();
-            //if(c == '\n'){
-//                pc.printf("\\n");
-//                }
-//            if(c == '\r'){
-//                pc.printf("\\r");
-//            }
-
-            pc.putc(c);
-        }
+    while (pc.readable()) {
+        dev.putc(pc.getc());
     }
 }
+
+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);
+    }
+}