LittleFS, and some mprovements

This commit is contained in:
Yuri Trikoz
2020-06-20 22:51:14 +03:00
parent db5b8d7258
commit 6fbd555474
22 changed files with 870 additions and 890 deletions

View File

@@ -1,42 +1,47 @@
#include "Utils/FileUtils.h"
String readFileString(const String& filename, const String& str_to_found) {
String res = "failed";
auto file = SPIFFS.open("/" + filename, "r");
if (file && file.find(str_to_found.c_str())) {
#include <LittleFS.h>
String readFileString(const String filename, const String to_find) {
String res = "Failed";
auto file = LittleFS.open("/" + filename, "r");
if (!file) {
return "Failed";
}
if (file.find(to_find.c_str())) {
res = file.readStringUntil('\n');
}
file.close();
return res;
}
String addFile(const String& fileName, const String& str) {
auto file = SPIFFS.open("/" + fileName, "a");
String addFile(const String filename, const String str) {
auto file = LittleFS.open("/" + filename, "a");
if (!file) {
return "Failed to open file";
return "Failed";
}
file.println(str);
file.close();
return "Write sucсess";
}
String writeFile(const String& fileName, const String& str) {
auto file = SPIFFS.open("/" + fileName, "w");
String writeFile(const String filename, const String str) {
auto file = LittleFS.open("/" + filename, "w");
if (!file) {
return "Failed to open file";
return "Failed";
}
file.print(str);
file.close();
return "Write sucсess";
}
String readFile(const String& fileName, size_t len) {
File file = SPIFFS.open("/" + fileName, "r");
String readFile(const String filename, size_t max_size) {
auto file = LittleFS.open("/" + filename, "r");
if (!file) {
return "Failed";
}
size_t size = file.size();
if (size > len) {
if (size > max_size) {
file.close();
return "Large";
}
@@ -45,8 +50,8 @@ String readFile(const String& fileName, size_t len) {
return temp;
}
String sizeFile(const String& fileName) {
auto file = SPIFFS.open("/" + fileName, "r");
String getFileSize(const String filename) {
auto file = LittleFS.open("/" + filename, "r");
if (!file) {
return "Failed";
}

View File

@@ -3,9 +3,6 @@
#include "Global.h"
#include "Utils\StringUtils.h"
static const char* TIME_FORMAT PROGMEM = "%2d:%2d:%2d";
static const char* TIME_FORMAT_WITH_DAYS PROGMEM = "%dd %2d:%2d";
void Time_Init() {
ts.add(
TIME_SYNC, 30000, [&](void*) {
@@ -14,33 +11,9 @@ void Time_Init() {
nullptr, true);
}
const String prettyMillis(unsigned long time_ms) {
unsigned long tmp = time_ms;
unsigned long seconds;
unsigned long minutes;
unsigned long hours;
unsigned long days;
seconds = tmp % 60;
tmp = tmp / 60;
minutes = tmp % 60;
tmp = tmp / 60;
hours = tmp % 24;
days = tmp / 24;
char buf[16];
if (days) {
sprintf_P(buf, TIME_FORMAT, hours, minutes, seconds);
} else {
sprintf_P(buf, TIME_FORMAT_WITH_DAYS, days, hours, minutes);
}
return String(buf);
}
void time_check() {
if (getTimeUnix() == "failed") {
Serial.println("[i] Time is not synchronized, start synchronization");
Serial.println("[I] Trying to obtain time");
reconfigTime();
}
}
@@ -50,7 +23,7 @@ void reconfigTime() {
String ntp = jsonReadStr(configSetupJson, "ntp");
configTime(0, 0, ntp.c_str());
int i = 0;
Serial.println("[i] Awaiting for time ");
Serial.println("[I] Start time sync");
#ifdef ESP32
struct tm timeinfo;
while (!getLocalTime(&timeinfo) && i <= 4) {
@@ -67,15 +40,15 @@ void reconfigTime() {
//}
#endif
if (getTimeUnix() != "failed") {
Serial.print("[V] Time synchronized = ");
Serial.print(GetDataDigital());
Serial.print(" ");
Serial.print("[V] Got time = ");
Serial.print(getDateDigitalFormated());
Serial.print(' ');
Serial.println(getTime());
} else {
Serial.println("[E] Time server or internet connection error, will try again in 30 sec");
Serial.println("[E] Failed to obtain time, retry in 30 sec");
}
} else {
Serial.println("[E] Get time impossible, no wifi connection");
Serial.println("[E] Unable to obtain time");
}
}
@@ -105,7 +78,7 @@ String getTime() {
return Time; // Возврашаем полученное время
}
String GetTimeWOsec() {
String getTimeWOsec() {
time_t now = time(nullptr); // получаем время с помощью библиотеки time.h
int zone = 3600 * jsonReadStr(configSetupJson, "timezone").toInt();
now = now + zone;
@@ -116,8 +89,7 @@ String GetTimeWOsec() {
return Time; // Возврашаем полученное время
}
// Получение даты
String GetDate() {
String getDate() {
time_t now = time(nullptr); // получаем время с помощью библиотеки time.h
int zone = 3600 * jsonReadStr(configSetupJson, "timezone").toInt();
now = now + zone;
@@ -130,8 +102,8 @@ String GetDate() {
return Data; // Возврашаем полученную дату
}
String GetDataDigital() {
String date = GetDate();
String getDateDigitalFormated() {
String date = getDate();
date = deleteBeforeDelimiter(date, " ");
@@ -167,4 +139,31 @@ int timeToMin(String Time) {
Time = deleteBeforeDelimiter(Time, ":"); // Теперь здесь минуты секунды
min += selectToMarker(Time, ":").toInt(); // Добавим секунды из полных минут
return min;
}
}
static const char* TIME_FORMAT PROGMEM = "%2d:%2d:%2d";
static const char* TIME_FORMAT_WITH_DAYS PROGMEM = "%dd %2d:%2d";
const String prettyMillis(unsigned long time_ms) {
unsigned long tmp = time_ms;
unsigned long seconds;
unsigned long minutes;
unsigned long hours;
unsigned long days;
seconds = tmp % 60;
tmp = tmp / 60;
minutes = tmp % 60;
tmp = tmp / 60;
hours = tmp % 24;
days = tmp / 24;
char buf[16];
if (days) {
sprintf_P(buf, TIME_FORMAT, hours, minutes, seconds);
} else {
sprintf_P(buf, TIME_FORMAT_WITH_DAYS, days, hours, minutes);
}
return String(buf);
}