Slightly modified version of the SerialGPS library (https://os.mbed.com/teams/components/code/SerialGPS/) to support the BufferedSerial class

Revision:
5:cc8f9d7f9bdb
Parent:
4:2c76f1ec13a9
diff -r 2c76f1ec13a9 -r cc8f9d7f9bdb SerialGPS.cpp
--- a/SerialGPS.cpp	Thu Apr 01 21:18:48 2021 +0200
+++ b/SerialGPS.cpp	Fri Apr 23 09:38:08 2021 +0200
@@ -134,27 +134,17 @@
 void SerialGPS::getline() 
 {
     char ch;
-    int idx = -1;
+    uint8_t idx = 0;
 
-    if(!this->_gps_p->readable()) { return; }
+    //MBED_ASSERT(this->_gps->readable());
 
     // Wait for start of sentence
     while(read_char() != '$');
 
-    // Read from serial one char at a time until max length or read terminal
-    while(idx++ <= MAX_LINELENGTH)
+    // Read character until EOL
+    while((ch = read_char()) != '\r')
     {
-        ch = read_char();
-
-        if(ch == '\r') { break; }
-
         this->_nmea[idx] = ch;
+        idx++;
     }
-}
-
-char SerialGPS::read_char()
-{
-    char ch;
-    _gps_p->read(&ch, 1);
-    return ch;
 }
\ No newline at end of file