Raw SDIO access to SD and SDHC flash memory cards.
More...
#include <SdioCard.h>
|
| bool | begin (SdioConfig sdioConfig) |
| |
| bool | cardCMD6 (uint32_t arg, uint8_t *status) |
| |
| void | end () |
| |
| bool | erase (uint32_t firstSector, uint32_t lastSector) |
| |
| uint8_t | errorCode () const |
| |
| uint32_t | errorData () const |
| |
| uint32_t | errorLine () const |
| |
| virtual bool | hasDedicatedSpi () |
| |
| bool | isBusy () |
| |
| virtual bool | isDedicatedSpi () |
| |
| uint32_t | kHzSdClk () |
| |
| bool | readCID (cid_t *cid) |
| |
| bool | readCSD (csd_t *csd) |
| |
| bool | readData (uint8_t *dst) |
| |
| bool | readOCR (uint32_t *ocr) |
| |
| bool | readSCR (scr_t *scr) |
| |
| bool | readSDS (sds_t *sds) |
| |
| 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 () |
| |
| virtual bool | setDedicatedSpi (bool value) |
| |
| uint32_t | status () |
| |
| bool | stopTransmission (bool blocking) |
| |
| 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 () |
| |
Raw SDIO access to SD and SDHC flash memory cards.
◆ begin()
Initialize the SD card.
- Parameters
-
| [in] | sdioConfig | SDIO card configuration. |
- Returns
- true for success or false for failure.
◆ cardCMD6()
| bool SdioCard::cardCMD6 |
( |
uint32_t |
arg, |
|
|
uint8_t * |
status |
|
) |
| |
|
virtual |
CMD6 Switch mode: Check Function Set Function.
- Parameters
-
| [in] | arg | CMD6 argument. |
| [out] | status | return status data. |
- Returns
- true for success or false for failure.
Implements SdCardInterface.
◆ end()
◆ erase()
| bool SdioCard::erase |
( |
uint32_t |
firstSector, |
|
|
uint32_t |
lastSector |
|
) |
| |
|
virtual |
Erase a range of sectors.
- Parameters
-
| [in] | firstSector | The address of the first sector in the range. |
| [in] | lastSector | The 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 |
◆ errorData()
| uint32_t SdioCard::errorData |
( |
| ) |
const |
|
virtual |
◆ errorLine()
| uint32_t SdioCard::errorLine |
( |
| ) |
const |
- Returns
- error line for last error. Tmp function for debug.
◆ hasDedicatedSpi()
| virtual bool SdCardInterface::hasDedicatedSpi |
( |
| ) |
|
|
inlinevirtualinherited |
◆ isBusy()
| bool SdioCard::isBusy |
( |
| ) |
|
|
virtual |
◆ isDedicatedSpi()
| virtual bool SdCardInterface::isDedicatedSpi |
( |
| ) |
|
|
inlinevirtualinherited |
◆ 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] | cid | pointer 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] | csd | pointer 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] | dst | Pointer 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] | ocr | Value of OCR register. |
- Returns
- true for success or false for failure.
Implements SdCardInterface.
◆ readSCR()
| bool SdioCard::readSCR |
( |
scr_t * |
scr | ) |
|
|
virtual |
Read SCR register.
- Parameters
-
| [out] | scr | Value of SCR register. |
- Returns
- true for success or false for failure.
Implements SdCardInterface.
◆ readSDS()
| bool SdioCard::readSDS |
( |
sds_t * |
sds | ) |
|
|
virtual |
Return the 64 byte SD Status register.
- Parameters
-
| [out] | sds | location for 64 status bytes. |
- 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] | sector | Logical sector to be read. |
| [out] | dst | Pointer to the location that will receive the data. |
- Returns
- true for success or false for failure.
Implements FsBlockDeviceInterface.
◆ 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] | sector | Logical sector to be read. |
| [in] | ns | Number of sectors to be read. |
| [out] | dst | Pointer to the location that will receive the data. |
- Returns
- true for success or false for failure.
Implements FsBlockDeviceInterface.
◆ readStart() [1/2]
| bool SdioCard::readStart |
( |
uint32_t |
sector | ) |
|
Start a read multiple sectors sequence.
- Parameters
-
| [in] | sector | Address 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] | sector | Address of first sector in sequence. |
| [in] | count | Maximum 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 FsBlockDeviceInterface.
◆ setDedicatedSpi()
| virtual bool SdCardInterface::setDedicatedSpi |
( |
bool |
value | ) |
|
|
inlinevirtualinherited |
Set SPI sharing state
- Parameters
-
- Returns
- false by default.
◆ status()
| uint32_t SdioCard::status |
( |
| ) |
|
|
virtual |
◆ stopTransmission()
| bool SdioCard::stopTransmission |
( |
bool |
blocking | ) |
|
Send CMD12 to stop read or write.
- Parameters
-
| [in] | blocking | If true, wait for command complete. |
- Returns
- true for success or false for failure.
◆ syncDevice()
| bool SdioCard::syncDevice |
( |
| ) |
|
|
virtual |
◆ 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] | src | Pointer 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] | sector | Logical sector to be written. |
| [in] | src | Pointer to the location of the data to be written. |
- Returns
- true for success or false for failure.
Implements FsBlockDeviceInterface.
◆ 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] | sector | Logical sector to be written. |
| [in] | ns | Number of sectors to be written. |
| [in] | src | Pointer to the location of the data to be written. |
- Returns
- true for success or false for failure.
Implements FsBlockDeviceInterface.
◆ writeStart() [1/2]
| bool SdioCard::writeStart |
( |
uint32_t |
sector | ) |
|
|
virtual |
Start a write multiple sectors sequence.
- Parameters
-
| [in] | sector | Address 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] | sector | Address of first sector in sequence. |
| [in] | count | Maximum 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:
- ArduinoSdFat/libraries/SdFat/src/SdCard/SdioCard.h