Soldered SD Card Arduino Library 1.0.0
Easily read and write files to and form the SD card breakout! A fork of the original SDFat library by Bill Greiman.
Loading...
Searching...
No Matches
SdioCard.h
Go to the documentation of this file.
1
25#ifndef SdioCard_h
26#define SdioCard_h
27#include "../common/SysCall.h"
28#include "SdCardInterface.h"
29
30#define FIFO_SDIO 0
31#define DMA_SDIO 1
37{
38 public:
40 {
41 }
46 explicit SdioConfig(uint8_t opt) : m_options(opt)
47 {
48 }
50 uint8_t options()
51 {
52 return m_options;
53 }
55 bool useDma()
56 {
57 return m_options & DMA_SDIO;
58 }
59
60 private:
61 uint8_t m_options = FIFO_SDIO;
62};
63//------------------------------------------------------------------------------
69{
70 public:
75 bool begin(SdioConfig sdioConfig);
79 bool end()
80 {
81 return false;
82 }
83
84#ifndef DOXYGEN_SHOULD_SKIP_THIS
85 // Use sectorCount(). cardSize() will be removed in the future.
86 uint32_t cardSize() __attribute__((deprecated))
87 {
88 return sectorCount();
89 }
90#endif // DOXYGEN_SHOULD_SKIP_THIS
103 bool erase(uint32_t firstSector, uint32_t lastSector);
107 uint8_t errorCode() const;
109 uint32_t errorData() const;
111 uint32_t errorLine() const;
117 bool isBusy();
119 uint32_t kHzSdClk();
127 bool readSector(uint32_t sector, uint8_t *dst);
136 bool readSectors(uint32_t sector, uint8_t *dst, size_t ns);
146 bool readCID(cid_t *cid);
155 bool readCSD(csd_t *csd);
162 bool readData(uint8_t *dst);
168 bool readOCR(uint32_t *ocr);
178 bool readStart(uint32_t sector);
188 bool readStart(uint32_t sector, uint32_t count);
193 bool readStop();
195 uint32_t status();
202 uint32_t sectorCount();
210 bool stopTransmission(bool blocking);
212 bool syncDevice();
216 uint8_t type() const;
224 bool writeSector(uint32_t sector, const uint8_t *src);
233 bool writeSectors(uint32_t sector, const uint8_t *src, size_t ns);
238 bool writeData(const uint8_t *src);
248 bool writeStart(uint32_t sector);
258 bool writeStart(uint32_t sector, uint32_t count);
259
264 bool writeStop();
265
266 private:
267 static const uint8_t IDLE_STATE = 0;
268 static const uint8_t READ_STATE = 1;
269 static const uint8_t WRITE_STATE = 2;
270 uint32_t m_curSector;
273};
274#endif // SdioCard_h
union csd_t __attribute__
Abstract interface for an SD card.
Definition SdCardInterface.h:34
Raw SDIO access to SD and SDHC flash memory cards.
Definition SdioCard.h:69
uint8_t m_curState
Definition SdioCard.h:272
bool syncDevice()
Definition SdioTeensy.cpp:1131
uint8_t errorCode() const
Definition SdioTeensy.cpp:874
bool readSectors(uint32_t sector, uint8_t *dst, size_t ns)
Definition SdioTeensy.cpp:1040
bool writeStart(uint32_t sector)
Definition SdioTeensy.cpp:1319
static const uint8_t READ_STATE
Definition SdioCard.h:268
uint8_t type() const
Definition SdioTeensy.cpp:1163
bool readCID(cid_t *cid)
Definition SdioTeensy.cpp:929
uint32_t cardSize() __attribute__((deprecated))
Definition SdioCard.h:86
uint32_t m_curSector
Definition SdioCard.h:270
uint32_t kHzSdClk()
Definition SdioTeensy.cpp:924
uint32_t errorLine() const
Definition SdioTeensy.cpp:884
static const uint8_t IDLE_STATE
Definition SdioCard.h:267
uint32_t sectorCount()
Definition SdioTeensy.cpp:1102
bool readStart(uint32_t sector, uint32_t count)
bool writeSectors(uint32_t sector, const uint8_t *src, size_t ns)
Definition SdioTeensy.cpp:1285
bool isBusy()
Definition SdioTeensy.cpp:889
uint32_t status()
Definition SdioTeensy.cpp:1107
bool readStop()
Definition SdioTeensy.cpp:1097
bool stopTransmission(bool blocking)
Definition SdioTeensy.cpp:1112
bool readCSD(csd_t *csd)
Definition SdioTeensy.cpp:935
bool writeSector(uint32_t sector, const uint8_t *src)
Definition SdioTeensy.cpp:1213
bool readSector(uint32_t sector, uint8_t *dst)
Definition SdioTeensy.cpp:984
bool writeStart(uint32_t sector, uint32_t count)
bool writeData(const uint8_t *src)
Definition SdioTeensy.cpp:1168
uint32_t errorData() const
Definition SdioTeensy.cpp:879
bool readData(uint8_t *dst)
Definition SdioTeensy.cpp:941
bool readStart(uint32_t sector)
Definition SdioTeensy.cpp:1074
SdioConfig m_sdioConfig
Definition SdioCard.h:271
static const uint8_t WRITE_STATE
Definition SdioCard.h:269
bool writeStop()
Definition SdioTeensy.cpp:1341
bool readOCR(uint32_t *ocr)
Definition SdioTeensy.cpp:978
bool end()
Definition SdioCard.h:79
bool begin(SdioConfig sdioConfig)
Definition SdioTeensy.cpp:730
SDIO card configuration.
Definition SdioCard.h:37
bool useDma()
Definition SdioCard.h:55
SdioConfig(uint8_t opt)
Definition SdioCard.h:46
SdioConfig()
Definition SdioCard.h:39
uint8_t options()
Definition SdioCard.h:50
uint8_t m_options
Definition SdioCard.h:61
Union of old and new style CSD register.
Definition SdCardInfo.h:454