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:
81:45e1359a5c69
Parent:
67:1003b410f781
Child:
85:b17ad6781c5b
--- a/io/MTSSerial.cpp	Fri Dec 27 14:43:36 2013 +0000
+++ b/io/MTSSerial.cpp	Fri Dec 27 15:19:49 2013 +0000
@@ -29,9 +29,12 @@
 
 void MTSSerial::handleRead()
 {
-    while (serial->readable()) {
+    while (serial->readable() && rxBuffer->remaining()) {
         rxBuffer->write(serial->getc());
     }
+    if (!rxBuffer->remaining() && serial->readable()) {
+        printf("[WARNING] Receieve buffer full, possible data loss.\r\n");  
+    }
 }
 
 // Currently uses Non-Irq based blocking write calls
@@ -44,26 +47,9 @@
                 serial->putc(byte);
             }
         } else {
-            wait(.05);
+            return;
         }
     }
 }
 
-// TxIrq based, review code before using!!!
-/*
-void MTSSerial::handleWrite()
-{
-    int size = writeSize;
-    int available = txBuffer->size();
-    if (available == 0) {
-        return;
-    }
-    if (available < writeSize) {
-        size = available;
-    }
-    for (int i = 0; i < size; i++) {
-        serial->putc(txBuffer->read());
-    }
-}
-*/
 #endif /* MTSSERIAL_CPP */
\ No newline at end of file