sd package: sdcard package redesign (#639)

* begin adding sd.Card refactor

* CSD logic shared between V1 and V2

* failing CRC7 implementation

* passing tests

* rename commands

* implement waitToken

* add status string method

* no crc errors in status; closing the gap?

* add config baud increase docs

* remove some of API

* still working on consolidation of init

* fully comply

* add prints

* remove prints

* remove unused API

* add BlockDevice

* implement Card interface

* rename EraseBlocks to EraseSectors

* add blkIdxer

* working BlockDevice

* delete rustref.go; add readme to sd

* add sd/README.md

* sd: backtrack on EraseSectors, stick to block nomenclature

* remove remnants of sector size

* fix examples/sd/main.go

* add documentation, smoke test and fix a couple bugs
This commit is contained in:
Pat Whittingslow
2026-08-21 07:48:11 -03:00
committed by GitHub
parent dc6edbb694
commit e08205477c
9 changed files with 2008 additions and 0 deletions
+8
View File
@@ -0,0 +1,8 @@
// Package sd implements SD card drivers and the SD card specification:
// CID and CSD register decoding, command definitions and CRC7/CRC16 checksums.
//
// The [SPICard] type drives an SD card over a SPI bus and implements the
// [Card] interface, which exposes block-aligned I/O. [BlockDevice] wraps any
// [Card] with byte-addressed [io.ReaderAt]/[io.WriterAt] implementations
// suitable for filesystem libraries such as tinyfs.
package sd