Android Question GPS Leap Seconds and wrong time

fsj

Member
Licensed User
Longtime User
Hi there
I use some old Android smartphones with a B4A app, wich uses GPS lib V1.20
5 years ago when we updated the app last time, everything was working fine
now we have the problem with the incorrect gpstime
it needs about 18 seconds (i think that are the leap seconds) to get the correct time
after starting the app, time from the gps sentence RMC is about 18 seconds ahead
after about 15 tp 20 minutes, time is correct.
How can I solve this problem?
is there a flag if leap second is used?
is there a possiblity to get the GMT/UTC time instead of GPS time?
 
Last edited:

fsj

Member
Licensed User
Longtime User
because there is no flag if it's the correct time or not
If you use an Ublox receiver and the ublox datas, there you have the flag, but not in Android
so how to decide, if to subtract or not.
If the time will always be different with 18 seconds, I can do it, but it's not always this difference
 
Upvote 0

emexes

Expert
Licensed User
after starting the app, time from the gps sentence RMC is about 18 seconds ahead
That sounds correct. GPS time is currently 18 seconds ahead of UTC/GMT.

after about 15 tp 20 minutes, time is correct.
So... no change? The times were correct when starting the app, and after about 15 to 20 minutes, they're still correct?

How can I solve this problem?
If the times start out correct, and are still correct 15 to 20 minutes later, what is the problem?

Does the problem still exist if you close and restart the app after the "15 to 20 minutes, time is correct"?
 
Upvote 0

fsj

Member
Licensed User
Longtime User
Sorry for not expressing myself clearly:
After starting the app, the time is wrong, but after a certain amount of time (usually 15 to 20 minutes) it is correct. But the GPS seems to restart when another window was in the foreground and is closed again or the app itself is no longer in the foreground. Unfortunately, this doesn't always happen.
If it were always like this, you could set a flag to show whether the 18 seconds have already been deducted or not.
How can you query an NTP server to compare the time?
 
Upvote 0

emexes

Expert
Licensed User
I'm still confused about which time is wrong, so I'll stop pestering you about that.

But I can help you with this:

How can you query an NTP server to compare the time?

Find yourself an NTP server eg via https://www.ntppool.org

Get the numeric IP address of that server. I usually just do a command line ping eg:

HTML:
$ ping 3.africa.pool.ntp.org

Pinging 3.africa.pool.ntp.org [196.10.52.58] with 32 bytes of data:
Reply from 196.10.52.58: bytes=32 time=412ms TTL=40
Reply from 196.10.52.58: bytes=32 time=357ms TTL=40
Reply from 196.10.52.58: bytes=32 time=353ms TTL=40
Reply from 196.10.52.58: bytes=32 time=351ms TTL=40

Ping statistics for 196.10.52.58:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 351ms, Maximum = 412ms, Average = 368ms

$

Send a 48-byte packet of a single byte 0x1B (decimal 27) followed by 47 bytes of 0x00s, by UDP to port 123 at that IP address.

You'll get back a 48-byte packet from the server, with a timestamp of the NTP server time when the packet was transmitted to you as a 64-bit integer per:

https://www.meinbergglobal.com/english/info/ntp-packet.htm

I think the bytes are big-endian, but then again so is Java and thus B4A and B4J, so you might be in luck, no byte twiddling required.

I found it easiest to put the 64-bit timestamp into a Double, then divide it by 2^32 to convert it to seconds.

Ideally that timestamp will only be a few milliseconds old and that will be close enough for your purpose. You could keep an eye on the round-trip time by reading DateTime.Now before you send your "request" and after you receive the reply, and assume that the one-way trip time is half of that.
 
Last edited:
Upvote 0

fsj

Member
Licensed User
Longtime User
I'm still confused about which time is wrong, so I'll stop pestering you about that.
Got an "old" LG G4 smartphone from a friend and on this it works as expected.
So the issue is only with this over 10 years old Lenovo smartphone. Don't know why this changed, in 2019 (last change off the app) we didn't had this problems. I'm not sure, we had it the first time, but I think was last year.

will try the NTP as soon as possible. Then will change the app to compare GPS and NTP and if the difference is more then 10 seconds, will subtract 18 seconds or use the NTP time
 
Upvote 0

emexes

Expert
Licensed User
How can you query an NTP server to compare the time?

Lol I probably shouldn't admit this, but my first port of call for programming nowadays is to give AI a burl. I asked Grok:

Grok prompt:
Please write simple B4J code to read time from an NTP server via UDP

and it came back with a good starting point:

B4X:
#Region Project Attributes
#MainFormWidth: 300
#MainFormHeight: 300
#End Region

Sub Process_Globals
    Private fx As JFX
    Private MainForm As Form
    Private xui As XUI
    Private Button1 As B4XView
    Private UDPSocket1 As UDPSocket
    Private NTPPort As Int = 123
    Private NTP1970 As Long = ((1970 - 1900) * 365 + 17).As(Long) * 86400
    Private NTPTimeStamp(4) As Double
End Sub

Sub AppStart (Form1 As Form, Args() As String)
    MainForm = Form1
    MainForm.RootPane.LoadLayout("Layout1")
    MainForm.Show
    UDPSocket1.Initialize("UDP", 8000, 8000)
End Sub

Sub SendNtpRequest(NTPServerName As String)
    Dim data(48) As Byte
    data(0) = 0x1B 'This sets the first byte to 27 (00011011 in binary), which is the NTP request format
    Dim Packet As UDPPacket
    Packet.Initialize(data, NTPServerName, NTPPort)
    NTPTimeStamp(4) = 0 ' Reset this to check if we receive a reply
    NTPTimeStamp(1) = DateTime.Now ' Record the time when the request is sent
    UDPSocket1.Send(Packet)
End Sub

Sub UDP_PacketArrived (Packet As UDPPacket)
    If Packet.Length < 48 Then Return ' Ensure we have enough data
    NTPTimeStamp(4) = DateTime.Now ' Record the time when the response is received
    Dim StartFrom As Int = Packet.Offset + 32 ' Start reading from the 32nd byte for time data
    For ServerTimeStamp = 2 To 3
        Dim Temp As Long = 0
        For I = StartFrom To StartFrom + 6 '7 bytes for each timestamp (32 bits seconds + 24 bits fraction)
            Temp = Bit.ShiftLeftLong(Temp, 8) + Bit.And(Packet.Data(I), 0xFF)
        Next
        Dim NTPSeconds As Double = Temp / 0x1000000 ' Convert to seconds, shifting binary point 24 bits left
        NTPTimeStamp(ServerTimeStamp) = (NTPSeconds - NTP1970) * 1000 ' Convert to Java ticks (ms since 1970)
        StartFrom = StartFrom + 8 ' Move to next 64-bit timestamp
    Next
    ProcessNTPTime
End Sub

Sub Button1_Click
    Dim NTPServerName As String = "au.pool.ntp.org" ' Use an Australian NTP server
    SendNtpRequest(NTPServerName)
    Sleep(2000) ' Wait for response - adjust this if needed
    If NTPTimeStamp(4) = 0 Then
        Log("No reply from " & NTPServerName)
        Return
    End If
    ProcessNTPTime
End Sub

Sub ProcessNTPTime
    Dim LocalTimeMiddle As Double = (NTPTimeStamp(1) + NTPTimeStamp(4)) / 2
    Dim ServerTimeMiddle As Double = (NTPTimeStamp(2) + NTPTimeStamp(3)) / 2
    Dim DeviceToNTPOffset As Double = ServerTimeMiddle - LocalTimeMiddle
   
    Dim Direction As String = If(DeviceToNTPOffset < 0, "ahead of", "behind")
    Log("Device clock is " & NumberFormat2(Abs(DeviceToNTPOffset), 1, 1, 1, False) & " ms " & Direction & " NTP server time (roundtrip " & NumberFormat2(NTPTimeStamp(4) - NTPTimeStamp(1), 1, 1, 1, False) & " ms)")
   
    DateTime.TimeFormat = "hh:mm:ss.SSS"
    Dim N As Long = DateTime.Now
    Log("Device clock = " & DateTime.Time(N))
    Log("NTP clock = " & DateTime.Time(N + DeviceToNTPOffset))
End Sub

which at first glance looks like it's doing the right stuff: UDP, port 123, 48-byte packet with first byte being 27. Grok was even kind enough to use a local NTP server here in Australia. The only thing that looks wrong is that it is dividing the timestamp by 2^24 rather than 2^32, but on the other hand I do vaguely remember an issue with the fractional second, so... could easily be me wrong there. 🤫
 
Upvote 0

emexes

Expert
Licensed User
I changed If( to Iif( on line 66 and NTPTimeStamp(4) to NTPTimeStamp(5) on line 14, and... yikes, it seems to actually run, possibly even run correctly too. 😲

I'm surprised that relatively complex code had those simple mistakes. Syntax error, and off-by-one out-of-bounds error.

Still checking out the division by 2^24 when I expected by 2^32.
 
Upvote 0

emexes

Expert
Licensed User
Still checking out the division by 2^24 when I expected by 2^32.

For some reason, is only using 24 bits of fraction rather than 32. No idea why. Perhaps it was to avoid wrapping into negative numbers when the high bit is set. Fair enough. Hey, if it works, it works. 🍻

B4X:
        Dim Temp As Long = 0
        For I = StartFrom To StartFrom + 6 '7 bytes for each timestamp (32 bits seconds + 24 bits fraction)
            Temp = Bit.ShiftLeftLong(Temp, 8) + Bit.And(Packet.Data(I), 0xFF)
        Next
        Dim NTPSeconds As Double = Temp / 0x1000000 ' Convert to seconds, shifting binary point 24 bits left
        NTPTimeStamp(ServerTimeStamp) = (NTPSeconds - NTP1970) * 1000 ' Convert to Java ticks (ms since 1970)
 
Upvote 0

fsj

Member
Licensed User
Longtime User
Did many tests over the last hours. I think the GPS receiver of the smartphone has an issue

here is the NMEA sentence of the smartphone (I made the cordinates unreadable)
now it also makes a change by itself of 18 seconds in the other direction.

$GPGGA,091154.000,xxxx.1143,N,xxxxx.1424,E,1,10,0.84,514.6,M,46.5,M,,*6B

was correct. one second later i got
$GPGGA,091213.000,xxxx.1144,N,xxxxx.1427,E,1,4,1.97,514.6,M,46.5,M,,*59

also RMC brings the wrong date (if the time is correct
$GPRMC,091154.000,A,xxxx.1143,N,xxxxx.1424,E,0.108,319.41,250405,,,A*54

and the correct date if the time iw wrong
$GPRMC,091213.000,A,xxxx.1144,N,xxxxx.1427,E,0.192,348.77,091224,,,A*58

complete NMEA set:
$GPGGA,091129.000,xxxx.1135,N,xxxxx.1431,E,1,7,1.18,514.6,M,46.5,M,,*56
$GPGSA,A,3,30,05,13,14,20,22,07,,,,,,1.51,1.18,0.95*07
$GPGSV,3,1,11,30,67,062,29,05,57,259,43,13,54,297,25,14,48,147,44*7A
$GPGSV,3,2,11,20,42,208,44,22,32,167,42,07,30,063,24,15,20,299,*67
$GPGSV,3,3,11,18,11,320,,08,10,049,,27,02,019,*4A
$GLGSV,3,1,9,66,66,330,,76,64,189,19,65,56,125,,75,48,042,*45
$GLGSV,3,2,9,77,18,206,,67,14,315,,83,12,342,,82,09,302,*5C
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091129.000,A,xxxx.1135,N,xxxxx.1431,E,0.050,155.24,250405,,,A*5E
$GPVTG,155.24,T,,M,0.050,N,0.093,K,A*35
$GPACCURACY,3.7*0C
$GPGGA,091130.000,xxxx.1138,N,xxxxx.1432,E,1,7,1.18,514.6,M,46.5,M,,*50
$GPGSA,A,3,30,05,13,14,20,22,07,,,,,,1.51,1.18,0.95*07
$GPGSV,3,1,11,30,67,062,28,05,57,259,43,13,54,297,25,14,48,147,43*76
$GPGSV,3,2,11,20,42,208,44,22,32,167,42,07,30,063,27,15,20,299,*69
$GPGSV,3,3,11,18,11,320,,08,10,049,,27,02,019,*4A
$GLGSV,3,1,9,66,66,330,,76,64,189,18,65,56,125,,75,48,042,*47
$GLGSV,3,2,9,77,18,206,,67,14,315,,83,12,342,,82,09,302,*5C
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091130.000,A,xxxx.1138,N,xxxxx.1432,E,0.064,155.24,250405,,,A*5F
$GPVTG,155.24,T,,M,0.064,N,0.118,K,A*30
$GPACCURACY,3.5*0E
$GPGGA,091131.000,xxxx.1137,N,xxxxx.1429,E,1,7,1.18,514.6,M,46.5,M,,*54
$GPGSA,A,3,30,05,13,14,20,22,07,,,,,,1.51,1.18,0.95*07
$GPGSV,3,1,11,30,67,062,30,05,57,259,43,13,54,297,24,14,48,147,44*72
$GPGSV,3,2,11,20,42,208,44,22,32,167,42,07,30,063,27,15,20,299,*60
$GPGSV,3,3,11,18,11,320,,08,10,049,,27,02,019,*4A
$GLGSV,3,1,9,66,66,330,,76,64,189,22,65,56,125,,75,48,042,*4A
$GLGSV,3,2,9,77,18,206,,67,14,315,,83,12,342,,82,09,302,*5C
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091131.000,A,xxxx.1137,N,xxxxx.1429,E,0.059,155.24,250405,,,A*55
$GPVTG,155.24,T,,M,0.059,N,0.110,K,A*36
$GPACCURACY,3.3*08
$GPGGA,091132.000,xxxx.1135,N,xxxxx.1425,E,1,7,1.18,514.6,M,46.5,M,,*59
$GPGSA,A,3,30,05,13,14,20,22,07,,,,,,1.51,1.18,0.95*07
$GPGSV,3,1,11,30,67,062,30,05,57,259,44,13,54,297,25,14,48,147,43*7F
$GPGSV,3,2,11,20,42,208,44,22,32,167,42,07,30,063,27,15,20,299,*6F
$GPGSV,3,3,11,18,11,320,,08,10,049,,27,02,019,*4A
$GLGSV,3,1,9,66,66,330,,76,64,189,23,65,56,125,,75,48,042,*4F
$GLGSV,3,2,9,77,18,206,,67,14,315,,83,12,342,,82,09,302,*5C
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091132.000,A,xxxx.1135,N,xxxxx.1425,E,0.036,155.24,250405,,,A*51
$GPVTG,155.24,T,,M,0.036,N,0.067,K,A*3E
$GPACCURACY,3.1*0A
$GPGGA,091133.000,xxxx.1134,N,xxxxx.1423,E,1,8,1.09,514.6,M,46.5,M,,*50
$GPGSA,A,3,30,05,13,14,20,22,07,08,,,,,1.41,1.09,0.89*03
$GPGSV,3,1,11,30,67,062,29,05,57,259,44,13,54,297,24,14,48,147,44*72
$GPGSV,3,2,11,20,42,208,44,22,32,167,42,07,30,063,27,15,20,299,*65
$GPGSV,3,3,11,18,11,320,,08,10,049,14,27,02,019,*57
$GLGSV,3,1,9,66,66,330,,76,64,189,22,65,56,125,,75,48,042,*44
$GLGSV,3,2,9,77,18,206,,67,14,315,,83,12,342,,82,09,302,*5C
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091133.000,A,xxxx.1134,N,xxxxx.1423,E,0.067,155.24,250405,,,A*53
$GPVTG,155.24,T,,M,0.067,N,0.125,K,A*3D
$GPACCURACY,3.0*0B
$GPGGA,091134.000,xxxx.1134,N,xxxxx.1421,E,1,8,1.09,514.6,M,46.5,M,,*55
$GPGSA,A,3,30,05,13,14,20,22,07,08,,,,,1.41,1.09,0.89*03
$GPGSV,3,1,11,30,67,062,29,05,57,259,43,13,54,297,25,14,48,147,43*73
$GPGSV,3,2,11,20,42,208,43,22,32,167,41,07,30,063,27,15,20,299,*68
$GPGSV,3,3,11,18,11,320,,08,10,049,14,27,02,019,*57
$GLGSV,3,1,9,66,66,330,,76,64,189,28,65,56,125,,75,48,042,*46
$GLGSV,3,2,9,77,18,206,,67,14,315,,83,12,342,,82,09,302,*5C
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091134.000,A,xxxx.1134,N,xxxxx.1421,E,0.009,155.24,250405,,,A*5E
$GPVTG,155.24,T,,M,0.009,N,0.017,K,A*35
$GPACCURACY,2.9*03
$GPGGA,091135.000,xxxx.1132,N,xxxxx.1417,E,1,8,1.09,514.6,M,46.5,M,,*57
$GPGSA,A,3,30,05,13,14,20,22,07,08,,,,,1.41,1.09,0.89*03
$GPGSV,3,1,11,30,67,062,31,05,57,259,45,13,54,297,28,14,48,147,45*71
$GPGSV,3,2,11,20,42,208,46,22,32,167,43,07,30,063,29,15,20,299,*67
$GPGSV,3,3,11,18,11,320,,08,10,049,15,27,02,019,*55
$GLGSV,3,1,9,66,66,330,,76,64,189,31,65,56,125,,75,48,042,*4D
$GLGSV,3,2,9,77,18,206,,67,14,315,,83,12,342,,82,09,302,*5C
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091135.000,A,xxxx.1132,N,xxxxx.1417,E,0.034,155.24,250405,,,A*52
$GPVTG,155.24,T,,M,0.034,N,0.063,K,A*38
$GPACCURACY,2.8*02
$GPGGA,091136.000,xxxx.1131,N,xxxxx.1415,E,1,8,1.09,514.6,M,46.5,M,,*55
$GPGSA,A,3,30,05,13,14,20,22,07,08,,,,,1.41,1.09,0.89*03
$GPGSV,3,1,11,30,67,062,32,05,57,259,45,13,54,297,27,14,48,147,45*7D
$GPGSV,3,2,11,20,42,208,46,22,32,167,43,07,30,063,28,15,20,299,*67
$GPGSV,3,3,11,18,11,320,,08,10,049,15,27,02,019,*55
$GLGSV,3,1,9,66,66,330,,76,64,189,34,65,56,125,,75,48,042,*4B
$GLGSV,3,2,9,77,18,206,,67,14,315,,83,12,342,,82,09,302,*5C
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091136.000,A,xxxx.1131,N,xxxxx.1415,E,0.113,155.24,250405,,,A*54
$GPVTG,155.24,T,,M,0.113,N,0.210,K,A*3A
$GPACCURACY,2.7*0D
$GPGGA,091137.000,xxxx.1132,N,xxxxx.1415,E,1,8,1.09,514.6,M,46.5,M,,*57
$GPGSA,A,3,30,05,13,14,20,22,07,08,,,,,1.41,1.09,0.89*03
$GPGSV,3,1,11,30,67,062,30,05,57,259,43,13,54,297,24,14,48,147,43*7E
$GPGSV,3,2,11,20,42,208,43,22,32,167,41,07,30,063,25,15,20,299,*66
$GPGSV,3,3,11,18,11,320,,08,10,049,15,27,02,019,*55
$GLGSV,3,1,9,66,66,330,,76,64,189,28,65,56,125,,75,48,042,*43
$GLGSV,3,2,9,77,18,206,,67,14,315,,83,12,342,,82,09,302,*5C
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091137.000,A,xxxx.1132,N,xxxxx.1415,E,0.086,155.24,250405,,,A*5B
$GPVTG,155.24,T,,M,0.086,N,0.159,K,A*39
$GPACCURACY,2.6*0C
$GPGGA,091138.000,xxxx.1132,N,xxxxx.1415,E,1,8,1.09,514.6,M,46.5,M,,*58
$GPGSA,A,3,30,05,13,14,20,22,07,08,,,,,1.41,1.09,0.89*03
$GPGSV,3,1,11,30,67,062,29,05,57,259,43,13,54,297,25,14,48,147,44*7B
$GPGSV,3,2,11,20,42,208,44,22,32,167,42,07,30,063,26,15,20,299,*6C
$GPGSV,3,3,11,18,11,320,,08,10,049,14,27,02,019,*55
$GLGSV,3,1,9,66,66,330,,76,64,189,29,65,56,125,,75,48,042,*40
$GLGSV,3,2,9,77,18,206,,67,14,315,,83,12,342,,82,09,302,*5C
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091138.000,A,xxxx.1132,N,xxxxx.1415,E,0.115,329.97,250405,,,A*5E
$GPVTG,329.97,T,,M,0.115,N,0.213,K,A*3E
$GPACCURACY,2.6*0C
$GPGGA,091138.500,xxxx.1132,N,xxxxx.1414,E,1,8,1.09,514.6,M,46.5,M,,*5C
$GPGSA,A,3,30,05,13,14,20,22,07,08,,,,,1.41,1.09,0.89*03
$GPGSV,3,1,11,30,67,062,31,05,57,259,45,13,54,297,25,14,48,147,44*74
$GPGSV,3,2,11,20,42,208,45,22,32,167,43,07,30,063,25,15,20,299,*61
$GPGSV,3,3,11,18,11,320,,08,10,049,14,27,02,019,*55
$GLGSV,3,1,9,66,66,330,,76,64,189,29,65,56,125,,75,48,042,*4E
$GLGSV,3,2,9,77,18,206,18,67,14,315,,83,12,342,,82,09,302,*4A
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091138.500,A,xxxx.1132,N,xxxxx.1414,E,0.106,321.21,250405,,,A*5D
$GPVTG,321.21,T,,M,0.106,N,0.196,K,A*37
$GPACCURACY,2.5*0F
$GPGGA,091139.000,xxxx.1132,N,xxxxx.1414,E,1,8,1.09,514.6,M,46.5,M,,*58
$GPGSA,A,3,30,05,13,14,20,22,07,08,,,,,1.41,1.09,0.89*03
$GPGSV,3,1,11,30,67,062,30,05,57,259,45,13,54,297,27,14,48,147,45*7A
$GPGSV,3,2,11,20,42,208,45,22,32,167,42,07,30,063,27,15,20,299,*60
$GPGSV,3,3,11,18,11,320,,08,10,049,14,27,02,019,*55
$GLGSV,3,1,9,66,66,330,,76,64,189,26,65,56,125,,75,48,042,*40
$GLGSV,3,2,9,77,18,206,19,67,14,315,,83,12,342,,82,09,302,*4F
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091139.000,A,xxxx.1132,N,xxxxx.1414,E,0.277,22.84,250405,,,A*63
$GPVTG,22.84,T,,M,0.277,N,0.513,K,A*04
$GPACCURACY,2.4*0E
$GPGGA,091139.500,xxxx.1132,N,xxxxx.1414,E,1,8,1.09,514.6,M,46.5,M,,*5D
$GPGSA,A,3,30,05,13,14,20,22,07,08,,,,,1.41,1.09,0.89*03
$GPGSV,3,1,11,30,67,062,30,05,57,259,45,13,54,297,26,14,48,147,44*77
$GPGSV,3,2,11,20,42,208,45,22,32,167,42,07,30,063,25,15,20,299,*60
$GPGSV,3,3,11,18,11,320,,08,10,049,14,27,02,019,*55
$GLGSV,3,1,9,66,66,330,,76,64,189,27,65,56,125,,75,48,042,*4C
$GLGSV,3,2,9,77,18,206,19,67,14,315,,83,12,342,,82,09,302,*49
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091139.500,A,xxxx.1132,N,xxxxx.1414,E,0.213,17.88,250405,,,A*6E
$GPVTG,17.88,T,,M,0.213,N,0.394,K,A*05
$GPACCURACY,2.4*0E
$GPGGA,091141.000,xxxx.1133,N,xxxxx.1415,E,1,8,1.09,514.6,M,46.5,M,,*57
$GPGSA,A,3,30,05,13,14,20,22,07,08,,,,,1.41,1.09,0.89*03
$GPGSV,3,1,11,30,67,062,29,05,57,259,44,13,54,297,25,14,48,147,44*71
$GPGSV,3,2,11,20,42,208,44,22,32,167,42,07,30,063,24,15,20,299,*6A
$GPGSV,3,3,11,18,11,320,,08,10,049,16,27,02,019,*5B
$GLGSV,3,1,9,66,66,330,,76,64,189,24,65,56,125,,75,48,042,*49
$GLGSV,3,2,9,77,18,206,18,67,14,315,,83,12,342,,82,09,302,*4F
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091141.000,A,xxxx.1133,N,xxxxx.1415,E,0.100,52.40,250405,,,A*60
$GPVTG,52.40,T,,M,0.100,N,0.184,K,A*02
$GPACCURACY,2.4*0E
$GPGGA,091142.000,xxxx.1134,N,xxxxx.1415,E,1,8,1.09,514.6,M,46.5,M,,*53
$GPGSA,A,3,30,05,13,14,20,22,07,08,,,,,1.41,1.09,0.89*03
$GPGSV,3,1,11,30,67,062,30,05,57,259,44,13,54,297,25,14,48,147,44*75
$GPGSV,3,2,11,20,42,208,44,22,32,167,42,07,30,063,23,15,20,299,*67
$GPGSV,3,3,11,18,11,320,,08,10,049,16,27,02,019,*5B
$GLGSV,3,1,9,66,66,330,,76,64,189,26,65,56,125,,75,48,042,*41
$GLGSV,3,2,9,77,18,206,16,67,14,315,,83,12,342,,82,09,302,*47
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091142.000,A,xxxx.1134,N,xxxxx.1415,E,0.210,356.85,250405,,,A*58
$GPVTG,356.85,T,,M,0.210,N,0.389,K,A*31
$GPACCURACY,2.3*09
$GPGGA,091143.000,xxxx.1135,N,xxxxx.1416,E,1,8,1.09,514.6,M,46.5,M,,*50
$GPGSA,A,3,30,05,13,14,20,22,07,08,,,,,1.41,1.09,0.89*03
$GPGSV,3,1,11,30,67,062,29,05,57,259,43,13,54,297,24,14,48,147,44*73
$GPGSV,3,2,11,20,42,208,44,22,32,167,42,07,30,063,23,15,20,299,*69
$GPGSV,3,3,11,18,11,320,,08,10,049,15,27,02,019,*52
$GLGSV,3,1,9,66,66,330,,76,64,189,25,65,56,125,,75,48,042,*4B
$GLGSV,3,2,9,77,18,206,15,67,14,315,,83,12,342,,82,09,302,*40
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091143.000,A,xxxx.1135,N,xxxxx.1416,E,0.183,341.11,250405,,,A*59
$GPVTG,341.11,T,,M,0.183,N,0.340,K,A*36
$GPACCURACY,2.3*09
$GPGGA,091144.000,xxxx.1136,N,xxxxx.1418,E,1,8,1.09,514.6,M,46.5,M,,*5A
$GPGSA,A,3,30,05,13,14,20,22,07,08,,,,,1.41,1.09,0.89*03
$GPGSV,3,1,11,30,67,062,29,05,57,259,43,13,54,297,24,14,48,147,44*74
$GPGSV,3,2,11,20,42,208,44,22,32,167,41,07,30,063,21,15,20,299,*60
$GPGSV,3,3,11,18,11,320,,08,10,049,15,27,02,019,*52
$GLGSV,3,1,9,66,66,330,,76,64,189,24,65,56,125,,75,48,042,*4C
$GLGSV,3,2,9,77,18,206,16,67,14,315,,83,12,342,,82,09,302,*46
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091144.000,A,xxxx.1136,N,xxxxx.1418,E,0.120,68.41,250405,,,A*67
$GPVTG,68.41,T,,M,0.120,N,0.222,K,A*07
$GPACCURACY,2.3*09
$GPGGA,091145.000,xxxx.1137,N,xxxxx.1419,E,1,8,1.09,514.6,M,46.5,M,,*5B
$GPGSA,A,3,30,05,13,14,20,22,07,08,,,,,1.41,1.09,0.89*03
$GPGSV,3,1,11,30,67,062,29,05,57,259,45,13,54,297,24,14,48,147,45*7F
$GPGSV,3,2,11,20,42,208,45,22,32,167,43,07,30,063,21,15,20,299,*6E
$GPGSV,3,3,11,18,11,320,,08,10,049,14,27,02,019,*55
$GLGSV,3,1,9,66,66,330,,76,64,189,27,65,56,125,,75,48,042,*49
$GLGSV,3,2,9,77,18,206,16,67,14,315,,83,12,342,,82,09,302,*46
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091145.000,A,xxxx.1137,N,xxxxx.1419,E,0.112,6.18,250405,,,A*53
$GPVTG,6.18,T,,M,0.112,N,0.208,K,A*3A
$GPACCURACY,2.2*08
$GPGGA,091146.000,xxxx.1138,N,xxxxx.1420,E,1,8,1.09,514.6,M,46.5,M,,*5D
$GPGSA,A,3,30,05,13,14,20,22,07,08,,,,,1.41,1.09,0.89*03
$GPGSV,3,1,11,30,67,062,32,05,57,259,46,13,54,297,24,14,48,147,46*75
$GPGSV,3,2,11,20,42,208,45,22,32,167,44,07,30,063,21,15,20,299,*67
$GPGSV,3,3,11,18,11,320,,08,10,049,14,27,02,019,*55
$GLGSV,3,1,9,66,66,330,,76,64,189,34,65,56,125,26,75,48,042,*59
$GLGSV,3,2,9,77,18,206,27,67,14,315,,83,12,342,,82,09,302,*42
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091146.000,A,xxxx.1138,N,xxxxx.1420,E,0.126,337.47,250405,,,A*59
$GPVTG,337.47,T,,M,0.126,N,0.233,K,A*3E
$GPACCURACY,2.2*08
$GPGGA,091147.000,xxxx.1139,N,xxxxx.1420,E,1,8,1.09,514.6,M,46.5,M,,*5D
$GPGSA,A,3,30,05,13,14,20,22,07,08,,,,,1.41,1.09,0.89*03
$GPGSV,3,1,11,30,67,062,31,05,57,259,46,13,54,297,25,14,48,147,46*79
$GPGSV,3,2,11,20,42,208,46,22,32,167,44,07,30,063,23,15,20,299,*6A
$GPGSV,3,3,11,18,11,320,,08,10,049,14,27,02,019,*55
$GLGSV,3,1,9,66,66,330,,76,64,189,36,65,56,125,26,75,48,042,*56
$GLGSV,3,2,9,77,18,206,28,67,14,315,,83,12,342,,82,09,302,*4F
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091147.000,A,xxxx.1139,N,xxxxx.1420,E,0.166,346.38,250405,,,A*53
$GPVTG,346.38,T,,M,0.166,N,0.307,K,A*32
$GPACCURACY,2.2*08
$GPGGA,091148.000,xxxx.1140,N,xxxxx.1421,E,1,8,1.09,514.6,M,46.5,M,,*5D
$GPGSA,A,3,30,05,13,14,20,22,07,08,,,,,1.41,1.09,0.89*03
$GPGSV,3,1,11,30,67,062,31,05,57,259,46,13,54,297,26,14,48,147,46*72
$GPGSV,3,2,11,20,42,208,46,22,32,167,43,07,30,063,23,15,20,299,*6E
$GPGSV,3,3,11,18,11,320,,08,10,049,13,27,02,019,*54
$GLGSV,3,1,9,66,66,330,,76,64,189,34,65,56,125,28,75,48,042,*5F
$GLGSV,3,2,9,77,18,206,28,67,14,315,,83,12,342,,82,09,302,*49
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091148.000,A,xxxx.1140,N,xxxxx.1421,E,0.141,357.11,250405,,,A*5D
$GPVTG,357.11,T,,M,0.141,N,0.260,K,A*3C
$GPACCURACY,2.2*08
$GPGGA,091149.000,xxxx.1140,N,xxxxx.1421,E,1,9,0.91,514.6,M,46.5,M,,*5D
$GPGSA,A,3,30,05,13,14,20,22,07,08,15,,,,1.24,0.91,0.85*08
$GPGSV,3,1,11,30,67,062,31,05,57,259,44,13,54,297,25,14,48,147,44*74
$GPGSV,3,2,11,20,42,208,44,22,32,167,42,07,30,063,23,15,20,299,19*7A
$GPGSV,3,3,11,18,11,320,,08,10,049,13,27,02,019,*54
$GLGSV,3,1,9,66,66,330,,76,64,189,29,65,56,125,21,75,48,042,*5F
$GLGSV,3,2,9,77,18,206,22,67,14,315,,83,12,342,,82,09,302,*47
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091149.000,A,xxxx.1140,N,xxxxx.1421,E,0.142,335.36,250405,,,A*5E
$GPVTG,335.36,T,,M,0.142,N,0.263,K,A*3D
$GPACCURACY,2.2*08
$GPGGA,091150.000,xxxx.1140,N,xxxxx.1421,E,1,8,0.98,514.6,M,46.5,M,,*5D
$GPGSA,A,3,30,05,13,14,20,22,08,15,,,,,1.30,0.98,0.85*03
$GPGSV,3,1,11,30,67,062,31,05,57,259,45,13,54,297,27,14,48,147,45*77
$GPGSV,3,2,11,20,42,208,45,22,32,167,43,07,30,063,19,15,20,299,19*7B
$GPGSV,3,3,11,18,11,320,,08,10,049,12,27,02,018,*57
$GLGSV,3,1,9,66,66,330,,76,64,189,30,65,56,125,19,75,48,042,*5B
$GLGSV,3,2,9,77,18,206,19,67,14,315,,83,12,342,,82,09,302,*4D
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091150.000,A,xxxx.1140,N,xxxxx.1421,E,0.007,169.03,250405,,,A*5B
$GPVTG,169.03,T,,M,0.007,N,0.014,K,A*32
$GPACCURACY,2.1*0B
$GPGGA,091151.000,xxxx.1140,N,xxxxx.1421,E,1,9,0.91,514.6,M,46.5,M,,*54
$GPGSA,A,3,30,05,13,14,20,22,07,08,15,,,,1.24,0.91,0.85*08
$GPGSV,3,1,11,30,67,062,31,05,57,259,45,13,54,297,27,14,48,147,45*72
$GPGSV,3,2,11,20,42,208,45,22,32,167,43,07,30,063,19,15,20,299,18*70
$GPGSV,3,3,11,18,11,320,,08,10,049,12,27,02,018,*57
$GLGSV,3,1,9,66,66,330,,76,64,189,29,65,56,125,19,75,48,042,*51
$GLGSV,3,2,9,77,18,206,20,67,14,315,,83,12,342,,82,09,302,*46
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091151.000,A,xxxx.1140,N,xxxxx.1421,E,0.046,205.80,250405,,,A*5D
$GPVTG,205.80,T,,M,0.046,N,0.086,K,A*3E
$GPACCURACY,2.1*0B
$GPGGA,091152.000,xxxx.1141,N,xxxxx.1423,E,1,9,0.91,514.6,M,46.5,M,,*54
$GPGSA,A,3,30,05,13,14,20,22,07,08,15,,,,1.24,0.91,0.85*08
$GPGSV,3,1,11,30,67,062,29,05,57,259,44,13,54,297,24,14,48,147,44*76
$GPGSV,3,2,11,20,42,208,44,22,32,167,41,07,30,063,19,15,20,299,18*71
$GPGSV,3,3,11,18,11,320,,08,10,049,12,27,02,018,*57
$GLGSV,3,1,9,66,66,330,,76,64,189,21,65,56,125,16,75,48,042,*56
$GLGSV,3,2,9,77,18,206,16,67,14,315,,83,12,342,,82,09,302,*45
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091152.000,A,xxxx.1141,N,xxxxx.1423,E,0.172,36.83,250405,,,A*6A
$GPVTG,36.83,T,,M,0.172,N,0.319,K,A*0C
$GPACCURACY,2.1*0B
$GPGGA,091153.000,xxxx.1142,N,xxxxx.1424,E,1,10,0.84,514.6,M,46.5,M,,*6D
$GPGSA,A,3,30,05,13,14,20,22,07,08,18,15,,,1.18,0.84,0.82*0D
$GPGSV,3,1,11,30,67,062,29,05,57,259,44,13,54,297,24,14,48,147,44*79
$GPGSV,3,2,11,20,42,208,43,22,32,167,41,07,30,063,19,15,20,299,17*7D
$GPGSV,3,3,11,18,11,320,18,08,10,049,13,27,02,018,*4B
$GLGSV,3,1,9,66,66,330,,76,64,189,21,65,56,125,13,75,48,042,*5B
$GLGSV,3,2,9,77,18,206,16,67,14,315,,83,12,342,,82,09,302,*45
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091153.000,A,xxxx.1142,N,xxxxx.1424,E,0.195,42.85,250405,,,A*63
$GPVTG,42.85,T,,M,0.195,N,0.362,K,A*0C
$GPACCURACY,2.1*0B
$GPGGA,091154.000,xxxx.1143,N,xxxxx.1424,E,1,10,0.84,514.6,M,46.5,M,,*6B
$GPGSA,A,3,30,05,13,14,20,22,07,08,18,15,,,1.18,0.84,0.82*0D
$GPGSV,3,1,11,30,67,062,30,05,57,259,44,13,54,297,25,14,48,147,44*78
$GPGSV,3,2,11,20,42,208,43,22,32,167,41,07,30,063,20,15,20,299,16*73
$GPGSV,3,3,11,18,11,320,17,08,10,049,13,27,02,018,*4E
$GLGSV,3,1,9,66,66,330,,76,64,189,19,65,56,125,13,75,48,042,*50
$GLGSV,3,2,9,77,18,206,16,67,14,315,,83,12,342,,82,09,302,*45
$GLGSV,3,3,9,72,01,131,*6B
$GPRMC,091154.000,A,xxxx.1143,N,xxxxx.1424,E,0.108,319.41,250405,,,A*54
$GPVTG,319.41,T,,M,0.108,N,0.199,K,A*3B
$GPACCURACY,2.1*0B
$GPGGA,091213.000,xxxx.1144,N,xxxxx.1427,E,1,4,1.97,514.6,M,46.5,M,,*59
$GPGSA,A,3,30,05,14,20,,,,,,,,,2.21,1.97,1.00*0C
$GPGSV,3,1,10,30,67,062,29,05,57,259,44,14,49,147,44,20,42,208,43*76
$GPGSV,3,2,10,13,,,25,22,,,42,07,,,23,08,,,13*7B
$GPGSV,3,3,10,18,,,17,15,,,16*7B
$GLGSV,2,1,8,66,67,331,,76,64,189,19,65,55,125,13,75,48,042,*5B
$GLGSV,2,2,8,77,18,206,13,67,15,316,,83,12,342,,82,08,302,*42
$GPRMC,091213.000,A,xxxx.1144,N,xxxxx.1427,E,0.192,348.77,091224,,,A*58
$GPVTG,348.77,T,,M,0.192,N,0.356,K,A*38
$GPACCURACY,2.1*0B
$GPGGA,091214.000,xxxx.1145,N,xxxxx.1430,E,1,4,1.97,514.6,M,46.5,M,,*59
$GPGSA,A,3,30,05,14,20,,,,,,,,,2.21,1.97,1.00*0C
$GPGSV,3,1,9,30,67,062,30,05,57,259,44,14,49,147,44,20,42,208,44*49
$GPGSV,3,2,9,13,,,25,22,,,42,07,,,21,08,,,13*43
$GPGSV,3,3,9,15,,,16*5A
$GLGSV,2,1,8,66,67,331,,76,64,189,21,65,55,125,10,75,48,042,*53
$GLGSV,2,2,8,77,18,206,13,67,15,316,,83,12,342,,82,08,302,*42
$GPRMC,091214.000,A,xxxx.1145,N,xxxxx.1430,E,0.097,321.65,091224,,,A*50
$GPVTG,321.65,T,,M,0.097,N,0.181,K,A*38
$GPACCURACY,2.1*0B
$GPGGA,091215.000,xxxx.1146,N,xxxxx.1432,E,1,4,1.97,514.5,M,46.5,M,,*5A
$GPGSA,A,3,30,05,14,20,,,,,,,,,2.21,1.97,1.00*0C
$GPGSV,3,1,9,30,67,062,29,05,57,259,44,14,49,147,44,20,42,208,43*49
$GPGSV,3,2,9,13,,,25,22,,,42,07,,,22,08,,,13*44
$GPGSV,3,3,9,15,,,16*5A
$GLGSV,2,1,8,66,67,331,,76,64,189,23,65,55,125,10,75,48,042,*51
$GLGSV,2,2,8,77,18,206,13,67,15,316,,83,12,342,,82,08,302,*42
$GPRMC,091215.000,A,xxxx.1146,N,xxxxx.1432,E,0.000,38.01,091224,,,A*67
$GPVTG,38.01,T,,M,0.000,N,0.000,K,A*07
$GPACCURACY,2.1*0B
$GPGGA,091216.000,xxxx.1147,N,xxxxx.1433,E,1,4,1.97,514.5,M,46.5,M,,*59
$GPGSA,A,3,30,05,14,20,,,,,,,,,2.21,1.97,1.00*0C
$GPGSV,3,1,9,30,67,062,29,05,57,259,44,14,49,147,44,20,42,208,43*49
$GPGSV,3,2,9,13,,,24,22,,,41,07,,,24,08,,,10*4E
$GPGSV,3,3,9,15,,,14*57
$GLGSV,2,1,8,66,67,331,,76,64,189,26,65,55,125,10,75,48,042,*55
$GLGSV,2,2,8,77,18,206,16,67,15,316,,83,12,342,,82,08,302,*46
$GPRMC,091216.000,A,xxxx.1147,N,xxxxx.1433,E,0.000,0.90,091224,,,A*57
$GPVTG,0.90,T,,M,0.000,N,0.000,K,A*34
$GPACCURACY,2.1*0B
$GPGGA,091217.000,xxxx.1148,N,xxxxx.1434,E,1,4,1.97,514.5,M,46.5,M,,*50
$GPGSA,A,3,30,05,14,20,,,,,,,,,2.21,1.97,1.00*0C
$GPGSV,3,1,10,30,67,062,29,05,57,259,44,14,49,147,44,20,42,208,44*78
$GPGSV,3,2,10,13,,,25,22,,,41,07,,,21,08,,,10*76
$GPGSV,3,3,10,18,,,15,15,,,16*7F
$GLGSV,2,1,8,66,67,331,,76,64,189,22,65,55,125,14,75,48,042,*58
$GLGSV,2,2,8,77,18,206,16,67,15,316,,83,12,342,,82,08,302,*46
$GPRMC,091217.000,A,xxxx.1148,N,xxxxx.1434,E,0.000,133.01,091224,,,A*57
$GPVTG,133.01,T,,M,0.000,N,0.000,K,A*3D
$GPACCURACY,2.1*0B
$GPGGA,091218.000,xxxx.1148,N,xxxxx.1434,E,1,4,1.97,514.5,M,46.5,M,,*5F
$GPGSA,A,3,30,05,14,20,,,,,,,,,2.21,1.97,1.00*0C
$GPGSV,3,1,10,30,67,062,28,05,57,259,43,14,49,147,43,20,42,208,42*7E
$GPGSV,3,2,10,13,,,25,22,,,40,07,,,23,08,,,10*7A
$GPGSV,3,3,10,18,,,15,15,,,16*7F
$GLGSV,2,1,8,66,67,331,,76,64,189,22,65,55,125,14,75,48,042,*5F
$GLGSV,2,2,8,77,18,206,16,67,15,316,,83,12,342,,82,08,302,*46
$GPRMC,091218.000,A,xxxx.1148,N,xxxxx.1434,E,0.000,133.01,091224,,,A*58
$GPVTG,133.01,T,,M,0.000,N,0.000,K,A*3D
$GPACCURACY,2.2*08
$GPGGA,091219.000,xxxx.1148,N,xxxxx.1434,E,1,4,1.97,514.5,M,46.5,M,,*5E
$GPGSA,A,3,30,05,14,20,,,,,,,,,2.21,1.97,1.00*0C
$GPGSV,3,1,10,30,67,062,29,05,57,258,44,14,49,147,44,20,42,208,43*7A
$GPGSV,3,2,10,13,,,25,22,,,41,07,,,23,08,,,11*74
$GPGSV,3,3,10,18,,,15,15,,,15*70
$GLGSV,2,1,8,66,67,331,,76,64,189,25,65,55,125,13,75,48,042,*50
$GLGSV,2,2,8,77,18,206,16,67,15,316,,83,12,342,,82,08,302,*46
$GPRMC,091219.000,A,xxxx.1148,N,xxxxx.1434,E,0.000,133.01,091224,,,A*59
$GPVTG,133.01,T,,M,0.000,N,0.000,K,A*3D
$GPACCURACY,2.2*08
$GPGGA,091220.000,xxxx.1148,N,xxxxx.1434,E,1,4,1.97,514.5,M,46.5,M,,*54
$GPGSA,A,3,30,05,14,20,,,,,,,,,2.21,1.97,1.00*0C
$GPGSV,3,1,10,30,67,062,30,05,57,258,43,14,49,147,43,20,42,208,43*75
$GPGSV,3,2,10,13,,,25,22,,,41,07,,,22,08,,,11*70
$GPGSV,3,3,10,18,,,11,15,,,15*70
$GLGSV,2,1,8,66,67,331,,76,64,189,27,65,55,125,13,75,48,042,*54
$GLGSV,2,2,8,77,18,206,16,67,15,316,,83,12,342,,82,08,302,*46
$GPRMC,091220.000,A,xxxx.1148,N,xxxxx.1434,E,0.000,133.01,091224,,,A*53
$GPVTG,133.01,T,,M,0.000,N,0.000,K,A*3D
$GPACCURACY,2.2*08
$GPGGA,091221.000,xxxx.1148,N,xxxxx.1434,E,1,4,1.97,514.5,M,46.5,M,,*55
$GPGSA,A,3,30,05,14,20,,,,,,,,,2.21,1.97,1.00*0C
$GPGSV,3,1,10,30,67,062,30,05,57,258,43,14,49,147,43,20,42,208,43*73
$GPGSV,3,2,10,13,,,24,22,,,40,07,,,21,08,,,11*77
$GPGSV,3,3,10,18,,,11,15,,,14*7F
$GLGSV,2,1,8,66,67,331,,76,64,189,29,65,55,125,13,75,48,042,*5F
$GLGSV,2,2,8,77,18,206,18,67,15,316,,83,12,342,,82,08,302,*40
$GPRMC,091221.000,A,xxxx.1148,N,xxxxx.1434,E,0.000,133.01,091224,,,A*52
$GPVTG,133.01,T,,M,0.000,N,0.000,K,A*3D
$GPACCURACY,2.2*08
$GPGGA,091222.000,xxxx.1148,N,xxxxx.1434,E,1,4,1.97,514.5,M,46.5,M,,*56
$GPGSA,A,3,30,05,14,20,,,,,,,,,2.21,1.97,1.00*0C
$GPGSV,3,1,10,30,67,062,29,05,57,258,43,14,49,147,43,20,42,208,42*7F
$GPGSV,3,2,10,13,,,23,22,,,40,07,,,20,08,,,11*72
$GPGSV,3,3,10,18,,,11,15,,,14*7F
$GLGSV,2,1,8,66,67,331,,76,64,189,29,65,55,125,15,75,48,042,*5E
$GLGSV,2,2,8,77,18,206,22,67,15,316,,83,12,342,,82,08,302,*45
$GPRMC,091222.000,A,xxxx.1148,N,xxxxx.1434,E,0.000,133.01,091224,,,A*51
$GPVTG,133.01,T,,M,0.000,N,0.000,K,A*3D
$GPACCURACY,2.2*08
 
Upvote 0
Top