From 7555eda02403dfdd20cea5a8fa6727396bd36062 Mon Sep 17 00:00:00 2001 From: Luke Prior <22492406+LukePrior@users.noreply.github.com> Date: Tue, 27 Jul 2021 05:14:23 +1000 Subject: [PATCH] lat,lon,alt improvements (#103) Co-authored-by: Uskompuf <22492406+Uskompuf@users.noreply.github.com> Co-authored-by: dl9rdz --- RX_FSK/RX_FSK.ino | 51 ++++++++++++++++++++++++++++-------------- RX_FSK/data/config.txt | 6 ++--- 2 files changed, 37 insertions(+), 20 deletions(-) diff --git a/RX_FSK/RX_FSK.ino b/RX_FSK/RX_FSK.ino index 679d6fa..532ff68 100644 --- a/RX_FSK/RX_FSK.ino +++ b/RX_FSK/RX_FSK.ino @@ -417,13 +417,13 @@ const char *createSondeHubMap() { HTMLBODY(ptr, "map.html"); if (!sonde.config.sondehub.active) { strcat(ptr, "
NOTE: SondeHub uploading is not enabled, detected sonde will not be visable on map
"); - if ((*s->ser == 0) && (strcmp(sonde.config.sondehub.lat,"null"))) { + if ((*s->ser == 0) && (sonde.config.sondehub.lat[0] != '\0')) { sprintf(ptr + strlen(ptr), "", sonde.config.sondehub.lat, sonde.config.sondehub.lon); } else { sprintf(ptr + strlen(ptr), "", s-> ser); } } else { - if ((*s->ser == 0) && (strcmp(sonde.config.sondehub.lat,"null"))) { + if ((*s->ser == 0) && (sonde.config.sondehub.lat[0] != '\0')) { sprintf(ptr, "", sonde.config.sondehub.lat, sonde.config.sondehub.lon); } else { sprintf(ptr, "", s-> ser); @@ -3046,16 +3046,24 @@ void sondehub_station_update(WiFiClient *client, struct st_sondehub *conf) { "\"uploader_contact_email\": \"%s\",", version_name, version_id, conf->callsign, conf->email); w += strlen(w); - if (conf->chase == 0) { - sprintf(w, - "\"uploader_position\": [%s,%s,%s]," - "\"uploader_antenna\": \"%s\"" - "}", - conf->lat, conf->lon, conf->alt, conf->antenna); + if ((conf->chase == 0) && (conf->lat[0] != '\0') && (conf->lon[0] != '\0')){ + if (conf->alt[0] != '\0') { + sprintf(w, + "\"uploader_position\": [%s,%s,%s]," + "\"uploader_antenna\": \"%s\"" + "}", + conf->lat, conf->lon, conf->alt, conf->antenna); + } else { + sprintf(w, + "\"uploader_position\": [%s,%s,null]," + "\"uploader_antenna\": \"%s\"" + "}", + conf->lat, conf->lon, conf->antenna); + } } else if (gpsPos.valid && gpsPos.lat != 0 && gpsPos.lon != 0) { sprintf(w, - "\"uploader_position\": [%.6f, %.6f, %d]," + "\"uploader_position\": [%.6f,%.6f,%d]," "\"uploader_antenna\": \"%s\"," "\"mobile\": \"true\"" "}", @@ -3235,17 +3243,26 @@ void sondehub_send_data(WiFiClient *client, SondeInfo *s, struct st_sondehub *co w += strlen(w); } - if (conf->chase == 0) { - sprintf(w, - "\"uploader_position\": [ %s, %s, %s ]," - "\"uploader_antenna\": \"%s\"" - "}]", - conf->lat, conf->lon, conf->alt, conf->antenna - ); + if ((conf->chase == 0) && (conf->lat[0] != '\0') && (conf->lon[0] != '\0')){ + if (conf->alt[0] != '\0') { + sprintf(w, + "\"uploader_position\": [%s,%s,%s]," + "\"uploader_antenna\": \"%s\"" + "}]", + conf->lat, conf->lon, conf->alt, conf->antenna + ); + } else { + sprintf(w, + "\"uploader_position\": [%s,%s,null]," + "\"uploader_antenna\": \"%s\"" + "}]", + conf->lat, conf->lon, conf->antenna + ); + } } else if (gpsPos.valid && gpsPos.lat != 0 && gpsPos.lon != 0) { sprintf(w, - "\"uploader_position\": [ %.6f, %.6f, %d ]," + "\"uploader_position\": [%.6f,%.6f,%d]," "\"uploader_antenna\": \"%s\"" "}]", gpsPos.lat, gpsPos.lon, gpsPos.alt, conf->antenna diff --git a/RX_FSK/data/config.txt b/RX_FSK/data/config.txt index c3c518d..4e6e86c 100644 --- a/RX_FSK/data/config.txt +++ b/RX_FSK/data/config.txt @@ -126,9 +126,9 @@ sondehub.active=0 sondehub.chase=0 sondehub.host=api.v2.sondehub.org sondehub.callsign=CHANGEME_RDZTTGO -sondehub.lat=null -sondehub.lon=null -sondehub.alt=null +sondehub.lat= +sondehub.lon= +sondehub.alt= sondehub.antenna= sondehub.email= #-------------------------------#