summaryrefslogtreecommitdiff
path: root/gpsfake.1
blob: d47b13bdcc4ae9b86b399dce0d31d7eaa5ba172b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
.\"Generated by db2man.xsl. Don't modify this, modify the source.
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "GPSFAKE" 1 "" "" ""
.SH NAME
gpsfake \- test harness for gpsd, simulating a GPS
.SH "SYNOPSIS"
.ad l
.hy 0
.HP 8
\fBgpsfake\fR [\-h] [\-b] [\-c\ \fIinterval\fR] [\-i] [\-D\ \fIdebuglevel\fR] [\-l] [\-m\ \fImonitor\fR] [\-o\ \fIoptions\fR] [\-p] [\-s\ \fIspeed\fR] [\fIlogfile\fR]
.ad
.hy

.SH "DESCRIPTION"

.PP
gpsfake is a test harness for gpsd and its clients\&. It opens a pty (pseudo\-TTY), launches a gpsd instance that thinks the slave side of the pty is its GPS device, and repeatedly feeds the contents of a test logfile through the master side to the GPS\&.

.PP
gpsfake does not require root privileges, and can be run concurrently with a production gpsd instance without causing problems\&.

.PP
The logfile may be of NMEA, SiRF\-II packets, or Zodiac packets\&. Leading lines beginning with # will be treated as comments and ignored\&.

.PP
The gpsd instance is run in foreground\&. The thread sending fake GPS data to the daemon is run in background\&.

.SH "OPTIONS"

.PP
The \-b option enables a twirling\-baton progress indicator on standard error\&. At termination, it reports elaped time\&.

.PP
The \-c option sets the delay between sentences in seconds\&. Fractional values of seconds are legal\&. The default is zero (no delay)\&.

.PP
The \-l option makes the program dump a line or packet number just before each sentence is fed to the daemon\&. If the sentence is textual (e\&.g\&. NMEA, the text is dumped as well)\&.

.PP
The \-i option is for single\-stepping through logfiles\&. It dumps the line or packet number (and the sentence if the protocol is textual) followed by "? "\&. Only when the user keys Enter is the line actually fed to gpsd\&.

.PP
The \-m option specifies a monitor program inside which the daemon should be run\&. This option is intended to be used with \fBvalgrind\fR(1), \fBgdb\fR(1) and similar programs\&.

.PP
The \-o option specifies options to pass to the daemon\&. Passing "\-n" is often useful\&. The \-D option passes a \-D option to the daemon: thus \-D 4 is shorthand for \-o "\-D 4"\&.

.PP
The \-p option dumps the NMEA and GPSD notifications generated by the log to standard output\&. The logfile is interpreted once only\&. (This option is intended to facilitate regression testing\&.)

.PP
The \-s option sets the baud rate for the slave tty\&. The default is 4800\&.

.PP
The \-h option makes gpsfake print a usage message and exit\&.

.PP
The argument must be the name of a file containing the data to be cycled at the device\&. gpsfake will print a notification each time it cycles\&.

.SH "CUSTOM TESTS"

.PP
gpsfake is a trivial wrapper around a Python module, also named gpsfake, that can be used to fully script sessions involving a gpsd instance, any number of client sessions, and any number of fake GPSes feeding the daemon instance with data from specified sentence logs\&.

.PP
Source and embedded documentation for this module is shipped with the gpsd development tools\&. You can use it to torture\-test either gpsd itself or any gpsd\-aware client application\&.

.SH "SEE ALSO"

.PP
 \fBgpsd\fR(8), \fBxgps\fR(1), \fBlibgps\fR(3), \fBlibgpsd\fR(3), \fBgpsprof\fR(1), \fBgnuplot\fR(1)\&.

.SH "AUTHOR"

.PP
Eric S\&. Raymond <esr@thyrsus\&.com>\&. There is a project page for gpsd  here: \fIhttp://gpsd.berlios.de/\fR\&.