#include "SD_MMC.h" #include "Wire.h" #include "XL9535_driver.h" #include "pin_config.h" #include "FileHandler.h" #include #include XL9535 xl; FileHandler fileHandler; void setup() { Serial.begin(115200); xl.digitalWrite(SD_CS_PIN, 1); // To use SDIO one-line mode, you need to pull the CS pin high SD_MMC.setPins(SD_CLK_PIN, SD_CMD_PIN, SD_D0_PIN); if (!SD_MMC.begin("/sdcard", true, true)) { Serial.println("Card Mount Failed"); return; } uint8_t cardType = SD_MMC.cardType(); if (cardType == CARD_NONE) { Serial.println("No SD card attached"); return; } Serial.print("SD Card Type: "); if (cardType == CARD_MMC) Serial.println("MMC"); else if (cardType == CARD_SD) Serial.println("SDSC"); else if (cardType == CARD_SDHC) Serial.println("SDHC"); else Serial.println("UNKNOWN"); uint64_t cardSize = SD_MMC.cardSize() / (1024 * 1024); Serial.printf("SD Card Size: %lluMB\n", cardSize); FileInfo* files = nullptr; int fileCount = 0; // Utilisation de la bibliothèque FileHandler pour gérer les fichiers et les répertoires files = fileHandler.listDir(SD_MMC, "/", 0, fileCount); for (int i = 0; i < fileCount; i++) { Serial.print("File: "); Serial.print(files[i].name); Serial.print(" Size: "); Serial.println(files[i].size); } fileHandler.createDir(SD_MMC, "/"); files = fileHandler.listDir(SD_MMC, "/", 0, fileCount); for (int i = 0; i < fileCount; i++) { Serial.print("File: "); Serial.print(files[i].name); Serial.print(" Size: "); Serial.println(files[i].size); } fileHandler.removeDir(SD_MMC, "/"); files = fileHandler.listDir(SD_MMC, "/", 2, fileCount); for (int i = 0; i < fileCount; i++) { Serial.print("File: "); Serial.print(files[i].name); Serial.print(" Size: "); Serial.println(files[i].size); } fileHandler.writeFile(SD_MMC, "/hello.txt", "Hello "); fileHandler.appendFile(SD_MMC, "/hello.txt", "World!\n"); fileHandler.readFile(SD_MMC, "/hello.txt"); fileHandler.deleteFile(SD_MMC, "/foo.txt"); fileHandler.renameFile(SD_MMC, "/hello.txt", "/foo.txt"); fileHandler.readFile(SD_MMC, "/foo.txt"); fileHandler.freeFileInfo(files); Serial.printf("Total space: %lluMB\n", SD_MMC.totalBytes() / (1024 * 1024)); Serial.printf("Used space: %lluMB\n", SD_MMC.usedBytes() / (1024 * 1024)); } void loop() { delay(10000); }