SdFat
|
configuration definitions More...
#include <stdint.h>
Defines | |
#define | ALLOW_DEPRECATED_FUNCTIONS 1 |
#define | ENDL_CALLS_FLUSH 0 |
#define | FAT12_SUPPORT 0 |
#define | MEGA_SOFT_SPI 0 |
#define | SET_SPI_SS_HIGH 1 |
#define | SPI_SD_INIT_RATE 5 |
#define | USE_CXA_PURE_VIRTUAL 1 |
#define | USE_MULTIPLE_CARDS 0 |
#define | USE_SOFTWARE_SPI 0 |
Variables | |
uint8_t const | SOFT_SPI_CS_PIN = 10 |
uint8_t const | SOFT_SPI_MISO_PIN = 12 |
uint8_t const | SOFT_SPI_MOSI_PIN = 11 |
uint8_t const | SOFT_SPI_SCK_PIN = 13 |
configuration definitions
#define ALLOW_DEPRECATED_FUNCTIONS 1 |
Allow use of deprecated functions if ALLOW_DEPRECATED_FUNCTIONS is nonzero
#define ENDL_CALLS_FLUSH 0 |
Call flush for endl if ENDL_CALLS_FLUSH is nonzero
The standard for iostreams is to call flush. This is very costly for SdFat. Each call to flush causes 2048 bytes of I/O to the SD.
SdFat has a single 512 byte buffer for SD I/O so it must write the current data block to the SD, read the directory block from the SD, update the directory entry, write the directory block to the SD and read the data block back into the buffer.
The SD flash memory controller is not designed for this many rewrites so performance may be reduced by more than a factor of 100.
If ENDL_CALLS_FLUSH is zero, you must call flush and/or close to force all data to be written to the SD.
#define FAT12_SUPPORT 0 |
Allow FAT12 volumes if FAT12_SUPPORT is nonzero. FAT12 has not been well tested.
#define MEGA_SOFT_SPI 0 |
Define MEGA_SOFT_SPI nonzero to use software SPI on Mega Arduinos. Pins used are SS 10, MOSI 11, MISO 12, and SCK 13.
MEGA_SOFT_SPI allows an unmodified Adafruit GPS Shield to be used on Mega Arduinos. Software SPI works well with GPS Shield V1.1 but many SD cards will fail with GPS Shield V1.0.
#define SET_SPI_SS_HIGH 1 |
Set the SS pin high for hardware SPI. If SS is chip select for another SPI device this will disable that device during the SD init phase.
#define SPI_SD_INIT_RATE 5 |
SPI init rate for SD initialization commands. Must be 5 (F_CPU/64) or 6 (F_CPU/128).
#define USE_CXA_PURE_VIRTUAL 1 |
The __cxa_pure_virtual function is an error handler that is invoked when a pure virtual function is called.
#define USE_MULTIPLE_CARDS 0 |
To use multiple SD cards set USE_MULTIPLE_CARDS nonzero.
Using multiple cards costs 400 - 500 bytes of flash.
Each card requires about 550 bytes of SRAM so use of a Mega is recommended.
#define USE_SOFTWARE_SPI 0 |
Set USE_SOFTWARE_SPI nonzero to always use software SPI.
uint8_t const SOFT_SPI_CS_PIN = 10 |
Software SPI chip select pin for the SD
uint8_t const SOFT_SPI_MISO_PIN = 12 |
Software SPI Master In Slave Out pin
uint8_t const SOFT_SPI_MOSI_PIN = 11 |
Software SPI Master Out Slave In pin
uint8_t const SOFT_SPI_SCK_PIN = 13 |
Software SPI Clock pin