| | |
| | | |
| | | static gpsStatus_t gpsStatus; |
| | | |
| | | static int tra_hh, tra_mm, tra_ss, tra_dss; |
| | | |
| | | static rtk_info CurrRTKInfo; |
| | | |
| | | static void CheckPjkParam(void); |
| | |
| | | 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; |
| | | |
| | |
| | | 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); |
| | |
| | | // 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) |