Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: M2X_dev axeda_wrapper_dev MTS_M2x_Example1 MTS_Cellular_Connect_Example ... more
io/MTSBufferedIO.cpp@36:bb6b293c7495, 2013-12-19 (annotated)
- Committer:
- jengbrecht
- Date:
- Thu Dec 19 16:47:26 2013 +0000
- Revision:
- 36:bb6b293c7495
- Parent:
- 17:2d7c4ea7491b
- Child:
- 40:14342c4de476
Added a ton more documentation to most of the headers files. Also removed the capacity and available functions from MTSBufferedIO in favor of readable and writeable. Removed the single available method call from the cellular class.
Who changed what in which revision?
| User | Revision | Line number | New 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 | |
| sgodinez | 17:2d7c4ea7491b | 32 | int MTSBufferedIO::writeable() { |
| sgodinez | 17:2d7c4ea7491b | 33 | return txBuffer->capacity(); |
| sgodinez | 17:2d7c4ea7491b | 34 | } |
| sgodinez | 17:2d7c4ea7491b | 35 | |
| jengbrecht | 0:563b70517320 | 36 | int MTSBufferedIO::read(char* data, int length) |
| jengbrecht | 0:563b70517320 | 37 | { |
| jengbrecht | 0:563b70517320 | 38 | return rxBuffer->read(data, length); |
| jengbrecht | 0:563b70517320 | 39 | } |
| jengbrecht | 0:563b70517320 | 40 | |
| sgodinez | 17:2d7c4ea7491b | 41 | int MTSBufferedIO::read(char& data) |
| jengbrecht | 0:563b70517320 | 42 | { |
| sgodinez | 17:2d7c4ea7491b | 43 | return rxBuffer->read(data); |
| sgodinez | 17:2d7c4ea7491b | 44 | } |
| sgodinez | 17:2d7c4ea7491b | 45 | |
| sgodinez | 17:2d7c4ea7491b | 46 | int MTSBufferedIO::readable() { |
| sgodinez | 17:2d7c4ea7491b | 47 | return rxBuffer->available(); |
| jengbrecht | 0:563b70517320 | 48 | } |
| jengbrecht | 0:563b70517320 | 49 | |
| jengbrecht | 0:563b70517320 | 50 | bool MTSBufferedIO::txEmpty() |
| jengbrecht | 0:563b70517320 | 51 | { |
| jengbrecht | 0:563b70517320 | 52 | return txBuffer->isEmpty(); |
| jengbrecht | 0:563b70517320 | 53 | } |
| jengbrecht | 0:563b70517320 | 54 | |
| jengbrecht | 0:563b70517320 | 55 | bool MTSBufferedIO::rxEmpty() |
| jengbrecht | 0:563b70517320 | 56 | { |
| jengbrecht | 0:563b70517320 | 57 | return rxBuffer->isEmpty(); |
| jengbrecht | 0:563b70517320 | 58 | } |
| jengbrecht | 0:563b70517320 | 59 | |
| jengbrecht | 0:563b70517320 | 60 | bool MTSBufferedIO::txFull() |
| jengbrecht | 0:563b70517320 | 61 | { |
| jengbrecht | 0:563b70517320 | 62 | return txBuffer->isFull(); |
| jengbrecht | 0:563b70517320 | 63 | } |
| jengbrecht | 0:563b70517320 | 64 | |
| jengbrecht | 0:563b70517320 | 65 | bool MTSBufferedIO::rxFull() |
| jengbrecht | 0:563b70517320 | 66 | { |
| jengbrecht | 0:563b70517320 | 67 | return rxBuffer->isFull(); |
| jengbrecht | 0:563b70517320 | 68 | } |
| jengbrecht | 0:563b70517320 | 69 | |
| jengbrecht | 0:563b70517320 | 70 | void MTSBufferedIO::txClear() |
| jengbrecht | 0:563b70517320 | 71 | { |
| jengbrecht | 0:563b70517320 | 72 | txBuffer->clear(); |
| jengbrecht | 0:563b70517320 | 73 | } |
| jengbrecht | 0:563b70517320 | 74 | |
| jengbrecht | 0:563b70517320 | 75 | void MTSBufferedIO::rxClear() |
| jengbrecht | 0:563b70517320 | 76 | { |
| jengbrecht | 0:563b70517320 | 77 | rxBuffer->clear(); |
| jengbrecht | 0:563b70517320 | 78 | } |
| jengbrecht | 0:563b70517320 | 79 | |
| jengbrecht | 0:563b70517320 | 80 | #endif /* MTSBUFFEREDSERIAL_CPP */ |
uIP Socket Modem Shield (Outdated - see below)