Ultimage GPS: PMTK220 vs PMTK300

For other supported Arduino products from Adafruit: Shields, accessories, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
ninja2
 
Posts: 10
Joined: Thu Jul 31, 2014 5:08 pm

Ultimage GPS: PMTK220 vs PMTK300

Post by ninja2 »

I'm setting up my Ultimate GPS and see two very similar commands in the GlobalTop PMTK Command Packet document:
$PMTK220 'set NMEA port update rate', which can be set up to 10Hz
$PMTK300 'controls the rate of position fixing activity', which can be set up to 5Hz ('FixInterval must be larger than 200ms')

I want to set my GPS for use at low speeds (1 - 5m/s) with the max rate of position reporting to the best of the Ultimate GPS capability. If the GPS can only take a new fix every 200ms (5Hz) using PMTK300 I can't see any purpose for using the PMTK220 faster than 5Hz, it would just be reporting same data twice (i.e pairs of sentences would be identical?)

Am I understanding these commands correctly?

thanks

User avatar
adafruit_support_mike
 
Posts: 67454
Joined: Thu Feb 11, 2010 2:51 pm

Re: Ultimage GPS: PMTK220 vs PMTK300

Post by adafruit_support_mike »

Your general view of the two parameters is right: the NMEA update rate controls how often the GPS module emits NMEA sentences, and the fix update rate controls how often the module checks the satellites and updates its position registers.

Not all NMEA sentences contain position data though. The $GPSV set provide diagnostic information about the number of satellites the module can see and what kind of fix it has for each one. There's also some redundancy. The $GPRMC and $GPGGA sentences contain the same position data, but have different sets of additional information and arrange the information differently.

If you've disabled enough kinds of NMEA output that every sentence contains position data, then yeah, having the NMEA update rate go faster than the fix update rate would give you redundant data.

User avatar
ninja2
 
Posts: 10
Joined: Thu Jul 31, 2014 5:08 pm

Re: Ultimage GPS: PMTK220 vs PMTK300

Post by ninja2 »

Thanks Mike, very useful and interesting.

Now I'm wondering: If I set the FixInterval to minimum (highest frequency), and set GSA, GSV, RMC & VTG sentences to report as fast as possible, might that give me more accurate, higher resolution position information than if I reported RMC/VTG just as frequently but GSA/GSV only occasionally (i.e. in the former case, more knowledge of the satellites helps the MT3339 calculate position more precisely) ?

cheers

User avatar
adafruit_support_mike
 
Posts: 67454
Joined: Thu Feb 11, 2010 2:51 pm

Re: Ultimage GPS: PMTK220 vs PMTK300

Post by adafruit_support_mike »

If you want speed, disable everything but one of $GPRMC or $GPGGA.

The module will scan the satellites and update its position once per fix update interval. The NMEA sentences don't have any effect on that. The ones like $GPSV are just a courtesy so you know what the module is seeing. The standard set of output sentences are there to make sure any external hardware running a user interface has enough information to tell the person using the device what's going on.

Since you're writing the software that will talk to the module, you have the freedom to choose what sentences you want and when you want them.

If you know you have a fix and all you care about is position data, everything but a $GPRMC or $GPGGA sentence will be unnecessary overhead. You can tell the module to emit them while it's waiting for a fix after power-up, or as diagnostic data if it loses its fix, then shut down everything but one position sentence per fix update interval once you know the fix is good.

User avatar
ninja2
 
Posts: 10
Joined: Thu Jul 31, 2014 5:08 pm

Re: Ultimage GPS: PMTK220 vs PMTK300

Post by ninja2 »

OK I've got it now. thanks again,

User avatar
MusicManArt
 
Posts: 12
Joined: Sat Aug 30, 2014 7:32 am

Re: Ultimage GPS: PMTK220 vs PMTK300

Post by MusicManArt »

Mike,
The 220 and 300 are reversed in the Adafruit_GPs.h file.

User avatar
adafruit_support_mike
 
Posts: 67454
Joined: Thu Feb 11, 2010 2:51 pm

Re: Ultimage GPS: PMTK220 vs PMTK300

Post by adafruit_support_mike »

Could you post the relevant lines please?

User avatar
Franklin97355
 
Posts: 23912
Joined: Mon Apr 21, 2008 2:33 pm

Re: Ultimage GPS: PMTK220 vs PMTK300

Post by Franklin97355 »

Could you post the relevant lines please?
If that last comment was to musicmanart I think he was confused by a datasheet that didn't reference the GPS Adafruit is using.

User avatar
MusicManArt
 
Posts: 12
Joined: Sat Aug 30, 2014 7:32 am

Re: Ultimage GPS: PMTK220 vs PMTK300

Post by MusicManArt »

franklin97355 wrote:
Could you post the relevant lines please?
If that last comment was to musicmanart I think he was confused by a datasheet that didn't reference the GPS Adafruit is using.

I think it was directed at me. But still confused as to why PMTK would be different. At any rate mine is working now.

User avatar
ninja2
 
Posts: 10
Joined: Thu Jul 31, 2014 5:08 pm

Re: Ultimage GPS: PMTK220 vs PMTK300

Post by ninja2 »

MusicManArt wrote:The 220 and 300 are reversed in the Adafruit_GPs.h file.
Is this true, or not ?

User avatar
MusicManArt
 
Posts: 12
Joined: Sat Aug 30, 2014 7:32 am

Re: Ultimage GPS: PMTK220 vs PMTK300

Post by MusicManArt »

ninja2 wrote:
MusicManArt wrote:The 220 and 300 are reversed in the Adafruit_GPs.h file.
Is this true, or not ?
MTK messages (which are MediaTek chipset specific) seem to be different between GPS receiver manufactures. I'm now using shield_sdlog.ino unmodified except for UNO specific items and it is working fine with PMTK_SET_NMEA_UPDATERATE which is 220 according to the "confidential" G.Top document located here: http://www.adafruit.com/datasheets/PMTK_A08.pdf

If you use a different GPS receiver than the Adafruit receiver, this data may not apply...

Art

Locked
Please be positive and constructive with your questions and comments.

Return to “Other Arduino products from Adafruit”