Add toolchain and mbtk source
Change-Id: Ie12546301367ea59240bf23d5e184ad7e36e40b3
diff --git a/mbtk/test/lynq_gnss_test.c b/mbtk/test/lynq_gnss_test.c
new file mode 100755
index 0000000..9ba5185
--- /dev/null
+++ b/mbtk/test/lynq_gnss_test.c
@@ -0,0 +1,179 @@
+/**
+ * \file gnss_test.c
+ * \brief A Documented file.
+ *
+ * Detailed description
+ * \Author: Sniper <e190@163.com>
+ * \Version: 1.0.0
+ * \Date: 2022-03-26
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <pthread.h>
+#include <errno.h>
+#include <termios.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <pthread.h>
+#include <termios.h>
+#include <sys/ioctl.h>
+#include "mbtk_type.h"
+#include "lynq/lynq_gnss.h"
+//#include "mbtk_gnss.h"
+
+void gnss_handler_cb
+(
+ uint32 h_loc,
+ int e_msg_id,
+ void *pv_data,
+ void *context_ptr
+) {
+ printf("e_msg_id=%d\n", e_msg_id);
+ switch(e_msg_id)
+ {
+ case E_LYNQ_LOC_MSG_ID_STATUS_INFO:
+ break;
+ case E_LYNQ_LOC_MSG_ID_LOCATION_INFO:
+ break;
+ case E_LYNQ_LOC_MSG_ID_SV_INFO:
+ break;
+ case E_LYNQ_LOC_MSG_ID_NMEA_INFO:
+ {
+ LYNQ_LOC_NMEA_INFO_T *pt_nmea = (LYNQ_LOC_NMEA_INFO_T *)pv_data;
+
+ printf("NMEA info: timestamp=%lld, length=%d, nmea=%s\n",
+ pt_nmea->timestamp, pt_nmea->length, pt_nmea->nmea);
+ break;
+ }
+ case E_LYNQ_LOC_MSG_ID_CAPABILITIES_INFO:
+ break;
+ case E_LYNQ_LOC_MSG_ID_AGPS_STATUS:
+ break;
+ case E_LYNQ_LOC_MSG_ID_NI_NOTIFICATION:
+ break;
+ case E_LYNQ_LOC_MSG_ID_XTRA_REPORT_SERVER:
+ break;
+ }
+}
+#if 1
+int main(int argc, char *argv[])
+{
+ int ret;
+
+ ret = lynq_gnss_enable_glonass();
+ if(ret < 0) {
+ printf("lynq_gnss_init FAIL. ret:%d\n",ret);
+ return -1;
+ }
+
+ ret = lynq_gnss_init();
+ if(ret < 0) {
+ printf("lynq_gnss_init FAIL. ret:%d\n",ret);
+ return -1;
+ }
+
+ lynq_gnss_callback_reg(gnss_handler_cb);
+
+ ret = lynq_gnss_agps_dataconnopen();
+ if(ret < 0) {
+ printf("lynq_gnss_agps_dataconnopen FAIL. ret:%d\n", ret);
+ return -1;
+ }
+
+ ret = lynq_gnss_start();
+ if(ret < 0) {
+ printf("lynq_gnss_start FAIL. ret:%d\n",ret);
+ return -1;
+ }
+ sleep(10);
+ ret = lynq_gnss_stop();
+ if(ret < 0) {
+ printf("lynq_gnss_stop FAIL. ret:%d\n",ret);
+ return -1;
+ }
+ ret = lynq_gnss_deinit();
+ if(ret < 0) {
+ printf("lynq_gnss_deinit FAIL. ret:%d\n",ret);
+ return -1;
+ }
+ return 0;
+}
+
+#else
+
+int main(int argc, char *argv[])
+{
+ int ret;
+ int opt;
+ char dev_file[12] = {0};
+
+ while(1)
+ {
+ printf("=========gnss main=========\n"
+ "\t0 exit\n"
+ "\t1 gnss init\n"
+ "\t2 gnss add callback function\n"
+ "\t3 gnss start\n"
+ "\t4 gnss stop\n"
+ "\t5 gnss deinit\n"
+ "\t6 agps down\n"
+ "please input operator: >> ");
+ scanf("%d", &opt);
+ switch (opt)
+ {
+ case 0:
+ printf("main exit\n");
+ return 0;
+ case 1:
+ ret = lynq_gnss_init();
+ if(ret < 0)
+ {
+ printf("lynq_gnss_init FAIL. ret:%d\n",ret);
+ return -1;
+ }
+ opt = 0;
+ break;
+ case 2:
+ {
+
+ lynq_gnss_callback_reg(gnss_handler_cb);
+ break;
+ }
+ case 3:
+ {
+ lynq_gnss_start();
+ break;
+ }
+ case 4:
+ {
+ lynq_gnss_stop();
+ break;
+ }
+ case 5:
+ {
+ lynq_gnss_deinit();
+ break;
+ }
+ case 6:
+ {
+ ret = lynq_gnss_agps_dataconnopen();
+ if(ret < 0)
+ {
+ printf("lynq_gnss_agps_dataconnopen FAIL. ret:%d\n", ret);
+ return -1;
+ }
+ break;
+ }
+ default:
+ break;
+ }
+ }
+
+ return 0;
+}
+#endif