diff options
| author | jacqueline <me@jacqueline.id.au> | 2025-01-10 02:17:11 +0000 |
|---|---|---|
| committer | cooljqln <cooljqln@noreply.codeberg.org> | 2025-01-10 02:17:11 +0000 |
| commit | 94c30b759192231b8172bbb7d81125c8181261a1 (patch) | |
| tree | 3000ddfd33ddb3598f0f8546b94550bad500ec88 /src/drivers/storage.cpp | |
| parent | 90118996194d90449e7e7d1fbeb08da587b10642 (diff) | |
| download | tangara-fw-94c30b759192231b8172bbb7d81125c8181261a1.tar.gz | |
Isolate the SD card from the SPI bus when talking to the display (#176)
This should help significantly with https://codeberg.org/cool-tech-zone/tangara-fw/issues/121, which seems to be caused by some SD cards being very picky about being the only SPI device on their bus.
Co-authored-by: ailurux <ailuruxx@gmail.com>
Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/176
Co-authored-by: jacqueline <me@jacqueline.id.au>
Co-committed-by: jacqueline <me@jacqueline.id.au>
Diffstat (limited to 'src/drivers/storage.cpp')
| -rw-r--r-- | src/drivers/storage.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/drivers/storage.cpp b/src/drivers/storage.cpp index 09702a8c..ed6af1dd 100644 --- a/src/drivers/storage.cpp +++ b/src/drivers/storage.cpp @@ -35,8 +35,8 @@ const char* kStoragePath = "/sd"; auto SdStorage::Create(IGpios& gpio) -> cpp::result<SdStorage*, Error> { gpio.WriteSync(IGpios::Pin::kSdPowerEnable, 1); - gpio.WriteSync(IGpios::Pin::kSdMuxSwitch, IGpios::SD_MUX_ESP); - gpio.WriteSync(IGpios::Pin::kSdMuxDisable, 0); + gpio.SdMuxTarget(IGpios::SD_MUX_ESP); + gpio.SdMuxEnable(true); sdspi_dev_handle_t handle; FATFS* fs = nullptr; @@ -119,7 +119,7 @@ SdStorage::~SdStorage() { sdspi_host_remove_device(this->handle_); sdspi_host_deinit(); - gpio_.WriteSync(IGpios::Pin::kSdMuxDisable, 1); + gpio_.SdMuxEnable(false); gpio_.WriteSync(IGpios::Pin::kSdPowerEnable, 0); } |
