diff --git a/README.md b/README.md index 8d16990..022c404 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ for details on supported boards, and additional setup instructions. Manufacturer | Model | Position | Temperature | Humidity | Pressure -------------|-------|----------|-------------|----------|---------- Vaisala | RS92-SGP/NGP | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: -Vaisala | RS41-SG/SGP/SGM | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: +Vaisala | RS41-SG/SGP/SGM | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: Graw | DFM06/09/17 | :heavy_check_mark: | :x: | :x: | :x: Meteomodem | M10 | :heavy_check_mark: | :x: | :x: | Not Sent Meteomodem | M20 | :heavy_check_mark: | :x: | :x: | Not Sent diff --git a/RX_FSK/RX_FSK.ino b/RX_FSK/RX_FSK.ino index 73c2095..0c03e22 100644 --- a/RX_FSK/RX_FSK.ino +++ b/RX_FSK/RX_FSK.ino @@ -3578,7 +3578,7 @@ void sondehub_reply_handler(WiFiClient * client) { // also handle periodic station updates here... // interval check moved to sondehub_station_update to avoid having to calculate distance in auto mode twice - if (shState == SH_CONN_IDLE) { + if (shState == SH_CONN_IDLE || shState == SH_DISCONNECTED ) { // (do not set station update while a telemetry report is being sent sondehub_station_update(&shclient, &sonde.config.sondehub); } diff --git a/RX_FSK/src/ShFreqImport.cpp b/RX_FSK/src/ShFreqImport.cpp index 3bd7aa9..4da63b1 100644 --- a/RX_FSK/src/ShFreqImport.cpp +++ b/RX_FSK/src/ShFreqImport.cpp @@ -90,6 +90,7 @@ void ShFreqImport::populate(char *id, float lat, float lon, float freq, const ch return; } // no more free slots + sonde.clearAllData(&sonde.sondeList[ppos]); sonde.sondeList[ppos].active = 1; sonde.sondeList[ppos].freq = freq; sonde.sondeList[ppos].type = (SondeType)stype; diff --git a/RX_FSK/src/Sonde.cpp b/RX_FSK/src/Sonde.cpp index cb05aea..318accd 100644 --- a/RX_FSK/src/Sonde.cpp +++ b/RX_FSK/src/Sonde.cpp @@ -676,7 +676,7 @@ void Sonde::clearAllData(SondeInfo *si) { memset(&(si->d), 0, sizeof(SondeData)); // set floats to NaN si->d.lat = si->d.lon = si->d.alt = si->d.vs = si->d.hs = si->d.dir = NAN; - si->d.temperature = si->d.tempRHSensor = si->d.relativeHumidity = si->d.batteryVoltage = NAN; + si->d.temperature = si->d.tempRHSensor = si->d.relativeHumidity = si->d.pressure = si->d.batteryVoltage = NAN; } void Sonde::updateDisplayPos() {