Serial Passthrough program with Ring Buffer.
Fork of SerialPassthrough by
main.cpp@7:44d819c8b2c8, 2017-06-03 (annotated)
- 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?
User | Revision | Line number | New 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 | } |