Add GNSS N50DB support.

Change-Id: Id65a69a0a7c149ef1e75db01e544f94b4f178d45
diff --git a/mbtk/mbtk_gnssd/gnss_main.c b/mbtk/mbtk_gnssd/gnss_main.c
index c4f2d8d..7c6191b 100755
--- a/mbtk/mbtk_gnssd/gnss_main.c
+++ b/mbtk/mbtk_gnssd/gnss_main.c
@@ -18,7 +18,7 @@
 #include "gnss_6228.h"
 #include "gnss_hd8122.h"
 #include "gnss_asr5311.h"
-
+#include "gnss_n50db.h"
 
 #define GNSS_DEBUG 1
 #define GNSS_UBUS_ENABLE 1
@@ -72,7 +72,7 @@
 
 static void help()
 {
-    LOGD("mbtk_gnssd <6228/8122/5311> <gnss_dev> <0/1>");
+    LOGD("mbtk_gnssd <6228/8122/5311/N50DB> <gnss_dev> <0/1>");
 }
 
 static int arg_check(int argc, char *argv[])
@@ -83,7 +83,8 @@
     }
 
     // Only support 6228/8122/5311.
-    if(strcmp(argv[1], GNSS_ID_6228) && strcmp(argv[1], GNSS_ID_8122) && strcmp(argv[1], GNSS_ID_5311)) {
+    if(strcmp(argv[1], GNSS_ID_6228) && strcmp(argv[1], GNSS_ID_8122) && strcmp(argv[1], GNSS_ID_5311)
+        && strcmp(argv[1], GNSS_ID_N50DB)) {
         LOGE("argv[1] = %s", argv[1]);
         goto check_fail;
     }
@@ -367,7 +368,10 @@
 #endif
 
     if(!nmea_check(nmea, data_len)) {
-        LOGD("NO-NMEA:%s", nmea);
+        // No print "$HOSTSLEEP".
+        if(memcmp(nmea, "$HOSTSLEEP", strlen("$HOSTSLEEP"))) {
+            LOGD("NO-NMEA:%s", nmea);
+        }
 #if GNSS_DEBUG
         log_save(nmea_log_fd, "/**/", 4);
         log_save(nmea_log_fd, nmea, data_len);
@@ -450,7 +454,9 @@
                             gnss_nmea_process(nmea_buff, nmea_buff_len);
                         } else if(nmea_buff_len > 0) {
                             nmea_buff[nmea_buff_len] = '\0';
-                            LOGD("NO-NMEA:%s", nmea_buff);
+                            if(memcmp(nmea_buff, "$HOSTSLEEP", strlen("$HOSTSLEEP"))) {
+                                LOGD("NO-NMEA:%s", nmea_buff);
+                            }
 #if GNSS_DEBUG
                             log_save(nmea_log_fd, "/**/", 4);
                             log_save(nmea_log_fd, nmea_buff, nmea_buff_len);
@@ -867,6 +873,7 @@
 
 int gnss_dl_fw(const char* fw_name, void *rsp, int rsp_len)
 {
+    // Only 8122 support download fw.
     if(gnss_info.gnss_id != GNSS_TYPE_8122) {
         return GNSS_ERR_UNSUPPORT;
     }
@@ -884,7 +891,7 @@
             return gnss_info.gnss_fw_dl(gnss_info.fd, fw_name, gnss_info.dev_name);
         }
     } else {
-        return GNSS_ERR_UNKNOWN;
+        return GNSS_ERR_UNSUPPORT;
     }
 }
 
@@ -1041,6 +1048,19 @@
         gnss_info.gnss_dl_read_cb = NULL;
         gnss_info.gnss_set = gnss_5311_set;
         gnss_info.gnss_set_cb = gnss_5311_set_cb;
+    } else if(!strcmp(argv[1], GNSS_ID_N50DB)) {
+        gnss_info.gnss_id = GNSS_TYPE_N50DB;
+        gnss_info.auto_open = (bool)atoi(argv[3]);
+        gnss_info.auto_dl_fw = FALSE;
+        gnss_info.dl_befor_open = FALSE;
+        gnss_info.gnss_dev_open = gnss_n50db_dev_open;
+        gnss_info.gnss_dev_close = gnss_n50db_dev_close;
+        gnss_info.gnss_open = gnss_n50db_open;
+        gnss_info.gnss_close = gnss_n50db_close;
+        gnss_info.gnss_fw_dl = gnss_n50db_fw_dl;
+        gnss_info.gnss_dl_read_cb = NULL;
+        gnss_info.gnss_set = gnss_n50db_set;
+        gnss_info.gnss_set_cb = gnss_n50db_set_cb;
     } else {
         LOGE("No support : %s", argv[1]);
         return -1;