diff --git a/RX_FSK/RX_FSK.ino b/RX_FSK/RX_FSK.ino
index 6796cfe..7d2b07b 100644
--- a/RX_FSK/RX_FSK.ino
+++ b/RX_FSK/RX_FSK.ino
@@ -63,7 +63,8 @@ WiFiClient client;
#define SONDEHUB_STATION_UPDATE_TIME (60*60*1000) // 60 min
#define SONDEHUB_MOBILE_STATION_UPDATE_TIME (30*1000) // 30 sec
WiFiClient shclient; // Sondehub v2
-char shImportInterval = 0, shImport = 0;
+int shImportInterval = 0;
+char shImport = 0;
unsigned long time_last_update = 0;
/* SH_LOC_OFF: never send position information to SondeHub
SH_LOC_FIXED: send fixed position (if specified in config) to sondehub
@@ -74,8 +75,8 @@ unsigned long time_last_update = 0;
enum { SH_LOC_OFF, SH_LOC_FIXED, SH_LOC_CHASE, SH_LOC_AUTO };
/* auto mode is chase if valid GPS position and (no fixed location entered OR valid GPS position and distance in lat/lon deg to fixed location > threshold) */
#define MIN_LOC_AUTO_DIST 200 /* meter */
-#define SH_LOC_AUTO_IS_CHASE ( gpsPos.valid && ( (isnan(sonde.config.sondehub.lat) || isnan(sonde.config.sondehub.lon) ) || \
- calcLatLonDist( gpsPos.lat, gpsPos.lon, sonde.config.sondehub.lat, sonde.config.sondehub.lon ) > MIN_LOC_AUTO_DIST ) )
+#define SH_LOC_AUTO_IS_CHASE ( gpsPos.valid && ( (isnan(sonde.config.rxlat) || isnan(sonde.config.rxlon) ) || \
+ calcLatLonDist( gpsPos.lat, gpsPos.lon, sonde.config.rxlat, sonde.config.rxlon ) > MIN_LOC_AUTO_DIST ) )
#endif
extern float calcLatLonDist(float lat1, float lon1, float lat2, float lon2);
@@ -154,7 +155,7 @@ String processor(const String& var) {
}
if (var == "FULLNAMEID") {
char tmp[128];
- snprintf(tmp, 128, "%s-%c%d", version_id, SPIFFS_MAJOR+'A'-1, SPIFFS_MINOR);
+ snprintf(tmp, 128, "%s-%c%d", version_id, SPIFFS_MAJOR + 'A' - 1, SPIFFS_MINOR);
return String(tmp);
}
if (var == "AUTODETECT_INFO") {
@@ -423,14 +424,14 @@ 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) && ( !isnan(sonde.config.sondehub.lat))) {
- sprintf(ptr + strlen(ptr), "", sonde.config.sondehub.lat, sonde.config.sondehub.lon);
+ if ((*s->ser == 0) && ( !isnan(sonde.config.rxlat))) {
+ sprintf(ptr + strlen(ptr), "", sonde.config.rxlat, sonde.config.rxlon);
} else {
sprintf(ptr + strlen(ptr), "", s-> ser);
}
} else {
- if ((*s->ser == 0) && (!isnan(sonde.config.sondehub.lat))) {
- sprintf(ptr, "", sonde.config.sondehub.lat, sonde.config.sondehub.lon);
+ if ((*s->ser == 0) && (!isnan(sonde.config.rxlat))) {
+ sprintf(ptr, "", sonde.config.rxlat, sonde.config.rxlon);
} else {
sprintf(ptr, "", s-> ser);
}
@@ -568,8 +569,8 @@ void setupConfigData() {
String line = readLine(file); //file.readStringUntil('\n');
sonde.setConfig(line.c_str());
}
- int shII = sonde.config.sondehub.fiinterval * 60;
- if(shImportInterval > shII) shImportInterval = shII;
+ sonde.checkConfig(); // eliminate invalid entries
+ shImportInterval = 5; // refresh now in 5 seconds
}
@@ -682,6 +683,9 @@ struct st_configitems config_list[] = {
{"wifi", 0, &sonde.config.wifi},
{"debug", 0, &sonde.config.debug},
{"maxsonde", 0, &sonde.config.maxsonde},
+ {"rxlat", -7, &sonde.config.rxlat},
+ {"rxlon", -7, &sonde.config.rxlon},
+ {"rxalt", -7, &sonde.config.rxalt},
{"screenfile", 0, &sonde.config.screenfile},
{"display", -6, sonde.config.display},
/* Spectrum display settings */
@@ -766,12 +770,9 @@ struct st_configitems config_list[] = {
{"sondehub.chase", 0, &sonde.config.sondehub.chase},
{"sondehub.host", 63, &sonde.config.sondehub.host},
{"sondehub.callsign", 63, &sonde.config.sondehub.callsign},
- {"sondehub.lat", -7, &sonde.config.sondehub.lat},
- {"sondehub.lon", -7, &sonde.config.sondehub.lon},
- {"sondehub.alt", 19, &sonde.config.sondehub.alt},
{"sondehub.antenna", 63, &sonde.config.sondehub.antenna},
{"sondehub.email", 63, &sonde.config.sondehub.email},
- {"sondehub.fiactive", 0, &sonde.config.sondehub.fimactitve},
+ {"sondehub.fiactive", 0, &sonde.config.sondehub.fiactive},
{"sondehub.fiinterval", 0, &sonde.config.sondehub.fiinterval},
{"sondehub.fimaxdist", 0, &sonde.config.sondehub.fimaxdist},
{"sondehub.fimaxage", 0, &sonde.config.sondehub.fimaxage},
@@ -850,32 +851,41 @@ const char *createConfigForm() {
strcat(ptr, "");
strcat(ptr, "");
strcat(ptr, "