1 /*-----------------------------------------------------------------------*/ 
   2 /* Low level disk I/O module skeleton for FatFs     (C)ChaN, 2007        */ 
   3 /*-----------------------------------------------------------------------*/ 
   4 /* This is a stub disk I/O module that acts as front end of the existing */ 
   5 /* disk I/O modules and attach it to FatFs module with common interface. */ 
   6 /*-----------------------------------------------------------------------*/ 
  10 /*-----------------------------------------------------------------------*/ 
  11 /* Initialize a Drive                                                    */ 
  13 DSTATUS 
disk_initialize ( 
  14         BYTE drv                                
/* Physical drive number (0..) */ 
  22 /*-----------------------------------------------------------------------*/ 
  23 /* Return Disk Status                                                    */ 
  26         BYTE drv                
/* Physical drive number (0..) */ 
  34 /*-----------------------------------------------------------------------*/ 
  38         BYTE drv
,               /* Physical drive number (0..) */ 
  39         BYTE 
*buff
,             /* Data buffer to store read data */ 
  40         DWORD sector
,   /* Sector address (LBA) */ 
  41         BYTE count              
/* Number of sectors to read (1..255) */ 
  44         DataflashManager_ReadBlocks_RAM(sector
, count
, buff
); 
  50 /*-----------------------------------------------------------------------*/ 
  55         BYTE drv
,                       /* Physical drive number (0..) */ 
  56         const BYTE 
*buff
,       /* Data to be written */ 
  57         DWORD sector
,           /* Sector address (LBA) */ 
  58         BYTE count                      
/* Number of sectors to write (1..255) */ 
  61         DataflashManager_WriteBlocks_RAM(sector
, count
, buff
); 
  64 #endif /* _READONLY */ 
  68 /*-----------------------------------------------------------------------*/ 
  69 /* Miscellaneous Functions                                               */ 
  72         BYTE drv
,               /* Physical drive number (0..) */ 
  73         BYTE ctrl
,              /* Control code */ 
  74         void *buff              
/* Buffer to send/receive control data */ 
  77         if (ctrl 
== CTRL_SYNC
) 
  84 DWORD 
get_fattime (void) 
  86         TimeDate_t CurrTimeDate
; 
  88         DS1307_GetTimeDate(&CurrTimeDate
); 
  91         return ((DWORD
)(20 + CurrTimeDate
.Year
) << 25) | 
  92                      ((DWORD
)CurrTimeDate
.Month 
<< 21) | 
  93                        ((DWORD
)CurrTimeDate
.Day 
<< 16) | 
  94                       ((DWORD
)CurrTimeDate
.Hour 
<< 11) | 
  95                      ((DWORD
)CurrTimeDate
.Minute 
<< 5) | 
  96               (((DWORD
)CurrTimeDate
.Second 
>> 1) << 0);