GPSd position

From PaparazziUAV
Revision as of 08:45, 16 November 2012 by Flixr (talk | contribs) (added info on libgps-dev dependency)
Jump to navigation Jump to search

Display a GPS position

Sometimes it is useful to display an external GPS position on the GCS. That might be your ground station position (e.g. if operating from a moving ship) or you walking through the field with your laptop searching an outlanded aircraft.

The external gps position will be displayed through a dark red dot surrounded by a black circle. If the gps data is lost/older than 10s the red dot will get a light red circle.

GPSd position ok
GPSd position is lost


Using gpsd

The GPS receiver could be connected through a serial port, USB, Bluetooth, a network, ... The gpsd package is used to interface to the receiver. On some Linux distributions the gpsd daemon is started automatically by default (e.g. Ubuntu 9.10) and might confuse the modem operation that also uses the serial/USB port. It is a good idea to disable the automatic startup of gpsd or at least change the configuration to only access one given port as described below. It can be turned off by running

sudo dpkg-reconfigure gpsd

There are several ways to tell gpsd how to connect to your receiver. The simplest is to start gpsd (as root) with the device you want.

sudo gpsd /dev/ttyUSB0

If your GPS receiver is always connected to the same port (and can not be confused with another Paparazzi modem) you can put the device into /etc/default/gpsd and start gpsd automatically. There should be a way that udev takes care of that.

START_DAEMON="true"
DAEMON_OPTS=""
DEVICES="/dev/ttyS2"
USBAUTO="false"and start it through the GPSd position display in the Paparazzi Center Tools bar or by hand

A Bluetooth GPS receiver can be configured in /etc/bluetooth/rfcomm.conf. In this example it can be used as /dev/rfcomm0 (put your GPS devices Bluetooth address).

rfcomm0 {
  bind yes;
  device 00:06:66:00:53:AE;
}

On some Linux distributions it is needed to bind the rfcomm

sudo rfcomm bind 0

Using gpsd2ivy

The small tool that gets the position info from gpsd and forwards that to the ivy bus so that the gcs can display it is called gpsd2ivy. It can be started through the GPSd position display in the Paparazzi Center Tools bar.

Install the needed gps libraries:

sudo apt-get install libgps-dev gpsd

or

sudo apt-get install --install-suggests paparazzi-dev

Then compile gpsd2ivy via:

cd sw/ground_segment/tmtc
make gpsd2ivy

manually it is started by

./gpsd2ivy