gnss: add agps api

Change-Id: I8d778a303bc59b22f1ac31cfbe8439e98d94d448
diff --git a/mbtk/test/liblynq_lib/qser_gnss_test.c b/mbtk/test/liblynq_lib/qser_gnss_test.c
index 8a9ec54..c7c8563 100755
--- a/mbtk/test/liblynq_lib/qser_gnss_test.c
+++ b/mbtk/test/liblynq_lib/qser_gnss_test.c
@@ -55,17 +55,17 @@
     printf("\t-1 exit\n"
            "\t1 gnss init\n"
            "\t2 gnss deinit \n"
-           "\t3 gnss add handle function\n"
-           "\t4 gnss set single mode\n"
-           "\t5 gnss set get_para_from_nmea mode\n"
+           "\t3 gnss add nmea callback\n"
+           "\t4 gnss set local mode\n"
+           "\t5 gnss set nmea mode\n"
            "\t6 gnss start\n"
            "\t7 gnss stop\n"
            "\t8 gnss Delete_Aiding_Data and reset (new not support)\n"
            "\t9 gnss injecttime (new not support)\n"
-           "\t10 gnss download agps (new not support)\n"
+           "\t10 gnss download agps\n"
            "\t11 gnss set frequency\n"
-           "\t12 gnss send agps data to gnss (new not support)\n"
-           "\t13 gnss config agps server info (new not support)\n"
+           "\t12 gnss send agps data to gnss\n"
+           "\t13 gnss config agps server info\n"
            "\t14 gnss set async cb\n"
            "\t15 gnss start async\n"
            "please input operator: >> \n");
@@ -96,245 +96,254 @@
         scanf("%d", &opt);
         switch (opt)
         {
-        case -1:
-        {
-            printf("main exit\n");
-            return 0;
-        }
+            case -1:
+            {
+                qser_Gnss_Stop(ph_gnss);
+                qser_Gnss_Deinit(ph_gnss);
+                printf("main exit\n");
+                return 0;
+            }
 
-        case 1:
-        {
-            //qser_Gnss_Init=(int(*)(uint32_t *h_gnss))dlsym(dlHandle_gnss, "qser_Gnss_Init");
-            ret = qser_Gnss_Init(&ph_gnss);
-            if(ret < 0)
-            {
-                printf("mopen_gnss_client_init FAIL.\n");
-                return -1;
-            }
-            printf("mopen_gnss_client_init success , with address=%d\n",  ph_gnss);
-            break;
-        }
-        case 2:
-        {
-            //qser_Gnss_Deinit=(int(*)(uint32_t))dlsym(dlHandle_gnss, "qser_Gnss_Deinit");
-            ret =qser_Gnss_Deinit(ph_gnss);
-            if(ret < 0)
-            {
-                printf("mopen_gnss_client_Deinit FAIL.\n");
-                return -1;
-            }
-            printf("mopen_gnss_client_Deinit success \n");
-            break;
-        }
-        case 3:
-        {
-            //qser_AddRxIndMsgHandler=(int(*)(gnss_handler_func_t,uint32_t))dlsym(dlHandle_gnss, "qser_AddRxIndMsgHandler");
-            ret = qser_AddRxIndMsgHandler((gnss_handler_func_t)&cb,ph_gnss);
-            if(ret < 0)
-            {
-                printf("lynq_AddRxIndMsgHandler fail\n");
-                qser_Gnss_Deinit(ph_gnss);
-                return -1;
-            }
-            printf("add success\n");
-            break;
-        }
-        case 4:
-        {
-            e_msg_id_t ptr2=E_MT_LOC_MSG_ID_LOCATION_INFO;
-            //qser_Set_Indications=(int(*)(uint32_t h_gnss,e_msg_id_t))dlsym(dlHandle_gnss, "qser_Set_Indications");
-            ret = qser_Set_Indications(ph_gnss,ptr2);
-            if(ret < 0)
-            {
-                printf("lynq_Set_LOCATION_INFO fail\n");
-                qser_Gnss_Deinit(ph_gnss);
-                return -1;
-            }
-            printf("set location mode success\n");
-            break;
-        }
-        case 5:
-        {
-            e_msg_id_t ptr4=E_MT_LOC_MSG_ID_NMEA_INFO;
-            //qser_Set_Indications=(int(*)(uint32_t h_gnss,e_msg_id_t))dlsym(dlHandle_gnss, "qser_Set_Indications");
-            ret = qser_Set_Indications(ph_gnss,ptr4);
-            if(ret < 0)
-            {
-                printf("lynq_Set_NMEA_INFO fail\n");
-                qser_Gnss_Deinit(ph_gnss);
-                return -1;
-            }
-            printf("set nmea mode success\n");
-            break;
-            
-        }
-        case 6:
-        {
-            //qser_Gnss_Start=(int(*)(uint32_t))dlsym(dlHandle_gnss, "qser_Gnss_Start");
-            ret = qser_Gnss_Start(ph_gnss);
-            if(ret < 0)
-            {
-                printf("lynq_Gnss_Start fail\n");
-                return -1;
-            }
-            printf("start success\n");
-            break;
-        }
-        case 7:
-        {
-            //qser_Gnss_Stop=(int(*)(uint32_t))dlsym(dlHandle_gnss, "qser_Gnss_Stop");
-            ret = qser_Gnss_Stop(ph_gnss);
-            if(ret < 0)
-            {
-                printf("lynq_Gnss_Stop fail\n");
-                qser_Gnss_Deinit(ph_gnss);
-                return -1;
-            }
-            printf("stop success\n");
-            break; 
-        }
-        case 8:
-        {
-            int opt_1;
-            DELETE_AIDING_DATA_TYPE_T ptr;
-            //qser_Gnss_Delete_Aiding_Data=(int(*)(uint32_t,DELETE_AIDING_DATA_TYPE_T))dlsym(dlHandle_gnss, "qser_Gnss_Delete_Aiding_Data");
-            printf("=========delete aiding data type=========\n");
-            delete_type();
-            scanf("%d", &opt_1);
-            switch(opt_1)
-            {
-            case 0:
-            {
-                ptr = DELETE_NOTHING;//hot
-                break;
-            }
             case 1:
             {
-                ptr = DELETE_EPHEMERIS;//warm
+                ret = qser_Gnss_Init(&ph_gnss);
+                if(ret < 0)
+                {
+                    printf("qser_Gnss_Init FAIL.\n");
+                }
+                else
+                {
+                    printf("qser_Gnss_Init success , with address=%08x\n",  ph_gnss);
+                }
                 break;
             }
             case 2:
             {
-                ptr = DELETE_ALMANAC;
+                ret =qser_Gnss_Deinit(ph_gnss);
+                if(ret < 0)
+                {
+                    printf("qser_Gnss_Deinit FAIL.\n");
+                }
+                else
+                {
+                    printf("qser_Gnss_Deinit success \n");
+                }
                 break;
             }
             case 3:
             {
-                ptr = DELETE_POSITION_TIME;
+                ret = qser_AddRxIndMsgHandler((gnss_handler_func_t)&cb,ph_gnss);
+                if(ret < 0)
+                {
+                    printf("qser_AddRxIndMsgHandler fail\n");
+                }
+                else
+                {
+                    printf("add success\n");
+                }
                 break;
             }
             case 4:
             {
-                ptr = DELETE_UTC;
+                e_msg_id_t ptr2=E_MT_LOC_MSG_ID_LOCATION_INFO;
+                ret = qser_Set_Indications(ph_gnss,ptr2);
+                if(ret < 0)
+                {
+                    printf("qser_Set_Indications fail\n");
+                }
+                else
+                {
+                    printf("set location mode success\n");
+                }
                 break;
             }
             case 5:
             {
-                ptr = DELETE_ALL;//cold
+                e_msg_id_t ptr4=E_MT_LOC_MSG_ID_NMEA_INFO;
+                ret = qser_Set_Indications(ph_gnss,ptr4);
+                if(ret < 0)
+                {
+                    printf("qser_Set_Indications fail\n");
+                }
+                else
+                {
+                    printf("set nmea mode success\n");
+                }
                 break;
             }
-            }
-            ret = qser_Gnss_Delete_Aiding_Data(ph_gnss,ptr);
-            if(ret < 0)
+            case 6:
             {
-                printf("lynq_Gnss_Delete_Aiding_Data %d fail\n",opt_1);
-                qser_Gnss_Deinit(ph_gnss);
-                return -1;
+                ret = qser_Gnss_Start(ph_gnss);
+                if(ret < 0)
+                {
+                    printf("qser_Gnss_Start fail\n");
+                }
+                else
+                {
+                    printf("start success\n");
+                }
+                break;
             }
-            printf("lynq_Gnss_Delete_Aiding_Data %d success\n",opt_1);
-            break;
-        }
-        case 9:
-        {
-            LYNQ_INJECT_TIME_INTO_T time_test;
-            //qser_Gnss_InjectTime=(int(*)(uint32_t,LYNQ_INJECT_TIME_INTO_T *time_info))dlsym(dlHandle_gnss, "qser_Gnss_InjectTime");
-            ret = qser_Gnss_InjectTime(ph_gnss,&time_test);
-            if(ret < 0)
+            case 7:
             {
-                printf("qser_Gnss_InjectTime fail\n");
-                qser_Gnss_Deinit(ph_gnss);
-                return -1;
+                ret = qser_Gnss_Stop(ph_gnss);
+                if(ret < 0)
+                {
+                    printf("qser_Gnss_Stop fail\n");
+                }
+                else
+                {
+                    printf("stop success\n");
+                }
+                break; 
             }
-            printf("qser_Gnss_InjectTime success\n");
-            break;
-        }
-        case 10:
-        {
-            //qser_Gnss_download_tle=(int(*)())dlsym(dlHandle_gnss, "qser_Gnss_download_tle");
-            ret = qser_Gnss_download_tle();
-            if(ret < 0)
+            case 8:
             {
-                printf("qser_Gnss_download_tle fail\n");
-                return -1;
+                int opt_1;
+                DELETE_AIDING_DATA_TYPE_T ptr;
+                printf("=========delete aiding data type=========\n");
+                delete_type();
+                scanf("%d", &opt_1);
+                switch(opt_1)
+                {
+                case 0:
+                {
+                    ptr = DELETE_NOTHING;//hot
+                    break;
+                }
+                case 1:
+                {
+                    ptr = DELETE_EPHEMERIS;//warm
+                    break;
+                }
+                case 2:
+                {
+                    ptr = DELETE_ALMANAC;
+                    break;
+                }
+                case 3:
+                {
+                    ptr = DELETE_POSITION_TIME;
+                    break;
+                }
+                case 4:
+                {
+                    ptr = DELETE_UTC;
+                    break;
+                }
+                case 5:
+                {
+                    ptr = DELETE_ALL;//cold
+                    break;
+                }
+                }
+                ret = qser_Gnss_Delete_Aiding_Data(ph_gnss,ptr);
+                if(ret < 0)
+                {
+                    printf("qser_Gnss_Delete_Aiding_Data %d fail\n",opt_1);
+                }
+                else
+                {
+                    printf("qser_Gnss_Delete_Aiding_Data %d success\n",opt_1);
+                }
+                break;
             }
-            printf("qser_Gnss_download_tle success\n");
-            break;
-        }
-        case 11:
-        {
-            int frequency;
-            //qser_Gnss_Set_Frequency=(int(*)(uint32_t, int))dlsym(dlHandle_gnss, "qser_Gnss_Set_Frequency");
-            printf("=========Set Frequency=========\n");
-            scanf("%d", &frequency);
-            ret = qser_Gnss_Set_Frequency(ph_gnss,frequency);
-            if(ret < 0)
+            case 9:
             {
-                printf("qser_Gnss_Set_Frequency fail\n");
-                return -1;
+                LYNQ_INJECT_TIME_INTO_T time_test;
+                ret = qser_Gnss_InjectTime(ph_gnss,&time_test);
+                if(ret < 0)
+                {
+                    printf("qser_Gnss_InjectTime fail\n");
+                }
+                else
+                {
+                    printf("qser_Gnss_InjectTime success\n");
+                }
+                break;
             }
-            printf("frequency is %d\n",frequency);
-            printf("qser_Gnss_Set_Frequency success\n");
-            break;
-        }
-        case 12:
-        {
-            //int (*qser_Gnss_injectEphemeris)(uint32_t);
-            //qser_Gnss_injectEphemeris=(int(*)(uint32_t))dlsym(dlHandle_gnss, "qser_Gnss_injectEphemeris");
-            ret = qser_Gnss_injectEphemeris(ph_gnss);
-            if(ret < 0)
+            case 10:
             {
-                printf("qser_Gnss_injectEphemeris fail\n");
-                return -1;
+                ret = qser_Gnss_download_tle();
+                if(ret < 0)
+                {
+                    printf("qser_Gnss_download_tle fail\n");
+                }
+                else
+                {
+                    printf("qser_Gnss_download_tle success\n");
+                }
+                break;
             }
-            printf("qser_Gnss_injectEphemeri ssuccess\n");
-            break;
-        }
-        case 13:
-        {
-            //qser_Gnss_Server_Configuration=(int(*)(char *host, char *id, char *password))dlsym(dlHandle_gnss, "qser_Gnss_Server_Configuration");
-            ret = qser_Gnss_Server_Configuration(NULL,"lcz","123456");
-            if(ret < 0)
+            case 11:
             {
-                printf("qser_Gnss_Server_Configuration fail\n");
-                return -1;
+                int frequency;
+                printf("=========Set Frequency=========\n");
+                scanf("%d", &frequency);
+                ret = qser_Gnss_Set_Frequency(ph_gnss,frequency);
+                if(ret < 0)
+                {
+                    printf("qser_Gnss_Set_Frequency fail\n");
+                }
+                else
+                {
+                    printf("frequency is %d\n",frequency);
+                    printf("qser_Gnss_Set_Frequency success\n");
+                }
+                break;
             }
-            printf("qser_Gnss_Server_Configuration ssuccess\n");
-            break;
-        }
-        case 14:
-        {
-            //qser_Gnss_Server_Configuration=(int(*)(char *host, char *id, char *password))dlsym(dlHandle_gnss, "qser_Gnss_Server_Configuration");
-            ret = qser_Gnss_Set_Async_Callback(async_cb);
-            if(ret < 0)
+            case 12:
             {
-                printf("qser_Gnss_Set_Async_Callback fail\n");
-                return -1;
+                ret = qser_Gnss_injectEphemeris(ph_gnss);
+                if(ret < 0)
+                {
+                    printf("qser_Gnss_injectEphemeris fail\n");
+                }
+                else
+                {
+                    printf("qser_Gnss_injectEphemeri ssuccess\n");
+                }
+                break;
             }
-            printf("qser_Gnss_Set_Async_Callback ssuccess\n");
-            break;
-        }
-        case 15:
-        {
-            //qser_Gnss_Server_Configuration=(int(*)(char *host, char *id, char *password))dlsym(dlHandle_gnss, "qser_Gnss_Server_Configuration");
-            ret = qser_Gnss_Start_Async(ph_gnss);
-            if(ret < 0)
+            case 13:
             {
-                printf("qser_Gnss_Start_Async fail\n");
-                return -1;
+                ret = qser_Gnss_Server_Configuration("http://uagnss.allystar.com:80/ephemeris/HD_GPS_BDS.hdb","yikecs1","Z38w5urAuawubTxi");
+                if(ret < 0)
+                {
+                    printf("qser_Gnss_Server_Configuration fail\n");
+                }
+                else
+                {
+                    printf("qser_Gnss_Server_Configuration ssuccess\n");
+                }
+                break;
             }
-            printf("qser_Gnss_Start_Async ssuccess\n");
-            break;
-        }
+            case 14:
+            {
+                ret = qser_Gnss_Set_Async_Callback(async_cb);
+                if(ret < 0)
+                {
+                    printf("qser_Gnss_Set_Async_Callback fail\n");
+                }
+                else
+                {
+                    printf("qser_Gnss_Set_Async_Callback ssuccess\n");
+                }
+                break;
+            }
+            case 15:
+            {
+                ret = qser_Gnss_Start_Async(ph_gnss);
+                if(ret < 0)
+                {
+                    printf("qser_Gnss_Start_Async fail\n");
+                }
+                else
+                {
+                    printf("qser_Gnss_Start_Async ssuccess\n");
+                }
+                break;
+            }
         }
     }
     return 0;