mirror of
https://github.com/s00500/ESPUI.git
synced 2024-11-21 22:50:55 +00:00
Many LittleFS related changes/fixes
This commit is contained in:
parent
309e53dd1e
commit
09a550e614
264
src/ESPUI.cpp
264
src/ESPUI.cpp
@ -24,7 +24,15 @@ void listDir(const char* dirname, uint8_t levels)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(ESP32)
|
||||||
|
#if (ESP_IDF_VERSION_MAJOR == 4 && ESP_IDF_VERSION_MINOR >= 4) || ESP_IDF_VERSION_MAJOR > 4
|
||||||
|
File root = LittleFS.open(dirname);
|
||||||
|
#else
|
||||||
|
File root = LITTLEFS.open(dirname);
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
File root = LittleFS.open(dirname);
|
File root = LittleFS.open(dirname);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!root)
|
if (!root)
|
||||||
{
|
{
|
||||||
@ -66,7 +74,11 @@ void listDir(const char* dirname, uint8_t levels)
|
|||||||
|
|
||||||
if (levels)
|
if (levels)
|
||||||
{
|
{
|
||||||
listDir(file.name(), levels - 1);
|
#if (ESP_IDF_VERSION_MAJOR == 4 && ESP_IDF_VERSION_MINOR >= 4) || ESP_IDF_VERSION_MAJOR > 4
|
||||||
|
listDir(file.path(), levels - 1);
|
||||||
|
#else
|
||||||
|
listDir(file.name(), levels - 1);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -89,18 +101,45 @@ void listDir(const char* dirname, uint8_t levels)
|
|||||||
|
|
||||||
void listDir(const char* dirname, uint8_t levels)
|
void listDir(const char* dirname, uint8_t levels)
|
||||||
{
|
{
|
||||||
// ignoring levels for esp8266
|
#if defined(DEBUG_ESPUI)
|
||||||
Serial.printf_P(PSTR("Listing directory: %s\n"), dirname);
|
if (ESPUI.verbosity)
|
||||||
|
{
|
||||||
|
Serial.printf_P(PSTR("Listing directory: %s\n"), dirname);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
String str = "";
|
Dir dir = LittleFS.openDir(dirname);
|
||||||
Dir dir = LittleFS.openDir("/");
|
|
||||||
|
|
||||||
while (dir.next())
|
while (dir.next())
|
||||||
{
|
{
|
||||||
Serial.print(F(" FILE: "));
|
if (dir.isDirectory())
|
||||||
Serial.print(dir.fileName());
|
{
|
||||||
Serial.print(F(" SIZE: "));
|
#if defined(DEBUG_ESPUI)
|
||||||
Serial.println(dir.fileSize());
|
if (ESPUI.verbosity)
|
||||||
|
{
|
||||||
|
Serial.print(F(" DIR : "));
|
||||||
|
Serial.println(dir.fileName());
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
if (levels)
|
||||||
|
{
|
||||||
|
File file = dir.openFile("r");
|
||||||
|
listDir(file.fullName(), levels - 1);
|
||||||
|
file.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
#if defined(DEBUG_ESPUI)
|
||||||
|
if (ESPUI.verbosity)
|
||||||
|
{
|
||||||
|
Serial.print(F(" FILE: "));
|
||||||
|
Serial.print(dir.fileName());
|
||||||
|
Serial.print(F(" SIZE: "));
|
||||||
|
Serial.println(dir.fileSize());
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -108,31 +147,63 @@ void listDir(const char* dirname, uint8_t levels)
|
|||||||
|
|
||||||
void ESPUIClass::list()
|
void ESPUIClass::list()
|
||||||
{
|
{
|
||||||
|
#if defined(ESP32)
|
||||||
|
#if (ESP_IDF_VERSION_MAJOR == 4 && ESP_IDF_VERSION_MINOR >= 4) || ESP_IDF_VERSION_MAJOR > 4
|
||||||
|
if (!LittleFS.begin())
|
||||||
|
#else
|
||||||
|
if (!LITTLEFS.begin())
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
Serial.println(F("LITTLEFS Mount Failed"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#else
|
||||||
if (!LittleFS.begin())
|
if (!LittleFS.begin())
|
||||||
{
|
{
|
||||||
Serial.println(F("LittleFS Mount Failed"));
|
Serial.println(F("LittleFS Mount Failed"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
listDir("/", 1);
|
listDir("/", 1);
|
||||||
#if defined(ESP32)
|
#if defined(ESP32)
|
||||||
|
|
||||||
Serial.println(LittleFS.totalBytes());
|
Serial.print(F("Total KB: "));
|
||||||
Serial.println(LittleFS.usedBytes());
|
#if (ESP_IDF_VERSION_MAJOR == 4 && ESP_IDF_VERSION_MINOR >= 4) || ESP_IDF_VERSION_MAJOR > 4
|
||||||
|
Serial.println(LittleFS.totalBytes()/1024);
|
||||||
|
#else
|
||||||
|
Serial.println(LITTLEFS.totalBytes()/1024);
|
||||||
|
#endif
|
||||||
|
Serial.print(F("Used KB: "));
|
||||||
|
#if (ESP_IDF_VERSION_MAJOR == 4 && ESP_IDF_VERSION_MINOR >= 4) || ESP_IDF_VERSION_MAJOR > 4
|
||||||
|
Serial.println(LittleFS.usedBytes()/1024);
|
||||||
|
#else
|
||||||
|
Serial.println(LITTLEFS.usedBytes()/1024);
|
||||||
|
#endif
|
||||||
|
|
||||||
#else
|
#else
|
||||||
FSInfo fs_info;
|
FSInfo fs_info;
|
||||||
LittleFS.info(fs_info);
|
LittleFS.info(fs_info);
|
||||||
|
|
||||||
Serial.println(fs_info.totalBytes);
|
Serial.print(F("Total KB: "));
|
||||||
Serial.println(fs_info.usedBytes);
|
Serial.println(fs_info.totalBytes/1024);
|
||||||
|
Serial.print(F("Used KB: "));
|
||||||
|
Serial.println(fs_info.usedBytes/1024);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void deleteFile(const char* path)
|
void deleteFile(const char* path)
|
||||||
{
|
{
|
||||||
|
#if defined(ESP32)
|
||||||
|
#if (ESP_IDF_VERSION_MAJOR == 4 && ESP_IDF_VERSION_MINOR >= 4) || ESP_IDF_VERSION_MAJOR > 4
|
||||||
|
bool exists = LittleFS.exists(path);
|
||||||
|
#else
|
||||||
|
bool exists = LITTLEFS.exists(path);
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
bool exists = LittleFS.exists(path);
|
bool exists = LittleFS.exists(path);
|
||||||
|
#endif
|
||||||
if (!exists)
|
if (!exists)
|
||||||
{
|
{
|
||||||
#if defined(DEBUG_ESPUI)
|
#if defined(DEBUG_ESPUI)
|
||||||
@ -152,7 +223,15 @@ void deleteFile(const char* path)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(ESP32)
|
||||||
|
#if (ESP_IDF_VERSION_MAJOR == 4 && ESP_IDF_VERSION_MINOR >= 4) || ESP_IDF_VERSION_MAJOR > 4
|
||||||
|
bool didRemove = LittleFS.remove(path);
|
||||||
|
#else
|
||||||
|
bool didRemove = LITTLEFS.remove(path);
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
bool didRemove = LittleFS.remove(path);
|
bool didRemove = LittleFS.remove(path);
|
||||||
|
#endif
|
||||||
if (didRemove)
|
if (didRemove)
|
||||||
{
|
{
|
||||||
#if defined(DEBUG_ESPUI)
|
#if defined(DEBUG_ESPUI)
|
||||||
@ -182,7 +261,15 @@ void writeFile(const char* path, const char* data)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(ESP32)
|
||||||
|
#if (ESP_IDF_VERSION_MAJOR == 4 && ESP_IDF_VERSION_MINOR >= 4) || ESP_IDF_VERSION_MAJOR > 4
|
||||||
|
File file = LittleFS.open(path, FILE_WRITE);
|
||||||
|
#else
|
||||||
|
File file = LITTLEFS.open(path, FILE_WRITE);
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
File file = LittleFS.open(path, FILE_WRITE);
|
File file = LittleFS.open(path, FILE_WRITE);
|
||||||
|
#endif
|
||||||
if (!file)
|
if (!file)
|
||||||
{
|
{
|
||||||
#if defined(DEBUG_ESPUI)
|
#if defined(DEBUG_ESPUI)
|
||||||
@ -243,7 +330,7 @@ void writeFile(const char* path, const char* data)
|
|||||||
|
|
||||||
// end LITTLEFS functions
|
// end LITTLEFS functions
|
||||||
|
|
||||||
void ESPUIClass::prepareFileSystem()
|
void ESPUIClass::prepareFileSystem(bool format)
|
||||||
{
|
{
|
||||||
// this function should only be used once
|
// this function should only be used once
|
||||||
|
|
||||||
@ -255,19 +342,41 @@ void ESPUIClass::prepareFileSystem()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(ESP32)
|
#if defined(ESP32)
|
||||||
LittleFS.format();
|
#if (ESP_IDF_VERSION_MAJOR == 4 && ESP_IDF_VERSION_MINOR >= 4) || ESP_IDF_VERSION_MAJOR > 4
|
||||||
|
if(!LittleFS.begin(false)) //Test for an already formatted LittleFS by a mount failure
|
||||||
if (!LittleFS.begin(true))
|
#else
|
||||||
{
|
if(!LITTLEFS.begin(false)) //Test for an already formatted LittleFS by a mount failure
|
||||||
#if defined(DEBUG_ESPUI)
|
#endif
|
||||||
if (verbosity)
|
{
|
||||||
{
|
#if (ESP_IDF_VERSION_MAJOR == 4 && ESP_IDF_VERSION_MINOR >= 4) || ESP_IDF_VERSION_MAJOR > 4
|
||||||
Serial.println(F("LittleFS Mount Failed"));
|
if(!LittleFS.begin(true)) //Attempt to format LittleFS
|
||||||
}
|
#else
|
||||||
|
if(!LITTLEFS.begin(true)) //Attempt to format LittleFS
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
#if defined(DEBUG_ESPUI)
|
||||||
|
if (verbosity)
|
||||||
|
{
|
||||||
|
Serial.println(F("LittleFS Format Failed"));
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else if(format)
|
||||||
|
{
|
||||||
|
#if (ESP_IDF_VERSION_MAJOR == 4 && ESP_IDF_VERSION_MINOR >= 4) || ESP_IDF_VERSION_MAJOR > 4
|
||||||
|
LittleFS.format();
|
||||||
|
#else
|
||||||
|
LITTLEFS.format();
|
||||||
|
#endif
|
||||||
|
#if defined(DEBUG_ESPUI)
|
||||||
|
if (verbosity)
|
||||||
|
{
|
||||||
|
Serial.println(F("LittleFS Formatted"));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#if defined(DEBUG_ESPUI)
|
#if defined(DEBUG_ESPUI)
|
||||||
if (verbosity)
|
if (verbosity)
|
||||||
@ -278,13 +387,45 @@ void ESPUIClass::prepareFileSystem()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#else
|
#else
|
||||||
LittleFS.format();
|
|
||||||
LittleFS.begin();
|
if (!LittleFS.begin()) //Test for an already formatted LittleFS by a mount failure
|
||||||
|
{
|
||||||
|
if(LittleFS.format()) //Attempt to format LittleFS
|
||||||
|
{
|
||||||
|
#if defined(DEBUG_ESPUI)
|
||||||
|
if (verbosity)
|
||||||
|
{
|
||||||
|
Serial.println(F("LittleFS Formatted"));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
#if defined(DEBUG_ESPUI)
|
||||||
|
if (verbosity)
|
||||||
|
{
|
||||||
|
Serial.println(F("LittleFS Mount Failed"));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(format)
|
||||||
|
{
|
||||||
|
LittleFS.format();
|
||||||
|
#if defined(DEBUG_ESPUI)
|
||||||
|
if (verbosity)
|
||||||
|
{
|
||||||
|
Serial.println(F("LittleFS Formatted"));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#if defined(DEBUG_ESPUI)
|
#if defined(DEBUG_ESPUI)
|
||||||
if (verbosity)
|
if (verbosity)
|
||||||
{
|
{
|
||||||
Serial.println(F("LITTLEFS Mount ESP8266 Done"));
|
listDir("/", 1);
|
||||||
|
Serial.println(F("LittleFS Mount ESP8266 Done"));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -309,6 +450,33 @@ void ESPUIClass::prepareFileSystem()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Now write
|
// Now write
|
||||||
|
#ifdef ESP32
|
||||||
|
#if (ESP_IDF_VERSION_MAJOR == 4 && ESP_IDF_VERSION_MINOR >= 4) || ESP_IDF_VERSION_MAJOR > 4
|
||||||
|
writeFile("/index.htm", HTML_INDEX);
|
||||||
|
LittleFS.mkdir("/css");
|
||||||
|
writeFile("/css/style.css", CSS_STYLE);
|
||||||
|
writeFile("/css/normalize.css", CSS_NORMALIZE);
|
||||||
|
LittleFS.mkdir("/js");
|
||||||
|
writeFile("/js/zepto.min.js", JS_ZEPTO);
|
||||||
|
writeFile("/js/controls.js", JS_CONTROLS);
|
||||||
|
writeFile("/js/slider.js", JS_SLIDER);
|
||||||
|
writeFile("/js/graph.js", JS_GRAPH);
|
||||||
|
|
||||||
|
writeFile("/js/tabbedcontent.js", JS_TABBEDCONTENT);
|
||||||
|
#else
|
||||||
|
writeFile("/index.htm", HTML_INDEX);
|
||||||
|
LITTLEFS.mkdir("/css");
|
||||||
|
writeFile("/css/style.css", CSS_STYLE);
|
||||||
|
writeFile("/css/normalize.css", CSS_NORMALIZE);
|
||||||
|
LITTLEFS.mkdir("/js");
|
||||||
|
writeFile("/js/zepto.min.js", JS_ZEPTO);
|
||||||
|
writeFile("/js/controls.js", JS_CONTROLS);
|
||||||
|
writeFile("/js/slider.js", JS_SLIDER);
|
||||||
|
writeFile("/js/graph.js", JS_GRAPH);
|
||||||
|
|
||||||
|
writeFile("/js/tabbedcontent.js", JS_TABBEDCONTENT);
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
writeFile("/index.htm", HTML_INDEX);
|
writeFile("/index.htm", HTML_INDEX);
|
||||||
|
|
||||||
writeFile("/css/style.css", CSS_STYLE);
|
writeFile("/css/style.css", CSS_STYLE);
|
||||||
@ -320,6 +488,7 @@ void ESPUIClass::prepareFileSystem()
|
|||||||
writeFile("/js/graph.js", JS_GRAPH);
|
writeFile("/js/graph.js", JS_GRAPH);
|
||||||
|
|
||||||
writeFile("/js/tabbedcontent.js", JS_TABBEDCONTENT);
|
writeFile("/js/tabbedcontent.js", JS_TABBEDCONTENT);
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(DEBUG_ESPUI)
|
#if defined(DEBUG_ESPUI)
|
||||||
if (verbosity)
|
if (verbosity)
|
||||||
@ -339,7 +508,16 @@ void ESPUIClass::prepareFileSystem()
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(ESP32)
|
||||||
|
#if (ESP_IDF_VERSION_MAJOR == 4 && ESP_IDF_VERSION_MINOR >= 4) || ESP_IDF_VERSION_MAJOR > 4
|
||||||
|
LittleFS.end();
|
||||||
|
#else
|
||||||
|
LITTLEFS.end();
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
LittleFS.end();
|
LittleFS.end();
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handle Websockets Communication
|
// Handle Websockets Communication
|
||||||
@ -970,7 +1148,15 @@ void ESPUIClass::beginLITTLEFS(const char* _title, const char* username, const c
|
|||||||
server = new AsyncWebServer(port);
|
server = new AsyncWebServer(port);
|
||||||
ws = new AsyncWebSocket("/ws");
|
ws = new AsyncWebSocket("/ws");
|
||||||
|
|
||||||
|
#if defined(ESP32)
|
||||||
|
#if (ESP_IDF_VERSION_MAJOR == 4 && ESP_IDF_VERSION_MINOR >= 4) || ESP_IDF_VERSION_MAJOR > 4
|
||||||
|
bool fsBegin = LittleFS.begin();
|
||||||
|
#else
|
||||||
|
bool fsBegin = LITTLEFS.begin();
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
bool fsBegin = LittleFS.begin();
|
bool fsBegin = LittleFS.begin();
|
||||||
|
#endif
|
||||||
if (!fsBegin)
|
if (!fsBegin)
|
||||||
{
|
{
|
||||||
#if defined(DEBUG_ESPUI)
|
#if defined(DEBUG_ESPUI)
|
||||||
@ -991,7 +1177,15 @@ void ESPUIClass::beginLITTLEFS(const char* _title, const char* username, const c
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(ESP32)
|
||||||
|
#if (ESP_IDF_VERSION_MAJOR == 4 && ESP_IDF_VERSION_MINOR >= 4) || ESP_IDF_VERSION_MAJOR > 4
|
||||||
|
bool indexExists = LittleFS.exists("/index.htm");
|
||||||
|
#else
|
||||||
|
bool indexExists = LITTLEFS.exists("/index.htm");
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
bool indexExists = LittleFS.exists("/index.htm");
|
bool indexExists = LittleFS.exists("/index.htm");
|
||||||
|
#endif
|
||||||
if (!indexExists)
|
if (!indexExists)
|
||||||
{
|
{
|
||||||
#if defined(DEBUG_ESPUI)
|
#if defined(DEBUG_ESPUI)
|
||||||
@ -1017,11 +1211,27 @@ void ESPUIClass::beginLITTLEFS(const char* _title, const char* username, const c
|
|||||||
{
|
{
|
||||||
ws->setAuthentication(basicAuthUsername, basicAuthPassword);
|
ws->setAuthentication(basicAuthUsername, basicAuthPassword);
|
||||||
}
|
}
|
||||||
|
#if defined(ESP32)
|
||||||
|
#if (ESP_IDF_VERSION_MAJOR == 4 && ESP_IDF_VERSION_MINOR >= 4) || ESP_IDF_VERSION_MAJOR > 4
|
||||||
|
server->serveStatic("/", LittleFS, "/").setDefaultFile("index.htm").setAuthentication(username, password);
|
||||||
|
#else
|
||||||
|
server->serveStatic("/", LITTLEFS, "/").setDefaultFile("index.htm").setAuthentication(username, password);
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
server->serveStatic("/", LittleFS, "/").setDefaultFile("index.htm").setAuthentication(username, password);
|
server->serveStatic("/", LittleFS, "/").setDefaultFile("index.htm").setAuthentication(username, password);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
#if defined(ESP32)
|
||||||
|
#if (ESP_IDF_VERSION_MAJOR == 4 && ESP_IDF_VERSION_MINOR >= 4) || ESP_IDF_VERSION_MAJOR > 4
|
||||||
|
server->serveStatic("/", LittleFS, "/").setDefaultFile("index.htm");
|
||||||
|
#else
|
||||||
|
server->serveStatic("/", LITTLEFS, "/").setDefaultFile("index.htm");
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
server->serveStatic("/", LittleFS, "/").setDefaultFile("index.htm");
|
server->serveStatic("/", LittleFS, "/").setDefaultFile("index.htm");
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// Heap for general Servertest
|
// Heap for general Servertest
|
||||||
|
Loading…
Reference in New Issue
Block a user