Merge pull request #10730 from hydra/bf-sdcard-fixes-1

This commit is contained in:
Michael Keller 2021-06-04 01:23:04 +12:00 committed by GitHub
commit bc79e600a3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 0 deletions

View File

@ -168,8 +168,14 @@ void HAL_SD_MspInit(SD_HandleTypeDef* hsd)
} }
if (sdioHardware->instance == SDMMC1) { if (sdioHardware->instance == SDMMC1) {
__HAL_RCC_SDMMC1_CLK_DISABLE();
__HAL_RCC_SDMMC1_FORCE_RESET();
__HAL_RCC_SDMMC1_RELEASE_RESET();
__HAL_RCC_SDMMC1_CLK_ENABLE(); __HAL_RCC_SDMMC1_CLK_ENABLE();
} else if (sdioHardware->instance == SDMMC2) { } else if (sdioHardware->instance == SDMMC2) {
__HAL_RCC_SDMMC2_CLK_DISABLE();
__HAL_RCC_SDMMC2_FORCE_RESET();
__HAL_RCC_SDMMC2_RELEASE_RESET();
__HAL_RCC_SDMMC2_CLK_ENABLE(); __HAL_RCC_SDMMC2_CLK_ENABLE();
} }

View File

@ -42,6 +42,7 @@ typedef enum {
FAILURE_SDCARD_READ_FAILED, FAILURE_SDCARD_READ_FAILED,
FAILURE_SDCARD_WRITE_FAILED, FAILURE_SDCARD_WRITE_FAILED,
FAILURE_SDCARD_INITIALISATION_FAILED, FAILURE_SDCARD_INITIALISATION_FAILED,
FAILURE_SDCARD_REQUIRED,
} failureMode_e; } failureMode_e;
#define WARNING_FLASH_DURATION_MS 50 #define WARNING_FLASH_DURATION_MS 50

View File

@ -374,6 +374,10 @@ void init(void)
sdCardAndFSInit(); sdCardAndFSInit();
initFlags |= SD_INIT_ATTEMPTED; initFlags |= SD_INIT_ATTEMPTED;
if (!sdcard_isInserted()) {
failureMode(FAILURE_SDCARD_REQUIRED);
}
while (afatfs_getFilesystemState() != AFATFS_FILESYSTEM_STATE_READY) { while (afatfs_getFilesystemState() != AFATFS_FILESYSTEM_STATE_READY) {
afatfs_poll(); afatfs_poll();