diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-01-17 13:52:38 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-01-17 13:52:38 +1100 |
| commit | e53dfc4cc59fd0c3b01dc74762c1904f3ec9cc06 (patch) | |
| tree | 8f0ca7c002cbfeaf09ae53d2370d8569f88ee120 /src/drivers/storage.cpp | |
| parent | 2056cad0ab7b805f0ed5629b100b50f8ea9e127e (diff) | |
| parent | 41993ea509ac06658e2e51a542112c78da8f0453 (diff) | |
| download | tangara-fw-e53dfc4cc59fd0c3b01dc74762c1904f3ec9cc06.tar.gz | |
Merge branch 'main' into codecs
Diffstat (limited to 'src/drivers/storage.cpp')
| -rw-r--r-- | src/drivers/storage.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/drivers/storage.cpp b/src/drivers/storage.cpp index 414bfd21..88159744 100644 --- a/src/drivers/storage.cpp +++ b/src/drivers/storage.cpp @@ -51,8 +51,8 @@ static esp_err_t do_transaction(sdspi_dev_handle_t handle, auto SdStorage::create(GpioExpander* gpio) -> cpp::result<std::shared_ptr<SdStorage>, Error> { - // Acquiring the bus will also flush the mux switch change. gpio->set_pin(GpioExpander::SD_MUX_SWITCH, GpioExpander::SD_MUX_ESP); + gpio->Write(); sdspi_dev_handle_t handle; std::unique_ptr<sdmmc_host_t> host; @@ -64,8 +64,7 @@ auto SdStorage::create(GpioExpander* gpio) sdspi_device_config_t config = { .host_id = VSPI_HOST, - // CS handled manually bc it's on the GPIO expander - .gpio_cs = GPIO_NUM_2, + .gpio_cs = GPIO_NUM_21, .gpio_cd = SDSPI_SLOT_NO_CD, .gpio_wp = SDSPI_SLOT_NO_WP, .gpio_int = GPIO_NUM_NC, @@ -87,7 +86,6 @@ auto SdStorage::create(GpioExpander* gpio) host->slot = handle; callback::bootstrap = do_transaction; - auto lock = gpio->AcquireSpiBus(GpioExpander::SD_CARD); // Will return ESP_ERR_INVALID_RESPONSE if there is no card esp_err_t err = sdmmc_card_init(host.get(), card.get()); if (err != ESP_OK) { @@ -142,7 +140,7 @@ SdStorage::~SdStorage() { auto SdStorage::HandleTransaction(sdspi_dev_handle_t handle, sdmmc_command_t* cmdinfo) -> esp_err_t { - auto lock = gpio_->AcquireSpiBus(GpioExpander::SD_CARD); + // TODO: not needed anymore? return do_transaction_(handle, cmdinfo); } |
