SdFat
Public Member Functions | List of all members
SdioCard Class Reference

Raw SDIO access to SD and SDHC flash memory cards. More...

#include <SdioCard.h>

Inheritance diagram for SdioCard:
Inheritance graph
[legend]
Collaboration diagram for SdioCard:
Collaboration graph
[legend]

Public Member Functions

bool begin (SdioConfig sdioConfig)
 
bool end ()
 
bool erase (uint32_t firstSector, uint32_t lastSector)
 
uint8_t errorCode () const
 
uint32_t errorData () const
 
uint32_t errorLine () const
 
bool isBusy ()
 
uint32_t kHzSdClk ()
 
bool readCID (cid_t *cid)
 
bool readCSD (csd_t *csd)
 
bool readData (uint8_t *dst)
 
bool readOCR (uint32_t *ocr)
 
bool readSector (uint32_t sector, uint8_t *dst)
 
bool readSectors (uint32_t sector, uint8_t *dst, size_t ns)
 
bool readStart (uint32_t sector)
 
bool readStart (uint32_t sector, uint32_t count)
 
bool readStop ()
 
uint32_t sectorCount ()
 
uint32_t status ()
 
bool syncDevice ()
 
uint8_t type () const
 
bool writeData (const uint8_t *src)
 
bool writeSector (uint32_t sector, const uint8_t *src)
 
bool writeSectors (uint32_t sector, const uint8_t *src, size_t ns)
 
bool writeStart (uint32_t sector)
 
bool writeStart (uint32_t sector, uint32_t count)
 
bool writeStop ()
 

Detailed Description

Raw SDIO access to SD and SDHC flash memory cards.

Member Function Documentation

◆ begin()

bool SdioCard::begin ( SdioConfig  sdioConfig)

Initialize the SD card.

Parameters
[in]sdioConfigSDIO card configuration.
Returns
true for success or false for failure.

◆ end()

bool SdioCard::end ( )
inline

Disable an SDIO card.

Returns
false - not implemented.

◆ erase()

bool SdioCard::erase ( uint32_t  firstSector,
uint32_t  lastSector 
)
virtual

Erase a range of sectors.

Parameters
[in]firstSectorThe address of the first sector in the range.
[in]lastSectorThe address of the last sector in the range.
Note
This function requests the SD card to do a flash erase for a range of sectors. The data on the card after an erase operation is either 0 or 1, depends on the card vendor. The card must support single sector erase.
Returns
true for success or false for failure.

Implements SdCardInterface.

◆ errorCode()

uint8_t SdioCard::errorCode ( ) const
virtual
Returns
code for the last error. See SdCardInfo.h for a list of error codes.

Implements SdCardInterface.

◆ errorData()

uint32_t SdioCard::errorData ( ) const
virtual
Returns
error data for last error.

Implements SdCardInterface.

◆ errorLine()

uint32_t SdioCard::errorLine ( ) const
Returns
error line for last error. Tmp function for debug.

◆ isBusy()

bool SdioCard::isBusy ( )
virtual

Check for busy with CMD13.

Returns
true if busy else false.

Implements SdCardInterface.

◆ kHzSdClk()

uint32_t SdioCard::kHzSdClk ( )
Returns
the SD clock frequency in kHz.

◆ readCID()

bool SdioCard::readCID ( cid_t cid)
virtual

Read a card's CID register. The CID contains card identification information such as Manufacturer ID, Product name, Product serial number and Manufacturing date.

Parameters
[out]cidpointer to area for returned data.
Returns
true for success or false for failure.

Implements SdCardInterface.

◆ readCSD()

bool SdioCard::readCSD ( csd_t *  csd)
virtual

Read a card's CSD register. The CSD contains Card-Specific Data that provides information regarding access to the card's contents.

Parameters
[out]csdpointer to area for returned data.
Returns
true for success or false for failure.

Implements SdCardInterface.

◆ readData()

bool SdioCard::readData ( uint8_t *  dst)

Read one data sector in a multiple sector read sequence

Parameters
[out]dstPointer to the location for the data to be read.
Returns
true for success or false for failure.

◆ readOCR()

bool SdioCard::readOCR ( uint32_t *  ocr)
virtual

Read OCR register.

Parameters
[out]ocrValue of OCR register.
Returns
true for success or false for failure.

Implements SdCardInterface.

◆ readSector()

bool SdioCard::readSector ( uint32_t  sector,
uint8_t *  dst 
)
virtual

Read a 512 byte sector from an SD card.

Parameters
[in]sectorLogical sector to be read.
[out]dstPointer to the location that will receive the data.
Returns
true for success or false for failure.

Implements BlockDeviceInterface.

◆ readSectors()

bool SdioCard::readSectors ( uint32_t  sector,
uint8_t *  dst,
size_t  ns 
)
virtual

Read multiple 512 byte sectors from an SD card.

Parameters
[in]sectorLogical sector to be read.
[in]nsNumber of sectors to be read.
[out]dstPointer to the location that will receive the data.
Returns
true for success or false for failure.

Implements BlockDeviceInterface.

◆ readStart() [1/2]

bool SdioCard::readStart ( uint32_t  sector)

Start a read multiple sectors sequence.

Parameters
[in]sectorAddress of first sector in sequence.
Note
This function is used with readData() and readStop() for optimized multiple sector reads. SPI chipSelect must be low for the entire sequence.
Returns
true for success or false for failure.

◆ readStart() [2/2]

bool SdioCard::readStart ( uint32_t  sector,
uint32_t  count 
)

Start a read multiple sectors sequence.

Parameters
[in]sectorAddress of first sector in sequence.
[in]countMaximum sector count.
Note
This function is used with readData() and readStop() for optimized multiple sector reads. SPI chipSelect must be low for the entire sequence.
Returns
true for success or false for failure.

◆ readStop()

bool SdioCard::readStop ( )

End a read multiple sectors sequence.

Returns
true for success or false for failure.

◆ sectorCount()

uint32_t SdioCard::sectorCount ( )
virtual

Determine the size of an SD flash memory card.

Returns
The number of 512 byte data sectors in the card or zero if an error occurs.

Implements SdCardInterface.

◆ status()

uint32_t SdioCard::status ( )
virtual
Returns
SDIO card status.

Reimplemented from SdCardInterface.

◆ syncDevice()

bool SdioCard::syncDevice ( )
virtual
Returns
success if sync successful. Not for user apps.

Implements BlockDeviceInterface.

◆ type()

uint8_t SdioCard::type ( ) const
virtual

Return the card type: SD V1, SD V2 or SDHC

Returns
0 - SD V1, 1 - SD V2, or 3 - SDHC.

Implements SdCardInterface.

◆ writeData()

bool SdioCard::writeData ( const uint8_t *  src)
virtual

Write one data sector in a multiple sector write sequence.

Parameters
[in]srcPointer to the location of the data to be written.
Returns
true for success or false for failure.

Implements SdCardInterface.

◆ writeSector()

bool SdioCard::writeSector ( uint32_t  sector,
const uint8_t *  src 
)
virtual

Writes a 512 byte sector to an SD card.

Parameters
[in]sectorLogical sector to be written.
[in]srcPointer to the location of the data to be written.
Returns
true for success or false for failure.

Implements BlockDeviceInterface.

◆ writeSectors()

bool SdioCard::writeSectors ( uint32_t  sector,
const uint8_t *  src,
size_t  ns 
)
virtual

Write multiple 512 byte sectors to an SD card.

Parameters
[in]sectorLogical sector to be written.
[in]nsNumber of sectors to be written.
[in]srcPointer to the location of the data to be written.
Returns
true for success or false for failure.

Implements BlockDeviceInterface.

◆ writeStart() [1/2]

bool SdioCard::writeStart ( uint32_t  sector)
virtual

Start a write multiple sectors sequence.

Parameters
[in]sectorAddress of first sector in sequence.
Note
This function is used with writeData() and writeStop() for optimized multiple sector writes.
Returns
true for success or false for failure.

Implements SdCardInterface.

◆ writeStart() [2/2]

bool SdioCard::writeStart ( uint32_t  sector,
uint32_t  count 
)

Start a write multiple sectors sequence.

Parameters
[in]sectorAddress of first sector in sequence.
[in]countMaximum sector count.
Note
This function is used with writeData() and writeStop() for optimized multiple sector writes.
Returns
true for success or false for failure.

◆ writeStop()

bool SdioCard::writeStop ( )
virtual

End a write multiple sectors sequence.

Returns
true for success or false for failure.

Implements SdCardInterface.


The documentation for this class was generated from the following file: