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

Revision:
86:186bbf974c7c
Parent:
85:b17ad6781c5b
Child:
129:3aa470877c59
--- a/io/MTSSerial.cpp	Fri Dec 27 15:55:35 2013 +0000
+++ b/io/MTSSerial.cpp	Fri Dec 27 16:40:23 2013 +0000
@@ -1,38 +1,36 @@
-#ifndef MTSSERIAL_CPP
-#define MTSSERIAL_CPP
-
 #include "MTSSerial.h"
 
 using namespace mts;
 
-MTSSerial::MTSSerial(PinName TXD, PinName RXD, int txBufferSize, int rxBufferSize, char* name) : MTSBufferedIO(txBufferSize, rxBufferSize), writeSize(30), if_name(name)
+MTSSerial::MTSSerial(PinName TXD, PinName RXD, int txBufferSize, int rxBufferSize) 
+: MTSBufferedIO(txBufferSize, rxBufferSize)
+, serial(TXD,RXD)
 {
-    serial = new Serial(TXD, RXD);
-    serial->attach(this, &MTSSerial::handleRead, Serial::RxIrq);
-    //serial->attach(this, &MTSSerial::handleWrite, Serial::TxIrq);
+    serial.attach(this, &MTSSerial::handleRead, Serial::RxIrq);
+    //serial.attach(this, &MTSSerial::handleWrite, Serial::TxIrq);
 }
 
 MTSSerial::~MTSSerial()
 {
-    delete serial;
+
 }
 
 void MTSSerial::baud(int baudrate)
 {
-    serial->baud(baudrate);
+    serial.baud(baudrate);
 }
 
 void MTSSerial::format(int bits, SerialBase::Parity parity, int stop_bits)
 {
-    serial->format(bits, parity, stop_bits);
+    serial.format(bits, parity, stop_bits);
 }
 
 void MTSSerial::handleRead()
 {
-    while (serial->readable() && rxBuffer->remaining()) {
-        rxBuffer->write(serial->getc());
+    while (serial.readable() && rxBuffer.remaining()) {
+        rxBuffer.write(serial.getc());
     }
-    if (!rxBuffer->remaining() && serial->readable()) {
+    if (!rxBuffer.remaining() && serial.readable()) {
         printf("[WARNING] Receieve buffer full, possible data loss.\r\n");  
     }
 }
@@ -40,11 +38,11 @@
 // Currently uses Non-Irq based blocking write calls
 void MTSSerial::handleWrite()
 {
-    while(txBuffer->size() != 0) {
-        if (serial->writeable()) {
+    while(txBuffer.size() != 0) {
+        if (serial.writeable()) {
             char byte;
-            if(txBuffer->read(byte) == 1) {
-                serial->putc(byte);
+            if(txBuffer.read(byte) == 1) {
+                serial.putc(byte);
             }
         } else {
             return;
@@ -52,4 +50,3 @@
     }
 }
 
-#endif /* MTSSERIAL_CPP */
\ No newline at end of file