QGIS API Documentation
2.8.2-Wien
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
src
core
gps
qgsgpsconnection.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsgpsconnection.h - description
3
-------------------
4
begin : November 30th, 2009
5
copyright : (C) 2009 by Marco Hugentobler
6
email : marco at hugis dot net
7
***************************************************************************/
8
9
/***************************************************************************
10
* *
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
15
* *
16
***************************************************************************/
17
18
#ifndef QGSGPSCONNECTION_H
19
#define QGSGPSCONNECTION_H
20
21
#include <QDateTime>
22
#include <QObject>
23
#include <QString>
24
25
class
QIODevice;
26
27
struct
CORE_EXPORT
QgsSatelliteInfo
28
{
29
int
id
;
30
bool
inUse
;
31
int
elevation
;
32
int
azimuth
;
33
int
signal
;
34
};
35
36
struct
CORE_EXPORT
QgsGPSInformation
37
{
38
double
latitude
;
39
double
longitude
;
40
double
elevation
;
41
double
speed
;
//in km/h
42
double
direction
;
43
QList<QgsSatelliteInfo>
satellitesInView
;
44
double
pdop
;
45
double
hdop
;
46
double
vdop
;
47
double
hacc
;
//horizontal accurancy in meters
48
double
vacc
;
//vertical accurancy in meters
49
QDateTime
utcDateTime
;
50
QChar
fixMode
;
51
int
fixType
;
52
int
quality
;
// from GPGGA
53
int
satellitesUsed
;
// from GPGGA
54
QChar
status
;
// from GPRMC A,V
55
QList<int>
satPrn
;
// list of SVs in use; needed for QgsSatelliteInfo.inUse and other uses
56
bool
satInfoComplete
;
// based on GPGSV sentences - to be used to determine when to graph signal and satellite position
57
};
58
60
class
CORE_EXPORT
QgsGPSConnection
:
public
QObject
61
{
62
Q_OBJECT
63
public
:
64
65
enum
Status
66
{
67
NotConnected
,
68
Connected
,
69
DataReceived
,
70
GPSDataReceived
71
};
72
76
QgsGPSConnection
( QIODevice* dev );
77
virtual
~
QgsGPSConnection
();
79
bool
connect();
81
bool
close();
82
84
void
setSource( QIODevice* source );
85
87
Status
status
()
const
{
return
mStatus; }
88
90
QgsGPSInformation
currentGPSInformation
()
const
{
return
mLastGPSInformation; }
91
92
signals:
93
void
stateChanged(
const
QgsGPSInformation
& info );
94
void
nmeaSentenceReceived(
const
QString& substring );
// added to capture 'raw' data
95
96
protected
:
98
QIODevice*
mSource
;
100
QgsGPSInformation
mLastGPSInformation
;
102
Status
mStatus
;
103
104
private
:
106
void
cleanupSource();
107
void
clearLastGPSInformation();
108
109
protected
slots:
111
virtual
void
parseData() = 0;
112
};
113
114
#endif // QGSGPSCONNECTION_H
Generated on Sun May 10 2015 16:33:23 for QGIS API Documentation by
1.8.1.2