From 8df0859f1c8669b04e830a80b8a47a6732c8e1d1 Mon Sep 17 00:00:00 2001 From: "Hansi, dl9rdz" Date: Sun, 14 Mar 2021 18:12:07 +0100 Subject: [PATCH] gps init bugfix, less debug messages, gps for android w/o gps (+GPGST parser), merge kml live view --- RX_FSK/RX_FSK.ino | 530 ++++++++++++++------------- RX_FSK/data/config.txt | 2 +- RX_FSK/version.h | 2 +- libraries/SondeLib/Display.cpp | 15 +- libraries/SondeLib/Display.h | 1 + libraries/SondeLib/RS41.cpp | 4 +- libraries/SondeLib/Sonde.cpp | 39 +- libraries/SondeLib/TFT22_ILI9225.cpp | 6 +- libraries/SondeLib/TFT22_ILI9225.h | 5 +- 9 files changed, 324 insertions(+), 280 deletions(-) diff --git a/RX_FSK/RX_FSK.ino b/RX_FSK/RX_FSK.ino index 07bacfd..1738764 100644 --- a/RX_FSK/RX_FSK.ino +++ b/RX_FSK/RX_FSK.ino @@ -27,9 +27,9 @@ int e; enum MainState { ST_DECODER, ST_SPECTRUM, ST_WIFISCAN, ST_UPDATE, ST_TOUCHCALIB }; static MainState mainState = ST_WIFISCAN; // ST_WIFISCAN; +const char *mainStateStr[5] = {"DECODER", "SPECTRUM", "WIFISCAN", "UPDATE", "TOUCHCALIB" }; AsyncWebServer server(80); -AsyncWebSocket ws("/ws"); AXP20X_Class axp; #define PMU_IRQ 35 @@ -215,7 +215,7 @@ void setupChannelList() { file.close(); } -const char *HTMLHEAD=" "; +const char *HTMLHEAD = " "; void HTMLBODY(char *ptr, const char *which) { strcat(ptr, "
"); -/* - strcat(ptr, ""); -*/ - HTMLBODY(ptr, "qrg.html"); + /* + strcat(ptr, ""); + */ + HTMLBODY(ptr, "qrg.html"); //strcat(ptr, "
"); strcat(ptr, "
IDActiveFreqLaunchsiteMode
"); for (int i = 0; i < sonde.config.maxsonde; i++) { @@ -274,7 +274,7 @@ const char *createQRGForm() { i + 1, i >= sonde.nSonde ? 400.000 : sonde.sondeList[i].freq, i + 1, i >= sonde.nSonde ? " " : sonde.sondeList[i].launchsite, i + 1, i >= sonde.nSonde ? 2 : sondeTypeChar[sonde.sondeList[i].type] ); - //i + 1, s.c_str()); + //i + 1, s.c_str()); } strcat(ptr, "
IDActiveFreqLaunchsiteMode
"); //
"); @@ -456,7 +456,7 @@ void addSondeStatus(char *ptr, int i) sprintf(ptr + strlen(ptr), "radiosondy.info - ", s->id); sprintf(ptr + strlen(ptr), "OSM - ", s->lat, s->lon); sprintf(ptr + strlen(ptr), "Google", s->lat, s->lon); - + strcat(ptr, "

\n"); } @@ -545,7 +545,7 @@ struct st_configitems config_list[] = { {"tcp.port", "APRS TCP Port", 0, &sonde.config.tcpfeed.port}, {"tcp.idformat", "DFM ID Format", -2, &sonde.config.tcpfeed.idformat}, {"tcp.highrate", "Rate limit", 0, &sonde.config.tcpfeed.highrate}, - + /* MQTT */ {"mqtt.active", "MQTT Active (needs reboot)", 0, &sonde.config.mqtt.active}, {"mqtt.id", "MQTT client ID", 63, &sonde.config.mqtt.id}, @@ -742,7 +742,9 @@ const char *createControlForm() { strcat(ptr, "\" value=\""); strcat(ptr, ctrllabel[i]); strcat(ptr, "\">"); - if(i==3) { strcat(ptr, "

"); } + if (i == 3) { + strcat(ptr, "

"); + } } HTMLBODYEND(ptr); Serial.printf("Control form: size=%d bytes\n", strlen(message)); @@ -794,40 +796,40 @@ const char *handleControlPost(AsyncWebServerRequest *request) { int streamEditForm(int &state, File &file, String filename, char *buffer, size_t maxlen, size_t index) { Serial.printf("streamEdit: state=%d max:%d idx:%d\n", state, maxlen, index); - int i=0; - switch(state) { + int i = 0; + switch (state) { case 0: // header - { - // we optimistically assume that on first invocation, maxlen is large enough to handle the header..... - strncpy(buffer, "Editor

Edit: ", maxlen); - i = strlen(buffer); - strncpy(buffer+i, filename.c_str(), maxlen-i); - i += strlen(buffer+i); - strncpy(buffer+i, "