From 2eb6a379b911f84356ab79a9af135e2e8963e75f Mon Sep 17 00:00:00 2001 From: "Hansi, dl9rdz" Date: Sun, 3 Nov 2019 17:59:38 +0100 Subject: [PATCH] unspukify --- RX_FSK/RX_FSK.ino | 19 ++++++++++++++----- RX_FSK/version.h | 2 +- libraries/SondeLib/Display.cpp | 7 +++++-- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/RX_FSK/RX_FSK.ino b/RX_FSK/RX_FSK.ino index 918fc19..93cbecd 100644 --- a/RX_FSK/RX_FSK.ino +++ b/RX_FSK/RX_FSK.ino @@ -70,6 +70,15 @@ static int currentDisplay = 1; // timestamp when spectrum display was activated static unsigned long specTimer; +// Read line from file, independent of line termination (LF or CR LF) +String readLine(Stream &stream) { + String s = stream.readStringUntil('\n'); + int len = s.length(); + if(len==0) return s; + if(s.charAt(len-1)=='\r') s.remove(len-1); + return s; +} + // Replaces placeholder with LED state value String processor(const String& var) { Serial.println(var); @@ -131,7 +140,7 @@ void setupChannelList() { sonde.clearSonde(); Serial.println("Reading channel config:"); while (file.available()) { - String line = file.readStringUntil('\n'); + String line = readLine(file); //file.readStringUntil('\n'); String sitename; if (!file.available()) break; if (line[0] == '#') continue; @@ -261,10 +270,10 @@ void setupWifiList() { int i = 0; while (file.available()) { - String line = file.readStringUntil('\n'); + String line = readLine(file); //file.readStringUntil('\n'); if (!file.available()) break; networks[i].id = line; - networks[i].pw = file.readStringUntil('\n'); + networks[i].pw = readLine(file); // file.readStringUntil('\n'); i++; } nNetworks = i; @@ -377,7 +386,7 @@ void setupConfigData() { return; } while (file.available()) { - String line = file.readStringUntil('\n'); + String line = readLine(file); //file.readStringUntil('\n'); sonde.setConfig(line.c_str()); } } @@ -657,7 +666,7 @@ const char *createEditForm(String filename) { strcat(ptr, "\" method=\"post\">"); strcat(ptr, ""); diff --git a/RX_FSK/version.h b/RX_FSK/version.h index 3d53906..b31a5d2 100644 --- a/RX_FSK/version.h +++ b/RX_FSK/version.h @@ -1,4 +1,4 @@ const char *version_name = "rdzTTGOsonde"; -const char *version_id = "devel20191102"; +const char *version_id = "devel20191103"; const int SPIFFS_MAJOR=2; const int SPIFFS_MINOR=1; diff --git a/libraries/SondeLib/Display.cpp b/libraries/SondeLib/Display.cpp index 5d86097..3bdfef3 100644 --- a/libraries/SondeLib/Display.cpp +++ b/libraries/SondeLib/Display.cpp @@ -6,6 +6,8 @@ #include "Display.h" #include "Sonde.h" +extern String readLine(Stream &stream); + extern const char *version_name; extern const char *version_id; @@ -703,11 +705,12 @@ static uint8_t ACTION(char c) { return ACT_NONE; } + int Display::countEntries(File f) { int pos = f.position(); int n = 0; while(1) { - String line = f.readStringUntil('\n'); + String line = readLine(f); //f.readStringUntil('\n'); line.trim(); const char *c=line.c_str(); if(*c=='#') continue; @@ -741,7 +744,7 @@ void Display::initFromFile() { while(d.available()) { Serial.printf("Unused stack: %d\n", uxTaskGetStackHighWaterMark(0)); const char *ptr; - String line = d.readStringUntil('\n'); + String line = readLine(d); // d.readStringUntil('\n'); line.trim(); const char *s = line.c_str(); Serial.printf("Line: '%s'\n", s);