summaryrefslogtreecommitdiff
blob: ee1052c0a0c6c5e99d90764d434652100279d8e1 (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
From 3f2209970cca8d9b2b977be3eab7587f72f65fbb Mon Sep 17 00:00:00 2001
From: Bas Couwenberg <sebastic@xs4all.nl>
Date: Sun, 1 Nov 2015 16:26:15 +0100
Subject: [PATCH] Fix gpsdata handling for gpsd >= 3.12 (libgps22 |
 GPSD_API_MAJOR_VERSION 6) #76

---
 src/GPS/qgpsdevice.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/GPS/qgpsdevice.cpp b/src/GPS/qgpsdevice.cpp
index 04889f6..b0c146a 100644
--- a/src/GPS/qgpsdevice.cpp
+++ b/src/GPS/qgpsdevice.cpp
@@ -1056,10 +1056,17 @@ void QGPSDDevice::onDataAvailable()
         satArray[i][0] = satArray[i][1] = satArray[i][2] = 0;
     for (int i=0; i<num_sat; ++i)
     {
+#if GPSD_API_MAJOR_VERSION > 5
+        int id = gpsdata->skyview[i].PRN;
+        satArray[id][0] = gpsdata->skyview[i].elevation;
+        satArray[id][1] = gpsdata->skyview[i].azimuth;
+        satArray[id][2] = gpsdata->skyview[i].ss;
+#else
         int id = gpsdata->PRN[i];
         satArray[id][0] = gpsdata->elevation[i];
         satArray[id][1] = gpsdata->azimuth[i];
         satArray[id][2] = gpsdata->ss[i];
+#endif
     }
     setNumSatellites(num_sat);