:mod:`sdcardio` =============== .. py:module:: sdcardio .. autoapi-nested-parse:: Interface to an SD card via the SPI bus .. py:class:: SDCard(bus: busio.SPI, cs: microcontroller.Pin, baudrate: int = 8000000) SD Card Block Interface Controls an SD card over SPI. This built-in module has higher read performance than the library adafruit_sdcard, but it is only compatible with `busio.SPI`, not `bitbangio.SPI`. Usually an SDCard object is used with ``storage.VfsFat`` to allow file I/O to an SD card. Construct an SPI SD Card object with the given properties :param busio.SPI spi: The SPI bus :param microcontroller.Pin cs: The chip select connected to the card :param int baudrate: The SPI data rate to use after card setup Note that during detection and configuration, a hard-coded low baudrate is used. Data transfers use the specified baurate (rounded down to one that is supported by the microcontroller) Example usage: .. code-block:: python import os import board import sdcardio import storage sd = sdcardio.SDCard(board.SPI(), board.SD_CS) vfs = storage.VfsFat(sd) storage.mount(vfs, '/sd') os.listdir('/sd') .. method:: count(self) -> int Returns the total number of sectors Due to technical limitations, this is a function and not a property. :return: The number of 512-byte blocks, as a number .. method:: deinit(self) -> None Disable permanently. :return: None .. method:: readblocks(self, start_block: int, buf: WriteableBuffer) -> None Read one or more blocks from the card :param int start_block: The block to start reading from :param ~_typing.WriteableBuffer buf: The buffer to write into. Length must be multiple of 512. :return: None .. method:: writeblocks(self, start_block: int, buf: ReadableBuffer) -> None Write one or more blocks to the card :param int start_block: The block to start writing from :param ~_typing.ReadableBuffer buf: The buffer to read from. Length must be multiple of 512. :return: None