File main.cpp¶
File List > examples > FileTable > main.cpp
Go to the documentation of this file
Source Code¶
#include "daisy_seed.h"
using namespace daisy;
static constexpr const size_t kMaxFiles = 32;
static DaisySeed hw;
static SdmmcHandler sdmmc;
static FatFSInterface fsi;
static FileTable<kMaxFiles> file_table;
int main(void)
{
hw.Init(true);
SdmmcHandler::Config sdcfg;
sdcfg.Defaults();
sdcfg.speed = SdmmcHandler::Speed::STANDARD;
sdcfg.width = SdmmcHandler::BusWidth::BITS_1;
sdmmc.Init(sdcfg);
fsi.Init(FatFSInterface::Config::Media::MEDIA_SD);
f_mount(&fsi.GetSDFileSystem(), "/", 1);
file_table.Fill("/");
file_table.WriteLog("file_table-all.txt");
file_table.Clear();
file_table.Fill("/", ".txt");
file_table.WriteLog("file_table-text.txt");
file_table.Clear();
file_table.Fill("/", ".wav");
file_table.WriteLog("file_table-wav.txt");
size_t largest_size = 0;
int slot = -1;
for (size_t i = 0; i < file_table.GetNumFiles(); i++) {
auto fsize = file_table.GetFileSize(i);
if (fsize > largest_size) {
largest_size = fsize;
slot = i;
}
}
hw.StartLog(true);
System::Delay(100);
hw.PrintLine("File Info:");
if (slot >= 0) {
hw.PrintLine("The largest file at %d bytes is: %s",
file_table.GetFileSize(slot),
file_table.GetFileName(slot));
} else {
hw.PrintLine("No files found..");
}
while(1){}
}