Legacy fatfs code being ported to ESP-IDF may use `f_gets()`, `f_puts()`,
`f_putc()`, and `f_printf()` calls, but the define `FF_USE_STRFUNC` is set to 0
without Kconfig options to enable it.
This commit retains the existing default behavior of `FF_USE_STRFUNC=0` and
adds Kconfig settings so users can configure `FF_USE_STRFUNC` and the related
`FF_PRINT_LLI`, `FF_PRINT_FLOAT`, and `FF_STRF_ENCODE` if needed.
Closes: https://github.com/espressif/esp-idf/issues/13350
Signed-off-by: Eric Wheeler <esp-idf@z.ewheeler.org>
Enables setting a custom st_blksize in fatfs vfs fstat function.
Directly affects file buffer size for fatfs.
Increasing the value helps with fread and fgets speeds, however increases heap usage.
Added info to docs about improving I/O performance.
This commit adds character encoding configurations in for the fatfs component.
The FF_LFN_UNICODE definition in ffconf.h can now be changed to accept UTF-8 or
UTF-16 encoded filernames. Test cases using UTF-8 encoded file paths and names in
FatFs have also been added.
Closes#1183
- Remove ASCII-only configuration, CP437 is used instead
- Add dynamic code page configuration
See components/fatfs/src/00history.txt for FATFS changelog.
- _FS_TINY: disables per-file caches
- _FS_TIMEOUT: locking timeout for concurrent access
- _FS_LOCK: prevents operations which are not allowed on open files
Also sets _MAX_SS based on sector size configured for wear_levelling.
This reduces memory usage of FATFS if wear_levelling is using 512 byte
sectors.