Closed pptsk closed 3 years ago
Hi, Sorry, I found solution in older post here, and this code works fine:
//-------------------------------------------------------------------------------------------------------------------------
#include "Arduino.h"
#include "FS.h"
#include "LITTLEFS.h"
//-------------------------------------------------------------------------------------------------------------------------
void setup() {
Serial.flush();
Serial.begin( 115200 );
delay(1000);
//-------------------------------------------------------------------------------------------------------------------------
// LITTLEFS.format();
if (!LITTLEFS.begin(true)) {
Serial.println(F("An Error has occurred while mounting LITTLEFS"));
return;
}
Serial.println(F("----------------------------------------------------"));
Serial.println( F("BOOT finished! ")) ;
Serial.println( F("LITTLEFS test started... ")) ;
//-----------------------------------------------------------------------------------------------------------------------
if ( !LITTLEFS.exists("/DIR1" ) ) {
Serial.println( " dir /DIR1 does not exist! ");
if ( LITTLEFS.mkdir( "/DIR1" ) ) Serial.println( " dir /DIR1 is created ");
else Serial.println( " dir /DIR create failed");
} else {
Serial.println( " dir /DIR1 allready exist...");
}
test( "hello", 5 );
//-----------------------------------------------------------------------------------------------------------------------
Serial.println( F("LITTLEFS test end")) ; // load last saved configuration
//-----------------------------------------------------------------------------------------------------------------------
}
//==========================================================================================================================================
void loop() {
}
//==============================================================================
void deltree( const char *path ){
File dir = LITTLEFS.open( path );
if( !dir.isDirectory() ){
dir.close();
LITTLEFS.remove( path );
return;
}
File entry;
while ( entry = dir.openNextFile() ){
if ( entry.isDirectory() ){
deltree( entry.name() );
} else{
char* tmpname = strdup( entry.name() );
entry.close();
LITTLEFS.remove( tmpname );
free( tmpname );
}
}
dir.close();
LITTLEFS.rmdir( path );
}
//==============================================================================
void test( String message, int cnt ) {
Serial.println( "status before test" );
listDir( "/", 1 );
for ( int i = 0; i < cnt; i++ ) {
File f = LITTLEFS.open("/DIR1/file" + String(i) + ".txt", "w+"); // open-create file and set received data inside
if ( f ) { // file sucessfuly opened
f.print( message );
f.close();
}
}
//----------------------------------------
Serial.println( "status after create" );
listDir( "/", 1 );
deltree( "/DIR1" );
//----------------------------------------
Serial.println( "status after delete" );
listDir( "/", 1 );
}
//==============================================================================
void listDir(const char * dirname, int levels ) {
Serial.printf("Listing directory: %s\r\n", dirname);
File root = LITTLEFS.open(dirname);
if (!root) {
Serial.println("- failed to open directory");
return;
}
if (!root.isDirectory()) {
Serial.println(" - not a directory");
return;
}
File file = root.openNextFile();
while (file) {
if (file.isDirectory()) {
Serial.print(" DIR : ");
Serial.println(file.name());
if (levels) {
listDir( file.name(), levels - 1);
}
} else {
Serial.print(" FILE: ");
Serial.print(file.name());
Serial.print("\tSIZE: ");
Serial.println(file.size());
}
file = root.openNextFile();
}
}
result is here:
BOOT finished!
LITTLEFS test started...
dir /DIR1 does not exist!
dir /DIR1 is created
status before test
Listing directory: /
DIR : /DIR1
Listing directory: /DIR1
status after create
Listing directory: /
DIR : /DIR1
Listing directory: /DIR1
FILE: /DIR1/file0.txt SIZE: 5
FILE: /DIR1/file1.txt SIZE: 5
FILE: /DIR1/file2.txt SIZE: 5
FILE: /DIR1/file3.txt SIZE: 5
FILE: /DIR1/file4.txt SIZE: 5
status after delete
Listing directory: /
LITTLEFS test end
Thank you
Hi, I want to use this library but I have problem delete files from specific directory. Can someone help? What I am doing wrong? here is code example:
and here is output, files stay inside directory
Thank you