diff --git a/lib/nmea0183ton2k/NMEA0183DataToN2K.cpp b/lib/nmea0183ton2k/NMEA0183DataToN2K.cpp index e83731f..bc0f468 100644 --- a/lib/nmea0183ton2k/NMEA0183DataToN2K.cpp +++ b/lib/nmea0183ton2k/NMEA0183DataToN2K.cpp @@ -350,6 +350,10 @@ private: LOG_DEBUG(GwLog::DEBUG, "failed to parse RMC %s", msg.line); return; } + if (status != 'A' && status != 'a'){ + LOG_DEBUG(GwLog::DEBUG, "invalid status %c for RMC %s",status, msg.line); + return; + } tN2kMsg n2kMsg; if ( UD(GPST) && @@ -750,6 +754,10 @@ private: LOG_DEBUG(GwLog::DEBUG, "failed to parse GGA %s", msg.line); return; } + if (GPSQualityIndicator == 0){ + LOG_DEBUG(GwLog::DEBUG, "quality 0 (no fix) for GGA %s", msg.line); + return; + } if (! updateDouble(boatData->GPST,GPSTime,msg.sourceId)) return; if (! updateDouble(boatData->LAT,Latitude,msg.sourceId)) return; if (! updateDouble(boatData->LON,Longitude,msg.sourceId)) return;