Skip to content

Commit

Permalink
Merge pull request #186 from erichelgeson/eric/spiTake3
Browse files Browse the repository at this point in the history
Revert "We only need to test 50 and 25 as the rest are just divided and rounded to full and half."
  • Loading branch information
erichelgeson authored Nov 22, 2022
2 parents 5bb2dee + dc0bce8 commit 726d72c
Showing 1 changed file with 11 additions and 13 deletions.
24 changes: 11 additions & 13 deletions src/BlueSCSI.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -450,20 +450,21 @@ void setup()
//Occurs when the RST pin state changes from HIGH to LOW
//attachInterrupt(RST, onBusReset, FALLING);

// Try Full and half clock speeds.
// Try different clock speeds till we find one that is stable.
LED_ON();
int mhz = 0;
if (SD.begin(SdSpiConfig(PA4, DEDICATED_SPI, SD_SCK_MHZ(50), &SPI)))
{
mhz = 50;
}
else if (SD.begin(SdSpiConfig(PA4, DEDICATED_SPI, SD_SCK_MHZ(25), &SPI)))
{
mhz = 25;
int mhz = 50;
bool sd_ready = false;
while (mhz > 25 && !sd_ready) {
if(SD.begin(SdSpiConfig(PA4, DEDICATED_SPI, SD_SCK_MHZ(mhz), &SPI))) {
sd_ready = true;
}
else {
mhz--;
}
}
LED_OFF();

if(mhz == 0) {
if(!sd_ready) {
#if DEBUG > 0
Serial.println("SD initialization failed!");
#endif
Expand Down Expand Up @@ -669,9 +670,6 @@ void initFileLog(int success_mhz) {
LOG_FILE.print("SPI speed: ");
LOG_FILE.print(success_mhz);
LOG_FILE.println("Mhz");
if(success_mhz == 25) {
LOG_FILE.println("SPI running at half speed - read https://github.com/erichelgeson/BlueSCSI/wiki/Slow-SPI");
}
LOG_FILE.print("SdFat Max FileName Length: ");
LOG_FILE.println(MAX_FILE_PATH);
LOG_FILE.println("Initialized SD Card - let's go!");
Expand Down

0 comments on commit 726d72c

Please sign in to comment.