SdFat
Loading...
Searching...
No Matches
Public Member Functions | List of all members
SdCardInterface Class Referenceabstract

Abstract interface for an SD card. More...

#include <SdCardInterface.h>

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

Public Member Functions

virtual bool cardCMD6 (uint32_t arg, uint8_t *status)=0
 
virtual void end ()
 
virtual bool erase (uint32_t firstSector, uint32_t lastSector)=0
 
virtual uint8_t errorCode () const =0
 
virtual uint32_t errorData () const =0
 
virtual bool hasDedicatedSpi ()
 
virtual bool isBusy ()=0
 
virtual bool isDedicatedSpi ()
 
virtual bool readCID (cid_t *cid)=0
 
virtual bool readCSD (csd_t *csd)=0
 
virtual bool readOCR (uint32_t *ocr)=0
 
virtual bool readSCR (scr_t *scr)=0
 
virtual bool readSDS (sds_t *sds)=0
 
virtual bool readSector (uint32_t sector, uint8_t *dst)=0
 
virtual bool readSectors (uint32_t sector, uint8_t *dst, size_t ns)=0
 
virtual uint32_t sectorCount ()=0
 
virtual bool setDedicatedSpi (bool value)
 
virtual uint32_t status ()
 
virtual bool syncDevice ()=0
 
virtual uint8_t type () const =0
 
virtual bool writeData (const uint8_t *src)=0
 
virtual bool writeSector (uint32_t sector, const uint8_t *src)=0
 
virtual bool writeSectors (uint32_t sector, const uint8_t *src, size_t ns)=0
 
virtual bool writeStart (uint32_t sector)=0
 
virtual bool writeStop ()=0
 

Detailed Description

Abstract interface for an SD card.

Member Function Documentation

◆ cardCMD6()

virtual bool SdCardInterface::cardCMD6 ( uint32_t  arg,
uint8_t *  status 
)
pure virtual

CMD6 Switch mode: Check Function Set Function.

Parameters
[in]argCMD6 argument.
[out]statusreturn status data.
Returns
true for success or false for failure.

Implemented in SdioCard.

◆ end()

virtual void FsBlockDeviceInterface::end ( )
inlinevirtualinherited

end use of device

Reimplemented in SdioCard.

◆ erase()

virtual bool SdCardInterface::erase ( uint32_t  firstSector,
uint32_t  lastSector 
)
pure 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.
Returns
true for success or false for failure.

Implemented in SdioCard.

◆ errorCode()

virtual uint8_t SdCardInterface::errorCode ( ) const
pure virtual
Returns
error code.

Implemented in SdioCard.

◆ errorData()

virtual uint32_t SdCardInterface::errorData ( ) const
pure virtual
Returns
error data.

Implemented in SdioCard.

◆ hasDedicatedSpi()

virtual bool SdCardInterface::hasDedicatedSpi ( )
inlinevirtual
Returns
false by default

◆ isBusy()

virtual bool FsBlockDeviceInterface::isBusy ( )
pure virtualinherited

Check for FsBlockDevice busy.

Returns
true if busy else false.

Implemented in SdioCard.

◆ isDedicatedSpi()

virtual bool SdCardInterface::isDedicatedSpi ( )
inlinevirtual
Returns
false by default

◆ readCID()

virtual bool SdCardInterface::readCID ( cid_t cid)
pure virtual

Read a card's CID register.

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

Implemented in SdioCard.

◆ readCSD()

virtual bool SdCardInterface::readCSD ( csd_t csd)
pure virtual

Read a card's CSD register.

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

Implemented in SdioCard.

◆ readOCR()

virtual bool SdCardInterface::readOCR ( uint32_t *  ocr)
pure virtual

Read OCR register.

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

Implemented in SdioCard.

◆ readSCR()

virtual bool SdCardInterface::readSCR ( scr_t scr)
pure virtual

Read SCR register.

Parameters
[out]scrValue of SCR register.
Returns
true for success or false for failure.

Implemented in SdioCard.

◆ readSDS()

virtual bool SdCardInterface::readSDS ( sds_t sds)
pure virtual

Return the 64 byte SD Status register.

Parameters
[out]sdslocation for 64 status bytes.
Returns
true for success or false for failure.

Implemented in SdioCard.

◆ readSector()

virtual bool FsBlockDeviceInterface::readSector ( uint32_t  sector,
uint8_t *  dst 
)
pure virtualinherited

Read a sector.

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.

Implemented in SdioCard.

◆ readSectors()

virtual bool FsBlockDeviceInterface::readSectors ( uint32_t  sector,
uint8_t *  dst,
size_t  ns 
)
pure virtualinherited

Read multiple sectors.

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.

Implemented in SdioCard.

◆ sectorCount()

virtual uint32_t FsBlockDeviceInterface::sectorCount ( )
pure virtualinherited
Returns
device size in sectors.

Implemented in SdioCard.

◆ setDedicatedSpi()

virtual bool SdCardInterface::setDedicatedSpi ( bool  value)
inlinevirtual

Set SPI sharing state

Parameters
[in]valuedesired state.
Returns
false by default.

◆ status()

virtual uint32_t SdCardInterface::status ( )
inlinevirtual
Returns
card status.

Reimplemented in SdioCard.

◆ syncDevice()

virtual bool FsBlockDeviceInterface::syncDevice ( )
pure virtualinherited

End multi-sector transfer and go to idle state.

Returns
true for success or false for failure.

Implemented in SdioCard.

◆ type()

virtual uint8_t SdCardInterface::type ( ) const
pure virtual

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

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

Implemented in SdioCard.

◆ writeData()

virtual bool SdCardInterface::writeData ( const uint8_t *  src)
pure 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.

Implemented in SdioCard.

◆ writeSector()

virtual bool FsBlockDeviceInterface::writeSector ( uint32_t  sector,
const uint8_t *  src 
)
pure virtualinherited

Writes a sector.

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.

Implemented in SdioCard.

◆ writeSectors()

virtual bool FsBlockDeviceInterface::writeSectors ( uint32_t  sector,
const uint8_t *  src,
size_t  ns 
)
pure virtualinherited

Write multiple sectors.

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.

Implemented in SdioCard.

◆ writeStart()

virtual bool SdCardInterface::writeStart ( uint32_t  sector)
pure virtual

Start a write multiple sectors sequence.

Parameters
[in]sectorAddress of first sector in sequence.
Returns
true for success or false for failure.

Implemented in SdioCard.

◆ writeStop()

virtual bool SdCardInterface::writeStop ( )
pure virtual

End a write multiple sectors sequence.

Returns
true for success or false for failure.

Implemented in SdioCard.


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