From edc694498e7ca9a0475bbf5576729aedfc88d3f0 Mon Sep 17 00:00:00 2001
From: yy1717 <fctom1215@outlook.com>
Date: 星期一, 13 一月 2020 14:04:50 +0800
Subject: [PATCH] s
---
lib/src/main/cpp/rtk_module/rtk.cpp | 39 ++++++++++++++++++++++++---------------
1 files changed, 24 insertions(+), 15 deletions(-)
diff --git a/lib/src/main/cpp/rtk_module/rtk.cpp b/lib/src/main/cpp/rtk_module/rtk.cpp
index 8515bb4..08adcc0 100644
--- a/lib/src/main/cpp/rtk_module/rtk.cpp
+++ b/lib/src/main/cpp/rtk_module/rtk.cpp
@@ -37,8 +37,6 @@
static gpsStatus_t gpsStatus;
-static int tra_hh, tra_mm, tra_ss, tra_dss;
-
static rtk_info CurrRTKInfo;
static void CheckPjkParam(void);
@@ -52,7 +50,8 @@
DEBUG("ConfigRTKModule");
memset(&CurrRTKInfo, 0, sizeof(CurrRTKInfo));
- tra_hh = tra_mm = tra_ss = tra_dss = 0;
+ CurrRTKInfo.hh = -1;
+
memset(&gpsStatus, 0, sizeof(gpsStatus));
gpsStatus.hh = -1;
@@ -338,10 +337,10 @@
void handlePJK(const struct nmea *s) {
DEBUG("handlePJK num = %d", s->nmea_num);
- CurrRTKInfo.hh = str2int(s->nmea_value[0].data, 2);
- CurrRTKInfo.mm = str2int(s->nmea_value[0].data + 2, 2);
- CurrRTKInfo.ss = str2int(s->nmea_value[0].data + 4, 2);
- CurrRTKInfo.dss = str2int(s->nmea_value[0].data + 7, 2);
+ int hh = str2int(s->nmea_value[0].data, 2);
+ int mm = str2int(s->nmea_value[0].data + 2, 2);
+ int ss = str2int(s->nmea_value[0].data + 4, 2);
+ int dss = str2int(s->nmea_value[0].data + 7, 2);
CurrRTKInfo.MM = str2int(s->nmea_value[1].data, 2);
CurrRTKInfo.DD = str2int(s->nmea_value[1].data + 2, 2);
@@ -373,36 +372,46 @@
// yy -= 0.02 * (by2 - by1) / (bx2 - bx1);
// }
- if (CurrRTKInfo.hh == tra_hh && CurrRTKInfo.mm == tra_mm && CurrRTKInfo.ss == tra_ss && CurrRTKInfo.dss == tra_dss) {
+ if (CurrRTKInfo.hh == hh && CurrRTKInfo.mm == mm && CurrRTKInfo.ss == ss && CurrRTKInfo.dss == dss) {
PlatformStatusChanged(RTK_UPDATE_EVT, (uint8_t *)&CurrRTKInfo, sizeof(CurrRTKInfo));
- UpdateRTKInfo(&CurrRTKInfo);
+// UpdateRTKInfo(&CurrRTKInfo);
// up_num++;
/*if ((up_num % 5) == 0)*/ {
// NewMgrEvent(DRIVER_UPDATE_EVT);
}
}
+ CurrRTKInfo.hh = hh;
+ CurrRTKInfo.mm = mm;
+ CurrRTKInfo.ss = ss;
+ CurrRTKInfo.dss = dss;
}
void handleGPTRA(const struct nmea *s) {
DEBUG("handleGPTRA num = %d", s->nmea_num);
- tra_hh = str2int(s->nmea_value[0].data, 2);
- tra_mm = str2int(s->nmea_value[0].data + 2, 2);
- tra_ss = str2int(s->nmea_value[0].data + 4, 2);
- tra_dss = str2int(s->nmea_value[0].data + 7, 2);
+ int hh = str2int(s->nmea_value[0].data, 2);
+ int mm = str2int(s->nmea_value[0].data + 2, 2);
+ int ss = str2int(s->nmea_value[0].data + 4, 2);
+ int dss = str2int(s->nmea_value[0].data + 7, 2);
str2float(&CurrRTKInfo.heading, s->nmea_value[1].data, s->nmea_value[1].length);
+ str2float(&CurrRTKInfo.pitch, s->nmea_value[2].data, s->nmea_value[2].length);
+ str2float(&CurrRTKInfo.roll, s->nmea_value[3].data, s->nmea_value[3].length);
// CurrRTKInfo.heading = 60;
- if (CurrRTKInfo.hh == tra_hh && CurrRTKInfo.mm == tra_mm && CurrRTKInfo.ss == tra_ss && CurrRTKInfo.dss == tra_dss) {
+ if (CurrRTKInfo.hh == hh && CurrRTKInfo.mm == mm && CurrRTKInfo.ss == ss && CurrRTKInfo.dss == dss) {
PlatformStatusChanged(RTK_UPDATE_EVT, (uint8_t *)&CurrRTKInfo, sizeof(CurrRTKInfo));
- UpdateRTKInfo(&CurrRTKInfo);
+// UpdateRTKInfo(&CurrRTKInfo);
// up_num++;
/*if ((up_num % 5) == 0)*/ {
// NewMgrEvent(DRIVER_UPDATE_EVT);
}
}
+ CurrRTKInfo.hh = hh;
+ CurrRTKInfo.mm = mm;
+ CurrRTKInfo.ss = ss;
+ CurrRTKInfo.dss = dss;
}
static void CheckPjkParam(void)
--
Gitblit v1.8.0