gpsd-users
[Top][All Lists]
Advanced

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

Re: open SHM data only after cgps start


From: Hans Kurscheidt
Subject: Re: open SHM data only after cgps start
Date: Fri, 5 Feb 2021 19:52:14 +0100
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0

Hi Frank

BINGO, you got it!

unfortunately just your mail ended up in SPAM, don't know why, all the others don't!

1. Dirty system with multiple installations of various versions of GPSd
YES, I cleaned this up.

all your messages are coming individually - not recognized as part of a 
discussion/thread.

Sorry, I'm new here, don't know any better; there's no "answer" button except 
for unwanted replies to individuals.

The solution is to add -n into the systemd UNIT file as a GPSD_OPTION

cat /etc/default/gpsd
# Start the gpsd daemon automatically at boot time
START_DAEMON="true"

# Use USB hotplugging to add new USB devices automatically to the daemon
USBAUTO="true"

# Devices gpsd should collect to at boot time.
# They need to be read/writeable, either by user gpsd or the group dialout.
# DEVICES="/dev/ttyUSB0"
DEVICES="/dev/ttyACM0"

# Other options you want to pass to gpsd
GPSD_OPTIONS="-n"


I did not expect/understand this! I was assuming, if the service is started at 
boot time, it would also start the GPS com. I have still questions: Why is my 
app not recognized as client, when opening
if ((gps_open(GPSD_SHARED_MEMORY, NULL, &gps_data)) == -1)
OK, it works,
thanks a lot, from good old Europe
Best Regards
hk

Am 05.02.2021 um 16:40 schrieb Frank Nicholas:
I think you have two issues:
1. Dirty system with multiple installations of various versions of GPSd
2. You are using SystemD, which with the most common service file, only 
launched GPSd when an app/client attempts to attach.  As long as GPSd is 
launched, and there is an attached client/consumer, it will continue to run, 
until there is nothing else using it and the last client closes the connection.

Gary Miller suggested adding the switch to make GPSd run as a daemon all the 
time (doesn’t exit when there are no clients attached).  This would also 
require something to change with the SystemD config file - you want SystemD to 
start GPSd at boot, not wait until there’s a client attempting to access it.  I 
think Gary even provided a one line command line that could be put in a startup 
script, anywhere you wanted, depending on the flavor of Linux you are using 
(this would not use SystemD).

For some reason all your messages are coming individually - not recognized as 
part of a discussion/thread.  Not sure if you can do something about that, but 
it makes it difficult to follow - that’s why I couldn’t easily find Gary’s 
suggestions.

Thanks,
Frank

On Feb 5, 2021, at 8:59 AM, Hans Kurscheidt <lve0200@gmail.com> wrote:

Sorry, if I keep talking to myself here, but I'm crawling forward.

After I got gpsd running as service, I cleaned out all old references to libgps 
and libgps-dev and cleaned Visual Studio's cache.

Should be OK now.

There's no dpkg -l libgps* output anymore

VisualStudio finds the richgt gps.h under ../gpsd-master/..; there is no other 
gps.h somewhere.

and the linker points to so.28

ldconfig -p | grep gps
         libgpsdpacket.so.28 (libc6,hard-float) => 
/usr/local/lib/libgpsdpacket.so.28
         libgpsdpacket.so (libc6,hard-float) => /usr/local/lib/libgpsdpacket.so
         libgps.so.28 (libc6,hard-float) => /usr/local/lib/libgps.so.28
         libgps.so (libc6,hard-float) => /usr/local/lib/libgps.so
         libQgpsmm.so.28 (libc6,hard-float) => /usr/local/lib/libQgpsmm.so.28
         libQgpsmm.so (libc6,hard-float) => /usr/local/lib/libQgpsmm.so

The compilation/linking is OK w/out errors or warnings and the executable is 
runable

BUT, I still have the old problem. (assume gpsd service running and fix 
available)

If I run my app after boot, No gps data is available and just once I got an 
error message, which I cannot reproduce, saying something like:

shared library error cannot ... data: No such file or directory

After running cgps once, data is available and remains 2b supplied to my app, 
even if I close cgps. This is reproduceable.

RGDS

hk





reply via email to

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