fix bug88333
Change-Id: I7bc9b2ba4f4f7ba04b589536f219fb03a1b7356f
diff --git a/mbtk/mbtk_gnssd/gnss_hd8122.c b/mbtk/mbtk_gnssd/gnss_hd8122.c
index 3163819..7416b19 100755
--- a/mbtk/mbtk_gnssd/gnss_hd8122.c
+++ b/mbtk/mbtk_gnssd/gnss_hd8122.c
@@ -433,6 +433,25 @@
return GNSS_ERR_OK;
}
+static gnss_err_enum gnss_8122_cfg_save(int fd)
+{
+ uint8 buff[GNSS_PACK_BUFF_SIZE];
+ LOGD("CFG SAVE");
+ uint8 data[8];
+ memset(data, 0x00, 8);
+ data[4] = 0x0f;
+ int len = pack_create(HD8122_ID_TYPE_CFG, HD8122_ID_CFG_CFG, 8, data, 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_CFG);
+ return GNSS_ERR_OK;
+}
+
static gnss_err_enum gnss_8122_msgcfg(int fd, uint8 type, uint8 id, uint8 period)
{
uint8 buff[GNSS_PACK_BUFF_SIZE];
@@ -786,6 +805,8 @@
{
goto set_fail;
}
+
+ gnss_set_result = gnss_8122_cfg_save(fd);
should_wait_rsp = TRUE;
}
else if(memcmp(cmd, "$MSGCFG", 7) == 0) // $MSGCFG,<mode>,<rate>