93 lines
2.5 KiB
C++
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);
|
|
}
|