|
|
@@ -30,11 +30,11 @@
|
|
|
/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */
|
|
|
|
|
|
|
|
|
-#define FF_USE_MKFS 0
|
|
|
+#define FF_USE_MKFS 1
|
|
|
/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */
|
|
|
|
|
|
|
|
|
-#define FF_USE_FASTSEEK 0
|
|
|
+#define FF_USE_FASTSEEK 1
|
|
|
/* This option switches fast seek function. (0:Disable or 1:Enable) */
|
|
|
|
|
|
|
|
|
@@ -57,8 +57,8 @@
|
|
|
|
|
|
|
|
|
#define FF_USE_STRFUNC 0
|
|
|
-#define FF_PRINT_LLI 1
|
|
|
-#define FF_PRINT_FLOAT 1
|
|
|
+#define FF_PRINT_LLI 0
|
|
|
+#define FF_PRINT_FLOAT 0
|
|
|
#define FF_STRF_ENCODE 3
|
|
|
/* FF_USE_STRFUNC switches string functions, f_gets(), f_putc(), f_puts() and
|
|
|
/ f_printf().
|
|
|
@@ -84,7 +84,11 @@
|
|
|
/ Locale and Namespace Configurations
|
|
|
/---------------------------------------------------------------------------*/
|
|
|
|
|
|
-#define FF_CODE_PAGE 932
|
|
|
+#ifdef RT_DFS_ELM_CODE_PAGE
|
|
|
+# define FF_CODE_PAGE RT_DFS_ELM_CODE_PAGE
|
|
|
+#else
|
|
|
+# define FF_CODE_PAGE 936
|
|
|
+#endif
|
|
|
/* This option specifies the OEM code page to be used on the target system.
|
|
|
/ Incorrect code page setting can cause a file open failure.
|
|
|
/
|
|
|
@@ -113,8 +117,13 @@
|
|
|
*/
|
|
|
|
|
|
|
|
|
-#define FF_USE_LFN 0
|
|
|
-#define FF_MAX_LFN 255
|
|
|
+#if RT_DFS_ELM_USE_LFN
|
|
|
+#define FF_USE_LFN RT_DFS_ELM_USE_LFN
|
|
|
+#define FF_MAX_LFN RT_DFS_ELM_MAX_LFN
|
|
|
+#else
|
|
|
+#define FF_USE_LFN 0 /* 0 to 3 */
|
|
|
+#define FF_MAX_LFN 255 /* Maximum LFN length to handle (12 to 255) */
|
|
|
+#endif
|
|
|
/* The FF_USE_LFN switches the support for LFN (long file name).
|
|
|
/
|
|
|
/ 0: Disable LFN. FF_MAX_LFN has no effect.
|
|
|
@@ -133,7 +142,20 @@
|
|
|
/ ff_memfree() exemplified in ffsystem.c, need to be added to the project. */
|
|
|
|
|
|
|
|
|
-#define FF_LFN_UNICODE 0
|
|
|
+#ifdef RT_DFS_ELM_LFN_UNICODE
|
|
|
+/* This option switches the character encoding on the API when LFN is enabled.
|
|
|
+/
|
|
|
+/ 0: ANSI/OEM in current CP (TCHAR = char)
|
|
|
+/ 1: Unicode in UTF-16 (TCHAR = WCHAR)
|
|
|
+/ 2: Unicode in UTF-8 (TCHAR = char)
|
|
|
+/ 3: Unicode in UTF-32 (TCHAR = DWORD)
|
|
|
+/
|
|
|
+/ Also behavior of string I/O functions will be affected by this option.
|
|
|
+/ When LFN is not enabled, this option has no effect. */
|
|
|
+#define FF_LFN_UNICODE RT_DFS_ELM_LFN_UNICODE /* 0:ANSI/OEM or 1:Unicode */
|
|
|
+#else
|
|
|
+#define FF_LFN_UNICODE 0 /* 0:ANSI/OEM or 1:Unicode */
|
|
|
+#endif
|
|
|
/* This option switches the character encoding on the API when LFN is enabled.
|
|
|
/
|
|
|
/ 0: ANSI/OEM in current CP (TCHAR = char)
|
|
|
@@ -166,7 +188,11 @@
|
|
|
/ Drive/Volume Configurations
|
|
|
/---------------------------------------------------------------------------*/
|
|
|
|
|
|
-#define FF_VOLUMES 1
|
|
|
+#ifdef RT_DFS_ELM_DRIVES
|
|
|
+#define FF_VOLUMES RT_DFS_ELM_DRIVES
|
|
|
+#else
|
|
|
+#define FF_VOLUMES 1
|
|
|
+#endif
|
|
|
/* Number of volumes (logical drives) to be used. (1-10) */
|
|
|
|
|
|
|
|
|
@@ -194,7 +220,11 @@
|
|
|
|
|
|
|
|
|
#define FF_MIN_SS 512
|
|
|
-#define FF_MAX_SS 512
|
|
|
+#ifdef RT_DFS_ELM_MAX_SECTOR_SIZE
|
|
|
+#define FF_MAX_SS RT_DFS_ELM_MAX_SECTOR_SIZE
|
|
|
+#else
|
|
|
+#define FF_MAX_SS 512 /* 512, 1024, 2048 or 4096 */
|
|
|
+#endif
|
|
|
/* This set of options configures the range of sector size to be supported. (512,
|
|
|
/ 1024, 2048 or 4096) Always set both 512 for most systems, generic memory card and
|
|
|
/ harddisk, but a larger value may be required for on-board flash memory and some
|
|
|
@@ -230,8 +260,11 @@
|
|
|
/ Instead of private sector buffer eliminated from the file object, common sector
|
|
|
/ buffer in the filesystem object (FATFS) is used for the file data transfer. */
|
|
|
|
|
|
-
|
|
|
-#define FF_FS_EXFAT 0
|
|
|
+#ifdef RT_DFS_ELM_USE_EXFAT
|
|
|
+#define FF_FS_EXFAT 1
|
|
|
+#else
|
|
|
+#define FF_FS_EXFAT 0
|
|
|
+#endif
|
|
|
/* This option switches support for exFAT filesystem. (0:Disable or 1:Enable)
|
|
|
/ To enable exFAT, also LFN needs to be enabled. (FF_USE_LFN >= 1)
|
|
|
/ Note that enabling exFAT discards ANSI C (C89) compatibility. */
|
|
|
@@ -275,8 +308,18 @@
|
|
|
/ lock control is independent of re-entrancy. */
|
|
|
|
|
|
|
|
|
-#define FF_FS_REENTRANT 0
|
|
|
-#define FF_FS_TIMEOUT 1000
|
|
|
+/* #include <somertos.h> // O/S definitions */
|
|
|
+#include <rtdef.h>
|
|
|
+#ifdef RT_DFS_ELM_REENTRANT
|
|
|
+#define FF_FS_REENTRANT 1 /* 0 or 1 */
|
|
|
+#else
|
|
|
+#define FF_FS_REENTRANT 0 /* 0:Disable or 1:Enable */
|
|
|
+#endif
|
|
|
+#ifndef RT_DFS_ELM_MUTEX_TIMEOUT
|
|
|
+#define RT_DFS_ELM_MUTEX_TIMEOUT 3000
|
|
|
+#endif
|
|
|
+#define FF_FS_TIMEOUT RT_DFS_ELM_MUTEX_TIMEOUT
|
|
|
+//#define FF_SYNC_t rt_mutex_t
|
|
|
/* The option FF_FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs
|
|
|
/ module itself. Note that regardless of this option, file access to different
|
|
|
/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs()
|