SdFat
Public Member Functions | List of all members
SdFatSoftSpiEX< MisoPin, MosiPin, SckPin > Class Template Reference

SdFat class using software SPI and extended SD I/O. More...

#include <SdFat.h>

Inheritance diagram for SdFatSoftSpiEX< MisoPin, MosiPin, SckPin >:
Inheritance graph
[legend]
Collaboration diagram for SdFatSoftSpiEX< MisoPin, MosiPin, SckPin >:
Collaboration graph
[legend]

Public Member Functions

bool begin (BlockDriver *blockDev, uint8_t part=0)
 
bool begin (SdSpiDriver *spi, uint8_t csPin, SPISettings spiSettings)
 
bool begin (uint8_t csPin=SS, SPISettings spiSettings=2)
 
uint8_t blocksPerCluster () const
 
uint32_t blocksPerFat () const
 
cache_tcacheClear ()
 
SdBlockDriverEXcard ()
 
bool cardBegin (SdSpiDriver *spi, uint8_t csPin, SPISettings spiSettings)
 
uint8_t cardErrorCode ()
 
uint8_t cardErrorData ()
 
bool chdir (bool set_cwd=false)
 
bool chdir (const char *path, bool set_cwd=false)
 
void chvol ()
 
uint32_t clusterCount () const
 
uint8_t clusterSizeShift () const
 
uint32_t dataStartBlock () const
 
int8_t dbgFat (uint32_t n, uint32_t *v)
 
void errorHalt ()
 
void errorHalt (Print *pr)
 
void errorHalt (char const *msg)
 
void errorHalt (Print *pr, char const *msg)
 
void errorHalt (const __FlashStringHelper *msg)
 
void errorHalt (Print *pr, const __FlashStringHelper *msg)
 
void errorPrint ()
 
void errorPrint (Print *pr)
 
void errorPrint (const char *msg)
 
void errorPrint (Print *pr, char const *msg)
 
void errorPrint (const __FlashStringHelper *msg)
 
void errorPrint (Print *pr, const __FlashStringHelper *msg)
 
bool exists (const char *path)
 
uint8_t fatCount ()
 
uint32_t fatStartBlock () const
 
uint8_t fatType () const
 
int32_t freeClusterCount ()
 
bool init ()
 
bool init (uint8_t part)
 
void initErrorHalt ()
 
void initErrorHalt (Print *pr)
 
void initErrorHalt (char const *msg)
 
void initErrorHalt (Print *pr, char const *msg)
 
void initErrorHalt (const __FlashStringHelper *msg)
 
void initErrorHalt (Print *pr, const __FlashStringHelper *msg)
 
void initErrorPrint ()
 
void initErrorPrint (Print *pr)
 
void initErrorPrint (char const *msg)
 
void initErrorPrint (Print *pr, char const *msg)
 
void initErrorPrint (const __FlashStringHelper *msg)
 
void initErrorPrint (Print *pr, const __FlashStringHelper *msg)
 
void ls (uint8_t flags=0)
 
void ls (const char *path, uint8_t flags=0)
 
void ls (print_t *pr, uint8_t flags=0)
 
void ls (print_t *pr, const char *path, uint8_t flags)
 
bool mkdir (const char *path, bool pFlag=true)
 
File open (const char *path, uint8_t mode=FILE_READ)
 
File open (const String &path, uint8_t mode=FILE_READ)
 
bool remove (const char *path)
 
bool rename (const char *oldPath, const char *newPath)
 
bool rmdir (const char *path)
 
uint16_t rootDirEntryCount () const
 
uint32_t rootDirStart () const
 
bool truncate (const char *path, uint32_t length)
 
FatVolumevol ()
 
uint32_t volumeBlockCount () const
 
FatFilevwd ()
 
bool wipe (print_t *pr=0)
 

Detailed Description

template<uint8_t MisoPin, uint8_t MosiPin, uint8_t SckPin>
class SdFatSoftSpiEX< MisoPin, MosiPin, SckPin >

SdFat class using software SPI and extended SD I/O.

Member Function Documentation

bool FatFileSystem::begin ( BlockDriver blockDev,
uint8_t  part = 0 
)
inlineinherited

Initialize an FatFileSystem object.

Parameters
[in]blockDevDevice block driver.
[in]partpartition to initialize.
Returns
The value true is returned for success and the value false is returned for failure.
bool SdFileSystem< SdBlockDriverEX >::begin ( SdSpiDriver spi,
uint8_t  csPin,
SPISettings  spiSettings 
)
inlineinherited

Initialize SD card and file system.

Parameters
[in]spiSPI object for the card.
[in]csPinSD card chip select pin.
[in]spiSettingsSPI speed, mode, and bit order.
Returns
true for success else false.
template<uint8_t MisoPin, uint8_t MosiPin, uint8_t SckPin>
bool SdFatSoftSpiEX< MisoPin, MosiPin, SckPin >::begin ( uint8_t  csPin = SS,
SPISettings  spiSettings = 2 
)
inline

Initialize SD card and file system.

Parameters
[in]csPinSD card chip select pin.
[in]spiSettingsignored for software SPI.
Returns
true for success else false.
uint8_t FatVolume::blocksPerCluster ( ) const
inlineinherited
Returns
The volume's cluster size in blocks.
uint32_t FatVolume::blocksPerFat ( ) const
inlineinherited
Returns
The number of blocks in one FAT.
cache_t* FatVolume::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.
SdBlockDriverEX * SdFileSystem< SdBlockDriverEX >::card ( )
inlineinherited
Returns
Pointer to SD card object
bool SdFileSystem< SdBlockDriverEX >::cardBegin ( SdSpiDriver spi,
uint8_t  csPin,
SPISettings  spiSettings 
)
inlineinherited

Initialize SD card for diagnostic use.

Parameters
[in]spiSPI object for the card.
[in]csPinSD card chip select pin.
[in]spiSettingsSPI speed, mode, and bit order.
Returns
true for success else false.
uint8_t SdFileSystem< SdBlockDriverEX >::cardErrorCode ( )
inlineinherited
Returns
The card error code
uint8_t SdFileSystem< SdBlockDriverEX >::cardErrorData ( )
inlineinherited
Returns
the card error data
bool FatFileSystem::chdir ( bool  set_cwd = false)
inlineinherited

Change a volume's working directory to root

Changes the volume's working directory to the SD's root directory. Optionally set the current working directory to the volume's working directory.

Parameters
[in]set_cwdSet the current working directory to this volume's working directory if true.
Returns
The value true is returned for success and the value false is returned for failure.
bool FatFileSystem::chdir ( const char *  path,
bool  set_cwd = false 
)
inlineinherited

Change a volume's working directory

Changes the volume working directory to the path subdirectory. Optionally set the current working directory to the volume's working directory.

Example: If the volume's working directory is "/DIR", chdir("SUB") will change the volume's working directory from "/DIR" to "/DIR/SUB".

If path is "/", the volume's working directory will be changed to the root directory

Parameters
[in]pathThe name of the subdirectory.
[in]set_cwdSet the current working directory to this volume's working directory if true.
Returns
The value true is returned for success and the value false is returned for failure.
void FatFileSystem::chvol ( )
inlineinherited

Set the current working directory to a volume's working directory.

This is useful with multiple SD cards.

The current working directory is changed to this volume's working directory.

This is like the Windows/DOS <drive letter>: command.

uint32_t FatVolume::clusterCount ( ) const
inlineinherited
Returns
The total number of clusters in the volume.
uint8_t FatVolume::clusterSizeShift ( ) const
inlineinherited
Returns
The shift count required to multiply by blocksPerCluster.
uint32_t FatVolume::dataStartBlock ( ) const
inlineinherited
Returns
The logical block number for the start of file data.
int8_t FatVolume::dbgFat ( uint32_t  n,
uint32_t *  v 
)
inlineinherited

Debug access to FAT table

Parameters
[in]ncluster number.
[out]vvalue of entry
Returns
true for success or false for failure
void SdFileSystem< SdBlockDriverEX >::errorHalt ( )
inlineinherited

Print any SD error code to Serial and halt.

void SdFileSystem< SdBlockDriverEX >::errorHalt ( Print *  pr)
inlineinherited

Print any SD error code and halt.

Parameters
[in]prPrint destination.
void SdFileSystem< SdBlockDriverEX >::errorHalt ( char const *  msg)
inlineinherited

Print msg, any SD error code and halt.

Parameters
[in]msgMessage to print.
void SdFileSystem< SdBlockDriverEX >::errorHalt ( Print *  pr,
char const *  msg 
)
inlineinherited

Print msg, any SD error code, and halt.

Parameters
[in]prPrint destination.
[in]msgMessage to print.
void SdFileSystem< SdBlockDriverEX >::errorHalt ( const __FlashStringHelper *  msg)
inlineinherited

Print msg, any SD error code, and halt.

Parameters
[in]msgMessage to print.
void SdFileSystem< SdBlockDriverEX >::errorHalt ( Print *  pr,
const __FlashStringHelper *  msg 
)
inlineinherited

Print msg, any SD error code, and halt.

Parameters
[in]prPrint destination.
[in]msgMessage to print.
void SdFileSystem< SdBlockDriverEX >::errorPrint ( )
inlineinherited

Print any SD error code to Serial

void SdFileSystem< SdBlockDriverEX >::errorPrint ( Print *  pr)
inlineinherited

Print any SD error code.

Parameters
[in]prPrint device.
void SdFileSystem< SdBlockDriverEX >::errorPrint ( const char *  msg)
inlineinherited

Print msg, any SD error code.

Parameters
[in]msgMessage to print.
void SdFileSystem< SdBlockDriverEX >::errorPrint ( Print *  pr,
char const *  msg 
)
inlineinherited

Print msg, any SD error code.

Parameters
[in]prPrint destination.
[in]msgMessage to print.
void SdFileSystem< SdBlockDriverEX >::errorPrint ( const __FlashStringHelper *  msg)
inlineinherited

Print msg, any SD error code.

Parameters
[in]msgMessage to print.
void SdFileSystem< SdBlockDriverEX >::errorPrint ( Print *  pr,
const __FlashStringHelper *  msg 
)
inlineinherited

Print msg, any SD error code.

Parameters
[in]prPrint destination.
[in]msgMessage to print.
bool FatFileSystem::exists ( const char *  path)
inlineinherited

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.
uint8_t FatVolume::fatCount ( )
inlineinherited
Returns
The number of File Allocation Tables.
uint32_t FatVolume::fatStartBlock ( ) const
inlineinherited
Returns
The logical block number for the start of the first FAT.
uint8_t FatVolume::fatType ( ) const
inlineinherited
Returns
The FAT type of the volume. Values are 12, 16 or 32.
int32_t FatVolume::freeClusterCount ( )
inherited

Volume free space in clusters.

Returns
Count of free clusters for success or -1 if an error occurs.
bool FatVolume::init ( )
inlineinherited

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

Returns
The value true is returned for success and the value false is returned for failure.
bool FatVolume::init ( uint8_t  part)
inherited

Initialize a FAT volume.

Parameters
[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 true is returned for success and the value false is returned for failure.
void SdFileSystem< SdBlockDriverEX >::initErrorHalt ( )
inlineinherited

Print any SD error code and halt.

void SdFileSystem< SdBlockDriverEX >::initErrorHalt ( Print *  pr)
inlineinherited

Print error details and halt after begin fails.

Parameters
[in]prPrint destination.
void SdFileSystem< SdBlockDriverEX >::initErrorHalt ( char const *  msg)
inlineinherited

Print message, error details, and halt after begin() fails.

Parameters
[in]msgMessage to print.
void SdFileSystem< SdBlockDriverEX >::initErrorHalt ( Print *  pr,
char const *  msg 
)
inlineinherited

Print message, error details, and halt after begin() fails.

Parameters
[in]prPrint device.
[in]msgMessage to print.
void SdFileSystem< SdBlockDriverEX >::initErrorHalt ( const __FlashStringHelper *  msg)
inlineinherited

Print message, error details, and halt after begin() fails.

Parameters
[in]msgMessage to print.
void SdFileSystem< SdBlockDriverEX >::initErrorHalt ( Print *  pr,
const __FlashStringHelper *  msg 
)
inlineinherited

Print message, error details, and halt after begin() fails.

Parameters
[in]prPrint device for message.
[in]msgMessage to print.
void SdFileSystem< SdBlockDriverEX >::initErrorPrint ( )
inlineinherited

Print error details after begin() fails.

void SdFileSystem< SdBlockDriverEX >::initErrorPrint ( Print *  pr)
inlineinherited

Print error details after begin() fails.

Parameters
[in]prPrint destination.
void SdFileSystem< SdBlockDriverEX >::initErrorPrint ( char const *  msg)
inlineinherited

Print message and error details and halt after begin() fails.

Parameters
[in]msgMessage to print.
void SdFileSystem< SdBlockDriverEX >::initErrorPrint ( Print *  pr,
char const *  msg 
)
inlineinherited

Print message and error details and halt after begin() fails.

Parameters
[in]prPrint destination.
[in]msgMessage to print.
void SdFileSystem< SdBlockDriverEX >::initErrorPrint ( const __FlashStringHelper *  msg)
inlineinherited

Print message and error details and halt after begin() fails.

Parameters
[in]msgMessage to print.
void SdFileSystem< SdBlockDriverEX >::initErrorPrint ( Print *  pr,
const __FlashStringHelper *  msg 
)
inlineinherited

Print message and error details and halt after begin() fails.

Parameters
[in]prPrint destination.
[in]msgMessage to print.
void FatFileSystem::ls ( uint8_t  flags = 0)
inlineinherited

List the directory contents of the volume working 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.

void FatFileSystem::ls ( const char *  path,
uint8_t  flags = 0 
)
inlineinherited

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.

void FatFileSystem::ls ( print_t pr,
uint8_t  flags = 0 
)
inlineinherited

List the directory contents of the volume working 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.

void FatFileSystem::ls ( print_t pr,
const char *  path,
uint8_t  flags 
)
inlineinherited

List the directory 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.

bool FatFileSystem::mkdir ( const char *  path,
bool  pFlag = true 
)
inlineinherited

Make a subdirectory in the volume working directory.

Parameters
[in]pathA path with a valid 8.3 DOS name for the subdirectory.
[in]pFlagCreate missing parent directories if true.
Returns
The value true is returned for success and the value false is returned for failure.
File FatFileSystem::open ( const char *  path,
uint8_t  mode = FILE_READ 
)
inlineinherited

open a file

Parameters
[in]pathlocation of file to be opened.
[in]modeopen mode flags.
Returns
a File object.
File FatFileSystem::open ( const String &  path,
uint8_t  mode = FILE_READ 
)
inlineinherited

open a file

Parameters
[in]pathlocation of file to be opened.
[in]modeopen mode flags.
Returns
a File object.
bool FatFileSystem::remove ( const char *  path)
inlineinherited

Remove a file from the volume working directory.

Parameters
[in]pathA path with a valid 8.3 DOS name for the file.
Returns
The value true is returned for success and the value false is returned for failure.
bool FatFileSystem::rename ( const char *  oldPath,
const char *  newPath 
)
inlineinherited

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
The value true is returned for success and the value false is returned for failure.
bool FatFileSystem::rmdir ( const char *  path)
inlineinherited

Remove a subdirectory from the volume's working directory.

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

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

Returns
The value true is returned for success and the value false is returned for failure.
uint16_t FatVolume::rootDirEntryCount ( ) const
inlineinherited
Returns
The number of entries in the root directory for FAT16 volumes.
uint32_t FatVolume::rootDirStart ( ) const
inlineinherited
Returns
The logical block number for the start of the root directory on FAT16 volumes or the first cluster number on FAT32 volumes.
bool FatFileSystem::truncate ( const char *  path,
uint32_t  length 
)
inlineinherited

Truncate a file to a specified length. The current file position will be maintained if it is less than or equal to length otherwise it will be set to end of file.

Parameters
[in]pathA path with a valid 8.3 DOS name for the file.
[in]lengthThe desired length for the file.
Returns
The value true is returned for success and the value false is returned for failure.
FatVolume* FatFileSystem::vol ( )
inlineinherited
Returns
a pointer to the FatVolume object.
uint32_t FatVolume::volumeBlockCount ( ) const
inlineinherited
Returns
The number of blocks in the volume
FatFile* FatFileSystem::vwd ( )
inlineinherited
Returns
a pointer to the volume working directory.
bool FatFileSystem::wipe ( print_t pr = 0)
inlineinherited

Wipe all data from the volume. You must reinitialize the volume before accessing it again.

Parameters
[in]prprint stream for status dots.
Returns
true for success else false.

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