From 443922b947109688e140ad025a7ba2441504d0fc Mon Sep 17 00:00:00 2001 From: Woutvstk <119763111+Woutvstk@users.noreply.github.com> Date: Tue, 18 Feb 2025 09:08:03 +0100 Subject: [PATCH] Reorganize spi definitions for use with sd cards ESP32/NRF52 (#6080) Changed variant files of hardware that uses HAS_SDCARD. Reorganised SPIClass definitions in FSCommon --- src/FSCommon.cpp | 27 +++++++++----------------- variants/CDEBYTE_EoRa-S3/variant.h | 2 +- variants/bpi_picow_esp32_s3/variant.h | 2 +- variants/dreamcatcher/variant.h | 2 +- variants/mesh-tab/variant.h | 1 + variants/my_esp32s3_diy_eink/variant.h | 2 +- variants/my_esp32s3_diy_oled/variant.h | 2 +- variants/rak4631/variant.h | 11 +++-------- variants/t-deck/variant.h | 1 + variants/tbeam-s3-core/variant.h | 2 +- variants/tlora_t3s3_epaper/variant.h | 2 +- variants/tlora_t3s3_v1/variant.h | 5 +---- variants/unphone/variant.h | 1 + 13 files changed, 23 insertions(+), 37 deletions(-) diff --git a/src/FSCommon.cpp b/src/FSCommon.cpp index 3b659b67e..de76ce29d 100644 --- a/src/FSCommon.cpp +++ b/src/FSCommon.cpp @@ -16,25 +16,16 @@ #include "SPILock.h" #include #include -#ifndef SDCARD_USE_HSPI // old ESP32 -#ifdef SDCARD_USE_SPI1 -#ifdef ARCH_ESP32 -SPIClass SPI1(HSPI); -#endif // ARCH_ESP32 -#ifdef ARCH_NRF52 -#define SDCARD_SPI SPI1 -#endif // NRF52 -#define SDHandler SPI1 // only used for esp32 -#else -#ifdef ARCH_NRF52 -#define SDCARD_SPI SPI -#endif // NRF52 -#define SDHandler SPI // only used for esp32 -#endif // SDCARD_USE_SPI1 -#else +#if defined(ARCH_ESP32) +#if defined(SDCARD_USE_HSPI) SPIClass SDHandler = SPIClass(HSPI); +#elif defined(SDCARD_USE_VSPI) +SPIClass SDHandler = SPIClass(VSPI); #endif -#endif // HAS_SDCARD +#elif defined(ARCH_NRF52) +#define SDHandler SPI // only used for esp32 +#endif // ESP32/NRF52 +#endif // HAS_SDCARD #if defined(ARCH_STM32WL) @@ -403,4 +394,4 @@ void setupSDCard() #endif #endif #endif - +} diff --git a/variants/CDEBYTE_EoRa-S3/variant.h b/variants/CDEBYTE_EoRa-S3/variant.h index 5da99667b..854996332 100644 --- a/variants/CDEBYTE_EoRa-S3/variant.h +++ b/variants/CDEBYTE_EoRa-S3/variant.h @@ -6,7 +6,7 @@ // SD card - TODO: test, currently untested, copied from T3S3 variant #define HAS_SDCARD -#define SDCARD_USE_SPI1 +#define SDCARD_USE_HSPI // TODO: rename this to make this SD-card specific #define SPI_CS 13 #define SPI_SCK 14 diff --git a/variants/bpi_picow_esp32_s3/variant.h b/variants/bpi_picow_esp32_s3/variant.h index d8d9413d7..fc9064436 100644 --- a/variants/bpi_picow_esp32_s3/variant.h +++ b/variants/bpi_picow_esp32_s3/variant.h @@ -5,7 +5,7 @@ // #define HAS_SCREEN 0 // #define HAS_SDCARD -// #define SDCARD_USE_SPI1 +// #define SDCARD_USE_HSPI #define USE_SSD1306 #define I2C_SDA 12 diff --git a/variants/dreamcatcher/variant.h b/variants/dreamcatcher/variant.h index 7835979e1..1e04a2b26 100644 --- a/variants/dreamcatcher/variant.h +++ b/variants/dreamcatcher/variant.h @@ -70,7 +70,7 @@ #endif #define HAS_SDCARD // Have SPI interface SD card slot -#define SDCARD_USE_SPI1 +#define SDCARD_USE_HSPI #define LORA_RESET 3 #define LORA_SCK 12 diff --git a/variants/mesh-tab/variant.h b/variants/mesh-tab/variant.h index 533c931bc..a912aa3af 100644 --- a/variants/mesh-tab/variant.h +++ b/variants/mesh-tab/variant.h @@ -25,6 +25,7 @@ #define GPS_TX_PIN 17 // #define HAS_SDCARD 1 +// #define SDCARD_USE_HSPI #define SPI_MOSI 13 #define SPI_SCK 12 #define SPI_MISO 11 diff --git a/variants/my_esp32s3_diy_eink/variant.h b/variants/my_esp32s3_diy_eink/variant.h index 024f912dd..c60e2b0ce 100644 --- a/variants/my_esp32s3_diy_eink/variant.h +++ b/variants/my_esp32s3_diy_eink/variant.h @@ -4,7 +4,7 @@ // #define HAS_SCREEN 0 // #define HAS_SDCARD -// #define SDCARD_USE_SPI1 +// #define SDCARD_USE_HSPI // #define USE_SSD1306 diff --git a/variants/my_esp32s3_diy_oled/variant.h b/variants/my_esp32s3_diy_oled/variant.h index 8a3a39003..dcaabe64d 100644 --- a/variants/my_esp32s3_diy_oled/variant.h +++ b/variants/my_esp32s3_diy_oled/variant.h @@ -4,7 +4,7 @@ // #define HAS_SCREEN 0 // #define HAS_SDCARD -// #define SDCARD_USE_SPI1 +// #define SDCARD_USE_HSPI #define USE_SSD1306 diff --git a/variants/rak4631/variant.h b/variants/rak4631/variant.h index 47c403584..9d1373dad 100644 --- a/variants/rak4631/variant.h +++ b/variants/rak4631/variant.h @@ -121,14 +121,9 @@ static const uint8_t SCK = PIN_SPI_SCK; // SD card SPI pin definitions #define HAS_SDCARD 1 -#define SDCARD_USE_SPI1 1 - -#ifdef SDCARD_USE_SPI1 -#define SDCARD_SPI SPI1 -#endif -#define SPI_MOSI PIN_SPI1_MOSI -#define SPI_SCK PIN_SPI1_SCK -#define SPI_MISO PIN_SPI1_MISO +#define SPI_MOSI PIN_SPI_MOSI +#define SPI_SCK PIN_SPI_SCK +#define SPI_MISO PIN_SPI_MISO #define SDCARD_CS (26) /* diff --git a/variants/t-deck/variant.h b/variants/t-deck/variant.h index 4aeeb7ca8..69b2a7a9f 100644 --- a/variants/t-deck/variant.h +++ b/variants/t-deck/variant.h @@ -37,6 +37,7 @@ // Have SPI interface SD card slot #define HAS_SDCARD 1 +#define SDCARD_USE_HSPI #define SPI_MOSI (41) #define SPI_SCK (40) #define SPI_MISO (38) diff --git a/variants/tbeam-s3-core/variant.h b/variants/tbeam-s3-core/variant.h index cc706459f..fd7649265 100644 --- a/variants/tbeam-s3-core/variant.h +++ b/variants/tbeam-s3-core/variant.h @@ -58,7 +58,7 @@ #define GPS_1PPS_PIN 6 #define HAS_SDCARD // Have SPI interface SD card slot -#define SDCARD_USE_SPI1 +#define SDCARD_USE_HSPI // PCF8563 RTC Module // #define PCF8563_RTC 0x51 //Putting definitions in variant. h does not compile correctly diff --git a/variants/tlora_t3s3_epaper/variant.h b/variants/tlora_t3s3_epaper/variant.h index 732869b20..1dad897cf 100644 --- a/variants/tlora_t3s3_epaper/variant.h +++ b/variants/tlora_t3s3_epaper/variant.h @@ -1,5 +1,5 @@ #define HAS_SDCARD -#define SDCARD_USE_SPI1 +#define SDCARD_USE_HSPI // Display (E-Ink) #define USE_EINK diff --git a/variants/tlora_t3s3_v1/variant.h b/variants/tlora_t3s3_v1/variant.h index babe44a58..06ee0292a 100644 --- a/variants/tlora_t3s3_v1/variant.h +++ b/variants/tlora_t3s3_v1/variant.h @@ -1,5 +1,5 @@ #define HAS_SDCARD -#define SDCARD_USE_SPI1 +#define SDCARD_USE_HSPI #define USE_SSD1306 @@ -74,6 +74,3 @@ #define LR11X0_DIO3_TCXO_VOLTAGE 3.0 #define LR11X0_DIO_AS_RF_SWITCH #endif - -#define HAS_SDCARD // Have SPI interface SD card slot -#define SDCARD_USE_SPI1 \ No newline at end of file diff --git a/variants/unphone/variant.h b/variants/unphone/variant.h index 0a94c5987..b5fdf5631 100644 --- a/variants/unphone/variant.h +++ b/variants/unphone/variant.h @@ -49,6 +49,7 @@ #undef GPS_TX_PIN // #define HAS_SDCARD 1 // causes hang if defined +#define SDCARD_USE_HSPI #define SDCARD_CS 43 #define LED_PIN 13 // the red part of the RGB LED