ESP32S2_Cal_Demo/main/app_lib_fs_impl.c

54 lines
1.4 KiB
C

#include "app_lib_fs_impl.h"
#include "user_board.h"
sdmmc_card_t *g_card;
static const char *TAG = "APP_FS";
static const char *MOUNT_POINT = APP_FS_MOUNT_POINT;
void app_lib_fs_init(void) {
esp_err_t ret;
esp_vfs_fat_sdmmc_mount_config_t mount_config = {
.format_if_mount_failed = false,
.max_files = 5,
.allocation_unit_size = 16 * 1024
};
sdmmc_host_t host = SDSPI_HOST_DEFAULT();
spi_bus_config_t bus_cfg = {
.mosi_io_num = BOARD_SD_MOSI_PIN,
.miso_io_num = BOARD_SD_MISO_PIN,
.sclk_io_num = BOARD_SD_SCLK_PIN,
.quadhd_io_num = -1,
.quadwp_io_num = -1,
.max_transfer_sz = 4000
};
ret = spi_bus_initialize(host.slot, &bus_cfg, SPI_DMA_CH_AUTO);
if(ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to initialize SPI bus.");
return;
}
sdspi_device_config_t slot_config = SDSPI_DEVICE_CONFIG_DEFAULT();
slot_config.gpio_cs = BOARD_SD_CS_PIN;
slot_config.gpio_cd = BOARD_SD_DET_PIN;
slot_config.host_id = host.slot;
ret = esp_vfs_fat_sdspi_mount(MOUNT_POINT, &host, &slot_config, &mount_config, &g_card);
if(ret != ESP_OK) {
if(ret == ESP_FAIL) {
ESP_LOGE(TAG, "Failed to mount SD card.");
}
else {
ESP_LOGE(TAG, "Failed to initialize SD card. Result is %s", esp_err_to_name(ret));
}
return;
}
sdmmc_card_print_info(stdout, g_card);
}