Engduino
3.1.0
A fun device for learning coding
|
#include "Sd2PinMap.h"
#include "SdInfo.h"
Go to the source code of this file.
Classes | |
class | Sd2Card |
Raw access to SD and SDHC flash memory cards. More... | |
Macros | |
#define | USE_SPI_LIB |
#define | MEGA_SOFT_SPI 0 |
#define | SD_PROTECT_BLOCK_ZERO 1 |
Variables | |
uint8_t const | SPI_FULL_SPEED = 0 |
uint8_t const | SPI_HALF_SPEED = 1 |
uint8_t const | SPI_QUARTER_SPEED = 2 |
uint8_t const | SD_CHIP_SELECT_PIN = SS_PIN |
uint8_t const | SPI_MOSI_PIN = MOSI_PIN |
uint8_t const | SPI_MISO_PIN = MISO_PIN |
uint8_t const | SPI_SCK_PIN = SCK_PIN |
uint16_t const | SD_INIT_TIMEOUT = 2000 |
uint16_t const | SD_ERASE_TIMEOUT = 10000 |
uint16_t const | SD_READ_TIMEOUT = 300 |
uint16_t const | SD_WRITE_TIMEOUT = 600 |
uint8_t const | SD_CARD_ERROR_CMD0 = 0X1 |
uint8_t const | SD_CARD_ERROR_CMD8 = 0X2 |
uint8_t const | SD_CARD_ERROR_CMD17 = 0X3 |
uint8_t const | SD_CARD_ERROR_CMD24 = 0X4 |
uint8_t const | SD_CARD_ERROR_CMD25 = 0X05 |
uint8_t const | SD_CARD_ERROR_CMD58 = 0X06 |
uint8_t const | SD_CARD_ERROR_ACMD23 = 0X07 |
uint8_t const | SD_CARD_ERROR_ACMD41 = 0X08 |
uint8_t const | SD_CARD_ERROR_BAD_CSD = 0X09 |
uint8_t const | SD_CARD_ERROR_ERASE = 0X0A |
uint8_t const | SD_CARD_ERROR_ERASE_SINGLE_BLOCK = 0X0B |
uint8_t const | SD_CARD_ERROR_ERASE_TIMEOUT = 0X0C |
uint8_t const | SD_CARD_ERROR_READ = 0X0D |
uint8_t const | SD_CARD_ERROR_READ_REG = 0X0E |
uint8_t const | SD_CARD_ERROR_READ_TIMEOUT = 0X0F |
uint8_t const | SD_CARD_ERROR_STOP_TRAN = 0X10 |
uint8_t const | SD_CARD_ERROR_WRITE = 0X11 |
uint8_t const | SD_CARD_ERROR_WRITE_BLOCK_ZERO = 0X12 |
uint8_t const | SD_CARD_ERROR_WRITE_MULTIPLE = 0X13 |
uint8_t const | SD_CARD_ERROR_WRITE_PROGRAMMING = 0X14 |
uint8_t const | SD_CARD_ERROR_WRITE_TIMEOUT = 0X15 |
uint8_t const | SD_CARD_ERROR_SCK_RATE = 0X16 |
uint8_t const | SD_CARD_TYPE_SD1 = 1 |
uint8_t const | SD_CARD_TYPE_SD2 = 2 |
uint8_t const | SD_CARD_TYPE_SDHC = 3 |
class Sd2Card | __attribute__ |
Sd2Card class
#define MEGA_SOFT_SPI 0 |
Define MEGA_SOFT_SPI non-zero 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 SD_PROTECT_BLOCK_ZERO 1 |
optimize loops for hardware SPI Protect block zero from write if nonzero
#define USE_SPI_LIB |
USE_SPI_LIB: if set, use the SPI library bundled with Arduino IDE, otherwise run with a standalone driver for AVR.
uint8_t const SD_CARD_ERROR_ACMD23 = 0X07 |
SET_WR_BLK_ERASE_COUNT failed
uint8_t const SD_CARD_ERROR_ACMD41 = 0X08 |
card's ACMD41 initialization process timeout
uint8_t const SD_CARD_ERROR_BAD_CSD = 0X09 |
card returned a bad CSR version field
uint8_t const SD_CARD_ERROR_CMD0 = 0X1 |
timeout error for command CMD0
uint8_t const SD_CARD_ERROR_CMD17 = 0X3 |
card returned an error response for CMD17 (read block)
uint8_t const SD_CARD_ERROR_CMD24 = 0X4 |
card returned an error response for CMD24 (write block)
uint8_t const SD_CARD_ERROR_CMD25 = 0X05 |
WRITE_MULTIPLE_BLOCKS command failed
uint8_t const SD_CARD_ERROR_CMD58 = 0X06 |
card returned an error response for CMD58 (read OCR)
uint8_t const SD_CARD_ERROR_CMD8 = 0X2 |
CMD8 was not accepted - not a valid SD card
uint8_t const SD_CARD_ERROR_ERASE = 0X0A |
erase block group command failed
uint8_t const SD_CARD_ERROR_ERASE_SINGLE_BLOCK = 0X0B |
card not capable of single block erase
uint8_t const SD_CARD_ERROR_ERASE_TIMEOUT = 0X0C |
Erase sequence timed out
uint8_t const SD_CARD_ERROR_READ = 0X0D |
card returned an error token instead of read data
uint8_t const SD_CARD_ERROR_READ_REG = 0X0E |
read CID or CSD failed
uint8_t const SD_CARD_ERROR_READ_TIMEOUT = 0X0F |
timeout while waiting for start of read data
uint8_t const SD_CARD_ERROR_SCK_RATE = 0X16 |
incorrect rate selected
uint8_t const SD_CARD_ERROR_STOP_TRAN = 0X10 |
card did not accept STOP_TRAN_TOKEN
uint8_t const SD_CARD_ERROR_WRITE = 0X11 |
card returned an error token as a response to a write operation
uint8_t const SD_CARD_ERROR_WRITE_BLOCK_ZERO = 0X12 |
attempt to write protected block zero
uint8_t const SD_CARD_ERROR_WRITE_MULTIPLE = 0X13 |
card did not go ready for a multiple block write
uint8_t const SD_CARD_ERROR_WRITE_PROGRAMMING = 0X14 |
card returned an error to a CMD13 status check after a write
uint8_t const SD_CARD_ERROR_WRITE_TIMEOUT = 0X15 |
timeout occurred during write programming
uint8_t const SD_CARD_TYPE_SD1 = 1 |
Standard capacity V1 SD card
uint8_t const SD_CARD_TYPE_SD2 = 2 |
Standard capacity V2 SD card
uint8_t const SD_CARD_TYPE_SDHC = 3 |
High Capacity SD card
uint8_t const SD_CHIP_SELECT_PIN = SS_PIN |
SD Chip Select pin
Warning if this pin is redefined the hardware SS will pin will be enabled as an output by init(). An avr processor will not function as an SPI master unless SS is set to output mode.The default chip select pin for the SD card is SS.
uint16_t const SD_ERASE_TIMEOUT = 10000 |
erase timeout ms
uint16_t const SD_INIT_TIMEOUT = 2000 |
init timeout ms
uint16_t const SD_READ_TIMEOUT = 300 |
read timeout ms
uint16_t const SD_WRITE_TIMEOUT = 600 |
write time out ms
uint8_t const SPI_FULL_SPEED = 0 |
Set SCK to max rate of F_CPU/2. See Sd2Card::setSckRate().
uint8_t const SPI_HALF_SPEED = 1 |
Set SCK rate to F_CPU/4. See Sd2Card::setSckRate().
uint8_t const SPI_MISO_PIN = MISO_PIN |
SPI Master In Slave Out pin
uint8_t const SPI_MOSI_PIN = MOSI_PIN |
SPI Master Out Slave In pin
uint8_t const SPI_QUARTER_SPEED = 2 |
Set SCK rate to F_CPU/8. Sd2Card::setSckRate().
uint8_t const SPI_SCK_PIN = SCK_PIN |
SPI Clock pin