File System, no callback, no image from SD-Card

What MCU/Processor/Board and compiler are you using?

picoboard

What LVGL version are you using?

8.3.2

What do you want to achieve?

I anticipate that the registered callback for the LVGL Filesystem should be invoked, but it appears that nothing is happening.
I’m not receiving any output from the registered callback (no Serial-output), leading me to believe that the callbacks are never being called.
This suggests that there might be something missing in my code, but what? Here I’m lost. I would greatly appreciate any hints or suggestions.

The only thing what I see on the display is the background color of the image, but not the image itself (from the SD-Card).
Serial.print(“\nSetup…”); is working.
SD-Card driver is working… but as mentioned, what does that help when the registered callback are not called from LVGL?

Thank you

Code to reproduce

lv_fs_res_t sdcard_open(lv_fs_drv_t *drv, void *file_p, const char *path, lv_fs_mode_t mode);
lv_fs_res_t sdcard_close(lv_fs_drv_t *drv, void *file_p);
lv_fs_res_t sdcard_read(lv_fs_drv_t *drv, void *file_p, void *buf, uint32_t btr, uint32_t *br);
lv_fs_res_t sdcard_write(lv_fs_drv_t *drv, void *file_p, const void *buf, uint32_t btw, uint32_t *bw);
lv_fs_res_t sdcard_seek(lv_fs_drv_t *drv, void *file_p, uint32_t pos, lv_fs_whence_t whence);
lv_fs_res_t sdcard_tell(lv_fs_drv_t *drv, void *file_p, uint32_t *pos_p);

static void *sd_dir_open(lv_fs_drv_t *drv, const char *dirpath);
static lv_fs_res_t sd_dir_read(lv_fs_drv_t *drv, void *dir_p, char *fn);
static lv_fs_res_t sd_dir_close(lv_fs_drv_t *drv, void *dir_p);

static void *sd_fs_open(lv_fs_drv_t *drv, const char *path, lv_fs_mode_t mode);

void setup(){
...
lv_init();
...
Serial.print("\nSetup...");
...

 // register SD-Card driver
  static lv_fs_drv_t fs_drv;
  lv_fs_drv_init(&fs_drv);

  /*Set up fields...*/
  fs_drv.letter = 'S';
  fs_drv.cache_size = 0;

  fs_drv.ready_cb = NULL;
  fs_drv.open_cb = sd_fs_open;
  fs_drv.close_cb = sdcard_close;
  fs_drv.read_cb = sdcard_read;
  fs_drv.write_cb = sdcard_write;
  fs_drv.seek_cb = sdcard_seek;
  fs_drv.tell_cb = sdcard_tell;

  fs_drv.dir_close_cb = sd_dir_close;
  fs_drv.dir_open_cb = sd_dir_open;
  fs_drv.dir_read_cb = sd_dir_read;

  lv_fs_drv_register(&fs_drv);


  static lv_style_t style;
  lv_style_init(&style);
  lv_style_set_bg_color(&style, lv_color_make(0xFF,0x00,0xFF));
  lv_style_set_bg_opa(&style, LV_OPA_COVER);

  lv_obj_t * img1 = lv_img_create(lv_scr_act()); 
  lv_obj_set_size(img1, 320, 320);
  lv_img_set_src(img1, "Italian.bmp");
  lv_obj_set_pos(img1, 10, 10);
  lv_obj_add_style(img1, &style, 0);
}

void loop() {
  lv_timer_handler();
  delay(5);
}

lv_fs_res_t sdcard_open(lv_fs_drv_t *drv, void *file_p, const char *path, lv_fs_mode_t mode)
{
  Serial.println("sdcard_open");
...
}
lv_fs_res_t sdcard_close(lv_fs_drv_t *drv, void *file_p)
{
  Serial.println("sdcard_close");
...
}
lv_fs_res_t sdcard_read(lv_fs_drv_t *drv, void *file_p, void *buf, uint32_t btr, uint32_t *br)
{
  Serial.println("sdcard_read");
...
}

lv_fs_res_t sdcard_write(lv_fs_drv_t *drv, void *file_p, const void *buf, uint32_t btw, uint32_t *bw)
{
  Serial.println("sdcard_write");
...
}

lv_fs_res_t sdcard_seek(lv_fs_drv_t *drv, void *file_p, uint32_t pos, lv_fs_whence_t whence)
{
  Serial.println("sdcard_seek");
...
}

lv_fs_res_t sdcard_tell(lv_fs_drv_t *drv, void *file_p, uint32_t *pos_p)
{
  Serial.println("sdcard_tell");
...
}

static lv_fs_res_t sd_dir_read(lv_fs_drv_t *drv, void *dir_p, char *fn) {
...
}
static lv_fs_res_t sd_dir_close(lv_fs_drv_t *drv, void *dir_p) {
...
}

EDIT:

Jetzt habe ich in lv_conf.h …USE_BMP aktiviert, und jetzt funktionierts