[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gpsd-users] Trying to set Stationary Mode on ublox - possible bug i

From: Anthony Stirk
Subject: Re: [gpsd-users] Trying to set Stationary Mode on ublox - possible bug in gpsctl ?
Date: Mon, 4 Nov 2013 22:51:04 +0000

Further to this apologies for not fully understanding the man page of gpsctl. II retract the comment this is a bug it seems gpsctl is being cleverer than me. It may help if the man page for gpsctl had a note under -x for UBX devices that the message length is also calculated. 

So anyway the cold boot command becomes :

gpsctl -b -D 5 -t "uBlox UBX binary" -e /dev/ttyAMA0 -x '\x06\x04\xFF\x87\x00\x00'

Resulting in the expected checksum 

gpsctl:IO: => GPS: b56206040400ff87000094f5

However problem still isn't solved as the module never cold reboots so I'm not sure the command is getting there. 

Within U-Center, pressing the cold boot button issues B5 62 06 04 04 00 FF FF 02 00 0E 61 to the GPS resulting in a cold boot. When I try to replicate this via gpsctl :

gpsctl -b -D 5 -t "uBlox UBX binary" -e /dev/ttyAMA0 -x '\x06\x04\xFF\xFF\x02\x00'

I get the correct payload : gpsctl:IO: => GPS: b56206040400ffff02000e61

But the module never resets. 

Is there anyway to get a binary dump of data coming to and from the GPS module i.e like this : to ascertain if the command is even getting there ?

Many thanks,

Anthony M0UPU

On Sat, Oct 26, 2013 at 9:07 PM, Anthony Stirk <address@hidden> wrote:

I've been trying for a while to work out how to use gpsctl to issue the binary UBX command to put a Ublox GPS module into Stationary dynamic model. As i'm unable to verify this I decided to test this with something that has a more tangible effect on the GPS Module, a cold boot. 

Using Windows U-Center I've ascertained that sending the following binary string to a Ublox module  will result in a cold boot of the module :

B5 62 06 04 04 00 FF 87 00 00 94 F5

The 94 F5 at the end of there is the 2 checksum bytes as calculated by U-Center. Issuing this command via u-Center to a connected module result in the module cold booting. 

Using a Raspberry Pi with a Ublox module attached to the serial port which is working fine I issue the following command :

sudo gpsctl -b -D 5 -t "uBlox UBX binary" -e /dev/ttyAMA0 -x  '\xB5\x62\x06\x04\x04\x00\xFF\x87\x00\x00'

Note excluding the checksum bytes as gpsctl calculates these itself. The following output is observed :
gpsctl:PROG: uBlox UBX binary driver selected.
gpsctl:PROG: switch_driver(uBlox UBX binary) called...
gpsctl:PROG: selecting uBlox UBX binary driver...
gpsctl:SHOUT: switching to mode BINARY.
gpsctl:IO: => GPS: UBX class: b5, id: 62, len: 8, crc: b3f7
¦b¦¦¦¦¦gpsctl:IO: => GPS: b562b562080006040400ff870000b3f7

Note the check sum calculate is different and possibly incorrect ? Could anyone check what I've done here and advise if I'm making a mistake or this is a genuine bug with gpsctl not calculating the checksums correctly ? I'm happy to log this as a bug but I'm not confident that I'm issuing the correct command in the first place so would appreciate anyone with more knowledge on these matters to comment.


Anthony Stirk M0UPU

reply via email to

[Prev in Thread] Current Thread [Next in Thread]