GPSDRIVE(1)

NAME
gpsdrive - displays GPS position on a map

SYNOPSIS
gpsdrive [-v] [-d] [-h] [-t device] [-f server] [-n name] [-o file] [-l english|german|spanish] [-s heigth] [-r width] [-x] [-a] [-1] [-b] [-c]

DESCRIPTION
Gpsdrive is a car (bike, ship, plane) navigation system. Displaying your position on a map and a lot of other functions are implemented. GpsDrive displays your position provided from your NMEA capable GPS receiver on a zoomable map . The maps are autoselected depending on your position. You can set prefered scale, which the program tries to get from available maps. GpsDrive was tested with a GARMIN GPS III and a Crux II GPS PCMCIA card. All Garmin GPS reveivers with a serial output should be usable. Other GPS reveivers that sends NMEA protocol over the serial output should work with GpsDrive. These GPS receivers are known to work with gpsdrive: Magellan 310, 315, 320
Garminn GPS III
Garmin etrex
GPS 45
Crux II GPS PCMCIA card
Holux GM-200 serial version
Holux GM-200 USB (needs USB to serial support in kernel)
eMap
GPSMAP 295
GNS 530
Disclaimer: Do not use for navigation!

OPTIONS

-d  Shows a lot of debugging information. If you have problems or program crashes, send this output to the author. See also the BUGS section.

-v  Shows program version together with the CVS version of the mainfile gpsdrive.c. If you send a bug report, also include this output.

-h  Displays a short help message.

-o outputfile
    With this option, you can output the NMEA sentences to a PTY master, file or serial device. This is useful if you use GpsDrive in simulation mode to provide other GPS applications with test data.

-t device
    Serial port device (e.g. /dev/ttyS0). You can also set it in the setup menu.

-l language
    Sets the language for the speech output. You have to provide the voice files in festival yourself (see below). At the moment german , spanish and english are provided.

-x  Creates own window for the menu buttons. This is helpful on small displays as the Compaq iPaq or on Head Mounted Displays, where the menu should be hidden.

-s height
    Set the height of the screen, if autodetection don't satisfy you, height is i.e. 768,600,480,200

-r width
    Set the width of the screen, if autodetection don't satisfy you. Works only in combination with -s

-f friendsserver
    Define a friendsserver to exchange position information with other people. Use at example linux.quant-x.at. You can start your own friendsserver with the program friendsd , which is included.

-n yourname
    Sets your name which is displayed at your icon in friendsserver mode.

-1  Set special mode if you only have 1 mouse button, i.e. on touchpads.

-a  Disable display of battery status. Some implementations of the APM-BIOS are broken, so use this option if gpsdrive crashes.

-b servername
    Use a remote NMEA server. You can start gpsd on another host, which has the GPS receiver connected and display the position on your local machine.

-c waypointname
    Initial position for simulation mode. Specify a waypoint name from your currently used waypoint list.

CONNECTING A GPS RECEIVER
First you have to choose if you want use the GARMIN or NMEA mode. NMEA mode.
This is the most used mode. This mode is provided by most GPS receivers. To use NMEA mode, you have to start the provided program gpsd first. The simplest way to do this is by pressing the Start GPSD button in the GpsDrive menu after setting the parameters in the settings menu.

This program runs as daemon in background and provides a server, which sends the GPS data on port number 2947. The settings /dev/gps and 4800 BPS are precompiled if you start gpsd by yourself. If you start it from GpsDrive, the settings defined in the Settings menu are used. You can also change the gpsd settings i.e. to ttyS1 call it with:
gpsd -p /dev/ttyS1 but as mentioned, it's easier to do this in GpsDrive. Be sure to select NMEA protocol and a baudrate of 4800 BPS in your GPS receiver. Since GpsDrive version 1.16 the gpsd from Remco Treffkorn is provided by GpsDrive, which uses the port 2947. To see the output of you GPS do telnet localhost 2947 and after the connect hit the R key to see the NMEA sentences. NMEA sentences used
Following NMEA sentences are used for specified informations: GPRMC: Position, Speed, Heading
GPGSV: Satellite signal level display
GPGGA: Altitude (not available on all receivers) and position of no GPRMC is available. In this case, speed and heading are calculated by GpsDrive.
PGRME: Display EPE (estimated position error), perhaps only available on GARMIN receivers GARMIN mode
In this mode, the program only gets lat/long data, the speed and direction it calculates itself. There is also no display of the satellite signal level (this data is not supported by GARMIN protocol). GARMIN mode is faster (more data packets per second, in NMEA mode there are only 1-2 packets every 2 seconds), but the calculations the program makes may not be as accurate. If you want to use Garmin mode, simply connect the GPS receiver to your serial port. Garmin mode is only provided by some GARMIN receivers.
GpsDrive autodetects GARMIN or NMEA mode if enabled in settings menu. I would recommend to use NMEA mode.

Compilation without GARMIN protocol
If you don't need the GARMIN protocol (i.e if you use only NMEA), you can compile GpsDrive yourself to not include the GARMIN protocol support. Do this with:
 ./configure --disable-garmin
 make clean
 make
 su
 make install This has the advantage to produce a smaller and faster executable.

USAGE
You can use GpsDrive without a GPS device connected. If you do so, GpsDrive will autmatically start in Simulator mode on which you can move on the map (if enabled in settings menu). Be sure that no gpsd is running for simulator mode.

MAP DOWNLOAD
You can easy download maps from internet with the Download button. You may chose between Mapblast server (www.mapblast.com) and Expedia server (www.expedia.com). There is also a program gpsfetchmap provided to download multiple maps for a bigger area. Please consider the copyright information at www.mapblast.com and www.expedia.com if you want to use their maps.

Route planing
You can use the included perl script mb2gpsdrive.pl to create a route to your destination using mapblast.com as route planer. Please read README.mb2gpsdrive for program usage.

PROXY SERVER
If you must access the internet via a proxy server, you have to set the enviroment variable HTTP_PROXY or http_proxy to a value like http://proxy.provider.com:3128 where 3128 in this example is the proxy port.

MOUSE CONTROL
You can switch on the Position mode by pressing "P" or select this option in the menu. Then, if you click with the left mouse button there a rectangle is the cursor and no position is shown. If you zoom or select another map scale with the slider, this is done for the position of the rectangle-cursor in the same manner as it would be your actual position. If you click with the left button near the border, GpsDrive will scroll the map or load the next map if you are on the margin of the map. The middle mouse button switches back to normal mode, also the "P" key or select the "Pos. mode" menu entry. The same if you select a target with the right mouse button. Shift-left-mouse-button and shift-right-mouse-button changes the map scale. Please have also a look into the Help menu in GpsDrive to be informed about the actual mouse functions and key shortcuts.

Add new waypoints
You can simply add new waypoints in two ways: o To add a waypoint at the current (GPS) position, simply press CTRL and RIGHT-mouse-click. You can also press the x key. o To add a waypoint at the mouse position, simply press CTRL and LEFT-mouse-click.

Routes
A route is a list of waypoints. GpsDrive guides you from one waypoint to the next on the route. You can add waypoints to a route using the waypoint (select target) window. You can also add comments to a waypoint which will be spoken by the speech system and also be shown in the map window as scrolling text. To add comments create a file with the same name as the waypoint file, but change the suffix to .dsc, i.e way-trip.txt and way-trip.dsc, then enter the comments in the way*.dsc file in the kind of: $waypointname Now turn right, and you see the bar. $nextwaypointname another comment.... There is no limit of the length of the comment.

LOCALISATION
If you installed the program it will display messages in english, german, french, italian, dutch, dansk, hungarian, slovak, swedish, turkish or spanish if your language is set either with LANG or LANGUAGE. LANGUAGE overrides all other settings. Call "locale" to see the settings and call "set" if LANG or LANGUAGE is set. For german do: export LANGUAGE=de and then call gpsdrive in this shell. You can also start it with the line LANGUAGE=dk gpsdrive without setting the language for the shell. Sometimes you have to do use LANG instead of LANGUAGE. If your own language isn't available, please contact me if you want to make the translations.

SPEECH OUTPUT
If you want speech output you have to install the festival speech output system. See http://fife.speech.cs.cmu.edu/festival for information. For german output you have to get the german festival from www.ims.uni-stuttgart.de/phonetik/synthesis/index.html If you have a functional festival software call it as server with: festival --server When you start GpsDrive it will detect the server on port 1314 and puts out some status information as speech. You also have an additonal button (Mute) to switch off sound output. GpsDrive tries to select the correct language for your locale. The -l option can force the languages for speech output. At the moment english, spanish, and german are supported. GpsDrive sets festival into the proper language. If the initialisation is not correct, have a look into gpsdrive.c and edit following defines do your needs: #define FESTIVAL_ENGLISH_INIT "(voice_ked_diphone)" #define FESTIVAL_GERMAN_INIT "(voice_german_de3_os)" #define FESTIVAL_SPANISH_INIT "(voice_el_diphone)" For this, you need the voices ked_diphone for english, german_de3_os for german (this is a MBROLA voice) and el_diphone for spanish. There is now an unsupported build of festival including english, german and spanish support. Download it from GpsDrive homepage mirrors and extract the tar file in the directory /usr/local as root:
cd /usr/local
tar -xvzf festivalbuild.tar.gz Start the server with /usr/local/festival/bin/festival --server

FRIENDSD server
There is a server program, called friendsd which acts as server for the position of your friends. If you connect to the server with gpsdrive -n Yourname -f yourserver.com then you can see the position of all gpsdrive connected with this server. Be sure that Yourname is only one word and contains no spaces. The server uses port 50123 (TCP), so be sure that you open the port in your firewall. The server needs no root privileges and should run as normal user or a special user with no privileges. The server is not tested for security.

TESTSERVER
You can use linux.quant-x.at as testserver.

FRIENDSD data format (version 1)
There is 1 data type: POS, where the format is as follows:
POS: Fritz 47.082181 15.402043 18:11:42 101 38
which means
Commandtype name latitude longitude time(GMT) speed(km/h) direction(degree) The friends server function is introduced in GpsDrive version 1.3, so many enhancements will be added in the near future which will cause incompatibilities between different GpsDrive and friendsd versions.

MAILING LIST
The address for the mailing list is gpsdrive@warbase.selwerd.nl Subscribing can be done by sending a mail containing subscribe gpsdrive to majordomo@warbase.selwerd.nl

BUGS
Please send bug reports to the author. Report version (gpsdrive -v), screen size and info how to reproduce the bug. It is also a big help to run gpsdrive with the -d option and send me the last 50 lines. If gpsdrive crashes with a segfault, I need a backtrace of the program in addition. To create a backtrace do following: Extract the tar file, change to gpsdrive directory and do
 ./configure --with-debug
 make clean
 make
 cd src
 gdb ./gpsdrive Inside the debugger do: run (if you use arguments write it after run) When you get the segfault make: bt and send me this output.

AUTHOR
Fritz Ganter
E-Mail: ganter@ganter.at
http://gpsdrive.kraftvoll.at

WARRANTY
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

COPYRIGHT
Copyright (c) 2001,2002 by Fritz Ganter
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.