From f12a52ebb96e34e2d557e8d55a2b3d347bdce047 Mon Sep 17 00:00:00 2001 From: Ken Van Hoeylandt Date: Sat, 7 Mar 2026 01:47:17 +0100 Subject: [PATCH] Fixes --- .../platform-esp32/include/tactility/drivers/esp32_sdmmc.h | 3 +++ .../private/tactility/drivers/esp32_sdmmc_fs.h | 3 +++ Platforms/platform-esp32/source/drivers/esp32_sdmmc.cpp | 2 ++ Platforms/platform-esp32/source/drivers/esp32_sdmmc_fs.cpp | 2 ++ Platforms/platform-esp32/source/module.cpp | 7 ++++++- Tactility/Source/hal/sdcard/SdCardDevice.cpp | 2 ++ Tactility/Source/hal/usb/Usb.cpp | 2 ++ 7 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Platforms/platform-esp32/include/tactility/drivers/esp32_sdmmc.h b/Platforms/platform-esp32/include/tactility/drivers/esp32_sdmmc.h index c5cc50f9..c32c8fd8 100644 --- a/Platforms/platform-esp32/include/tactility/drivers/esp32_sdmmc.h +++ b/Platforms/platform-esp32/include/tactility/drivers/esp32_sdmmc.h @@ -1,5 +1,6 @@ // SPDX-License-Identifier: Apache-2.0 #pragma once +#if SOC_SDMMC_HOST_SUPPORTED #include #include @@ -33,3 +34,5 @@ sdmmc_card_t* esp32_sdmmc_get_card(struct Device* device); #ifdef __cplusplus } #endif + +#endif \ No newline at end of file diff --git a/Platforms/platform-esp32/private/tactility/drivers/esp32_sdmmc_fs.h b/Platforms/platform-esp32/private/tactility/drivers/esp32_sdmmc_fs.h index 2f5d3f0f..56284cc4 100644 --- a/Platforms/platform-esp32/private/tactility/drivers/esp32_sdmmc_fs.h +++ b/Platforms/platform-esp32/private/tactility/drivers/esp32_sdmmc_fs.h @@ -1,5 +1,6 @@ // SPDX-License-Identifier: Apache-2.0 #pragma once +#if SOC_SDMMC_HOST_SUPPORTED #include #ifdef __cplusplus @@ -20,3 +21,5 @@ extern const FileSystemApi esp32_sdmmc_fs_api; #ifdef __cplusplus } #endif + +#endif \ No newline at end of file diff --git a/Platforms/platform-esp32/source/drivers/esp32_sdmmc.cpp b/Platforms/platform-esp32/source/drivers/esp32_sdmmc.cpp index 3facba29..b4d19fe8 100644 --- a/Platforms/platform-esp32/source/drivers/esp32_sdmmc.cpp +++ b/Platforms/platform-esp32/source/drivers/esp32_sdmmc.cpp @@ -1,4 +1,5 @@ // SPDX-License-Identifier: Apache-2.0 +#if SOC_SDMMC_HOST_SUPPORTED #include #include #include @@ -159,3 +160,4 @@ Driver esp32_sdmmc_driver = { }; } // extern "C" +#endif \ No newline at end of file diff --git a/Platforms/platform-esp32/source/drivers/esp32_sdmmc_fs.cpp b/Platforms/platform-esp32/source/drivers/esp32_sdmmc_fs.cpp index 456cf3b0..ee77c552 100644 --- a/Platforms/platform-esp32/source/drivers/esp32_sdmmc_fs.cpp +++ b/Platforms/platform-esp32/source/drivers/esp32_sdmmc_fs.cpp @@ -1,4 +1,5 @@ // SPDX-License-Identifier: Apache-2.0 +#if SOC_SDMMC_HOST_SUPPORTED #include #include #include @@ -175,3 +176,4 @@ const FileSystemApi esp32_sdmmc_fs_api = { }; } // extern "C" +#endif \ No newline at end of file diff --git a/Platforms/platform-esp32/source/module.cpp b/Platforms/platform-esp32/source/module.cpp index 6a49f1fa..f7921091 100644 --- a/Platforms/platform-esp32/source/module.cpp +++ b/Platforms/platform-esp32/source/module.cpp @@ -7,8 +7,9 @@ extern "C" { extern Driver esp32_gpio_driver; extern Driver esp32_i2c_driver; extern Driver esp32_i2s_driver; +#if SOC_SDMMC_HOST_SUPPORTED extern Driver esp32_sdmmc_driver; -extern Driver esp32_sdmmc_fs_driver; +#endif extern Driver esp32_spi_driver; extern Driver esp32_uart_driver; @@ -18,7 +19,9 @@ static error_t start() { check(driver_construct_add(&esp32_gpio_driver) == ERROR_NONE); check(driver_construct_add(&esp32_i2c_driver) == ERROR_NONE); check(driver_construct_add(&esp32_i2s_driver) == ERROR_NONE); +#if SOC_SDMMC_HOST_SUPPORTED check(driver_construct_add(&esp32_sdmmc_driver) == ERROR_NONE); +#endif check(driver_construct_add(&esp32_spi_driver) == ERROR_NONE); check(driver_construct_add(&esp32_uart_driver) == ERROR_NONE); return ERROR_NONE; @@ -30,7 +33,9 @@ static error_t stop() { check(driver_remove_destruct(&esp32_gpio_driver) == ERROR_NONE); check(driver_remove_destruct(&esp32_i2c_driver) == ERROR_NONE); check(driver_remove_destruct(&esp32_i2s_driver) == ERROR_NONE); +#if SOC_SDMMC_HOST_SUPPORTED check(driver_remove_destruct(&esp32_sdmmc_driver) == ERROR_NONE); +#endif check(driver_remove_destruct(&esp32_spi_driver) == ERROR_NONE); check(driver_remove_destruct(&esp32_uart_driver) == ERROR_NONE); return ERROR_NONE; diff --git a/Tactility/Source/hal/sdcard/SdCardDevice.cpp b/Tactility/Source/hal/sdcard/SdCardDevice.cpp index b370e37b..15c6388e 100644 --- a/Tactility/Source/hal/sdcard/SdCardDevice.cpp +++ b/Tactility/Source/hal/sdcard/SdCardDevice.cpp @@ -2,6 +2,8 @@ #include +#include + namespace tt::hal::sdcard { static error_t mount(void* data) { diff --git a/Tactility/Source/hal/usb/Usb.cpp b/Tactility/Source/hal/usb/Usb.cpp index 6e7cdc58..2fa38a07 100644 --- a/Tactility/Source/hal/usb/Usb.cpp +++ b/Tactility/Source/hal/usb/Usb.cpp @@ -34,6 +34,7 @@ sdmmc_card_t* getCard() { } } +#if SOC_SDMMC_HOST_SUPPORTED // Find ESP32 SDMMC device: if (sdcard == nullptr) { device_for_each(&sdcard, [](auto* device, void* context) { @@ -45,6 +46,7 @@ sdmmc_card_t* getCard() { return true; }); } +#endif if (sdcard == nullptr) { LOGGER.warn("Couldn't find a mounted SD card");