Hello! I am trying to register an SD card into the LVGL’s filesystem.
The problem that when i try to set an image i get lv_fs_open: Can't open file (C:image.bin): unknown driver letter (in lv_fs.c line #68)
.
Here is my code:
Filesystem init
bool LVFileSystem::init(char letter) {
sdSPI.begin(
PIN_SD_CLK,
PIN_SD_MISO,
PIN_SD_MOSI
);
if (!SD.begin(PIN_SD_CS, sdSPI)) return false;
lv_fs_drv_t drv;
lv_fs_drv_init(&drv);
drv.letter = letter;
drv.cache_size = 0;
drv.ready_cb = sd_ready_cb;
drv.open_cb = sd_open_cb;
drv.close_cb = sd_close_cb;
drv.read_cb = sd_read_cb;
drv.write_cb = sd_write_cb;
drv.seek_cb = sd_seek_cb;
drv.tell_cb = sd_tell_cb;
drv.dir_open_cb = nullptr;
drv.dir_read_cb = nullptr;
drv.dir_close_cb = nullptr;
lv_fs_drv_register(&drv);
return isInitialized = true;
}
Usage
LVFileSystem::init('C');
lv_img_set_src(image, "C:image.bin");
I also tried to specify the path differently (like C:/
C:\
). I will appreciate any help, so thanks in advance!