-dev:
The newest GPS devices emit NMEA sentences that have different "talker IDs". The older libraries look for a talker ID of "GP", so they expect "$GPRMC", not "$GNRMC". These new devices can emit a mix of sentences, and you may want to know when GPS satellites (USA) are being used vs. GLONASS satellites (Russia). There are other constellations, too.This is one of the reasons I wrote NeoGPS. I also made it smaller, faster, more reliable and more accurate than all other GPS libraries. It can parse all Talker IDs, so it can handle GNRMC as quickly as GPRMC, or even a mix of talkers. NeoGPS is available from the Arduino IDE Library Manager, under the menu Sketch -> Include Library -> Manage Libraries.
A secondary problem with other libraries is their example programs. They are usually not correctly structured and frequently break when modified. There are other advantages, related to the GPS quiet time, printing too much data and coherency. Even if you don't use it, there are lots of tips on the Troubleshooting page and the Installation page (see Choosing a Serial Port).
Cheers,
/dev
I've just tried it. Do I need additional steps for running NMEATest and other examples?
Because I get some compilation errors like:
Arduino: 1.6.9 (Windows 7), Board: "Arduino/Genuino Uno"
NMEAtest:58: error: #error NMEAGPS_PARSE_GGA, GLL, GSA, GSV, RMC, VTG and ZDA must be defined in NMEAGPS_cfg.h!
#error NMEAGPS_PARSE_GGA, GLL, GSA, GSV, RMC, VTG and ZDA must be defined in NMEAGPS_cfg.h!
^
NMEAtest:74: error: #error GPS_FIX_LOCATION_DMS must be defined in GPSfix_cfg.h!
#error GPS_FIX_LOCATION_DMS must be defined in GPSfix_cfg.h!
^
NMEAtest:94: error: #error GPS_FIX_HDOP must be defined in GPSfix_cfg.h!
#error GPS_FIX_HDOP must be defined in GPSfix_cfg.h!
^
NMEAtest:98: error: #error GPS_FIX_GEOID_HEIGHT must be defined in GPSfix_cfg.h!
#error GPS_FIX_GEOID_HEIGHT must be defined in GPSfix_cfg.h!
^
exit status 1
#error NMEAGPS_PARSE_GGA, GLL, GSA, GSV, RMC, VTG and ZDA must be defined in NMEAGPS_cfg.h!
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.