SdFat
Public Member Functions | Friends
SdVolume Class Reference

Access FAT16 and FAT32 volumes on SD and SDHC cards. More...

#include <SdVolume.h>

Collaboration diagram for SdVolume:
Collaboration graph
[legend]

List of all members.

Public Member Functions

uint8_t blocksPerCluster () const
uint32_t blocksPerFat () const
cache_tcacheClear ()
uint32_t clusterCount () const
uint8_t clusterSizeShift () const
uint32_t dataStartBlock () const
bool dbgFat (uint32_t n, uint32_t *v)
uint8_t fatCount () const
uint32_t fatStartBlock () const
uint8_t fatType () const
int32_t freeClusterCount ()
bool init (Sd2Card *dev, uint8_t part)
bool init (Sd2Card *dev)
uint32_t rootDirEntryCount () const
uint32_t rootDirStart () const
Sd2CardsdCard ()
 SdVolume ()

Friends

class SdBaseFile

Detailed Description

Access FAT16 and FAT32 volumes on SD and SDHC cards.


Constructor & Destructor Documentation

SdVolume::SdVolume ( ) [inline]

Create an instance of SdVolume


Member Function Documentation

uint8_t SdVolume::blocksPerCluster ( ) const [inline]
Returns:
The volume's cluster size in blocks.
uint32_t SdVolume::blocksPerFat ( ) const [inline]
Returns:
The number of blocks in one FAT.
cache_t* SdVolume::cacheClear ( ) [inline]

Clear the cache and returns a pointer to the cache. Used by the WaveRP recorder to do raw write to the SD card. Not for normal apps.

Returns:
A pointer to the cache buffer or zero if an error occurs.
uint32_t SdVolume::clusterCount ( ) const [inline]
Returns:
The total number of clusters in the volume.
uint8_t SdVolume::clusterSizeShift ( ) const [inline]
Returns:
The shift count required to multiply by blocksPerCluster.
uint32_t SdVolume::dataStartBlock ( ) const [inline]
Returns:
The logical block number for the start of file data.
bool SdVolume::dbgFat ( uint32_t  n,
uint32_t *  v 
) [inline]

Debug access to FAT table

Parameters:
[in]ncluster number.
[out]vvalue of entry
Returns:
true for success or false for failure
uint8_t SdVolume::fatCount ( ) const [inline]
Returns:
The number of FAT structures on the volume.
uint32_t SdVolume::fatStartBlock ( ) const [inline]
Returns:
The logical block number for the start of the first FAT.
uint8_t SdVolume::fatType ( ) const [inline]
Returns:
The FAT type of the volume. Values are 12, 16 or 32.
int32_t SdVolume::freeClusterCount ( )

Volume free space in clusters.

Returns:
Count of free clusters for success or -1 if an error occurs.
bool SdVolume::init ( Sd2Card dev) [inline]

Initialize a FAT volume. Try partition one first then try super floppy format.

Parameters:
[in]devThe Sd2Card where the volume is located.
Returns:
The value one, true, is returned for success and the value zero, false, is returned for failure. Reasons for failure include not finding a valid partition, not finding a valid FAT file system or an I/O error.
bool SdVolume::init ( Sd2Card dev,
uint8_t  part 
)

Initialize a FAT volume.

Parameters:
[in]devThe SD card where the volume is located.
[in]partThe partition to be used. Legal values for part are 1-4 to use the corresponding partition on a device formatted with a MBR, Master Boot Record, or zero if the device is formatted as a super floppy with the FAT boot sector in block zero.
Returns:
The value one, true, is returned for success and the value zero, false, is returned for failure. Reasons for failure include not finding a valid partition, not finding a valid FAT file system in the specified partition or an I/O error.
uint32_t SdVolume::rootDirEntryCount ( ) const [inline]
Returns:
The number of entries in the root directory for FAT16 volumes.
uint32_t SdVolume::rootDirStart ( ) const [inline]
Returns:
The logical block number for the start of the root directory on FAT16 volumes or the first cluster number on FAT32 volumes.
Sd2Card* SdVolume::sdCard ( ) [inline]

Sd2Card object for this volume

Returns:
pointer to Sd2Card object.

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