Repetier-Firmware 0.2
Sd2Card Class Reference

Raw access to SD and SDHC flash memory cards. More...

#include <Sd2Card.h>

Public Member Functions

 Sd2Card (void)
uint32_t cardSize (void)
uint8_t erase (uint32_t firstBlock, uint32_t lastBlock)
uint8_t eraseSingleBlockEnable (void)
uint8_t errorCode (void) const
uint8_t errorData (void) const
uint8_t init (void)
uint8_t init (uint8_t sckRateID)
uint8_t init (uint8_t sckRateID, uint8_t chipSelectPin)
void partialBlockRead (uint8_t value)
uint8_t partialBlockRead (void) const
uint8_t readBlock (uint32_t block, uint8_t *dst)
uint8_t readData (uint32_t block, uint16_t offset, uint16_t count, uint8_t *dst)
uint8_t readCID (cid_t *cid)
uint8_t readCSD (csd_t *csd)
void readEnd (void)
uint8_t setSckRate (uint8_t sckRateID)
uint8_t type (void) const
uint8_t writeBlock (uint32_t blockNumber, const uint8_t *src)
uint8_t writeData (const uint8_t *src)
uint8_t writeStart (uint32_t blockNumber, uint32_t eraseCount)
uint8_t writeStop (void)

Private Member Functions

uint8_t cardAcmd (uint8_t cmd, uint32_t arg)
uint8_t cardCommand (uint8_t cmd, uint32_t arg)
void error (uint8_t code)
uint8_t readRegister (uint8_t cmd, void *buf)
uint8_t sendWriteCommand (uint32_t blockNumber, uint32_t eraseCount)
void chipSelectHigh (void)
void chipSelectLow (void)
void type (uint8_t value)
uint8_t waitNotBusy (uint16_t timeoutMillis)
uint8_t writeData (uint8_t token, const uint8_t *src)
uint8_t waitStartBlock (void)

Private Attributes

uint32_t block_
uint8_t chipSelectPin_
uint8_t errorCode_
uint8_t inBlock_
uint16_t offset_
uint8_t partialBlockRead_
uint8_t status_
uint8_t type_

Detailed Description

Raw access to SD and SDHC flash memory cards.


Constructor & Destructor Documentation

Sd2Card ( void  ) [inline]

Construct an instance of Sd2Card.


Member Function Documentation

uint8_t cardAcmd ( uint8_t  cmd,
uint32_t  arg 
) [inline, private]
uint8_t cardCommand ( uint8_t  cmd,
uint32_t  arg 
) [private]
uint32_t cardSize ( void  )
void chipSelectHigh ( void  ) [private]
void chipSelectLow ( void  ) [private]
uint8_t erase ( uint32_t  firstBlock,
uint32_t  lastBlock 
)
uint8_t eraseSingleBlockEnable ( void  )
void error ( uint8_t  code) [inline, private]
uint8_t errorCode ( void  ) const [inline]
Returns:
error code for last error. See Sd2Card.h for a list of error codes.
uint8_t errorData ( void  ) const [inline]
Returns:
error data for last error.
uint8_t init ( uint8_t  sckRateID,
uint8_t  chipSelectPin 
)
uint8_t init ( void  ) [inline]

Initialize an SD flash memory card with default clock rate and chip select pin. See sd2Card::init(uint8_t sckRateID, uint8_t chipSelectPin).

uint8_t init ( uint8_t  sckRateID) [inline]

Initialize an SD flash memory card with the selected SPI clock rate and the default SD chip select pin. See sd2Card::init(uint8_t sckRateID, uint8_t chipSelectPin).

void partialBlockRead ( uint8_t  value)
uint8_t partialBlockRead ( void  ) const [inline]

Returns the current value, true or false, for partial block read.

uint8_t readBlock ( uint32_t  block,
uint8_t *  dst 
)
uint8_t readCID ( cid_t cid) [inline]

Read a cards CID register. The CID contains card identification information such as Manufacturer ID, Product name, Product serial number and Manufacturing date.

uint8_t readCSD ( csd_t csd) [inline]

Read a cards CSD register. The CSD contains Card-Specific Data that provides information regarding access to the card's contents.

uint8_t readData ( uint32_t  block,
uint16_t  offset,
uint16_t  count,
uint8_t *  dst 
)
void readEnd ( void  )
uint8_t readRegister ( uint8_t  cmd,
void *  buf 
) [private]
uint8_t sendWriteCommand ( uint32_t  blockNumber,
uint32_t  eraseCount 
) [private]
uint8_t setSckRate ( uint8_t  sckRateID)
uint8_t type ( void  ) const [inline]

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

void type ( uint8_t  value) [inline, private]
uint8_t waitNotBusy ( uint16_t  timeoutMillis) [private]
uint8_t waitStartBlock ( void  ) [private]
uint8_t writeBlock ( uint32_t  blockNumber,
const uint8_t *  src 
)
uint8_t writeData ( const uint8_t *  src)
uint8_t writeData ( uint8_t  token,
const uint8_t *  src 
) [private]
uint8_t writeStart ( uint32_t  blockNumber,
uint32_t  eraseCount 
)
uint8_t writeStop ( void  )

Field Documentation

uint32_t block_ [private]
uint8_t chipSelectPin_ [private]
uint8_t errorCode_ [private]
uint8_t inBlock_ [private]
uint16_t offset_ [private]
uint8_t partialBlockRead_ [private]
uint8_t status_ [private]
uint8_t type_ [private]

The documentation for this class was generated from the following file:
 All Data Structures Files Functions Variables Typedefs Friends Defines