[Feature][T8TSK-175][GNSS]Add third part rtk lib
Change-Id: I84550d7320b392a610b44de89c161fe5334ef078
diff --git a/meta/meta-mediatek-mt2735/conf/machine/auto2735evb-ivt-main.conf b/meta/meta-mediatek-mt2735/conf/machine/auto2735evb-ivt-main.conf
index 2cd277c..e6d3f7b 100755
--- a/meta/meta-mediatek-mt2735/conf/machine/auto2735evb-ivt-main.conf
+++ b/meta/meta-mediatek-mt2735/conf/machine/auto2735evb-ivt-main.conf
@@ -81,3 +81,9 @@
#OPENSSH_CFG value:"PLATFORM","GSW"
MOBILETEK_OPENSSH_CFG = "PLATFORM"
+
+#OEMAPP_CFG value:"PLATFORM","GSW"
+MOBILETEK_OEMAPP_CFG = "PLATFORM"
+
+#MOBILETEK_RTK_CFG:"enable","disable"
+MOBILETEK_RTK_CFG = "disable"
diff --git a/meta/meta-mediatek-mt2735/recipes-lynq/liblynq-rtk/files/libRTKFUN.so b/meta/meta-mediatek-mt2735/recipes-lynq/liblynq-rtk/files/libRTKFUN.so
new file mode 100755
index 0000000..b1a15aa
--- /dev/null
+++ b/meta/meta-mediatek-mt2735/recipes-lynq/liblynq-rtk/files/libRTKFUN.so
Binary files differ
diff --git a/meta/meta-mediatek-mt2735/recipes-lynq/liblynq-rtk/files/libcmcc_sdk.so b/meta/meta-mediatek-mt2735/recipes-lynq/liblynq-rtk/files/libcmcc_sdk.so
new file mode 100755
index 0000000..b56dd84
--- /dev/null
+++ b/meta/meta-mediatek-mt2735/recipes-lynq/liblynq-rtk/files/libcmcc_sdk.so
Binary files differ
diff --git a/meta/meta-mediatek-mt2735/recipes-lynq/liblynq-rtk/files/rtk_fun.h b/meta/meta-mediatek-mt2735/recipes-lynq/liblynq-rtk/files/rtk_fun.h
new file mode 100755
index 0000000..76cbcdc
--- /dev/null
+++ b/meta/meta-mediatek-mt2735/recipes-lynq/liblynq-rtk/files/rtk_fun.h
@@ -0,0 +1,179 @@
+#ifndef _RTK_FUN_H_
+#define _RTK_FUN_H_
+
+#define RTK_SUPPORT
+#define ENABLE_RTKFUN //RTK�ĺ����ӿ�
+#define ENABLE_RTKCHANGEFREQ //
+
+#include "hardware/gps_mtk.h"
+#include "hardware/gps.h"
+
+
+typedef enum
+{
+ rtk_log_info,
+ rtk_log_warn,
+ rtk_log_err
+} rtk_log_level;
+
+typedef struct
+{
+ unsigned char bPosFlag; //��ǰ��״̬��0����Ч�� 1�����㣻 2��RTD(SBAS)�� 4��RTK fix�� 5��RTK float�� 6��Dead Reckoing�� 7��Fix pos mode�� 8��Sim mode
+ unsigned char bTrackNo; //����������
+ unsigned char bSatNo; //����������
+
+ unsigned char bRtkFlag; //RTKԭʼ��״̬(0:ʧ�� 1:���� 3:����̶� 4:�̶� 5:���� 12:���� 13:����ƽ�� 14:�Ƶ�)
+ double fDiffAge; //�������
+ unsigned int uGpsWeek; //GPSʱ����
+ double fWeekSeconds;//GPSʱ��������
+ double fUTC; //UTCʱ�������1970-01-01 00:00:00��ʼ����
+ double fLeapSeconds;//����
+
+
+ double fPosX; //X����(m)(WGS84)
+ double fPosY; //Y����(m)(WGS84)
+ double fPosZ; //Z����(m)(WGS84)
+ float fPosXDelta; //X����ı����
+ float fPosYDelta; //Y����ı����
+ float fPosZDelta; //Z����ı����
+
+ double fLat; //γ�ȣ���λ�ȣ�
+ double fLong; //���ȣ���λ�ȣ�
+ double fAlt; //���θߣ���λm��
+ double fHeightOfGeoid;//�߳��쳣����λm��
+ float fLatStd; //γ�ȱ���
+ float fLongStd; //���ȱ���
+ float fAltStd; //���θ� ����
+
+ double fVelX; //X������ٶȣ�m/s��
+ double fVelY; //Y������ٶ�
+ double fVelZ; //Z������ٶ�
+ float fVelXDelta; //X�����ٶȱ���
+ float fVelYDelta; //Y�����ٶȱ���
+ float fVelZDelta; //Z�����ٶȱ���
+
+ float fVelN; //�������ٶȣ�m/s)
+ float fVelE; //�������ٶȣ�m/s)
+ float fVelU; //�췽���ٶȣ�m/s)
+ float fVelNDelta; //�������ٶȱ��m/s)
+ float fVelEDelta; //�������ٶȱ��m/s)
+ float fVelUDelta; //�췽���ٶȱ��m/s)
+
+ float fHorSpeed; //�Ե��ٶȣ�m/s)
+ float fHorSpeedDelta;//�Ե��ٶȱ��m/s)
+
+ float fTrueHeading;//���溽��,�켣����ǣ��ȣ����˶�����
+ float fTrueHeadingDelta;//�켣����DZ���ȣ�
+
+ float fHeading2Ant; //˫���ߺ����ݲ�֧�֣����켣����Ǹ�ֵ��
+ float fHeading2AntDelta; //˫���ߺ��ȣ��ݲ�֧�֣����켣����ǵı��ֵ��
+
+ float fRangeRms; //α�ྫ��
+ float fPhaseRms; //�ز�����
+
+ float fHDOP; //HDOP
+ float fPDOP; //PDOP
+ float fVDOP; //VDOP
+ float fCN0; //��ǰ���붨λ���ǵľ�ֵCN0(dBHz)
+
+ double fClkTime; //��ӦMTK���ڲ�gps_clock�е�time_ns�ֶ�
+
+ int iBaseStatus;//ͬrtk_base_sdkstatus��������״̬
+ //RTK����״̬
+ //0x00000001��ʾ��վ����
+ //0x00000002��ʾ��Ч���ǵ���10��
+ //0x00000004��ʾ��Ч��������Ⱦ�ֵ������ֵ��Ĭ��24��
+ //0x00000008��ʾRTK�������ʧ�ܣ�����ʧ�ܰ������ǹ��٣��۲������������ȵͣ���������ȣ�
+ //0x00000010��ʾRTKδ������㣨δ�������ԭ�������վ���ݡ��л�վ���ݵ��ӳٴ���200��PVT��λʧ�ܡ�ʱ���ж��쳣�ȣ�
+ int iRtkStatus;
+
+}rtk_result_info;
+
+typedef void (*rtk_out_debuginfo)(const char * pBuff, const int length, const int ilevel);
+typedef void (*rtk_out_postdata)(const unsigned char * pBuff, const int length);
+typedef void (*rtk_out_basesdkstatus)(const int status);
+typedef void (*rtk_out_status)(const int status);
+
+typedef void (*rtk_out_result)(const rtk_result_info * prtk);
+typedef void (*rtk_out_result_nmea)(const char * strnmea, const int length);
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+//rtk��ʼ��
+extern void rtk_init();
+
+//ͨ�������û����������½
+extern void rtk_set_UserInfo(const char* user, const char* pwd);
+
+//�����豸ID��½
+extern void rtk_set_DeviceID(const char* device_id);
+
+//�����ƶ�վMTK��NMEA����(GGA/RMC/VTG/GSA/GSV/GST)
+extern void rtk_rove_addnmea(const unsigned char * pBuff, const int iBuffLen);
+
+//�����ƶ�վMTK�Ĺ۲���
+extern void rtk_rove_addrawmess(GnssData_ext* data);
+
+//�����ƶ�վMTK��ԭʼ������֡
+extern int rtk_rove_addrawnav(GnssNavigationMessage * msg);
+
+//rtk��������Ϣ
+extern void rtk_result_cb(rtk_out_result pRtk);
+
+//rtk��Nmea���Ľ��(GGA/RMC/VTG/GSA/GSV/GST)
+extern void rtk_result_nmea_cb(rtk_out_result_nmea pNmea);
+
+//rtk�Ĵ�ӡ��Ϣ,������Ϊ��
+extern void rtk_config_log(rtk_out_debuginfo pLog);
+
+//rtk��������,��������
+extern void rtk_config_post(rtk_out_postdata pOut);
+
+//��վ ��������ݣ�������״̬(�������SDK״̬��)
+extern void rtk_base_sdkstatus(rtk_out_basesdkstatus pBaseStatus);
+
+//rtk�����Ƿ�ر�ijϵͳ
+//bSys------1(GPS) 2(GLO) 3(GAL) 4(QZS) 5(BD2) 6(BD3)
+//bLock-----l(Lock) 0:(unLock)
+extern void rtk_config_lockout(const unsigned char bSys, const unsigned char bLock);
+
+//��ȡRTK�汾�����20�ֽڣ�
+extern void rtk_version(char * strVer);
+
+//rtk�Ƿ��������
+//0:����������Ĭ��״̬��
+//1:�������ߣ�rtk�ӿڲ��ٽ����������룬����sdk���������ͽ������ݣ�ֹͣ������
+//2:���뵥�㶨λ״̬��rtk�ӿڽ��������������������sdkֹͣ����
+extern void rtk_gotosleep(const unsigned char bMode);
+
+//��ȡ��ǰ���õ�DeviceID�����128�ֽڣ�
+extern void rtk_get_DeviceID(char* device_id);
+
+//���÷�����IP��ַ�ӿ�
+//server_ip:��������ַ
+extern void rtk_setServerIP(const char* server_ip);
+
+//����RTK�Ľ�����Ҫ��͵�����ȣ�Ĭ��24
+extern void rtk_setCN0(const unsigned char bCN0);
+
+//����RTK״̬��ӿڣ��������SDK��״̬��+RTK״̬�룬RTK״̬�����¶���)
+//���������ԭʼ�۲�����Ƶ�ʸ���RTK״̬�룬״̬��ύ����֣�����ԭʼ����������ÿ�����һ��״̬���������ߺ������
+//4001:��ԭʼ��������(����3�뼰����)
+//4002:��NMEA��������(����3�뼰����)
+//4003:���������������
+//4004:PVTδ��λ
+//4005:�����ź���(����Ⱦ�ֵ <30)
+//4006:�����ź�һ��(����Ⱦ�ֵ30~35)
+//4007:�����źź�(����Ⱦ�ֵ35~40)
+//4008:�����ź�ǿ(����Ⱦ�ֵ >40)
+extern void rtk_status_update(rtk_out_status pRtkStatus);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* _RTK_FUN_H_ */
diff --git a/meta/meta-mediatek-mt2735/recipes-lynq/liblynq-rtk/liblynq-rtk.bb b/meta/meta-mediatek-mt2735/recipes-lynq/liblynq-rtk/liblynq-rtk.bb
new file mode 100755
index 0000000..168fef5
--- /dev/null
+++ b/meta/meta-mediatek-mt2735/recipes-lynq/liblynq-rtk/liblynq-rtk.bb
@@ -0,0 +1,41 @@
+inherit pkgconfig externalsrc package
+SUMMARY = "RTK Library"
+LICENSE = "CLOSED"
+#LIC_FILES_CHKSUM = "file://LICENSE;md5=e1696b147d49d491bcb4da1a57173fff"
+
+SRC_URI = "file://libRTKFUN.so \
+ file://libcmcc_sdk.so \
+ file://rtk_fun.h"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+FILES_${PN} = "${base_libdir}/*.so \
+ ${base_bindir}\
+ ${base_sbindir} \"
+
+FILES_${PN} += "${libdir}/libRTKFUN.so"
+FILES_${PN} += "${libdir}/libcmcc_sdk.so"
+
+FILES_${PN}-dev = "${includedir} \
+ ${libdir/*.so}"
+
+TOOLCHAIN_HOST_TASK_append = " nativesdk-python-core"
+
+INSANE_SKIP_${PN} += "ldflags"
+INSANE_SKIP_${PN}-dev += "ldflags"
+INSANE_SKIP_${PN} += "dev-so"
+INSANE_SKIP_${PN} += "already-stripped"
+INSANE_SKIP_${PN} += "installed-vs-shipped"
+
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+
+do_install () {
+ install -d ${D}${libdir}
+ install -d ${D}${includedir}
+ cp -arf ${S}/../rtk_fun.h ${D}${includedir}/
+ install -m 0755 ${S}/../libRTKFUN.so ${D}${libdir}/
+ install -m 0755 ${S}/../libcmcc_sdk.so ${D}${libdir}/
+}
diff --git a/meta/meta-mediatek-mt2735/recipes-lynq/packagegroups/packagegroup-lync-mt2735.bb b/meta/meta-mediatek-mt2735/recipes-lynq/packagegroups/packagegroup-lync-mt2735.bb
index 2f72c2a..de43261 100755
--- a/meta/meta-mediatek-mt2735/recipes-lynq/packagegroups/packagegroup-lync-mt2735.bb
+++ b/meta/meta-mediatek-mt2735/recipes-lynq/packagegroups/packagegroup-lync-mt2735.bb
@@ -63,4 +63,8 @@
RDEPENDS_packagegroup-lync-mt2735 += "\
${@bb.utils.contains('MOBILETEK_USB_CFG', 'GSW', ' lynq-ndis-uevent', '', d)} \
"
+
+RDEPENDS_packagegroup-lync-mt2735 += "\
+ ${@bb.utils.contains('MOBILETEK_RTK_CFG', 'enable', ' liblynq-rtk', '', d)} \
+"