summaryrefslogtreecommitdiff
path: root/src/drivers/storage.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-08-30 16:48:10 +1000
committerjacqueline <me@jacqueline.id.au>2023-08-30 16:48:10 +1000
commit320fdeb9d8355d3c361d5c6d60de8afc64501af9 (patch)
treef0d5a2ab82199c78ad6768c6b18ba1239a0b7ee4 /src/drivers/storage.cpp
parent4247c9fe7d25c921fbfc73fc50e849c8780e7ad6 (diff)
downloadtangara-fw-320fdeb9d8355d3c361d5c6d60de8afc64501af9.tar.gz
Use a service locator instead of passing around subsets of drivers between FSMs
Diffstat (limited to 'src/drivers/storage.cpp')
-rw-r--r--src/drivers/storage.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/drivers/storage.cpp b/src/drivers/storage.cpp
index f253a79a..6acb6870 100644
--- a/src/drivers/storage.cpp
+++ b/src/drivers/storage.cpp
@@ -32,10 +32,10 @@ namespace drivers {
const char* kStoragePath = "/sdcard";
-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);
+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);
sdspi_dev_handle_t handle;
FATFS* fs = nullptr;
@@ -95,7 +95,7 @@ auto SdStorage::Create(IGpios* gpio) -> cpp::result<SdStorage*, Error> {
return new SdStorage(gpio, handle, std::move(host), std::move(card), fs);
}
-SdStorage::SdStorage(IGpios* gpio,
+SdStorage::SdStorage(IGpios& gpio,
sdspi_dev_handle_t handle,
std::unique_ptr<sdmmc_host_t> host,
std::unique_ptr<sdmmc_card_t> card,
@@ -117,8 +117,8 @@ SdStorage::~SdStorage() {
sdspi_host_remove_device(this->handle_);
sdspi_host_deinit();
- gpio_->WriteSync(IGpios::Pin::kSdPowerEnable, 1);
- gpio_->WriteSync(IGpios::Pin::kSdMuxDisable, 1);
+ gpio_.WriteSync(IGpios::Pin::kSdPowerEnable, 1);
+ gpio_.WriteSync(IGpios::Pin::kSdMuxDisable, 1);
}
auto SdStorage::GetFs() -> FATFS* {