Files
iot-objets-connectes/Ecran Lilygot-T-RGB/Code tests/SDCard/SDCard.ino
2026-03-31 13:17:21 +02:00

93 lines
2.5 KiB
C++

#include "SD_MMC.h"
#include "Wire.h"
#include "XL9535_driver.h"
#include "pin_config.h"
#include "FileHandler.h"
#include <FS.h>
#include <Arduino.h>
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);
}