Fix mbtk gnss.
Change-Id: I08476f2f51cd7b0f7898b109201302409d76a6d2
diff --git a/mbtk/include/mbtk/mbtk_gnss.h b/mbtk/include/mbtk/mbtk_gnss.h
index b585f7d..3ecf53c 100755
--- a/mbtk/include/mbtk/mbtk_gnss.h
+++ b/mbtk/include/mbtk/mbtk_gnss.h
@@ -12,8 +12,15 @@
#include "mbtk_type.h"
-#define MBTK_GNSS_IND_LOCATION (1)
-#define MBTK_GNSS_IND_NMEA (1 << 1)
+// Refor to : mbtk_gnss_ind_set() gnss_ind
+#define MBTK_GNSS_IND_LOCATION (1) // 1
+#define MBTK_GNSS_IND_NMEA (1 << 1) // 2
+
+// Refor to : mbtk_gnss_open() type
+#define GNSS_PRINT_PORT_UART1 1 // 1
+#define GNSS_PRINT_PORT_USB_NMEA (1<<1) // 2
+#define GNSS_PRINT_PORT_USB_AT (1<<2) // 4
+#define GNSS_PRINT_PORT_TTY_AT (1<<3) // 8
#define MBTK_IND_START_FLAG 0xFF
#define MBTK_IND_END_FLAG 0xEE
diff --git a/mbtk/libmbtk_gnss/mbtk_gnss.c b/mbtk/libmbtk_gnss/mbtk_gnss.c
index 515feae..11bbfd3 100755
--- a/mbtk/libmbtk_gnss/mbtk_gnss.c
+++ b/mbtk/libmbtk_gnss/mbtk_gnss.c
@@ -353,6 +353,24 @@
return GNSS_ERR_OK;
}
+/*===========================================================================
+FUNCTION mbtk_gnss_open
+
+DESCRIPTION:
+ Open/Close GNSS.
+
+PARAMETERS:
+ type [IN]: How to turn on or off GNSS,The available values are as follows:
+ 0 : Close GNSS;
+ 1-15 : Open GNSS with NMEA print;
+ (GNSS_PRINT_PORT_UART1 / GNSS_PRINT_PORT_USB_NMEA / GNSS_PRINT_PORT_USB_AT / GNSS_PRINT_PORT_TTY_AT)
+ Other : Open GNSS without print NMEA
+ timeout [IN]: Timeout with second.
+
+RETURN VALUE:
+ gnss_err_enum
+
+===========================================================================*/
gnss_err_enum mbtk_gnss_open(int type, int timeout)
{
if(gnss_cli_fd < 0) {
@@ -481,7 +499,13 @@
}
}
-
+/**
+* Set GNSS data callback.
+*
+* gnss_ind : MBTK_GNSS_IND_LOCATION / MBTK_GNSS_IND_NMEA
+* timeout : Timeout with second.
+*
+*/
gnss_err_enum mbtk_gnss_ind_set(uint32 gnss_ind, int timeout)
{
if(gnss_cli_fd < 0) {
diff --git a/mbtk/mbtk_gnssd/gnss_info.h b/mbtk/mbtk_gnssd/gnss_info.h
index 34aa6b1..2b91523 100755
--- a/mbtk/mbtk_gnssd/gnss_info.h
+++ b/mbtk/mbtk_gnssd/gnss_info.h
@@ -16,11 +16,6 @@
#define GNSS_ID_8122 "8122"
#define GNSS_ID_N50DB "N50DB"
-#define GNSS_PRINT_PORT_UART1 1 // 1
-#define GNSS_PRINT_PORT_USB_NMEA (1<<1) // 2
-#define GNSS_PRINT_PORT_USB_AT (1<<2) // 4
-#define GNSS_PRINT_PORT_TTY_AT (1<<3) // 8
-
#define GNSS_SET_SYSCFG_GPS (1)
#define GNSS_SET_SYSCFG_BDS (1<<1)
#define GNSS_SET_SYSCFG_GLO (1<<2)
diff --git a/mbtk/mbtk_gnssd/gnss_ipc.c b/mbtk/mbtk_gnssd/gnss_ipc.c
index 54ba823..cd16385 100755
--- a/mbtk/mbtk_gnssd/gnss_ipc.c
+++ b/mbtk/mbtk_gnssd/gnss_ipc.c
@@ -59,11 +59,11 @@
if(init_mode == 0) { // Close gnss.
ret = gnss_deinit();
} else {
- if(((GNSS_PRINT_PORT_UART1 | GNSS_PRINT_PORT_USB_NMEA | GNSS_PRINT_PORT_USB_AT | GNSS_PRINT_PORT_TTY_AT) & init_mode) == init_mode) {
- ret = gnss_init(init_mode);
- } else { // ARG error, no print nmea.
- ret = GNSS_ERR_ARG;
+ // ARG error, no print nmea.
+ if(((GNSS_PRINT_PORT_UART1 | GNSS_PRINT_PORT_USB_NMEA | GNSS_PRINT_PORT_USB_AT | GNSS_PRINT_PORT_TTY_AT) & init_mode) != init_mode) {
+ init_mode = 0;
}
+ ret = gnss_init(init_mode);
}
char rsp[100] = {0};