Dependencies: ChaNFSSD mbed BMP085 SHT2x
libT/mbed/tserialbuffer.h@9:9ca3db7ed7cb, 2012-02-27 (annotated)
- Committer:
- tosihisa
- Date:
- Mon Feb 27 16:20:15 2012 +0000
- Revision:
- 9:9ca3db7ed7cb
- Parent:
- 4:879b8dcfee15
V0.89.2. GPS recv data is OK.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tosihisa | 4:879b8dcfee15 | 1 | /* |
tosihisa | 4:879b8dcfee15 | 2 | * Copyright (c) 2011 Toshihisa T |
tosihisa | 4:879b8dcfee15 | 3 | * Released under the MIT License: http://mbed.org/license/mit |
tosihisa | 4:879b8dcfee15 | 4 | */ |
tosihisa | 4:879b8dcfee15 | 5 | |
tosihisa | 4:879b8dcfee15 | 6 | #ifndef __TSERIALBUFFER_H |
tosihisa | 4:879b8dcfee15 | 7 | #define __TSERIALBUFFER_H |
tosihisa | 4:879b8dcfee15 | 8 | |
tosihisa | 4:879b8dcfee15 | 9 | #include "mbed.h" |
tosihisa | 9:9ca3db7ed7cb | 10 | #include "tringbuffer.h" |
tosihisa | 9:9ca3db7ed7cb | 11 | #include "tversion.h" |
tosihisa | 4:879b8dcfee15 | 12 | |
tosihisa | 4:879b8dcfee15 | 13 | namespace libT { |
tosihisa | 4:879b8dcfee15 | 14 | |
tosihisa | 4:879b8dcfee15 | 15 | class tSerialBuffer : public tRingBuffer<unsigned char> , public Serial , public tVersion { |
tosihisa | 4:879b8dcfee15 | 16 | |
tosihisa | 4:879b8dcfee15 | 17 | public: |
tosihisa | 4:879b8dcfee15 | 18 | tSerialBuffer(PinName _tx, PinName _rx) : Serial(_tx,_rx) , tVersion(0x20100720/* 2010-07-20 */,0x00000001UL){} |
tosihisa | 4:879b8dcfee15 | 19 | |
tosihisa | 4:879b8dcfee15 | 20 | void recvStart(void){ |
tosihisa | 4:879b8dcfee15 | 21 | Serial::attach(this,&tSerialBuffer::recvHandler,Serial::RxIrq); |
tosihisa | 4:879b8dcfee15 | 22 | } |
tosihisa | 4:879b8dcfee15 | 23 | void recvStop(void){ |
tosihisa | 4:879b8dcfee15 | 24 | Serial::attach(0,Serial::RxIrq); |
tosihisa | 4:879b8dcfee15 | 25 | } |
tosihisa | 4:879b8dcfee15 | 26 | |
tosihisa | 4:879b8dcfee15 | 27 | int readable(void){ |
tosihisa | 4:879b8dcfee15 | 28 | return tRingBuffer::readable(); |
tosihisa | 4:879b8dcfee15 | 29 | } |
tosihisa | 4:879b8dcfee15 | 30 | |
tosihisa | 4:879b8dcfee15 | 31 | int getc(void){ |
tosihisa | 4:879b8dcfee15 | 32 | unsigned char _c; |
tosihisa | 4:879b8dcfee15 | 33 | int retval = -1; |
tosihisa | 4:879b8dcfee15 | 34 | if(tRingBuffer::readable()){ |
tosihisa | 4:879b8dcfee15 | 35 | (void)tRingBuffer::read(&_c); |
tosihisa | 4:879b8dcfee15 | 36 | retval = static_cast<int>(_c); |
tosihisa | 4:879b8dcfee15 | 37 | } |
tosihisa | 4:879b8dcfee15 | 38 | return retval; |
tosihisa | 4:879b8dcfee15 | 39 | } |
tosihisa | 4:879b8dcfee15 | 40 | |
tosihisa | 4:879b8dcfee15 | 41 | private: |
tosihisa | 4:879b8dcfee15 | 42 | void recvHandler(void){ |
tosihisa | 4:879b8dcfee15 | 43 | if(Serial::readable()){ |
tosihisa | 4:879b8dcfee15 | 44 | tRingBuffer::write(static_cast<unsigned char>(Serial::getc())); |
tosihisa | 4:879b8dcfee15 | 45 | } |
tosihisa | 4:879b8dcfee15 | 46 | } |
tosihisa | 4:879b8dcfee15 | 47 | |
tosihisa | 4:879b8dcfee15 | 48 | }; |
tosihisa | 4:879b8dcfee15 | 49 | |
tosihisa | 4:879b8dcfee15 | 50 | }; |
tosihisa | 4:879b8dcfee15 | 51 | |
tosihisa | 4:879b8dcfee15 | 52 | #endif /* __TSERIALBUFFER_H */ |
tosihisa | 4:879b8dcfee15 | 53 |