embedded-sdmmc-rs
embedded-sdmmc-rs copied to clipboard
A SD/MMC library with FAT16/FAT32 support, suitable for Embedded Rust systems
It would improve performance if we had a write-through block cache, particularly in the cluster allocation loop or for multiple small writes (as we'd avoid the repeated reads). The user...
Was: > The LFN code assumes the code points are all valid UTF-16 and not surrogate pairs exist. This may not be a valid assumption. We should do a proper...
This PR begins to separate the transport from the SD protocol, so we can use other interfaces such as SDIO. Before I went any further, I thought I'd better check...
In the current implementation, [Directory::iterate_dir](https://docs.rs/embedded-sdmmc/latest/embedded_sdmmc/struct.Directory.html#method.iterate_dir) accepts a callback to be executed for each entry. Returning an Iterator instead could make working with it much easier: 1. It would match [std::fs::read_dir](https://doc.rust-lang.org/std/fs/fn.read_dir.html)...
There are several warnings from clippy when running `cargo test` for the project: ``` warning: field `0` is never read --> examples/readme_test.rs:80:16 | 80 | Filesystem(embedded_sdmmc::Error), | ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |...
I've run into a road-block trying to make my use of the library generic across different implementations of `BlockDevice`. The issue is that with the `SdCard` type, I am able...
https://github.com/rust-embedded-community/embedded-sdmmc-rs/blob/710bd34253d453de4045c7307d1d286ccc1972ed/src/sdcard/mod.rs#L61-L67 If you take a CS pin directly, you have to use SpiBus, not SpiDevice. Using SpiDevice with a dummy CS pin breaks bus sharing. (the bus looks "free" to...
I feel like I am missing something here, but are multi-block writes not possible through the public API? `SdCardInner::write(..)` seems to have the support for writing multiple blocks properly, but...
Currently we assume that short file names contain valid UTF-8, which is not always true. We should have some kind of generic type param for a codepage convertor which can...
Now that `critical-section` is a thing, maybe we can consider interior mutability: * `Volume` can hold an `&VolumeManager` * `Directory` and `File` can hold an `&Volume` ```rust let volume =...