static BOOL DigiflyParseNMEA(PDeviceDescriptor_t d, TCHAR *String, NMEA_INFO *pGPS){ (void)d; if(_tcsncmp(TEXT("$PDGFTL1"), String, 8)==0) { return PDGFTL1(d, &String[9], pGPS); } if(_tcsncmp(TEXT("$PDGFTTL"), String, 8)==0) { return PDGFTTL(d, &String[9], pGPS); } return FALSE; }
static BOOL DigiflyParseNMEA(PDeviceDescriptor_t d, TCHAR *String, NMEA_INFO *pGPS) { (void)d; if (!NMEAParser::NMEAChecksum(String) || (pGPS == NULL)) { return FALSE; } if(_tcsncmp(TEXT("$PDGFTL1"), String, 8)==0) { return PDGFTL1(d, &String[9], pGPS); } if(_tcsncmp(TEXT("$D"), String, 2) == 0) { return D(d, &String[3], pGPS); } return FALSE; }
bool LeonardoDevice::ParseNMEA(const char *_line, NMEAInfo &info) { NMEAInputLine line(_line); char type[16]; line.Read(type, 16); if (StringIsEqual(type, "$C") || StringIsEqual(type, "$c")) return LeonardoParseC(line, info); else if (StringIsEqual(type, "$D") || StringIsEqual(type, "$d")) return LeonardoParseD(line, info); else if (StringIsEqual(type, "$PDGFTL1") || StringIsEqual(type, "$PDGFTTL")) return PDGFTL1(line, info); return false; }