ArduPilot / ardupilot

ArduPlane, ArduCopter, ArduRover, ArduSub source
http://ardupilot.org/
GNU General Public License v3.0
10.98k stars 17.5k forks source link

NMEA mode don't work with multi-system modules (eg. mt3333) #4243

Closed night-ghost closed 8 years ago

night-ghost commented 8 years ago

Issue details

because in AP_GPS_NMEA.cpp data compared with GPVTG GPRMC etc so ARDUPILOT want to listen NMEA v2. But new multi-system modules emits NMEA v4 where messages has prefix GA for Galileo, GN for Glonass and GL for unified data.

Version

all versions

Platform

[ * ] All [ ] AntennaTracker [ ] Copter [ ] Plane [ ] Rover

Here is small patch to correct this. ----- cut here --- --- AP_GPS_NMEA.cpp.orig 2016-06-01 17:28:22.351546727 +0500 +++ AP_GPS_NMEA.cpp 2016-06-01 17:31:56.599765010 +0500 @@ -93,9 +93,9 @@ . // NMEA message identifiers //////////////////////////////////////////////////// // -const char AP_GPS_NMEA::_gprmc_string[] = "GPRMC"; -const char AP_GPS_NMEA::_gpgga_string[] = "GPGGA"; -const char AP_GPS_NMEA::_gpvtg_string[] = "GPVTG"; +const char AP_GPS_NMEA::_gprmc_string[] = "RMC"; +const char AP_GPS_NMEA::_gpgga_string[] = "GGA"; +const char AP_GPS_NMEA::_gpvtg_string[] = "VTG"; . // Convenience macros ////////////////////////////////////////////////////////// // @@ -339,12 +339,12 @@ } . // the first term determines the sentence type

OXINARF commented 8 years ago

This has been fixed in master in April 18 (https://github.com/ArduPilot/ardupilot/commit/2a214f1e46f54194e1dc579ec0bc88d532a5c4f7), so please look at it before opening an issue. Also, if it indeed wasn't solved and you have a patch, it was better to open a PR.