From a3ec110a07fb24424f59040272f147b7af130aef Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Fri, 3 Apr 2015 12:38:35 +0200 Subject: Improve LEA-M8F autodetection and poll NAV-SOL --- host/include/uhd/usrp/gps_ctrl.hpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'host/include') diff --git a/host/include/uhd/usrp/gps_ctrl.hpp b/host/include/uhd/usrp/gps_ctrl.hpp index bbccac8bb..27e202d9b 100644 --- a/host/include/uhd/usrp/gps_ctrl.hpp +++ b/host/include/uhd/usrp/gps_ctrl.hpp @@ -52,10 +52,40 @@ public: */ virtual bool gps_detected(void) = 0; + /*! + * Tell if the GPSDO is a LEA-M8F + * \return true if the LEA-M8F has been detected + */ + virtual bool gps_detected_lea_m8f(void) = 0; + //TODO: other fun things you can do with a GPS. }; +/*! The UBX-NAV-SOL message structure from the + * u-blox UBX protocol + */ +struct ubx_nav_sol_t +{ + uint32_t itow; // ms GPS Millisecond Time of Week + int32_t frac; // ns remainder of rounded ms above + int16_t week; // GPS week + uint8_t GPSfix; // GPSfix Type, range 0..6 + uint8_t Flags; // Navigation Status Flags + int32_t ECEF_X; // cm ECEF X coordinate + int32_t ECEF_Y; // cm ECEF Y coordinate + int32_t ECEF_Z; // cm ECEF Z coordinate + int32_t PAcc; // cm 3D Position Accuracy Estimate + int32_t ECEFVX; // cm/s ECEF X velocity + int32_t ECEFVY; // cm/s ECEF Y velocity + int32_t ECEFVZ; // cm/s ECEF Z velocity + uint32_t SAcc; // cm/s Speed Accuracy Estimate + uint16_t PDOP; // 0.01 Position DOP + uint8_t res1; // reserved + uint8_t numSV; // Number of SVs used in navigation solution + uint32_t res2; // reserved +} __attribute__((packed)); + } //namespace uhd #endif /* INCLUDED_GPS_CTRL_HPP */ -- cgit v1.2.3