You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							68 lines
						
					
					
						
							1.7 KiB
						
					
					
				
			
		
		
	
	
							68 lines
						
					
					
						
							1.7 KiB
						
					
					
				| /*-----------------------------------------------------------------------
 | |
| /  Low level disk interface module include file
 | |
| /-----------------------------------------------------------------------*/
 | |
| 
 | |
| #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 */
 | |
| 
 | |
| 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 */
 | |
| 
 | |
| /* 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
 | |
| 
 |