gnss: update qser gnss api

Change-Id: I3f754993719361033a128ff357492ec46aaccb48
diff --git a/mbtk/liblynq_lib/src/lynq_gnss.c b/mbtk/liblynq_lib/src/lynq_gnss.c
index c0dfc14..2bb1fc1 100755
--- a/mbtk/liblynq_lib/src/lynq_gnss.c
+++ b/mbtk/liblynq_lib/src/lynq_gnss.c
@@ -12,7 +12,7 @@
 
 /**********************************VARIABLE***********************************/
 static bool inited = FALSE;
-static uint32_t qser_h_sim = 0x5F6F7F8F;
+static uint32_t qser_h_gnss = 0x5F6F7F8F;
 gnss_handler_func_t qser_gnss_callback = NULL;
 static time_t qser_gnss_time = 0;
 qser_agps_info qser_agps_info_save = {0};
@@ -125,7 +125,7 @@
 {
     qser_gnss_error_e state = QSER_GNSS_ERROR_SUCCESS;
     gnss_async_func_t cb = qser_gnss_async_get_cb();
-    int ret = qser_Gnss_Start(qser_h_sim);
+    int ret = qser_Gnss_Start(qser_h_gnss);
     if(ret != QSER_RESULT_SUCCESS)
     {
         LOGE("[qser_gnss] gnss_async_thread() fail.");
@@ -212,7 +212,7 @@
             return QSER_RESULT_FAIL;
         }
     }
-    *h_gnss = qser_h_sim;
+    *h_gnss = qser_h_gnss;
 
     return QSER_RESULT_SUCCESS;
 }
@@ -220,36 +220,38 @@
 int qser_Gnss_Deinit (uint32_t h_gnss)
 {
     //UNUSED(h_gnss);
-    if(h_gnss != qser_h_sim)
+    if(h_gnss != qser_h_gnss)
     {
-        LOGE("[qser_gnss] h_sim is error.");
+        LOGE("[qser_gnss] h_gnss is error.");
         return QSER_RESULT_FAIL;
     }
     
     gnss_err_enum ret = GNSS_ERR_UNKNOWN;
 
-    ret = mbtk_gnss_deinit();
-    if(ret == GNSS_ERR_OK)
+    if(inited)
     {
-        inited = FALSE;
-    }
-    else
-    {
-        LOGE("[qser_gnss] mbtk_gnss_init() fail.");
-        return QSER_RESULT_FAIL;
+        ret = mbtk_gnss_deinit();
+        if(ret == GNSS_ERR_OK)
+        {
+            inited = FALSE;
+        }
+        else
+        {
+            LOGE("[qser_gnss] mbtk_gnss_init() fail.");
+            return QSER_RESULT_FAIL;
+        }
     }
 
     return QSER_RESULT_SUCCESS;
 }
 
-
 int qser_AddRxIndMsgHandler (gnss_handler_func_t handler_ptr,uint32_t h_gnss)
 {
     //UNUSED(handler_ptr);
     //UNUSED(h_gnss);
-    if(h_gnss != qser_h_sim)
+    if(h_gnss != qser_h_gnss)
     {
-        LOGE("[qser_gnss] h_sim is error.");
+        LOGE("[qser_gnss] h_gnss is error.");
         return QSER_RESULT_FAIL;
     }
 
@@ -263,14 +265,13 @@
     return QSER_RESULT_SUCCESS;
 }
 
-
 int qser_Set_Indications (uint32_t h_gnss,e_msg_id_t type)
 {
     //UNUSED(h_gnss);
     //UNUSED(type);
-    if(h_gnss != qser_h_sim)
+    if(h_gnss != qser_h_gnss)
     {
-        LOGE("[qser_gnss] h_sim is error.");
+        LOGE("[qser_gnss] h_gnss is error.");
         return QSER_RESULT_FAIL;
     }
 
@@ -303,13 +304,12 @@
     return QSER_RESULT_SUCCESS;
 }
 
-
 int qser_Gnss_Start (uint32_t h_gnss)
 {
     //UNUSED(h_gnss);
-    if(h_gnss != qser_h_sim)
+    if(h_gnss != qser_h_gnss)
     {
-        LOGE("[qser_gnss] h_sim is error.");
+        LOGE("[qser_gnss] h_gnss is error.");
         return QSER_RESULT_FAIL;
     }
 
@@ -325,14 +325,12 @@
     return QSER_RESULT_SUCCESS;
 }
 
-
-
 int qser_Gnss_Start_Async(uint32_t h_gnss)
 {
     //UNUSED(h_gnss);
-    if(h_gnss != qser_h_sim)
+    if(h_gnss != qser_h_gnss)
     {
-        LOGE("[qser_gnss] h_sim is error.");
+        LOGE("[qser_gnss] h_gnss is error.");
         return QSER_RESULT_FAIL;
     }
 
@@ -356,13 +354,12 @@
     return QSER_RESULT_SUCCESS;
 }
 
-
 int qser_Gnss_Stop (uint32_t h_gnss)
 {
     //UNUSED(h_gnss);
-    if(h_gnss != qser_h_sim)
+    if(h_gnss != qser_h_gnss)
     {
-        LOGE("[qser_gnss] h_sim is error.");
+        LOGE("[qser_gnss] h_gnss is error.");
         return QSER_RESULT_FAIL;
     }
 
@@ -379,65 +376,29 @@
 
 int qser_Gnss_InjectTime (uint32_t h_gnss,LYNQ_INJECT_TIME_INTO_T *time_info)
 {
-    UNUSED(h_gnss);
+    //UNUSED(h_gnss);
     UNUSED(time_info);
 
-    return 0;
+    if(h_gnss != qser_h_gnss)
+    {
+        LOGE("[qser_gnss] h_gnss is error.");
+        return QSER_RESULT_FAIL;
+    }
+    return QSER_RESULT_SUCCESS;
 }
 
-/*
 int qser_Gnss_Delete_Aiding_Data (uint32_t h_gnss,DELETE_AIDING_DATA_TYPE_T flags)
 {
     //UNUSED(h_gnss);
     //UNUSED(flags);
     
-    if(h_gnss != qser_h_sim)
+    if(h_gnss != qser_h_gnss)
     {
-        LOGE("[qser_gnss] h_sim is error.");
-        return QSER_RESULT_FAIL;
-    }
-
-    gnss_err_enum ret = GNSS_ERR_UNKNOWN;
-    char param_buf[32] = {0};
-    int  length = 0;
-
-    switch(flags)
-    {
-        case DELETE_NOTHING:
-        {
-            memcpy(param_buf, "RESET,1", strlen("RESET,1"));
-            break;
-        }
-        case DELETE_EPHEMERIS:
-        case DELETE_ALMANAC:
-        case DELETE_POSITION_TIME:
-        case DELETE_UTC:
-        {
-            memcpy(param_buf, "RESET,2", strlen("RESET,2"));
-            break;
-        }
-        case DELETE_ALL:
-        {
-            memcpy(param_buf, "RESET,3", strlen("RESET,3"));
-            break;
-        }
-        default:
-        {
-            LOGE("[qser_gnss] flags UNKOWN.");
-            return QSER_RESULT_FAIL;
-        }
-    }
-
-    length = strlen(param_buf);
-    ret = mbtk_gnss_param_config(param_buf, length);
-    if(ret != MBTK_GNSS_RESULT_SUCCESS)
-    {
-        LOGE("[qser_gnss] mbtk_gnss_param_config is error.");
+        LOGE("[qser_gnss] h_gnss is error.");
         return QSER_RESULT_FAIL;
     }
     return QSER_RESULT_SUCCESS;
 }
-*/
 
 int qser_Gnss_Server_Configuration(char *host, char *id, char *password)
 {
@@ -445,6 +406,12 @@
     //UNUSED(id);
     //UNUSED(password);
 
+    if(!inited)
+    {
+        LOGE("[qser_gnss] api not init.");
+        return QSER_RESULT_FAIL;
+    }
+    
     if(host != NULL)
     {
         memcpy(qser_agps_info_save.host, host, QSER_LEN_MAX);
@@ -462,28 +429,36 @@
     return QSER_RESULT_SUCCESS;
 }
 
-
-int qser_Gnss_download(const char *fw_path, int timeout)
+int qser_Gnss_download_tle()
 {
-    gnss_err_enum ret = GNSS_ERR_UNKNOWN;    
-    ret = mbtk_gnss_dl(fw_path, timeout);
-    if(ret != GNSS_ERR_OK)
+    if(!inited)
     {
-        LOGE("[qser_gnss] mbtk_gnss_download  is error.");
+        LOGE("[qser_gnss] api not init.");
         return QSER_RESULT_FAIL;
     }
     return QSER_RESULT_SUCCESS;
 }
 
-/*
+int qser_Gnss_injectEphemeris(uint32_t h_gnss)
+{
+    //UNUSED(h_gnss);
+
+    if(h_gnss != qser_h_gnss)
+    {
+        LOGE("[qser_gnss] h_gnss is error.");
+        return QSER_RESULT_FAIL;
+    }
+    return QSER_RESULT_SUCCESS;
+}
+
 int qser_Gnss_Set_Frequency(uint32_t h_gnss, int frequency)
 {
     //UNUSED(h_gnss);
     //UNUSED(frequency);
 
-    if(h_gnss != qser_h_sim)
+    if(h_gnss != qser_h_gnss)
     {
-        LOGE("[qser_gnss] h_sim is error.");
+        LOGE("[qser_gnss] h_gnss is error.");
         return QSER_RESULT_FAIL;
     }
 
@@ -496,16 +471,15 @@
     gnss_err_enum ret = GNSS_ERR_UNKNOWN;    
     char param_buf[32] = {0};
     int  length = 0;
-    length = snprintf(param_buf, 32, "NAVISYSCFG,7,%d", frequency);
-    ret = mbtk_gnss_dl(param_buf, length);
-    if(ret != MBTK_GNSS_RESULT_SUCCESS)
+    length = snprintf(param_buf, 32, "$FREQCFG,%d", frequency);
+    ret = mbtk_gnss_setting(param_buf, QSER_GNSS_TIMEOUT);
+    if(ret != GNSS_ERR_OK)
     {
-        LOGE("[qser_gnss] mbtk_gnss_param_config is error.");
+        LOGE("[qser_gnss] mbtk_gnss_setting fail.");
         return QSER_RESULT_FAIL;
     }
     return QSER_RESULT_SUCCESS;
 }
-*/
 /**********************************API***********************************/