问题:冷启动指令无效果

原因:8122 gnss保存了星历数据

解决方案:打开gnss时关闭星历保存

影响:影响gnss功能模块

Change-Id: If869301152e9cdf076351a1e17a1404e79af0059
diff --git a/mbtk/mbtk_gnssd/gnss_hd8122.c b/mbtk/mbtk_gnssd/gnss_hd8122.c
index e61bfe6..de0a5fa 100755
--- a/mbtk/mbtk_gnssd/gnss_hd8122.c
+++ b/mbtk/mbtk_gnssd/gnss_hd8122.c
@@ -573,6 +573,23 @@
     return GNSS_ERR_OK;
 }
 
+static gnss_err_enum gnss_8122_ephsave(int fd, uint8 status)
+{
+    uint8 buff[GNSS_PACK_BUFF_SIZE];
+    LOGD("EPHSAVE");
+    int len = pack_create(HD8122_ID_TYPE_CFG, HD8122_ID_CFG_EPHSAVE, 1, (uint8*)(&status), buff, sizeof(buff));
+    if(len <= 0)
+    {
+        LOGE("pack_create() fail.");
+        return GNSS_ERR_ARG;
+    }
+    log_hex("PACK", buff, len);
+    gnss_write(fd, buff, len);
+    msg_insert(HD8122_ID_TYPE_CFG, HD8122_ID_CFG_EPHSAVE);
+    return GNSS_ERR_OK;
+}
+
+
 int gnss_8122_dev_open()
 {
     //return mbtk_gpio_value_set(GNSS_POWER_GPIO, MBTK_GPIO_DIRECT_OUT, 1);
@@ -601,6 +618,14 @@
     return gnss_port_close(fd);
 }
 
+int gnss_8122_init_set(int fd)
+{
+    sleep(1); //wait 8122 ready...
+    gnss_8122_ephsave(fd, (uint8)HD8122_EPHSAVE_STATUS_DISABLE);
+    gnss_8122_cfg_save(fd);
+    return GNSS_ERR_OK;
+}
+
 int gnss_8122_fw_dl(int fd, const char *fw_name, const char *dev)
 {
     int uart_fd = OpenUart(dev);//PORT_NAME234