From 371f0a20cad4dfcb3237db6f72a7e35403950938 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Fri, 30 Jun 2023 20:48:40 +1000 Subject: Clean up gpios interface --- src/drivers/storage.cpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'src/drivers/storage.cpp') diff --git a/src/drivers/storage.cpp b/src/drivers/storage.cpp index 4f16f1d1..e3dd8f83 100644 --- a/src/drivers/storage.cpp +++ b/src/drivers/storage.cpp @@ -23,7 +23,7 @@ #include "hal/spi_types.h" #include "sdmmc_cmd.h" -#include "gpio_expander.hpp" +#include "gpios.hpp" static const char* kTag = "SDSTORAGE"; static const uint8_t kMaxOpenFiles = 8; @@ -55,11 +55,10 @@ static esp_err_t do_transaction(sdspi_dev_handle_t handle, } } // namespace callback -auto SdStorage::Create(GpioExpander* gpio) -> cpp::result { - gpio->set_pin(GpioExpander::SD_CARD_POWER_ENABLE_ACTIVE_LOW, 0); - gpio->set_pin(GpioExpander::SD_MUX_EN_ACTIVE_LOW, 0); - gpio->set_pin(GpioExpander::SD_MUX_SWITCH, GpioExpander::SD_MUX_ESP); - gpio->Write(); +auto SdStorage::Create(IGpios* gpio) -> cpp::result { + gpio->WriteSync(IGpios::Pin::kSdPowerDisable, 0); + gpio->WriteSync(IGpios::Pin::kSdMuxSwitch, IGpios::SD_MUX_ESP); + gpio->WriteSync(IGpios::Pin::kSdMuxDisable, 0); sdspi_dev_handle_t handle; std::unique_ptr host; @@ -114,7 +113,7 @@ auto SdStorage::Create(GpioExpander* gpio) -> cpp::result { std::move(card), fs); } -SdStorage::SdStorage(GpioExpander* gpio, +SdStorage::SdStorage(IGpios* gpio, esp_err_t (*do_transaction)(sdspi_dev_handle_t, sdmmc_command_t*), sdspi_dev_handle_t handle, @@ -144,9 +143,8 @@ SdStorage::~SdStorage() { sdspi_host_remove_device(this->handle_); sdspi_host_deinit(); - gpio_->set_pin(GpioExpander::SD_CARD_POWER_ENABLE_ACTIVE_LOW, 1); - gpio_->set_pin(GpioExpander::SD_MUX_EN_ACTIVE_LOW, 1); - gpio_->Write(); + gpio_->WriteSync(IGpios::Pin::kSdPowerDisable, 1); + gpio_->WriteSync(IGpios::Pin::kSdMuxDisable, 1); } auto SdStorage::HandleTransaction(sdspi_dev_handle_t handle, -- cgit v1.2.3