📄 info.h
字号:
#ifndef __NMEA_INFO_H__#define __NMEA_INFO_H__#include "time.h"#define NMEA_SIG_BAD (0) // NMEA 信号差 #define NMEA_SIG_LOW (1) // NMEA 信号弱#define NMEA_SIG_MID (2) // NMEA 信号中#define NMEA_SIG_HIGH (3) // NMEA 信号好#define NMEA_FIX_BAD (1) // NMEA 定位无效#define NMEA_FIX_2D (2) // NMEA 2D定位成功#define NMEA_FIX_3D (3) // NMEA 3D定位成功#define NMEA_MAXSAT (12) // NMEA 最多显示的接收卫星数#define NMEA_SATINPACK (4) // 一个PACK的卫星数目#define NMEA_NSATPACKS (NMEA_MAXSAT / NMEA_SATINPACK) // PACK数#define NMEA_DEF_LAT (5001.2621) // 初始纬度#define NMEA_DEF_LON (3613.0595) // 初始经度 /** * 定义位置结构体,由经度和纬度组成* @see nmeaSATINFO * @see nmeaGPGSV */typedef struct _nmeaPOS{ double lat; /**< 纬度*/ double lon; /**< 经度*/} nmeaPOS;/** *卫星信息结构体*/typedef struct _nmeaSATELLITE{ int id; /**< 卫星 PRN ID*/ int in_use; /**< 是否用于定位*/ int elv; /**< 卫星倾角, 最大90 */ int azimuth; /**<卫星方位角, 000 to 359 */ int sig; /**<信噪比, 00-99 dB */} nmeaSATELLITE;/** *所有卫星信息VIEW图 * @see nmeaINFO * @see nmeaGPGSV */typedef struct _nmeaSATINFO{ int inuse; /**< 可用卫星数 */ int inview; /**< 出现空VIEW图中的卫星数*/ nmeaSATELLITE sat[NMEA_MAXSAT]; /**< 卫星参数结构体数组 */} nmeaSATINFO;/** *用于解码的NMEA信息结构体 * @see nmea_parse * @see nmea_GPGGA2info, nmea_...2info */typedef struct _nmeaINFO{ int smask; /**< 获得数据的mask类型 */ nmeaTIME utc; /**<UTC时间 */ int sig; /**< GPS信号质量(0 = Invalid; 1 = Fix; 2 = Differential, 3 = Sensitive) */ int fix; /**< 操作模式(1 = Fix not available; 2 = 2D; 3 = 3D) */ double PDOP; /**< 位置精度散差 */ double HDOP; /**< 水平方向精度散差*/ double VDOP; /**< 垂直方向精度散差*/ double lat; /**<纬度- +/-[degree][min].[sec/60] */ double lon; /**<精度- +/-[degree][min].[sec/60] */ double elv; /**<海拔 */ double speed; /**<地表速度kilometers/hour */ double direction; /**<方向*/ double declination; /**<倾斜角*/ nmeaSATINFO satinfo; /**< 卫星信息结构体*/} nmeaINFO;void nmea_zero_INFO(nmeaINFO *info);#endif /* __NMEA_INFO_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -