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