SdFat
Public Member Functions | Static Public Member Functions | List of all members
FatVolume Class Reference

Integration class for the FatLib library. More...

#include <FatVolume.h>

Inheritance diagram for FatVolume:
Inheritance graph
[legend]
Collaboration diagram for FatVolume:
Collaboration graph
[legend]

Public Member Functions

bool begin (BlockDevice *dev, bool setCwv=true, uint8_t part=1)
 
uint16_t bytesPerCluster ()
 
uint8_t bytesPerClusterShift ()
 
uint16_t bytesPerSector ()
 
uint8_t bytesPerSectorShift ()
 
cache_tcacheClear ()
 
bool chdir ()
 
bool chdir (const char *path)
 
bool chdir (const String &path)
 
void chvol ()
 
uint32_t clusterCount () const
 
uint32_t dataStartSector () const
 
int8_t dbgFat (uint32_t n, uint32_t *v)
 
bool exists (const char *path)
 
bool exists (const String &path)
 
uint8_t fatCount ()
 
uint32_t fatStartSector () const
 
uint8_t fatType () const
 
int32_t freeClusterCount ()
 
bool init (BlockDevice *dev, uint8_t part=1)
 
bool ls (const char *path, uint8_t flags=0)
 
bool ls (print_t *pr, const char *path, uint8_t flags)
 
bool ls (print_t *pr, uint8_t flags=0)
 
bool ls (uint8_t flags=0)
 
bool mkdir (const char *path, bool pFlag=true)
 
bool mkdir (const String &path, bool pFlag=true)
 
File32 open (const char *path, oflag_t oflag=0X00)
 
File32 open (const String &path, oflag_t oflag=0X00)
 
bool remove (const char *path)
 
bool remove (const String &path)
 
bool rename (const char *oldPath, const char *newPath)
 
bool rename (const String &oldPath, const String &newPath)
 
bool rmdir (const char *path)
 
bool rmdir (const String &path)
 
uint16_t rootDirEntryCount () const
 
uint32_t rootDirStart () const
 
uint16_t sectorMask ()
 
uint8_t sectorsPerCluster () const
 
uint8_t sectorsPerClusterShift () const
 
uint32_t sectorsPerFat () const
 
bool truncate (const char *path, uint32_t length)
 
bool truncate (const String &path, uint32_t length)
 
uint32_t volumeSectorCount () const
 

Static Public Member Functions

static FatVolumecwv ()
 

Detailed Description

Integration class for the FatLib library.

Member Function Documentation

◆ begin()

bool FatVolume::begin ( BlockDevice dev,
bool  setCwv = true,
uint8_t  part = 1 
)
inline

Initialize an FatVolume object.

Parameters
[in]devDevice block driver.
[in]setCwvSet current working volume if true.
[in]partpartition to initialize.
Returns
true for success or false for failure.

◆ bytesPerCluster()

uint16_t FatPartition::bytesPerCluster ( )
inlineinherited
Returns
Number of bytes in a cluster.

◆ bytesPerClusterShift()

uint8_t FatPartition::bytesPerClusterShift ( )
inlineinherited
Returns
The shift count required to multiply by bytesPerCluster.

◆ bytesPerSector()

uint16_t FatPartition::bytesPerSector ( )
inlineinherited
Returns
Number of bytes per sector.

◆ bytesPerSectorShift()

uint8_t FatPartition::bytesPerSectorShift ( )
inlineinherited
Returns
The shift count required to multiply by bytesPerCluster.

◆ cacheClear()

cache_t* FatPartition::cacheClear ( )
inlineinherited

Clear the cache and returns a pointer to the cache. Not for normal apps.

Returns
A pointer to the cache buffer or zero if an error occurs.

◆ chdir() [1/3]

bool FatVolume::chdir ( )
inline

Set volume working directory to root.

Returns
true for success or false for failure.

◆ chdir() [2/3]

bool FatVolume::chdir ( const char *  path)

Set volume working directory.

Parameters
[in]pathPath for volume working directory.
Returns
true for success or false for failure.

◆ chdir() [3/3]

bool FatVolume::chdir ( const String &  path)
inline

Set volume working directory.

Parameters
[in]pathPath for volume working directory.
Returns
true for success or false for failure.

◆ chvol()

void FatVolume::chvol ( )
inline

Change global current working volume to this volume.

◆ clusterCount()

uint32_t FatPartition::clusterCount ( ) const
inlineinherited
Returns
The total number of clusters in the volume.

◆ cwv()

static FatVolume* FatVolume::cwv ( )
inlinestatic
Returns
current working volume.

◆ dataStartSector()

uint32_t FatPartition::dataStartSector ( ) const
inlineinherited
Returns
The logical sector number for the start of file data.

◆ dbgFat()

int8_t FatPartition::dbgFat ( uint32_t  n,
uint32_t *  v 
)
inlineinherited

Debug access to FAT table

Parameters
[in]ncluster number.
[out]vvalue of entry
Returns
-1 error, 0 EOC, else 1.

◆ exists() [1/2]

bool FatVolume::exists ( const char *  path)
inline

Test for the existence of a file.

Parameters
[in]pathPath of the file to be tested for.
Returns
true if the file exists else false.

◆ exists() [2/2]

bool FatVolume::exists ( const String &  path)
inline

Test for the existence of a file.

Parameters
[in]pathPath of the file to be tested for.
Returns
true if the file exists else false.

◆ fatCount()

uint8_t FatPartition::fatCount ( )
inlineinherited
Returns
The number of File Allocation Tables.

◆ fatStartSector()

uint32_t FatPartition::fatStartSector ( ) const
inlineinherited
Returns
The logical sector number for the start of the first FAT.

◆ fatType()

uint8_t FatPartition::fatType ( ) const
inlineinherited
Returns
The FAT type of the volume. Values are 12, 16 or 32.

◆ freeClusterCount()

int32_t FatPartition::freeClusterCount ( )
inherited

Volume free space in clusters.

Returns
Count of free clusters for success or -1 if an error occurs.

◆ init()

bool FatPartition::init ( BlockDevice dev,
uint8_t  part = 1 
)
inherited

Initialize a FAT partition.

Parameters
[in]devBlockDevice for this partition.
[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 sector zero.
Returns
true for success or false for failure.

◆ ls() [1/4]

bool FatVolume::ls ( const char *  path,
uint8_t  flags = 0 
)
inline

List the directory contents of a directory to Serial.

Parameters
[in]pathdirectory to list.
[in]flagsThe inclusive OR of

LS_DATE - Print file modification date

LS_SIZE - Print file size.

LS_R - Recursive list of subdirectories.

Returns
true for success or false for failure.

◆ ls() [2/4]

bool FatVolume::ls ( print_t pr,
const char *  path,
uint8_t  flags 
)
inline

List the contents of a directory.

Parameters
[in]prPrint stream for list.
[in]pathdirectory to list.
[in]flagsThe inclusive OR of

LS_DATE - Print file modification date

LS_SIZE - Print file size.

LS_R - Recursive list of subdirectories.

Returns
true for success or false for failure.

◆ ls() [3/4]

bool FatVolume::ls ( print_t pr,
uint8_t  flags = 0 
)
inline

List the directory contents of the volume root directory.

Parameters
[in]prPrint stream for list.
[in]flagsThe inclusive OR of

LS_DATE - Print file modification date

LS_SIZE - Print file size.

LS_R - Recursive list of subdirectories.

Returns
true for success or false for failure.

◆ ls() [4/4]

bool FatVolume::ls ( uint8_t  flags = 0)
inline

List the directory contents of the root directory to Serial.

Parameters
[in]flagsThe inclusive OR of

LS_DATE - Print file modification date

LS_SIZE - Print file size.

LS_R - Recursive list of subdirectories.

Returns
true for success or false for failure.

◆ mkdir() [1/2]

bool FatVolume::mkdir ( const char *  path,
bool  pFlag = true 
)
inline

Make a subdirectory in the volume root directory.

Parameters
[in]pathA path with a valid name for the subdirectory.
[in]pFlagCreate missing parent directories if true.
Returns
true for success or false for failure.

◆ mkdir() [2/2]

bool FatVolume::mkdir ( const String &  path,
bool  pFlag = true 
)
inline

Make a subdirectory in the volume root directory.

Parameters
[in]pathA path with a valid name for the subdirectory.
[in]pFlagCreate missing parent directories if true.
Returns
true for success or false for failure.

◆ open() [1/2]

File32 FatVolume::open ( const char *  path,
oflag_t  oflag = 0X00 
)
inline

open a file

Parameters
[in]pathlocation of file to be opened.
[in]oflagopen flags.
Returns
a File32 object.

◆ open() [2/2]

File32 FatVolume::open ( const String &  path,
oflag_t  oflag = 0X00 
)
inline

open a file

Parameters
[in]pathlocation of file to be opened.
[in]oflagopen flags.
Returns
a File32 object.

◆ remove() [1/2]

bool FatVolume::remove ( const char *  path)
inline

Remove a file from the volume root directory.

Parameters
[in]pathA path with a valid name for the file.
Returns
true for success or false for failure.

◆ remove() [2/2]

bool FatVolume::remove ( const String &  path)
inline

Remove a file from the volume root directory.

Parameters
[in]pathA path with a valid name for the file.
Returns
true for success or false for failure.

◆ rename() [1/2]

bool FatVolume::rename ( const char *  oldPath,
const char *  newPath 
)
inline

Rename a file or subdirectory.

Parameters
[in]oldPathPath name to the file or subdirectory to be renamed.
[in]newPathNew path name of the file or subdirectory.

The newPath object must not exist before the rename call.

The file to be renamed must not be open. The directory entry may be moved and file system corruption could occur if the file is accessed by a file object that was opened before the rename() call.

Returns
true for success or false for failure.

◆ rename() [2/2]

bool FatVolume::rename ( const String &  oldPath,
const String &  newPath 
)
inline

Rename a file or subdirectory.

Parameters
[in]oldPathPath name to the file or subdirectory to be renamed.
[in]newPathNew path name of the file or subdirectory.

The newPath object must not exist before the rename call.

The file to be renamed must not be open. The directory entry may be moved and file system corruption could occur if the file is accessed by a file object that was opened before the rename() call.

Returns
true for success or false for failure.

◆ rmdir() [1/2]

bool FatVolume::rmdir ( const char *  path)
inline

Remove a subdirectory from the volume's working directory.

Parameters
[in]pathA path with a valid name for the subdirectory.

The subdirectory file will be removed only if it is empty.

Returns
true for success or false for failure.

◆ rmdir() [2/2]

bool FatVolume::rmdir ( const String &  path)
inline

Remove a subdirectory from the volume's working directory.

Parameters
[in]pathA path with a valid name for the subdirectory.

The subdirectory file will be removed only if it is empty.

Returns
true for success or false for failure.

◆ rootDirEntryCount()

uint16_t FatPartition::rootDirEntryCount ( ) const
inlineinherited
Returns
The number of entries in the root directory for FAT16 volumes.

◆ rootDirStart()

uint32_t FatPartition::rootDirStart ( ) const
inlineinherited
Returns
The logical sector number for the start of the root directory on FAT16 volumes or the first cluster number on FAT32 volumes.

◆ sectorMask()

uint16_t FatPartition::sectorMask ( )
inlineinherited
Returns
Mask for sector offset.

◆ sectorsPerCluster()

uint8_t FatPartition::sectorsPerCluster ( ) const
inlineinherited
Returns
The volume's cluster size in sectors.

◆ sectorsPerClusterShift()

uint8_t FatPartition::sectorsPerClusterShift ( ) const
inlineinherited
Returns
The shift count required to multiply by sectorsPerCluster.

◆ sectorsPerFat()

uint32_t FatPartition::sectorsPerFat ( ) const
inlineinherited
Returns
The number of sectors in one FAT.

◆ truncate() [1/2]

bool FatVolume::truncate ( const char *  path,
uint32_t  length 
)
inline

Truncate a file to a specified length. The current file position will be at the new EOF.

Parameters
[in]pathA path with a valid name for the file.
[in]lengthThe desired length for the file.
Returns
true for success or false for failure.

◆ truncate() [2/2]

bool FatVolume::truncate ( const String &  path,
uint32_t  length 
)
inline

Truncate a file to a specified length. The current file position will be at the new EOF.

Parameters
[in]pathA path with a valid name for the file.
[in]lengthThe desired length for the file.
Returns
true for success or false for failure.

◆ volumeSectorCount()

uint32_t FatPartition::volumeSectorCount ( ) const
inlineinherited
Returns
The number of sectors in the volume

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