| /* |
| * qser_gnss.h |
| * |
| * QSER GNSS header file. |
| * |
| * Author : lb |
| * Date : 2023/11/23 11:13:18 |
| */ |
| #ifndef _QSER_GNSS_H |
| #define _QSER_GNSS_H |
| #include "mbtk_type.h" |
| |
| typedef unsigned int Uint_t; |
| |
| typedef enum |
| { |
| E_MT_LOC_MSG_ID_LOCATION_INFO, /**< pv_data = & mopen_location_info_t */ |
| E_MT_LOC_MSG_ID_NMEA_INFO, /**< pv_data = & mopen_gnss_nmea_info_t */ |
| } e_msg_id_t; |
| |
| typedef void (*gnss_handler_func_t) |
| ( |
| Uint_t *h_loc, |
| e_msg_id_t e_msg_id, //消息 ID |
| void *pv_data, //消息内容,取决于 ID,如下说明 |
| void *context_ptr //用于区分哪个返回的消息 |
| )/* lynq_AddRxIndMsgHandler_t*/; |
| |
| typedef struct |
| { |
| uint32_t year; // 大于 1980 |
| uint32_t month; // 1-12 |
| uint32_t day; // 1-31 |
| uint32_t hour; // 0-23 |
| uint32_t minute; // 0-59 |
| uint32_t second; // 0-59 |
| uint32_t millisecond; // 0-999 |
| } LYNQ_INJECT_TIME_INTO_T; /* Message */ |
| |
| typedef enum { |
| DELETE_NOTHING = 0, /*不删除数据*/ |
| DELETE_EPHEMERIS = 1, /*删除星历*/ |
| DELETE_ALMANAC = 2, /*删除历书*/ |
| DELETE_POSITION_TIME = 3, /*删除时间和位置信息. */ |
| DELETE_UTC = 4, /*删除 UTC 时间*/ |
| DELETE_ALL = 5 /*删除所有*/ |
| } DELETE_AIDING_DATA_TYPE_T; |
| |
| int qser_Gnss_Init (uint32_t *h_gnss); |
| |
| int qser_Gnss_Deinit (uint32_t h_gnss); |
| |
| int qser_AddRxIndMsgHandler (gnss_handler_func_t handler_ptr,uint32_t h_gnss); |
| |
| int qser_Set_Indications (uint32_t h_gnss,e_msg_id_t type); |
| |
| int qser_Gnss_Start (uint32_t h_gnss); |
| |
| int qser_Gnss_Stop (uint32_t h_gnss); |
| |
| int qser_Gnss_InjectTime (uint32_t h_gnss,LYNQ_INJECT_TIME_INTO_T *time_info); |
| |
| int qser_Gnss_Delete_Aiding_Data (uint32_t h_gnss,DELETE_AIDING_DATA_TYPE_T flags); |
| |
| int qser_Gnss_download_tle(); |
| |
| int qser_Gnss_injectEphemeris(uint32_t h_gnss); |
| |
| #endif /* _QSER_GNSS_H */ |