diff options
Diffstat (limited to 'Projects/TempDataLogger/Lib/FATFs/diskio.c')
| -rw-r--r-- | Projects/TempDataLogger/Lib/FATFs/diskio.c | 98 | 
1 files changed, 98 insertions, 0 deletions
| diff --git a/Projects/TempDataLogger/Lib/FATFs/diskio.c b/Projects/TempDataLogger/Lib/FATFs/diskio.c new file mode 100644 index 0000000000..8cc8cd4049 --- /dev/null +++ b/Projects/TempDataLogger/Lib/FATFs/diskio.c @@ -0,0 +1,98 @@ +/*-----------------------------------------------------------------------*/ +/* Low level disk I/O module skeleton for FatFs     (C)ChaN, 2007        */ +/*-----------------------------------------------------------------------*/ +/* This is a stub disk I/O module that acts as front end of the existing */ +/* disk I/O modules and attach it to FatFs module with common interface. */ +/*-----------------------------------------------------------------------*/ + +#include "diskio.h" + +/*-----------------------------------------------------------------------*/ +/* Initialize a Drive                                                    */ + +DSTATUS disk_initialize ( +	BYTE drv				/* Physical drive number (0..) */ +) +{ +	return FR_OK; +} + + + +/*-----------------------------------------------------------------------*/ +/* Return Disk Status                                                    */ + +DSTATUS disk_status ( +	BYTE drv		/* Physical drive number (0..) */ +) +{ +	return FR_OK; +} + + + +/*-----------------------------------------------------------------------*/ +/* Read Sector(s)                                                        */ + +DRESULT disk_read ( +	BYTE drv,		/* Physical drive number (0..) */ +	BYTE *buff,		/* Data buffer to store read data */ +	DWORD sector,	/* Sector address (LBA) */ +	BYTE count		/* Number of sectors to read (1..128) */ +) +{ +	DataflashManager_ReadBlocks_RAM(sector, count, buff); +	return RES_OK; +} + + + +/*-----------------------------------------------------------------------*/ +/* Write Sector(s)                                                       */ + +#if _READONLY == 0 +DRESULT disk_write ( +	BYTE drv,			/* Physical drive number (0..) */ +	const BYTE *buff,	/* Data to be written */ +	DWORD sector,		/* Sector address (LBA) */ +	BYTE count			/* Number of sectors to write (1..128) */ +) +{ +	DataflashManager_WriteBlocks_RAM(sector, count, buff); +	return RES_OK; +} +#endif /* _READONLY */ + + + +/*-----------------------------------------------------------------------*/ +/* Miscellaneous Functions                                               */ + +DRESULT disk_ioctl ( +	BYTE drv,		/* Physical drive number (0..) */ +	BYTE ctrl,		/* Control code */ +	void *buff		/* Buffer to send/receive control data */ +) +{ +	if (ctrl == CTRL_SYNC) +	  return RES_OK; +	else +	  return RES_PARERR; +} + + +DWORD get_fattime (void) +{ +	TimeDate_t CurrTimeDate; + +	RTC_GetTimeDate(&CurrTimeDate); + + +	return ((DWORD)(20 + CurrTimeDate.Year) << 25) | +	             ((DWORD)CurrTimeDate.Month << 21) | +	               ((DWORD)CurrTimeDate.Day << 16) | +	              ((DWORD)CurrTimeDate.Hour << 11) | +	             ((DWORD)CurrTimeDate.Minute << 5) | +	      (((DWORD)CurrTimeDate.Second >> 1) << 0); +} + | 
