MultiTech / MTS-Cellular

Dependents:   mtsas mtsas mtsas mtsas

Committer:
Mike Fiore
Date:
Mon May 19 12:34:32 2014 -0500
Revision:
1:f155d94d6f3a
add all cellular code, remove MBEDCellularRadioInterface

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Mike Fiore 1:f155d94d6f3a 1 #include "MTSSerialRadioInterface.h"
Mike Fiore 1:f155d94d6f3a 2 #include "MTSLog.h"
Mike Fiore 1:f155d94d6f3a 3
Mike Fiore 1:f155d94d6f3a 4 using namespace mts;
Mike Fiore 1:f155d94d6f3a 5
Mike Fiore 1:f155d94d6f3a 6 MTSSerialRadioInterface::MTSSerialRadioInterface(PinName TXD, PinName RXD, PinName RTS, PinName CTS, int txBufSize, int rxBufSize) {
Mike Fiore 1:f155d94d6f3a 7 if (RTS == NC && CTS == NC) {
Mike Fiore 1:f155d94d6f3a 8 io = new MTSSerial(TXD, RXD, txBufSize, rxBufSize);
Mike Fiore 1:f155d94d6f3a 9 } else {
Mike Fiore 1:f155d94d6f3a 10 io = new MTSSerialFlowControl(TXD, RXD, RTS, CTS, txBufSize, rxBufSize);
Mike Fiore 1:f155d94d6f3a 11 }
Mike Fiore 1:f155d94d6f3a 12 }
Mike Fiore 1:f155d94d6f3a 13
Mike Fiore 1:f155d94d6f3a 14 MTSSerialRadioInterface::~MTSSerialRadioInterface() {
Mike Fiore 1:f155d94d6f3a 15 delete io;
Mike Fiore 1:f155d94d6f3a 16 }
Mike Fiore 1:f155d94d6f3a 17
Mike Fiore 1:f155d94d6f3a 18 void MTSSerialRadioInterface::baud(unsigned int baud) {
Mike Fiore 1:f155d94d6f3a 19 io->baud(baud);
Mike Fiore 1:f155d94d6f3a 20 }
Mike Fiore 1:f155d94d6f3a 21
Mike Fiore 1:f155d94d6f3a 22 void MTSSerialRadioInterface::format(int bits, Parity parity, int stop_bits) {
Mike Fiore 1:f155d94d6f3a 23 io->format(bits, parity, stop_bits);
Mike Fiore 1:f155d94d6f3a 24 }
Mike Fiore 1:f155d94d6f3a 25
Mike Fiore 1:f155d94d6f3a 26 bool MTSSerialRadioInterface::putc(char data, unsigned int timeoutMillis) {
Mike Fiore 1:f155d94d6f3a 27 if (timeoutMillis) {
Mike Fiore 1:f155d94d6f3a 28 return io->write(data, timeoutMillis) ? true : false;
Mike Fiore 1:f155d94d6f3a 29 } else {
Mike Fiore 1:f155d94d6f3a 30 return io->write(data) ? true : false;
Mike Fiore 1:f155d94d6f3a 31 }
Mike Fiore 1:f155d94d6f3a 32 }
Mike Fiore 1:f155d94d6f3a 33
Mike Fiore 1:f155d94d6f3a 34 int MTSSerialRadioInterface::write(char* data, int size, unsigned int timeoutMillis) {
Mike Fiore 1:f155d94d6f3a 35 if (size < 0) {
Mike Fiore 1:f155d94d6f3a 36 log_err("cannot write fewer than 0 bytes");
Mike Fiore 1:f155d94d6f3a 37 return -1;
Mike Fiore 1:f155d94d6f3a 38 }
Mike Fiore 1:f155d94d6f3a 39
Mike Fiore 1:f155d94d6f3a 40 if (timeoutMillis) {
Mike Fiore 1:f155d94d6f3a 41 return io->write(data, size, timeoutMillis);
Mike Fiore 1:f155d94d6f3a 42 } else {
Mike Fiore 1:f155d94d6f3a 43 return io->write(data, size);
Mike Fiore 1:f155d94d6f3a 44 }
Mike Fiore 1:f155d94d6f3a 45 }
Mike Fiore 1:f155d94d6f3a 46
Mike Fiore 1:f155d94d6f3a 47 bool MTSSerialRadioInterface::writeable() {
Mike Fiore 1:f155d94d6f3a 48 return io->writeable() ? true : false;
Mike Fiore 1:f155d94d6f3a 49 }
Mike Fiore 1:f155d94d6f3a 50
Mike Fiore 1:f155d94d6f3a 51 bool MTSSerialRadioInterface::getc(char& data, unsigned int timeoutMillis) {
Mike Fiore 1:f155d94d6f3a 52 if (timeoutMillis) {
Mike Fiore 1:f155d94d6f3a 53 return io->read(data, timeoutMillis) ? true : false;
Mike Fiore 1:f155d94d6f3a 54 } else {
Mike Fiore 1:f155d94d6f3a 55 return io->read(data) ? true : false;
Mike Fiore 1:f155d94d6f3a 56 }
Mike Fiore 1:f155d94d6f3a 57 }
Mike Fiore 1:f155d94d6f3a 58
Mike Fiore 1:f155d94d6f3a 59 int MTSSerialRadioInterface::read(char* data, int size, unsigned int timeoutMillis) {
Mike Fiore 1:f155d94d6f3a 60 if (size < 0) {
Mike Fiore 1:f155d94d6f3a 61 log_err("cannot read fewer than 0 bytes");
Mike Fiore 1:f155d94d6f3a 62 return -1;
Mike Fiore 1:f155d94d6f3a 63 } else if (size == 0) {
Mike Fiore 1:f155d94d6f3a 64 return 0;
Mike Fiore 1:f155d94d6f3a 65 }
Mike Fiore 1:f155d94d6f3a 66
Mike Fiore 1:f155d94d6f3a 67 if (timeoutMillis) {
Mike Fiore 1:f155d94d6f3a 68 return io->read(data, size, timeoutMillis);
Mike Fiore 1:f155d94d6f3a 69 } else {
Mike Fiore 1:f155d94d6f3a 70 return io->read(data, size);
Mike Fiore 1:f155d94d6f3a 71 }
Mike Fiore 1:f155d94d6f3a 72 }
Mike Fiore 1:f155d94d6f3a 73
Mike Fiore 1:f155d94d6f3a 74 bool MTSSerialRadioInterface::readable() {
Mike Fiore 1:f155d94d6f3a 75 return io->readable() ? true : false;
Mike Fiore 1:f155d94d6f3a 76 }