From b15808e60f3ae34229c7381fcc8de138364fe721 Mon Sep 17 00:00:00 2001 From: ficeto Date: Fri, 8 May 2015 11:44:45 +0300 Subject: [PATCH 1/2] fix SPI clock for SD library --- libraries/SD/src/utility/Sd2Card.cpp | 4 ---- libraries/SD/src/utility/Sd2Card.h | 6 +++--- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/libraries/SD/src/utility/Sd2Card.cpp b/libraries/SD/src/utility/Sd2Card.cpp index 0535d0053b..98a02ba42c 100644 --- a/libraries/SD/src/utility/Sd2Card.cpp +++ b/libraries/SD/src/utility/Sd2Card.cpp @@ -270,11 +270,7 @@ uint8_t Sd2Card::init(uint8_t sckRateID, uint8_t chipSelectPin) { SPSR &= ~(1 << SPI2X); #else // USE_SPI_LIB SPI.begin(); - #ifdef ESP8266 - settings = SPISettings(SPI_CLOCK_DIV64, MSBFIRST, SPI_MODE0); - #else settings = SPISettings(250000, MSBFIRST, SPI_MODE0); - #endif #endif // USE_SPI_LIB #endif // SOFTWARE_SPI diff --git a/libraries/SD/src/utility/Sd2Card.h b/libraries/SD/src/utility/Sd2Card.h index a7935e4ebe..5121ef21eb 100644 --- a/libraries/SD/src/utility/Sd2Card.h +++ b/libraries/SD/src/utility/Sd2Card.h @@ -28,9 +28,9 @@ #ifdef ESP8266 #include "SPI.h" -uint32_t const SPI_FULL_SPEED = SPI_CLOCK_DIV2; -uint32_t const SPI_HALF_SPEED = SPI_CLOCK_DIV4; -uint32_t const SPI_QUARTER_SPEED = SPI_CLOCK_DIV8; +uint32_t const SPI_FULL_SPEED = 4000000; +uint32_t const SPI_HALF_SPEED = 2000000; +uint32_t const SPI_QUARTER_SPEED = 1000000; #else /** Set SCK to max rate of F_CPU/2. See Sd2Card::setSckRate(). */ uint8_t const SPI_FULL_SPEED = 0; From c20cfbea8735027e283d7e2b54a0b4b37c837d7d Mon Sep 17 00:00:00 2001 From: ficeto Date: Fri, 8 May 2015 13:22:49 +0300 Subject: [PATCH 2/2] increase SD Card SPI Speed --- libraries/SD/src/utility/Sd2Card.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/SD/src/utility/Sd2Card.h b/libraries/SD/src/utility/Sd2Card.h index 5121ef21eb..c7e54f66b2 100644 --- a/libraries/SD/src/utility/Sd2Card.h +++ b/libraries/SD/src/utility/Sd2Card.h @@ -28,9 +28,9 @@ #ifdef ESP8266 #include "SPI.h" -uint32_t const SPI_FULL_SPEED = 4000000; -uint32_t const SPI_HALF_SPEED = 2000000; -uint32_t const SPI_QUARTER_SPEED = 1000000; +uint32_t const SPI_FULL_SPEED = 8000000; +uint32_t const SPI_HALF_SPEED = 4000000; +uint32_t const SPI_QUARTER_SPEED = 2000000; #else /** Set SCK to max rate of F_CPU/2. See Sd2Card::setSckRate(). */ uint8_t const SPI_FULL_SPEED = 0;