vrpn
07.33
Virtual Reality Peripheral Network
vrpn_Tracker_GPS.h
Go to the documentation of this file.
1
// vrpn_Tracker_GPS.h
2
// This file contains the header for the VRPN GPS server. This server
3
// reads NMEA messages from a serial GPS.
4
// This implementation can convert to UTM meter-based coordinates.
5
6
#ifndef VRPN_TRACKER_GPS_H
7
#define VRPN_TRACKER_GPS_H
8
9
#include "
vrpn_Configure.h
"
// for VRPN_API
10
11
#include <stdio.h>
// for FILE
12
13
#include "gpsnmealib/nmeaParser.h"
// for NMEAData, NMEAParser
14
#include "gpsnmealib/utmCoord.h"
// for UTMCoord
15
#include "
vrpn_Shared.h
"
// for timeval
16
#include "
vrpn_Tracker.h
"
// for VRPN_TRACKER_BUF_SIZE, etc
17
18
class
VRPN_API
vrpn_Connection
;
19
20
class
vrpn_Tracker_GPS
:
public
vrpn_Tracker_Serial
{
21
22
public
:
23
24
vrpn_Tracker_GPS
(
const
char
*name,
25
vrpn_Connection
*c,
26
const
char
*port =
"/dev/ttyS1"
,
27
long
baud = 4800,
28
int
utmFlag = 1,
// report in UTM coordinates if possible
29
int
testFileFlag = 0,
30
const
char
* startStr =
"RMC"
);
// the sentence to use as the "start" of a sequence
31
32
~vrpn_Tracker_GPS
();
33
34
39
40
// virtual void mainloop();
41
42
protected
:
43
// need a bigger buffer
44
unsigned
char
buffer
[
VRPN_TRACKER_BUF_SIZE
*10];
// Characters read in from the tracker so far
45
46
virtual
int
get_report
(
void
);
47
virtual
void
reset
();
48
49
struct
timeval
reset_time
;
50
51
FILE *
testfile
;
52
char
testfilename
[256];
53
54
// an nmeaParser object and associated data objects
55
NMEAData
nmeaData
;
56
NMEAParser
nmeaParser
;
57
UTMCoord
utmCoord
;
58
int
useUTM
;
59
};
60
61
#endif
VRPN_TRACKER_BUF_SIZE
#define VRPN_TRACKER_BUF_SIZE
Definition:
vrpn_Tracker.h:142
vrpn_Tracker.h
vrpn_Tracker_GPS::buffer
unsigned char buffer[VRPN_TRACKER_BUF_SIZE *10]
This function should be called each time through the main loop of the server code....
Definition:
vrpn_Tracker_GPS.h:44
vrpn_Tracker_GPS::get_report
virtual int get_report(void)
Gets a report if one is available, returns 0 if not, 1 if complete report.
Definition:
vrpn_Tracker_GPS.C:120
vrpn_Tracker_GPS::testfile
FILE * testfile
Definition:
vrpn_Tracker_GPS.h:51
vrpn_Tracker_GPS::testfilename
char testfilename[256]
Definition:
vrpn_Tracker_GPS.h:52
vrpn_Tracker_GPS::utmCoord
UTMCoord utmCoord
Definition:
vrpn_Tracker_GPS.h:57
vrpn_Shared.h
vrpn_Tracker_GPS::useUTM
int useUTM
Definition:
vrpn_Tracker_GPS.h:58
vrpn_Connection
Generic connection class not specific to the transport mechanism.
Definition:
vrpn_Connection.h:510
vrpn_Tracker_Serial
Definition:
vrpn_Tracker.h:144
vrpn_Tracker_GPS::~vrpn_Tracker_GPS
~vrpn_Tracker_GPS()
Definition:
vrpn_Tracker_GPS.C:71
vrpn_Tracker_GPS::nmeaParser
NMEAParser nmeaParser
Definition:
vrpn_Tracker_GPS.h:56
vrpn_Tracker_GPS
Definition:
vrpn_Tracker_GPS.h:20
vrpn_Tracker_GPS::reset
virtual void reset()
Reset the tracker.
Definition:
vrpn_Tracker_GPS.C:83
vrpn_Tracker_GPS::nmeaData
NMEAData nmeaData
Definition:
vrpn_Tracker_GPS.h:55
vrpn_Tracker_GPS::vrpn_Tracker_GPS
vrpn_Tracker_GPS(const char *name, vrpn_Connection *c, const char *port="/dev/ttyS1", long baud=4800, int utmFlag=1, int testFileFlag=0, const char *startStr="RMC")
Definition:
vrpn_Tracker_GPS.C:33
vrpn_Configure.h
vrpn_Tracker_GPS::reset_time
struct timeval reset_time
Definition:
vrpn_Tracker_GPS.h:49
VRPN_API
#define VRPN_API
Definition:
vrpn_Configure.h:646
vrpn_Tracker_GPS.h
Generated by
1.8.18