bool ZanderDevice::ParseNMEA(const char *String, NMEAInfo &info) { if (!VerifyNMEAChecksum(String)) return false; NMEAInputLine line(String); char type[16]; line.Read(type, 16); if (StringIsEqual(type, "$PZAN1")) return PZAN1(line, info); if (StringIsEqual(type, "$PZAN2")) return PZAN2(line, info); if (StringIsEqual(type, "$PZAN3")) return PZAN3(line, info); if (StringIsEqual(type, "$PZAN4")) return PZAN4(line, info); if (StringIsEqual(type, "$PZAN5")) return PZAN5(line, info); return false; }
static BOOL ZanderParseNMEA(PDeviceDescriptor_t d, TCHAR *String, NMEA_INFO *apGPS){ (void)d; if (!NMEAParser::NMEAChecksum(String) || (apGPS == NULL)){ return FALSE; } if(_tcsncmp(TEXT("$PZAN1"), String, 6)==0) { return PZAN1(d, &String[7], apGPS); } if(_tcsncmp(TEXT("$PZAN2"), String, 6)==0) { return PZAN2(d, &String[7], apGPS); } if(_tcsncmp(TEXT("$PZAN3"), String, 6)==0) { return PZAN3(d, &String[7], apGPS); } if(_tcsncmp(TEXT("$PZAN4"), String, 6)==0) { return PZAN4(d, &String[7], apGPS); } return FALSE; }
bool ZanderDevice::ParseNMEA(const char *String, NMEA_INFO *GPS_INFO) { if (!VerifyNMEAChecksum(String)) return false; NMEAInputLine line(String); char type[16]; line.read(type, 16); if (strcmp(type, "$PZAN1") == 0) return PZAN1(line, GPS_INFO); if (strcmp(type, "$PZAN2") == 0) return PZAN2(line, GPS_INFO); if (strcmp(type, "$PZAN3") == 0) return PZAN3(line, GPS_INFO); if (strcmp(type, "$PZAN4") == 0) return PZAN4(line, GPS_INFO); if (strcmp(type, "$PZAN5") == 0) return PZAN5(line, GPS_INFO); return false; }