Pages: [1]   Go Down
Author Topic: TinyGPS 12 released  (Read 3046 times)
0 Members and 1 Guest are viewing this topic.
Austin, TX USA
Offline Offline
God Member
*****
Karma: 4
Posts: 997
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

There's a new version of TinyGPS, my NMEA (GPS) stream parser library, available.  Version 12 provides some simplified new examples and several new features:

satellites() – Number of satellites counter from $GPRMC
hdop() – Horizontal Dilution of Precision from $GPRMC — the smaller this value is the more confidence you have in the accuracy of the location reading.
course_to() – another Maarten Lamers’ borrowing that complements his distance_to() function
cardinal() – a nice little static function by Matt Monson that converts a course to a compass direction like “SSE”.

Mikal
Logged

Greenville, IL
Offline Offline
Edison Member
*
Karma: 15
Posts: 1328
Warning Novice on board! 0 to 1 chance of errors!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


 I am definitely going to give this library a try! I was wanting to have a solution like Cardinal(). It would be much better than course numbers for me.

Thanks for sharing.
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi Mikal,
Thank you for writing this library.
I am having a bit of a problem that I hope you can help with. I am using an arduino uno and a venus gps module. I seem to get valid NMEA sentences and I get good readouts for Lat, Long, altitude, time, and (sometimes) date (they change as I walk around with the gps and the lat/long resolves to my current location). I cannot get readouts for course or speed no matter what I do. If I send the value to the serial monitor it shows 1000.0 for course and -1 for speed.

I looked at the .cpp file and realized that 1000 and -1 represent invalid data for those functions.  But I don't understand why I am getting invalid data.

Could you offer some advice as to what might be the problem? Thanks.
Logged

Dallas, Texas
Offline Offline
God Member
*****
Karma: 30
Posts: 887
Old, decrepit curmugeon
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi Mikal,
Thank you for writing this library.
I am having a bit of a problem that I hope you can help with. I am using an arduino uno and a venus gps module. I seem to get valid NMEA sentences and I get good readouts for Lat, Long, altitude, time, and (sometimes) date (they change as I walk around with the gps and the lat/long resolves to my current location). I cannot get readouts for course or speed no matter what I do. If I send the value to the serial monitor it shows 1000.0 for course and -1 for speed.

I looked at the .cpp file and realized that 1000 and -1 represent invalid data for those functions.  But I don't understand why I am getting invalid data.

Could you offer some advice as to what might be the problem? Thanks.

I would suggest trying to capture the full nmea output from your gps to a text file and attaching it to your question, also posting it in the Programming forum might be more appropriate.  My initial guess is that your gps is not output the sentences that the library is using for course and speed.
Logged

New true random number library available at: http://code.google.com/p/avr-hardware-random-number-generation/

Current version 1.0.1

Offline Offline
Newbie
*
Karma: 2
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi Mikal and all,

I am thinking of modifying the TinyGPS code to include information about the number of visible satellites.
Looking at the c++ code, I am very confused about how to do it.

Here is my initial thoughts:

Code:
int TinyGPS::f_numsats()
{
return _numsats == GPS_INVALID_SATELLITES ? GPS_INVALID_SATELLITES : _numsats;
}

Would that work?

As of this edit: The above code works. Do remember to add int f_numsats(); into the TinyGPS.h file too.
« Last Edit: February 06, 2014, 07:41:39 am by ECUni » Logged

Pages: [1]   Go Up
Jump to: