SDCard
- @TODO(add demo that streams WAV <- this already exists in Advanced )
- @TODO(add demo that loads WAV)
KLST_PANDA features a micro SDCard reader ( see Technical Specifications ):
- ⑫ :: SDCard reader
bool sdcard_init();
bool sdcard_reinit();
bool sdcard_deinit();
bool sdcard_detected();
bool sdcard_status();
bool sdcard_mount();
bool sdcard_unmount();
bool sdcard_format(uint8_t format);
bool sdcard_list(std::string path, std::vector<std::string>& files, std::vector<std::string>& directories, bool show_hidden_files);
bool sdcard_file_open(std::string filepath, uint8_t flags);
uint32_t sdcard_file_write(uint8_t* bytes, uint32_t bytes_to_write);
uint32_t sdcard_file_read(uint8_t* bytes, uint32_t bytes_to_read);
bool sdcard_file_close();
bool sdcard_file_create(const std::string filename);
bool sdcard_file_seek(uint32_t position);
bool sdcard_file_eof();
bool sdcard_file_attributes(const std::string filename);
Example SDCard
/**
* this example demonstrates how to use an SD card.
*/
#include "Arduino.h"
#include "System.h"
#include "Console.h"
#include "SDCard.h"
void setup() {
system_init();
console_init();
sdcard_init();
sdcard_status();
if (sdcard_detected()) {
sdcard_mount();
sdcard_file_create("KLST.TXT");
uint8_t buffer[26] = "KLST writing to SD card!\n";
sdcard_file_write(buffer, 26);
sdcard_file_close();
sdcard_unmount();
}
}
void loop() {
if (sdcard_detected()) {
sdcard_mount();
std::vector<std::string> files;
std::vector<std::string> directories;
sdcard_list("", files, directories);
console_println("SD card detected");
console_println("Files : %i", files.size());
for (std::string file: files) {
console_println(" %s", file.c_str());
}
console_println("Directories: %i", directories.size());
for (std::string directory: directories) {
console_println(" %s", directory.c_str());
}
console_println("...");
sdcard_unmount();
} else {
console_println("SD card not detected");
}
delay(1000);
}