| #ifndef _RTK_FUN_H_ | |
| #define _RTK_FUN_H_ | |
| #define RTK_SUPPORT | |
| #define ENABLE_RTKFUN //RTK�ĺ����ӿ� | |
| #define ENABLE_RTKCHANGEFREQ // | |
| #include "hardware/gps_mtk.h" | |
| #include "hardware/gps.h" | |
| typedef enum | |
| { | |
| rtk_log_info, | |
| rtk_log_warn, | |
| rtk_log_err | |
| } rtk_log_level; | |
| typedef struct | |
| { | |
| unsigned char bPosFlag; //��ǰ��״̬��0����Ч�� 1�����㣻 2��RTD(SBAS)�� 4��RTK fix�� 5��RTK float�� 6��Dead Reckoing�� 7��Fix pos mode�� 8��Sim mode | |
| unsigned char bTrackNo; //���������� | |
| unsigned char bSatNo; //���������� | |
| unsigned char bRtkFlag; //RTKԭʼ��״̬(0:ʧ�� 1:���� 3:����̶� 4:�̶� 5:���� 12:���� 13:����ƽ�� 14:�Ƶ�) | |
| double fDiffAge; //������� | |
| unsigned int uGpsWeek; //GPSʱ���� | |
| double fWeekSeconds;//GPSʱ�������� | |
| double fUTC; //UTCʱ�������1970-01-01 00:00:00��ʼ���� | |
| double fLeapSeconds;//���� | |
| double fPosX; //X����(m)(WGS84) | |
| double fPosY; //Y����(m)(WGS84) | |
| double fPosZ; //Z����(m)(WGS84) | |
| float fPosXDelta; //X����ı���� | |
| float fPosYDelta; //Y����ı���� | |
| float fPosZDelta; //Z����ı���� | |
| double fLat; //γ�ȣ���λ�ȣ� | |
| double fLong; //���ȣ���λ�ȣ� | |
| double fAlt; //���θߣ���λm�� | |
| double fHeightOfGeoid;//�߳��쳣����λm�� | |
| float fLatStd; //γ�ȱ��� | |
| float fLongStd; //���ȱ��� | |
| float fAltStd; //���θ� ���� | |
| double fVelX; //X������ٶȣ�m/s�� | |
| double fVelY; //Y������ٶ� | |
| double fVelZ; //Z������ٶ� | |
| float fVelXDelta; //X�����ٶȱ��� | |
| float fVelYDelta; //Y�����ٶȱ��� | |
| float fVelZDelta; //Z�����ٶȱ��� | |
| float fVelN; //�������ٶȣ�m/s) | |
| float fVelE; //�������ٶȣ�m/s) | |
| float fVelU; //�췽���ٶȣ�m/s) | |
| float fVelNDelta; //�������ٶȱ��m/s) | |
| float fVelEDelta; //�������ٶȱ��m/s) | |
| float fVelUDelta; //�췽���ٶȱ��m/s) | |
| float fHorSpeed; //�Ե��ٶȣ�m/s) | |
| float fHorSpeedDelta;//�Ե��ٶȱ��m/s) | |
| float fTrueHeading;//���溽��,�켣����ǣ��ȣ����˶����� | |
| float fTrueHeadingDelta;//�켣����DZ���ȣ� | |
| float fHeading2Ant; //˫���ߺ����ݲ�֧�֣����켣����Ǹ�ֵ�� | |
| float fHeading2AntDelta; //˫���ߺ��ȣ��ݲ�֧�֣����켣����ǵı��ֵ�� | |
| float fRangeRms; //α�ྫ�� | |
| float fPhaseRms; //�ز����� | |
| float fHDOP; //HDOP | |
| float fPDOP; //PDOP | |
| float fVDOP; //VDOP | |
| float fCN0; //��ǰ���붨λ���ǵľ�ֵCN0(dBHz) | |
| double fClkTime; //��ӦMTK���ڲ�gps_clock�е�time_ns�ֶ� | |
| int iBaseStatus;//ͬrtk_base_sdkstatus��������״̬ | |
| //RTK����״̬ | |
| //0x00000001��ʾ��վ���� | |
| //0x00000002��ʾ��Ч���ǵ���10�� | |
| //0x00000004��ʾ��Ч��������Ⱦ�ֵ������ֵ��Ĭ��24�� | |
| //0x00000008��ʾRTK�������ʧ�ܣ�����ʧ�ܰ������ǹ��٣��۲������������ȵͣ���������ȣ� | |
| //0x00000010��ʾRTKδ������㣨δ�������ԭ�������վ���ݡ��л�վ���ݵ��ӳٴ���200��PVT��λʧ�ܡ�ʱ���ж��쳣�ȣ� | |
| int iRtkStatus; | |
| }rtk_result_info; | |
| typedef void (*rtk_out_debuginfo)(const char * pBuff, const int length, const int ilevel); | |
| typedef void (*rtk_out_postdata)(const unsigned char * pBuff, const int length); | |
| typedef void (*rtk_out_basesdkstatus)(const int status); | |
| typedef void (*rtk_out_status)(const int status); | |
| typedef void (*rtk_out_result)(const rtk_result_info * prtk); | |
| typedef void (*rtk_out_result_nmea)(const char * strnmea, const int length); | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| //rtk��ʼ�� | |
| extern void rtk_init(); | |
| //ͨ�������û����������½ | |
| extern void rtk_set_UserInfo(const char* user, const char* pwd); | |
| //�����豸ID��½ | |
| extern void rtk_set_DeviceID(const char* device_id); | |
| //�����ƶ�վMTK��NMEA����(GGA/RMC/VTG/GSA/GSV/GST) | |
| extern void rtk_rove_addnmea(const unsigned char * pBuff, const int iBuffLen); | |
| //�����ƶ�վMTK�Ĺ۲��� | |
| extern void rtk_rove_addrawmess(GnssData_ext* data); | |
| //�����ƶ�վMTK��ԭʼ������֡ | |
| extern int rtk_rove_addrawnav(GnssNavigationMessage * msg); | |
| //rtk��������Ϣ | |
| extern void rtk_result_cb(rtk_out_result pRtk); | |
| //rtk��Nmea���Ľ��(GGA/RMC/VTG/GSA/GSV/GST) | |
| extern void rtk_result_nmea_cb(rtk_out_result_nmea pNmea); | |
| //rtk�Ĵ�ӡ��Ϣ,������Ϊ�� | |
| extern void rtk_config_log(rtk_out_debuginfo pLog); | |
| //rtk��������,�������� | |
| extern void rtk_config_post(rtk_out_postdata pOut); | |
| //��վ ��������ݣ�������״̬(�������SDK״̬��) | |
| extern void rtk_base_sdkstatus(rtk_out_basesdkstatus pBaseStatus); | |
| //rtk�����Ƿ�ر�ijϵͳ | |
| //bSys------1(GPS) 2(GLO) 3(GAL) 4(QZS) 5(BD2) 6(BD3) | |
| //bLock-----l(Lock) 0:(unLock) | |
| extern void rtk_config_lockout(const unsigned char bSys, const unsigned char bLock); | |
| //��ȡRTK�汾�����20�ֽڣ� | |
| extern void rtk_version(char * strVer); | |
| //rtk�Ƿ�������� | |
| //0:����������Ĭ��״̬�� | |
| //1:�������ߣ�rtk�ӿڲ��ٽ����������룬����sdk���������ͽ������ݣ�ֹͣ������ | |
| //2:���뵥�㶨λ״̬��rtk�ӿڽ��������������������sdkֹͣ���� | |
| extern void rtk_gotosleep(const unsigned char bMode); | |
| //��ȡ��ǰ���õ�DeviceID�����128�ֽڣ� | |
| extern void rtk_get_DeviceID(char* device_id); | |
| //���÷�����IP��ַ�ӿ� | |
| //server_ip:��������ַ | |
| extern void rtk_setServerIP(const char* server_ip); | |
| //����RTK�Ľ�����Ҫ��͵�����ȣ�Ĭ��24 | |
| extern void rtk_setCN0(const unsigned char bCN0); | |
| //����RTK״̬��ӿڣ��������SDK��״̬��+RTK״̬�룬RTK״̬�����¶���) | |
| //���������ԭʼ�۲�����Ƶ�ʸ���RTK״̬�룬״̬��ύ����֣�����ԭʼ����������ÿ�����һ��״̬���������ߺ������ | |
| //4001:��ԭʼ��������(����3�뼰����) | |
| //4002:��NMEA��������(����3�뼰����) | |
| //4003:��������������� | |
| //4004:PVTδ��λ | |
| //4005:�����ź���(����Ⱦ�ֵ <30) | |
| //4006:�����ź�һ��(����Ⱦ�ֵ30~35) | |
| //4007:�����źź�(����Ⱦ�ֵ35~40) | |
| //4008:�����ź�ǿ(����Ⱦ�ֵ >40) | |
| extern void rtk_status_update(rtk_out_status pRtkStatus); | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif /* _RTK_FUN_H_ */ |