Crate embedded_sdmmc
source ·Expand description
embedded-sdmmc-rs - A SD/MMC Library written in Embedded Rust
Structs
Indicates whether a directory entry is read-only, a directory, a volume
label, etc.
Represents a standard 512 byte block (also known as a sector). IBM PC
formatted 5.25“ and 3.5“ floppy disks, SD/MMC cards up to 1 GiB in size
and IDE/SATA Hard Drives up to about 2 TiB all have 512 byte blocks.
Represents the a number of blocks (or sectors). Add this to a
BlockIdx
to get an actual address on disk.Represents the linear numeric address of a block (or sector). The first
block on a disk gets
BlockIdx(0)
(which usually contains the Master Boot
Record).Represents a cluster on disk.
A
Controller
wraps a block device and gives access to the volumes within it.Represents a directory entry, which tells you about
other files and directories.
Represents an open directory on disk.
Identifies a FAT16 Volume on the disk.
Identifies a FAT32 Volume on the disk.
Represents an open file on disk.
Represents an SD Card interface built from an SPI peripheral and a Chip
Select pin. We need Chip Select to be separate so we can clock out some
bytes without Chip Select asserted (which puts the card into SPI mode).
An MS-DOS 8.3 filename. 7-bit ASCII only. All lower-case is converted to
upper-case by default.
Represents an instant in time, in the local time zone. TODO: Consider
replacing this with POSIX time as a
u32
, which would save two bytes at
the expense of some maths.Represents a partition with a filesystem within it.
A
VolumeIdx
is a number which identifies a volume (or partition) on a
disk. VolumeIdx(0)
is the first primary partition on an MBR partitioned
disk.Enums
Represents all the ways the functions in this crate can fail.
Various filename related errors that can occur.
The different ways we can open a file.
The possible errors
SdMmcSpi
can generate.This enum holds the data for the various different types of filesystems we
support.
Constants
We have to track what directories are open to prevent users from modifying
open directories (like creating a file when we have an open iterator).
We have to track what files and directories are open to prevent users from
deleting open files (like Windows does).
Traits
Represents a block device - a device which can read and write blocks (or
sectors). Only supports devices which are <= 2 TiB in size.
Things that impl this can tell you the current time.