From 86566c042710f4062fa20a2912925d85cb2591d6 Mon Sep 17 00:00:00 2001 From: "Hansi, dl9rdz" Date: Mon, 20 Sep 2021 18:18:09 +0200 Subject: [PATCH] sync sh import / sh telemetry --- RX_FSK/RX_FSK.ino | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/RX_FSK/RX_FSK.ino b/RX_FSK/RX_FSK.ino index 40b9bb7..441120f 100644 --- a/RX_FSK/RX_FSK.ino +++ b/RX_FSK/RX_FSK.ino @@ -3358,12 +3358,6 @@ void loop() { } #endif -#if FEATURE_SONDEHUB - if (sonde.config.sondehub.active) { - // interval check moved to sondehub_station_update to avoid having to calculate distance in auto mode twice - sondehub_station_update(&shclient, &sonde.config.sondehub); - } -#endif } #if FEATURE_SONDEHUB @@ -3472,6 +3466,7 @@ void sondehub_station_update(WiFiClient *client, struct st_sondehub *conf) { Serial.println(strlen(data)); Serial.println(data); Serial.println("Waiting for response"); + // TODO: better do this asyncrhonously String response = client->readString(); Serial.println(response); Serial.println("Response done..."); @@ -3530,7 +3525,6 @@ void sondehub_reply_handler(WiFiClient *client) { } } } - // send import requests if needed if (sonde.config.sondehub.fiactive) { if (shImport == 2) { @@ -3547,6 +3541,13 @@ void sondehub_reply_handler(WiFiClient *client) { sondehub_send_fimport(&shclient); } } + + // 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) { + // (do not set station update while a telemetry report is being sent + sondehub_station_update(&shclient, &sonde.config.sondehub); + } } void sondehub_send_fimport(WiFiClient * client) {