Add basic change for v1453

Change-Id: I9497a61bbc3717f66413794a4e7dee0347c0bc33
diff --git a/mbtk/include/lynq/lynq_gnss.h b/mbtk/include/lynq/lynq_gnss.h
new file mode 100755
index 0000000..893f6a8
--- /dev/null
+++ b/mbtk/include/lynq/lynq_gnss.h
@@ -0,0 +1,120 @@
+/*
+* 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"
+#include "mbtk_gnss.h"
+#include "mbtk_log.h"
+
+typedef unsigned int Uint_t;
+#define MOPEN_GNSS_NMEA_MAX_LENGTH  255                 /* NMEA string maximum length. */
+
+#define QSER_LEN_MAX 128
+
+typedef enum
+{
+    E_MT_LOC_MSG_ID_LOCATION_INFO = 1, /**< pv_data = & mopen_location_info_t */
+    E_MT_LOC_MSG_ID_NMEA_INFO = 3, /**< pv_data = & mopen_gnss_nmea_info_t */
+} e_msg_id_t;
+
+typedef enum {
+	QSER_GNSS_ERROR_SUCCESS = 0,
+    QSER_GNSS_ERROR_FAIL,
+} qser_gnss_error_e;
+
+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 void (*gnss_async_func_t)(qser_gnss_error_e state);
+
+typedef struct
+{
+    char host[QSER_LEN_MAX];
+    char id[QSER_LEN_MAX];
+    char passwd[QSER_LEN_MAX];
+}qser_agps_info;
+
+typedef struct
+{
+    int64_t     timestamp;                              /**<   System Timestamp, marked for when got the nmea data */
+    int         length;                                 /**<   NMEA string length. */
+    char        nmea[MOPEN_GNSS_NMEA_MAX_LENGTH + 1];   /**<   NMEA string.*/
+}mopen_gnss_nmea_info_t;  /* Message */
+
+typedef struct
+{
+    uint32_t    size;                   /**<   Set to the size of mcm_gps_location_t. */
+    int flags;                          /**<   Contains GPS location flags bits. */
+    int position_source;                /**<   Provider indicator for HYBRID or GPS. */ //功能暂未实现,可不用添加进结构体
+    double      latitude;               /**<   Latitude in degrees. */
+    double      longitude;              /**<   Longitude in degrees. */
+    double      altitude;               /**<   Altitude in meters above the WGS 84 reference ellipsoid. */
+    float       speed;                  /**<   Speed in meters per second. */
+    float       bearing;                /**<   Heading in degrees. */ //功能暂未实现,可不用添加进结构体
+    float       accuracy;               /**<   Expected accuracy in meters. */ //功能暂未实现,可不用添加进结构体
+    int64_t     timestamp;              /**<   Timestamp for the location fix in UTC million-second base.  */
+    int32_t     is_indoor;              /**<   Location is indoors. */ //功能暂未实现,可不用添加进结构体
+    float       floor_number;           /**<   Indicates the floor number. */
+}mopen_location_info_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_Set_Async_Callback(gnss_async_func_t cb);
+
+int qser_Gnss_Start (uint32_t h_gnss);
+
+int qser_Gnss_Start_Async(uint32_t h_gnss);
+
+int qser_Gnss_Stop (uint32_t h_gnss);
+
+int qser_Gnss_Set_Frequency(uint32_t h_gnss, int frequency);
+
+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_Server_Configuration(char *host, char *id, char *password);
+
+int qser_Gnss_download_tle();
+
+int qser_Gnss_injectEphemeris(uint32_t h_gnss);
+
+
+#endif /* _QSER_GNSS_H */