blob: 6e2827aed0afd668fe3b509165f3376285dcbfcf [file] [log] [blame]
/*
* 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 */