mbed library sources. Supersedes mbed-src.
Dependents: Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more
Diff: platform/ATCmdParser.cpp
- Revision:
- 184:08ed48f1de7f
- Parent:
- 176:447f873cad2f
- Child:
- 187:0387e8f68319
diff -r 5166a824ec1a -r 08ed48f1de7f platform/ATCmdParser.cpp --- 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; }