Prevent reporting old RS41 on some bad frames

This commit is contained in:
Hansi, dl9rdz 2024-02-25 13:34:35 +00:00
parent ca68143032
commit 20a5d72805
2 changed files with 4 additions and 3 deletions

View File

@ -688,7 +688,7 @@ float GetRAHumidity( uint32_t humCurrent, uint32_t humMin, uint32_t humMax, floa
int RS41::decode41(byte *data, int maxlen) int RS41::decode41(byte *data, int maxlen)
{ {
char buf[128]; char buf[128];
int crcok = 1; int crcok = 1, serialok = 0;
SondeData *si = &(sonde.si()->d); SondeData *si = &(sonde.si()->d);
int32_t corr = reedsolomon41(data, 560, 131); // try short frame first 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); strncpy(si->ser, (const char *)(data+p+2), 8);
si->ser[8]=0; si->ser[8]=0;
si->validID=true; si->validID=true;
serialok = 1;
int calnr = data[p+23]; int calnr = data[p+23];
// not sure about this // not sure about this
if(calnr==0x31) { if(calnr==0x31) {
@ -858,7 +859,7 @@ int RS41::decode41(byte *data, int maxlen)
p += len; p += len;
Serial.println(); Serial.println();
} }
return crcok ? 0 : RX_ERROR; return (serialok&&crcok) ? 0 : RX_ERROR;
} }
void RS41::printRaw(uint8_t *data, int len) void RS41::printRaw(uint8_t *data, int len)
{ {

View File

@ -1,4 +1,4 @@
const char *version_name = "rdzTTGOsonde"; const char *version_name = "rdzTTGOsonde";
const char *version_id = "devel20240209"; const char *version_id = "devel20240225";
const int SPIFFS_MAJOR=2; const int SPIFFS_MAJOR=2;
const int SPIFFS_MINOR=17; const int SPIFFS_MINOR=17;