Merge pull request #3654 from leptun/fix_miniRambo_SD_init

Enable MISO pullup during SD CMD0
This commit is contained in:
Alex Voinea 2022-10-10 15:09:09 +02:00 committed by GitHub
commit 4f9022cea1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 0 deletions

View File

@ -311,13 +311,16 @@ bool Sd2Card::init(uint8_t sckRateID) {
// must supply min of 74 clock cycles with CS high.
for (uint8_t i = 0; i < 10; i++) spiSend(0XFF);
WRITE(MISO, 1); // temporarily enable the MISO line pullup
// command to go idle in SPI mode
while ((status_ = cardCommand(CMD0, 0)) != R1_IDLE_STATE) {
if (((uint16_t)_millis() - t0) > SD_INIT_TIMEOUT) {
WRITE(MISO, 0); // disable the MISO line pullup
error(SD_CARD_ERROR_CMD0);
goto fail;
}
}
WRITE(MISO, 0); // disable the MISO line pullup
// send 0xFF until 0xFF received to give card some clock cycles
t0 = (uint16_t)_millis();