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 
19 
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 
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