diff --git a/RX_FSK/src/RS41.cpp b/RX_FSK/src/RS41.cpp index 916304a..b9b60c3 100644 --- a/RX_FSK/src/RS41.cpp +++ b/RX_FSK/src/RS41.cpp @@ -688,7 +688,7 @@ float GetRAHumidity( uint32_t humCurrent, uint32_t humMin, uint32_t humMax, floa int RS41::decode41(byte *data, int maxlen) { char buf[128]; - int crcok = 1; + int crcok = 1, serialok = 0; SondeData *si = &(sonde.si()->d); int32_t corr = reedsolomon41(data, 560, 131); // try short frame first @@ -749,6 +749,7 @@ int RS41::decode41(byte *data, int maxlen) strncpy(si->ser, (const char *)(data+p+2), 8); si->ser[8]=0; si->validID=true; + serialok = 1; int calnr = data[p+23]; // not sure about this if(calnr==0x31) { @@ -858,7 +859,7 @@ int RS41::decode41(byte *data, int maxlen) p += len; Serial.println(); } - return crcok ? 0 : RX_ERROR; + return (serialok&&crcok) ? 0 : RX_ERROR; } void RS41::printRaw(uint8_t *data, int len) { diff --git a/RX_FSK/version.h b/RX_FSK/version.h index 5f1e997..4fb7f3a 100644 --- a/RX_FSK/version.h +++ b/RX_FSK/version.h @@ -1,4 +1,4 @@ const char *version_name = "rdzTTGOsonde"; -const char *version_id = "devel20240209"; +const char *version_id = "devel20240225"; const int SPIFFS_MAJOR=2; const int SPIFFS_MINOR=17;