A library for talking to Multi-Tech's Cellular SocketModem Devices.
Dependents: M2X_dev axeda_wrapper_dev MTS_M2x_Example1 MTS_Cellular_Connect_Example ... more
io/MTSBufferedIO.h@0:563b70517320, 2013-12-09 (annotated)
- Committer:
- jengbrecht
- Date:
- Mon Dec 09 15:29:35 2013 +0000
- Revision:
- 0:563b70517320
- Child:
- 17:2d7c4ea7491b
Initial Commit Library!
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jengbrecht | 0:563b70517320 | 1 | #ifndef MTSBUFFEREDIO_H |
jengbrecht | 0:563b70517320 | 2 | #define MTSBUFFEREDIO_H |
jengbrecht | 0:563b70517320 | 3 | |
jengbrecht | 0:563b70517320 | 4 | #include "mbed.h" |
jengbrecht | 0:563b70517320 | 5 | #include "MTSCircularBuffer.h" |
jengbrecht | 0:563b70517320 | 6 | |
jengbrecht | 0:563b70517320 | 7 | class MTSBufferedIO |
jengbrecht | 0:563b70517320 | 8 | { |
jengbrecht | 0:563b70517320 | 9 | public: |
jengbrecht | 0:563b70517320 | 10 | MTSBufferedIO(int txBufferSize = 128, int rxBufferSize = 128); |
jengbrecht | 0:563b70517320 | 11 | ~MTSBufferedIO(); |
jengbrecht | 0:563b70517320 | 12 | |
jengbrecht | 0:563b70517320 | 13 | int write(char* data, int length); |
jengbrecht | 0:563b70517320 | 14 | int write(char data); |
jengbrecht | 0:563b70517320 | 15 | int read(char* data, int length); |
jengbrecht | 0:563b70517320 | 16 | int read(); |
jengbrecht | 0:563b70517320 | 17 | |
jengbrecht | 0:563b70517320 | 18 | template<typename T> |
jengbrecht | 0:563b70517320 | 19 | void attach(T *tptr, void(T::*mptr)(void), int threshold, Vars::RelationalOperator op, Serial::IrqType type); |
jengbrecht | 0:563b70517320 | 20 | |
jengbrecht | 0:563b70517320 | 21 | void attach(void(*fptr)(void), int threshold, Vars::RelationalOperator op, Serial::IrqType type); |
jengbrecht | 0:563b70517320 | 22 | |
jengbrecht | 0:563b70517320 | 23 | bool txEmpty(); |
jengbrecht | 0:563b70517320 | 24 | bool rxEmpty(); |
jengbrecht | 0:563b70517320 | 25 | bool txFull(); |
jengbrecht | 0:563b70517320 | 26 | bool rxFull(); |
jengbrecht | 0:563b70517320 | 27 | void txClear(); |
jengbrecht | 0:563b70517320 | 28 | void rxClear(); |
jengbrecht | 0:563b70517320 | 29 | int txAvailable(); |
jengbrecht | 0:563b70517320 | 30 | int rxAvailable(); |
jengbrecht | 0:563b70517320 | 31 | int txCapacity(); |
jengbrecht | 0:563b70517320 | 32 | int rxCapacity(); |
jengbrecht | 0:563b70517320 | 33 | |
jengbrecht | 0:563b70517320 | 34 | virtual void handleWrite() = 0; |
jengbrecht | 0:563b70517320 | 35 | virtual void handleRead() = 0; |
jengbrecht | 0:563b70517320 | 36 | |
jengbrecht | 0:563b70517320 | 37 | protected: |
jengbrecht | 0:563b70517320 | 38 | MTSCircularBuffer* txBuffer; |
jengbrecht | 0:563b70517320 | 39 | MTSCircularBuffer* rxBuffer; |
jengbrecht | 0:563b70517320 | 40 | }; |
jengbrecht | 0:563b70517320 | 41 | |
jengbrecht | 0:563b70517320 | 42 | #endif /* MTSBUFFEREDIO_H */ |