gpsd-users
[Top][All Lists]
Advanced

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

Re: Gpsd sending SKY message twice


From: Tomáš Vostřel
Subject: Re: Gpsd sending SKY message twice
Date: Tue, 29 Nov 2022 06:22:29 +0100

Hello, Gary,
 
> I have a question about the gpsd daemon behaviour. I think it's
> working very well, but (at least) one think I don't understand. Why
> does it periodically every second send me SKY message twice in a
> short time?

I guess this should be in the FAQ.

The problem is that GNSS receivers never tell you what they are going to
send, or when they are done sending data for any one epoch.  So
gpsd has to guess.  This is only getting worse with multi-constellation
receiers, and the dogs dinner that is NMEA 4.11

In you case, gpsd guess that your receiver is done sending sky data, so
gpsd passes that data on the client.  But then more sky data appears, so
gpsd sends an updated sky message.

Thanks for clarification.
 
Before we can help you furhter, you need to run gpsdebuginfo, and send
us the output.  That is easier for us all, rather than playing 20
questions to get the important info from you that you have not already
provided.

That's not an option because gpsd is running on a proprietal embedded system without many tools gpsdebuginfo uses, e.g. python. So the output is full of "command not found" messages, not useful.

Can I ask another question regarding gpsd sending PPS messages? It seems gpsd only ships them if control socket is enabled at build time. Why is it?

#if defined(CONTROL_SOCKET_ENABLE) && defined(SOCKET_EXPORT_ENABLE)
/* on PPS interrupt, ship a message to all clients
* use passed in precision
*
* Return: void
*/
static void ship_pps_message(struct gps_device_t *session, int unit,
int precision, struct timedelta_t *td)
{

po 21. 11. 2022 v 18:24 odesílatel Gary E. Miller <gem@rellim.com> napsal:
Yo Tomáš!

On Mon, 21 Nov 2022 13:29:04 +0100
Tomáš Vostřel <vostrelt@gmail.com> wrote:

> I have a question about the gpsd daemon behaviour. I think it's
> working very well, but (at least) one think I don't understand. Why
> does it periodically every second send me SKY message twice in a
> short time?

I guess this should be in the FAQ.

The problem is that GNSS receivers never tell you what they are going to
send, or when they are done sending data for any one epoch.  So
gpsd has to guess.  This is only getting worse with multi-constellation
receiers, and the dogs dinner that is NMEA 4.11

In you case, gpsd guess that your receiver is done sending sky data, so
gpsd passes that data on the client.  But then more sky data appears, so
gpsd sends an updated sky message.


> There is satellites data class present in the first
> message. No satellite data in the second one. As a result, the
> satellite_t array in gps_data_t structure filled with gps_read () is
> empty.

Almost everything in gps_data_t is empty almost all the time.  That is
why you have to always check the _SET flags, and use isfinite() before
reading data from it.

Before we can help you furhter, you need to run gpsdebuginfo, and send
us the output.  That is easier for us all, rather than playing 20
questions to get the important info from you that you have not already
provided.

RGDS
GARY
---------------------------------------------------------------------------
Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97703
        gem@rellim.com  Tel:+1 541 382 8588

            Veritas liberabit vos. -- Quid est veritas?
    "If you can't measure it, you can't improve it." - Lord Kelvin

reply via email to

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