Paparazzi UAS
v5.15_devel-230-gc96ce27
Paparazzi is a free software Unmanned Aircraft System.
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
ffconf.h
Go to the documentation of this file.
1
/* CHIBIOS FIX */
2
#include "ch.h"
3
4
/*---------------------------------------------------------------------------/
5
/ FatFs - FAT file system module configuration file
6
/---------------------------------------------------------------------------*/
7
8
#define FFCONF_DEF 87030
/* Revision ID */
9
10
/*---------------------------------------------------------------------------/
11
/ Function Configurations
12
/---------------------------------------------------------------------------*/
13
14
#define FF_FS_READONLY 0
15
/* This option switches read-only configuration. (0:Read/Write or 1:Read-only)
16
/ Read-only configuration removes writing API functions, f_write(), f_sync(),
17
/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree()
18
/ and optional writing functions as well. */
19
20
21
#define FF_FS_MINIMIZE 0
22
/* This option defines minimization level to remove some basic API functions.
23
/
24
/ 0: All basic functions are enabled.
25
/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_truncate() and f_rename()
26
/ are removed.
27
/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1.
28
/ 3: f_lseek() function is removed in addition to 2. */
29
30
31
#define FF_USE_STRFUNC 0
32
/* This option switches string functions, f_gets(), f_putc(), f_puts() and
33
/ f_printf().
34
/
35
/ 0: Disable string functions.
36
/ 1: Enable without LF-CRLF conversion.
37
/ 2: Enable with LF-CRLF conversion. */
38
39
40
#define FF_USE_FIND 1
41
/* This option switches filtered directory read functions, f_findfirst() and
42
/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */
43
44
45
#define FF_USE_MKFS 1
46
/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */
47
48
49
#define FF_USE_FASTSEEK 1
50
/* This option switches fast seek function. (0:Disable or 1:Enable) */
51
52
53
#define FF_USE_EXPAND 1
54
/* This option switches f_expand function. (0:Disable or 1:Enable) */
55
56
57
#define FF_USE_CHMOD 1
58
/* This option switches attribute manipulation functions, f_chmod() and f_utime().
59
/ (0:Disable or 1:Enable) Also FF_FS_READONLY needs to be 0 to enable this option. */
60
61
62
#define FF_USE_LABEL 1
63
/* This option switches volume label functions, f_getlabel() and f_setlabel().
64
/ (0:Disable or 1:Enable) */
65
66
67
#define FF_USE_FORWARD 1
68
/* This option switches f_forward() function. (0:Disable or 1:Enable) */
69
70
71
/*---------------------------------------------------------------------------/
72
/ Locale and Namespace Configurations
73
/---------------------------------------------------------------------------*/
74
75
#define FF_CODE_PAGE 850
76
/* This option specifies the OEM code page to be used on the target system.
77
/ Incorrect setting of the code page can cause a file open failure.
78
/
79
/ 1 - ASCII (No extended character. Non-LFN cfg. only)
80
/ 437 - U.S.
81
/ 720 - Arabic
82
/ 737 - Greek
83
/ 771 - KBL
84
/ 775 - Baltic
85
/ 850 - Latin 1
86
/ 852 - Latin 2
87
/ 855 - Cyrillic
88
/ 857 - Turkish
89
/ 860 - Portuguese
90
/ 861 - Icelandic
91
/ 862 - Hebrew
92
/ 863 - Canadian French
93
/ 864 - Arabic
94
/ 865 - Nordic
95
/ 866 - Russian
96
/ 869 - Greek 2
97
/ 932 - Japanese (DBCS)
98
/ 936 - Simplified Chinese (DBCS)
99
/ 949 - Korean (DBCS)
100
/ 950 - Traditional Chinese (DBCS)
101
*/
102
103
104
#define FF_USE_LFN 3
105
#define FF_MAX_LFN 255
106
/* The FF_USE_LFN switches the support of long file name (LFN).
107
/
108
/ 0: Disable support of LFN. _MAX_LFN has no effect.
109
/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe.
110
/ 2: Enable LFN with dynamic working buffer on the STACK.
111
/ 3: Enable LFN with dynamic working buffer on the HEAP.
112
/
113
/ To enable the LFN, Unicode handling functions (option/unicode.c) must be added
114
/ to the project. The working buffer occupies (_MAX_LFN + 1) * 2 bytes and
115
/ additional 608 bytes at exFAT enabled. _MAX_LFN can be in range from 12 to 255.
116
/ It should be set 255 to support full featured LFN operations.
117
/ When use stack for the working buffer, take care on stack overflow. When use heap
118
/ memory for the working buffer, memory management functions, ff_memalloc() and
119
/ ff_memfree(), must be added to the project. */
120
121
122
#define FF_LFN_UNICODE 0
123
/* This option switches character encoding on the API. (0:ANSI/OEM or 1:UTF-16)
124
/ To use Unicode string for the path name, enable LFN and set _LFN_UNICODE = 1.
125
/ This option also affects behavior of string I/O functions. */
126
127
128
#define FF_STRF_ENCODE 3
129
/* When _LFN_UNICODE == 1, this option selects the character encoding ON THE FILE to
130
/ be read/written via string I/O functions, f_gets(), f_putc(), f_puts and f_printf().
131
/
132
/ 0: ANSI/OEM
133
/ 1: UTF-16LE
134
/ 2: UTF-16BE
135
/ 3: UTF-8
136
/
137
/ This option has no effect when _LFN_UNICODE == 0. */
138
139
140
#define FF_FS_RPATH 1
141
/* This option configures support of relative path.
142
/
143
/ 0: Disable relative path and remove related functions.
144
/ 1: Enable relative path. f_chdir() and f_chdrive() are available.
145
/ 2: f_getcwd() function is available in addition to 1.
146
*/
147
148
149
/*---------------------------------------------------------------------------/
150
/ Drive/Volume Configurations
151
/---------------------------------------------------------------------------*/
152
153
#define FF_VOLUMES 1
154
/* Number of volumes (logical drives) to be used. */
155
156
157
#define FF_STR_VOLUME_ID 0
158
#define FF_VOLUME_STRS "RAM","NAND","CF","SD","SD2","USB","USB2","USB3"
159
/* _STR_VOLUME_ID switches string support of volume ID.
160
/ When _STR_VOLUME_ID is set to 1, also pre-defined strings can be used as drive
161
/ number in the path name. _VOLUME_STRS defines the drive ID strings for each
162
/ logical drives. Number of items must be equal to _VOLUMES. Valid characters for
163
/ the drive ID strings are: A-Z and 0-9. */
164
165
166
#define FF_MULTI_PARTITION 0
167
/* This option switches support of multi-partition on a physical drive.
168
/ By default (0), each logical drive number is bound to the same physical drive
169
/ number and only an FAT volume found on the physical drive will be mounted.
170
/ When multi-partition is enabled (1), each logical drive number can be bound to
171
/ arbitrary physical drive and partition listed in the VolToPart[]. Also f_fdisk()
172
/ funciton will be available. */
173
174
175
#define FF_MIN_SS 512
176
#define FF_MAX_SS 512
177
/* These options configure the range of sector size to be supported. (512, 1024,
178
/ 2048 or 4096) Always set both 512 for most systems, all type of memory cards and
179
/ harddisk. But a larger value may be required for on-board flash memory and some
180
/ type of optical media. When _MAX_SS is larger than _MIN_SS, FatFs is configured
181
/ to variable sector size and GET_SECTOR_SIZE command must be implemented to the
182
/ disk_ioctl() function. */
183
184
185
#define FF_USE_TRIM 0
186
/* This option switches support of ATA-TRIM. (0:Disable or 1:Enable)
187
/ To enable Trim function, also CTRL_TRIM command should be implemented to the
188
/ disk_ioctl() function. */
189
190
191
#define FF_FS_NOFSINFO 0
192
/* If you need to know correct free space on the FAT32 volume, set bit 0 of this
193
/ option, and f_getfree() function at first time after volume mount will force
194
/ a full FAT scan. Bit 1 controls the use of last allocated cluster number.
195
/
196
/ bit0=0: Use free cluster count in the FSINFO if available.
197
/ bit0=1: Do not trust free cluster count in the FSINFO.
198
/ bit1=0: Use last allocated cluster number in the FSINFO if available.
199
/ bit1=1: Do not trust last allocated cluster number in the FSINFO.
200
*/
201
202
203
204
/*---------------------------------------------------------------------------/
205
/ System Configurations
206
/---------------------------------------------------------------------------*/
207
208
#define FF_FS_TINY 0
209
/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny)
210
/ At the tiny configuration, size of file object (FIL) is reduced _MAX_SS bytes.
211
/ Instead of private sector buffer eliminated from the file object, common sector
212
/ buffer in the file system object (FATFS) is used for the file data transfer. */
213
214
215
#define FF_FS_EXFAT 1
216
/* This option switches support of exFAT file system. (0:Disable or 1:Enable)
217
/ When enable exFAT, also LFN needs to be enabled. (FF_USE_LFN >= 1)
218
/ Note that enabling exFAT discards C89 compatibility. */
219
220
221
#define FF_FS_NORTC 0
222
#define FF_NORTC_MON 1
223
#define FF_NORTC_MDAY 1
224
#define FF_NORTC_YEAR 2016
225
/* The option FF_FS_NORTC switches timestamp functiton. If the system does not have
226
/ any RTC function or valid timestamp is not needed, set FF_FS_NORTC = 1 to disable
227
/ the timestamp function. All objects modified by FatFs will have a fixed timestamp
228
/ defined by _NORTC_MON, _NORTC_MDAY and _NORTC_YEAR in local time.
229
/ To enable timestamp function (FF_FS_NORTC = 0), get_fattime() function need to be
230
/ added to the project to get current time form real-time clock. _NORTC_MON,
231
/ _NORTC_MDAY and _NORTC_YEAR have no effect.
232
/ These options have no effect at read-only configuration (FF_FS_READONLY = 1). */
233
234
235
#define FF_FS_LOCK 0
236
/* The option FF_FS_LOCK switches file lock function to control duplicated file open
237
/ and illegal operation to open objects. This option must be 0 when FF_FS_READONLY
238
/ is 1.
239
/
240
/ 0: Disable file lock function. To avoid volume corruption, application program
241
/ should avoid illegal open, remove and rename to the open objects.
242
/ >0: Enable file lock function. The value defines how many files/sub-directories
243
/ can be opened simultaneously under file lock control. Note that the file
244
/ lock control is independent of re-entrancy. */
245
246
247
#define FF_FS_REENTRANT 1
248
#define FF_FS_TIMEOUT TIME_MS2I(1000)
249
#define FF_SYNC_t semaphore_t*
250
/* The option FF_FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs
251
/ module itself. Note that regardless of this option, file access to different
252
/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs()
253
/ and f_fdisk() function, are always not re-entrant. Only file/directory access
254
/ to the same volume is under control of this function.
255
/
256
/ 0: Disable re-entrancy. FF_FS_TIMEOUT and _SYNC_t have no effect.
257
/ 1: Enable re-entrancy. Also user provided synchronization handlers,
258
/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj()
259
/ function, must be added to the project. Samples are available in
260
/ option/syscall.c.
261
/
262
/ The FF_FS_TIMEOUT defines timeout period in unit of time tick.
263
/ The _SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*,
264
/ SemaphoreHandle_t and etc.. A header file for O/S definitions needs to be
265
/ included somewhere in the scope of ff.h. */
266
267
/* #include <windows.h> // O/S definitions */
268
269
270
/*--- End of configuration options ---*/
sw
airborne
boards
px4fmu
chibios
v4.0
ffconf.h
Generated on Wed Feb 10 2021 04:33:56 for Paparazzi UAS by
1.8.8