Raw access to SD and SDHC flash memory cards via SPI protocol.  
 More...
#include <SdSpiCard.h>
|  | 
| bool | begin (SdSpiDriver *spi, uint8_t csPin, SPISettings spiSettings) | 
|  | 
| uint32_t | cardSize () | 
|  | 
| bool | erase (uint32_t firstBlock, uint32_t lastBlock) | 
|  | 
| bool | eraseSingleBlockEnable () | 
|  | 
| void | error (uint8_t code) | 
|  | 
| int | errorCode () const | 
|  | 
| int | errorData () const | 
|  | 
| bool | isBusy () | 
|  | 
| bool | readBlock (uint32_t lba, uint8_t *dst) | 
|  | 
| bool | readBlocks (uint32_t lba, uint8_t *dst, size_t nb) | 
|  | 
| bool | readCID (cid_t *cid) | 
|  | 
| bool | readCSD (csd_t *csd) | 
|  | 
| bool | readData (uint8_t *dst) | 
|  | 
| bool | readOCR (uint32_t *ocr) | 
|  | 
| bool | readStart (uint32_t blockNumber) | 
|  | 
| bool | readStatus (uint8_t *status) | 
|  | 
| bool | readStop () | 
|  | 
|  | SdSpiCard () | 
|  | 
| void | spiStart () | 
|  | 
| void | spiStop () | 
|  | 
| bool | syncBlocks () | 
|  | 
| int | type () const | 
|  | 
| bool | writeBlock (uint32_t lba, const uint8_t *src) | 
|  | 
| bool | writeBlocks (uint32_t lba, const uint8_t *src, size_t nb) | 
|  | 
| bool | writeData (const uint8_t *src) | 
|  | 
| bool | writeStart (uint32_t blockNumber) | 
|  | 
| bool | writeStart (uint32_t blockNumber, uint32_t eraseCount) | 
|  | 
| bool | writeStop () | 
|  | 
Raw access to SD and SDHC flash memory cards via SPI protocol. 
      
        
          | bool SdSpiCard::begin | ( | SdSpiDriver * | spi, | 
        
          |  |  | uint8_t | csPin, | 
        
          |  |  | SPISettings | spiSettings | 
        
          |  | ) |  |  | 
      
 
Initialize the SD card. 
- Parameters
- 
  
    | [in] | spi | SPI driver for card. |  | [in] | csPin | card chip select pin. |  | [in] | spiSettings | SPI speed, mode, and bit order. |  
 
- Returns
- true for success else false. 
 
 
      
        
          | uint32_t SdSpiCard::cardSize | ( |  | ) |  | 
      
 
Determine the size of an SD flash memory card.
- Returns
- The number of 512 byte data blocks in the card or zero if an error occurs. 
 
 
      
        
          | bool SdSpiCard::erase | ( | uint32_t | firstBlock, | 
        
          |  |  | uint32_t | lastBlock | 
        
          |  | ) |  |  | 
      
 
Erase a range of blocks.
- Parameters
- 
  
    | [in] | firstBlock | The address of the first block in the range. |  | [in] | lastBlock | The address of the last block in the range. |  
 
- Note
- This function requests the SD card to do a flash erase for a range of blocks. The data on the card after an erase operation is either 0 or 1, depends on the card vendor. The card must support single block erase.
- Returns
- The value true is returned for success and the value false is returned for failure. 
 
 
      
        
          | bool SdSpiCard::eraseSingleBlockEnable | ( |  | ) |  | 
      
 
Determine if card supports single block erase.
- Returns
- true is returned if single block erase is supported. false is returned if single block erase is not supported. 
 
 
  
  | 
        
          | void SdSpiCard::error | ( | uint8_t | code | ) |  |  | inline | 
 
Set SD error code. 
- Parameters
- 
  
    | [in] | code | value for error code. |  
 
 
 
  
  | 
        
          | int SdSpiCard::errorCode | ( |  | ) | const |  | inline | 
 
- Returns
- code for the last error. See SdInfo.h for a list of error codes. 
 
 
  
  | 
        
          | int SdSpiCard::errorData | ( |  | ) | const |  | inline | 
 
- Returns
- error data for last error. 
 
 
      
        
          | bool SdSpiCard::isBusy | ( |  | ) |  | 
      
 
Check for busy. MISO low indicates the card is busy.
- Returns
- true if busy else false. 
 
 
      
        
          | bool SdSpiCard::readBlock | ( | uint32_t | lba, | 
        
          |  |  | uint8_t * | dst | 
        
          |  | ) |  |  | 
      
 
Read a 512 byte block from an SD card.
- Parameters
- 
  
    | [in] | lba | Logical block to be read. |  | [out] | dst | Pointer to the location that will receive the data. |  
 
- Returns
- The value true is returned for success and the value false is returned for failure. 
 
 
      
        
          | bool SdSpiCard::readBlocks | ( | uint32_t | lba, | 
        
          |  |  | uint8_t * | dst, | 
        
          |  |  | size_t | nb | 
        
          |  | ) |  |  | 
      
 
Read multiple 512 byte blocks from an SD card.
- Parameters
- 
  
    | [in] | lba | Logical block to be read. |  | [in] | nb | Number of blocks to be read. |  | [out] | dst | Pointer to the location that will receive the data. |  
 
- Returns
- The value true is returned for success and the value false is returned for failure. 
 
 
  
  | 
        
          | bool SdSpiCard::readCID | ( | cid_t * | cid | ) |  |  | inline | 
 
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. 
 
 
  
  | 
        
          | bool SdSpiCard::readCSD | ( | csd_t * | csd | ) |  |  | inline | 
 
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. 
 
 
      
        
          | bool SdSpiCard::readData | ( | uint8_t * | dst | ) |  | 
      
 
Read one data block in a multiple block read sequence
- Parameters
- 
  
    | [out] | dst | Pointer to the location for the data to be read. |  
 
- Returns
- The value true is returned for success and the value false is returned for failure. 
 
 
      
        
          | bool SdSpiCard::readOCR | ( | uint32_t * | ocr | ) |  | 
      
 
Read OCR register.
- Parameters
- 
  
    | [out] | ocr | Value of OCR register. |  
 
- Returns
- true for success else false. 
 
 
      
        
          | bool SdSpiCard::readStart | ( | uint32_t | blockNumber | ) |  | 
      
 
Start a read multiple blocks sequence.
- Parameters
- 
  
    | [in] | blockNumber | Address of first block in sequence. |  
 
- Note
- This function is used with readData() and readStop() for optimized multiple block reads. SPI chipSelect must be low for the entire sequence.
- Returns
- The value true is returned for success and the value false is returned for failure. 
 
 
      
        
          | bool SdSpiCard::readStatus | ( | uint8_t * | status | ) |  | 
      
 
Return the 64 byte card status 
- Parameters
- 
  
    | [out] | status | location for 64 status bytes. |  
 
- Returns
- The value true is returned for success and the value false is returned for failure. 
 
 
      
        
          | bool SdSpiCard::readStop | ( |  | ) |  | 
      
 
End a read multiple blocks sequence.
- Returns
- The value true is returned for success and the value false is returned for failure. 
 
 
      
        
          | void SdSpiCard::spiStart | ( |  | ) |  | 
      
 
Set CS low and activate the card. 
 
 
      
        
          | void SdSpiCard::spiStop | ( |  | ) |  | 
      
 
Set CS high and deactivate the card. 
 
 
  
  | 
        
          | bool SdSpiCard::syncBlocks | ( |  | ) |  |  | inline | 
 
- Returns
- success if sync successful. Not for user apps. 
 
 
  
  | 
        
          | int SdSpiCard::type | ( |  | ) | const |  | inline | 
 
Return the card type: SD V1, SD V2 or SDHC 
- Returns
- 0 - SD V1, 1 - SD V2, or 3 - SDHC. 
 
 
      
        
          | bool SdSpiCard::writeBlock | ( | uint32_t | lba, | 
        
          |  |  | const uint8_t * | src | 
        
          |  | ) |  |  | 
      
 
Writes a 512 byte block to an SD card.
- Parameters
- 
  
    | [in] | lba | Logical block to be written. |  | [in] | src | Pointer to the location of the data to be written. |  
 
- Returns
- The value true is returned for success and the value false is returned for failure. 
 
 
      
        
          | bool SdSpiCard::writeBlocks | ( | uint32_t | lba, | 
        
          |  |  | const uint8_t * | src, | 
        
          |  |  | size_t | nb | 
        
          |  | ) |  |  | 
      
 
Write multiple 512 byte blocks to an SD card.
- Parameters
- 
  
    | [in] | lba | Logical block to be written. |  | [in] | nb | Number of blocks to be written. |  | [in] | src | Pointer to the location of the data to be written. |  
 
- Returns
- The value true is returned for success and the value false is returned for failure. 
 
 
      
        
          | bool SdSpiCard::writeData | ( | const uint8_t * | src | ) |  | 
      
 
Write one data block in a multiple block write sequence. 
- Parameters
- 
  
    | [in] | src | Pointer to the location of the data to be written. |  
 
- Returns
- The value true is returned for success and the value false is returned for failure. 
 
 
      
        
          | bool SdSpiCard::writeStart | ( | uint32_t | blockNumber | ) |  | 
      
 
Start a write multiple blocks sequence.
- Parameters
- 
  
    | [in] | blockNumber | Address of first block in sequence. |  
 
- Note
- This function is used with writeData() and writeStop() for optimized multiple block writes.
- Returns
- The value true is returned for success and the value false is returned for failure. 
 
 
      
        
          | bool SdSpiCard::writeStart | ( | uint32_t | blockNumber, | 
        
          |  |  | uint32_t | eraseCount | 
        
          |  | ) |  |  | 
      
 
Start a write multiple blocks sequence with pre-erase.
- Parameters
- 
  
    | [in] | blockNumber | Address of first block in sequence. |  | [in] | eraseCount | The number of blocks to be pre-erased. |  
 
- Note
- This function is used with writeData() and writeStop() for optimized multiple block writes.
- Returns
- The value true is returned for success and the value false is returned for failure. 
 
 
      
        
          | bool SdSpiCard::writeStop | ( |  | ) |  | 
      
 
End a write multiple blocks sequence.
- Returns
- The value true is returned for success and the value false is returned for failure. 
 
 
The documentation for this class was generated from the following files:
- Arduino/libraries/SdFat/src/SdCard/SdSpiCard.h
- Arduino/libraries/SdFat/src/SdCard/SdSpiCard.cpp