All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Renamed
Controller
toVolumeManager
, to better describe what it does.
- Optionally use defmt for logging.
Controlled by
defmt-log
feature flag. - [breaking-change] Use SPI blocking traits instead to ease SPI peripheral sharing. See: rust-embedded-community#28
- Added
Controller::has_open_handles
andController::free
methods. - [breaking-change] Changed interface to enforce correct SD state at compile time.
- [breaking-change] Added custom error type for
File
operations. - Fix
env_logger
pulling in thestd
feature inlog
in library builds. - Raise the minimum supported Rust version to 1.56.0.
- Code tidy-ups and more documentation.
- Add
MAX_DIRS
andMAX_FILES
generics toController
to allow an arbitrary numbers of concurrent open directories and files. - Add new constructor method
Controller::new_with_limits(block_device: D, timesource: T) -> Controller<D, T, MAX_DIRS, MAX_FILES>
to create aController
with custom limits.
- Updated to
v2
embedded-hal traits. - Added open support for all modes.
- Added write support for files.
- Added
Info_Sector
tracking for FAT32. - Change directory iteration to look in all the directory's clusters.
- Added
write_test
andcreate_test
. - De-duplicated FAT16 and FAT32 code (rust-embedded-community#10)
- Added
readme=README.md
toCargo.toml
- Reduce delay waiting for response. Big speed improvements.
- Can read blocks from an SD Card using an
embedded_hal::SPI
device and aembedded_hal::OutputPin
for Chip Select. - Can read partition tables and open a FAT32 or FAT16 formatted partition.
- Can open and iterate the root directory of a FAT16 formatted partition.