From ecc0a9c07697802a7089db89dac0dae348698dc1 Mon Sep 17 00:00:00 2001 From: Fuji Pebri Date: Fri, 6 Feb 2026 04:46:55 +0700 Subject: [PATCH] Added support for 1-line bus width SDMMC device mode (#482) --- Tactility/Include/Tactility/hal/sdcard/SdmmcDevice.h | 7 +++++-- Tactility/Source/hal/sdcard/SdmmcDevice.cpp | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Tactility/Include/Tactility/hal/sdcard/SdmmcDevice.h b/Tactility/Include/Tactility/hal/sdcard/SdmmcDevice.h index e1e50e0d..0fab8a40 100644 --- a/Tactility/Include/Tactility/hal/sdcard/SdmmcDevice.h +++ b/Tactility/Include/Tactility/hal/sdcard/SdmmcDevice.h @@ -31,7 +31,8 @@ public: gpio_num_t pinD1, gpio_num_t pinD2, gpio_num_t pinD3, - MountBehaviour mountBehaviourAtBoot + MountBehaviour mountBehaviourAtBoot, + uint8_t busWidth = 4 ) : pinClock(pinClock), pinCmd(pinCmd), @@ -39,7 +40,8 @@ public: pinD1(pinD1), pinD2(pinD2), pinD3(pinD3), - mountBehaviourAtBoot(mountBehaviourAtBoot) + mountBehaviourAtBoot(mountBehaviourAtBoot), + busWidth(busWidth) {} int spiFrequencyKhz; @@ -50,6 +52,7 @@ public: gpio_num_t pinD2; gpio_num_t pinD3; MountBehaviour mountBehaviourAtBoot; + uint8_t busWidth; bool formatOnMountFailed = false; uint16_t maxOpenFiles = 4; uint16_t allocUnitSize = 16 * 1024; diff --git a/Tactility/Source/hal/sdcard/SdmmcDevice.cpp b/Tactility/Source/hal/sdcard/SdmmcDevice.cpp index 036ebee2..ae74e6ce 100644 --- a/Tactility/Source/hal/sdcard/SdmmcDevice.cpp +++ b/Tactility/Source/hal/sdcard/SdmmcDevice.cpp @@ -41,7 +41,7 @@ bool SdmmcDevice::mountInternal(const std::string& newMountPath) { .d7 = static_cast(0), .cd = GPIO_NUM_NC, .wp = GPIO_NUM_NC, - .width = 4, + .width = config->busWidth, .flags = 0 }; @@ -120,4 +120,4 @@ SdmmcDevice::State SdmmcDevice::getState(TickType_t timeout) const { } -#endif \ No newline at end of file +#endif