wellenvogel / esp32-nmea2000

nmea2000 gateway with ESP32
GNU General Public License v2.0
65 stars 30 forks source link

Valid GPS data by invalid NMEA0183 GPS sentences #38

Closed norbert-walter closed 2 years ago

norbert-walter commented 2 years ago

Data shows valid GPS data by invalid NMEA0183 GPS sentences.

grafik

$GPRMC,000000.00,A,0.000,N,0.000,E,0.0,0.0,050505,0.0,E6D $GPXDR,U,12.340,V,Voltage02 $GPRMC,000000.00,A,0.000,N,0.000,E,0.0,0.0,050505,0.0,E6D $GPRMC,,V,,,,,,,,,,N53 $GPVTG,,,,,,,,,N30 $GPGGA,,,,,,0,00,99.99,,,,,,48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.9930 $GPGSV,2,1,06,05,,,11,07,,,19,08,,,22,09,,,2376 $GPGSV,2,2,06,15,,,24,21,,,217D $GPGLL,,,,,,V,N64 $GPRMC,000000.00,A,0.000,N,0.000,E,0.0,0.0,050505,0.0,E6D $GPXDR,U,12.330,V,Voltage05 $GPRMC,000000.00,A,0.000,N,0.000,E,0.0,0.0,050505,0.0,E6D $GPRMC,,V,,,,,,,,,,N53 $GPVTG,,,,,,,,,N30 $GPGGA,,,,,,0,00,99.99,,,,,,48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.9930 $GPGSV,3,1,12,01,,,23,02,,,21,04,,,24,05,,,127D $GPGSV,3,2,12,06,,,24,08,,,21,09,,,27,10,,,2679 $GPGSV,3,3,12,11,,,25,14,,,24,15,,,21,21,,,2179 $GPGLL,,,,,,V,N64 $GPRMC,000000.00,A,0.000,N,0.000,E,0.0,0.0,050505,0.0,E6D $GPXDR,U,12.210,V,Voltage06 $GPRMC,,V,,,,,,,,,,N53 $GPVTG,,,,,,,,,N30 $GPGGA,,,,,,0,00,99.99,,,,,,48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.9930 $GPRMC,000000.00,A,0.000,N,0.000,E,0.0,0.0,050505,0.0,E6D $GPGSV,3,1,10,01,,,22,04,,,23,05,,,26,06,,,21*7A

wellenvogel commented 2 years ago

$GPRMC,000000.00,A,0.000,N,0.000,E,0.0,0.0,050505,0.0,E6D is nearly a valid sentence (beside the strange checksum) But most probably it is generated by the gateway itself. So maybe this should also be prevented... Anyway: Currently the used NMEA0183 lib has no great handling of empty fields. It simply parses them to 0. For the special case of RMC we could at least use the status and ignore messages with status != A.

wellenvogel commented 2 years ago

BTW: where did you get the log from - nearly none of the messages are valid NMEA messages.

norbert-walter commented 2 years ago

All NMEA0183 sentences coming via serial interface from the NEO-6M by missing GPS fix. The sentences are the original NMEA0183 from UBlox. I'm not sure that the UBlox modul is a original modul. I remember me that other GPS USB sticks has the same empty values by missing GPS fix. I'm wondering about the poor date value 2041!

norbert-walter commented 2 years ago

The checksum is ok. Leading zeros are suppressed. See voltage sentences.

wellenvogel commented 2 years ago

This one is not ok: $GPRMC,000000.00,A,0.000,N,0.000,E,0.0,0.0,050505,0.0,E6D should be: $GPRMC,000000.00,A,0.000,N,0.000,E,0.0,0.0,050505,0.0,E6D the "" is missing.

norbert-walter commented 2 years ago

Oh... right.

$GPXDR,U,12.330,V,Voltage05 $GPRMC,110117.00,A,5111.65500,N,00647.78982,E,0.783,,230322,,,A72 $GPVTG,,T,,M,0.783,N,1.450,K,A2F $GPGGA,110117.00,5111.65500,N,00647.78982,E,1,04,3.84,-16.1,M,46.5,M,,47 $GPRMC,110117.00,A,5111.655,N,647.790,E,0.8,0.0,230322,0.0,E5C $GPGSA,A,3,19,02,24,12,,,,,,,,,4.58,3.84,2.500C $GPGSV,3,1,12,02,30,103,26,03,03,354,,06,24,054,11,11,24,102,2378 $GPGSV,3,2,12,12,67,067,26,19,07,039,14,22,34,298,16,24,33,143,207D $GPGSV,3,3,12,25,67,274,,29,29,199,,31,17,305,15,32,39,273,2075 $GPGLL,5111.65500,N,00647.78982,E,110117.00,A,A65 $GPXDR,U,12.290,V,Voltage0E $GPRMC,110117.00,A,5111.655,N,647.790,E,0.8,0.0,230322,0.0,E5C $GPRMC,110118.00,V,,,,,,,230322,,,N77 $GPVTG,,,,,,,,,N30 $GPGGA,110118.00,,,,,0,04,3.53,,,,,,5F $GPGSA,A,1,19,02,24,12,,,,,,,,,3.67,3.53,1.0009 $GPGSV,3,1,12,02,30,103,26,03,03,353,,06,24,054,12,11,24,102,237C $GPGSV,3,2,12,12,67,067,26,19,07,039,13,22,34,298,17,24,33,143,217A $GPRMC,110118.00,A,0.000,N,0.000,E,0.0,0.0,230322,0.0,E62 $GPGSV,3,3,12,25,67,274,,29,29,199,,31,17,305,15,32,39,273,2075 $GPGLL,,,,,110118.00,V,N42 $GPXDR,U,12.280,V,Voltage0F $GPRMC,110118.00,A,0.000,N,0.000,E,0.0,0.0,230322,0.0,E62 $GPRMC,110119.00,V,,,,,,,230322,,,N76 $GPVTG,,,,,,,,,N*30

Now coming all sentences with correct check sums. Hmm...????

norbert-walter commented 2 years ago

Ahh... the inline editor has a problem with the character.

$GPXDR,U,12.330,V,Voltage*05 $GPRMC,110117.00,A,5111.65500,N,00647.78982,E,0.783,,230322,,,A*72 $GPVTG,,T,,M,0.783,N,1.450,K,A*2F $GPGGA,110117.00,5111.65500,N,00647.78982,E,1,04,3.84,-16.1,M,46.5,M,,*47 $GPRMC,110117.00,A,5111.655,N,647.790,E,0.8,0.0,230322,0.0,E*5C $GPGSA,A,3,19,02,24,12,,,,,,,,,4.58,3.84,2.50*0C $GPGSV,3,1,12,02,30,103,26,03,03,354,,06,24,054,11,11,24,102,23*78 $GPGSV,3,2,12,12,67,067,26,19,07,039,14,22,34,298,16,24,33,143,20*7D $GPGSV,3,3,12,25,67,274,,29,29,199,,31,17,305,15,32,39,273,20*75 $GPGLL,5111.65500,N,00647.78982,E,110117.00,A,A*65 $GPXDR,U,12.290,V,Voltage*0E $GPRMC,110117.00,A,5111.655,N,647.790,E,0.8,0.0,230322,0.0,E*5C $GPRMC,110118.00,V,,,,,,,230322,,,N*77 $GPVTG,,,,,,,,,N*30 $GPGGA,110118.00,,,,,0,04,3.53,,,,,,*5F $GPGSA,A,1,19,02,24,12,,,,,,,,,3.67,3.53,1.00*09 $GPGSV,3,1,12,02,30,103,26,03,03,353,,06,24,054,12,11,24,102,23*7C $GPGSV,3,2,12,12,67,067,26,19,07,039,13,22,34,298,17,24,33,143,21*7A $GPRMC,110118.00,A,0.000,N,0.000,E,0.0,0.0,230322,0.0,E*62 $GPGSV,3,3,12,25,67,274,,29,29,199,,31,17,305,15,32,39,273,20*75 $GPGLL,,,,,110118.00,V,N*42 $GPXDR,U,12.280,V,Voltage*0F $GPRMC,110118.00,A,0.000,N,0.000,E,0.0,0.0,230322,0.0,E*62 $GPRMC,110119.00,V,,,,,,,230322,,,N*76 $GPVTG,,,,,,,,,N*30

wellenvogel commented 2 years ago

20220403