diff --git a/main/gps.cpp b/main/gps.cpp index 08c615b..2c6824b 100644 --- a/main/gps.cpp +++ b/main/gps.cpp @@ -173,6 +173,7 @@ static void ProcessGSV(NMEA_RxMsg &GSV) // process GxGSV to extract if(GSV.isGPGSV()) { SatSys=0; } else if(GSV.isGLGSV()) { SatSys=1; } else if(GSV.isGAGSV()) { SatSys=2; } + else if(GSV.isBDGSV()) { SatSys=3; } else return; if(GSV.Parms<3) return; int8_t Pkts=Read_Dec1((const char *)GSV.ParmPtr(0)); if(Pkts<0) return; // how many packets to pass all sats diff --git a/main/nmea.h b/main/nmea.h index 2bc18f7..9652aff 100644 --- a/main/nmea.h +++ b/main/nmea.h @@ -207,6 +207,12 @@ inline uint8_t NMEA_AppendCheckCRNL(char *NMEA, uint8_t Len) { return NMEA_Appen if(Data[4]!='S') return 0; return Data[5]=='V'; } + uint8_t isBDGSV(void) const // BEIDOU satellite data + { if(!isBD()) return 0; + if(Data[3]!='G') return 0; + if(Data[4]!='S') return 0; + return Data[5]=='V'; } + uint8_t isGPTXT(void) const // GPS test message { if(!isGP()) return 0; if(Data[3]!='T') return 0;