📄 sentence.h
字号:
#ifndef __NMEA_SENTENCE_H__#define __NMEA_SENTENCE_H__#include "info.h"/** * NMEA PACK ENUM */enum nmeaPACKTYPE{ GPNON = 0x0000, /**<未知类型 */ GPGGA = 0x0001, /**< GGA */ GPGSA = 0x0002, /**< GSA */ GPGSV = 0x0004, /**< GSV */ GPRMC = 0x0008, /**< RMC*/ GPVTG = 0x0010 /**< VTG */};/** * GGA (Global Positioning System Fix Data) 结构体 */typedef struct _nmeaGPGGA{ nmeaTIME utc_time; /**< UTC时间*/double lat; /**< 纬度- [degree][min].[sec/60] */char ns; /**< [N]orth or [S]outh */double lon; /**< 经度- [degree][min].[sec/60] */ char ew; /**< [E]ast or [W]est */ int sig; /**< 定位指示 (0 = Invalid; 1 = Fix; 2 = Differential, 3 = Sensitive) */ int satinuse; /**< 可用卫星数目*/ double HDOP; /**< 水平精度因子*/ double elv; /**< 海拔*/ char elv_units; /**< 高度单位 */ double diff; /**< */ char diff_units; /**< [M]eters (Units of geoidal separation) */ double dgps_age; /**< 差分时间 */ int dgps_sid; /**< 差分站ID号*/} nmeaGPGGA;/** * GSA (Satellite status)结构体 */typedef struct _nmeaGPGSA{ char fix_mode; /**< 模式(M = Manual, forced to operate in 2D or 3D; A = Automatic, 3D/2D) */ int fix_type; /**< 类型(1 = Fix not available; 2 = 2D; 3 = 3D) */ int sat_prn[NMEA_MAXSAT]; /**< 可用卫星的PRNs码*/ double PDOP; /**< 精度残差 */ double HDOP; /**< 水平精度残差*/ double VDOP; /**< 垂直精度残差*/} nmeaGPGSA;/** * GSV (Satellites in view) 结构体 */typedef struct _nmeaGPGSV{ int pack_count; /**< 消息包总数 */ int pack_index; /**< 消息编号*/ int sat_count; /**< InView卫星总数*/ nmeaSATELLITE sat_data[NMEA_SATINPACK];} nmeaGPGSV;/** * RMC (Recommended Minimum sentence C) 结构体 */typedef struct _nmeaGPRMC{ nmeaTIME utc; /**< UTC时间 */ char status; /**< 状态(A = active or V = void) */ double lat; /**< 纬度- [degree][min].[sec/60] */ char ns; /**< [N]orth or [S]outh */ double lon; /**< 经度- [degree][min].[sec/60] */ char ew; /**< [E]ast or [W]est */ double speed; /**< 速度*/ double direction; /**< 方向角度*/ double declination; /**< 倾斜角 */ char declin_ew; /**< [E]ast or [W]est */ char mode; /**< 模式 */} nmeaGPRMC;/** * VTG (Track made good and ground speed) 结构体 */typedef struct _nmeaGPVTG{ double dir; /**< 运动角度 */ char dir_t; /**< Fixed text 'T'*/ double dec; /**< 运动角度*/ char dec_m; /**< Fixed text 'M' */ double spn; /**< 地表速度,节*/ char spn_n; /**< Fixed text 'N' */ double spk; /**< 地表速度, 千米/小时*/ char spk_k; /**< Fixed text 'K' */} nmeaGPVTG;void nmea_zero_GPGGA(nmeaGPGGA *pack);void nmea_zero_GPGSA(nmeaGPGSA *pack);void nmea_zero_GPGSV(nmeaGPGSV *pack);void nmea_zero_GPRMC(nmeaGPRMC *pack);void nmea_zero_GPVTG(nmeaGPVTG *pack);#endif /* __NMEA_SENTENCE_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -