diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2010-07-13 04:32:33 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2010-07-13 04:32:33 +0000 |
commit | ac61b81a0b20b86a4865d5e2802f704ad1075541 (patch) | |
tree | d317751beab3b669d931f9bbff83db8680e510a9 /Projects/TempDataLogger/Lib/FATFs/diskio.h | |
parent | d3e00ce1eca6a7736f30b2e93992d0d5a6161de6 (diff) | |
download | lufa-ac61b81a0b20b86a4865d5e2802f704ad1075541.tar.gz lufa-ac61b81a0b20b86a4865d5e2802f704ad1075541.tar.bz2 lufa-ac61b81a0b20b86a4865d5e2802f704ad1075541.zip |
Add first lot of AVRStudio project files for some of the library projects.
Diffstat (limited to 'Projects/TempDataLogger/Lib/FATFs/diskio.h')
-rw-r--r-- | Projects/TempDataLogger/Lib/FATFs/diskio.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/Projects/TempDataLogger/Lib/FATFs/diskio.h b/Projects/TempDataLogger/Lib/FATFs/diskio.h new file mode 100644 index 000000000..ad126712d --- /dev/null +++ b/Projects/TempDataLogger/Lib/FATFs/diskio.h @@ -0,0 +1,71 @@ +/*----------------------------------------------------------------------- +/ Low level disk interface modlue include file R0.07 (C)ChaN, 2010 +/-----------------------------------------------------------------------*/ + +#ifndef _DISKIO + +#define _READONLY 0 /* 1: Read-only mode */ +#define _USE_IOCTL 1 + +#include "integer.h" + +#include "../DataflashManager.h" + + +/* Status of Disk Functions */ +typedef BYTE DSTATUS; + +/* Results of Disk Functions */ +typedef enum { + RES_OK = 0, /* 0: Successful */ + RES_ERROR, /* 1: R/W Error */ + RES_WRPRT, /* 2: Write Protected */ + RES_NOTRDY, /* 3: Not Ready */ + RES_PARERR /* 4: Invalid Parameter */ +} DRESULT; + + +/*---------------------------------------*/ +/* Prototypes for disk control functions */ + +BOOL assign_drives (int argc, char *argv[]); +DSTATUS disk_initialize (BYTE); +DSTATUS disk_status (BYTE); +DRESULT disk_read (BYTE, BYTE*, DWORD, BYTE); +#if _READONLY == 0 +DRESULT disk_write (BYTE, const BYTE*, DWORD, BYTE); +#endif +DRESULT disk_ioctl (BYTE, BYTE, void*); + + +/* Disk Status Bits (DSTATUS) */ + +#define STA_NOINIT 0x01 /* Drive not initialized */ +#define STA_NODISK 0x02 /* No medium in the drive */ +#define STA_PROTECT 0x04 /* Write protected */ + + +/* Command code for disk_ioctrl() */ + +/* Generic command */ +#define CTRL_SYNC 0 /* Mandatory for write functions */ +#define GET_SECTOR_COUNT 1 /* Mandatory for only f_mkfs() */ +#define GET_SECTOR_SIZE 2 /* Mandatory for multiple sector size cfg */ +#define GET_BLOCK_SIZE 3 /* Mandatory for only f_mkfs() */ +#define CTRL_POWER 4 +#define CTRL_LOCK 5 +#define CTRL_EJECT 6 +/* MMC/SDC command */ +#define MMC_GET_TYPE 10 +#define MMC_GET_CSD 11 +#define MMC_GET_CID 12 +#define MMC_GET_OCR 13 +#define MMC_GET_SDSTAT 14 +/* ATA/CF command */ +#define ATA_GET_REV 20 +#define ATA_GET_MODEL 21 +#define ATA_GET_SN 22 + + +#define _DISKIO +#endif |