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
diff -r 2a3a62ee17fa -r 44d819c8b2c8 RingBuffer.lib
--- /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
diff -r 2a3a62ee17fa -r 44d819c8b2c8 main.cpp
--- 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);
+        }
     }
 }
diff -r 2a3a62ee17fa -r 44d819c8b2c8 mbed.bld
--- 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