\section Install Installation | \section Install Installation | ||||
You must manually install SdFat by copying the SdFat folder from the download | You must manually install SdFat by copying the SdFat folder from the download | ||||
package to the Arduino libraries folder in you sketch folder. | |||||
package to the Arduino libraries folder in your sketch folder. | |||||
See the Manual installation section of this guide. | See the Manual installation section of this guide. | ||||
Set FAT12_SUPPORT nonzero to enable use of FAT12 volumes. | Set FAT12_SUPPORT nonzero to enable use of FAT12 volumes. | ||||
FAT12 has not been well tested and requires additional flash. | FAT12 has not been well tested and requires additional flash. | ||||
Set ENABLE_SPI_TRANSACTION nonzero to enable the SPI transaction feature | |||||
Set ENABLE_SPI_TRANSACTIONS nonzero to enable the SPI transaction feature | |||||
of the standard Arduino SPI library. You must include SPI.h in your | of the standard Arduino SPI library. You must include SPI.h in your | ||||
programs when ENABLE_SPI_TRANSACTION is nonzero. | |||||
programs when ENABLE_SPI_TRANSACTIONS is nonzero. | |||||
Set ENABLE_SPI_YIELD nonzero to enable release of the SPI bus during | Set ENABLE_SPI_YIELD nonzero to enable release of the SPI bus during | ||||
SD card busy waits. | |||||
SD card busy waits. ENABLE_SPI_TRANSACTIONS must be nonzero. | |||||
\section SDPath Paths and Working Directories | \section SDPath Paths and Working Directories | ||||
Timestamp - Sets file create, modify, and access timestamps. | Timestamp - Sets file create, modify, and access timestamps. | ||||
TwoCards - Example using two SD cards. | TwoCards - Example using two SD cards. | ||||
VolumeFreeSpace - Demonstrate the freeClusterCount() call. | |||||
*/ | */ |
// uses RTClib from https://github.com/adafruit/RTClib | // uses RTClib from https://github.com/adafruit/RTClib | ||||
#include <SPI.h> | #include <SPI.h> | ||||
#include <SdFat.h> | #include <SdFat.h> | ||||
#include <SdFatUtil.h> // define FreeRam() | |||||
#include <FreeStack.h> | |||||
#define SD_CHIP_SELECT SS // SD chip select pin | #define SD_CHIP_SELECT SS // SD chip select pin | ||||
#define USE_DS1307 0 // set nonzero to use DS1307 RTC | #define USE_DS1307 0 // set nonzero to use DS1307 RTC | ||||
while (!Serial) {} // wait for Leonardo | while (!Serial) {} // wait for Leonardo | ||||
// F() stores strings in flash to save RAM | // F() stores strings in flash to save RAM | ||||
cout << endl << F("FreeRam: ") << FreeRam() << endl; | |||||
cout << endl << F("FreeStack: ") << FreeStack() << endl; | |||||
#if WAIT_TO_START | #if WAIT_TO_START | ||||
cout << F("Type any character to start\n"); | cout << F("Type any character to start\n"); |
#include <SPI.h> | #include <SPI.h> | ||||
#include <SdFat.h> | #include <SdFat.h> | ||||
#include <SdFatUtil.h> | |||||
#include <FreeStack.h> | |||||
#ifdef UDR0 // Must be AVR with serial port zero. | #ifdef UDR0 // Must be AVR with serial port zero. | ||||
#include <MinimumSerial.h> | #include <MinimumSerial.h> | ||||
void setup() { | void setup() { | ||||
MiniSerial.begin(9600); | MiniSerial.begin(9600); | ||||
MiniSerial.println(FreeRam()); | |||||
MiniSerial.println(FreeStack()); | |||||
} | } | ||||
void loop() { | void loop() { | ||||
int c; | int c; |
#ifdef __AVR__ | #ifdef __AVR__ | ||||
#include <SPI.h> | #include <SPI.h> | ||||
#include <SdFat.h> | #include <SdFat.h> | ||||
#include <SdFatUtil.h> | |||||
#include <FreeStack.h> | |||||
#include "AnalogBinLogger.h" | #include "AnalogBinLogger.h" | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
// Analog pin number list for a sample. Pins may be in any order and pin | // Analog pin number list for a sample. Pins may be in any order and pin | ||||
// Read the first sample pin to init the ADC. | // Read the first sample pin to init the ADC. | ||||
analogRead(PIN_LIST[0]); | analogRead(PIN_LIST[0]); | ||||
Serial.print(F("FreeRam: ")); | |||||
Serial.println(FreeRam()); | |||||
Serial.print(F("FreeStack: ")); | |||||
Serial.println(FreeStack()); | |||||
// initialize file system. | // initialize file system. | ||||
if (!sd.begin(SD_CS_PIN, SPI_FULL_SPEED)) { | if (!sd.begin(SD_CS_PIN, SPI_FULL_SPEED)) { |
// SdFat/examples/LongFileName/testFiles. | // SdFat/examples/LongFileName/testFiles. | ||||
#include<SPI.h> | #include<SPI.h> | ||||
#include <SdFat.h> | #include <SdFat.h> | ||||
#include <SdFatUtil.h> | |||||
#include <FreeStack.h> | |||||
// SD card chip select pin. | // SD card chip select pin. | ||||
const uint8_t SD_CS_PIN = SS; | const uint8_t SD_CS_PIN = SS; | ||||
if (!sd.begin(SD_CS_PIN)) { | if (!sd.begin(SD_CS_PIN)) { | ||||
sd.initErrorHalt(); | sd.initErrorHalt(); | ||||
} | } | ||||
Serial.print(F("Free RAM: ")); | |||||
Serial.println(FreeRam()); | |||||
Serial.print(F("FreeStack: ")); | |||||
Serial.println(FreeStack()); | |||||
Serial.println(); | Serial.println(); | ||||
// List files in root directory. | // List files in root directory. |
*/ | */ | ||||
#include <SPI.h> | #include <SPI.h> | ||||
#include <SdFat.h> | #include <SdFat.h> | ||||
#include <SdFatUtil.h> | |||||
#include <FreeStack.h> | |||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
// User data functions. Modify these functions for your data items. | // User data functions. Modify these functions for your data items. | ||||
#include "UserDataType.h" // Edit this include file to change data_t. | #include "UserDataType.h" // Edit this include file to change data_t. | ||||
Serial.begin(9600); | Serial.begin(9600); | ||||
while (!Serial) {} | while (!Serial) {} | ||||
Serial.print(F("FreeRam: ")); | |||||
Serial.println(FreeRam()); | |||||
Serial.print(F("FreeStack: ")); | |||||
Serial.println(FreeStack()); | |||||
Serial.print(F("Records/block: ")); | Serial.print(F("Records/block: ")); | ||||
Serial.println(DATA_DIM); | Serial.println(DATA_DIM); | ||||
if (sizeof(block_t) != 512) { | if (sizeof(block_t) != 512) { |
sd.initErrorHalt(); | sd.initErrorHalt(); | ||||
} | } | ||||
// open next file in root. The volume working directory, vwd, is root | |||||
// Open next file in root. The volume working directory, vwd, is root. | |||||
// Warning, openNext starts at the current position of sd.vwd() so a | |||||
// rewind may be neccessary in your application. | |||||
while (file.openNext(sd.vwd(), O_READ)) { | while (file.openNext(sd.vwd(), O_READ)) { | ||||
file.printFileSize(&Serial); | file.printFileSize(&Serial); | ||||
Serial.write(' '); | Serial.write(' '); |
*/ | */ | ||||
#include <SPI.h> | #include <SPI.h> | ||||
#include <SdFat.h> | #include <SdFat.h> | ||||
#include <SdFatUtil.h> | |||||
#include <FreeStack.h> | |||||
// SD chip select pin | // SD chip select pin | ||||
const uint8_t chipSelect = SS; | const uint8_t chipSelect = SS; | ||||
} | } | ||||
delay(400); // catch Due reset problem | delay(400); // catch Due reset problem | ||||
cout << F("Free RAM: ") << FreeRam() << endl; | |||||
cout << F("FreeStack: ") << FreeStack() << endl; | |||||
// initialize the SD card at SPI_FULL_SPEED for best performance. | // initialize the SD card at SPI_FULL_SPEED for best performance. | ||||
// try SPI_HALF_SPEED if bus errors occur. | // try SPI_HALF_SPEED if bus errors occur. |
*/ | */ | ||||
#include <SPI.h> | #include <SPI.h> | ||||
#include <SdFat.h> | #include <SdFat.h> | ||||
#include <SdFatUtil.h> | |||||
#include <FreeStack.h> | |||||
// SD chip select pin | // SD chip select pin | ||||
const uint8_t chipSelect = SS; | const uint8_t chipSelect = SS; | ||||
while (Serial.read() <= 0) {} | while (Serial.read() <= 0) {} | ||||
delay(400); // catch Due reset problem | delay(400); // catch Due reset problem | ||||
cout << F("Free RAM: ") << FreeRam() << endl; | |||||
cout << F("FreeStack: ") << FreeStack() << endl; | |||||
// initialize the SD card at SPI_FULL_SPEED for best performance. | // initialize the SD card at SPI_FULL_SPEED for best performance. | ||||
// try SPI_HALF_SPEED if bus errors occur. | // try SPI_HALF_SPEED if bus errors occur. |
#include <SPI.h> | #include <SPI.h> | ||||
#include <SdFat.h> | #include <SdFat.h> | ||||
#if DEBUG_PRINT | #if DEBUG_PRINT | ||||
#include <SdFatUtil.h> | |||||
#include <FreeStack.h> | |||||
#endif // DEBUG_PRINT | #endif // DEBUG_PRINT | ||||
// | // | ||||
// Change the value of chipSelect if your hardware does | // Change the value of chipSelect if your hardware does | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
#if DEBUG_PRINT | #if DEBUG_PRINT | ||||
void debugPrint() { | void debugPrint() { | ||||
cout << F("FreeRam: ") << FreeRam() << endl; | |||||
cout << F("FreeStack: ") << FreeStack() << endl; | |||||
cout << F("partStart: ") << relSector << endl; | cout << F("partStart: ") << relSector << endl; | ||||
cout << F("partSize: ") << partSize << endl; | cout << F("partSize: ") << partSize << endl; | ||||
cout << F("reserved: ") << reservedSectors << endl; | cout << F("reserved: ") << reservedSectors << endl; | ||||
} | } | ||||
cardCapacityMB = (cardSizeBlocks + 2047)/2048; | cardCapacityMB = (cardSizeBlocks + 2047)/2048; | ||||
cout << F("Card Size: ") << cardCapacityMB; | |||||
cout << F(" MB, (MB = 1,048,576 bytes)") << endl; | |||||
cout << F("Card Size: ") << setprecision(0) << 1.048576*cardCapacityMB; | |||||
cout << F(" MB, (MB = 1,000,000 bytes)") << endl; | |||||
if (c == 'E' || c == 'F') { | if (c == 'E' || c == 'F') { | ||||
eraseCard(); | eraseCard(); |
} | } | ||||
file.println(F("This line was printed using software SPI.")); | file.println(F("This line was printed using software SPI.")); | ||||
file.rewind(); | |||||
while (file.available()) { | |||||
Serial.write(file.read()); | |||||
} | |||||
file.close(); | file.close(); | ||||
Serial.println(F("Done.")); | Serial.println(F("Done.")); |
for (uint8_t fileType = 0; fileType < 2; fileType++) { | for (uint8_t fileType = 0; fileType < 2; fileType++) { | ||||
if (!fileType) { | if (!fileType) { | ||||
if (!printFile.open("print.txt", O_CREAT | O_RDWR | O_TRUNC)) { | if (!printFile.open("print.txt", O_CREAT | O_RDWR | O_TRUNC)) { | ||||
Serial.println("open fail"); | |||||
Serial.println(F("open fail")); | |||||
return; | return; | ||||
} | } | ||||
printTime = millis(); | printTime = millis(); | ||||
} else { | } else { | ||||
if (!stdioFile.fopen("stream.txt", "w+")) { | if (!stdioFile.fopen("stream.txt", "w+")) { | ||||
Serial.println("fopen fail"); | |||||
Serial.println(F("fopen fail")); | |||||
return; | return; | ||||
} | } | ||||
stdioTime = millis(); | stdioTime = millis(); | ||||
} | } | ||||
} | } | ||||
Serial.print("fileSize: "); | |||||
Serial.print(F("fileSize: ")); | |||||
if (printSize != stdioSize) { | if (printSize != stdioSize) { | ||||
Serial.print(printSize); | Serial.print(printSize); | ||||
Serial.print(" != "); | |||||
Serial.print(F(" != ")); | |||||
} | } | ||||
Serial.println(stdioSize); | Serial.println(stdioSize); | ||||
Serial.print("print millis: "); | |||||
Serial.print(F("print millis: ")); | |||||
Serial.println(printTime); | Serial.println(printTime); | ||||
Serial.print("stdio millis: "); | |||||
Serial.print(F("stdio millis: ")); | |||||
Serial.println(stdioTime); | Serial.println(stdioTime); | ||||
Serial.print("ratio: "); | |||||
Serial.print(F("ratio: ")); | |||||
Serial.println((float)printTime/(float)stdioTime); | Serial.println((float)printTime/(float)stdioTime); | ||||
Serial.println(); | Serial.println(); | ||||
printFile.close(); | printFile.close(); | ||||
stdioFile.fclose(); | stdioFile.fclose(); | ||||
} | } | ||||
Serial.println("Done"); | |||||
Serial.println(F("Done")); | |||||
} | } | ||||
void loop() {} | void loop() {} |
*/ | */ | ||||
#include <SPI.h> | #include <SPI.h> | ||||
#include <SdFat.h> | #include <SdFat.h> | ||||
#include <SdFatUtil.h> | |||||
#include <FreeStack.h> | |||||
#if SD_SPI_CONFIGURATION >= 3 // Must be set in SdFat/SdFatConfig.h | #if SD_SPI_CONFIGURATION >= 3 // Must be set in SdFat/SdFatConfig.h | ||||
// SD1 is a microSD on hardware SPI pins 50-52 | // SD1 is a microSD on hardware SPI pins 50-52 | ||||
void setup() { | void setup() { | ||||
Serial.begin(9600); | Serial.begin(9600); | ||||
while (!Serial) {} // wait for Leonardo | while (!Serial) {} // wait for Leonardo | ||||
Serial.print(F("FreeRam: ")); | |||||
Serial.print(F("FreeStack: ")); | |||||
Serial.println(FreeRam()); | |||||
Serial.println(FreeStack()); | |||||
// fill buffer with known data | // fill buffer with known data | ||||
for (int i = 0; i < sizeof(buf); i++) { | for (int i = 0; i < sizeof(buf); i++) { |
*/ | */ | ||||
#include <SPI.h> | #include <SPI.h> | ||||
#include <SdFat.h> | #include <SdFat.h> | ||||
#include <SdFatUtil.h> | |||||
#include <FreeStack.h> | |||||
SdFat sd1; | SdFat sd1; | ||||
const uint8_t SD1_CS = 10; // chip select for sd1 | const uint8_t SD1_CS = 10; // chip select for sd1 | ||||
void setup() { | void setup() { | ||||
Serial.begin(9600); | Serial.begin(9600); | ||||
while (!Serial) {} // wait for Leonardo | while (!Serial) {} // wait for Leonardo | ||||
Serial.print(F("FreeRam: ")); | |||||
Serial.print(F("FreeStack: ")); | |||||
Serial.println(FreeRam()); | |||||
Serial.println(FreeStack()); | |||||
// fill buffer with known data | // fill buffer with known data | ||||
for (int i = 0; i < sizeof(buf); i++) { | for (int i = 0; i < sizeof(buf); i++) { |
/* | |||||
* This program demonstrates the freeClusterCount() call. | |||||
*/ | |||||
#include <SPI.h> | |||||
#include <SdFat.h> | |||||
/* | |||||
* SD chip select pin. Common values are: | |||||
* | |||||
* Arduino Ethernet shield, pin 4. | |||||
* SparkFun SD shield, pin 8. | |||||
* Adafruit Datalogging shield, pin 10. | |||||
* Default SD chip select is the SPI SS pin. | |||||
*/ | |||||
const uint8_t chipSelect = SS; | |||||
#define TEST_FILE "CLUSTER.TST" | |||||
// file system | |||||
SdFat sd; | |||||
// test file | |||||
SdFile file; | |||||
// Serial output stream | |||||
ArduinoOutStream cout(Serial); | |||||
//------------------------------------------------------------------------------ | |||||
void printFreeSpace() { | |||||
cout << F("freeClusterCount() call time: "); | |||||
uint32_t m = micros(); | |||||
uint32_t volFree = sd.vol()->freeClusterCount(); | |||||
cout << micros() - m << F(" micros\n"); | |||||
cout << F("freeClusters: ") << volFree << setprecision(3) << endl; | |||||
float fs = 0.000512*volFree*sd.vol()->blocksPerCluster(); | |||||
cout << F("freeSpace: ") << fs << F(" MB (MB = 1,000,000 bytes)\n\n"); | |||||
} | |||||
//------------------------------------------------------------------------------ | |||||
void setup() { | |||||
Serial.begin(9600); | |||||
while (!Serial) {} // wait for Leonardo | |||||
if (!MAINTAIN_FREE_CLUSTER_COUNT) { | |||||
cout << F("Please edit SdFatConfig.h and set\n"); | |||||
cout << F("MAINTAIN_FREE_CLUSTER_COUNT nonzero for\n"); | |||||
cout << F("maximum freeClusterCount() performance.\n\n"); | |||||
} | |||||
// pstr stores strings in flash to save RAM | |||||
cout << F("Type any character to start\n"); | |||||
while (Serial.read() <= 0) {} | |||||
delay(400); // catch Due reset problem | |||||
// initialize the SD card at SPI_HALF_SPEED to avoid bus errors with | |||||
// breadboards. use SPI_FULL_SPEED for better performance. | |||||
if (!sd.begin(chipSelect, SPI_HALF_SPEED)) { | |||||
sd.initErrorHalt(); | |||||
} | |||||
// Insure no TEST_FILE. | |||||
sd.remove(TEST_FILE); | |||||
cout << F("\nFirst call to freeClusterCount scans the FAT.\n\n"); | |||||
printFreeSpace(); | |||||
cout << F("Create and write to ") << TEST_FILE << endl; | |||||
if (!file.open(TEST_FILE, O_WRITE | O_CREAT)) { | |||||
sd.errorHalt(F("Create failed")); | |||||
} | |||||
file.print(F("Cause a cluster to be allocated")); | |||||
file.close(); | |||||
cout << F("\nSecond freeClusterCount call is faster if\n"); | |||||
cout << F("MAINTAIN_FREE_CLUSTER_COUNT is nonzero.\n\n"); | |||||
printFreeSpace(); | |||||
cout << F("Remove ") << TEST_FILE << endl << endl; | |||||
sd.remove(TEST_FILE); | |||||
printFreeSpace(); | |||||
} | |||||
//------------------------------------------------------------------------------ | |||||
void loop() {} |
*/ | */ | ||||
#include <SPI.h> | #include <SPI.h> | ||||
#include <SdFat.h> | #include <SdFat.h> | ||||
#include <SdFatUtil.h> | |||||
#include <FreeStack.h> | |||||
// SD chip select pin | // SD chip select pin | ||||
const uint8_t chipSelect = SS; | const uint8_t chipSelect = SS; | ||||
while (Serial.read() <= 0) {} | while (Serial.read() <= 0) {} | ||||
delay(400); // catch Due reset problem | delay(400); // catch Due reset problem | ||||
cout << F("Free RAM: ") << FreeRam() << endl; | |||||
cout << F("FreeStack: ") << FreeStack() << endl; | |||||
// initialize the SD card at SPI_FULL_SPEED for best performance. | // initialize the SD card at SPI_FULL_SPEED for best performance. | ||||
// try SPI_HALF_SPEED if bus errors occur. | // try SPI_HALF_SPEED if bus errors occur. |
name=SdFat | |||||
version=2015.4.26 | |||||
author= | |||||
maintainer= | |||||
sentence=FAT16/FAT32 file system for SD cards. | |||||
paragraph= | |||||
category=Uncategorized | |||||
url= | |||||
architectures=* |
// Remember place for search start. | // Remember place for search start. | ||||
m_allocSearchStart = find; | m_allocSearchStart = find; | ||||
} | } | ||||
updateFreeClusterCount(-1); | |||||
*next = find; | *next = find; | ||||
return true; | return true; | ||||
} | } | ||||
endCluster--; | endCluster--; | ||||
} | } | ||||
// Maintain count of free clusters. | |||||
updateFreeClusterCount(-count); | |||||
// return first cluster number to caller | // return first cluster number to caller | ||||
*firstCluster = bgnCluster; | *firstCluster = bgnCluster; | ||||
return true; | return true; | ||||
DBG_FAIL_MACRO; | DBG_FAIL_MACRO; | ||||
goto fail; | goto fail; | ||||
} | } | ||||
// Add one to count of free clusters. | |||||
updateFreeClusterCount(1); | |||||
if (cluster < m_allocSearchStart) { | if (cluster < m_allocSearchStart) { | ||||
m_allocSearchStart = cluster; | m_allocSearchStart = cluster; | ||||
} | } | ||||
} | } | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
int32_t FatVolume::freeClusterCount() { | int32_t FatVolume::freeClusterCount() { | ||||
#if MAINTAIN_FREE_CLUSTER_COUNT | |||||
if (m_freeClusterCount >= 0) { | |||||
return m_freeClusterCount; | |||||
} | |||||
#endif // MAINTAIN_FREE_CLUSTER_COUNT | |||||
uint32_t free = 0; | uint32_t free = 0; | ||||
uint32_t lba; | uint32_t lba; | ||||
uint32_t todo = m_lastCluster + 1; | uint32_t todo = m_lastCluster + 1; | ||||
DBG_FAIL_MACRO; | DBG_FAIL_MACRO; | ||||
goto fail; | goto fail; | ||||
} | } | ||||
setFreeClusterCount(free); | |||||
return free; | return free; | ||||
fail: | fail: | ||||
clusterCount >>= m_clusterSizeShift; | clusterCount >>= m_clusterSizeShift; | ||||
m_lastCluster = clusterCount + 1; | m_lastCluster = clusterCount + 1; | ||||
// Indicate unknown number of free clusters. | |||||
setFreeClusterCount(-1); | |||||
// FAT type is determined by cluster count | // FAT type is determined by cluster count | ||||
if (clusterCount < 4085) { | if (clusterCount < 4085) { | ||||
m_fatType = 12; | m_fatType = 12; |
uint32_t m_lastCluster; // Last cluster number in FAT. | uint32_t m_lastCluster; // Last cluster number in FAT. | ||||
uint32_t m_rootDirStart; // Start block for FAT16, cluster for FAT32. | uint32_t m_rootDirStart; // Start block for FAT16, cluster for FAT32. | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
#if MAINTAIN_FREE_CLUSTER_COUNT | |||||
int32_t m_freeClusterCount; // Count of free clusters in volume. | |||||
void setFreeClusterCount(int32_t value) { | |||||
m_freeClusterCount = value; | |||||
} | |||||
void updateFreeClusterCount(int32_t change) { | |||||
if (m_freeClusterCount >= 0) { | |||||
m_freeClusterCount += change; | |||||
} | |||||
} | |||||
#else // MAINTAIN_FREE_CLUSTER_COUNT | |||||
void setFreeClusterCount(int32_t value) {} | |||||
void updateFreeClusterCount(int32_t change) {} | |||||
#endif // MAINTAIN_FREE_CLUSTER_COUNT | |||||
// block caches | // block caches | ||||
FatCache m_cache; | FatCache m_cache; | ||||
#if USE_SEPARATE_FAT_CACHE | #if USE_SEPARATE_FAT_CACHE |
/* Arduino SdFat Library | |||||
* Copyright (C) 2015 by William Greiman | |||||
* | |||||
* This file is part of the Arduino SdFat Library | |||||
* | |||||
* This Library is free software: you can redistribute it and/or modify | |||||
* it under the terms of the GNU General Public License as published by | |||||
* the Free Software Foundation, either version 3 of the License, or | |||||
* (at your option) any later version. | |||||
* | |||||
* This Library is distributed in the hope that it will be useful, | |||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
* GNU General Public License for more details. | |||||
* You should have received a copy of the GNU General Public License | |||||
* along with the Arduino SdFat Library. If not, see | |||||
* <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#ifndef FreeStack_h | |||||
#define FreeStack_h | |||||
/** | |||||
* \file | |||||
* \brief FreeStack() function. | |||||
*/ | |||||
#ifdef __arm__ | |||||
extern "C" char* sbrk(int incr); | |||||
static int FreeStack() { | |||||
char top; | |||||
return &top - reinterpret_cast<char*>(sbrk(0)); | |||||
} | |||||
#else // __arm__ | |||||
/** boundary between stack and heap. */ | |||||
extern char *__brkval; | |||||
/** End of bss section.*/ | |||||
extern char __bss_end; | |||||
/** Amount of free stack space. | |||||
* \return The number of free bytes. | |||||
*/ | |||||
static int FreeStack() { | |||||
char top; | |||||
return __brkval ? &top - __brkval : &top - &__bss_end; | |||||
} | |||||
#endif // __arm | |||||
#endif // FreeStack_h |
* \file | * \file | ||||
* \brief SdFat class | * \brief SdFat class | ||||
*/ | */ | ||||
#include "SdSpiCard.h" | |||||
#include "utility/FatLib.h" | |||||
#include "SdSpiCard/SdSpiCard.h" | |||||
#include "FatLib/FatLib.h" | |||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
/** SdFat version YYYYMMDD */ | /** SdFat version YYYYMMDD */ | ||||
#define SD_FAT_VERSION 20150201 | |||||
#define SD_FAT_VERSION 20150718 | |||||
//============================================================================== | //============================================================================== | ||||
/** | /** | ||||
* \class SdBaseFile | * \class SdBaseFile |
*/ | */ | ||||
#define ARDUINO_FILE_USES_STREAM 1 | #define ARDUINO_FILE_USES_STREAM 1 | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
/** | |||||
* Determine the default SPI configuration. | |||||
*/ | |||||
#if defined(__AVR__)\ | |||||
|| defined(__SAM3X8E__) || defined(__SAM3X8H__)\ | |||||
|| (defined(__arm__) && defined(CORE_TEENSY))\ | |||||
|| defined(__STM32F1__)\ | |||||
|| defined(DOXYGEN) | |||||
// Use custom fast implementation. | |||||
#define SD_HAS_CUSTOM_SPI 1 | |||||
#else // SD_HAS_CUSTOM_SPI | |||||
// Use standard SPI library. | |||||
#define SD_HAS_CUSTOM_SPI 0 | |||||
#endif // SD_HAS_CUSTOM_SPI | |||||
//------------------------------------------------------------------------------ | |||||
/** | /** | ||||
* The symbol SD_SPI_CONFIGURATION defines SPI access to the SD card. | * The symbol SD_SPI_CONFIGURATION defines SPI access to the SD card. | ||||
* | * | ||||
* IF SD_SPI_CONFIGUTATION is define to be zero, only the SdFat class | * IF SD_SPI_CONFIGUTATION is define to be zero, only the SdFat class | ||||
* is define and SdFat uses a fast custom SPI implementation. | |||||
* is define and SdFat uses a fast custom SPI implementation if avaiable. | |||||
* If SD_HAS_CUSTOM_SPI is zero, the standard SPI library is used. | |||||
* | * | ||||
* If SD_SPI_CONFIGURATION is define to be one, only the SdFat class is | * If SD_SPI_CONFIGURATION is define to be one, only the SdFat class is | ||||
* define and SdFat uses the standard Arduino SPI.h library. | * define and SdFat uses the standard Arduino SPI.h library. | ||||
/** Software SPI Clock pin */ | /** Software SPI Clock pin */ | ||||
uint8_t const SOFT_SPI_SCK_PIN = 13; | uint8_t const SOFT_SPI_SCK_PIN = 13; | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
/** | |||||
* Set MAINTAIN_FREE_CLUSTER_COUNT nonzero to keep the count of free clusters | |||||
* updated. This will increase the speed of the freeClusterCount() call | |||||
* after the first call. Extra flash will be required. | |||||
*/ | |||||
#define MAINTAIN_FREE_CLUSTER_COUNT 0 | |||||
//------------------------------------------------------------------------------ | |||||
/** | /** | ||||
* To enable SD card CRC checking set USE_SD_CRC nonzero. | * To enable SD card CRC checking set USE_SD_CRC nonzero. | ||||
* | * | ||||
#define USE_SD_CRC 0 | #define USE_SD_CRC 0 | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
/** | /** | ||||
* Set ENABLE_SPI_TRANSACTION nonzero to enable the SPI transaction feature | |||||
* Set ENABLE_SPI_TRANSACTIONS nonzero to enable the SPI transaction feature | |||||
* of the standard Arduino SPI library. You must include SPI.h in your | * of the standard Arduino SPI library. You must include SPI.h in your | ||||
* programs when ENABLE_SPI_TRANSACTION is nonzero. | |||||
* programs when ENABLE_SPI_TRANSACTIONS is nonzero. | |||||
*/ | */ | ||||
#define ENABLE_SPI_TRANSACTION 0 | |||||
#define ENABLE_SPI_TRANSACTIONS 0 | |||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
/** | /** | ||||
* Set ENABLE_SPI_YIELD nonzero to enable release of the SPI bus during | * Set ENABLE_SPI_YIELD nonzero to enable release of the SPI bus during | ||||
* SD card busy waits. | * SD card busy waits. | ||||
* | * | ||||
* This will allow interrupt routines to access the SPI bus if | * This will allow interrupt routines to access the SPI bus if | ||||
* ENABLE_SPI_TRANSACTION is nonzero. | |||||
* ENABLE_SPI_TRANSACTIONS is nonzero. | |||||
* | * | ||||
* Setting ENABLE_SPI_YIELD will introduce some extra overhead and will | * Setting ENABLE_SPI_YIELD will introduce some extra overhead and will | ||||
* slightly slow transfer rates. A few older SD cards may fail when | * slightly slow transfer rates. A few older SD cards may fail when |
/* Arduino SdFat Library | /* Arduino SdFat Library | ||||
* Copyright (C) 2012 by William Greiman | |||||
* Copyright (C) 2015 by William Greiman | |||||
* | * | ||||
* This file is part of the Arduino SdFat Library | * This file is part of the Arduino SdFat Library | ||||
* | * |
*portClearRegister(pin) = 1; | *portClearRegister(pin) = 1; | ||||
} | } | ||||
} | } | ||||
#else // CORE_TEENSY | |||||
#elif defined(__SAM3X8E__) || defined(__SAM3X8H__) // CORE_TEENSY | |||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
/** read pin value | /** read pin value | ||||
* @param[in] pin Arduino pin number | * @param[in] pin Arduino pin number | ||||
g_APinDescription[pin].pPort->PIO_CODR = g_APinDescription[pin].ulPin; | g_APinDescription[pin].pPort->PIO_CODR = g_APinDescription[pin].ulPin; | ||||
} | } | ||||
} | } | ||||
#else // CORE_TEENSY | |||||
//------------------------------------------------------------------------------ | |||||
/** read pin value | |||||
* @param[in] pin Arduino pin number | |||||
* @return value read | |||||
*/ | |||||
static inline __attribute__((always_inline)) | |||||
bool fastDigitalRead(uint8_t pin) { | |||||
return digitalRead(pin); | |||||
} | |||||
//------------------------------------------------------------------------------ | |||||
/** Set pin value | |||||
* @param[in] pin Arduino pin number | |||||
* @param[in] level value to write | |||||
*/ | |||||
static inline __attribute__((always_inline)) | |||||
void fastDigitalWrite(uint8_t pin, bool value) { | |||||
digitalWrite(pin, value); | |||||
} | |||||
#endif // CORE_TEENSY | #endif // CORE_TEENSY | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
inline void fastDigitalToggle(uint8_t pin) { | inline void fastDigitalToggle(uint8_t pin) { | ||||
#ifdef PORT_D0 | #ifdef PORT_D0 | ||||
// Newer version of 1284P | // Newer version of 1284P | ||||
static const pin_map_t pinMap[] = { | |||||
{PORT_TO_MODE(PORT_D0), PORT_TO_INPUT(PORT_D0), PORT_TO_OUTPUT(PORT_D0), BIT_D0}, | |||||
{PORT_TO_MODE(PORT_D1), PORT_TO_INPUT(PORT_D1), PORT_TO_OUTPUT(PORT_D1), BIT_D1}, | |||||
{PORT_TO_MODE(PORT_D2), PORT_TO_INPUT(PORT_D2), PORT_TO_OUTPUT(PORT_D2), BIT_D2}, | |||||
{PORT_TO_MODE(PORT_D3), PORT_TO_INPUT(PORT_D3), PORT_TO_OUTPUT(PORT_D3), BIT_D3}, | |||||
{PORT_TO_MODE(PORT_D4), PORT_TO_INPUT(PORT_D4), PORT_TO_OUTPUT(PORT_D4), BIT_D4}, | |||||
{PORT_TO_MODE(PORT_D5), PORT_TO_INPUT(PORT_D5), PORT_TO_OUTPUT(PORT_D5), BIT_D5}, | |||||
{PORT_TO_MODE(PORT_D6), PORT_TO_INPUT(PORT_D6), PORT_TO_OUTPUT(PORT_D6), BIT_D6}, | |||||
{PORT_TO_MODE(PORT_D7), PORT_TO_INPUT(PORT_D7), PORT_TO_OUTPUT(PORT_D7), BIT_D7}, | |||||
{PORT_TO_MODE(PORT_D8), PORT_TO_INPUT(PORT_D8), PORT_TO_OUTPUT(PORT_D8), BIT_D8}, | |||||
{PORT_TO_MODE(PORT_D9), PORT_TO_INPUT(PORT_D9), PORT_TO_OUTPUT(PORT_D9), BIT_D9}, | |||||
{PORT_TO_MODE(PORT_D10), PORT_TO_INPUT(PORT_D10), PORT_TO_OUTPUT(PORT_D10), BIT_D10}, | |||||
{PORT_TO_MODE(PORT_D11), PORT_TO_INPUT(PORT_D11), PORT_TO_OUTPUT(PORT_D11), BIT_D11}, | |||||
{PORT_TO_MODE(PORT_D12), PORT_TO_INPUT(PORT_D12), PORT_TO_OUTPUT(PORT_D12), BIT_D12}, | |||||
{PORT_TO_MODE(PORT_D13), PORT_TO_INPUT(PORT_D13), PORT_TO_OUTPUT(PORT_D13), BIT_D13}, | |||||
{PORT_TO_MODE(PORT_D14), PORT_TO_INPUT(PORT_D14), PORT_TO_OUTPUT(PORT_D14), BIT_D14}, | |||||
{PORT_TO_MODE(PORT_D15), PORT_TO_INPUT(PORT_D15), PORT_TO_OUTPUT(PORT_D15), BIT_D15}, | |||||
{PORT_TO_MODE(PORT_D16), PORT_TO_INPUT(PORT_D16), PORT_TO_OUTPUT(PORT_D16), BIT_D16}, | |||||
{PORT_TO_MODE(PORT_D17), PORT_TO_INPUT(PORT_D17), PORT_TO_OUTPUT(PORT_D17), BIT_D17}, | |||||
{PORT_TO_MODE(PORT_D18), PORT_TO_INPUT(PORT_D18), PORT_TO_OUTPUT(PORT_D18), BIT_D18}, | |||||
{PORT_TO_MODE(PORT_D19), PORT_TO_INPUT(PORT_D19), PORT_TO_OUTPUT(PORT_D19), BIT_D19}, | |||||
{PORT_TO_MODE(PORT_D20), PORT_TO_INPUT(PORT_D20), PORT_TO_OUTPUT(PORT_D20), BIT_D20}, | |||||
{PORT_TO_MODE(PORT_D21), PORT_TO_INPUT(PORT_D21), PORT_TO_OUTPUT(PORT_D21), BIT_D21}, | |||||
{PORT_TO_MODE(PORT_D22), PORT_TO_INPUT(PORT_D22), PORT_TO_OUTPUT(PORT_D22), BIT_D22}, | |||||
{PORT_TO_MODE(PORT_D23), PORT_TO_INPUT(PORT_D23), PORT_TO_OUTPUT(PORT_D23), BIT_D23}, | |||||
{PORT_TO_MODE(PORT_D24), PORT_TO_INPUT(PORT_D24), PORT_TO_OUTPUT(PORT_D24), BIT_D24}, | |||||
{PORT_TO_MODE(PORT_D25), PORT_TO_INPUT(PORT_D25), PORT_TO_OUTPUT(PORT_D25), BIT_D25}, | |||||
{PORT_TO_MODE(PORT_D26), PORT_TO_INPUT(PORT_D26), PORT_TO_OUTPUT(PORT_D26), BIT_D26}, | |||||
{PORT_TO_MODE(PORT_D27), PORT_TO_INPUT(PORT_D27), PORT_TO_OUTPUT(PORT_D27), BIT_D27}, | |||||
{PORT_TO_MODE(PORT_D28), PORT_TO_INPUT(PORT_D28), PORT_TO_OUTPUT(PORT_D28), BIT_D28}, | |||||
{PORT_TO_MODE(PORT_D29), PORT_TO_INPUT(PORT_D29), PORT_TO_OUTPUT(PORT_D29), BIT_D29}, | |||||
{PORT_TO_MODE(PORT_D30), PORT_TO_INPUT(PORT_D30), PORT_TO_OUTPUT(PORT_D30), BIT_D30}, | |||||
{PORT_TO_MODE(PORT_D31), PORT_TO_INPUT(PORT_D31), PORT_TO_OUTPUT(PORT_D31), BIT_D31} | |||||
}; | |||||
#elif analogInputToDigitalPin(0)==24 | |||||
#define DPM(x) {PORT_TO_MODE(PORT_D##x), PORT_TO_INPUT(PORT_D##x), \ | |||||
PORT_TO_OUTPUT(PORT_D##x), BIT_D##x} | |||||
static const pin_map_t pinMap[] = { | |||||
DPM(0), | |||||
DPM(1), | |||||
DPM(2), | |||||
DPM(3), | |||||
DPM(4), | |||||
DPM(5), | |||||
DPM(6), | |||||
DPM(7), | |||||
DPM(8), | |||||
DPM(9), | |||||
DPM(10), | |||||
DPM(11), | |||||
DPM(12), | |||||
DPM(13), | |||||
DPM(14), | |||||
DPM(15), | |||||
DPM(16), | |||||
DPM(17), | |||||
DPM(18), | |||||
DPM(19), | |||||
DPM(20), | |||||
DPM(21), | |||||
DPM(22), | |||||
DPM(23), | |||||
DPM(24), | |||||
DPM(25), | |||||
DPM(26), | |||||
DPM(27), | |||||
DPM(28), | |||||
DPM(29), | |||||
DPM(30), | |||||
DPM(31) | |||||
}; | |||||
#undef DPM | |||||
#elif analogInputToDigitalPin(0) == 24 | |||||
// Mighty Layout | // Mighty Layout | ||||
static const pin_map_t pinMap[] = { | static const pin_map_t pinMap[] = { | ||||
{&DDRB, &PINB, &PORTB, 0}, // B0 0 | {&DDRB, &PINB, &PORTB, 0}, // B0 0 | ||||
{&DDRA, &PINA, &PORTA, 6}, // A6 30 | {&DDRA, &PINA, &PORTA, 6}, // A6 30 | ||||
{&DDRA, &PINA, &PORTA, 7} // A7 31 | {&DDRA, &PINA, &PORTA, 7} // A7 31 | ||||
}; | }; | ||||
#elif analogInputToDigitalPin(0)==21 | |||||
#elif analogInputToDigitalPin(0) == 21 | |||||
// Bobuino Layout | // Bobuino Layout | ||||
static const pin_map_t pinMap[] = { | static const pin_map_t pinMap[] = { | ||||
{&DDRD, &PIND, &PORTD, 0}, // D0 0 | {&DDRD, &PIND, &PORTD, 0}, // D0 0 | ||||
{&DDRD, &PIND, &PORTD, 4}, // D4 30 | {&DDRD, &PIND, &PORTD, 4}, // D4 30 | ||||
{&DDRD, &PIND, &PORTD, 7} // D7 31 | {&DDRD, &PIND, &PORTD, 7} // D7 31 | ||||
}; | }; | ||||
#elif analogInputToDigitalPin(0)==31 | |||||
#elif analogInputToDigitalPin(0) == 31 | |||||
// Standard Layout | // Standard Layout | ||||
static const pin_map_t pinMap[] = { | static const pin_map_t pinMap[] = { | ||||
{&DDRB, &PINB, &PORTB, 0}, // B0 0 | {&DDRB, &PINB, &PORTB, 0}, // B0 0 |
#ifndef SdSpi_h | #ifndef SdSpi_h | ||||
#define SdSpi_h | #define SdSpi_h | ||||
#include <Arduino.h> | #include <Arduino.h> | ||||
#include <SPI.h> | |||||
#include "SdFatConfig.h" | #include "SdFatConfig.h" | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
* | * | ||||
* \param[in] divisor SCK clock divider relative to the system clock. | * \param[in] divisor SCK clock divider relative to the system clock. | ||||
*/ | */ | ||||
virtual void init(uint8_t divisor); | |||||
virtual void beginTransaction(uint8_t divisor); | |||||
/** | |||||
* End SPI transaction. | |||||
*/ | |||||
virtual void endTransaction(); | |||||
/** Receive a byte. | /** Receive a byte. | ||||
* | * | ||||
* \return The byte. | * \return The byte. | ||||
* \param[in] n Number of bytes to send. | * \param[in] n Number of bytes to send. | ||||
*/ | */ | ||||
virtual void send(const uint8_t* buf, size_t n) = 0; | virtual void send(const uint8_t* buf, size_t n) = 0; | ||||
/** \return true if hardware SPI else false */ | |||||
virtual bool useSpiTransactions() = 0; | |||||
}; | }; | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
/** | /** | ||||
* | * | ||||
* \param[in] divisor SCK clock divider relative to the system clock. | * \param[in] divisor SCK clock divider relative to the system clock. | ||||
*/ | */ | ||||
void init(uint8_t divisor); | |||||
void beginTransaction(uint8_t divisor); | |||||
/** | |||||
* End SPI transaction | |||||
*/ | |||||
void endTransaction(); | |||||
/** Receive a byte. | /** Receive a byte. | ||||
* | * | ||||
* \return The byte. | * \return The byte. | ||||
*/ | */ | ||||
void send(const uint8_t* buf, size_t n); | void send(const uint8_t* buf, size_t n); | ||||
/** \return true - uses SPI transactions */ | /** \return true - uses SPI transactions */ | ||||
bool useSpiTransactions() { | |||||
return true; | |||||
} | |||||
}; | }; | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
/** | /** | ||||
* \brief Arduino SPI library class for access to SD and SDHC flash | * \brief Arduino SPI library class for access to SD and SDHC flash | ||||
* memory cards. | * memory cards. | ||||
*/ | */ | ||||
#if SD_SPI_CONFIGURATION >= 3 || SD_SPI_CONFIGURATION == 1 || defined(DOXYGEN) | |||||
#include <SPI.h> | |||||
#if SD_SPI_CONFIGURATION >= 3 | #if SD_SPI_CONFIGURATION >= 3 | ||||
class SdSpiLib : public SdSpiBase { | class SdSpiLib : public SdSpiBase { | ||||
#else // SD_SPI_CONFIGURATION >= 3 | #else // SD_SPI_CONFIGURATION >= 3 | ||||
* | * | ||||
* \param[in] divisor SCK clock divider relative to the system clock. | * \param[in] divisor SCK clock divider relative to the system clock. | ||||
*/ | */ | ||||
void init(uint8_t divisor) { | |||||
SPI.setBitOrder(MSBFIRST); | |||||
SPI.setDataMode(SPI_MODE0); | |||||
void beginTransaction(uint8_t divisor) { | |||||
#if ENABLE_SPI_TRANSACTIONS | |||||
SPI.beginTransaction(SPISettings()); | |||||
#else // #if ENABLE_SPI_TRANSACTIONS | |||||
SPI.setBitOrder(MSBFIRST); | |||||
SPI.setDataMode(SPI_MODE0); | |||||
#endif // #if ENABLE_SPI_TRANSACTIONS | |||||
#ifndef SPI_CLOCK_DIV128 | #ifndef SPI_CLOCK_DIV128 | ||||
SPI.setClockDivider(divisor); | SPI.setClockDivider(divisor); | ||||
#else // SPI_CLOCK_DIV128 | #else // SPI_CLOCK_DIV128 | ||||
} | } | ||||
SPI.setClockDivider(v); | SPI.setClockDivider(v); | ||||
#endif // SPI_CLOCK_DIV128 | #endif // SPI_CLOCK_DIV128 | ||||
} | |||||
/** | |||||
* End SPI transaction. | |||||
*/ | |||||
void endTransaction() { | |||||
#if ENABLE_SPI_TRANSACTIONS | |||||
SPI.endTransaction(); | |||||
#endif // ENABLE_SPI_TRANSACTIONS | |||||
} | } | ||||
/** Receive a byte. | /** Receive a byte. | ||||
* | * | ||||
SPI.transfer(buf[i]); | SPI.transfer(buf[i]); | ||||
} | } | ||||
} | } | ||||
/** \return true - uses SPI transactions */ | |||||
bool useSpiTransactions() { | |||||
return true; | |||||
} | |||||
}; | }; | ||||
#endif // SD_SPI_CONFIGURATION >= 3 || SD_SPI_CONFIGURATION == 1 | |||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
#if SD_SPI_CONFIGURATION > 1 || defined(DOXYGEN) | #if SD_SPI_CONFIGURATION > 1 || defined(DOXYGEN) | ||||
#include "utility/SoftSPI.h" | |||||
#include "SoftSPI.h" | |||||
/** | /** | ||||
* \class SdSpiSoft | * \class SdSpiSoft | ||||
* \brief Software SPI class for access to SD and SDHC flash memory cards. | * \brief Software SPI class for access to SD and SDHC flash memory cards. | ||||
* Initialize hardware SPI - dummy for soft SPI | * Initialize hardware SPI - dummy for soft SPI | ||||
* \param[in] divisor SCK divisor - ignored. | * \param[in] divisor SCK divisor - ignored. | ||||
*/ | */ | ||||
void init(uint8_t divisor) {} | |||||
void beginTransaction(uint8_t divisor) {} | |||||
/** | |||||
* End SPI transaction - dummy for soft SPI | |||||
*/ | |||||
void endTransaction() {} | |||||
/** Receive a byte. | /** Receive a byte. | ||||
* | * | ||||
* \return The byte. | * \return The byte. | ||||
send(buf[i]); | send(buf[i]); | ||||
} | } | ||||
} | } | ||||
/** \return false - no SPI transactions */ | |||||
bool useSpiTransactions() { | |||||
return false; | |||||
} | |||||
private: | private: | ||||
SoftSPI<MisoPin, MosiPin, SckPin, 0> m_spi; | SoftSPI<MisoPin, MosiPin, SckPin, 0> m_spi; | ||||
}; | }; | ||||
#endif // SD_SPI_CONFIGURATION > 1 || defined(DOXYGEN) | #endif // SD_SPI_CONFIGURATION > 1 || defined(DOXYGEN) | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
#if SD_SPI_CONFIGURATION == 0 || SD_SPI_CONFIGURATION >= 3 | |||||
/** Default is custom fast SPI. */ | |||||
typedef SdSpi SpiDefault_t; | |||||
#elif SD_SPI_CONFIGURATION == 1 | |||||
/** Default is Arduino library SPI. */ | |||||
typedef SdSpiLib SpiDefault_t; | |||||
#elif SD_SPI_CONFIGURATION == 2 | |||||
#if SD_SPI_CONFIGURATION == 2 | |||||
/** Default is software SPI. */ | /** Default is software SPI. */ | ||||
typedef SdSpiSoft<SOFT_SPI_MISO_PIN, SOFT_SPI_MOSI_PIN, SOFT_SPI_SCK_PIN> | typedef SdSpiSoft<SOFT_SPI_MISO_PIN, SOFT_SPI_MOSI_PIN, SOFT_SPI_SCK_PIN> | ||||
SpiDefault_t; | SpiDefault_t; | ||||
#else // SD_SPI_CONFIGURATION == 0 || SD_SPI_CONFIGURATION >= 3 | |||||
#error bad SD_SPI_CONFIGURATION | |||||
#endif // SD_SPI_CONFIGURATION == 0 || SD_SPI_CONFIGURATION >= 3 | |||||
#elif SD_SPI_CONFIGURATION == 1 || !SD_HAS_CUSTOM_SPI | |||||
/** Default is Arduino library SPI. */ | |||||
typedef SdSpiLib SpiDefault_t; | |||||
#else // SpiDefault_t | |||||
/** Default is custom fast SPI. */ | |||||
typedef SdSpi SpiDefault_t; | |||||
#endif // SpiDefault_t | |||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
// Use of in-line for AVR to save flash. | // Use of in-line for AVR to save flash. | ||||
#ifdef __AVR__ | #ifdef __AVR__ | ||||
#endif // __AVR_ATmega328P__ | #endif // __AVR_ATmega328P__ | ||||
} | } | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
inline void SdSpi::init(uint8_t divisor) { | |||||
inline void SdSpi::beginTransaction(uint8_t divisor) { | |||||
#if ENABLE_SPI_TRANSACTIONS | |||||
SPI.beginTransaction(SPISettings()); | |||||
#endif // ENABLE_SPI_TRANSACTIONS | |||||
uint8_t b = 2; | uint8_t b = 2; | ||||
uint8_t r = 0; | uint8_t r = 0; | ||||
SPSR = r & 1 ? 0 : 1 << SPI2X; | SPSR = r & 1 ? 0 : 1 << SPI2X; | ||||
} | } | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
inline void SdSpi::endTransaction() { | |||||
#if ENABLE_SPI_TRANSACTIONS | |||||
SPI.endTransaction(); | |||||
#endif // ENABLE_SPI_TRANSACTIONS | |||||
} | |||||
//------------------------------------------------------------------------------ | |||||
inline uint8_t SdSpi::receive() { | inline uint8_t SdSpi::receive() { | ||||
SPDR = 0XFF; | SPDR = 0XFF; | ||||
while (!(SPSR & (1 << SPIF))) {} | while (!(SPSR & (1 << SPIF))) {} |
*/ | */ | ||||
#include "SdSpiCard.h" | #include "SdSpiCard.h" | ||||
#include "SdSpi.h" | #include "SdSpi.h" | ||||
#if ENABLE_SPI_TRANSACTION | |||||
#include <SPI.h> | |||||
#endif // ENABLE_SPI_TRANSACTION | |||||
// debug trace macro | // debug trace macro | ||||
#define SD_TRACE(m, b) | #define SD_TRACE(m, b) | ||||
// #define SD_TRACE(m, b) Serial.print(m);Serial.println(b); | // #define SD_TRACE(m, b) Serial.print(m);Serial.println(b); | ||||
// set SCK rate for initialization commands | // set SCK rate for initialization commands | ||||
m_sckDivisor = SPI_SCK_INIT_DIVISOR; | m_sckDivisor = SPI_SCK_INIT_DIVISOR; | ||||
spiInit(m_sckDivisor); | |||||
spiBeginTransaction(m_sckDivisor); | |||||
// must supply min of 74 clock cycles with CS high. | // must supply min of 74 clock cycles with CS high. | ||||
for (uint8_t i = 0; i < 10; i++) { | for (uint8_t i = 0; i < 10; i++) { | ||||
spiSend(0XFF); | spiSend(0XFF); | ||||
} | } | ||||
spiEndTransaction(); | |||||
// command to go idle in SPI mode | // command to go idle in SPI mode | ||||
while (cardCommand(CMD0, 0) != R1_IDLE_STATE) { | while (cardCommand(CMD0, 0) != R1_IDLE_STATE) { | ||||
if (((uint16_t)millis() - t0) > SD_INIT_TIMEOUT) { | if (((uint16_t)millis() - t0) > SD_INIT_TIMEOUT) { | ||||
} | } | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
void SdSpiCard::spiYield() { | void SdSpiCard::spiYield() { | ||||
#if ENABLE_SPI_TRANSACTION && ENABLE_SPI_YIELD && defined(SPI_HAS_TRANSACTION) | |||||
#if ENABLE_SPI_TRANSACTIONS && ENABLE_SPI_YIELD | |||||
chipSelectHigh(); | chipSelectHigh(); | ||||
chipSelectLow(); | chipSelectLow(); | ||||
#endif // ENABLE_SPI_TRANSACTION && ENABLE_SPI_YIELD && SPI_HAS_TRANSACTION | |||||
#endif // ENABLE_SPI_TRANSACTIONS && ENABLE_SPI_YIELD | |||||
} | } | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
void SdSpiCard::chipSelectHigh() { | void SdSpiCard::chipSelectHigh() { | ||||
digitalWrite(m_chipSelectPin, HIGH); | digitalWrite(m_chipSelectPin, HIGH); | ||||
// insure MISO goes high impedance | // insure MISO goes high impedance | ||||
spiSend(0XFF); | spiSend(0XFF); | ||||
#if ENABLE_SPI_TRANSACTION && defined(SPI_HAS_TRANSACTION) | |||||
if (useSpiTransactions()) { | |||||
SPI.endTransaction(); | |||||
} | |||||
#endif // ENABLE_SPI_TRANSACTION && defined(SPI_HAS_TRANSACTION) | |||||
spiEndTransaction(); | |||||
} | } | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
void SdSpiCard::chipSelectLow() { | void SdSpiCard::chipSelectLow() { | ||||
#if ENABLE_SPI_TRANSACTION && defined(SPI_HAS_TRANSACTION) | |||||
if (useSpiTransactions()) { | |||||
SPI.beginTransaction(SPISettings()); | |||||
} | |||||
#endif // ENABLE_SPI_TRANSACTION && defined(SPI_HAS_TRANSACTION) | |||||
spiInit(m_sckDivisor); | |||||
spiBeginTransaction(m_sckDivisor); | |||||
digitalWrite(m_chipSelectPin, LOW); | digitalWrite(m_chipSelectPin, LOW); | ||||
} | } | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ |
* \brief SdSpiCard class for V2 SD/SDHC cards | * \brief SdSpiCard class for V2 SD/SDHC cards | ||||
*/ | */ | ||||
#include <Arduino.h> | #include <Arduino.h> | ||||
#include <SdFatConfig.h> | |||||
#include <SdInfo.h> | |||||
#include <SdSpi.h> | |||||
#include "SdFatConfig.h" | |||||
#include "SdInfo.h" | |||||
#include "SdSpi.h" | |||||
//============================================================================== | //============================================================================== | ||||
/** | /** | ||||
* \class SdSpiCard | * \class SdSpiCard | ||||
void spiBegin() { | void spiBegin() { | ||||
m_spi->begin(); | m_spi->begin(); | ||||
} | } | ||||
void spiInit(uint8_t spiDivisor) { | |||||
m_spi->init(spiDivisor); | |||||
void spiBeginTransaction(uint8_t spiDivisor) { | |||||
m_spi->beginTransaction(spiDivisor); | |||||
} | |||||
void spiEndTransaction() { | |||||
m_spi->endTransaction(); | |||||
} | } | ||||
uint8_t spiReceive() { | uint8_t spiReceive() { | ||||
return m_spi->receive(); | return m_spi->receive(); | ||||
void spiSend(const uint8_t* buf, size_t n) { | void spiSend(const uint8_t* buf, size_t n) { | ||||
m_spi->send(buf, n); | m_spi->send(buf, n); | ||||
} | } | ||||
bool useSpiTransactions() { | |||||
return m_spi->useSpiTransactions(); | |||||
} | |||||
m_spi_t* m_spi; | m_spi_t* m_spi; | ||||
uint8_t m_chipSelectPin; | uint8_t m_chipSelectPin; | ||||
uint8_t m_errorCode; | uint8_t m_errorCode; |
} | } | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
// initialize SPI controller | // initialize SPI controller | ||||
void SdSpi::init(uint8_t sckDivisor) { | |||||
void SdSpi::beginTransaction(uint8_t sckDivisor) { | |||||
#if ENABLE_SPI_TRANSACTIONS | |||||
SPI.beginTransaction(SPISettings()); | |||||
#endif // ENABLE_SPI_TRANSACTIONS | |||||
uint8_t scbr = sckDivisor; | uint8_t scbr = sckDivisor; | ||||
Spi* pSpi = SPI0; | Spi* pSpi = SPI0; | ||||
// disable SPI | // disable SPI | ||||
pSpi->SPI_CR |= SPI_CR_SPIEN; | pSpi->SPI_CR |= SPI_CR_SPIEN; | ||||
} | } | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
void SdSpi::endTransaction() { | |||||
#if ENABLE_SPI_TRANSACTIONS | |||||
SPI.endTransaction(); | |||||
#endif // ENABLE_SPI_TRANSACTIONS | |||||
} | |||||
//------------------------------------------------------------------------------ | |||||
static inline uint8_t spiTransfer(uint8_t b) { | static inline uint8_t spiTransfer(uint8_t b) { | ||||
Spi* pSpi = SPI0; | Spi* pSpi = SPI0; | ||||
/* Arduino SdSpi Library | |||||
* Copyright (C) 2013 by William Greiman | |||||
* | |||||
* STM32F1 code for Maple and Maple Mini support, 2015 by Victor Perez | |||||
* | |||||
* This file is part of the Arduino SdSpi Library | |||||
* | |||||
* This Library is free software: you can redistribute it and/or modify | |||||
* it under the terms of the GNU General Public License as published by | |||||
* the Free Software Foundation, either version 3 of the License, or | |||||
* (at your option) any later version. | |||||
* | |||||
* This Library is distributed in the hope that it will be useful, | |||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
* GNU General Public License for more details. | |||||
* | |||||
* You should have received a copy of the GNU General Public License | |||||
* along with the Arduino SdSpi Library. If not, see | |||||
* <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#if defined(__STM32F1__) | |||||
#include "SdSpi.h" | |||||
#include <libmaple/dma.h> | |||||
/** Use STM32 DMAC if nonzero */ | |||||
#define USE_STM32F1_DMAC 1 | |||||
/** Time in ms for DMA receive timeout */ | |||||
#define STM32F1_DMA_TIMEOUT 100 | |||||
/** DMAC receive channel */ | |||||
#define SPI1_DMAC_RX_CH DMA_CH2 | |||||
/** DMAC transmit channel */ | |||||
#define SPI1_DMAC_TX_CH DMA_CH3 | |||||
volatile bool SPI_DMA_TX_Active = false; | |||||
volatile bool SPI_DMA_RX_Active = false; | |||||
/** ISR for DMA TX event. */ | |||||
inline void SPI_DMA_TX_Event() { | |||||
SPI_DMA_TX_Active = false; | |||||
dma_disable(DMA1, SPI_DMAC_TX_CH); | |||||
} | |||||
/** ISR for DMA RX event. */ | |||||
inline void SPI_DMA_RX_Event() { | |||||
SPI_DMA_RX_Active = false; | |||||
dma_disable(DMA1, SPI1_DMAC_RX_CH); | |||||
} | |||||
//------------------------------------------------------------------------------ | |||||
/** Disable DMA Channel. */ | |||||
static void dmac_channel_disable(dma_channel ul_num) { | |||||
dma_disable(DMA1, ul_num); | |||||
} | |||||
/** Enable DMA Channel. */ | |||||
static void dmac_channel_enable(dma_channel ul_num) { | |||||
dma_enable(DMA1, ul_num); | |||||
} | |||||
//------------------------------------------------------------------------------ | |||||
void SdSpi::begin() { | |||||
SPI.begin(); | |||||
} | |||||
//------------------------------------------------------------------------------ | |||||
// start RX DMA | |||||
static void spiDmaRX(uint8_t* dst, uint16_t count) { | |||||
// spi_rx_dma_enable(SPI1); | |||||
if (count < 1) return; | |||||
dma_setup_transfer(DMA1, SPI1_DMAC_RX_CH, &SPI1->regs->DR, DMA_SIZE_8BITS, | |||||
dst, DMA_SIZE_8BITS, (DMA_MINC_MODE | DMA_TRNS_CMPLT)); | |||||
dma_set_num_transfers(DMA1, SPI1_DMAC_RX_CH, count); // 2 bytes per pixel | |||||
SPI_DMA_RX_Active = true; | |||||
dma_enable(DMA1, SPI1_DMAC_RX_CH); | |||||
} | |||||
//------------------------------------------------------------------------------ | |||||
// start TX DMA | |||||
static void spiDmaTX(const uint8_t* src, uint16_t count) { | |||||
if (count < 1) return; | |||||
static uint8_t ff = 0XFF; | |||||
if (!src) { | |||||
src = &ff; | |||||
dma_setup_transfer(DMA1, SPI1_DMAC_TX_CH, &SPI1->regs->DR, DMA_SIZE_8BITS, | |||||
const_cast<uint8_t*>(src), DMA_SIZE_8BITS, | |||||
(DMA_FROM_MEM | DMA_TRNS_CMPLT)); | |||||
} else { | |||||
dma_setup_transfer(DMA1, SPI1_DMAC_TX_CH, &SPI1->regs->DR, DMA_SIZE_8BITS, | |||||
const_cast<uint8_t*>(src), DMA_SIZE_8BITS, | |||||
(DMA_MINC_MODE | DMA_FROM_MEM | DMA_TRNS_CMPLT)); | |||||
} | |||||
dma_set_num_transfers(DMA1, SPI1_DMAC_TX_CH, count); // 2 bytes per pixel | |||||
SPI_DMA_TX_Active = true; | |||||
dma_enable(DMA1, SPI1_DMAC_TX_CH); | |||||
} | |||||
//------------------------------------------------------------------------------ | |||||
// initialize SPI controller STM32F1 | |||||
void SdSpi::beginTransaction(uint8_t sckDivisor) { | |||||
#if ENABLE_SPI_TRANSACTIONS | |||||
SPI.beginTransaction(SPISettings()); | |||||
#endif // ENABLE_SPI_TRANSACTIONS | |||||
if (sckDivisor < SPI_CLOCK_DIV2 || sckDivisor > SPI_CLOCK_DIV256) { | |||||
sckDivisor = SPI_CLOCK_DIV2; // may not be needed, testing. | |||||
} | |||||
SPI.setClockDivider(sckDivisor); | |||||
SPI.setBitOrder(MSBFIRST); | |||||
SPI.setDataMode(SPI_MODE0); | |||||
#if USE_STM32F1_DMAC | |||||
dma_init(DMA1); | |||||
dma_attach_interrupt(DMA1, SPI1_DMAC_TX_CH, SPI_DMA_TX_Event); | |||||
dma_attach_interrupt(DMA1, SPI1_DMAC_RX_CH, SPI_DMA_RX_Event); | |||||
spi_tx_dma_enable(SPI1); | |||||
spi_rx_dma_enable(SPI1); | |||||
#endif // USE_STM32F1_DMAC | |||||
} | |||||
//------------------------------------------------------------------------------ | |||||
void SdSpi::endTransaction() { | |||||
#if ENABLE_SPI_TRANSACTIONS | |||||
SPI.endTransaction(); | |||||
#endif // ENABLE_SPI_TRANSACTIONS | |||||
} | |||||
//------------------------------------------------------------------------------ | |||||
// STM32 | |||||
static inline uint8_t spiTransfer(uint8_t b) { | |||||
return SPI.transfer(b); | |||||
} | |||||
//------------------------------------------------------------------------------ | |||||
// should be valid for STM32 | |||||
/** SPI receive a byte */ | |||||
uint8_t SdSpi::receive() { | |||||
return spiTransfer(0xFF); | |||||
} | |||||
//------------------------------------------------------------------------------ | |||||
/** SPI receive multiple bytes */ | |||||
// check and finish. | |||||
uint8_t SdSpi::receive(uint8_t* buf, size_t n) { | |||||
int rtn = 0; | |||||
#if USE_STM32F1_DMAC | |||||
spiDmaRX(buf, n); | |||||
spiDmaTX(0, n); | |||||
uint32_t m = millis(); | |||||
while (SPI_DMA_RX_Active) { | |||||
if ((millis() - m) > STM32F1_DMA_TIMEOUT) { | |||||
dmac_channel_disable(SPI_DMAC_RX_CH); | |||||
dmac_channel_disable(SPI_DMAC_TX_CH); | |||||
rtn = 2; | |||||
break; | |||||
} | |||||
} | |||||
#else // USE_STM32F1_DMAC | |||||
for (size_t i = 0; i < n; i++) { | |||||
buf[i] = SPI.transfer(0xFF); | |||||
} | |||||
#endif // USE_STM32F1_DMAC | |||||
return rtn; | |||||
} | |||||
//------------------------------------------------------------------------------ | |||||
/** SPI send a byte */ | |||||
void SdSpi::send(uint8_t b) { | |||||
spiTransfer(b); | |||||
} | |||||
//------------------------------------------------------------------------------ | |||||
void SdSpi::send(const uint8_t* buf , size_t n) { | |||||
#if USE_STM32F1_DMAC | |||||
spiDmaTX(buf, n); | |||||
while (SPI_DMA_TX_Active) {} | |||||
#else // #if USE_STM32F1_DMAC | |||||
SPI.write(buf, n); | |||||
#endif // #if USE_STM32F1_DMAC | |||||
// leave RX register empty | |||||
// while (spi_is_rx_nonempty(SPI1)) | |||||
uint8_t b = spi_rx_reg(SPI1); | |||||
} | |||||
#endif // USE_NATIVE_STM32F1_SPI |
* Initialize hardware SPI | * Initialize hardware SPI | ||||
* | * | ||||
*/ | */ | ||||
void SdSpi::init(uint8_t sckDivisor) { | |||||
void SdSpi::beginTransaction(uint8_t sckDivisor) { | |||||
uint32_t ctar, ctar0, ctar1; | uint32_t ctar, ctar0, ctar1; | ||||
#if ENABLE_SPI_TRANSACTIONS | |||||
SPI.beginTransaction(SPISettings()); | |||||
#endif // #if ENABLE_SPI_TRANSACTIONS | |||||
if (sckDivisor <= 2) { | if (sckDivisor <= 2) { | ||||
// 1/2 speed | // 1/2 speed | ||||
ctar = SPI_CTAR_DBR | SPI_CTAR_BR(0) | SPI_CTAR_CSSCK(0); | ctar = SPI_CTAR_DBR | SPI_CTAR_BR(0) | SPI_CTAR_CSSCK(0); | ||||
#else // KINETISK | #else // KINETISK | ||||
//============================================================================== | //============================================================================== | ||||
// Use standard SPI library if not KINETISK | // Use standard SPI library if not KINETISK | ||||
#include "SPI.h" | |||||
/** | /** | ||||
* Initialize SPI pins. | * Initialize SPI pins. | ||||
*/ | */ | ||||
* | * | ||||
* \param[in] divisor SCK clock divider relative to the system clock. | * \param[in] divisor SCK clock divider relative to the system clock. | ||||
*/ | */ | ||||
void SdSpi::init(uint8_t divisor) { | |||||
void SdSpi::beginTransaction(uint8_t divisor) { | |||||
#if ENABLE_SPI_TRANSACTIONS | |||||
SPI.beginTransaction(SPISettings()); | |||||
#else // #if ENABLE_SPI_TRANSACTIONS | |||||
SPI.setBitOrder(MSBFIRST); | SPI.setBitOrder(MSBFIRST); | ||||
SPI.setDataMode(SPI_MODE0); | SPI.setDataMode(SPI_MODE0); | ||||
#endif // #if ENABLE_SPI_TRANSACTIONS | |||||
#ifndef SPI_CLOCK_DIV128 | #ifndef SPI_CLOCK_DIV128 | ||||
SPI.setClockDivider(divisor); | SPI.setClockDivider(divisor); | ||||
#else // SPI_CLOCK_DIV128 | #else // SPI_CLOCK_DIV128 | ||||
} | } | ||||
} | } | ||||
#endif // KINETISK | #endif // KINETISK | ||||
//------------------------------------------------------------------------------ | |||||
void SdSpi::endTransaction() { | |||||
#if ENABLE_SPI_TRANSACTIONS | |||||
SPI.endTransaction(); | |||||
#endif // ENABLE_SPI_TRANSACTIONS | |||||
} | |||||
#endif // defined(__arm__) && defined(CORE_TEENSY) | #endif // defined(__arm__) && defined(CORE_TEENSY) |
19 Jul 2015 | |||||
Converted to 1.5x library format. | |||||
Use standard SPI library is no custom SPI library is available for a board. | |||||
Option to maintain freeClusterCount. | |||||
16 Mar 2015 | |||||
Minimal support for Teensy-LC. | |||||
23 Feb 2015 | |||||
New 1284P software SPI macros. | |||||
01 Feb 2015 | 01 Feb 2015 | ||||
Code cleanup and re-factor. | Code cleanup and re-factor. |
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | ||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/> | <meta http-equiv="X-UA-Compatible" content="IE=9"/> | ||||
<meta name="generator" content="Doxygen 1.8.8"/> | <meta name="generator" content="Doxygen 1.8.8"/> | ||||
<title>SdFat: Arduino/libraries/SdFat/utility/ArduinoFiles.h File Reference</title> | |||||
<title>SdFat: Arduino/libraries/SdFat/src/FatLib/ArduinoFiles.h File Reference</title> | |||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> | <link href="tabs.css" rel="stylesheet" type="text/css"/> | ||||
<script type="text/javascript" src="jquery.js"></script> | <script type="text/javascript" src="jquery.js"></script> | ||||
<script type="text/javascript" src="dynsections.js"></script> | <script type="text/javascript" src="dynsections.js"></script> | ||||
<div id="nav-path" class="navpath"> | <div id="nav-path" class="navpath"> | ||||
<ul> | <ul> | ||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_97b7730287bc3bcd349854d6663367e4.html">utility</a></li> </ul> | |||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_c18d6c86f7b0afecac5c3a8a9885031e.html">src</a></li><li class="navelem"><a class="el" href="dir_7e472674a7b7d2590a789f197241f95f.html">FatLib</a></li> </ul> | |||||
</div> | </div> | ||||
</div><!-- top --> | </div><!-- top --> | ||||
<div class="header"> | <div class="header"> | ||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
Include dependency graph for ArduinoFiles.h:</div> | Include dependency graph for ArduinoFiles.h:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_arduino_files_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2utility_2_arduino_files_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2utility_2_arduino_files_8h" id="_arduino_2libraries_2_sd_fat_2utility_2_arduino_files_8h"> | |||||
<div class="center"><img src="_arduino_files_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_arduino_files_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_arduino_files_8h" id="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_arduino_files_8h"> | |||||
<area shape="rect" id="node3" href="_fat_lib_config_8h.html" title="configuration definitions " alt="" coords="323,245,428,272"/> <area shape="rect" id="node10" href="_fat_file_8h.html" title="FatFile class. " alt="" coords="211,96,284,123"/> <area shape="rect" id="node7" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="366,320,481,347"/> <area shape="rect" id="node19" href="_fat_structs_8h.html" title="FAT file structures. " alt="" coords="102,245,196,272"/> <area shape="rect" id="node21" href="_fat_volume_8h.html" title="FatVolume class. " alt="" coords="200,171,296,197"/> </map> | <area shape="rect" id="node3" href="_fat_lib_config_8h.html" title="configuration definitions " alt="" coords="323,245,428,272"/> <area shape="rect" id="node10" href="_fat_file_8h.html" title="FatFile class. " alt="" coords="211,96,284,123"/> <area shape="rect" id="node7" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="366,320,481,347"/> <area shape="rect" id="node19" href="_fat_structs_8h.html" title="FAT file structures. " alt="" coords="102,245,196,272"/> <area shape="rect" id="node21" href="_fat_volume_8h.html" title="FatVolume class. " alt="" coords="200,171,296,197"/> </map> | ||||
</div> | </div> | ||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
This graph shows which files directly or indirectly include this file:</div> | This graph shows which files directly or indirectly include this file:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_arduino_files_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2utility_2_arduino_files_8hdep" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2utility_2_arduino_files_8hdep" id="_arduino_2libraries_2_sd_fat_2utility_2_arduino_files_8hdep"> | |||||
<area shape="rect" id="node3" href="_fat_file_system_8h.html" title="FatFileSystem class. " alt="" coords="5,97,163,138"/> </map> | |||||
<div class="center"><img src="_arduino_files_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_arduino_files_8hdep" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_arduino_files_8hdep" id="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_arduino_files_8hdep"> | |||||
<area shape="rect" id="node3" href="_fat_file_system_8h.html" title="FatFileSystem class. " alt="" coords="5,97,189,138"/> </map> | |||||
</div> | </div> | ||||
</div><table class="memberdecls"> | </div><table class="memberdecls"> | ||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> | <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> | ||||
</div><!-- contents --> | </div><!-- contents --> | ||||
<!-- start footer part --> | <!-- start footer part --> | ||||
<hr class="footer"/><address class="footer"><small> | <hr class="footer"/><address class="footer"><small> | ||||
Generated on Sun Feb 1 2015 10:21:39 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
Generated on Sun Jul 19 2015 10:15:53 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
<img class="footer" src="doxygen.png" alt="doxygen"/> | <img class="footer" src="doxygen.png" alt="doxygen"/> | ||||
</a> 1.8.8 | </a> 1.8.8 | ||||
</small></address> | </small></address> |
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | ||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/> | <meta http-equiv="X-UA-Compatible" content="IE=9"/> | ||||
<meta name="generator" content="Doxygen 1.8.8"/> | <meta name="generator" content="Doxygen 1.8.8"/> | ||||
<title>SdFat: Arduino/libraries/SdFat/utility/ArduinoStream.h File Reference</title> | |||||
<title>SdFat: Arduino/libraries/SdFat/src/FatLib/ArduinoStream.h File Reference</title> | |||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> | <link href="tabs.css" rel="stylesheet" type="text/css"/> | ||||
<script type="text/javascript" src="jquery.js"></script> | <script type="text/javascript" src="jquery.js"></script> | ||||
<script type="text/javascript" src="dynsections.js"></script> | <script type="text/javascript" src="dynsections.js"></script> | ||||
<div id="nav-path" class="navpath"> | <div id="nav-path" class="navpath"> | ||||
<ul> | <ul> | ||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_97b7730287bc3bcd349854d6663367e4.html">utility</a></li> </ul> | |||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_c18d6c86f7b0afecac5c3a8a9885031e.html">src</a></li><li class="navelem"><a class="el" href="dir_7e472674a7b7d2590a789f197241f95f.html">FatLib</a></li> </ul> | |||||
</div> | </div> | ||||
</div><!-- top --> | </div><!-- top --> | ||||
<div class="header"> | <div class="header"> | ||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
Include dependency graph for ArduinoStream.h:</div> | Include dependency graph for ArduinoStream.h:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_arduino_stream_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2utility_2_arduino_stream_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2utility_2_arduino_stream_8h" id="_arduino_2libraries_2_sd_fat_2utility_2_arduino_stream_8h"> | |||||
<div class="center"><img src="_arduino_stream_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_arduino_stream_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_arduino_stream_8h" id="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_arduino_stream_8h"> | |||||
<area shape="rect" id="node3" href="_fat_lib_config_8h.html" title="configuration definitions " alt="" coords="5,544,109,571"/> <area shape="rect" id="node12" href="bufstream_8h.html" title="ibufstream and obufstream classes " alt="" coords="347,96,437,123"/> <area shape="rect" id="node7" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="47,619,163,645"/> <area shape="rect" id="node16" href="iostream_8h.html" title="iostream class " alt="" coords="317,171,400,197"/> <area shape="rect" id="node18" href="istream_8h.html" title="istream class " alt="" coords="219,245,295,272"/> <area shape="rect" id="node38" href="ostream_8h.html" title="ostream class " alt="" coords="320,245,400,272"/> <area shape="rect" id="node20" href="ios_8h.html" title="ios_base and ios classes " alt="" coords="244,320,295,347"/> <area shape="rect" id="node22" href="_fat_file_8h.html" title="FatFile class. " alt="" coords="233,395,305,421"/> <area shape="rect" id="node30" href="_fat_structs_8h.html" title="FAT file structures. " alt="" coords="263,544,357,571"/> <area shape="rect" id="node32" href="_fat_volume_8h.html" title="FatVolume class. " alt="" coords="233,469,329,496"/> </map> | <area shape="rect" id="node3" href="_fat_lib_config_8h.html" title="configuration definitions " alt="" coords="5,544,109,571"/> <area shape="rect" id="node12" href="bufstream_8h.html" title="ibufstream and obufstream classes " alt="" coords="347,96,437,123"/> <area shape="rect" id="node7" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="47,619,163,645"/> <area shape="rect" id="node16" href="iostream_8h.html" title="iostream class " alt="" coords="317,171,400,197"/> <area shape="rect" id="node18" href="istream_8h.html" title="istream class " alt="" coords="219,245,295,272"/> <area shape="rect" id="node38" href="ostream_8h.html" title="ostream class " alt="" coords="320,245,400,272"/> <area shape="rect" id="node20" href="ios_8h.html" title="ios_base and ios classes " alt="" coords="244,320,295,347"/> <area shape="rect" id="node22" href="_fat_file_8h.html" title="FatFile class. " alt="" coords="233,395,305,421"/> <area shape="rect" id="node30" href="_fat_structs_8h.html" title="FAT file structures. " alt="" coords="263,544,357,571"/> <area shape="rect" id="node32" href="_fat_volume_8h.html" title="FatVolume class. " alt="" coords="233,469,329,496"/> </map> | ||||
</div> | </div> | ||||
</div><table class="memberdecls"> | </div><table class="memberdecls"> | ||||
</div></div><!-- contents --> | </div></div><!-- contents --> | ||||
<!-- start footer part --> | <!-- start footer part --> | ||||
<hr class="footer"/><address class="footer"><small> | <hr class="footer"/><address class="footer"><small> | ||||
Generated on Sun Feb 1 2015 10:21:39 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
Generated on Sun Jul 19 2015 10:15:53 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
<img class="footer" src="doxygen.png" alt="doxygen"/> | <img class="footer" src="doxygen.png" alt="doxygen"/> | ||||
</a> 1.8.8 | </a> 1.8.8 | ||||
</small></address> | </small></address> |
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | ||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/> | <meta http-equiv="X-UA-Compatible" content="IE=9"/> | ||||
<meta name="generator" content="Doxygen 1.8.8"/> | <meta name="generator" content="Doxygen 1.8.8"/> | ||||
<title>SdFat: Arduino/libraries/SdFat/utility/DigitalPin.h File Reference</title> | |||||
<title>SdFat: Arduino/libraries/SdFat/src/SdSpiCard/DigitalPin.h File Reference</title> | |||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> | <link href="tabs.css" rel="stylesheet" type="text/css"/> | ||||
<script type="text/javascript" src="jquery.js"></script> | <script type="text/javascript" src="jquery.js"></script> | ||||
<script type="text/javascript" src="dynsections.js"></script> | <script type="text/javascript" src="dynsections.js"></script> | ||||
<div id="nav-path" class="navpath"> | <div id="nav-path" class="navpath"> | ||||
<ul> | <ul> | ||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_97b7730287bc3bcd349854d6663367e4.html">utility</a></li> </ul> | |||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_c18d6c86f7b0afecac5c3a8a9885031e.html">src</a></li><li class="navelem"><a class="el" href="dir_c1572573431a6c581ab684c4a3cd60b9.html">SdSpiCard</a></li> </ul> | |||||
</div> | </div> | ||||
</div><!-- top --> | </div><!-- top --> | ||||
<div class="header"> | <div class="header"> | ||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
Include dependency graph for DigitalPin.h:</div> | Include dependency graph for DigitalPin.h:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_digital_pin_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2utility_2_digital_pin_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2utility_2_digital_pin_8h" id="_arduino_2libraries_2_sd_fat_2utility_2_digital_pin_8h"> | |||||
<div class="center"><img src="_digital_pin_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_sd_spi_card_2_digital_pin_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_sd_spi_card_2_digital_pin_8h" id="_arduino_2libraries_2_sd_fat_2src_2_sd_spi_card_2_digital_pin_8h"> | |||||
</map> | </map> | ||||
</div> | </div> | ||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
This graph shows which files directly or indirectly include this file:</div> | This graph shows which files directly or indirectly include this file:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_digital_pin_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2utility_2_digital_pin_8hdep" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2utility_2_digital_pin_8hdep" id="_arduino_2libraries_2_sd_fat_2utility_2_digital_pin_8hdep"> | |||||
<area shape="rect" id="node3" href="_soft_s_p_i_8h.html" title="Software SPI. " alt="" coords="5,97,160,138"/> <area shape="rect" id="node5" href="_sd_spi_8h.html" title="SdSpi class for V2 SD/SDHC cards. " alt="" coords="5,187,160,229"/> <area shape="rect" id="node7" href="_sd_spi_card_8h.html" title="SdSpiCard class for V2 SD/SDHC cards. " alt="" coords="5,278,160,319"/> <area shape="rect" id="node9" href="_sd_fat_8h.html" title="SdFat class. " alt="" coords="5,369,160,410"/> <area shape="rect" id="node11" href="_sd_fat_util_8h.html" title="Useful utility functions. " alt="" coords="5,459,160,501"/> </map> | |||||
<div class="center"><img src="_digital_pin_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_sd_spi_card_2_digital_pin_8hdep" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_sd_spi_card_2_digital_pin_8hdep" id="_arduino_2libraries_2_sd_fat_2src_2_sd_spi_card_2_digital_pin_8hdep"> | |||||
<area shape="rect" id="node3" href="_soft_s_p_i_8h.html" title="Software SPI. " alt="" coords="14,97,183,138"/> <area shape="rect" id="node5" href="_sd_spi_8h.html" title="SdSpi class for V2 SD/SDHC cards. " alt="" coords="19,187,179,229"/> <area shape="rect" id="node7" href="_sd_spi_card_8h.html" title="SdSpiCard class for V2 SD/SDHC cards. " alt="" coords="5,278,192,319"/> <area shape="rect" id="node9" href="_sd_fat_8h.html" title="SdFat class. " alt="" coords="21,369,176,410"/> <area shape="rect" id="node11" href="_sd_fat_util_8h.html" title="Useful utility functions. " alt="" coords="21,459,176,501"/> </map> | |||||
</div> | </div> | ||||
</div><table class="memberdecls"> | </div><table class="memberdecls"> | ||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> | <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> | ||||
</div></div><!-- contents --> | </div></div><!-- contents --> | ||||
<!-- start footer part --> | <!-- start footer part --> | ||||
<hr class="footer"/><address class="footer"><small> | <hr class="footer"/><address class="footer"><small> | ||||
Generated on Sun Feb 1 2015 10:21:39 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
Generated on Sun Jul 19 2015 10:15:53 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
<img class="footer" src="doxygen.png" alt="doxygen"/> | <img class="footer" src="doxygen.png" alt="doxygen"/> | ||||
</a> 1.8.8 | </a> 1.8.8 | ||||
</small></address> | </small></address> |
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | ||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/> | <meta http-equiv="X-UA-Compatible" content="IE=9"/> | ||||
<meta name="generator" content="Doxygen 1.8.8"/> | <meta name="generator" content="Doxygen 1.8.8"/> | ||||
<title>SdFat: Arduino/libraries/SdFat/utility/FatFile.h File Reference</title> | |||||
<title>SdFat: Arduino/libraries/SdFat/src/FatLib/FatFile.h File Reference</title> | |||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> | <link href="tabs.css" rel="stylesheet" type="text/css"/> | ||||
<script type="text/javascript" src="jquery.js"></script> | <script type="text/javascript" src="jquery.js"></script> | ||||
<script type="text/javascript" src="dynsections.js"></script> | <script type="text/javascript" src="dynsections.js"></script> | ||||
<div id="nav-path" class="navpath"> | <div id="nav-path" class="navpath"> | ||||
<ul> | <ul> | ||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_97b7730287bc3bcd349854d6663367e4.html">utility</a></li> </ul> | |||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_c18d6c86f7b0afecac5c3a8a9885031e.html">src</a></li><li class="navelem"><a class="el" href="dir_7e472674a7b7d2590a789f197241f95f.html">FatLib</a></li> </ul> | |||||
</div> | </div> | ||||
</div><!-- top --> | </div><!-- top --> | ||||
<div class="header"> | <div class="header"> | ||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
Include dependency graph for FatFile.h:</div> | Include dependency graph for FatFile.h:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_fat_file_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2utility_2_fat_file_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2utility_2_fat_file_8h" id="_arduino_2libraries_2_sd_fat_2utility_2_fat_file_8h"> | |||||
<div class="center"><img src="_fat_file_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_file_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_file_8h" id="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_file_8h"> | |||||
<area shape="rect" id="node9" href="_fat_lib_config_8h.html" title="configuration definitions " alt="" coords="106,171,211,197"/> <area shape="rect" id="node16" href="_fat_structs_8h.html" title="FAT file structures. " alt="" coords="338,171,432,197"/> <area shape="rect" id="node18" href="_fat_volume_8h.html" title="FatVolume class. " alt="" coords="196,96,292,123"/> <area shape="rect" id="node13" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="149,245,264,272"/> </map> | <area shape="rect" id="node9" href="_fat_lib_config_8h.html" title="configuration definitions " alt="" coords="106,171,211,197"/> <area shape="rect" id="node16" href="_fat_structs_8h.html" title="FAT file structures. " alt="" coords="338,171,432,197"/> <area shape="rect" id="node18" href="_fat_volume_8h.html" title="FatVolume class. " alt="" coords="196,96,292,123"/> <area shape="rect" id="node13" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="149,245,264,272"/> </map> | ||||
</div> | </div> | ||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
This graph shows which files directly or indirectly include this file:</div> | This graph shows which files directly or indirectly include this file:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_fat_file_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2utility_2_fat_file_8hdep" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2utility_2_fat_file_8hdep" id="_arduino_2libraries_2_sd_fat_2utility_2_fat_file_8hdep"> | |||||
<area shape="rect" id="node3" href="_arduino_files_8h.html" title="PrintFile class. " alt="" coords="24,97,179,138"/> <area shape="rect" id="node5" href="_fat_file_system_8h.html" title="FatFileSystem class. " alt="" coords="5,187,163,229"/> <area shape="rect" id="node7" href="ios_8h.html" title="ios_base and ios classes " alt="" coords="349,97,504,138"/> <area shape="rect" id="node17" href="fstream_8h.html" title="fstream, ifstream, and ofstream classes " alt="" coords="480,369,635,410"/> <area shape="rect" id="node23" href="_stdio_stream_8h.html" title="StdioStream class. " alt="" coords="595,97,749,138"/> <area shape="rect" id="node9" href="istream_8h.html" title="istream class " alt="" coords="187,187,341,229"/> <area shape="rect" id="node19" href="ostream_8h.html" title="ostream class " alt="" coords="365,187,520,229"/> <area shape="rect" id="node11" href="iostream_8h.html" title="iostream class " alt="" coords="333,278,488,319"/> <area shape="rect" id="node13" href="bufstream_8h.html" title="ibufstream and obufstream classes " alt="" coords="301,369,456,410"/> <area shape="rect" id="node15" href="_arduino_stream_8h.html" title="ArduinoInStream and ArduinoOutStream classes. " alt="" coords="299,459,457,501"/> </map> | |||||
<div class="center"><img src="_fat_file_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_file_8hdep" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_file_8hdep" id="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_file_8hdep"> | |||||
<area shape="rect" id="node3" href="_arduino_files_8h.html" title="PrintFile class. " alt="" coords="29,97,200,138"/> <area shape="rect" id="node5" href="_fat_file_system_8h.html" title="FatFileSystem class. " alt="" coords="5,187,189,229"/> <area shape="rect" id="node7" href="ios_8h.html" title="ios_base and ios classes " alt="" coords="375,97,529,138"/> <area shape="rect" id="node17" href="fstream_8h.html" title="fstream, ifstream, and ofstream classes " alt="" coords="507,369,661,410"/> <area shape="rect" id="node23" href="_stdio_stream_8h.html" title="StdioStream class. " alt="" coords="621,97,792,138"/> <area shape="rect" id="node9" href="istream_8h.html" title="istream class " alt="" coords="213,187,368,229"/> <area shape="rect" id="node19" href="ostream_8h.html" title="ostream class " alt="" coords="392,187,547,229"/> <area shape="rect" id="node11" href="iostream_8h.html" title="iostream class " alt="" coords="359,278,513,319"/> <area shape="rect" id="node13" href="bufstream_8h.html" title="ibufstream and obufstream classes " alt="" coords="326,369,481,410"/> <area shape="rect" id="node15" href="_arduino_stream_8h.html" title="ArduinoInStream and ArduinoOutStream classes. " alt="" coords="311,459,496,501"/> </map> | |||||
</div> | </div> | ||||
</div><table class="memberdecls"> | </div><table class="memberdecls"> | ||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> | <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> | ||||
</div><!-- contents --> | </div><!-- contents --> | ||||
<!-- start footer part --> | <!-- start footer part --> | ||||
<hr class="footer"/><address class="footer"><small> | <hr class="footer"/><address class="footer"><small> | ||||
Generated on Sun Feb 1 2015 10:21:39 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
Generated on Sun Jul 19 2015 10:15:53 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
<img class="footer" src="doxygen.png" alt="doxygen"/> | <img class="footer" src="doxygen.png" alt="doxygen"/> | ||||
</a> 1.8.8 | </a> 1.8.8 | ||||
</small></address> | </small></address> |
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | ||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/> | <meta http-equiv="X-UA-Compatible" content="IE=9"/> | ||||
<meta name="generator" content="Doxygen 1.8.8"/> | <meta name="generator" content="Doxygen 1.8.8"/> | ||||
<title>SdFat: Arduino/libraries/SdFat/utility/FatFileSystem.h File Reference</title> | |||||
<title>SdFat: Arduino/libraries/SdFat/src/FatLib/FatFileSystem.h File Reference</title> | |||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> | <link href="tabs.css" rel="stylesheet" type="text/css"/> | ||||
<script type="text/javascript" src="jquery.js"></script> | <script type="text/javascript" src="jquery.js"></script> | ||||
<script type="text/javascript" src="dynsections.js"></script> | <script type="text/javascript" src="dynsections.js"></script> | ||||
<div id="nav-path" class="navpath"> | <div id="nav-path" class="navpath"> | ||||
<ul> | <ul> | ||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_97b7730287bc3bcd349854d6663367e4.html">utility</a></li> </ul> | |||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_c18d6c86f7b0afecac5c3a8a9885031e.html">src</a></li><li class="navelem"><a class="el" href="dir_7e472674a7b7d2590a789f197241f95f.html">FatLib</a></li> </ul> | |||||
</div> | </div> | ||||
</div><!-- top --> | </div><!-- top --> | ||||
<div class="header"> | <div class="header"> | ||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
Include dependency graph for FatFileSystem.h:</div> | Include dependency graph for FatFileSystem.h:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_fat_file_system_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2utility_2_fat_file_system_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2utility_2_fat_file_system_8h" id="_arduino_2libraries_2_sd_fat_2utility_2_fat_file_system_8h"> | |||||
<div class="center"><img src="_fat_file_system_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_file_system_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_file_system_8h" id="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_file_system_8h"> | |||||
<area shape="rect" id="node3" href="_fat_volume_8h.html" title="FatVolume class. " alt="" coords="115,245,211,272"/> <area shape="rect" id="node18" href="_fat_file_8h.html" title="FatFile class. " alt="" coords="282,171,355,197"/> <area shape="rect" id="node28" href="_arduino_files_8h.html" title="PrintFile class. " alt="" coords="381,96,485,123"/> <area shape="rect" id="node7" href="_fat_lib_config_8h.html" title="configuration definitions " alt="" coords="337,320,441,347"/> <area shape="rect" id="node14" href="_fat_structs_8h.html" title="FAT file structures. " alt="" coords="5,320,99,347"/> <area shape="rect" id="node11" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="379,395,495,421"/> </map> | <area shape="rect" id="node3" href="_fat_volume_8h.html" title="FatVolume class. " alt="" coords="115,245,211,272"/> <area shape="rect" id="node18" href="_fat_file_8h.html" title="FatFile class. " alt="" coords="282,171,355,197"/> <area shape="rect" id="node28" href="_arduino_files_8h.html" title="PrintFile class. " alt="" coords="381,96,485,123"/> <area shape="rect" id="node7" href="_fat_lib_config_8h.html" title="configuration definitions " alt="" coords="337,320,441,347"/> <area shape="rect" id="node14" href="_fat_structs_8h.html" title="FAT file structures. " alt="" coords="5,320,99,347"/> <area shape="rect" id="node11" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="379,395,495,421"/> </map> | ||||
</div> | </div> | ||||
</div><table class="memberdecls"> | </div><table class="memberdecls"> | ||||
</div></div><!-- contents --> | </div></div><!-- contents --> | ||||
<!-- start footer part --> | <!-- start footer part --> | ||||
<hr class="footer"/><address class="footer"><small> | <hr class="footer"/><address class="footer"><small> | ||||
Generated on Sun Feb 1 2015 10:21:39 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
Generated on Sun Jul 19 2015 10:15:53 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
<img class="footer" src="doxygen.png" alt="doxygen"/> | <img class="footer" src="doxygen.png" alt="doxygen"/> | ||||
</a> 1.8.8 | </a> 1.8.8 | ||||
</small></address> | </small></address> |
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | ||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/> | <meta http-equiv="X-UA-Compatible" content="IE=9"/> | ||||
<meta name="generator" content="Doxygen 1.8.8"/> | <meta name="generator" content="Doxygen 1.8.8"/> | ||||
<title>SdFat: Arduino/libraries/SdFat/utility/FatLibConfig.h File Reference</title> | |||||
<title>SdFat: Arduino/libraries/SdFat/src/FatLib/FatLibConfig.h File Reference</title> | |||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> | <link href="tabs.css" rel="stylesheet" type="text/css"/> | ||||
<script type="text/javascript" src="jquery.js"></script> | <script type="text/javascript" src="jquery.js"></script> | ||||
<script type="text/javascript" src="dynsections.js"></script> | <script type="text/javascript" src="dynsections.js"></script> | ||||
<div id="nav-path" class="navpath"> | <div id="nav-path" class="navpath"> | ||||
<ul> | <ul> | ||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_97b7730287bc3bcd349854d6663367e4.html">utility</a></li> </ul> | |||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_c18d6c86f7b0afecac5c3a8a9885031e.html">src</a></li><li class="navelem"><a class="el" href="dir_7e472674a7b7d2590a789f197241f95f.html">FatLib</a></li> </ul> | |||||
</div> | </div> | ||||
</div><!-- top --> | </div><!-- top --> | ||||
<div class="header"> | <div class="header"> | ||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
Include dependency graph for FatLibConfig.h:</div> | Include dependency graph for FatLibConfig.h:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_fat_lib_config_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2utility_2_fat_lib_config_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2utility_2_fat_lib_config_8h" id="_arduino_2libraries_2_sd_fat_2utility_2_fat_lib_config_8h"> | |||||
<area shape="rect" id="node5" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="73,96,188,123"/> </map> | |||||
<div class="center"><img src="_fat_lib_config_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_lib_config_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_lib_config_8h" id="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_lib_config_8h"> | |||||
<area shape="rect" id="node5" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="81,96,196,123"/> </map> | |||||
</div> | </div> | ||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
This graph shows which files directly or indirectly include this file:</div> | This graph shows which files directly or indirectly include this file:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_fat_lib_config_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2utility_2_fat_lib_config_8hdep" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2utility_2_fat_lib_config_8hdep" id="_arduino_2libraries_2_sd_fat_2utility_2_fat_lib_config_8hdep"> | |||||
<area shape="rect" id="node3" href="_arduino_files_8h.html" title="PrintFile class. " alt="" coords="23,278,178,319"/> <area shape="rect" id="node7" href="_fat_file_8h.html" title="FatFile class. " alt="" coords="195,187,350,229"/> <area shape="rect" id="node18" href="_arduino_stream_8h.html" title="ArduinoInStream and ArduinoOutStream classes. " alt="" coords="480,641,638,682"/> <area shape="rect" id="node29" href="_fat_volume_8h.html" title="FatVolume class. " alt="" coords="81,97,235,138"/> <area shape="rect" id="node5" href="_fat_file_system_8h.html" title="FatFileSystem class. " alt="" coords="22,369,179,410"/> <area shape="rect" id="node10" href="ios_8h.html" title="ios_base and ios classes " alt="" coords="253,278,407,319"/> <area shape="rect" id="node20" href="fstream_8h.html" title="fstream, ifstream, and ofstream classes " alt="" coords="514,550,669,591"/> <area shape="rect" id="node26" href="_stdio_stream_8h.html" title="StdioStream class. " alt="" coords="431,278,586,319"/> <area shape="rect" id="node12" href="istream_8h.html" title="istream class " alt="" coords="407,369,562,410"/> <area shape="rect" id="node22" href="ostream_8h.html" title="ostream class " alt="" coords="229,369,383,410"/> <area shape="rect" id="node14" href="iostream_8h.html" title="iostream class " alt="" coords="371,459,526,501"/> <area shape="rect" id="node16" href="bufstream_8h.html" title="ibufstream and obufstream classes " alt="" coords="335,550,490,591"/> </map> | |||||
<div class="center"><img src="_fat_lib_config_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_lib_config_8hdep" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_lib_config_8hdep" id="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_lib_config_8hdep"> | |||||
<area shape="rect" id="node3" href="_arduino_files_8h.html" title="PrintFile class. " alt="" coords="24,278,194,319"/> <area shape="rect" id="node7" href="_fat_file_8h.html" title="FatFile class. " alt="" coords="212,187,366,229"/> <area shape="rect" id="node18" href="_arduino_stream_8h.html" title="ArduinoInStream and ArduinoOutStream classes. " alt="" coords="498,641,682,682"/> <area shape="rect" id="node29" href="_fat_volume_8h.html" title="FatVolume class. " alt="" coords="89,97,252,138"/> <area shape="rect" id="node5" href="_fat_file_system_8h.html" title="FatFileSystem class. " alt="" coords="17,369,201,410"/> <area shape="rect" id="node10" href="ios_8h.html" title="ios_base and ios classes " alt="" coords="269,278,424,319"/> <area shape="rect" id="node20" href="fstream_8h.html" title="fstream, ifstream, and ofstream classes " alt="" coords="546,550,701,591"/> <area shape="rect" id="node26" href="_stdio_stream_8h.html" title="StdioStream class. " alt="" coords="448,278,618,319"/> <area shape="rect" id="node12" href="istream_8h.html" title="istream class " alt="" coords="426,369,581,410"/> <area shape="rect" id="node22" href="ostream_8h.html" title="ostream class " alt="" coords="248,369,402,410"/> <area shape="rect" id="node14" href="iostream_8h.html" title="iostream class " alt="" coords="396,459,550,501"/> <area shape="rect" id="node16" href="bufstream_8h.html" title="ibufstream and obufstream classes " alt="" coords="366,550,521,591"/> </map> | |||||
</div> | </div> | ||||
</div><table class="memberdecls"> | </div><table class="memberdecls"> | ||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> | <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> | ||||
</div><!-- contents --> | </div><!-- contents --> | ||||
<!-- start footer part --> | <!-- start footer part --> | ||||
<hr class="footer"/><address class="footer"><small> | <hr class="footer"/><address class="footer"><small> | ||||
Generated on Sun Feb 1 2015 10:21:39 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
Generated on Sun Jul 19 2015 10:15:53 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
<img class="footer" src="doxygen.png" alt="doxygen"/> | <img class="footer" src="doxygen.png" alt="doxygen"/> | ||||
</a> 1.8.8 | </a> 1.8.8 | ||||
</small></address> | </small></address> |
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | ||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/> | <meta http-equiv="X-UA-Compatible" content="IE=9"/> | ||||
<meta name="generator" content="Doxygen 1.8.8"/> | <meta name="generator" content="Doxygen 1.8.8"/> | ||||
<title>SdFat: Arduino/libraries/SdFat/utility/FatStructs.h File Reference</title> | |||||
<title>SdFat: Arduino/libraries/SdFat/src/FatLib/FatStructs.h File Reference</title> | |||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> | <link href="tabs.css" rel="stylesheet" type="text/css"/> | ||||
<script type="text/javascript" src="jquery.js"></script> | <script type="text/javascript" src="jquery.js"></script> | ||||
<script type="text/javascript" src="dynsections.js"></script> | <script type="text/javascript" src="dynsections.js"></script> | ||||
<div id="nav-path" class="navpath"> | <div id="nav-path" class="navpath"> | ||||
<ul> | <ul> | ||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_97b7730287bc3bcd349854d6663367e4.html">utility</a></li> </ul> | |||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_c18d6c86f7b0afecac5c3a8a9885031e.html">src</a></li><li class="navelem"><a class="el" href="dir_7e472674a7b7d2590a789f197241f95f.html">FatLib</a></li> </ul> | |||||
</div> | </div> | ||||
</div><!-- top --> | </div><!-- top --> | ||||
<div class="header"> | <div class="header"> | ||||
<div class="textblock"><div class="dynheader"> | <div class="textblock"><div class="dynheader"> | ||||
This graph shows which files directly or indirectly include this file:</div> | This graph shows which files directly or indirectly include this file:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_fat_structs_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2utility_2_fat_structs_8hdep" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2utility_2_fat_structs_8hdep" id="_arduino_2libraries_2_sd_fat_2utility_2_fat_structs_8hdep"> | |||||
<area shape="rect" id="node3" href="_fat_file_8h.html" title="FatFile class. " alt="" coords="407,187,561,229"/> <area shape="rect" id="node28" href="_fat_volume_8h.html" title="FatVolume class. " alt="" coords="521,97,676,138"/> <area shape="rect" id="node5" href="_arduino_files_8h.html" title="PrintFile class. " alt="" coords="643,278,797,319"/> <area shape="rect" id="node7" href="_fat_file_system_8h.html" title="FatFileSystem class. " alt="" coords="641,369,799,410"/> <area shape="rect" id="node9" href="ios_8h.html" title="ios_base and ios classes " alt="" coords="184,278,339,319"/> <area shape="rect" id="node19" href="fstream_8h.html" title="fstream, ifstream, and ofstream classes " alt="" coords="299,550,453,591"/> <area shape="rect" id="node25" href="_stdio_stream_8h.html" title="StdioStream class. " alt="" coords="464,278,619,319"/> <area shape="rect" id="node11" href="istream_8h.html" title="istream class " alt="" coords="184,369,339,410"/> <area shape="rect" id="node21" href="ostream_8h.html" title="ostream class " alt="" coords="5,369,160,410"/> <area shape="rect" id="node13" href="iostream_8h.html" title="iostream class " alt="" coords="152,459,307,501"/> <area shape="rect" id="node15" href="bufstream_8h.html" title="ibufstream and obufstream classes " alt="" coords="120,550,275,591"/> <area shape="rect" id="node17" href="_arduino_stream_8h.html" title="ArduinoInStream and ArduinoOutStream classes. " alt="" coords="118,641,276,682"/> </map> | |||||
<div class="center"><img src="_fat_structs_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_structs_8hdep" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_structs_8hdep" id="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_structs_8hdep"> | |||||
<area shape="rect" id="node3" href="_fat_file_8h.html" title="FatFile class. " alt="" coords="411,187,565,229"/> <area shape="rect" id="node28" href="_fat_volume_8h.html" title="FatVolume class. " alt="" coords="525,97,688,138"/> <area shape="rect" id="node5" href="_arduino_files_8h.html" title="PrintFile class. " alt="" coords="659,278,829,319"/> <area shape="rect" id="node7" href="_fat_file_system_8h.html" title="FatFileSystem class. " alt="" coords="652,369,836,410"/> <area shape="rect" id="node9" href="ios_8h.html" title="ios_base and ios classes " alt="" coords="184,278,339,319"/> <area shape="rect" id="node19" href="fstream_8h.html" title="fstream, ifstream, and ofstream classes " alt="" coords="299,550,453,591"/> <area shape="rect" id="node25" href="_stdio_stream_8h.html" title="StdioStream class. " alt="" coords="464,278,635,319"/> <area shape="rect" id="node11" href="istream_8h.html" title="istream class " alt="" coords="184,369,339,410"/> <area shape="rect" id="node21" href="ostream_8h.html" title="ostream class " alt="" coords="5,369,160,410"/> <area shape="rect" id="node13" href="iostream_8h.html" title="iostream class " alt="" coords="151,459,305,501"/> <area shape="rect" id="node15" href="bufstream_8h.html" title="ibufstream and obufstream classes " alt="" coords="118,550,273,591"/> <area shape="rect" id="node17" href="_arduino_stream_8h.html" title="ArduinoInStream and ArduinoOutStream classes. " alt="" coords="103,641,288,682"/> </map> | |||||
</div> | </div> | ||||
</div><table class="memberdecls"> | </div><table class="memberdecls"> | ||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> | <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> | ||||
</div><!-- contents --> | </div><!-- contents --> | ||||
<!-- start footer part --> | <!-- start footer part --> | ||||
<hr class="footer"/><address class="footer"><small> | <hr class="footer"/><address class="footer"><small> | ||||
Generated on Sun Feb 1 2015 10:21:39 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
Generated on Sun Jul 19 2015 10:15:53 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
<img class="footer" src="doxygen.png" alt="doxygen"/> | <img class="footer" src="doxygen.png" alt="doxygen"/> | ||||
</a> 1.8.8 | </a> 1.8.8 | ||||
</small></address> | </small></address> |
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | ||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/> | <meta http-equiv="X-UA-Compatible" content="IE=9"/> | ||||
<meta name="generator" content="Doxygen 1.8.8"/> | <meta name="generator" content="Doxygen 1.8.8"/> | ||||
<title>SdFat: Arduino/libraries/SdFat/utility/FatVolume.h File Reference</title> | |||||
<title>SdFat: Arduino/libraries/SdFat/src/FatLib/FatVolume.h File Reference</title> | |||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> | <link href="tabs.css" rel="stylesheet" type="text/css"/> | ||||
<script type="text/javascript" src="jquery.js"></script> | <script type="text/javascript" src="jquery.js"></script> | ||||
<script type="text/javascript" src="dynsections.js"></script> | <script type="text/javascript" src="dynsections.js"></script> | ||||
<div id="nav-path" class="navpath"> | <div id="nav-path" class="navpath"> | ||||
<ul> | <ul> | ||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_97b7730287bc3bcd349854d6663367e4.html">utility</a></li> </ul> | |||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_c18d6c86f7b0afecac5c3a8a9885031e.html">src</a></li><li class="navelem"><a class="el" href="dir_7e472674a7b7d2590a789f197241f95f.html">FatLib</a></li> </ul> | |||||
</div> | </div> | ||||
</div><!-- top --> | </div><!-- top --> | ||||
<div class="header"> | <div class="header"> | ||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
Include dependency graph for FatVolume.h:</div> | Include dependency graph for FatVolume.h:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_fat_volume_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2utility_2_fat_volume_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2utility_2_fat_volume_8h" id="_arduino_2libraries_2_sd_fat_2utility_2_fat_volume_8h"> | |||||
<div class="center"><img src="_fat_volume_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_volume_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_volume_8h" id="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_volume_8h"> | |||||
<area shape="rect" id="node5" href="_fat_lib_config_8h.html" title="configuration definitions " alt="" coords="97,96,201,123"/> <area shape="rect" id="node12" href="_fat_structs_8h.html" title="FAT file structures. " alt="" coords="226,96,320,123"/> <area shape="rect" id="node9" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="139,171,255,197"/> </map> | <area shape="rect" id="node5" href="_fat_lib_config_8h.html" title="configuration definitions " alt="" coords="97,96,201,123"/> <area shape="rect" id="node12" href="_fat_structs_8h.html" title="FAT file structures. " alt="" coords="226,96,320,123"/> <area shape="rect" id="node9" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="139,171,255,197"/> </map> | ||||
</div> | </div> | ||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
This graph shows which files directly or indirectly include this file:</div> | This graph shows which files directly or indirectly include this file:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_fat_volume_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2utility_2_fat_volume_8hdep" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2utility_2_fat_volume_8hdep" id="_arduino_2libraries_2_sd_fat_2utility_2_fat_volume_8hdep"> | |||||
<area shape="rect" id="node3" href="_fat_file_8h.html" title="FatFile class. " alt="" coords="407,97,561,138"/> <area shape="rect" id="node7" href="_fat_file_system_8h.html" title="FatFileSystem class. " alt="" coords="641,278,799,319"/> <area shape="rect" id="node5" href="_arduino_files_8h.html" title="PrintFile class. " alt="" coords="643,187,797,229"/> <area shape="rect" id="node9" href="ios_8h.html" title="ios_base and ios classes " alt="" coords="184,187,339,229"/> <area shape="rect" id="node19" href="fstream_8h.html" title="fstream, ifstream, and ofstream classes " alt="" coords="299,459,453,501"/> <area shape="rect" id="node25" href="_stdio_stream_8h.html" title="StdioStream class. " alt="" coords="464,187,619,229"/> <area shape="rect" id="node11" href="istream_8h.html" title="istream class " alt="" coords="184,278,339,319"/> <area shape="rect" id="node21" href="ostream_8h.html" title="ostream class " alt="" coords="5,278,160,319"/> <area shape="rect" id="node13" href="iostream_8h.html" title="iostream class " alt="" coords="152,369,307,410"/> <area shape="rect" id="node15" href="bufstream_8h.html" title="ibufstream and obufstream classes " alt="" coords="120,459,275,501"/> <area shape="rect" id="node17" href="_arduino_stream_8h.html" title="ArduinoInStream and ArduinoOutStream classes. " alt="" coords="118,550,276,591"/> </map> | |||||
<div class="center"><img src="_fat_volume_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_volume_8hdep" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_volume_8hdep" id="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_volume_8hdep"> | |||||
<area shape="rect" id="node3" href="_fat_file_8h.html" title="FatFile class. " alt="" coords="411,97,565,138"/> <area shape="rect" id="node7" href="_fat_file_system_8h.html" title="FatFileSystem class. " alt="" coords="652,278,836,319"/> <area shape="rect" id="node5" href="_arduino_files_8h.html" title="PrintFile class. " alt="" coords="659,187,829,229"/> <area shape="rect" id="node9" href="ios_8h.html" title="ios_base and ios classes " alt="" coords="184,187,339,229"/> <area shape="rect" id="node19" href="fstream_8h.html" title="fstream, ifstream, and ofstream classes " alt="" coords="299,459,453,501"/> <area shape="rect" id="node25" href="_stdio_stream_8h.html" title="StdioStream class. " alt="" coords="464,187,635,229"/> <area shape="rect" id="node11" href="istream_8h.html" title="istream class " alt="" coords="184,278,339,319"/> <area shape="rect" id="node21" href="ostream_8h.html" title="ostream class " alt="" coords="5,278,160,319"/> <area shape="rect" id="node13" href="iostream_8h.html" title="iostream class " alt="" coords="151,369,305,410"/> <area shape="rect" id="node15" href="bufstream_8h.html" title="ibufstream and obufstream classes " alt="" coords="118,459,273,501"/> <area shape="rect" id="node17" href="_arduino_stream_8h.html" title="ArduinoInStream and ArduinoOutStream classes. " alt="" coords="103,550,288,591"/> </map> | |||||
</div> | </div> | ||||
</div><table class="memberdecls"> | </div><table class="memberdecls"> | ||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> | <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> | ||||
</div><!-- contents --> | </div><!-- contents --> | ||||
<!-- start footer part --> | <!-- start footer part --> | ||||
<hr class="footer"/><address class="footer"><small> | <hr class="footer"/><address class="footer"><small> | ||||
Generated on Sun Feb 1 2015 10:21:39 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
Generated on Sun Jul 19 2015 10:15:53 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
<img class="footer" src="doxygen.png" alt="doxygen"/> | <img class="footer" src="doxygen.png" alt="doxygen"/> | ||||
</a> 1.8.8 | </a> 1.8.8 | ||||
</small></address> | </small></address> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |||||
<html xmlns="http://www.w3.org/1999/xhtml"> | |||||
<head> | |||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | |||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/> | |||||
<meta name="generator" content="Doxygen 1.8.8"/> | |||||
<title>SdFat: Arduino/libraries/SdFat/src/FreeStack.h File Reference</title> | |||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> | |||||
<script type="text/javascript" src="jquery.js"></script> | |||||
<script type="text/javascript" src="dynsections.js"></script> | |||||
<link href="search/search.css" rel="stylesheet" type="text/css"/> | |||||
<script type="text/javascript" src="search/search.js"></script> | |||||
<script type="text/javascript"> | |||||
$(document).ready(function() { searchBox.OnSelectItem(0); }); | |||||
</script> | |||||
<link href="doxygen.css" rel="stylesheet" type="text/css" /> | |||||
</head> | |||||
<body> | |||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! --> | |||||
<div id="titlearea"> | |||||
<table cellspacing="0" cellpadding="0"> | |||||
<tbody> | |||||
<tr style="height: 56px;"> | |||||
<td style="padding-left: 0.5em;"> | |||||
<div id="projectname">SdFat | |||||
</div> | |||||
</td> | |||||
</tr> | |||||
</tbody> | |||||
</table> | |||||
</div> | |||||
<!-- end header part --> | |||||
<!-- Generated by Doxygen 1.8.8 --> | |||||
<script type="text/javascript"> | |||||
var searchBox = new SearchBox("searchBox", "search",false,'Search'); | |||||
</script> | |||||
<div id="navrow1" class="tabs"> | |||||
<ul class="tablist"> | |||||
<li><a href="index.html"><span>Main Page</span></a></li> | |||||
<li><a href="modules.html"><span>Modules</span></a></li> | |||||
<li><a href="annotated.html"><span>Classes</span></a></li> | |||||
<li class="current"><a href="files.html"><span>Files</span></a></li> | |||||
<li> | |||||
<div id="MSearchBox" class="MSearchBoxInactive"> | |||||
<span class="left"> | |||||
<img id="MSearchSelect" src="search/mag_sel.png" | |||||
onmouseover="return searchBox.OnSearchSelectShow()" | |||||
onmouseout="return searchBox.OnSearchSelectHide()" | |||||
alt=""/> | |||||
<input type="text" id="MSearchField" value="Search" accesskey="S" | |||||
onfocus="searchBox.OnSearchFieldFocus(true)" | |||||
onblur="searchBox.OnSearchFieldFocus(false)" | |||||
onkeyup="searchBox.OnSearchFieldChange(event)"/> | |||||
</span><span class="right"> | |||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> | |||||
</span> | |||||
</div> | |||||
</li> | |||||
</ul> | |||||
</div> | |||||
<div id="navrow2" class="tabs2"> | |||||
<ul class="tablist"> | |||||
<li><a href="files.html"><span>File List</span></a></li> | |||||
<li><a href="globals.html"><span>File Members</span></a></li> | |||||
</ul> | |||||
</div> | |||||
<!-- window showing the filter options --> | |||||
<div id="MSearchSelectWindow" | |||||
onmouseover="return searchBox.OnSearchSelectShow()" | |||||
onmouseout="return searchBox.OnSearchSelectHide()" | |||||
onkeydown="return searchBox.OnSearchSelectKey(event)"> | |||||
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Pages</a></div> | |||||
<!-- iframe showing the search results (closed by default) --> | |||||
<div id="MSearchResultsWindow"> | |||||
<iframe src="javascript:void(0)" frameborder="0" | |||||
name="MSearchResults" id="MSearchResults"> | |||||
</iframe> | |||||
</div> | |||||
<div id="nav-path" class="navpath"> | |||||
<ul> | |||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_c18d6c86f7b0afecac5c3a8a9885031e.html">src</a></li> </ul> | |||||
</div> | |||||
</div><!-- top --> | |||||
<div class="header"> | |||||
<div class="summary"> | |||||
<a href="#func-members">Functions</a> | | |||||
<a href="#var-members">Variables</a> </div> | |||||
<div class="headertitle"> | |||||
<div class="title">FreeStack.h File Reference</div> </div> | |||||
</div><!--header--> | |||||
<div class="contents"> | |||||
<p><a class="el" href="_free_stack_8h.html#a2c0121d5649d35329a8d0a71e4ffb89b">FreeStack()</a> function. | |||||
<a href="#details">More...</a></p> | |||||
<table class="memberdecls"> | |||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> | |||||
Functions</h2></td></tr> | |||||
<tr class="memitem:a2c0121d5649d35329a8d0a71e4ffb89b"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="_free_stack_8h.html#a2c0121d5649d35329a8d0a71e4ffb89b">FreeStack</a> ()</td></tr> | |||||
<tr class="separator:a2c0121d5649d35329a8d0a71e4ffb89b"><td class="memSeparator" colspan="2"> </td></tr> | |||||
</table><table class="memberdecls"> | |||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> | |||||
Variables</h2></td></tr> | |||||
<tr class="memitem:ad193a2cc121e0d4614a1c21eb463fb56"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="_free_stack_8h.html#ad193a2cc121e0d4614a1c21eb463fb56">__brkval</a></td></tr> | |||||
<tr class="separator:ad193a2cc121e0d4614a1c21eb463fb56"><td class="memSeparator" colspan="2"> </td></tr> | |||||
<tr class="memitem:adbad17f740c2d7f2bc4833681c93c932"><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="_free_stack_8h.html#adbad17f740c2d7f2bc4833681c93c932">__bss_end</a></td></tr> | |||||
<tr class="separator:adbad17f740c2d7f2bc4833681c93c932"><td class="memSeparator" colspan="2"> </td></tr> | |||||
</table> | |||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> | |||||
<div class="textblock"><p><a class="el" href="_free_stack_8h.html#a2c0121d5649d35329a8d0a71e4ffb89b">FreeStack()</a> function. </p> | |||||
</div><h2 class="groupheader">Function Documentation</h2> | |||||
<a class="anchor" id="a2c0121d5649d35329a8d0a71e4ffb89b"></a> | |||||
<div class="memitem"> | |||||
<div class="memproto"> | |||||
<table class="mlabels"> | |||||
<tr> | |||||
<td class="mlabels-left"> | |||||
<table class="memname"> | |||||
<tr> | |||||
<td class="memname">static int FreeStack </td> | |||||
<td>(</td> | |||||
<td class="paramname"></td><td>)</td> | |||||
<td></td> | |||||
</tr> | |||||
</table> | |||||
</td> | |||||
<td class="mlabels-right"> | |||||
<span class="mlabels"><span class="mlabel">static</span></span> </td> | |||||
</tr> | |||||
</table> | |||||
</div><div class="memdoc"> | |||||
<p>Amount of free stack space. </p><dl class="section return"><dt>Returns</dt><dd>The number of free bytes. </dd></dl> | |||||
</div> | |||||
</div> | |||||
<h2 class="groupheader">Variable Documentation</h2> | |||||
<a class="anchor" id="ad193a2cc121e0d4614a1c21eb463fb56"></a> | |||||
<div class="memitem"> | |||||
<div class="memproto"> | |||||
<table class="memname"> | |||||
<tr> | |||||
<td class="memname">char* __brkval</td> | |||||
</tr> | |||||
</table> | |||||
</div><div class="memdoc"> | |||||
<p>boundary between stack and heap. </p> | |||||
</div> | |||||
</div> | |||||
<a class="anchor" id="adbad17f740c2d7f2bc4833681c93c932"></a> | |||||
<div class="memitem"> | |||||
<div class="memproto"> | |||||
<table class="memname"> | |||||
<tr> | |||||
<td class="memname">char __bss_end</td> | |||||
</tr> | |||||
</table> | |||||
</div><div class="memdoc"> | |||||
<p>End of bss section. </p> | |||||
</div> | |||||
</div> | |||||
</div><!-- contents --> | |||||
<!-- start footer part --> | |||||
<hr class="footer"/><address class="footer"><small> | |||||
Generated on Sun Jul 19 2015 10:15:53 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
<img class="footer" src="doxygen.png" alt="doxygen"/> | |||||
</a> 1.8.8 | |||||
</small></address> | |||||
</body> | |||||
</html> |
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | ||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/> | <meta http-equiv="X-UA-Compatible" content="IE=9"/> | ||||
<meta name="generator" content="Doxygen 1.8.8"/> | <meta name="generator" content="Doxygen 1.8.8"/> | ||||
<title>SdFat: Arduino/libraries/SdFat/SdFat.h File Reference</title> | |||||
<title>SdFat: Arduino/libraries/SdFat/src/SdFat.h File Reference</title> | |||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> | <link href="tabs.css" rel="stylesheet" type="text/css"/> | ||||
<script type="text/javascript" src="jquery.js"></script> | <script type="text/javascript" src="jquery.js"></script> | ||||
<script type="text/javascript" src="dynsections.js"></script> | <script type="text/javascript" src="dynsections.js"></script> | ||||
<div id="nav-path" class="navpath"> | <div id="nav-path" class="navpath"> | ||||
<ul> | <ul> | ||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li> </ul> | |||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_c18d6c86f7b0afecac5c3a8a9885031e.html">src</a></li> </ul> | |||||
</div> | </div> | ||||
</div><!-- top --> | </div><!-- top --> | ||||
<div class="header"> | <div class="header"> | ||||
<p><a class="el" href="class_sd_fat.html" title="Main file system class for SdFat library. ">SdFat</a> class. | <p><a class="el" href="class_sd_fat.html" title="Main file system class for SdFat library. ">SdFat</a> class. | ||||
<a href="#details">More...</a></p> | <a href="#details">More...</a></p> | ||||
<div class="textblock"><code>#include "<a class="el" href="_sd_spi_card_8h.html">SdSpiCard.h</a>"</code><br /> | |||||
<code>#include "utility/FatLib.h"</code><br /> | |||||
<div class="textblock"><code>#include "<a class="el" href="_sd_spi_card_8h.html">SdSpiCard/SdSpiCard.h</a>"</code><br /> | |||||
<code>#include "FatLib/FatLib.h"</code><br /> | |||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
Include dependency graph for SdFat.h:</div> | Include dependency graph for SdFat.h:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_sd_fat_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2_sd_fat_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2_sd_fat_8h" id="_arduino_2libraries_2_sd_fat_2_sd_fat_8h"> | |||||
<area shape="rect" id="node3" href="_sd_spi_card_8h.html" title="SdSpiCard class for V2 SD/SDHC cards. " alt="" coords="40,96,134,123"/> <area shape="rect" id="node7" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="19,245,123,272"/> <area shape="rect" id="node13" href="_sd_spi_8h.html" title="SdSpi class for V2 SD/SDHC cards. " alt="" coords="183,171,250,197"/> <area shape="rect" id="node17" href="_soft_s_p_i_8h.html" title="Software SPI. " alt="" coords="198,245,310,272"/> <area shape="rect" id="node19" href="_digital_pin_8h.html" title="Fast Digital Pin functions. " alt="" coords="210,320,298,347"/> </map> | |||||
<div class="center"><img src="_sd_fat_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_sd_fat_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_sd_fat_8h" id="_arduino_2libraries_2_sd_fat_2src_2_sd_fat_8h"> | |||||
<area shape="rect" id="node3" href="_sd_spi_card_8h.html" title="SdSpiCard class for V2 SD/SDHC cards. " alt="" coords="7,96,167,123"/> <area shape="rect" id="node7" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="25,245,129,272"/> <area shape="rect" id="node13" href="_sd_spi_8h.html" title="SdSpi class for V2 SD/SDHC cards. " alt="" coords="183,171,250,197"/> <area shape="rect" id="node19" href="_soft_s_p_i_8h.html" title="Software SPI. " alt="" coords="283,245,361,272"/> <area shape="rect" id="node21" href="_digital_pin_8h.html" title="Fast Digital Pin functions. " alt="" coords="262,320,350,347"/> </map> | |||||
</div> | </div> | ||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
This graph shows which files directly or indirectly include this file:</div> | This graph shows which files directly or indirectly include this file:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_sd_fat_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2_sd_fat_8hdep" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2_sd_fat_8hdep" id="_arduino_2libraries_2_sd_fat_2_sd_fat_8hdep"> | |||||
<div class="center"><img src="_sd_fat_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_sd_fat_8hdep" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_sd_fat_8hdep" id="_arduino_2libraries_2_sd_fat_2src_2_sd_fat_8hdep"> | |||||
<area shape="rect" id="node3" href="_sd_fat_util_8h.html" title="Useful utility functions. " alt="" coords="5,97,160,138"/> </map> | <area shape="rect" id="node3" href="_sd_fat_util_8h.html" title="Useful utility functions. " alt="" coords="5,97,160,138"/> </map> | ||||
</div> | </div> | ||||
</div><table class="memberdecls"> | </div><table class="memberdecls"> | ||||
</table><table class="memberdecls"> | </table><table class="memberdecls"> | ||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> | <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> | ||||
Macros</h2></td></tr> | Macros</h2></td></tr> | ||||
<tr class="memitem:aca25ecce379f446043bdee2c55304210"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_sd_fat_8h.html#aca25ecce379f446043bdee2c55304210">SD_FAT_VERSION</a>   20150201</td></tr> | |||||
<tr class="memitem:aca25ecce379f446043bdee2c55304210"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_sd_fat_8h.html#aca25ecce379f446043bdee2c55304210">SD_FAT_VERSION</a>   20150718</td></tr> | |||||
<tr class="separator:aca25ecce379f446043bdee2c55304210"><td class="memSeparator" colspan="2"> </td></tr> | <tr class="separator:aca25ecce379f446043bdee2c55304210"><td class="memSeparator" colspan="2"> </td></tr> | ||||
</table> | </table> | ||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> | <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> | ||||
<div class="memproto"> | <div class="memproto"> | ||||
<table class="memname"> | <table class="memname"> | ||||
<tr> | <tr> | ||||
<td class="memname">#define SD_FAT_VERSION   20150201</td> | |||||
<td class="memname">#define SD_FAT_VERSION   20150718</td> | |||||
</tr> | </tr> | ||||
</table> | </table> | ||||
</div><div class="memdoc"> | </div><div class="memdoc"> | ||||
</div><!-- contents --> | </div><!-- contents --> | ||||
<!-- start footer part --> | <!-- start footer part --> | ||||
<hr class="footer"/><address class="footer"><small> | <hr class="footer"/><address class="footer"><small> | ||||
Generated on Sun Feb 1 2015 10:21:39 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
Generated on Sun Jul 19 2015 10:15:53 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
<img class="footer" src="doxygen.png" alt="doxygen"/> | <img class="footer" src="doxygen.png" alt="doxygen"/> | ||||
</a> 1.8.8 | </a> 1.8.8 | ||||
</small></address> | </small></address> |
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | ||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/> | <meta http-equiv="X-UA-Compatible" content="IE=9"/> | ||||
<meta name="generator" content="Doxygen 1.8.8"/> | <meta name="generator" content="Doxygen 1.8.8"/> | ||||
<title>SdFat: Arduino/libraries/SdFat/SdFatConfig.h File Reference</title> | |||||
<title>SdFat: Arduino/libraries/SdFat/src/SdFatConfig.h File Reference</title> | |||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> | <link href="tabs.css" rel="stylesheet" type="text/css"/> | ||||
<script type="text/javascript" src="jquery.js"></script> | <script type="text/javascript" src="jquery.js"></script> | ||||
<script type="text/javascript" src="dynsections.js"></script> | <script type="text/javascript" src="dynsections.js"></script> | ||||
<div id="nav-path" class="navpath"> | <div id="nav-path" class="navpath"> | ||||
<ul> | <ul> | ||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li> </ul> | |||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_c18d6c86f7b0afecac5c3a8a9885031e.html">src</a></li> </ul> | |||||
</div> | </div> | ||||
</div><!-- top --> | </div><!-- top --> | ||||
<div class="header"> | <div class="header"> | ||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
Include dependency graph for SdFatConfig.h:</div> | Include dependency graph for SdFatConfig.h:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_sd_fat_config_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2_sd_fat_config_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2_sd_fat_config_8h" id="_arduino_2libraries_2_sd_fat_2_sd_fat_config_8h"> | |||||
<div class="center"><img src="_sd_fat_config_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_sd_fat_config_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_sd_fat_config_8h" id="_arduino_2libraries_2_sd_fat_2src_2_sd_fat_config_8h"> | |||||
</map> | </map> | ||||
</div> | </div> | ||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
This graph shows which files directly or indirectly include this file:</div> | This graph shows which files directly or indirectly include this file:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_sd_fat_config_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2_sd_fat_config_8hdep" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2_sd_fat_config_8hdep" id="_arduino_2libraries_2_sd_fat_2_sd_fat_config_8hdep"> | |||||
<area shape="rect" id="node3" href="_sd_spi_card_8h.html" title="SdSpiCard class for V2 SD/SDHC cards. " alt="" coords="5,187,160,229"/> <area shape="rect" id="node9" href="_fat_lib_config_8h.html" title="configuration definitions " alt="" coords="464,97,619,138"/> <area shape="rect" id="node42" href="_sd_spi_8h.html" title="SdSpi class for V2 SD/SDHC cards. " alt="" coords="5,97,160,138"/> <area shape="rect" id="node5" href="_sd_fat_8h.html" title="SdFat class. " alt="" coords="5,278,160,319"/> <area shape="rect" id="node7" href="_sd_fat_util_8h.html" title="Useful utility functions. " alt="" coords="5,369,160,410"/> <area shape="rect" id="node11" href="_arduino_files_8h.html" title="PrintFile class. " alt="" coords="693,369,848,410"/> <area shape="rect" id="node15" href="_fat_file_8h.html" title="FatFile class. " alt="" coords="464,278,619,319"/> <area shape="rect" id="node26" href="_arduino_stream_8h.html" title="ArduinoInStream and ArduinoOutStream classes. " alt="" coords="265,731,423,773"/> <area shape="rect" id="node37" href="_fat_volume_8h.html" title="FatVolume class. " alt="" coords="693,187,848,229"/> <area shape="rect" id="node13" href="_fat_file_system_8h.html" title="FatFileSystem class. " alt="" coords="692,459,849,501"/> <area shape="rect" id="node18" href="ios_8h.html" title="ios_base and ios classes " alt="" coords="464,369,619,410"/> <area shape="rect" id="node28" href="fstream_8h.html" title="fstream, ifstream, and ofstream classes " alt="" coords="235,641,389,682"/> <area shape="rect" id="node34" href="_stdio_stream_8h.html" title="StdioStream class. " alt="" coords="285,369,440,410"/> <area shape="rect" id="node20" href="istream_8h.html" title="istream class " alt="" coords="297,459,452,501"/> <area shape="rect" id="node30" href="ostream_8h.html" title="ostream class " alt="" coords="476,459,631,501"/> <area shape="rect" id="node22" href="iostream_8h.html" title="iostream class " alt="" coords="309,550,464,591"/> <area shape="rect" id="node24" href="bufstream_8h.html" title="ibufstream and obufstream classes " alt="" coords="413,641,568,682"/> </map> | |||||
<div class="center"><img src="_sd_fat_config_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_sd_fat_config_8hdep" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_sd_fat_config_8hdep" id="_arduino_2libraries_2_sd_fat_2src_2_sd_fat_config_8hdep"> | |||||
<area shape="rect" id="node3" href="_sd_spi_card_8h.html" title="SdSpiCard class for V2 SD/SDHC cards. " alt="" coords="5,187,192,229"/> <area shape="rect" id="node9" href="_sd_spi_8h.html" title="SdSpi class for V2 SD/SDHC cards. " alt="" coords="19,97,179,138"/> <area shape="rect" id="node12" href="_fat_lib_config_8h.html" title="configuration definitions " alt="" coords="504,97,675,138"/> <area shape="rect" id="node5" href="_sd_fat_8h.html" title="SdFat class. " alt="" coords="21,278,176,319"/> <area shape="rect" id="node7" href="_sd_fat_util_8h.html" title="Useful utility functions. " alt="" coords="21,369,176,410"/> <area shape="rect" id="node14" href="_arduino_files_8h.html" title="PrintFile class. " alt="" coords="741,369,912,410"/> <area shape="rect" id="node18" href="_fat_file_8h.html" title="FatFile class. " alt="" coords="512,278,667,319"/> <area shape="rect" id="node29" href="_arduino_stream_8h.html" title="ArduinoInStream and ArduinoOutStream classes. " alt="" coords="283,731,468,773"/> <area shape="rect" id="node40" href="_fat_volume_8h.html" title="FatVolume class. " alt="" coords="741,187,904,229"/> <area shape="rect" id="node16" href="_fat_file_system_8h.html" title="FatFileSystem class. " alt="" coords="735,459,919,501"/> <area shape="rect" id="node21" href="ios_8h.html" title="ios_base and ios classes " alt="" coords="512,369,667,410"/> <area shape="rect" id="node31" href="fstream_8h.html" title="fstream, ifstream, and ofstream classes " alt="" coords="267,641,421,682"/> <area shape="rect" id="node37" href="_stdio_stream_8h.html" title="StdioStream class. " alt="" coords="317,369,488,410"/> <area shape="rect" id="node23" href="istream_8h.html" title="istream class " alt="" coords="355,459,509,501"/> <area shape="rect" id="node33" href="ostream_8h.html" title="ostream class " alt="" coords="533,459,688,501"/> <area shape="rect" id="node25" href="iostream_8h.html" title="iostream class " alt="" coords="411,550,565,591"/> <area shape="rect" id="node27" href="bufstream_8h.html" title="ibufstream and obufstream classes " alt="" coords="446,641,601,682"/> </map> | |||||
</div> | </div> | ||||
</div><table class="memberdecls"> | </div><table class="memberdecls"> | ||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> | <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> | ||||
<tr class="separator:aa918e5b1946ba4be891b081607e8193f"><td class="memSeparator" colspan="2"> </td></tr> | <tr class="separator:aa918e5b1946ba4be891b081607e8193f"><td class="memSeparator" colspan="2"> </td></tr> | ||||
<tr class="memitem:a9a2b1ca4d91cff876f48deeaacbc33da"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_sd_fat_config_8h.html#a9a2b1ca4d91cff876f48deeaacbc33da">DESTRUCTOR_CLOSES_FILE</a>   0</td></tr> | <tr class="memitem:a9a2b1ca4d91cff876f48deeaacbc33da"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_sd_fat_config_8h.html#a9a2b1ca4d91cff876f48deeaacbc33da">DESTRUCTOR_CLOSES_FILE</a>   0</td></tr> | ||||
<tr class="separator:a9a2b1ca4d91cff876f48deeaacbc33da"><td class="memSeparator" colspan="2"> </td></tr> | <tr class="separator:a9a2b1ca4d91cff876f48deeaacbc33da"><td class="memSeparator" colspan="2"> </td></tr> | ||||
<tr class="memitem:a5fa85e013e8661465ff4bc2395d77dd1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_sd_fat_config_8h.html#a5fa85e013e8661465ff4bc2395d77dd1">ENABLE_SPI_TRANSACTION</a>   0</td></tr> | |||||
<tr class="separator:a5fa85e013e8661465ff4bc2395d77dd1"><td class="memSeparator" colspan="2"> </td></tr> | |||||
<tr class="memitem:a0c1ace70ac452b3af13a00950551b3df"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_sd_fat_config_8h.html#a0c1ace70ac452b3af13a00950551b3df">ENABLE_SPI_TRANSACTIONS</a>   0</td></tr> | |||||
<tr class="separator:a0c1ace70ac452b3af13a00950551b3df"><td class="memSeparator" colspan="2"> </td></tr> | |||||
<tr class="memitem:a360adabab0d776df344efa2f8cd34b83"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_sd_fat_config_8h.html#a360adabab0d776df344efa2f8cd34b83">ENABLE_SPI_YIELD</a>   0</td></tr> | <tr class="memitem:a360adabab0d776df344efa2f8cd34b83"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_sd_fat_config_8h.html#a360adabab0d776df344efa2f8cd34b83">ENABLE_SPI_YIELD</a>   0</td></tr> | ||||
<tr class="separator:a360adabab0d776df344efa2f8cd34b83"><td class="memSeparator" colspan="2"> </td></tr> | <tr class="separator:a360adabab0d776df344efa2f8cd34b83"><td class="memSeparator" colspan="2"> </td></tr> | ||||
<tr class="memitem:a270eefdaec4778f2a491658f34f61b17"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_sd_fat_config_8h.html#a270eefdaec4778f2a491658f34f61b17">ENDL_CALLS_FLUSH</a>   0</td></tr> | <tr class="memitem:a270eefdaec4778f2a491658f34f61b17"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_sd_fat_config_8h.html#a270eefdaec4778f2a491658f34f61b17">ENDL_CALLS_FLUSH</a>   0</td></tr> | ||||
<tr class="separator:a270eefdaec4778f2a491658f34f61b17"><td class="memSeparator" colspan="2"> </td></tr> | <tr class="separator:a270eefdaec4778f2a491658f34f61b17"><td class="memSeparator" colspan="2"> </td></tr> | ||||
<tr class="memitem:a28998c5daf4bd038f4f93172698320b1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_sd_fat_config_8h.html#a28998c5daf4bd038f4f93172698320b1">FAT12_SUPPORT</a>   0</td></tr> | <tr class="memitem:a28998c5daf4bd038f4f93172698320b1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_sd_fat_config_8h.html#a28998c5daf4bd038f4f93172698320b1">FAT12_SUPPORT</a>   0</td></tr> | ||||
<tr class="separator:a28998c5daf4bd038f4f93172698320b1"><td class="memSeparator" colspan="2"> </td></tr> | <tr class="separator:a28998c5daf4bd038f4f93172698320b1"><td class="memSeparator" colspan="2"> </td></tr> | ||||
<tr class="memitem:ac2865dac8fdbb4fff47105db32ddf05b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_sd_fat_config_8h.html#ac2865dac8fdbb4fff47105db32ddf05b">MAINTAIN_FREE_CLUSTER_COUNT</a>   0</td></tr> | |||||
<tr class="separator:ac2865dac8fdbb4fff47105db32ddf05b"><td class="memSeparator" colspan="2"> </td></tr> | |||||
<tr class="memitem:a838861a01379e94361148d22e62b1977"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_sd_fat_config_8h.html#a838861a01379e94361148d22e62b1977">SD_HAS_CUSTOM_SPI</a>   1</td></tr> | |||||
<tr class="separator:a838861a01379e94361148d22e62b1977"><td class="memSeparator" colspan="2"> </td></tr> | |||||
<tr class="memitem:a89b43e6b5c76008d9596494cf64e54fb"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_sd_fat_config_8h.html#a89b43e6b5c76008d9596494cf64e54fb">SD_SPI_CONFIGURATION</a>   0</td></tr> | <tr class="memitem:a89b43e6b5c76008d9596494cf64e54fb"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_sd_fat_config_8h.html#a89b43e6b5c76008d9596494cf64e54fb">SD_SPI_CONFIGURATION</a>   0</td></tr> | ||||
<tr class="separator:a89b43e6b5c76008d9596494cf64e54fb"><td class="memSeparator" colspan="2"> </td></tr> | <tr class="separator:a89b43e6b5c76008d9596494cf64e54fb"><td class="memSeparator" colspan="2"> </td></tr> | ||||
<tr class="memitem:a2536b194b3b007604a39e8526e108b52"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_sd_fat_config_8h.html#a2536b194b3b007604a39e8526e108b52">USE_LONG_FILE_NAMES</a>   1</td></tr> | <tr class="memitem:a2536b194b3b007604a39e8526e108b52"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_sd_fat_config_8h.html#a2536b194b3b007604a39e8526e108b52">USE_LONG_FILE_NAMES</a>   1</td></tr> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<a class="anchor" id="a5fa85e013e8661465ff4bc2395d77dd1"></a> | |||||
<a class="anchor" id="a0c1ace70ac452b3af13a00950551b3df"></a> | |||||
<div class="memitem"> | <div class="memitem"> | ||||
<div class="memproto"> | <div class="memproto"> | ||||
<table class="memname"> | <table class="memname"> | ||||
<tr> | <tr> | ||||
<td class="memname">#define ENABLE_SPI_TRANSACTION   0</td> | |||||
<td class="memname">#define ENABLE_SPI_TRANSACTIONS   0</td> | |||||
</tr> | </tr> | ||||
</table> | </table> | ||||
</div><div class="memdoc"> | </div><div class="memdoc"> | ||||
<p>Set ENABLE_SPI_TRANSACTION nonzero to enable the SPI transaction feature of the standard Arduino SPI library. You must include SPI.h in your programs when ENABLE_SPI_TRANSACTION is nonzero. </p> | |||||
<p>Set ENABLE_SPI_TRANSACTIONS nonzero to enable the SPI transaction feature of the standard Arduino SPI library. You must include SPI.h in your programs when ENABLE_SPI_TRANSACTIONS is nonzero. </p> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</table> | </table> | ||||
</div><div class="memdoc"> | </div><div class="memdoc"> | ||||
<p>Set ENABLE_SPI_YIELD nonzero to enable release of the SPI bus during SD card busy waits.</p> | <p>Set ENABLE_SPI_YIELD nonzero to enable release of the SPI bus during SD card busy waits.</p> | ||||
<p>This will allow interrupt routines to access the SPI bus if ENABLE_SPI_TRANSACTION is nonzero.</p> | |||||
<p>This will allow interrupt routines to access the SPI bus if ENABLE_SPI_TRANSACTIONS is nonzero.</p> | |||||
<p>Setting ENABLE_SPI_YIELD will introduce some extra overhead and will slightly slow transfer rates. A few older SD cards may fail when ENABLE_SPI_YIELD is nonzero. </p> | <p>Setting ENABLE_SPI_YIELD will introduce some extra overhead and will slightly slow transfer rates. A few older SD cards may fail when ENABLE_SPI_YIELD is nonzero. </p> | ||||
</div> | </div> | ||||
</div><div class="memdoc"> | </div><div class="memdoc"> | ||||
<p>Set FAT12_SUPPORT nonzero to enable use if FAT12 volumes. FAT12 has not been well tested and requires additional flash. </p> | <p>Set FAT12_SUPPORT nonzero to enable use if FAT12 volumes. FAT12 has not been well tested and requires additional flash. </p> | ||||
</div> | |||||
</div> | |||||
<a class="anchor" id="ac2865dac8fdbb4fff47105db32ddf05b"></a> | |||||
<div class="memitem"> | |||||
<div class="memproto"> | |||||
<table class="memname"> | |||||
<tr> | |||||
<td class="memname">#define MAINTAIN_FREE_CLUSTER_COUNT   0</td> | |||||
</tr> | |||||
</table> | |||||
</div><div class="memdoc"> | |||||
<p>Set MAINTAIN_FREE_CLUSTER_COUNT nonzero to keep the count of free clusters updated. This will increase the speed of the freeClusterCount() call after the first call. Extra flash will be required. </p> | |||||
</div> | |||||
</div> | |||||
<a class="anchor" id="a838861a01379e94361148d22e62b1977"></a> | |||||
<div class="memitem"> | |||||
<div class="memproto"> | |||||
<table class="memname"> | |||||
<tr> | |||||
<td class="memname">#define SD_HAS_CUSTOM_SPI   1</td> | |||||
</tr> | |||||
</table> | |||||
</div><div class="memdoc"> | |||||
<p>Determine the default SPI configuration. </p> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<a class="anchor" id="a89b43e6b5c76008d9596494cf64e54fb"></a> | <a class="anchor" id="a89b43e6b5c76008d9596494cf64e54fb"></a> | ||||
</table> | </table> | ||||
</div><div class="memdoc"> | </div><div class="memdoc"> | ||||
<p>The symbol SD_SPI_CONFIGURATION defines SPI access to the SD card.</p> | <p>The symbol SD_SPI_CONFIGURATION defines SPI access to the SD card.</p> | ||||
<p>IF SD_SPI_CONFIGUTATION is define to be zero, only the <a class="el" href="class_sd_fat.html" title="Main file system class for SdFat library. ">SdFat</a> class is define and <a class="el" href="class_sd_fat.html" title="Main file system class for SdFat library. ">SdFat</a> uses a fast custom SPI implementation.</p> | |||||
<p>If SD_SPI_CONFIGURATION is define to be one, only the <a class="el" href="class_sd_fat.html" title="Main file system class for SdFat library. ">SdFat</a> class is define and <a class="el" href="class_sd_fat.html" title="Main file system class for SdFat library. ">SdFat</a> uses the standard Arduino SD.h library.</p> | |||||
<p>IF SD_SPI_CONFIGUTATION is define to be zero, only the <a class="el" href="class_sd_fat.html" title="Main file system class for SdFat library. ">SdFat</a> class is define and <a class="el" href="class_sd_fat.html" title="Main file system class for SdFat library. ">SdFat</a> uses a fast custom SPI implementation if avaiable. If SD_HAS_CUSTOM_SPI is zero, the standard SPI library is used.</p> | |||||
<p>If SD_SPI_CONFIGURATION is define to be one, only the <a class="el" href="class_sd_fat.html" title="Main file system class for SdFat library. ">SdFat</a> class is define and <a class="el" href="class_sd_fat.html" title="Main file system class for SdFat library. ">SdFat</a> uses the standard Arduino SPI.h library.</p> | |||||
<p>If SD_SPI_CONFIGURATION is define to be two, only the <a class="el" href="class_sd_fat.html" title="Main file system class for SdFat library. ">SdFat</a> class is define and <a class="el" href="class_sd_fat.html" title="Main file system class for SdFat library. ">SdFat</a> uses software SPI on the pins defined below.</p> | <p>If SD_SPI_CONFIGURATION is define to be two, only the <a class="el" href="class_sd_fat.html" title="Main file system class for SdFat library. ">SdFat</a> class is define and <a class="el" href="class_sd_fat.html" title="Main file system class for SdFat library. ">SdFat</a> uses software SPI on the pins defined below.</p> | ||||
<p>If SD_SPI_CONFIGURATION is define to be three, the three classes, <a class="el" href="class_sd_fat.html" title="Main file system class for SdFat library. ">SdFat</a>, <a class="el" href="class_sd_fat_lib_spi.html" title="SdFat class using the standard Arduino SPI library. ">SdFatLibSpi</a>, and <a class="el" href="class_sd_fat_soft_spi.html" title="SdFat class using software SPI. ">SdFatSoftSpi</a> are defined. <a class="el" href="class_sd_fat.html" title="Main file system class for SdFat library. ">SdFat</a> uses the fast custom SPI implementation. <a class="el" href="class_sd_fat_lib_spi.html" title="SdFat class using the standard Arduino SPI library. ">SdFatLibSpi</a> uses the standard Arduino SPI library. <a class="el" href="class_sd_fat_soft_spi.html" title="SdFat class using software SPI. ">SdFatSoftSpi</a> is a template class that uses Software SPI. The template parameters define the software SPI pins. See the ThreeCard example for simultaneous use of all three classes. </p> | <p>If SD_SPI_CONFIGURATION is define to be three, the three classes, <a class="el" href="class_sd_fat.html" title="Main file system class for SdFat library. ">SdFat</a>, <a class="el" href="class_sd_fat_lib_spi.html" title="SdFat class using the standard Arduino SPI library. ">SdFatLibSpi</a>, and <a class="el" href="class_sd_fat_soft_spi.html" title="SdFat class using software SPI. ">SdFatSoftSpi</a> are defined. <a class="el" href="class_sd_fat.html" title="Main file system class for SdFat library. ">SdFat</a> uses the fast custom SPI implementation. <a class="el" href="class_sd_fat_lib_spi.html" title="SdFat class using the standard Arduino SPI library. ">SdFatLibSpi</a> uses the standard Arduino SPI library. <a class="el" href="class_sd_fat_soft_spi.html" title="SdFat class using software SPI. ">SdFatSoftSpi</a> is a template class that uses Software SPI. The template parameters define the software SPI pins. See the ThreeCard example for simultaneous use of all three classes. </p> | ||||
</div><!-- contents --> | </div><!-- contents --> | ||||
<!-- start footer part --> | <!-- start footer part --> | ||||
<hr class="footer"/><address class="footer"><small> | <hr class="footer"/><address class="footer"><small> | ||||
Generated on Sun Feb 1 2015 10:21:39 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
Generated on Sun Jul 19 2015 10:15:53 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
<img class="footer" src="doxygen.png" alt="doxygen"/> | <img class="footer" src="doxygen.png" alt="doxygen"/> | ||||
</a> 1.8.8 | </a> 1.8.8 | ||||
</small></address> | </small></address> |
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | ||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/> | <meta http-equiv="X-UA-Compatible" content="IE=9"/> | ||||
<meta name="generator" content="Doxygen 1.8.8"/> | <meta name="generator" content="Doxygen 1.8.8"/> | ||||
<title>SdFat: Arduino/libraries/SdFat/SdFatUtil.h File Reference</title> | |||||
<title>SdFat: Arduino/libraries/SdFat/src/SdFatUtil.h File Reference</title> | |||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> | <link href="tabs.css" rel="stylesheet" type="text/css"/> | ||||
<script type="text/javascript" src="jquery.js"></script> | <script type="text/javascript" src="jquery.js"></script> | ||||
<script type="text/javascript" src="dynsections.js"></script> | <script type="text/javascript" src="dynsections.js"></script> | ||||
<div id="nav-path" class="navpath"> | <div id="nav-path" class="navpath"> | ||||
<ul> | <ul> | ||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li> </ul> | |||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_c18d6c86f7b0afecac5c3a8a9885031e.html">src</a></li> </ul> | |||||
</div> | </div> | ||||
</div><!-- top --> | </div><!-- top --> | ||||
<div class="header"> | <div class="header"> | ||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
Include dependency graph for SdFatUtil.h:</div> | Include dependency graph for SdFatUtil.h:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_sd_fat_util_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2_sd_fat_util_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2_sd_fat_util_8h" id="_arduino_2libraries_2_sd_fat_2_sd_fat_util_8h"> | |||||
<area shape="rect" id="node3" href="_sd_fat_8h.html" title="SdFat class. " alt="" coords="53,96,121,123"/> <area shape="rect" id="node5" href="_sd_spi_card_8h.html" title="SdSpiCard class for V2 SD/SDHC cards. " alt="" coords="40,171,134,197"/> <area shape="rect" id="node9" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="19,320,123,347"/> <area shape="rect" id="node15" href="_sd_spi_8h.html" title="SdSpi class for V2 SD/SDHC cards. " alt="" coords="183,245,250,272"/> <area shape="rect" id="node19" href="_soft_s_p_i_8h.html" title="Software SPI. " alt="" coords="198,320,310,347"/> <area shape="rect" id="node21" href="_digital_pin_8h.html" title="Fast Digital Pin functions. " alt="" coords="210,395,298,421"/> </map> | |||||
<div class="center"><img src="_sd_fat_util_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_sd_fat_util_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_sd_fat_util_8h" id="_arduino_2libraries_2_sd_fat_2src_2_sd_fat_util_8h"> | |||||
<area shape="rect" id="node3" href="_sd_fat_8h.html" title="SdFat class. " alt="" coords="53,96,121,123"/> <area shape="rect" id="node5" href="_sd_spi_card_8h.html" title="SdSpiCard class for V2 SD/SDHC cards. " alt="" coords="7,171,167,197"/> <area shape="rect" id="node9" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="25,320,129,347"/> <area shape="rect" id="node15" href="_sd_spi_8h.html" title="SdSpi class for V2 SD/SDHC cards. " alt="" coords="183,245,250,272"/> <area shape="rect" id="node21" href="_soft_s_p_i_8h.html" title="Software SPI. " alt="" coords="283,320,361,347"/> <area shape="rect" id="node23" href="_digital_pin_8h.html" title="Fast Digital Pin functions. " alt="" coords="262,395,350,421"/> </map> | |||||
</div> | </div> | ||||
</div><table class="memberdecls"> | </div><table class="memberdecls"> | ||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> | <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> | ||||
</div><!-- contents --> | </div><!-- contents --> | ||||
<!-- start footer part --> | <!-- start footer part --> | ||||
<hr class="footer"/><address class="footer"><small> | <hr class="footer"/><address class="footer"><small> | ||||
Generated on Sun Feb 1 2015 10:21:39 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
Generated on Sun Jul 19 2015 10:15:53 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
<img class="footer" src="doxygen.png" alt="doxygen"/> | <img class="footer" src="doxygen.png" alt="doxygen"/> | ||||
</a> 1.8.8 | </a> 1.8.8 | ||||
</small></address> | </small></address> |
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | ||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/> | <meta http-equiv="X-UA-Compatible" content="IE=9"/> | ||||
<meta name="generator" content="Doxygen 1.8.8"/> | <meta name="generator" content="Doxygen 1.8.8"/> | ||||
<title>SdFat: Arduino/libraries/SdFat/SdSpi.h File Reference</title> | |||||
<title>SdFat: Arduino/libraries/SdFat/src/SdSpiCard/SdSpi.h File Reference</title> | |||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> | <link href="tabs.css" rel="stylesheet" type="text/css"/> | ||||
<script type="text/javascript" src="jquery.js"></script> | <script type="text/javascript" src="jquery.js"></script> | ||||
<script type="text/javascript" src="dynsections.js"></script> | <script type="text/javascript" src="dynsections.js"></script> | ||||
<div id="nav-path" class="navpath"> | <div id="nav-path" class="navpath"> | ||||
<ul> | <ul> | ||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li> </ul> | |||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_c18d6c86f7b0afecac5c3a8a9885031e.html">src</a></li><li class="navelem"><a class="el" href="dir_c1572573431a6c581ab684c4a3cd60b9.html">SdSpiCard</a></li> </ul> | |||||
</div> | </div> | ||||
</div><!-- top --> | </div><!-- top --> | ||||
<div class="header"> | <div class="header"> | ||||
<p><a class="el" href="class_sd_spi.html" title="SPI class for access to SD and SDHC flash memory cards. ">SdSpi</a> class for V2 SD/SDHC cards. | <p><a class="el" href="class_sd_spi.html" title="SPI class for access to SD and SDHC flash memory cards. ">SdSpi</a> class for V2 SD/SDHC cards. | ||||
<a href="#details">More...</a></p> | <a href="#details">More...</a></p> | ||||
<div class="textblock"><code>#include <Arduino.h></code><br /> | <div class="textblock"><code>#include <Arduino.h></code><br /> | ||||
<code>#include "<a class="el" href="_sd_fat_config_8h.html">SdFatConfig.h</a>"</code><br /> | |||||
<code>#include "<a class="el" href="_soft_s_p_i_8h.html">utility/SoftSPI.h</a>"</code><br /> | |||||
<code>#include <SPI.h></code><br /> | <code>#include <SPI.h></code><br /> | ||||
<code>#include "<a class="el" href="_sd_fat_config_8h.html">SdFatConfig.h</a>"</code><br /> | |||||
<code>#include "<a class="el" href="_soft_s_p_i_8h.html">SoftSPI.h</a>"</code><br /> | |||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
Include dependency graph for SdSpi.h:</div> | Include dependency graph for SdSpi.h:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_sd_spi_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2_sd_spi_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2_sd_spi_8h" id="_arduino_2libraries_2_sd_fat_2_sd_spi_8h"> | |||||
<area shape="rect" id="node5" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="32,96,136,123"/> <area shape="rect" id="node9" href="_soft_s_p_i_8h.html" title="Software SPI. " alt="" coords="160,96,272,123"/> <area shape="rect" id="node11" href="_digital_pin_8h.html" title="Fast Digital Pin functions. " alt="" coords="144,171,232,197"/> </map> | |||||
<div class="center"><img src="_sd_spi_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_sd_spi_card_2_sd_spi_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_sd_spi_card_2_sd_spi_8h" id="_arduino_2libraries_2_sd_fat_2src_2_sd_spi_card_2_sd_spi_8h"> | |||||
<area shape="rect" id="node7" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="106,96,210,123"/> <area shape="rect" id="node11" href="_soft_s_p_i_8h.html" title="Software SPI. " alt="" coords="234,96,312,123"/> <area shape="rect" id="node13" href="_digital_pin_8h.html" title="Fast Digital Pin functions. " alt="" coords="222,171,310,197"/> </map> | |||||
</div> | </div> | ||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
This graph shows which files directly or indirectly include this file:</div> | This graph shows which files directly or indirectly include this file:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_sd_spi_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2_sd_spi_8hdep" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2_sd_spi_8hdep" id="_arduino_2libraries_2_sd_fat_2_sd_spi_8hdep"> | |||||
<area shape="rect" id="node3" href="_sd_spi_card_8h.html" title="SdSpiCard class for V2 SD/SDHC cards. " alt="" coords="5,97,160,138"/> <area shape="rect" id="node5" href="_sd_fat_8h.html" title="SdFat class. " alt="" coords="5,187,160,229"/> <area shape="rect" id="node7" href="_sd_fat_util_8h.html" title="Useful utility functions. " alt="" coords="5,278,160,319"/> </map> | |||||
<div class="center"><img src="_sd_spi_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_sd_spi_card_2_sd_spi_8hdep" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_sd_spi_card_2_sd_spi_8hdep" id="_arduino_2libraries_2_sd_fat_2src_2_sd_spi_card_2_sd_spi_8hdep"> | |||||
<area shape="rect" id="node3" href="_sd_spi_card_8h.html" title="SdSpiCard class for V2 SD/SDHC cards. " alt="" coords="5,97,192,138"/> <area shape="rect" id="node5" href="_sd_fat_8h.html" title="SdFat class. " alt="" coords="21,187,176,229"/> <area shape="rect" id="node7" href="_sd_fat_util_8h.html" title="Useful utility functions. " alt="" coords="21,278,176,319"/> </map> | |||||
</div> | </div> | ||||
</div><table class="memberdecls"> | </div><table class="memberdecls"> | ||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> | <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> | ||||
</table><table class="memberdecls"> | </table><table class="memberdecls"> | ||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> | <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> | ||||
Typedefs</h2></td></tr> | Typedefs</h2></td></tr> | ||||
<tr class="memitem:ad2c24f6ae166193062e50d14c5342b95"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="class_sd_spi.html">SdSpi</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="_sd_spi_8h.html#ad2c24f6ae166193062e50d14c5342b95">SpiDefault_t</a></td></tr> | |||||
<tr class="separator:ad2c24f6ae166193062e50d14c5342b95"><td class="memSeparator" colspan="2"> </td></tr> | |||||
<tr class="memitem:a312d9e68dd648980324728cc06d3bf6a"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="class_sd_spi_lib.html">SdSpiLib</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="_sd_spi_8h.html#a312d9e68dd648980324728cc06d3bf6a">SpiDefault_t</a></td></tr> | |||||
<tr class="separator:a312d9e68dd648980324728cc06d3bf6a"><td class="memSeparator" colspan="2"> </td></tr> | |||||
</table> | </table> | ||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> | <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> | ||||
<div class="textblock"><p><a class="el" href="class_sd_spi.html" title="SPI class for access to SD and SDHC flash memory cards. ">SdSpi</a> class for V2 SD/SDHC cards. </p> | <div class="textblock"><p><a class="el" href="class_sd_spi.html" title="SPI class for access to SD and SDHC flash memory cards. ">SdSpi</a> class for V2 SD/SDHC cards. </p> | ||||
</div><h2 class="groupheader">Typedef Documentation</h2> | </div><h2 class="groupheader">Typedef Documentation</h2> | ||||
<a class="anchor" id="ad2c24f6ae166193062e50d14c5342b95"></a> | |||||
<a class="anchor" id="a312d9e68dd648980324728cc06d3bf6a"></a> | |||||
<div class="memitem"> | <div class="memitem"> | ||||
<div class="memproto"> | <div class="memproto"> | ||||
<table class="memname"> | <table class="memname"> | ||||
<tr> | <tr> | ||||
<td class="memname">typedef <a class="el" href="class_sd_spi.html">SdSpi</a> <a class="el" href="_sd_spi_8h.html#ad2c24f6ae166193062e50d14c5342b95">SpiDefault_t</a></td> | |||||
<td class="memname">typedef <a class="el" href="class_sd_spi_lib.html">SdSpiLib</a> <a class="el" href="_sd_spi_8h.html#a312d9e68dd648980324728cc06d3bf6a">SpiDefault_t</a></td> | |||||
</tr> | </tr> | ||||
</table> | </table> | ||||
</div><div class="memdoc"> | </div><div class="memdoc"> | ||||
<p>Default is custom fast SPI. </p> | |||||
<p>Default is Arduino library SPI. </p> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div><!-- contents --> | </div><!-- contents --> | ||||
<!-- start footer part --> | <!-- start footer part --> | ||||
<hr class="footer"/><address class="footer"><small> | <hr class="footer"/><address class="footer"><small> | ||||
Generated on Sun Feb 1 2015 10:21:39 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
Generated on Sun Jul 19 2015 10:15:53 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
<img class="footer" src="doxygen.png" alt="doxygen"/> | <img class="footer" src="doxygen.png" alt="doxygen"/> | ||||
</a> 1.8.8 | </a> 1.8.8 | ||||
</small></address> | </small></address> |
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | ||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/> | <meta http-equiv="X-UA-Compatible" content="IE=9"/> | ||||
<meta name="generator" content="Doxygen 1.8.8"/> | <meta name="generator" content="Doxygen 1.8.8"/> | ||||
<title>SdFat: Arduino/libraries/SdFat/SdSpiCard.h File Reference</title> | |||||
<title>SdFat: Arduino/libraries/SdFat/src/SdSpiCard/SdSpiCard.h File Reference</title> | |||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> | <link href="tabs.css" rel="stylesheet" type="text/css"/> | ||||
<script type="text/javascript" src="jquery.js"></script> | <script type="text/javascript" src="jquery.js"></script> | ||||
<script type="text/javascript" src="dynsections.js"></script> | <script type="text/javascript" src="dynsections.js"></script> | ||||
<div id="nav-path" class="navpath"> | <div id="nav-path" class="navpath"> | ||||
<ul> | <ul> | ||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li> </ul> | |||||
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_c18d6c86f7b0afecac5c3a8a9885031e.html">src</a></li><li class="navelem"><a class="el" href="dir_c1572573431a6c581ab684c4a3cd60b9.html">SdSpiCard</a></li> </ul> | |||||
</div> | </div> | ||||
</div><!-- top --> | </div><!-- top --> | ||||
<div class="header"> | <div class="header"> | ||||
<p><a class="el" href="class_sd_spi_card.html" title="Raw access to SD and SDHC flash memory cards via SPI protocol. ">SdSpiCard</a> class for V2 SD/SDHC cards. | <p><a class="el" href="class_sd_spi_card.html" title="Raw access to SD and SDHC flash memory cards via SPI protocol. ">SdSpiCard</a> class for V2 SD/SDHC cards. | ||||
<a href="#details">More...</a></p> | <a href="#details">More...</a></p> | ||||
<div class="textblock"><code>#include <Arduino.h></code><br /> | <div class="textblock"><code>#include <Arduino.h></code><br /> | ||||
<code>#include <<a class="el" href="_sd_fat_config_8h.html">SdFatConfig.h</a>></code><br /> | |||||
<code>#include <SdInfo.h></code><br /> | |||||
<code>#include <<a class="el" href="_sd_spi_8h.html">SdSpi.h</a>></code><br /> | |||||
<code>#include "<a class="el" href="_sd_fat_config_8h.html">SdFatConfig.h</a>"</code><br /> | |||||
<code>#include "SdInfo.h"</code><br /> | |||||
<code>#include "<a class="el" href="_sd_spi_8h.html">SdSpi.h</a>"</code><br /> | |||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
Include dependency graph for SdSpiCard.h:</div> | Include dependency graph for SdSpiCard.h:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_sd_spi_card_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2_sd_spi_card_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2_sd_spi_card_8h" id="_arduino_2libraries_2_sd_fat_2_sd_spi_card_8h"> | |||||
<area shape="rect" id="node5" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="18,171,122,197"/> <area shape="rect" id="node11" href="_sd_spi_8h.html" title="SdSpi class for V2 SD/SDHC cards. " alt="" coords="182,96,249,123"/> <area shape="rect" id="node15" href="_soft_s_p_i_8h.html" title="Software SPI. " alt="" coords="197,171,309,197"/> <area shape="rect" id="node17" href="_digital_pin_8h.html" title="Fast Digital Pin functions. " alt="" coords="209,245,297,272"/> </map> | |||||
<div class="center"><img src="_sd_spi_card_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_sd_spi_card_2_sd_spi_card_8h" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_sd_spi_card_2_sd_spi_card_8h" id="_arduino_2libraries_2_sd_fat_2src_2_sd_spi_card_2_sd_spi_card_8h"> | |||||
<area shape="rect" id="node5" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="36,171,140,197"/> <area shape="rect" id="node11" href="_sd_spi_8h.html" title="SdSpi class for V2 SD/SDHC cards. " alt="" coords="194,96,261,123"/> <area shape="rect" id="node17" href="_soft_s_p_i_8h.html" title="Software SPI. " alt="" coords="295,171,372,197"/> <area shape="rect" id="node19" href="_digital_pin_8h.html" title="Fast Digital Pin functions. " alt="" coords="273,245,361,272"/> </map> | |||||
</div> | </div> | ||||
</div><div class="textblock"><div class="dynheader"> | </div><div class="textblock"><div class="dynheader"> | ||||
This graph shows which files directly or indirectly include this file:</div> | This graph shows which files directly or indirectly include this file:</div> | ||||
<div class="dyncontent"> | <div class="dyncontent"> | ||||
<div class="center"><img src="_sd_spi_card_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2_sd_spi_card_8hdep" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2_sd_spi_card_8hdep" id="_arduino_2libraries_2_sd_fat_2_sd_spi_card_8hdep"> | |||||
<area shape="rect" id="node3" href="_sd_fat_8h.html" title="SdFat class. " alt="" coords="5,97,160,138"/> <area shape="rect" id="node5" href="_sd_fat_util_8h.html" title="Useful utility functions. " alt="" coords="5,187,160,229"/> </map> | |||||
<div class="center"><img src="_sd_spi_card_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_sd_spi_card_2_sd_spi_card_8hdep" alt=""/></div> | |||||
<map name="_arduino_2libraries_2_sd_fat_2src_2_sd_spi_card_2_sd_spi_card_8hdep" id="_arduino_2libraries_2_sd_fat_2src_2_sd_spi_card_2_sd_spi_card_8hdep"> | |||||
<area shape="rect" id="node3" href="_sd_fat_8h.html" title="SdFat class. " alt="" coords="21,97,176,138"/> <area shape="rect" id="node5" href="_sd_fat_util_8h.html" title="Useful utility functions. " alt="" coords="21,187,176,229"/> </map> | |||||
</div> | </div> | ||||
</div><table class="memberdecls"> | </div><table class="memberdecls"> | ||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> | <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> | ||||
</div></div><!-- contents --> | </div></div><!-- contents --> | ||||
<!-- start footer part --> | <!-- start footer part --> | ||||
<hr class="footer"/><address class="footer"><small> | <hr class="footer"/><address class="footer"><small> | ||||
Generated on Sun Feb 1 2015 10:21:39 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
Generated on Sun Jul 19 2015 10:15:53 for SdFat by  <a href="http://www.doxygen.org/index.html"> | |||||
<img class="footer" src="doxygen.png" alt="doxygen"/> | <img class="footer" src="doxygen.png" alt="doxygen"/> | ||||
</a> 1.8.8 | </a> 1.8.8 | ||||
</small></address> | </small></address> |