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:
mfiore
Date:
Thu Dec 19 19:49:58 2013 +0000
Revision:
39:6e94520a3217
Parent:
17:2d7c4ea7491b
Child:
40:14342c4de476
add mts namespace to files in cellular/, io/, and utils/ directories; prepend CELL_ to some enums in cellular.h to avoid conflict with HTTPClient class; added AxedaWrapper class for sending data to Axeda backend

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
jengbrecht 0:563b70517320 20 int MTSBufferedIO::write(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 int MTSBufferedIO::txAvailable()
jengbrecht 0:563b70517320 83 {
jengbrecht 0:563b70517320 84 return txBuffer->available();
jengbrecht 0:563b70517320 85 }
jengbrecht 0:563b70517320 86
jengbrecht 0:563b70517320 87 int MTSBufferedIO::rxAvailable()
jengbrecht 0:563b70517320 88 {
jengbrecht 0:563b70517320 89 return rxBuffer->available();
jengbrecht 0:563b70517320 90 }
jengbrecht 0:563b70517320 91
jengbrecht 0:563b70517320 92 int MTSBufferedIO::txCapacity()
jengbrecht 0:563b70517320 93 {
jengbrecht 0:563b70517320 94 return txBuffer->capacity();
jengbrecht 0:563b70517320 95 }
jengbrecht 0:563b70517320 96
jengbrecht 0:563b70517320 97 int MTSBufferedIO::rxCapacity()
jengbrecht 0:563b70517320 98 {
jengbrecht 0:563b70517320 99 return rxBuffer->capacity();
jengbrecht 0:563b70517320 100 }
jengbrecht 0:563b70517320 101
jengbrecht 0:563b70517320 102 #endif /* MTSBUFFEREDSERIAL_CPP */