Rev 362 |
Rev 450 |
Go to most recent revision |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
#ifndef _SDC_H
#define _SDC_H
//________________________________________________________________________________________________________________________________________
//
// Functions needed for accessing the sdcard.
//
//________________________________________________________________________________________________________________________________________
typedef enum
{
SD_SUCCESS = 0,
SD_ERROR_NOCARD,
SD_ERROR_RESET,
SD_ERROR_INITIALIZE,
SD_ERROR_BAD_RESPONSE,
SD_ERROR_BAD_VOLTAGE_RANGE,
SD_ERROR_NO_SDCARD,
SD_ERROR_TIMEOUT,
SD_ERROR_CRC_DATA,
SD_ERROR_WRITE_DATA,
SD_ERROR_READ_DATA,
SD_ERROR_SET_BLOCKLEN,
SD_ERROR_UNKNOWN
} SD_Result_t;
SD_Result_t SDC_Init(void);
SD_Result_t SDC_GetSector (u32 ,u8 *);
SD_Result_t SDC_PutSector (u32, const u8 *);
SD_Result_t SDC_Deinit(void);
typedef enum
{
VER_UNKNOWN,
VER_1X,
VER_20
} SDVersion_t;
typedef struct
{
u8 Valid;
SDVersion_t Version; // HW-Version
u32 Capacity; // Memory capacity in bytes
u8 CID[16]; // CID register
u8 CSD[16]; // CSD register
} __attribute__((packed)) SDCardInfo_t;
extern volatile SDCardInfo_t SDCardInfo;
extern u8 SDCardWriteRetryCounterMax;
#endif // _SDC_H