Unfortunately, the NMEA parsing using strtok() is not very robust. For my NEO-6M, the RMC messages look something like this: $GPRMC,190707.00,A,5000.00000,N,01100.00000,E,0.334,,261225,,,A*00, i.e, some fields are empty and several delimiters , are next to each other. strtok() removes these successive delimiters, and parsing runs into the checksum field when trying to decode the current date. I got rid of this error in my fork by replacing each and every occurrence of strtok() with strsep() in gps.c. I created a pull request.
Unfortunately, the NMEA parsing using
strtok()is not very robust. For my NEO-6M, theRMCmessages look something like this:$GPRMC,190707.00,A,5000.00000,N,01100.00000,E,0.334,,261225,,,A*00, i.e, some fields are empty and several delimiters,are next to each other.strtok()removes these successive delimiters, and parsing runs into the checksum field when trying to decode the current date. I got rid of this error in my fork by replacing each and every occurrence ofstrtok()withstrsep()ingps.c. I created a pull request.