I'm doing something wrong with tinyGPS. I'm printing the Lat and Long from tinyGPS and it's very accurate (I put the coordinates in google maps) but the values don't change as I walk 50' or so. Any ideas?
while (nss.available()) // While there is data on the RX pin...
{
int c = nss.read(); // load the data into a variable...
if(gps.encode(c)) // if there is a new valid sentence...
{
getgps(gps); // then grab the data.
TinyGPS is collecting serial data from the serial port that the GPS is connected to. That you print the data to 8 decimal places does not imply/add accuracy. The accuracy of the lat/lon values is a function of the specific GPS you are using.
Hmmm, I don't see where you told us which GPS you are using.
I also don't see where you indicate whether or not the fix you are printing is valid.
50' may not be enough to affect the actual lat/lon information that the GPS returns.
When I use the software utility from the manufacturer, I see the coordinates changing as I walk around (well within 50'). This is what made me think I'm doing something wrong with tinyGPS/my Arduino code.
There are other methods in the TinyGPS library, besides the f_get_position() method. Add some of them to getgps(), to show whether the fix is actually valid, whether the time changes, etc. You have the hardware; we don't. There is nothing obviously wrong with the code, except for assuming 8 decimal places of accuracy.
I added fix age and time. They are both updating. I also checked for nss.overflow() and it returns 0.
I noticed that when I restart the GPS, the coordinates change while walking for about 30 seconds. after that they stop changing even though fix age and time are still changing.
Generally, no. Specifically, you'd have to read the instructions for yours to see if that is happening. If the fix time is updating, though, the GPS can't really be sleeping, can it?
What is more likely is that there is some setup involved that tells the GPS that it needs to do some thing every so often. The sample application did that. Your sketch does not.