Blob Blame History Raw
diff --git a/flightdeck/sensgpsd.cc b/flightdeck/sensgpsd.cc
index e430df8c..b6d3d6ef 100644
--- a/flightdeck/sensgpsd.cc
+++ b/flightdeck/sensgpsd.cc
@@ -114,16 +114,25 @@ bool Sensors::SensorGPSD::gps_poll(Glib::IOCondition iocond)
 
 void Sensors::SensorGPSD::update_gps(void)
 {
+#if GPSD_API_MAJOR_VERSION >= 10
+	if (true)
+		std::cerr << "GPS: set 0x" << std::hex << m_gpsdata.m_gpsdata.set << std::dec << " status " << m_gpsdata.m_gpsdata.fix.status
+			  << " fixmode " << m_gpsdata.m_gpsdata.fix.mode << std::endl;
+#else
 	if (true)
 		std::cerr << "GPS: set 0x" << std::hex << m_gpsdata.m_gpsdata.set << std::dec << " status " << m_gpsdata.m_gpsdata.status
 			  << " fixmode " << m_gpsdata.m_gpsdata.fix.mode << std::endl;
+#endif
 	m_conntimeout.disconnect();
 	m_conntimeout = Glib::signal_timeout().connect(sigc::mem_fun(*this, &SensorGPSD::gps_timeout), 5000);
 	ParamChanged pc;
 	if (m_gpsdata.m_gpsdata.set & MODE_SET) {
 		fixtype_t oldfixtype(m_fixtype);
-		if ((m_gpsdata.m_gpsdata.set & STATUS_SET) &&
-		    m_gpsdata.m_gpsdata.status == STATUS_NO_FIX) {
+#if GPSD_API_MAJOR_VERSION >= 10
+		if ((m_gpsdata.m_gpsdata.set & STATUS_SET) && m_gpsdata.m_gpsdata.fix.status == STATUS_NO_FIX) {
+#else
+		if ((m_gpsdata.m_gpsdata.set & STATUS_SET) && m_gpsdata.m_gpsdata.status == STATUS_NO_FIX) {
+#endif
 			m_fixtype = fixtype_nofix;
 		} else {
 			switch (m_gpsdata.m_gpsdata.fix.mode) {
diff --git a/src/Navigate.cc b/src/Navigate.cc
index bd1cead6..3c7e321e 100644
--- a/src/Navigate.cc
+++ b/src/Navigate.cc
@@ -1063,7 +1063,11 @@ bool Navigate::GPSCommGPSD::gps_poll(Glib::IOCondition iocond)
 #else
         ::gps_poll(m_gpsdata);
 #endif
+#if GPSD_API_MAJOR_VERSION >= 10
+        std::cerr << "status " << m_gpsdata.fix.status << " fixtype " << m_gpsdata.fix.mode << std::endl;
+#else
         std::cerr << "status " << m_gpsdata.status << " fixtype " << m_gpsdata.fix.mode << std::endl;
+#endif
         return true;
 }
 
@@ -1096,7 +1096,11 @@ Navigate::GPSCommGPSD::fixtype_t Navigate::GPSCommGPSD::get_fixtype(void) const
 
 Navigate::GPSCommGPSD::fixstatus_t Navigate::GPSCommGPSD::get_fixstatus(void) const
 {
+#if GPSD_API_MAJOR_VERSION >= 10
+	switch (m_gpsdata.fix.status) {
+#else
         switch (m_gpsdata.status) {
+#endif
                 default:
                 case STATUS_NO_FIX:
                         return fixstatus_nofix;