Configuring GPSD Daemon Access

Many applications may wish to use location data simultaneously on one computer. Also, there are several incompatible protocols for delivering location information, including flavors of NMEA-0183, Rockwell and SiRF binary protocols, AIS, and others. To solve both of these problems, Unix developers created the gpsd daemon, which interprets all of the protocols and delivers a common data format to multiple location consumers.

YAAC supports connecting to a gpsd daemon (if one is present on the system) and receiving location data in the gpsd JSON format. To do so, you merely need to tell YAAC at which network port the daemon is running. By default, this is assumed to be on the local computer running YAAC at the gpsd standard TCP port number, but this can be changed (for example, to share a single GPS among a local-area network of users at a field command post). These settings can be configured on the port editing dialog:

image of GPSD configuration panel

If you are connecting to a remote GPSD instance, you can specify whether the reported position is for the local station running YAAC or remote (reporting the position of some other object using a network link). In addition, for remote GPS receivers:

If you want to create a GPSD port on a new installation of YAAC using the -createport option, the port_description is of the format:

GPSD,serverhostname,portNumber,callsign,,;APRSsymbol;true;;;;remoteFlag

where serverhostname is the domain name or numeric IP address of the GPSD server you wish to connect to (usually localhost for your local system's GPSD daemon), portNumber is the TCP port number of the GPSD server (usually 2947). If you are connecting to another system's GPSD with the intent of reporting that system as a remote object, the callsign should be the pseudo-callsign you have to represent that system on the map. The APRSsymbol is the two-character sequence of symbol table ID and symbol code (you can't use the semicolon ";" as the code due to field delimiting), and the remoteFlag is 4 if this is a remote GPS and 0 if it is local. Note that you can omit everything after the portNumber if you are defining a local GPSD port.