33 lines
733 B
C++
33 lines
733 B
C++
#ifndef MCRLCONTROLLER_SD_READER_H
|
|
#define MCRLCONTROLLER_SD_READER_H
|
|
|
|
#include "ff.h"
|
|
#include "gpio_rp2350.h"
|
|
#include "posix_io.h"
|
|
#include "sd_spi_drv.h"
|
|
#include "spi_rp2350.h"
|
|
#include "cassert"
|
|
|
|
#define MISO_PIN 4
|
|
#define MOSI_PIN 3
|
|
#define SCLK_PIN 6
|
|
#define CS_PIN 5
|
|
|
|
class SD_Reader {
|
|
gpio_rp2350 cs;
|
|
spi_rp2350 spi;
|
|
sd_spi_drv sd;
|
|
FatFs fs;
|
|
public:
|
|
SD_Reader() : cs(CS_PIN), spi(MISO_PIN, MOSI_PIN, SCLK_PIN, cs), sd(spi), fs(sd) {
|
|
posix_io::inst.register_fileio(fs);
|
|
assert(fs.mount() == FatFs::FR_OK);
|
|
}
|
|
~SD_Reader() {
|
|
const FatFs::FRESULT erg = fs.umount();
|
|
assert(erg == FatFs::FR_OK);
|
|
}
|
|
};
|
|
|
|
|
|
#endif //MCRLCONTROLLER_SD_READER_H
|