1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- /*-----------------------------------------------------------------------*/
- /* 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);
- }
|