bugfix sh import

pull/175/head
Hansi, dl9rdz 2021-09-18 20:29:14 +02:00
rodzic ae1e9e7c48
commit 22d492711a
5 zmienionych plików z 17 dodań i 21 usunięć

Wyświetl plik

@ -310,13 +310,11 @@ const char *createQRGForm() {
const char *handleQRGPost(AsyncWebServerRequest *request) { const char *handleQRGPost(AsyncWebServerRequest *request) {
char label[10]; char label[10];
// parameters: a_i, f_1, t_i (active/frequency/type) // parameters: a_i, f_1, t_i (active/frequency/type)
#if 1
File file = SPIFFS.open("/qrg.txt", "w"); File file = SPIFFS.open("/qrg.txt", "w");
if (!file) { if (!file) {
Serial.println("Error while opening '/qrg.txt' for writing"); Serial.println("Error while opening '/qrg.txt' for writing");
return "Error while opening '/qrg.txt' for writing"; return "Error while opening '/qrg.txt' for writing";
} }
#endif
Serial.println("Handling post request"); Serial.println("Handling post request");
#if 0 #if 0
int params = request->params(); int params = request->params();
@ -349,9 +347,7 @@ const char *handleQRGPost(AsyncWebServerRequest *request) {
} }
file.close(); file.close();
Serial.println("Channel setup finished"); Serial.println("Channel setup finished\n");
Serial.println();
delay(500);
setupChannelList(); setupChannelList();
return ""; return "";
} }
@ -2283,16 +2279,8 @@ void setup()
// == setup default channel list if qrg.txt read fails =========== // // == setup default channel list if qrg.txt read fails =========== //
setupChannelList();
#if 0
sonde.clearSonde(); sonde.clearSonde();
sonde.addSonde(402.700, STYPE_RS41); setupChannelList();
sonde.addSonde(405.700, STYPE_RS41);
sonde.addSonde(405.900, STYPE_RS41);
sonde.addSonde(403.450, STYPE_DFM09);
Serial.println("No channel config file, using defaults!");
Serial.println();
#endif
/// not here, done by sonde.setup(): rs41.setup(); /// not here, done by sonde.setup(): rs41.setup();
// == setup default channel list if qrg.txt read fails =========== // // == setup default channel list if qrg.txt read fails =========== //
#ifndef DISABLE_SX1278 #ifndef DISABLE_SX1278
@ -3580,7 +3568,7 @@ void sondehub_send_data(WiFiClient * client, SondeInfo * s, struct st_sondehub *
// If something that looks like a valid HTTP response is received, we are ready to send the next data item // If something that looks like a valid HTTP response is received, we are ready to send the next data item
if (shState == SH_CONN_WAITACK && cnt > 11 && strncmp(rs_msg, "HTTP/1", 6) == 0) { if (shState == SH_CONN_WAITACK && cnt > 11 && strncmp(rs_msg, "HTTP/1", 6) == 0) {
shState = SH_CONN_IDLE; shState = SH_CONN_IDLE;
if ( sonde.config.sondehub.fiactive) if ( sonde.config.sondehub.fiactive && shImport==0 )
sondehub_send_fimport(client); sondehub_send_fimport(client);
} }
} }

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 <100)" ], [ "maxsonde", "Maxumum number of QRG entries (must be &leg;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,6 +499,7 @@ 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\n", subframeNumber, s->valid);
// 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

Wyświetl plik

@ -80,6 +80,10 @@ void Sonde::defaultConfig() {
sondeList = (SondeInfo *)malloc((MAXSONDE+1)*sizeof(SondeInfo)); sondeList = (SondeInfo *)malloc((MAXSONDE+1)*sizeof(SondeInfo));
memset(sondeList, 0, (MAXSONDE+1)*sizeof(SondeInfo)); memset(sondeList, 0, (MAXSONDE+1)*sizeof(SondeInfo));
for(int i=0; i<(MAXSONDE+1); i++) {
sondeList[i].freq=400;
sondeList[i].type=STYPE_RS41;
}
config.touch_thresh = 70; config.touch_thresh = 70;
config.led_pout = -1; config.led_pout = -1;
config.power_pout = -1; config.power_pout = -1;
@ -353,14 +357,17 @@ void Sonde::addSonde(float frequency, SondeType type, int active, char *launchsi
Serial.printf("Adding %f - %d - %d - %s\n", frequency, type, active, launchsite); Serial.printf("Adding %f - %d - %d - %s\n", frequency, type, active, launchsite);
// reset all data if type or frequency has changed // reset all data if type or frequency has changed
if(type != sondeList[nSonde].type || frequency != sondeList[nSonde].freq) { if(type != sondeList[nSonde].type || frequency != sondeList[nSonde].freq) {
//TODO: Check for potential race condition with decoders
// do not clear extra while decoder is potentiall still accessing it!
if(sondeList[nSonde].extra) free(sondeList[nSonde].extra);
memset(&sondeList[nSonde], 0, sizeof(SondeInfo)); memset(&sondeList[nSonde], 0, sizeof(SondeInfo));
sondeList[nSonde].type = type;
sondeList[nSonde].typestr[0] = 0;
sondeList[nSonde].freq = frequency;
memcpy(sondeList[nSonde].rxStat, "\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3", 18); // unknown/undefined
} }
sondeList[nSonde].type = type;
sondeList[nSonde].typestr[0] = 0;
sondeList[nSonde].freq = frequency;
sondeList[nSonde].active = active; sondeList[nSonde].active = active;
strncpy(sondeList[nSonde].launchsite, launchsite, 17); strncpy(sondeList[nSonde].launchsite, launchsite, 17);
memcpy(sondeList[nSonde].rxStat, "\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3", 18); // unknown/undefined
nSonde++; nSonde++;
} }

Wyświetl plik

@ -274,7 +274,7 @@ extern struct st_configitems config_list[];
extern const int N_CONFIG; extern const int N_CONFIG;
#define MAXSONDE 99 #define MAXSONDE 50
extern int fingerprintValue[]; extern int fingerprintValue[];
extern const char *fingerprintText[]; extern const char *fingerprintText[];