updated chan_fatfs

Dependents:   HARP2 HARP3

Fork of chan_fatfs by Eli Hughes

Committer:
tylerjw
Date:
Fri Dec 28 17:12:02 2012 +0000
Revision:
8:1f9748c6b865
Parent:
3:68eaafe726ac
Added f_size() macro, not tested!!!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
emh203 1:68378811b1e2 1 /*-----------------------------------------------------------------------
emh203 1:68378811b1e2 2 / Low level disk interface modlue include file R0.07 (C)ChaN, 2009
emh203 1:68378811b1e2 3 /-----------------------------------------------------------------------*/
emh203 1:68378811b1e2 4
emh203 1:68378811b1e2 5 #ifndef _DISKIO
emh203 1:68378811b1e2 6
emh203 1:68378811b1e2 7 #define _READONLY 0 /* 1: Read-only mode */
emh203 1:68378811b1e2 8 #define _USE_IOCTL 1
emh203 1:68378811b1e2 9
emh203 1:68378811b1e2 10 #include "integer.h"
emh203 1:68378811b1e2 11
emh203 1:68378811b1e2 12 /* Status of Disk Functions */
emh203 1:68378811b1e2 13 typedef BYTE DSTATUS;
emh203 1:68378811b1e2 14
emh203 1:68378811b1e2 15 /* Results of Disk Functions */
emh203 1:68378811b1e2 16 typedef enum {
emh203 1:68378811b1e2 17 RES_OK = 0, /* 0: Successful */
emh203 1:68378811b1e2 18 RES_ERROR, /* 1: R/W Error */
emh203 1:68378811b1e2 19 RES_WRPRT, /* 2: Write Protected */
emh203 1:68378811b1e2 20 RES_NOTRDY, /* 3: Not Ready */
emh203 1:68378811b1e2 21 RES_PARERR /* 4: Invalid Parameter */
emh203 1:68378811b1e2 22 } DRESULT;
emh203 1:68378811b1e2 23
emh203 1:68378811b1e2 24
emh203 1:68378811b1e2 25 /*---------------------------------------*/
emh203 1:68378811b1e2 26 /* Prototypes for disk control functions */
emh203 1:68378811b1e2 27
tylerjw 3:68eaafe726ac 28 extern bool assign_drives (int argc, char *argv[]);
emh203 1:68378811b1e2 29 extern DSTATUS disk_initialize (BYTE);
emh203 1:68378811b1e2 30 extern DSTATUS disk_status (BYTE);
emh203 1:68378811b1e2 31 extern DRESULT disk_read (BYTE, BYTE*, DWORD, BYTE);
emh203 1:68378811b1e2 32 extern DRESULT disk_write (BYTE, const BYTE*, DWORD, BYTE);
emh203 1:68378811b1e2 33 extern DRESULT disk_ioctl (BYTE, BYTE, void*);
emh203 1:68378811b1e2 34
tylerjw 2:e8cd708f09ff 35 extern int _sd_sectors(void);
emh203 1:68378811b1e2 36
emh203 1:68378811b1e2 37
emh203 1:68378811b1e2 38 /* Disk Status Bits (DSTATUS) */
emh203 1:68378811b1e2 39
emh203 1:68378811b1e2 40 #define STA_NOINIT 0x01 /* Drive not initialized */
emh203 1:68378811b1e2 41 #define STA_NODISK 0x02 /* No medium in the drive */
emh203 1:68378811b1e2 42 #define STA_PROTECT 0x04 /* Write protected */
emh203 1:68378811b1e2 43
emh203 1:68378811b1e2 44
emh203 1:68378811b1e2 45 /* Command code for disk_ioctrl() */
emh203 1:68378811b1e2 46
emh203 1:68378811b1e2 47 /* Generic command */
emh203 1:68378811b1e2 48 #define CTRL_SYNC 0 /* Mandatory for write functions */
emh203 1:68378811b1e2 49 #define GET_SECTOR_COUNT 1 /* Mandatory for only f_mkfs() */
emh203 1:68378811b1e2 50 #define GET_SECTOR_SIZE 2 /* Mandatory for multiple sector size cfg */
emh203 1:68378811b1e2 51 #define GET_BLOCK_SIZE 3 /* Mandatory for only f_mkfs() */
emh203 1:68378811b1e2 52 #define CTRL_POWER 4
emh203 1:68378811b1e2 53 #define CTRL_LOCK 5
emh203 1:68378811b1e2 54 #define CTRL_EJECT 6
emh203 1:68378811b1e2 55 /* MMC/SDC command */
emh203 1:68378811b1e2 56 #define MMC_GET_TYPE 10
emh203 1:68378811b1e2 57 #define MMC_GET_CSD 11
emh203 1:68378811b1e2 58 #define MMC_GET_CID 12
emh203 1:68378811b1e2 59 #define MMC_GET_OCR 13
emh203 1:68378811b1e2 60 #define MMC_GET_SDSTAT 14
emh203 1:68378811b1e2 61 /* ATA/CF command */
emh203 1:68378811b1e2 62 #define ATA_GET_REV 20
emh203 1:68378811b1e2 63 #define ATA_GET_MODEL 21
emh203 1:68378811b1e2 64 #define ATA_GET_SN 22
emh203 1:68378811b1e2 65
emh203 1:68378811b1e2 66
emh203 1:68378811b1e2 67 #define _DISKIO
emh203 1:68378811b1e2 68 #endif