Multi-Hackers / SocketModem

Dependents:   M2X_dev axeda_wrapper_dev MTS_M2x_Example1 MTS_Cellular_Connect_Example ... more

Committer:
mfiore
Date:
Wed Dec 11 20:07:02 2013 +0000
Revision:
2:8d3ea0dfce39
Parent:
0:563b70517320
Child:
17:2d7c4ea7491b
CircularBuffer template function definitions moved to header; implemented (but not tested) MTSSerialFlowControl

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
jengbrecht 0:563b70517320 6 MTSBufferedIO::MTSBufferedIO(int txBufferSize, int rxBufferSize)
jengbrecht 0:563b70517320 7 {
jengbrecht 0:563b70517320 8 txBuffer = new MTSCircularBuffer(txBufferSize);
jengbrecht 0:563b70517320 9 rxBuffer = new MTSCircularBuffer(rxBufferSize);
jengbrecht 0:563b70517320 10 }
jengbrecht 0:563b70517320 11
jengbrecht 0:563b70517320 12 MTSBufferedIO::~MTSBufferedIO()
jengbrecht 0:563b70517320 13 {
jengbrecht 0:563b70517320 14 delete txBuffer;
jengbrecht 0:563b70517320 15 delete rxBuffer;
jengbrecht 0:563b70517320 16 }
jengbrecht 0:563b70517320 17
jengbrecht 0:563b70517320 18 int MTSBufferedIO::write(char* data, int length)
jengbrecht 0:563b70517320 19 {
jengbrecht 0:563b70517320 20 int tmp = txBuffer->write(data, length);
jengbrecht 0:563b70517320 21 handleWrite();
jengbrecht 0:563b70517320 22 return tmp;
jengbrecht 0:563b70517320 23 }
jengbrecht 0:563b70517320 24
jengbrecht 0:563b70517320 25 int MTSBufferedIO::write(char data)
jengbrecht 0:563b70517320 26 {
jengbrecht 0:563b70517320 27 int tmp = txBuffer->write(data);
jengbrecht 0:563b70517320 28 handleWrite();
jengbrecht 0:563b70517320 29 return tmp;
jengbrecht 0:563b70517320 30 }
jengbrecht 0:563b70517320 31
jengbrecht 0:563b70517320 32 int MTSBufferedIO::read(char* data, int length)
jengbrecht 0:563b70517320 33 {
jengbrecht 0:563b70517320 34 return rxBuffer->read(data, length);
jengbrecht 0:563b70517320 35 }
jengbrecht 0:563b70517320 36
jengbrecht 0:563b70517320 37 int MTSBufferedIO::read()
jengbrecht 0:563b70517320 38 {
jengbrecht 0:563b70517320 39 return rxBuffer->read();
jengbrecht 0:563b70517320 40 }
jengbrecht 0:563b70517320 41
jengbrecht 0:563b70517320 42 bool MTSBufferedIO::txEmpty()
jengbrecht 0:563b70517320 43 {
jengbrecht 0:563b70517320 44 return txBuffer->isEmpty();
jengbrecht 0:563b70517320 45 }
jengbrecht 0:563b70517320 46
jengbrecht 0:563b70517320 47 bool MTSBufferedIO::rxEmpty()
jengbrecht 0:563b70517320 48 {
jengbrecht 0:563b70517320 49 return rxBuffer->isEmpty();
jengbrecht 0:563b70517320 50 }
jengbrecht 0:563b70517320 51
jengbrecht 0:563b70517320 52 bool MTSBufferedIO::txFull()
jengbrecht 0:563b70517320 53 {
jengbrecht 0:563b70517320 54 return txBuffer->isFull();
jengbrecht 0:563b70517320 55 }
jengbrecht 0:563b70517320 56
jengbrecht 0:563b70517320 57 bool MTSBufferedIO::rxFull()
jengbrecht 0:563b70517320 58 {
jengbrecht 0:563b70517320 59 return rxBuffer->isFull();
jengbrecht 0:563b70517320 60 }
jengbrecht 0:563b70517320 61
jengbrecht 0:563b70517320 62 void MTSBufferedIO::txClear()
jengbrecht 0:563b70517320 63 {
jengbrecht 0:563b70517320 64 txBuffer->clear();
jengbrecht 0:563b70517320 65 }
jengbrecht 0:563b70517320 66
jengbrecht 0:563b70517320 67 void MTSBufferedIO::rxClear()
jengbrecht 0:563b70517320 68 {
jengbrecht 0:563b70517320 69 rxBuffer->clear();
jengbrecht 0:563b70517320 70 }
jengbrecht 0:563b70517320 71
jengbrecht 0:563b70517320 72 int MTSBufferedIO::txAvailable()
jengbrecht 0:563b70517320 73 {
jengbrecht 0:563b70517320 74 return txBuffer->available();
jengbrecht 0:563b70517320 75 }
jengbrecht 0:563b70517320 76
jengbrecht 0:563b70517320 77 int MTSBufferedIO::rxAvailable()
jengbrecht 0:563b70517320 78 {
jengbrecht 0:563b70517320 79 return rxBuffer->available();
jengbrecht 0:563b70517320 80 }
jengbrecht 0:563b70517320 81
jengbrecht 0:563b70517320 82 int MTSBufferedIO::txCapacity()
jengbrecht 0:563b70517320 83 {
jengbrecht 0:563b70517320 84 return txBuffer->capacity();
jengbrecht 0:563b70517320 85 }
jengbrecht 0:563b70517320 86
jengbrecht 0:563b70517320 87 int MTSBufferedIO::rxCapacity()
jengbrecht 0:563b70517320 88 {
jengbrecht 0:563b70517320 89 return rxBuffer->capacity();
jengbrecht 0:563b70517320 90 }
jengbrecht 0:563b70517320 91
jengbrecht 0:563b70517320 92 #endif /* MTSBUFFEREDSERIAL_CPP */