you went to all the trouble to get a higher speed GPS, and you’re only sampling once a second?
I suspect that some of this is possibly related to your sampling method, have you tried doing it flat out by any chance?
you went to all the trouble to get a higher speed GPS, and you’re only sampling once a second?
I suspect that some of this is possibly related to your sampling method, have you tried doing it flat out by any chance?
Brett, i am still in debugging mode with my car. I have removed the fez from my car and walking around myself to test the gps first. first i need to get the correct coordinates, current heading and new bearing. after that the sampling is about 25ms…
Don’t know what you mean with “going it flat out”.?
I just meant reading the serial data as quick as you can and displaying or logging data out that you can review later to see what the GPS is giving you. “flat out” I guess is a bit of aussie slang meaning go as fast as you can, foot flat to the floor (car accelerator)
Colin, have a look at the gps module’s manual. There you will find a command to disable all sentences appart from the one you’re using, and to increase update rate to 10hz. This will allow you to keep the serial port constantly open, and get constant updates.
Xarren, good point, didn’t know that’s going to work.
Will check if it’s possible to get only the $GPRMC sentence and update to 10hz rate…
And Brett, i allready doing it flat out, as i said in my previous post:
Thanks!
For your interest:
Change rate to 5hz:
$PMTK220,2002C
Change rate to 10hz:
$PMTK220,1002C
The 100 and 200 at the end there means milliseconds between sending data back
And turn off all but the GGA and RMC NMEA sentences with this:
$PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*28
Commands are working
byte[] dataStr;
dataStr = Encoding.UTF8.GetBytes("$PMTK220,100*2F" + "\r\n");
_port.Write(dataStr, 0, dataStr.Length);
Thread.Sleep(50);
dataStr = Encoding.UTF8.GetBytes("$PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29" + "\r\n");
_port.Write(dataStr, 0, dataStr.Length);
I am receiving this on the gps after the commands are sent:
$PMTK001,220,330 << changed speed, PMTK001, 3 is OK, 220 = speed change
$PMTK001,314,336 << changed sentence, PMTK001, 3 is OK, 314 = sentence change
Nice one, seems like you’ve got the hang of it
Next stage for me is getting a juicy Cortex A8 on it to do some video processing, and having it recognise obstacles and circumnavigate them
Why not just a full out PC connected to a FEZ for IO?
Laptop (for debugging outside) battery is empty and forgot the power cable at work ???
Tomorrow there will be more tests about location and heading/bearing.
I want to keep it small and keep the power consumption low, plus a computer is a bit of an overkill don’t you think?
I want to learn how to use the Cortex series of chips anyways, never used anything quite that juicy.
And colin, I’ve done that so many times Its worst doing it over the weekend
I’ve got the power cable, but have to work till late
So, no more gps tests today… :’(
Did some more tests with the gps in my backyard. but, it does not get enough satellites to get a good signal. The coordinates said i was living in Germany :o 320km off >:(
So, need a good open space to test the gps again.
Thinking about to take the gps with me to work, there is open space enough though
But, i saw that when i change the update rate of the gps (to 5 or 10hz) and of my application (while loop of 100ms), that the heading is changing faster ;D
w00000000000t. i have changed the code (by myself :D), the standard driver of GHI only gets the RMC setence, I also wanted the GGA sentence to get the number of satellites, and it worked! :o