📄 gpsinterface_gpsd.h
字号:
/* * Roadnav * GPSInterface_GPSD.h * * Copyright (c) 2004 - 2007 Richard L. Lynch <rllynch@users.sourceforge.net> * * This program is free software; you can redistribute it and/or * modify it under the terms of version 2 of the GNU General Public License * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA *////////////////////////////////////////////////////////////////////////////////// \file////// gpsd interface module./////////////////////////////////////////////////////////////////////////////////#ifndef GPSINTERFACE_GPSD_H#define GPSINTERFACE_GPSD_H#ifdef HAVE_LIBGPS#include <vector>#include <wx/datetime.h>#include "GPSInterface.h"//////////////////////////////////////////////////////////////////////////////////// \brief Implements gpsd interface/////////////////////////////////////////////////////////////////////////////////class GPSInterface_GPSD : public IGPSInterface{ public: GPSInterface_GPSD(); virtual ~GPSInterface_GPSD(); virtual wxString Name(); virtual EGPSStatus GetData(wxGPSEvent * pGPSEvent); virtual wxString GetLastError(); virtual EGPSStatus AutoDetect(wxThread * pThread); private: wxString GPSDConnect(wxSocketClient * psockGPSD, wxString strHost, int iPort); wxString GPSDDisconnect(wxSocketBase * psockGPSD); wxString GPSDGetProtocolVersion(wxSocketBase * psockGPSD, int * piProtocolVersion, int * piMajorGPSDVersion, int * piMinorGPSDVersion, wxString * pstrCommands); wxString GPSDGetPosition(wxSocketBase * psockGPSD, int iProtocolVersion, Point * pptGPS); wxString GPSDGetHeading(wxSocketBase * psockGPSD, int iProtocolVersion, double * pfHeading); wxString GPSDGetSpeed(wxSocketBase * psockGPSD, int iProtocolVersion, double * pfSpeed); wxString GPSDGetLastTimestamp(wxSocketBase * psockGPSD, int iProtocolVersion, double * pfLastTimestamp); wxString GPSDGetLockType(wxSocketBase * psockGPSD, int iProtocolVersion, int * piLockType); wxString GPSDGetSatelliteInfo(wxSocketBase * psockGPSD, int iProtocolVersion, std::vector<SSatelliteInfo> * pvSatInfo, int * pnSatellitesUsed); /// Socket to gpsd server wxSocketClient m_sockGPSD; /// gpsd server protocol version int m_iGPSDProtocolVersion; /// Timestamp of last GPS coordinates, as reported by gpsd double m_fGPSDLastTimestamp; /// Local time of last valid GPS sentence wxDateTime m_tLastGPSSentence; /// Minimum speed the vehicle must be moving to accept the heading reported by gpsd double m_fMinimumSpeedForHeading; /// Last error messages wxString m_strLastError; /// Last valid heading double m_fLastHeading; /// Last valid speed double m_fLastSpeed; /// Last valid satellite info SSatelliteInfo m_arLastSatellitesVisible[MAX_GPS_SATELLITES]; int m_nLastSatellitesVisible; /// Last number of satellites used for lock long m_nLastSatUsedForLock; /// Last valid lock type int m_iLastLockType;}; // #ifdef HAVE_LIBGPS#endif // #ifdef HAVE_LIBGPS#endif // #ifndef GPSINTERFACE_GPSD_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -