Multi-Hackers / SocketModem

Dependents:   M2X_dev axeda_wrapper_dev MTS_M2x_Example1 MTS_Cellular_Connect_Example ... more

Committer:
sgodinez
Date:
Thu Dec 19 21:27:25 2013 +0000
Revision:
43:3cacf019ed7d
Parent:
40:14342c4de476
Parent:
41:81d035fb0b6a
Child:
67:1003b410f781
fixed merge conflict: setDns

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jengbrecht 0:563b70517320 1 #ifndef MTSBUFFEREDIO_CPP
jengbrecht 0:563b70517320 2 #define MTSBUFFEREDIO_CPP
jengbrecht 0:563b70517320 3
jengbrecht 0:563b70517320 4 #include "MTSBufferedIO.h"
jengbrecht 0:563b70517320 5
mfiore 39:6e94520a3217 6 using namespace mts;
mfiore 39:6e94520a3217 7
jengbrecht 0:563b70517320 8 MTSBufferedIO::MTSBufferedIO(int txBufferSize, int rxBufferSize)
jengbrecht 0:563b70517320 9 {
jengbrecht 0:563b70517320 10 txBuffer = new MTSCircularBuffer(txBufferSize);
jengbrecht 0:563b70517320 11 rxBuffer = new MTSCircularBuffer(rxBufferSize);
jengbrecht 0:563b70517320 12 }
jengbrecht 0:563b70517320 13
jengbrecht 0:563b70517320 14 MTSBufferedIO::~MTSBufferedIO()
jengbrecht 0:563b70517320 15 {
jengbrecht 0:563b70517320 16 delete txBuffer;
jengbrecht 0:563b70517320 17 delete rxBuffer;
jengbrecht 0:563b70517320 18 }
jengbrecht 0:563b70517320 19
sgodinez 41:81d035fb0b6a 20 int MTSBufferedIO::write(const char* data, int length)
jengbrecht 0:563b70517320 21 {
jengbrecht 0:563b70517320 22 int tmp = txBuffer->write(data, length);
jengbrecht 0:563b70517320 23 handleWrite();
jengbrecht 0:563b70517320 24 return tmp;
jengbrecht 0:563b70517320 25 }
jengbrecht 0:563b70517320 26
jengbrecht 0:563b70517320 27 int MTSBufferedIO::write(char data)
jengbrecht 0:563b70517320 28 {
jengbrecht 0:563b70517320 29 int tmp = txBuffer->write(data);
jengbrecht 0:563b70517320 30 handleWrite();
jengbrecht 0:563b70517320 31 return tmp;
jengbrecht 0:563b70517320 32 }
jengbrecht 0:563b70517320 33
sgodinez 17:2d7c4ea7491b 34 int MTSBufferedIO::writeable() {
sgodinez 17:2d7c4ea7491b 35 return txBuffer->capacity();
sgodinez 17:2d7c4ea7491b 36 }
sgodinez 17:2d7c4ea7491b 37
jengbrecht 0:563b70517320 38 int MTSBufferedIO::read(char* data, int length)
jengbrecht 0:563b70517320 39 {
jengbrecht 0:563b70517320 40 return rxBuffer->read(data, length);
jengbrecht 0:563b70517320 41 }
jengbrecht 0:563b70517320 42
sgodinez 17:2d7c4ea7491b 43 int MTSBufferedIO::read(char& data)
jengbrecht 0:563b70517320 44 {
sgodinez 17:2d7c4ea7491b 45 return rxBuffer->read(data);
sgodinez 17:2d7c4ea7491b 46 }
sgodinez 17:2d7c4ea7491b 47
sgodinez 17:2d7c4ea7491b 48 int MTSBufferedIO::readable() {
sgodinez 17:2d7c4ea7491b 49 return rxBuffer->available();
jengbrecht 0:563b70517320 50 }
jengbrecht 0:563b70517320 51
jengbrecht 0:563b70517320 52 bool MTSBufferedIO::txEmpty()
jengbrecht 0:563b70517320 53 {
jengbrecht 0:563b70517320 54 return txBuffer->isEmpty();
jengbrecht 0:563b70517320 55 }
jengbrecht 0:563b70517320 56
jengbrecht 0:563b70517320 57 bool MTSBufferedIO::rxEmpty()
jengbrecht 0:563b70517320 58 {
jengbrecht 0:563b70517320 59 return rxBuffer->isEmpty();
jengbrecht 0:563b70517320 60 }
jengbrecht 0:563b70517320 61
jengbrecht 0:563b70517320 62 bool MTSBufferedIO::txFull()
jengbrecht 0:563b70517320 63 {
jengbrecht 0:563b70517320 64 return txBuffer->isFull();
jengbrecht 0:563b70517320 65 }
jengbrecht 0:563b70517320 66
jengbrecht 0:563b70517320 67 bool MTSBufferedIO::rxFull()
jengbrecht 0:563b70517320 68 {
jengbrecht 0:563b70517320 69 return rxBuffer->isFull();
jengbrecht 0:563b70517320 70 }
jengbrecht 0:563b70517320 71
jengbrecht 0:563b70517320 72 void MTSBufferedIO::txClear()
jengbrecht 0:563b70517320 73 {
jengbrecht 0:563b70517320 74 txBuffer->clear();
jengbrecht 0:563b70517320 75 }
jengbrecht 0:563b70517320 76
jengbrecht 0:563b70517320 77 void MTSBufferedIO::rxClear()
jengbrecht 0:563b70517320 78 {
jengbrecht 0:563b70517320 79 rxBuffer->clear();
jengbrecht 0:563b70517320 80 }
jengbrecht 0:563b70517320 81
jengbrecht 0:563b70517320 82 #endif /* MTSBUFFEREDSERIAL_CPP */