From 7504ec8476180fe9bd08363c60defb28554f8ad0 Mon Sep 17 00:00:00 2001 From: smithse Date: Fri, 17 Jan 2025 12:17:39 +0800 Subject: [PATCH 1/6] Added SondeSeeker function to test. Still outputs the same format as Chasemapper --- RX_FSK/RX_FSK.ino | 15 ++++++ RX_FSK/data/cfg.js | 4 ++ RX_FSK/features.h | 1 + RX_FSK/src/conn-sondeseeker.cpp | 84 +++++++++++++++++++++++++++++++++ RX_FSK/src/conn-sondeseeker.h | 20 ++++++++ 5 files changed, 124 insertions(+) create mode 100644 RX_FSK/src/conn-sondeseeker.cpp create mode 100644 RX_FSK/src/conn-sondeseeker.h diff --git a/RX_FSK/RX_FSK.ino b/RX_FSK/RX_FSK.ino index 969bf7d..b46d32c 100644 --- a/RX_FSK/RX_FSK.ino +++ b/RX_FSK/RX_FSK.ino @@ -42,6 +42,9 @@ /* Data exchange connectors */ +#if FEATURE_SONDESEEKER +#include "src/conn-sondeseeker.h" +#endif #if FEATURE_CHASEMAPPER #include "src/conn-chasemapper.h" #endif @@ -71,6 +74,9 @@ Conn *connectors[] = { &connSystem, #if FEATURE_CHASEMAPPER &connChasemapper, #endif +#if FEATURE_SONDESEEKER +&connSondeseeker, +#endif #if FEATURE_MQTT &connMQTT, #endif @@ -753,6 +759,12 @@ struct st_configitems config_list[] = { {"cm.host", 63, &sonde.config.cm.host}, {"cm.port", 0, &sonde.config.cm.port}, #endif +#if FEATURE_SONDESEEKER + /* Sondeseeker settings */ + {"ss.active", -3, &sonde.config.ss.active}, + {"ss.host", 63, &sonde.config.ss.host}, + {"ss.port", 0, &sonde.config.ss.port}, +#endif #if FEATURE_MQTT /* MQTT */ {"mqtt.active", 0, &sonde.config.mqtt.active}, @@ -2311,6 +2323,9 @@ void loopDecoder() { #endif #if FEATURE_CHASEMAPPER connChasemapper.updateSonde( s ); +#endif +#if FEATURE_SONDESEEKER + connSondeseeker.updateSonde( s ); #endif } #if FEATURE_SONDEHUB diff --git a/RX_FSK/data/cfg.js b/RX_FSK/data/cfg.js index 2738037..a6ddb90 100644 --- a/RX_FSK/data/cfg.js +++ b/RX_FSK/data/cfg.js @@ -63,6 +63,10 @@ var cfgs = [ [ "cm.active", "Chasemapper active (0=disabled, 1=active)"], [ "cm.host", "Chasemapper UDP host"], [ "cm.port", "Chasemapper UDP port"], +[ "", "Chasemapper settings", "https://github.com/dl9rdz/rdz_ttgo_sonde/wiki/Sondeseeker-configuration"], +[ "ss.active", "Sondeseeker active (0=disabled, 1=active)"], +[ "ss.host", "Sondeseeker UDP host"], +[ "ss.port", "Sondeseeker UDP port"], [ "", "SondeHub settings", "https://github.com/dl9rdz/rdz_ttgo_sonde/wiki/SondeHub-settings"], [ "sondehub.active", "SondeHub reporting (0=disabled, 1=active)"], [ "sondehub.chase", "SondeHub location reporting (0=off, 1=fixed, 2=chase/GPS, 3=auto)"], diff --git a/RX_FSK/features.h b/RX_FSK/features.h index c9abf99..4549eeb 100644 --- a/RX_FSK/features.h +++ b/RX_FSK/features.h @@ -11,6 +11,7 @@ #define FEATURE_MQTT 1 #define FEATURE_SDCARD 1 #define FEATURE_APRS 1 +#define FEATURE_SONDESEEKER 1 // Additional optional components diff --git a/RX_FSK/src/conn-sondeseeker.cpp b/RX_FSK/src/conn-sondeseeker.cpp new file mode 100644 index 0000000..5e53916 --- /dev/null +++ b/RX_FSK/src/conn-sondeseeker.cpp @@ -0,0 +1,84 @@ +#include "../features.h" +#if FEATURE_SONDESEEKER + +#include "conn-sondeseeker.h" +#include + +extern const char *sondeTypeStrSH[]; +extern WiFiUDP udp; + +void ConnSondeseeker::init() { +} + +void ConnSondeseeker::netsetup() { +} + +void ConnSondeseeker::netshutdown() { +} + +void ConnSondeseeker::updateSonde(SondeInfo *si) { + char buf[1024]; + struct tm tim; + + if(!sonde.config.ss.active) return; + + time_t t = si->d.time; + gmtime_r(&t, &tim); + uint8_t realtype = si->type; + if (TYPE_IS_METEO(realtype)) { + realtype = si->d.subtype == 1 ? STYPE_M10 : STYPE_M20; + } + char prefix[10]; + if(realtype == STYPE_RS41) { + prefix[0] = 0; + } + else { + strncpy(prefix, sondeTypeStrSH[realtype], 10); + strcat(prefix, "-"); + } + sprintf(buf, "{ \"type\": \"PAYLOAD_SUMMARY\"," + "\"callsign\": \"%s%s\"," + "\"latitude\": %.5f," + "\"longitude\": %.5f," + "\"altitude\": %d," + "\"speed\": %d," + "\"heading\": %d," + "\"time\": \"%02d:%02d:%02d\"," + "\"model\": \"%s\"," + "\"freq\": \"%.3f MHz\"", + prefix, + si->d.ser, + si->d.lat, + si->d.lon, + (int)si->d.alt, + (int)(si->d.hs * 1.9438445), // m/s into knots + (int)si->d.dir, + tim.tm_hour, tim.tm_min, tim.tm_sec, + sondeTypeStrSH[realtype], + si->freq); + if( !isnan(si->d.temperature) ) { + sprintf(buf + strlen(buf), ", \"temp\": %.1f", si->d.temperature); + } + strcat(buf, "}"); + Serial.printf("Sending SondeSeeker json: %s\n", buf); + udp.beginPacket(sonde.config.ss.host, sonde.config.ss.port); + udp.write((const uint8_t *)buf, strlen(buf)); + udp.endPacket(); +} + +void ConnSondeseeker::updateStation(PosInfo *pi) { +} + +String ConnSondeseeker::getStatus() { + if(!sonde.config.ss.active) return String("disabled"); + char info[100]; + snprintf(info, 100, "active [%s:%d]", sonde.config.ss.host, sonde.config.ss.port); + return String(info); +} + +String ConnSondeseeker::getName() { + return String("SondeSeeker"); +} + +ConnSondeseeker connSondeseeker; +#endif diff --git a/RX_FSK/src/conn-sondeseeker.h b/RX_FSK/src/conn-sondeseeker.h new file mode 100644 index 0000000..4c1ef75 --- /dev/null +++ b/RX_FSK/src/conn-sondeseeker.h @@ -0,0 +1,20 @@ +#ifndef _SONDESEEKER_H +#define _SONDESEEKER_H + +#include "Sonde.h" +#include "conn.h" + +class ConnSondeseeker : public Conn { +public: + void init(); + void netsetup(); + void netshutdown(); + void updateSonde( SondeInfo *si ); + void updateStation( PosInfo *pi ); + String getStatus(); + String getName(); +}; + +extern ConnSondeseeker connSondeseeker; + +#endif From 74c867348cffc3dd4e1565ed73cb6160224aba74 Mon Sep 17 00:00:00 2001 From: smithse Date: Fri, 17 Jan 2025 12:31:59 +0800 Subject: [PATCH 2/6] Corrected structs for config settings --- RX_FSK/src/Sonde.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/RX_FSK/src/Sonde.h b/RX_FSK/src/Sonde.h index a38c7c1..df7a993 100644 --- a/RX_FSK/src/Sonde.h +++ b/RX_FSK/src/Sonde.h @@ -229,6 +229,12 @@ struct st_cm { int port; }; +struct st_ss { + int active; + char host[64]; + int port; +}; + struct st_sondehub { int active; int chase; @@ -320,6 +326,7 @@ typedef struct st_rdzconfig { struct st_mqtt mqtt; struct st_sondehub sondehub; struct st_cm cm; + struct st_ss ss; struct st_sdcard sd; } RDZConfig; From 749a4123b63cffe7f6c9900035147ce6cb164a3b Mon Sep 17 00:00:00 2001 From: smithse Date: Fri, 17 Jan 2025 14:29:28 +0800 Subject: [PATCH 3/6] Fix header text --- RX_FSK/data/cfg.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RX_FSK/data/cfg.js b/RX_FSK/data/cfg.js index a6ddb90..32905c7 100644 --- a/RX_FSK/data/cfg.js +++ b/RX_FSK/data/cfg.js @@ -63,7 +63,7 @@ var cfgs = [ [ "cm.active", "Chasemapper active (0=disabled, 1=active)"], [ "cm.host", "Chasemapper UDP host"], [ "cm.port", "Chasemapper UDP port"], -[ "", "Chasemapper settings", "https://github.com/dl9rdz/rdz_ttgo_sonde/wiki/Sondeseeker-configuration"], +[ "", "SondeSeeker settings", "https://github.com/dl9rdz/rdz_ttgo_sonde/wiki/Sondeseeker-configuration"], [ "ss.active", "Sondeseeker active (0=disabled, 1=active)"], [ "ss.host", "Sondeseeker UDP host"], [ "ss.port", "Sondeseeker UDP port"], From eff992b07cdbe39695d8a1a555603ddae38ebe94 Mon Sep 17 00:00:00 2001 From: smithse Date: Fri, 17 Jan 2025 19:48:12 +0800 Subject: [PATCH 4/6] Edits to support SondeSeeker UDP --- RX_FSK/data/config.txt | 8 +++++++- RX_FSK/src/Sonde.cpp | 6 +++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/RX_FSK/data/config.txt b/RX_FSK/data/config.txt index 5e10b8d..8d63717 100644 --- a/RX_FSK/data/config.txt +++ b/RX_FSK/data/config.txt @@ -71,7 +71,7 @@ marker=1 # APRS settings #-------------------------------# call=N0CALL -passcode=12345 +passcode=-1 #-------------------------------# # Sonde specific settings: bandwidth # valid values: 3100, 3900, 5200, 6300, 7800, 10400, 12500, @@ -147,5 +147,11 @@ sondehub.fiinterval=60 sondehub.fimaxdist=150 sondehub.fimaxage=6 #-------------------------------# +# SondeSeeker settings +#-------------------------------# +ss.active=1 +ss.host=224.0.0.0 +ss.port=62655 +#-------------------------------# # EOF #-------------------------------# diff --git a/RX_FSK/src/Sonde.cpp b/RX_FSK/src/Sonde.cpp index 978f47d..df364a5 100644 --- a/RX_FSK/src/Sonde.cpp +++ b/RX_FSK/src/Sonde.cpp @@ -301,7 +301,7 @@ void Sonde::defaultConfig() { } // config.noisefloor = -125; - strcpy(config.call,"NOCALL"); + strcpy(config.call,"N0CALL"); config.passcode = -1; strcpy(config.mdnsname, "rdzsonde"); config.maxsonde=15; @@ -343,6 +343,10 @@ void Sonde::defaultConfig() { strcpy(config.mqtt.password, "/0"); strcpy(config.mqtt.prefix, "rdz_sonde_server/"); config.mqtt.report_interval = 60000; + + config.ss.active = 0; + config.ss.port = 1883; + strcpy(config.ss.host, "224.0.0.0"); } extern struct st_configitems config_list[]; From 944e486f12f65735dca95818cfc68bcf53034d43 Mon Sep 17 00:00:00 2001 From: smithse Date: Fri, 17 Jan 2025 19:49:29 +0800 Subject: [PATCH 5/6] Updates to support SondeSeeker UDP --- RX_FSK/data/cfg.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RX_FSK/data/cfg.js b/RX_FSK/data/cfg.js index 32905c7..76e6cc7 100644 --- a/RX_FSK/data/cfg.js +++ b/RX_FSK/data/cfg.js @@ -101,7 +101,7 @@ var cfgs = [ [ "power_pout", "Power control port"], [ "led_pout", "LED output port"], [ "gps_rxd", "GPS RXD pin (-1 to disable)"], -[ "gps_txd", "GPS TXD pin (optional, only for GSP reset)"], +[ "gps_txd", "GPS TXD pin (optional, only for GPS reset)"], [ "batt_adc", "Battery measurement pin"], [ "sx1278_ss", "SX1278 SS"], [ "sx1278_miso", "SX1278 MISO"], @@ -110,7 +110,7 @@ var cfgs = [ ]; var tocheck = ["sd.cs", "sd.miso", "sd.mosi", "sd.clk", "oled_sda", "oled_scl", "oled_rst", "tft_rs", "tft_cs", "tft_spifreq", "button_pin", "button2_pin", - "led_pout", "gps_rxd", "gps_txd", "batt_adc", "sx1278_ss", "sx1278_miso", "sx1278_mosi", "sx1278_sck"]; + "led_pout", "gps_rxd", "gps_txd", "batt_adc", "sx1278_ss", "sx1278_miso", "sx1278_mosi", "sx1278_sck", "ss.host", "cm.host"]; var alloweddups = [ ["sd.mosi", "oled_sda"], ["sd.clk", "oled_scl" ] ]; function isAllowedDup(nameA, nameB) { From 848aaad7ae036225255954d4206690b64c40c2c7 Mon Sep 17 00:00:00 2001 From: smithse Date: Sat, 18 Jan 2025 11:12:09 +0800 Subject: [PATCH 6/6] Updates to support SondeSeeker Updates to support SondeSeeker --- RX_FSK/RX_FSK.ino | 1 + RX_FSK/core.h | 0 RX_FSK/data/GPSRESET | 0 RX_FSK/data/cfg.js | 4 +-- RX_FSK/data/config.txt | 6 ++-- RX_FSK/data/gpsinit.txt | 0 RX_FSK/data/livemap.html | 0 RX_FSK/data/livemap.js | 0 RX_FSK/data/login.html | 0 RX_FSK/data/map.html | 0 RX_FSK/data/networks.txt | 0 RX_FSK/data/qrg.txt | 0 RX_FSK/data/rdz.js | 0 RX_FSK/data/screens.txt | 0 RX_FSK/data/screens1.txt | 0 RX_FSK/data/screens2.txt | 0 RX_FSK/data/screens3.txt | 0 RX_FSK/data/screens4.txt | 0 RX_FSK/data/screens5.txt | 0 RX_FSK/data/sdfiles.html | 0 RX_FSK/data/sha256.min.js | 0 RX_FSK/data/upd.html | 0 RX_FSK/features.h | 0 RX_FSK/src/DFM.cpp | 0 RX_FSK/src/DFM.h | 0 RX_FSK/src/DecoderBase.cpp | 0 RX_FSK/src/DecoderBase.h | 0 RX_FSK/src/DefaultFonts.c | 0 RX_FSK/src/Display.cpp | 0 RX_FSK/src/Display.h | 0 RX_FSK/src/M10M20.cpp | 0 RX_FSK/src/M10M20.h | 0 RX_FSK/src/MP3H.cpp | 0 RX_FSK/src/MP3H.h | 0 RX_FSK/src/RS41.cpp | 0 RX_FSK/src/RS41.h | 0 RX_FSK/src/RS92.cpp | 0 RX_FSK/src/RS92.h | 0 RX_FSK/src/SX1278FSK.cpp | 0 RX_FSK/src/SX1278FSK.h | 0 RX_FSK/src/Scanner.cpp | 0 RX_FSK/src/Scanner.h | 0 RX_FSK/src/ShFreqImport.cpp | 0 RX_FSK/src/ShFreqImport.h | 0 RX_FSK/src/Sonde.cpp | 6 ++-- RX_FSK/src/Sonde.h | 18 ++++++------ RX_FSK/src/aprs.cpp | 0 RX_FSK/src/aprs.h | 0 RX_FSK/src/autodetect-infos | 0 RX_FSK/src/colors.h | 0 RX_FSK/src/conn-action.txt | 0 RX_FSK/src/conn-aprs.cpp | 0 RX_FSK/src/conn-aprs.h | 0 RX_FSK/src/conn-chasemapper.cpp | 0 RX_FSK/src/conn-chasemapper.h | 0 RX_FSK/src/conn-mqtt.cpp | 0 RX_FSK/src/conn-mqtt.h | 0 RX_FSK/src/conn-sdcard.cpp | 0 RX_FSK/src/conn-sdcard.h | 0 RX_FSK/src/conn-sondehub.cpp | 0 RX_FSK/src/conn-sondehub.h | 0 RX_FSK/src/conn-sondeseeker.cpp | 48 +++++-------------------------- RX_FSK/src/conn-sondeseeker.h | 0 RX_FSK/src/conn-system.cpp | 0 RX_FSK/src/conn-system.h | 0 RX_FSK/src/conn.cpp | 0 RX_FSK/src/conn.h | 0 RX_FSK/src/fonts/FreeMono12pt7b.h | 0 RX_FSK/src/fonts/FreeMono12pt8b.h | 0 RX_FSK/src/fonts/FreeMono9pt7b.h | 0 RX_FSK/src/fonts/FreeMono9pt8b.h | 0 RX_FSK/src/fonts/FreeSans12pt7b.h | 0 RX_FSK/src/fonts/FreeSans12pt8b.h | 0 RX_FSK/src/fonts/FreeSans18pt7b.h | 0 RX_FSK/src/fonts/FreeSans18pt8b.h | 0 RX_FSK/src/fonts/FreeSans9pt7b.h | 0 RX_FSK/src/fonts/FreeSans9pt8b.h | 0 RX_FSK/src/fonts/Picopixel.h | 0 RX_FSK/src/fonts/Terminal11x16.h | 0 RX_FSK/src/fonts/fonts.cpp | 0 RX_FSK/src/fonts/gfxfont.h | 0 RX_FSK/src/geteph.cpp | 0 RX_FSK/src/geteph.h | 0 RX_FSK/src/json.cpp | 0 RX_FSK/src/json.h | 0 RX_FSK/src/library.json | 0 RX_FSK/src/logger.cpp | 0 RX_FSK/src/logger.h | 0 RX_FSK/src/nav_gps_vel.cpp | 0 RX_FSK/src/nav_gps_vel.h | 0 RX_FSK/src/pmu.cpp | 0 RX_FSK/src/pmu.h | 0 RX_FSK/src/posinfo.cpp | 0 RX_FSK/src/posinfo.h | 0 RX_FSK/src/rs92gps.cpp | 0 RX_FSK/src/rs92gps.h | 0 RX_FSK/src/rsc.cpp | 0 RX_FSK/src/rsc.h | 0 RX_FSK/src/rsc_decode.cpp | 0 RX_FSK/src/user.cpp | 0 RX_FSK/src/user.h | 0 RX_FSK/version.h | 0 scripts/gen_esp32part.py | 0 103 files changed, 24 insertions(+), 59 deletions(-) mode change 100644 => 100755 RX_FSK/RX_FSK.ino mode change 100644 => 100755 RX_FSK/core.h mode change 100644 => 100755 RX_FSK/data/GPSRESET mode change 100644 => 100755 RX_FSK/data/cfg.js mode change 100644 => 100755 RX_FSK/data/config.txt mode change 100644 => 100755 RX_FSK/data/gpsinit.txt mode change 100644 => 100755 RX_FSK/data/livemap.html mode change 100644 => 100755 RX_FSK/data/livemap.js mode change 100644 => 100755 RX_FSK/data/login.html mode change 100644 => 100755 RX_FSK/data/map.html mode change 100644 => 100755 RX_FSK/data/networks.txt mode change 100644 => 100755 RX_FSK/data/qrg.txt mode change 100644 => 100755 RX_FSK/data/rdz.js mode change 100644 => 100755 RX_FSK/data/screens.txt mode change 100644 => 100755 RX_FSK/data/screens1.txt mode change 100644 => 100755 RX_FSK/data/screens2.txt mode change 100644 => 100755 RX_FSK/data/screens3.txt mode change 100644 => 100755 RX_FSK/data/screens4.txt mode change 100644 => 100755 RX_FSK/data/screens5.txt mode change 100644 => 100755 RX_FSK/data/sdfiles.html mode change 100644 => 100755 RX_FSK/data/sha256.min.js mode change 100644 => 100755 RX_FSK/data/upd.html mode change 100644 => 100755 RX_FSK/features.h mode change 100644 => 100755 RX_FSK/src/DFM.cpp mode change 100644 => 100755 RX_FSK/src/DFM.h mode change 100644 => 100755 RX_FSK/src/DecoderBase.cpp mode change 100644 => 100755 RX_FSK/src/DecoderBase.h mode change 100644 => 100755 RX_FSK/src/DefaultFonts.c mode change 100644 => 100755 RX_FSK/src/Display.cpp mode change 100644 => 100755 RX_FSK/src/Display.h mode change 100644 => 100755 RX_FSK/src/M10M20.cpp mode change 100644 => 100755 RX_FSK/src/M10M20.h mode change 100644 => 100755 RX_FSK/src/MP3H.cpp mode change 100644 => 100755 RX_FSK/src/MP3H.h mode change 100644 => 100755 RX_FSK/src/RS41.cpp mode change 100644 => 100755 RX_FSK/src/RS41.h mode change 100644 => 100755 RX_FSK/src/RS92.cpp mode change 100644 => 100755 RX_FSK/src/RS92.h mode change 100644 => 100755 RX_FSK/src/SX1278FSK.cpp mode change 100644 => 100755 RX_FSK/src/SX1278FSK.h mode change 100644 => 100755 RX_FSK/src/Scanner.cpp mode change 100644 => 100755 RX_FSK/src/Scanner.h mode change 100644 => 100755 RX_FSK/src/ShFreqImport.cpp mode change 100644 => 100755 RX_FSK/src/ShFreqImport.h mode change 100644 => 100755 RX_FSK/src/Sonde.cpp mode change 100644 => 100755 RX_FSK/src/Sonde.h mode change 100644 => 100755 RX_FSK/src/aprs.cpp mode change 100644 => 100755 RX_FSK/src/aprs.h mode change 100644 => 100755 RX_FSK/src/autodetect-infos mode change 100644 => 100755 RX_FSK/src/colors.h mode change 100644 => 100755 RX_FSK/src/conn-action.txt mode change 100644 => 100755 RX_FSK/src/conn-aprs.cpp mode change 100644 => 100755 RX_FSK/src/conn-aprs.h mode change 100644 => 100755 RX_FSK/src/conn-chasemapper.cpp mode change 100644 => 100755 RX_FSK/src/conn-chasemapper.h mode change 100644 => 100755 RX_FSK/src/conn-mqtt.cpp mode change 100644 => 100755 RX_FSK/src/conn-mqtt.h mode change 100644 => 100755 RX_FSK/src/conn-sdcard.cpp mode change 100644 => 100755 RX_FSK/src/conn-sdcard.h mode change 100644 => 100755 RX_FSK/src/conn-sondehub.cpp mode change 100644 => 100755 RX_FSK/src/conn-sondehub.h mode change 100644 => 100755 RX_FSK/src/conn-sondeseeker.cpp mode change 100644 => 100755 RX_FSK/src/conn-sondeseeker.h mode change 100644 => 100755 RX_FSK/src/conn-system.cpp mode change 100644 => 100755 RX_FSK/src/conn-system.h mode change 100644 => 100755 RX_FSK/src/conn.cpp mode change 100644 => 100755 RX_FSK/src/conn.h mode change 100644 => 100755 RX_FSK/src/fonts/FreeMono12pt7b.h mode change 100644 => 100755 RX_FSK/src/fonts/FreeMono12pt8b.h mode change 100644 => 100755 RX_FSK/src/fonts/FreeMono9pt7b.h mode change 100644 => 100755 RX_FSK/src/fonts/FreeMono9pt8b.h mode change 100644 => 100755 RX_FSK/src/fonts/FreeSans12pt7b.h mode change 100644 => 100755 RX_FSK/src/fonts/FreeSans12pt8b.h mode change 100644 => 100755 RX_FSK/src/fonts/FreeSans18pt7b.h mode change 100644 => 100755 RX_FSK/src/fonts/FreeSans18pt8b.h mode change 100644 => 100755 RX_FSK/src/fonts/FreeSans9pt7b.h mode change 100644 => 100755 RX_FSK/src/fonts/FreeSans9pt8b.h mode change 100644 => 100755 RX_FSK/src/fonts/Picopixel.h mode change 100644 => 100755 RX_FSK/src/fonts/Terminal11x16.h mode change 100644 => 100755 RX_FSK/src/fonts/fonts.cpp mode change 100644 => 100755 RX_FSK/src/fonts/gfxfont.h mode change 100644 => 100755 RX_FSK/src/geteph.cpp mode change 100644 => 100755 RX_FSK/src/geteph.h mode change 100644 => 100755 RX_FSK/src/json.cpp mode change 100644 => 100755 RX_FSK/src/json.h mode change 100644 => 100755 RX_FSK/src/library.json mode change 100644 => 100755 RX_FSK/src/logger.cpp mode change 100644 => 100755 RX_FSK/src/logger.h mode change 100644 => 100755 RX_FSK/src/nav_gps_vel.cpp mode change 100644 => 100755 RX_FSK/src/nav_gps_vel.h mode change 100644 => 100755 RX_FSK/src/pmu.cpp mode change 100644 => 100755 RX_FSK/src/pmu.h mode change 100644 => 100755 RX_FSK/src/posinfo.cpp mode change 100644 => 100755 RX_FSK/src/posinfo.h mode change 100644 => 100755 RX_FSK/src/rs92gps.cpp mode change 100644 => 100755 RX_FSK/src/rs92gps.h mode change 100644 => 100755 RX_FSK/src/rsc.cpp mode change 100644 => 100755 RX_FSK/src/rsc.h mode change 100644 => 100755 RX_FSK/src/rsc_decode.cpp mode change 100644 => 100755 RX_FSK/src/user.cpp mode change 100644 => 100755 RX_FSK/src/user.h mode change 100644 => 100755 RX_FSK/version.h mode change 100644 => 100755 scripts/gen_esp32part.py diff --git a/RX_FSK/RX_FSK.ino b/RX_FSK/RX_FSK.ino old mode 100644 new mode 100755 index b46d32c..0df5d45 --- a/RX_FSK/RX_FSK.ino +++ b/RX_FSK/RX_FSK.ino @@ -695,6 +695,7 @@ void setupConfigData() { while (file.available()) { String line = readLine(file); //file.readStringUntil('\n'); sonde.setConfig(line.c_str()); + LOG_D(TAG, "Processing a=%s",line.c_str()); } sonde.checkConfig(); // eliminate invalid entries } diff --git a/RX_FSK/core.h b/RX_FSK/core.h old mode 100644 new mode 100755 diff --git a/RX_FSK/data/GPSRESET b/RX_FSK/data/GPSRESET old mode 100644 new mode 100755 diff --git a/RX_FSK/data/cfg.js b/RX_FSK/data/cfg.js old mode 100644 new mode 100755 index 76e6cc7..d9fcaf6 --- a/RX_FSK/data/cfg.js +++ b/RX_FSK/data/cfg.js @@ -72,7 +72,7 @@ var cfgs = [ [ "sondehub.chase", "SondeHub location reporting (0=off, 1=fixed, 2=chase/GPS, 3=auto)"], [ "sondehub.host", "SondeHub host (DO NOT CHANGE)"], [ "sondehub.callsign", "Callsign"], -[ "sondehub.antenna", "Antenna (optional, visisble on SondeHub tracker)"], +[ "sondehub.antenna", "Antenna (optional, visible on SondeHub tracker)"], [ "sondehub.email", "SondeHub email (optional, only used to contact in case of upload errors)"], [ "", "SondeHub frequency import", "https://github.com/dl9rdz/rdz_ttgo_sonde/wiki/SondeHub-import" ], [ "sondehub.fiactive", "SondeHub frequency import active (0=disabled, 1=active)" ], @@ -110,7 +110,7 @@ var cfgs = [ ]; var tocheck = ["sd.cs", "sd.miso", "sd.mosi", "sd.clk", "oled_sda", "oled_scl", "oled_rst", "tft_rs", "tft_cs", "tft_spifreq", "button_pin", "button2_pin", - "led_pout", "gps_rxd", "gps_txd", "batt_adc", "sx1278_ss", "sx1278_miso", "sx1278_mosi", "sx1278_sck", "ss.host", "cm.host"]; + "led_pout", "gps_rxd", "gps_txd", "batt_adc", "sx1278_ss", "sx1278_miso", "sx1278_mosi", "sx1278_sck"]; var alloweddups = [ ["sd.mosi", "oled_sda"], ["sd.clk", "oled_scl" ] ]; function isAllowedDup(nameA, nameB) { diff --git a/RX_FSK/data/config.txt b/RX_FSK/data/config.txt old mode 100644 new mode 100755 index 8d63717..46bf327 --- a/RX_FSK/data/config.txt +++ b/RX_FSK/data/config.txt @@ -71,7 +71,7 @@ marker=1 # APRS settings #-------------------------------# call=N0CALL -passcode=-1 +passcode=12345 #-------------------------------# # Sonde specific settings: bandwidth # valid values: 3100, 3900, 5200, 6300, 7800, 10400, 12500, @@ -147,9 +147,9 @@ sondehub.fiinterval=60 sondehub.fimaxdist=150 sondehub.fimaxage=6 #-------------------------------# -# SondeSeeker settings +# Sondeseeker settings #-------------------------------# -ss.active=1 +ss.active=0 ss.host=224.0.0.0 ss.port=62655 #-------------------------------# diff --git a/RX_FSK/data/gpsinit.txt b/RX_FSK/data/gpsinit.txt old mode 100644 new mode 100755 diff --git a/RX_FSK/data/livemap.html b/RX_FSK/data/livemap.html old mode 100644 new mode 100755 diff --git a/RX_FSK/data/livemap.js b/RX_FSK/data/livemap.js old mode 100644 new mode 100755 diff --git a/RX_FSK/data/login.html b/RX_FSK/data/login.html old mode 100644 new mode 100755 diff --git a/RX_FSK/data/map.html b/RX_FSK/data/map.html old mode 100644 new mode 100755 diff --git a/RX_FSK/data/networks.txt b/RX_FSK/data/networks.txt old mode 100644 new mode 100755 diff --git a/RX_FSK/data/qrg.txt b/RX_FSK/data/qrg.txt old mode 100644 new mode 100755 diff --git a/RX_FSK/data/rdz.js b/RX_FSK/data/rdz.js old mode 100644 new mode 100755 diff --git a/RX_FSK/data/screens.txt b/RX_FSK/data/screens.txt old mode 100644 new mode 100755 diff --git a/RX_FSK/data/screens1.txt b/RX_FSK/data/screens1.txt old mode 100644 new mode 100755 diff --git a/RX_FSK/data/screens2.txt b/RX_FSK/data/screens2.txt old mode 100644 new mode 100755 diff --git a/RX_FSK/data/screens3.txt b/RX_FSK/data/screens3.txt old mode 100644 new mode 100755 diff --git a/RX_FSK/data/screens4.txt b/RX_FSK/data/screens4.txt old mode 100644 new mode 100755 diff --git a/RX_FSK/data/screens5.txt b/RX_FSK/data/screens5.txt old mode 100644 new mode 100755 diff --git a/RX_FSK/data/sdfiles.html b/RX_FSK/data/sdfiles.html old mode 100644 new mode 100755 diff --git a/RX_FSK/data/sha256.min.js b/RX_FSK/data/sha256.min.js old mode 100644 new mode 100755 diff --git a/RX_FSK/data/upd.html b/RX_FSK/data/upd.html old mode 100644 new mode 100755 diff --git a/RX_FSK/features.h b/RX_FSK/features.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/DFM.cpp b/RX_FSK/src/DFM.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/DFM.h b/RX_FSK/src/DFM.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/DecoderBase.cpp b/RX_FSK/src/DecoderBase.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/DecoderBase.h b/RX_FSK/src/DecoderBase.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/DefaultFonts.c b/RX_FSK/src/DefaultFonts.c old mode 100644 new mode 100755 diff --git a/RX_FSK/src/Display.cpp b/RX_FSK/src/Display.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/Display.h b/RX_FSK/src/Display.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/M10M20.cpp b/RX_FSK/src/M10M20.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/M10M20.h b/RX_FSK/src/M10M20.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/MP3H.cpp b/RX_FSK/src/MP3H.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/MP3H.h b/RX_FSK/src/MP3H.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/RS41.cpp b/RX_FSK/src/RS41.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/RS41.h b/RX_FSK/src/RS41.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/RS92.cpp b/RX_FSK/src/RS92.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/RS92.h b/RX_FSK/src/RS92.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/SX1278FSK.cpp b/RX_FSK/src/SX1278FSK.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/SX1278FSK.h b/RX_FSK/src/SX1278FSK.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/Scanner.cpp b/RX_FSK/src/Scanner.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/Scanner.h b/RX_FSK/src/Scanner.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/ShFreqImport.cpp b/RX_FSK/src/ShFreqImport.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/ShFreqImport.h b/RX_FSK/src/ShFreqImport.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/Sonde.cpp b/RX_FSK/src/Sonde.cpp old mode 100644 new mode 100755 index df364a5..ff6d3b5 --- a/RX_FSK/src/Sonde.cpp +++ b/RX_FSK/src/Sonde.cpp @@ -344,9 +344,9 @@ void Sonde::defaultConfig() { strcpy(config.mqtt.prefix, "rdz_sonde_server/"); config.mqtt.report_interval = 60000; - config.ss.active = 0; - config.ss.port = 1883; - strcpy(config.ss.host, "224.0.0.0"); + config.ss.active = 1; + strcpy(config.ss.host, "255.255.255.255"); + config.ss.port = 62655; } extern struct st_configitems config_list[]; diff --git a/RX_FSK/src/Sonde.h b/RX_FSK/src/Sonde.h old mode 100644 new mode 100755 index df7a993..b86ae35 --- a/RX_FSK/src/Sonde.h +++ b/RX_FSK/src/Sonde.h @@ -242,7 +242,7 @@ struct st_sondehub { char callsign[64]; char antenna[64]; char email[64]; - int fiactive; + int fiactive; int fiinterval; int fimaxdist; double fimaxage; @@ -305,7 +305,7 @@ typedef struct st_rdzconfig { int noisefloor; // for spectrum display char mdnsname[15]; // mDNS-Name, defaults to rdzsonde // receiver configuration - int freqofs; // frequency offset (tuner config = rx frequency + freqofs) in Hz + int freqofs; // frequency offset (tuner config = rx frequency + freqofs) in Hz struct st_rs41config rs41; // configuration options specific for RS41 receiver struct st_rs92config rs92; struct st_dfmconfig dfm; @@ -315,14 +315,14 @@ typedef struct st_rdzconfig { // data feed configuration // for now, one feed for each type is enough, but might get extended to more? char call[10]; // APRS callsign - int passcode; // APRS passcode + int passcode; // APRS passcode int chase; char objcall[10]; // APRS object call (for wettersonde.net) char beaconsym[5]; // APRS beacon symbol char comment[32]; struct st_axudpinfo udpfeed; // target for AXUDP messages - struct st_aprsinfo tcpfeed; // target for APRS-IS TCP connections - struct st_kisstnc kisstnc; // target for KISS TNC (via TCP, mainly for APRSdroid) + struct st_aprsinfo tcpfeed; // target for APRS-IS TCP connections + struct st_kisstnc kisstnc; // target for KISS TNC (via TCP, mainly for APRSdroid) struct st_mqtt mqtt; struct st_sondehub sondehub; struct st_cm cm; @@ -342,7 +342,6 @@ struct st_configitems { extern struct st_configitems config_list[]; extern const int N_CONFIG; - #define MAXSONDE 50 extern int fingerprintValue[]; @@ -398,13 +397,12 @@ public: void updateDisplayIP(); void updateDisplay(); void clearDisplay(); - void dispsavectlON(); - void dispsavectlOFF(int rxactive); + void dispsavectlON(); + void dispsavectlOFF(int rxactive); void setIP(String ip, bool isAP); }; extern Sonde sonde; -#endif - +#endif \ No newline at end of file diff --git a/RX_FSK/src/aprs.cpp b/RX_FSK/src/aprs.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/aprs.h b/RX_FSK/src/aprs.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/autodetect-infos b/RX_FSK/src/autodetect-infos old mode 100644 new mode 100755 diff --git a/RX_FSK/src/colors.h b/RX_FSK/src/colors.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/conn-action.txt b/RX_FSK/src/conn-action.txt old mode 100644 new mode 100755 diff --git a/RX_FSK/src/conn-aprs.cpp b/RX_FSK/src/conn-aprs.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/conn-aprs.h b/RX_FSK/src/conn-aprs.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/conn-chasemapper.cpp b/RX_FSK/src/conn-chasemapper.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/conn-chasemapper.h b/RX_FSK/src/conn-chasemapper.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/conn-mqtt.cpp b/RX_FSK/src/conn-mqtt.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/conn-mqtt.h b/RX_FSK/src/conn-mqtt.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/conn-sdcard.cpp b/RX_FSK/src/conn-sdcard.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/conn-sdcard.h b/RX_FSK/src/conn-sdcard.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/conn-sondehub.cpp b/RX_FSK/src/conn-sondehub.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/conn-sondehub.h b/RX_FSK/src/conn-sondehub.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/conn-sondeseeker.cpp b/RX_FSK/src/conn-sondeseeker.cpp old mode 100644 new mode 100755 index 5e53916..80b3e8f --- a/RX_FSK/src/conn-sondeseeker.cpp +++ b/RX_FSK/src/conn-sondeseeker.cpp @@ -3,6 +3,8 @@ #include "conn-sondeseeker.h" #include +#include "posinfo.h" +#include "json.h" extern const char *sondeTypeStrSH[]; extern WiFiUDP udp; @@ -18,52 +20,16 @@ void ConnSondeseeker::netshutdown() { void ConnSondeseeker::updateSonde(SondeInfo *si) { char buf[1024]; - struct tm tim; - if(!sonde.config.ss.active) return; + strcpy(buf, "{\"sonde\": {"); + sonde2json(buf + strlen(buf), 1024, si); + strcat(buf, "}}"); - time_t t = si->d.time; - gmtime_r(&t, &tim); - uint8_t realtype = si->type; - if (TYPE_IS_METEO(realtype)) { - realtype = si->d.subtype == 1 ? STYPE_M10 : STYPE_M20; - } - char prefix[10]; - if(realtype == STYPE_RS41) { - prefix[0] = 0; - } - else { - strncpy(prefix, sondeTypeStrSH[realtype], 10); - strcat(prefix, "-"); - } - sprintf(buf, "{ \"type\": \"PAYLOAD_SUMMARY\"," - "\"callsign\": \"%s%s\"," - "\"latitude\": %.5f," - "\"longitude\": %.5f," - "\"altitude\": %d," - "\"speed\": %d," - "\"heading\": %d," - "\"time\": \"%02d:%02d:%02d\"," - "\"model\": \"%s\"," - "\"freq\": \"%.3f MHz\"", - prefix, - si->d.ser, - si->d.lat, - si->d.lon, - (int)si->d.alt, - (int)(si->d.hs * 1.9438445), // m/s into knots - (int)si->d.dir, - tim.tm_hour, tim.tm_min, tim.tm_sec, - sondeTypeStrSH[realtype], - si->freq); - if( !isnan(si->d.temperature) ) { - sprintf(buf + strlen(buf), ", \"temp\": %.1f", si->d.temperature); - } - strcat(buf, "}"); Serial.printf("Sending SondeSeeker json: %s\n", buf); udp.beginPacket(sonde.config.ss.host, sonde.config.ss.port); udp.write((const uint8_t *)buf, strlen(buf)); - udp.endPacket(); + udp.endPacket(); + } void ConnSondeseeker::updateStation(PosInfo *pi) { diff --git a/RX_FSK/src/conn-sondeseeker.h b/RX_FSK/src/conn-sondeseeker.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/conn-system.cpp b/RX_FSK/src/conn-system.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/conn-system.h b/RX_FSK/src/conn-system.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/conn.cpp b/RX_FSK/src/conn.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/conn.h b/RX_FSK/src/conn.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/fonts/FreeMono12pt7b.h b/RX_FSK/src/fonts/FreeMono12pt7b.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/fonts/FreeMono12pt8b.h b/RX_FSK/src/fonts/FreeMono12pt8b.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/fonts/FreeMono9pt7b.h b/RX_FSK/src/fonts/FreeMono9pt7b.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/fonts/FreeMono9pt8b.h b/RX_FSK/src/fonts/FreeMono9pt8b.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/fonts/FreeSans12pt7b.h b/RX_FSK/src/fonts/FreeSans12pt7b.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/fonts/FreeSans12pt8b.h b/RX_FSK/src/fonts/FreeSans12pt8b.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/fonts/FreeSans18pt7b.h b/RX_FSK/src/fonts/FreeSans18pt7b.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/fonts/FreeSans18pt8b.h b/RX_FSK/src/fonts/FreeSans18pt8b.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/fonts/FreeSans9pt7b.h b/RX_FSK/src/fonts/FreeSans9pt7b.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/fonts/FreeSans9pt8b.h b/RX_FSK/src/fonts/FreeSans9pt8b.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/fonts/Picopixel.h b/RX_FSK/src/fonts/Picopixel.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/fonts/Terminal11x16.h b/RX_FSK/src/fonts/Terminal11x16.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/fonts/fonts.cpp b/RX_FSK/src/fonts/fonts.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/fonts/gfxfont.h b/RX_FSK/src/fonts/gfxfont.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/geteph.cpp b/RX_FSK/src/geteph.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/geteph.h b/RX_FSK/src/geteph.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/json.cpp b/RX_FSK/src/json.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/json.h b/RX_FSK/src/json.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/library.json b/RX_FSK/src/library.json old mode 100644 new mode 100755 diff --git a/RX_FSK/src/logger.cpp b/RX_FSK/src/logger.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/logger.h b/RX_FSK/src/logger.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/nav_gps_vel.cpp b/RX_FSK/src/nav_gps_vel.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/nav_gps_vel.h b/RX_FSK/src/nav_gps_vel.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/pmu.cpp b/RX_FSK/src/pmu.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/pmu.h b/RX_FSK/src/pmu.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/posinfo.cpp b/RX_FSK/src/posinfo.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/posinfo.h b/RX_FSK/src/posinfo.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/rs92gps.cpp b/RX_FSK/src/rs92gps.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/rs92gps.h b/RX_FSK/src/rs92gps.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/rsc.cpp b/RX_FSK/src/rsc.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/rsc.h b/RX_FSK/src/rsc.h old mode 100644 new mode 100755 diff --git a/RX_FSK/src/rsc_decode.cpp b/RX_FSK/src/rsc_decode.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/user.cpp b/RX_FSK/src/user.cpp old mode 100644 new mode 100755 diff --git a/RX_FSK/src/user.h b/RX_FSK/src/user.h old mode 100644 new mode 100755 diff --git a/RX_FSK/version.h b/RX_FSK/version.h old mode 100644 new mode 100755 diff --git a/scripts/gen_esp32part.py b/scripts/gen_esp32part.py old mode 100644 new mode 100755