gpsd-dev
[Top][All Lists]
Advanced

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

Re: [gpsd-dev] New 0.5 draft of the SemPiTernal HOWTO


From: Mike
Subject: Re: [gpsd-dev] New 0.5 draft of the SemPiTernal HOWTO
Date: Tue, 10 May 2016 20:34:35 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.0

On 05/10/2016 03:09 PM, Gary E. Miller wrote:
Yo Mike!

On Tue, 10 May 2016 14:40:56 -0400
Mike <address@hidden> wrote:

Currently I'm running gpsd from my home directory as I've been
experimenting with some build options as a learning adventure.

cat /usr/lib/systemd/system/gpsd.service
Cool.  If you can figure it out, and document it, send it to gpsd-dev
and we'll get it added to the main gpsd tarball.

Then the systemd distros have something to start with.
I will preface this with I am not using a hat. My Rpi is a model B. The gps module is attached to tx, rtx, and gpio18.

address@hidden:~/gpsd $ ./gpsd -V
./gpsd: 3.17~dev (revision release-3.16-313-g7f02d3e)
address@hidden:~/gpsd $ ./gpsd -l
NMEA0183
PPS
# n: mode switch, b: speed switch, c: rate switch, *: non-NMEA packet type.
# Time service features enabled.
# PPS enabled.
address@hidden:~/gpsd $

The above was built as follows.
scons timeservice=yes nmea0183=yes fixed_port_speed=9600 fixed_stop_bits=1

The systemd.service file(s) I based mine on are already in the gpsd git.

Actually, with the timeservice build the default port isn't used, no need to include gpsd.socket in systemd.

address@hidden:~/ $ cat /lib/systemd/system/gpsd.service
[Unit]
Description=GPS (Global Positioning System) Daemon

[Service]
EnvironmentFile=-/etc/default/gpsd
ExecStart=/home/mike/gpsd/gpsd -N $DEVICES
Restart=on-failure

[Install]
WantedBy=multi-user.target

address@hidden:~/ $ cat /etc/default/gpsd
# Default settings for the gpsd init script and the hotplug wrapper.

# Start the gpsd daemon automatically at boot time
START_DAEMON="true"

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

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

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

Those are the only two files required to run with systemd. /etc/default/gpsd can probably be removed if one is using a hat. That would also then remove a line from the gpsd.service file.

Copy the above gpsd.service file to /lib/systemd/system/

Adjust /etc/default/gpsd if needed.

#systemctl daemon-reload -- Make systemd aware that we've added a new service.

Only a couple of other notes.

Obviously /home/mike/gpsd/ is the wrong path for a normal install.

#systemctl enable gpsd.service -- This will tell systemd to run on bootup.

#systemctl [start|stop] gpsd.service  -- The usage is obvious or implied...

systemctl status gpsd.service -- Give us a bit of info, enabled, running, etc. etc.

Mike




reply via email to

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