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 (Sector_t firstSector, Sector_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 isSpi ()
 
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 (Sector_t sector, uint8_t *dst)=0
 
virtual bool readSectors (Sector_t sector, uint8_t *dst, size_t ns)=0
 
virtual Sector_t sectorCount ()=0
 
virtual bool setDedicatedSpi (bool value)
 
virtual uint32_t status ()
 
virtual bool syncDevice ()=0
 
virtual uint8_t type () const =0
 
virtual bool writeSector (Sector_t sector, const uint8_t *src)=0
 
virtual bool writeSectors (Sector_t sector, const uint8_t *src, size_t ns)=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 PioSdioCard, and TeensySdioCard.

◆ end()

virtual void FsBlockDeviceInterface::end ( )
inlinevirtualinherited

end use of device

Reimplemented in PioSdioCard, and TeensySdioCard.

◆ erase()

virtual bool SdCardInterface::erase ( Sector_t firstSector,
Sector_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 PioSdioCard, and TeensySdioCard.

◆ errorCode()

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

Implemented in PioSdioCard, and TeensySdioCard.

◆ errorData()

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

Implemented in PioSdioCard, and TeensySdioCard.

◆ 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 PioSdioCard, and TeensySdioCard.

◆ isDedicatedSpi()

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

◆ isSpi()

virtual bool SdCardInterface::isSpi ( )
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 PioSdioCard, and TeensySdioCard.

◆ 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 PioSdioCard, and TeensySdioCard.

◆ 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 PioSdioCard, and TeensySdioCard.

◆ 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 PioSdioCard, and TeensySdioCard.

◆ 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 PioSdioCard, and TeensySdioCard.

◆ readSector()

virtual bool FsBlockDeviceInterface::readSector ( Sector_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 PioSdioCard, and TeensySdioCard.

◆ readSectors()

virtual bool FsBlockDeviceInterface::readSectors ( Sector_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 PioSdioCard, and TeensySdioCard.

◆ sectorCount()

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

Implemented in PioSdioCard, and TeensySdioCard.

◆ 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 PioSdioCard, and TeensySdioCard.

◆ 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 PioSdioCard, and TeensySdioCard.

◆ 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 PioSdioCard, and TeensySdioCard.

◆ writeSector()

virtual bool FsBlockDeviceInterface::writeSector ( Sector_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 PioSdioCard, and TeensySdioCard.

◆ writeSectors()

virtual bool FsBlockDeviceInterface::writeSectors ( Sector_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 PioSdioCard, and TeensySdioCard.


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