FEZ Mini, LS20031 GPS, Wrong Coordinates (for RC Car)

you went to all the trouble to get a higher speed GPS, and you’re only sampling once a second? :wink:

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: :wink:

Thanks!

For your interest:

Change rate to 5hz:
$PMTK220,2002C
Change rate to 10hz:
$PMTK220,100
2C

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 :smiley:

                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,3
36 << changed sentence, PMTK001, 3 is OK, 314 = sentence change

Nice one, seems like you’ve got the hang of it :slight_smile:

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 :slight_smile:

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 :slight_smile: Its worst doing it over the weekend

I’ve got the power cable, but have to work till late :frowning:
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 :smiley:

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