Merge branch 'devel' of github.com:mycarda/rdz_ttgo_sonde into devel

pull/183/head
michael carter 2021-09-21 12:24:44 +01:00
commit de41088270
5 zmienionych plików z 20 dodań i 15 usunięć

Wyświetl plik

@ -47,7 +47,7 @@ install:
- arduino --pref "build.path=$PWD/build" --save-prefs - arduino --pref "build.path=$PWD/build" --save-prefs
- arduino --install-boards esp32:esp32:1.0.6 --save-prefs - arduino --install-boards esp32:esp32:1.0.6 --save-prefs
- ln -s $PWD/libraries/SondeLib /usr/local/share/arduino/libraries/SondeLib - ln -s $PWD/libraries/SondeLib /usr/local/share/arduino/libraries/SondeLib
- arduino --install-library "U8g2" - arduino --install-library "U8g2:2.29.11"
- arduino --install-library "MicroNMEA" - arduino --install-library "MicroNMEA"
- arduino --install-library "GFX Library for Arduino" - arduino --install-library "GFX Library for Arduino"
script: script:

Wyświetl plik

@ -2051,7 +2051,7 @@ void setup()
{ {
char buf[12]; char buf[12];
// Open serial communications and wait for port to open: // Open serial communications and wait for port to open:
Serial.begin(921600 /*115200*/); Serial.begin(/*921600 */115200);
for (int i = 0; i < 39; i++) { for (int i = 0; i < 39; i++) {
int v = gpio_get_level((gpio_num_t)i); int v = gpio_get_level((gpio_num_t)i);
Serial.printf("%d:%d ", i, v); Serial.printf("%d:%d ", i, v);
@ -2428,6 +2428,7 @@ void loopDecoder() {
i = 0; i = 0;
rtc_wdt_protect_off(); rtc_wdt_protect_off();
rtc_wdt_disable(); rtc_wdt_disable();
// Requires serial speed 921600, otherweise interrupt wdt will occur
heap_caps_dump(MALLOC_CAP_8BIT); heap_caps_dump(MALLOC_CAP_8BIT);
} }
#endif #endif
@ -3357,12 +3358,6 @@ void loop() {
} }
#endif #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 #if FEATURE_SONDEHUB
@ -3471,6 +3466,7 @@ void sondehub_station_update(WiFiClient *client, struct st_sondehub *conf) {
Serial.println(strlen(data)); Serial.println(strlen(data));
Serial.println(data); Serial.println(data);
Serial.println("Waiting for response"); Serial.println("Waiting for response");
// TODO: better do this asyncrhonously
String response = client->readString(); String response = client->readString();
Serial.println(response); Serial.println(response);
Serial.println("Response done..."); Serial.println("Response done...");
@ -3529,7 +3525,6 @@ void sondehub_reply_handler(WiFiClient *client) {
} }
} }
} }
// send import requests if needed // send import requests if needed
if (sonde.config.sondehub.fiactive) { if (sonde.config.sondehub.fiactive) {
if (shImport == 2) { if (shImport == 2) {
@ -3546,6 +3541,13 @@ void sondehub_reply_handler(WiFiClient *client) {
sondehub_send_fimport(&shclient); 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) { void sondehub_send_fimport(WiFiClient * client) {
@ -3714,8 +3716,8 @@ void sondehub_send_data(WiFiClient * client, SondeInfo * s, struct st_sondehub *
} }
// Only send burst timer if RS41 and not 0 // Only send burst timer if RS41 and not 0
if ((realtype == STYPE_RS41) && ((int)s->burstKT != 0)) { if ((realtype == STYPE_RS41) && ((int)s->countKT != 0)) {
sprintf(w, "\"burst_timer\": %d,", (int)s->burstKT); sprintf(w, "\"burst_timer\": %d,", (int)s->countKT);
w += strlen(w); w += strlen(w);
} }

Wyświetl plik

@ -4,7 +4,7 @@ var cfgs = [
[ "mdnsname", "Network mDNS name"], [ "mdnsname", "Network mDNS name"],
[ "ephftp", "FTP server for ephemeris data (RS92 decoder)"], [ "ephftp", "FTP server for ephemeris data (RS92 decoder)"],
[ "debug", "Debug mode (0/1)" ], [ "debug", "Debug mode (0/1)" ],
[ "maxsonde", "Maxumum number of QRG entries (must be &leg;50)" ], [ "maxsonde", "Maximum number of QRG entries (must be &leq; 50)" ],
[ "rxlat", "Receiver fixed latitude"], [ "rxlat", "Receiver fixed latitude"],
[ "rxlon", "Receiver fixed longitude"], [ "rxlon", "Receiver fixed longitude"],
[ "rxalt", "Receiver fixed altitude"], [ "rxalt", "Receiver fixed altitude"],

Wyświetl plik

@ -499,7 +499,9 @@ void ProcessSubframe( byte *subframeBytes, int subframeNumber ) {
} }
memcpy( s->rawData+16*subframeNumber, subframeBytes, 16); memcpy( s->rawData+16*subframeNumber, subframeBytes, 16);
s->valid |= (1ULL << subframeNumber); s->valid |= (1ULL << subframeNumber);
Serial.printf("subframe %d; valid: %x%032x\n", subframeNumber, (uint32_t)(s->valid>>32), (uint32_t)s->valid); Serial.printf("subframe %d; valid: %x%08x\n", subframeNumber, (uint32_t)(s->valid>>32), (uint32_t)s->valid);
for(int i=0; i<16; i++) { Serial.printf("%02x[%c]", subframeBytes[i],( subframeBytes[i]>20 && subframeBytes[i]<127)? subframeBytes[i] : '.'); }
Serial.println("");
// subframeReceived[subframeNumber] = true; // mark this row of the total subframe as complete // subframeReceived[subframeNumber] = true; // mark this row of the total subframe as complete
#if 0 #if 0
@ -861,11 +863,12 @@ int RS41::waitRXcomplete() {
int RS41::getSubtype(char *buf, int buflen, SondeInfo *si) { int RS41::getSubtype(char *buf, int buflen, SondeInfo *si) {
struct subframeBuffer *sf = (struct subframeBuffer *)si->extra; struct subframeBuffer *sf = (struct subframeBuffer *)si->extra;
if(!sf) return -1; if(!sf) return -1;
if( (sf->valid & (3<<21)) != (3<<21) ) return -1; // or 1 instead of 3 for the first 8 chars only, as in autorx? if( ( (sf->valid>>0x21) &3) != 3 ) return -1; // or 1 instead of 3 for the first 8 chars only, as in autorx?
if(buflen>11) buflen=11; // then buflen should be capped at 9 (8+trailing \0) if(buflen>11) buflen=11; // then buflen should be capped at 9 (8+trailing \0)
strncpy(buf, sf->value.names.variant, buflen); strncpy(buf, sf->value.names.variant, buflen);
buf[buflen-1]=0; buf[buflen-1]=0;
if(*buf==0) return -1; if(*buf==0) return -1;
Serial.printf("subframe valid: %x%08x; subtype=%s\n", (uint32_t)(sf->valid>>32), (uint32_t)sf->valid, buf);
return 0; return 0;
} }

Wyświetl plik

@ -1,4 +1,4 @@
const char *version_name = "rdzTTGOsonde"; const char *version_name = "rdzTTGOsonde";
const char *version_id = "devel20210919"; const char *version_id = "devel20210920";
const int SPIFFS_MAJOR=2; const int SPIFFS_MAJOR=2;
const int SPIFFS_MINOR=16; const int SPIFFS_MINOR=16;