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

Committer:
sgodinez
Date:
Thu Dec 19 21:16:30 2013 +0000
Revision:
41:81d035fb0b6a
Parent:
17:2d7c4ea7491b
Child:
43:3cacf019ed7d
Added echo client test

Who changed what in which revision?

UserRevisionLine numberNew 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
sgodinez 41:81d035fb0b6a 13 int write(const char* data, int length);
jengbrecht 0:563b70517320 14 int write(char data);
sgodinez 17:2d7c4ea7491b 15 int writeable();
jengbrecht 0:563b70517320 16 int read(char* data, int length);
sgodinez 17:2d7c4ea7491b 17 int read(char& data);
sgodinez 17:2d7c4ea7491b 18 int readable();
jengbrecht 0:563b70517320 19
jengbrecht 0:563b70517320 20 template<typename T>
jengbrecht 0:563b70517320 21 void attach(T *tptr, void(T::*mptr)(void), int threshold, Vars::RelationalOperator op, Serial::IrqType type);
jengbrecht 0:563b70517320 22
jengbrecht 0:563b70517320 23 void attach(void(*fptr)(void), int threshold, Vars::RelationalOperator op, Serial::IrqType type);
jengbrecht 0:563b70517320 24
jengbrecht 0:563b70517320 25 bool txEmpty();
jengbrecht 0:563b70517320 26 bool rxEmpty();
jengbrecht 0:563b70517320 27 bool txFull();
jengbrecht 0:563b70517320 28 bool rxFull();
jengbrecht 0:563b70517320 29 void txClear();
jengbrecht 0:563b70517320 30 void rxClear();
jengbrecht 0:563b70517320 31 int txAvailable();
jengbrecht 0:563b70517320 32 int rxAvailable();
jengbrecht 0:563b70517320 33 int txCapacity();
jengbrecht 0:563b70517320 34 int rxCapacity();
jengbrecht 0:563b70517320 35
jengbrecht 0:563b70517320 36 virtual void handleWrite() = 0;
jengbrecht 0:563b70517320 37 virtual void handleRead() = 0;
jengbrecht 0:563b70517320 38
jengbrecht 0:563b70517320 39 protected:
jengbrecht 0:563b70517320 40 MTSCircularBuffer* txBuffer;
jengbrecht 0:563b70517320 41 MTSCircularBuffer* rxBuffer;
jengbrecht 0:563b70517320 42 };
jengbrecht 0:563b70517320 43
jengbrecht 0:563b70517320 44 #endif /* MTSBUFFEREDIO_H */