65 lines
2.0 KiB
C
65 lines
2.0 KiB
C
#ifndef _EC20GNSS_H
|
||
#define _EC20GNSS_H
|
||
|
||
#include "ec20module.h"
|
||
#include "sysport.h"
|
||
#include "rtc.h"
|
||
|
||
|
||
#define IS_Number_PERIPH(PERIPH) (((PERIPH) >= 0x30) && \
|
||
((PERIPH) <= 0x39) )
|
||
|
||
/*****************************************
|
||
*自定义变量类型
|
||
****************************************/
|
||
|
||
typedef enum
|
||
{
|
||
ALREADY = 'A', //GNSS已经完成定位
|
||
UNALREADY = 'V' //GNSS未完成定位
|
||
}GNSSSTATUS_e ; //GNSS就绪状态
|
||
|
||
typedef enum
|
||
{
|
||
EAST = 'E', //东
|
||
SOUTH = 'S', //南
|
||
WEST = 'W', //西
|
||
NORTH = 'N' //北
|
||
}GNSSDIRECT_e ; //GNSS方向:东南西北
|
||
|
||
typedef struct
|
||
{
|
||
char utcTime[10] ; //RMC语句中的UTC时间,例“031347.00”表示03:13:47
|
||
GNSSSTATUS_e eGnssStatus ; //GNSS定位就绪状态
|
||
char latitude[12] ; //纬度值
|
||
GNSSDIRECT_e eLatitudeDirect ; //南纬/北纬
|
||
char longitude[13] ; //经度值
|
||
GNSSDIRECT_e eLongitudeDirect ; //西经/东经
|
||
char speed[6]; //速度
|
||
char angDirect[6] ; //角方向
|
||
char utcDate[7] ; //UTC日期。例如"090121"表示2021年1月9日
|
||
}NMEARMC_s ; //定义NMEA语句中RMC语句的数据结构体变量类型
|
||
|
||
|
||
/*****************************************
|
||
*ec20 GNSS 驱动内部使用常变量
|
||
****************************************/
|
||
extern NMEARMC_s sRMCData ; //NMEARMC_s结构体全局 用于存放NMEA语句中RMC语句的数据
|
||
|
||
/*****************************************
|
||
*内部函数声明
|
||
****************************************/
|
||
RunResult EC20_SendPDPCmd( uint8_t cmdNum, char *format,... ) ; // EC20通过串口发送net相关命令
|
||
|
||
/*****************************************
|
||
*对外接口函数声明
|
||
****************************************/
|
||
extern RunResult EC20GnssConfig(void) ;
|
||
extern RunResult EC20SelfOpenGnss(void) ;
|
||
extern RunResult EC20OpenGnss(void) ;
|
||
extern RunResult EC20CloseGnss(void) ;
|
||
extern RunResult EC20GnssQueryRMC(NMEARMC_s *psNmeaRMC ) ;
|
||
extern void RMCUtcToBJT(Calendar_u *puSetRTC, NMEARMC_s *psRMCData ) ; //将GNSS返回的RMC语句中的日期和时间转化为 Calendar_u共用体数据格式
|
||
|
||
#endif
|