gnssd: add 8122 agps func
Change-Id: Ie87dcafc1da9cf5cffd9f5397f1640f19aa36aab
diff --git a/mbtk/mbtk_gnssd/gnss_main.c b/mbtk/mbtk_gnssd/gnss_main.c
index 3d48ea0..8b91df2 100755
--- a/mbtk/mbtk_gnssd/gnss_main.c
+++ b/mbtk/mbtk_gnssd/gnss_main.c
@@ -959,6 +959,40 @@
}
}
+int gnss_agnss_get_eph(const void* param)
+{
+ if(gnss_info.gnss_agnss_get_eph)
+ {
+ return gnss_info.gnss_agnss_get_eph(param);
+ }
+ else
+ {
+ return GNSS_ERR_UNSUPPORT;
+ }
+
+ return GNSS_ERR_OK;
+}
+
+int gnss_agnss_inject(void)
+{
+ if(gnss_info.state != GNSS_STATE_READY)
+ {
+ LOGE("gnss not ready");
+ return GNSS_ERR_UNKNOWN;
+ }
+
+ if(gnss_info.gnss_agnss_inject)
+ {
+ return gnss_info.gnss_agnss_inject(gnss_info.fd);
+ }
+ else
+ {
+ return GNSS_ERR_UNSUPPORT;
+ }
+
+ return GNSS_ERR_OK;
+}
+
int gnss_ind_set(int fd, int ind_type)
{
int index = 0;
@@ -1092,6 +1126,8 @@
gnss_info.gnss_dl_read_cb = gnss_6228_dl_read_cb;
gnss_info.gnss_set = gnss_6228_set;
gnss_info.gnss_set_cb = gnss_6228_set_cb;
+ gnss_info.gnss_agnss_get_eph = NULL;
+ gnss_info.gnss_agnss_inject = NULL;
} else if(!strcmp(argv[1], GNSS_ID_8122)) {
gnss_info.gnss_id = GNSS_TYPE_8122;
gnss_info.auto_open = (bool)atoi(argv[3]);
@@ -1105,6 +1141,8 @@
gnss_info.gnss_dl_read_cb = NULL;
gnss_info.gnss_set = gnss_8122_set;
gnss_info.gnss_set_cb = gnss_8122_set_cb;
+ gnss_info.gnss_agnss_get_eph = gnss_8122_agnss_get_eph;
+ gnss_info.gnss_agnss_inject = gnss_8122_agnss_inject;
} else if(!strcmp(argv[1], GNSS_ID_5311)) {
gnss_info.gnss_id = GNSS_TYPE_5311;
gnss_info.auto_open = (bool)atoi(argv[3]);
@@ -1118,6 +1156,8 @@
gnss_info.gnss_dl_read_cb = NULL;
gnss_info.gnss_set = gnss_5311_set;
gnss_info.gnss_set_cb = gnss_5311_set_cb;
+ gnss_info.gnss_agnss_get_eph = NULL;
+ gnss_info.gnss_agnss_inject = NULL;
} else if(!strcmp(argv[1], GNSS_ID_N50DB)) {
gnss_info.gnss_id = GNSS_TYPE_N50DB;
gnss_info.auto_open = (bool)atoi(argv[3]);
@@ -1131,6 +1171,8 @@
gnss_info.gnss_dl_read_cb = NULL;
gnss_info.gnss_set = gnss_n50db_set;
gnss_info.gnss_set_cb = gnss_n50db_set_cb;
+ gnss_info.gnss_agnss_get_eph = NULL;
+ gnss_info.gnss_agnss_inject = NULL;
} else {
LOGE("No support : %s", argv[1]);
return -1;