From 60c3d2f3ae37abe60b2a39b028038cd73e0fbdbe Mon Sep 17 00:00:00 2001 From: bsongis Date: Wed, 29 Aug 2012 15:02:27 +0000 Subject: [PATCH] [sky9x] System files not played (not retrieved during initialization) --- src/ersky9x/diskio.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/ersky9x/diskio.c b/src/ersky9x/diskio.c index d47e97b31..42cae763e 100644 --- a/src/ersky9x/diskio.c +++ b/src/ersky9x/diskio.c @@ -854,9 +854,10 @@ void sdPoll10mS() break; case SD_ST_DATA: - f_mount(0, &g_FATFS_Obj); - retrieveAvailableAudioFiles(); - Card_state = SD_ST_MOUNTED; + if (f_mount(0, &g_FATFS_Obj) == FR_OK) { + retrieveAvailableAudioFiles(); + Card_state = SD_ST_MOUNTED; + } break; case SD_ST_ERR: @@ -901,13 +902,21 @@ void sdInit() sdCmd9(); sdCmd7(); // Select Card + + CoTickDelay(1); // 2ms + sdAcmd51(); sdAcmd6(); // Set bus width to 4 bits, and speed to 9 MHz - // Should check the card can do this **** - f_mount(0, &g_FATFS_Obj); - retrieveAvailableAudioFiles(); + CoTickDelay(1); // 2ms + // Should check the card can do this **** + if (f_mount(0, &g_FATFS_Obj) != FR_OK) { + Card_state = SD_ST_DATA; + return; + } + + retrieveAvailableAudioFiles(); Card_state = SD_ST_MOUNTED; }