SdFat

Public Member Functions | Static Public Attributes | List of all members
DedicatedSpiCard Class Reference

Raw access to SD and SDHC flash memory cards via dedicate SPI port. More...

`#include <SdSpiCard.h>`

Inheritance diagram for DedicatedSpiCard:
[legend]
Collaboration diagram for DedicatedSpiCard:
[legend]

## Public Member Functions
bool | begin (SdSpiConfig spiConfig)
| DedicatedSpiCard ()
void | end ()
bool | erase (uint32_t firstSector, uint32_t lastSector)
bool | eraseSingleSectorEnable ()
void | error (uint8_t code)
uint8_t | errorCode () const
uint32_t | errorData () const
bool | hasDedicatedSpi ()
bool | isBusy ()
bool | isDedicatedSpi ()
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 | readStatus (uint8_t *status)
bool | readStop ()
uint8_t | sdState ()
uint32_t | sectorCount ()
bool | setDedicatedSpi (bool value)
bool | stopTransfer ()
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 | writeStop ()

## Static Public Attributes
static const uint8_t | IDLE_STATE = 0
static const uint8_t | READ_STATE = 1
static const uint8_t | WRITE_STATE = 2

## Detailed Description

Raw access to SD and SDHC flash memory cards via dedicate SPI port.

## Constructor & Destructor Documentation

## ◆ DedicatedSpiCard()

DedicatedSpiCard::DedicatedSpiCard | ( |  | ) |
| inline

Construct an instance of DedicatedSpiCard.

## Member Function Documentation

## ◆ begin()

bool DedicatedSpiCard::begin | ( | SdSpiConfig | spiConfig | ) |

Initialize the SD card.

Parameters

  [in] | spiConfig | SPI card configuration.

Returns
  true for success or false for failure.

## ◆ end()

void SharedSpiCard::end | ( |  | ) |
| inline inherited

End use of card

## ◆ erase()

bool SharedSpiCard::erase | ( | uint32_t | firstSector,
|  | uint32_t | lastSector
| ) |  |
| inherited

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.

## ◆ eraseSingleSectorEnable()

bool SharedSpiCard::eraseSingleSectorEnable | ( |  | ) |
| inherited

Determine if card supports single sector erase.

Returns
  true is returned if single sector erase is supported. false is returned if single sector erase is not supported.

## ◆ error()

void SharedSpiCard::error | ( | uint8_t | code | ) |
| inline inherited

Set SD error code.

Parameters

  [in] | code | value for error code.

## ◆ errorCode()

uint8_t SharedSpiCard::errorCode | ( |  | ) | const
| inline inherited

Returns
  code for the last error. See SdCardInfo.h for a list of error codes.

## ◆ errorData()

uint32_t SharedSpiCard::errorData | ( |  | ) | const
| inline inherited

Returns
  error data for last error.

## ◆ hasDedicatedSpi()

bool DedicatedSpiCard::hasDedicatedSpi | ( |  | ) |
| inline

Returns
  true, can be in dedicaded state.

## ◆ isBusy()

bool SharedSpiCard::isBusy | ( |  | ) |
| inherited

Check for busy. MISO low indicates the card is busy.

Returns
  true if busy else false.

## ◆ isDedicatedSpi()

bool DedicatedSpiCard::isDedicatedSpi | ( |  | ) |
| inline

Returns
  true if in dedicated SPI state.

## ◆ readCID()

bool SharedSpiCard::readCID | ( | cid_t * | cid | ) |
| inline inherited

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.

## ◆ readCSD()

bool SharedSpiCard::readCSD | ( | csd_t * | csd | ) |
| inline inherited

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.

## ◆ readData()

bool SharedSpiCard::readData | ( | uint8_t * | dst | ) |
| inherited

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 SharedSpiCard::readOCR | ( | uint32_t * | ocr | ) |
| inherited

Read OCR register.

Parameters

  [out] | ocr | Value of OCR register.

Returns
  true for success or false for failure.

## ◆ readSector()

bool DedicatedSpiCard::readSector | ( | uint32_t | sector,
|  | uint8_t * | dst
| ) |  |

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.

## ◆ readSectors()

bool DedicatedSpiCard::readSectors | ( | uint32_t | sector,
|  | uint8_t * | dst,
|  | size_t | ns
| ) |  |

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.

## ◆ readStart()

bool SharedSpiCard::readStart | ( | uint32_t | sector | ) |
| inherited

Start a read multiple sector 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.

## ◆ readStatus()

bool SharedSpiCard::readStatus | ( | uint8_t * | status | ) |
| inherited

Return the 64 byte card status

Parameters

  [out] | status | location for 64 status bytes.

Returns
  true for success or false for failure.

## ◆ readStop()

bool SharedSpiCard::readStop | ( |  | ) |
| inherited

End a read multiple sectors sequence.

Returns
  true for success or false for failure.

## ◆ sdState()

uint8_t SharedSpiCard::sdState | ( |  | ) |
| inline inherited

Returns
  SD multi-sector read/write state

## ◆ sectorCount()

uint32_t SharedSpiCard::sectorCount | ( |  | ) |
| inherited

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.

## ◆ setDedicatedSpi()

bool DedicatedSpiCard::setDedicatedSpi | ( | bool | value | ) |

Set SPI sharing state

Parameters

  [in] | value | desired state.

Returns
  true for success else false;

## ◆ stopTransfer()

bool SharedSpiCard::stopTransfer | ( |  | ) |
| inherited

end a mult-sector transfer.

Returns
  true for success or false for failure.

## ◆ syncDevice()

bool SharedSpiCard::syncDevice | ( |  | ) |
| inherited

Returns
  success if sync successful. Not for user apps.

## ◆ type()

uint8_t SharedSpiCard::type | ( |  | ) | const
| inline inherited

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

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

## ◆ writeData()

bool SharedSpiCard::writeData | ( | const uint8_t * | src | ) |
| inherited

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.

## ◆ writeSector()

bool DedicatedSpiCard::writeSector | ( | uint32_t | sector,
|  | const uint8_t * | src
| ) |  |

Write 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.

## ◆ writeSectors()

bool DedicatedSpiCard::writeSectors | ( | uint32_t | sector,
|  | const uint8_t * | src,
|  | size_t | ns
| ) |  |

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.

## ◆ writeStart()

bool SharedSpiCard::writeStart | ( | uint32_t | sector | ) |
| inherited

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.

## ◆ writeStop()

bool SharedSpiCard::writeStop | ( |  | ) |
| inherited

End a write multiple sectors sequence.

Returns
  true for success or false for failure.

## Member Data Documentation

## ◆ IDLE_STATE

const uint8_t SharedSpiCard::IDLE_STATE = 0
| static inherited

SD is in idle state

## ◆ READ_STATE

const uint8_t SharedSpiCard::READ_STATE = 1
| static inherited

SD is in multi-sector read state.

## ◆ WRITE_STATE

const uint8_t SharedSpiCard::WRITE_STATE = 2
| static inherited

SD is in multi-sector write state.

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

- ArduinoSdFat/libraries/SdFat/src/SdCard/SdSpiCard.h
- ArduinoSdFat/libraries/SdFat/src/SdCard/SdSpiCard.cpp