Serial Passthrough program with Ring Buffer.

Dependencies:   RingBuffer mbed

Fork of SerialPassthrough by Sarah Marsh

Committer:
nameless129
Date:
Sat Jun 03 19:24:45 2017 +0000
Revision:
7:44d819c8b2c8
Parent:
6:2a3a62ee17fa
add ringbuffer

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbedAustin 0:59bec1fd956e 1 #include "mbed.h"
nameless129 7:44d819c8b2c8 2 #include "RingBuffer.h"
mbedAustin 2:a8dcb07a1d00 3
sam_grove 5:96cb82af9996 4 RawSerial pc(USBTX, USBRX);
sam_grove 5:96cb82af9996 5 RawSerial dev(D1, D0);
nameless129 7:44d819c8b2c8 6
nameless129 7:44d819c8b2c8 7 RingBuffer pc2devBuffer(1024);
nameless129 7:44d819c8b2c8 8 RingBuffer dev2pcBuffer(1024);
mbedAustin 2:a8dcb07a1d00 9
sam_grove 5:96cb82af9996 10 void dev_recv()
mbedAustin 2:a8dcb07a1d00 11 {
nameless129 7:44d819c8b2c8 12 dev2pcBuffer.put(dev.getc());
sam_grove 5:96cb82af9996 13 }
sam_grove 5:96cb82af9996 14
sam_grove 5:96cb82af9996 15 void pc_recv()
sam_grove 5:96cb82af9996 16 {
nameless129 7:44d819c8b2c8 17 pc2devBuffer.put(pc.getc());
mbedAustin 0:59bec1fd956e 18 }
mbedAustin 4:ba9100d52e48 19
mbedAustin 4:ba9100d52e48 20 int main()
mbedAustin 4:ba9100d52e48 21 {
nameless129 7:44d819c8b2c8 22 char tmp;
nameless129 7:44d819c8b2c8 23 int ret;
sarahmarshy 6:2a3a62ee17fa 24 pc.baud(115200);
sarahmarshy 6:2a3a62ee17fa 25 dev.baud(115200);
mbedAustin 4:ba9100d52e48 26
sam_grove 5:96cb82af9996 27 pc.attach(&pc_recv, Serial::RxIrq);
sam_grove 5:96cb82af9996 28 dev.attach(&dev_recv, Serial::RxIrq);
sam_grove 5:96cb82af9996 29
nameless129 7:44d819c8b2c8 30 while(1)
nameless129 7:44d819c8b2c8 31 {
nameless129 7:44d819c8b2c8 32 ret = dev2pcBuffer.get(&tmp);
nameless129 7:44d819c8b2c8 33 if( ret == 0 )
nameless129 7:44d819c8b2c8 34 {
nameless129 7:44d819c8b2c8 35 pc.putc(tmp);
nameless129 7:44d819c8b2c8 36 }
nameless129 7:44d819c8b2c8 37
nameless129 7:44d819c8b2c8 38 ret = pc2devBuffer.get(&tmp);
nameless129 7:44d819c8b2c8 39 if( ret == 0 )
nameless129 7:44d819c8b2c8 40 {
nameless129 7:44d819c8b2c8 41 dev.putc(tmp);
nameless129 7:44d819c8b2c8 42 }
mbedAustin 4:ba9100d52e48 43 }
mbedAustin 4:ba9100d52e48 44 }