GPS still not working

16 views
Skip to first unread message

Gregg Lind

unread,
Jun 23, 2014, 11:50:02 PM6/23/14
to rove...@googlegroups.com
I really miss using roverlog this past weekend again for the ARRL VHF contest again, I bought a new PC and moved from XP to Windows 8 in 64 bit mode, and now have USB GPS that works with other applications on Windows 8, that I use, but roverlog is not working with it, , and I have tried a number of fixes myself and seem not able to fix the software.. My GPS outputs out a number of lines of text that rover I believe does not like and blanks the GPS location, utc time etc causing it to flicker and "invalid GPS" and not get a good gps text string. I can see at time it gets the correct grid and UTC time so I know it is parsing the GPS lines, but I suspect the extra stuff this GPS outputs is causing it to clear the strings in the code and ignore things... I am not sure any help would be great I have include a same output from the GPS and also a past roverlog dump.... 

It had some say to do this change did it and still have the problems

Roverlog's GPS module doesn't like the decimals on the time of day (222243.000).

If you replace the two occurrences of
      set utc [ lindex $parsed 1 ]

with
      set utc [ lindex [ split [ lindex $parsed 1 ] "." ] 0 ]

then you should be fine. but it was not I still have the problem

Did the replacement but a new problem seems to come and go the gps info blanks out/flickers 


2013-09-04 19:14: Init_Data: Clearing variables
2013-09-04 19:14: Read_GPS: Got a $GPGGA line
2013-09-04 19:14: To_Grid: lat lon = 42.017218 -91.694465
2013-09-04 19:14: Read_GPS: Cancelling after job.
2013-09-04 19:14: Read_GPS: Scheduling after job.
2013-09-04 19:14: Read_GPS: Got a $GPRMC line
2013-09-04 19:14: Read_GPS: Invalid $GPRMC line
2013-09-04 19:14: Init_Data: Clearing variables
2013-09-04 19:14: Read_GPS: Got a $GPGGA line
2013-09-04 19:14: Read_GPS: Invalid $GPGGA line
2013-09-04 19:14: Init_Data: Clearing variables

I just cannot figure out how to change the code to read the  GPS.. correctly.

I dumped the GPS output and also the Roverlog GPS output log.

013-09-04 17:08: Init_Data: Clearing variables
2013-09-04 17:08: Read_GPS: Got a $GPGGA line
2013-09-04 17:08: Read_GPS: Invalid $GPGGA line
2013-09-04 17:08: Init_Data: Clearing variables
2013-09-04 17:08: Read_GPS: Got a $GPRMC line
2013-09-04 17:08: Read_GPS: Invalid $GPRMC line
2013-09-04 17:08: Init_Data: Clearing variables
2013-09-04 17:08: Read_GPS: Got a $GPGGA line
2013-09-04 17:08: Read_GPS: Invalid $GPGGA line
2013-09-04 17:08: Init_Data: Clearing variables
2013-09-04 17:08: Read_GPS: Got a $GPRMC line
2013-09-04 17:08: Read_GPS: Invalid $GPRMC line
2013-09-04 17:08: Init_Data: Clearing variables
2013-09-04 17:08: Read_GPS: Got a $GPGGA line
2013-09-04 17:08: Read_GPS: Invalid $GPGGA line
2013-09-04 17:08: Init_Data: Clearing variables
2013-09-04 17:08: Read_GPS: Got a $GPRMC line
2013-09-04 17:08: Read_GPS: Invalid $GPRMC line
2013-09-04 17:08: Init_Data: Clearing variables
2013-09-04 17:08: Read_GPS: Got a $GPGGA line
2013-09-04 17:08: Read_GPS: Invalid $GPGGA line
2013-09-04 17:08: Init_Data: Clearing variables
2013-09-04 17:08: Read_GPS: Got a $GPRMC line
2013-09-04 17:08: Read_GPS: Invalid $GPRMC line
2013-09-04 17:08: Init_Data: Clearing variables
2013-09-04 17:08: Read_GPS: Got a $GPGGA line
2013-09-04 17:08: Read_GPS: Invalid $GPGGA line
2013-09-04 17:08: Init_Data: Clearing variables
2013-09-04 17:08: Read_GPS: Got a $GPRMC line
2013-09-04 17:08: Read_GPS: Invalid $GPRMC line
2013-09-04 17:08: Init_Data: Clearing variables
2013-09-04 17:08: Read_GPS: Got a $GPGGA line
2013-09-04 17:08: Read_GPS: Invalid $GPGGA line
2013-09-04 17:08: Init_Data: Clearing variables
2013-09-04 17:08: Read_GPS: Got a $GPRMC line
2013-09-04 17:08: Read_GPS: Invalid $GPRMC line
2013-09-04 17:08: Init_Data: Clearing variables
2013-09-04 17:08: Read_GPS: Got a $GPGGA line
2013-09-04 17:08: Read_GPS: Invalid $GPGGA line
2013-09-04 17:08: Init_Data: Clearing variables
2013-09-04 17:08: Read_GPS: Got a $GPRMC line

output frm GPS puck -- model Globalsat BU-353s4

GPGSA,A,3,02,05,10,12,25,04,29,13,,,,,2.4,1.3,1.9*31
$GPRMC,222238.000,A,4201.0304,N,09141.6660,W,0.00,0.00,040913,,,D*76
$GPGGA,222239.000,4201.0304,N,09141.6660,W,2,08,1.3,259.1,M,-33.5,M,3.8,0000*44
$GPGSA,A,3,02,05,10,12,25,04,29,13,,,,,2.4,1.3,1.9*31
$GPGSV,3,1,12,02,71,031,41,05,58,179,48,10,52,064,44,12,50,226,47*77
$GPGSV,3,2,12,25,41,289,45,04,32,065,41,29,22,305,34,13,12,054,34*75
$GPGSV,3,3,12,51,38,202,45,30,31,302,,23,02,029,,17,02,120,*7B
$GPRMC,222239.000,A,4201.0304,N,09141.6660,W,0.00,0.00,040913,,,D*77
$GPGGA,222240.000,4201.0304,N,09141.6660,W,2,08,1.3,259.1,M,-33.5,M,4.8,0000*4D
$GPGSA,A,3,02,05,10,12,25,04,29,13,,,,,2.4,1.3,1.9*31
$GPRMC,222240.000,A,4201.0304,N,09141.6660,W,0.00,0.00,040913,,,D*79
$GPGGA,222241.000,4201.0304,N,09141.6660,W,2,08,1.3,259.1,M,-33.5,M,1.8,0000*49
$GPGSA,A,3,02,05,10,12,25,04,29,13,,,,,2.4,1.3,1.9*31
$GPRMC,222241.000,A,4201.0304,N,09141.6660,W,0.00,0.00,040913,,,D*78
$GPGGA,222242.000,4201.0304,N,09141.6660,W,2,08,1.3,259.1,M,-33.5,M,1.8,0000*4A
$GPGSA,A,3,02,05,10,12,25,04,29,13,,,,,2.4,1.3,1.9*31
$GPRMC,222242.000,A,4201.0304,N,09141.6660,W,0.00,0.00,040913,,,D*7B
$GPGGA,222243.000,4201.0304,N,09141.6660,W,2,08,1.3,259.1,M,-33.5,M,1.8,0000*4B
$GPGSA,A,3,02,05,10,12,25,04,29,13,,,,,2.4,1.3,1.9*31
$GPRMC,222243.000,A,4201.0304,N,09141.6660,W,0.00,0.00,040913,,,D*7A

Thomas

unread,
Jun 24, 2014, 12:30:03 AM6/24/14
to rove...@googlegroups.com
On Mon, Jun 23, 2014 at 10:50 PM, Gregg Lind <gregg...@gmail.com> wrote:
$GPRMC,222242.000,A,4201.0304,N,09141.6660,W,0.00,0.00,040913,,,D*7B
$GPGGA,222243.000,4201.0304,N,09141.6660,W,2,08,1.3,259.1,M,-33.5,M,1.8,0000*4B
$GPGSA,A,3,02,05,10,12,25,04,29,13,,,,,2.4,1.3,1.9*31
$GPRMC,222243.000,A,4201.0304,N,09141.6660,W,0.00,0.00,040913,,,D*7A

It's failing on this check:

string is integer $date

It's in the conditional immediately following set dech [ lindex $parsed 11 ]

This returns false due to the date having a leading zero.  040913 in the example you gave.

Perhaps this would be a suitable replacement:

regexp {^[0-9]+$} $date

i.e.

    if { ! [ regexp {^[0-9]+$} $utc ] ||
      ! [ string is double $lat ] ||
      ! [ string is double $lon ] ||
      ! [ regexp {^[0-9]+$} $date ] ||
      ! [ string is double $dech ] } {
      Debug "Read_GPS" "Invalid \$GPRMC line"
      Init_Data
      return
    }


--
-Thomas AC9BJ
Mount Horeb, WI  EN53da

Tom Mayo

unread,
Jun 24, 2014, 5:50:05 AM6/24/14
to rove...@googlegroups.com
I can fix that. I'll get to it in the next day or so. 

Sent from my mobile phone
--
You received this message because you are subscribed to the Google Groups "RoverLog" group.
To unsubscribe from this group and stop receiving emails from it, send an email to roverlog+u...@googlegroups.com.
To post to this group, send email to rove...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/roverlog/CAFe52LWF2w%2BbNqVBsfqMn_Sz5rfohMJZbkF7WZPP1nudD8-Xuw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Tom Mayo

unread,
Jun 24, 2014, 8:52:55 AM6/24/14
to rove...@googlegroups.com
Another option:

% set a "040913"
040913
% set b "1$a"
1040913
% string is integer $b
1




--
You received this message because you are subscribed to the Google Groups "RoverLog" group.
To unsubscribe from this group and stop receiving emails from it, send an email to roverlog+u...@googlegroups.com.
To post to this group, send email to rove...@googlegroups.com.

Tom Mayo

unread,
Jun 24, 2014, 9:14:44 AM6/24/14
to rove...@googlegroups.com
Folks,

Can you try this replacement gps.tcl?

Let me know if it works please.

Tom, N1MU.


--
You received this message because you are subscribed to the Google Groups "RoverLog" group.
To unsubscribe from this group and stop receiving emails from it, send an email to roverlog+u...@googlegroups.com.
To post to this group, send email to rove...@googlegroups.com.
gps.tcl
Reply all
Reply to author
Forward
0 new messages