Serial Passthrough program with Ring Buffer.

Dependencies:   RingBuffer mbed

Fork of SerialPassthrough by Sarah Marsh

Files at this revision

API Documentation at this revision

Comitter:
nameless129
Date:
Sat Jun 03 19:24:45 2017 +0000
Parent:
6:2a3a62ee17fa
Commit message:
add ringbuffer

Changed in this revision

RingBuffer.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/RingBuffer.lib	Sat Jun 03 19:24:45 2017 +0000
@@ -0,0 +1,1 @@
+http://developer.mbed.org/users/okini3939/code/RingBuffer/#ea0c0a46dbdd
--- a/main.cpp	Tue Apr 11 20:16:53 2017 +0000
+++ b/main.cpp	Sat Jun 03 19:24:45 2017 +0000
@@ -1,35 +1,44 @@
 #include "mbed.h"
+#include "RingBuffer.h"
 
 RawSerial  pc(USBTX, USBRX);
 RawSerial  dev(D1, D0);
-DigitalOut led1(LED1);
-DigitalOut led4(LED4);
+
+RingBuffer pc2devBuffer(1024);
+RingBuffer dev2pcBuffer(1024);
 
 void dev_recv()
 {
-    led1 = !led1;
-    while(dev.readable()) {
-        pc.putc(dev.getc());
-    }
+    dev2pcBuffer.put(dev.getc());
 }
 
 void pc_recv()
 {
-    led4 = !led4;
-    while(pc.readable()) {
-        dev.putc(pc.getc());
-    }
+    pc2devBuffer.put(pc.getc());
 }
 
 int main()
 {
+    char tmp;
+    int ret;
     pc.baud(115200);
     dev.baud(115200);
 
     pc.attach(&pc_recv, Serial::RxIrq);
     dev.attach(&dev_recv, Serial::RxIrq);
 
-    while(1) {
-        sleep();
+    while(1)
+    {
+        ret = dev2pcBuffer.get(&tmp);
+        if( ret == 0 )
+        {
+            pc.putc(tmp);
+        }
+        
+        ret = pc2devBuffer.get(&tmp);
+        if( ret == 0 )
+        {
+            dev.putc(tmp);
+        }
     }
 }
--- a/mbed.bld	Tue Apr 11 20:16:53 2017 +0000
+++ b/mbed.bld	Sat Jun 03 19:24:45 2017 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/mbed_official/code/mbed/builds/433970e64889
\ No newline at end of file
+https://mbed.org/users/mbed_official/code/mbed/builds/86740a56073b
\ No newline at end of file