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;