I've been doing more testing and tried using the GPS 2 IP application that was shown in the NMEA connector documentation for testing. It works with no issues for RMC, GLL, and GGA. Here is a sample of the data it is sending to GEP.$GPRMC,063815,A,3029.918,N,09032.527,W,0.00,217.3,060614,003.1,W*4F
$GPRMC,063817,A,3029.918,N,09032.527,W,0.00,217.3,060614,003.1,W*4D
$GPRMC,063819,A,3029.918,N,09032.527,W,0.00,217.3,060614,003.1,W*43
$GPRMC,063821,A,3029.918,N,09032.527,W,0.00,217.3,060614,003.1,W*48
$GPRMC,063823,A,3029.918,N,09032.527,W,0.00,217.3,060614,003.1,W*4A
$GPRMC,063825,A,3029.918,N,09032.527,W,0.00,217.3,060614,003.1,W*4C
$GPRMC,063827,A,3029.918,N,09032.527,W,0.00,217.3,060614,003.1,W*4E
$GPRMC,063829,A,3029.918,N,09032.527,W,0.00,217.3,060614,003.1,W*40
The differences I noticed are in the time stamp field. The GPS2IP doesn't send a decimal number (seconds), the GPS device does. The app also gives True Course, and Variation where the GPS leaves them blank. The last thing I noticed is the app has 12 fields, where the GPS device has 13. I may be on to something!Line 55-56 of the NMEAGPRMCMessageTranslator.java code has this snippet:if (data == null || data.length != 12)
throw new ValidationException("NMEAGPRMC message data is invalid.");
If I'm not mistaken, it is counting fields to validate that the format is correct. I've been doing some digging and the number of fields varies on just about every manufacturer's documentation for the RMC NMEA sentence between 12 and 13 fields. I haven't gone as far as purchasing the official paper from NMEA to get all of the possible sentences because it's kind of pricey, but I did find this http://www.catb.org/gpsd/NMEA.html#_rmc_recommended_minimum_navigation_information and it seems very complete.If you disregard the "count" that the document gives the fields, remove the field for "FAA mode indicator" (#12) because it seems like a lot of equipment follows an old version of the specification that doesn't include it and THEN hand count ALL of the fields including the $--RMC field, you have 13. I guess my point is that for RMC sentences you may have 12, 13, or even 14 fields in there and the code doesn't account for that which is causing an error for me and probably others.Thoughts? Do you think the RMC message translation code needs to take this into account?P.S. After looking at the GLL message translator code, it counts 7 fields and the NMEA document I found for the GLL sentence has 9 total. If you remove the FAA mode indicator, it's 8. The same problem (assuming it is the problem) is probably happening with it as well.