SdFat
Public Member Functions | Friends | List of all members
SdVolume Class Reference

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

#include <SdVolume.h>

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)
 
bool init (Sd2Card *dev, uint8_t part)
 
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.

Friends And Related Function Documentation

friend class SdBaseFile
friend

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