mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Revision:
184:08ed48f1de7f
Parent:
176:447f873cad2f
Child:
187:0387e8f68319
--- a/platform/ATCmdParser.cpp	Tue Mar 20 17:01:51 2018 +0000
+++ b/platform/ATCmdParser.cpp	Thu Apr 19 17:12:19 2018 +0100
@@ -158,7 +158,7 @@
         if (j+1 >= _buffer_size - offset) {
             return false;
         }
-        // Recieve next character
+        // Receive next character
         int c = getc();
         if (c < 0) {
             return -1;
@@ -394,6 +394,19 @@
         if (c < 0) {
             return false;
         }
+        // Simplify newlines (borrowed from retarget.cpp)
+        if ((c == CR && _in_prev != LF) ||
+            (c == LF && _in_prev != CR)) {
+            _in_prev = c;
+            c = '\n';
+        } else if ((c == CR && _in_prev == LF) ||
+                   (c == LF && _in_prev == CR)) {
+            _in_prev = c;
+            // onto next character
+            continue;
+        } else {
+            _in_prev = c;
+        }
         _buffer[i++] = c;
         _buffer[i] = 0;
 
@@ -411,9 +424,7 @@
         
         // Clear the buffer when we hit a newline or ran out of space
         // running out of space usually means we ran into binary data
-        if (i+1 >= _buffer_size ||
-            strcmp(&_buffer[i-_output_delim_size], _output_delimiter) == 0) {
-
+        if (((i+1) >= _buffer_size) || (c == '\n')) {
             debug_if(_dbg_on, "AT< %s", _buffer);
             i = 0;
         }