]> git.donarmstrong.com Git - qmk_firmware.git/blob - tmk_core/protocol/lufa/LUFA-git/Projects/TempDataLogger/Lib/FATFs/diskio.c
Merge commit 'f6d56675f9f981c5464f0ca7a1fbb0162154e8c5'
[qmk_firmware.git] / tmk_core / protocol / lufa / LUFA-git / Projects / TempDataLogger / Lib / FATFs / diskio.c
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 /*-----------------------------------------------------------------------*/
7
8 #include "diskio.h"
9
10 /*-----------------------------------------------------------------------*/
11 /* Initialize a Drive                                                    */
12
13 DSTATUS disk_initialize (
14         BYTE drv                                /* Physical drive number (0..) */
15 )
16 {
17         return FR_OK;
18 }
19
20
21
22 /*-----------------------------------------------------------------------*/
23 /* Return Disk Status                                                    */
24
25 DSTATUS disk_status (
26         BYTE drv                /* Physical drive number (0..) */
27 )
28 {
29         return FR_OK;
30 }
31
32
33
34 /*-----------------------------------------------------------------------*/
35 /* Read Sector(s)                                                        */
36
37 DRESULT disk_read (
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..128) */
42 )
43 {
44         DataflashManager_ReadBlocks_RAM(sector, count, buff);
45         return RES_OK;
46 }
47
48
49
50 /*-----------------------------------------------------------------------*/
51 /* Write Sector(s)                                                       */
52
53 #if _READONLY == 0
54 DRESULT disk_write (
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..128) */
59 )
60 {
61         DataflashManager_WriteBlocks_RAM(sector, count, buff);
62         return RES_OK;
63 }
64 #endif /* _READONLY */
65
66
67
68 /*-----------------------------------------------------------------------*/
69 /* Miscellaneous Functions                                               */
70
71 DRESULT disk_ioctl (
72         BYTE drv,               /* Physical drive number (0..) */
73         BYTE ctrl,              /* Control code */
74         void *buff              /* Buffer to send/receive control data */
75 )
76 {
77         if (ctrl == CTRL_SYNC)
78           return RES_OK;
79         else
80           return RES_PARERR;
81 }
82
83
84 DWORD get_fattime (void)
85 {
86         TimeDate_t CurrTimeDate;
87
88         RTC_GetTimeDate(&CurrTimeDate);
89
90
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);
97 }
98