Commit Graph

230 Commits

Author SHA1 Message Date
Adam Múdry 567cf951bd fix(vfs): FATFS mount immediately after format if mount failed 2024-07-26 17:59:56 +02:00
Tomáš Rohlínek 3404830524 fix(storage/fatfs): make wl_fatfsgen.py safe mode aware 2024-03-19 13:59:33 +01:00
Tomáš Rohlínek cf3ebb9012 fix(storage/fatfs): check whether sdcard supports triming
Closes https://github.com/espressif/esp-idf/issues/12912
2024-01-08 09:35:24 +01:00
Roland Dobai 792e27d7b1 Merge branch 'feature/add_fatfs_sbom_v5.0' into 'release/v5.0'
feat(storage/fatfs): add sbom file manifest for FatFs (v5.0)

See merge request espressif/esp-idf!27481
2023-12-19 16:47:01 +08:00
Tomas Rohlinek ec8b402046 feat(storage/fatfs): add sbom file manifest for FatFs (v5.0) 2023-12-19 16:47:01 +08:00
Roland Dobai 53bebcade5 fix(tools): Fix fatfsgen construct exception type and dependency
construct=2.10.70 fixed an issue
(https://github.com/construct/construct/commit/c3866e949216112e8bdbeb23349ee3e958f9f461)
and StringError is raised instead of UnicodeDecodeError.
2023-12-04 17:24:46 +01:00
Michal Jenikovsky b1e5ef2c47 fatfs: raw diskio: Fixed handling read-only filesystem
ff_ routines incorrectly reported disk state and caused whole fatfs
to lock-up when trying to write to read-only device.

Signed-off-by: Michal Jenikovsky <jendo@jmsystems.sk>
2023-11-02 02:19:09 +00:00
Adam Múdry 556816423c docs(fatfs): Move mentioned APIs to a separate API reference section 2023-08-14 12:59:08 +02:00
Marius Vikhammer 124a43e9ec build-system: replace ADDITIONAL_MAKE_CLEAN_FILES with ADDITIONAL_CLEAN_FILES
ADDITIONAL_MAKE_CLEAN_FILES is deprecated and only worked with make.
Replaced with the new ADDITIONAL_CLEAN_FILES (CMake 3.15) which also works with ninja.
2023-05-10 09:56:15 +08:00
Martin Vychodil af81bd1b0a Storage: Partition APIs moved to the new component 'esp_partition'
All the partition handling API functions and data-types were moved from the 'spi_flash' component to the new one named 'esp_partition'. See Storage 5.x migration guide for more details
2022-11-02 21:49:08 +01:00
Martin Gaňo ca5bc94c27 fatfsgen.py: enabled 512 sized sectors 2022-10-03 09:33:15 +00:00
Ivan Grokhotkov 401c10ecfb build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00
Martin Gaňo 2d173c0777 fatfsgen.py: enabled extension of the FAT table
Closes IDF-5688
2022-08-01 20:29:02 +02:00
Martin Gaňo d56e692f2f fatfsgen.py: Speedup FAT cluster allocation in fatfsgen.py
Closes IDF-5243
2022-07-28 01:37:39 +02:00
Martin Gaňo 2ddcda29b3 fatfsparse.py: Add support for WL 2022-07-26 14:50:07 +02:00
Martin Vychodil 8def7b3e55 Merge branch 'contrib/github_pr_9361' into 'master'
Change placeholder in ESP_LOGD conditionally depending on FF_FS_EXFAT (GitHub PR)

Closes IDFGH-7832 and IDFGH-7735

See merge request espressif/esp-idf!19111
2022-07-24 16:49:22 +08:00
John aaf35889b6 Change placeholder in ESP_LOGD conditionally depending on FF_FS_EXFAT
In case of using EXFAT by setting in ffconf.h:
the type FSIZE_t is changing from 4 to 8 bytes.

As a result,  ESP_LOGD() in vfs_fat_lseek() does not compile:
error: format '%d' expects argument of type 'int', but argument 8 has type 'FSIZE_t' {aka 'long long unsigned int'} [-Werror=format=]
     ESP_LOGD(TAG, "%s: offset=%ld, filesize:=%d", __func__, new_pos, f_size(file));

To solve the problem we need to change %d with %lld conditionally, depending on FF_FS_EXFAT.

Closes https://github.com/espressif/esp-idf/pull/9361
2022-07-22 16:52:14 +01:00
Darian Leung 781d06af73 esp_hw_support: Remove compare_set.h API
This function removes the following legacy atomic CAS functions:

From compare_set.h (file removed):
- compare_and_set_native()
- compare_and_set_extram()

From portmacro.h
- uxPortCompareSet()
- uxPortCompareSetExtram()

Users should call esp_cpu_compare_and_set() instead as this function hides the details
of atomic CAS on internal and external RAM addresses.

Due to the removal of compare_set.h, some missing header includes are also fixed in this commit.
2022-07-22 00:06:06 +08:00
David Cermak 5c383d7b73 esp_netif/lwip: Fix deps cycles to "lwip -> esp_netif -> phy-drivers"
Fix dependency tree so that lwip doesn't depend on any specific network
interface component.
Network interface drivers shall depend on esp_netif.
esp_netif shall depend on lwip (but not on any specific interface
driver) -- it optionally depends on vfs and esp_eth (need ethernet
header for L2/bridge mode)
2022-07-20 14:59:07 +02:00
Jakob Hasse daacc19149 Merge branch 'bugfix/fatfs_spiffs_vfs_dep' into 'master'
fatfs, spiffs: add missing dependency on vfs

See merge request espressif/esp-idf!18613
2022-07-01 18:13:51 +08:00
Cao Sen Miao a690a87829 spi_flash: Remove legacy spi_flash drivers 2022-07-01 11:01:34 +08:00
Adam Múdry 0fac7d1c02 fatfs: Fix undefined ssize member of FATFS struct 2022-06-27 08:57:58 +00:00
Ivan Grokhotkov 88d2a221f1 fatfs, spiffs: add missing dependency on vfs
Since vfs is no longer a common component, the dependency needs to be
added explicitly.
2022-06-21 17:16:49 +02:00
Martin Vychodil 7f884dc966 Merge branch 'fix/ff_sdmmc_status_check_optional' into 'master'
fatfs: Add option to mock ff_sdmmc_status output to increase IO speed

Closes IDF-4788

See merge request espressif/esp-idf!18300
2022-06-13 14:42:12 +08:00
Matus Fabo 384d61f156 remove: sdspi_host deprecated api
add: migration guide documentation
2022-06-12 20:07:27 +00:00
Martin Vychodil aa2cf79e13 Merge branch 'bugfix/fatfs_mtime_dst' into 'master'
fatfs: fix incorrect mtime returned for files created during DST

Closes IDFGH-7467

See merge request espressif/esp-idf!18333
2022-06-10 17:18:01 +08:00
Roland Dobai 724b4121b9 Merge branch 'feature/enable-lfn-for-fatfsparse' into 'master'
fatfs: enable long file names for fatfsparse.py

Closes IDF-4992

See merge request espressif/esp-idf!18212
2022-06-10 16:22:45 +08:00
Martin Vychodil 16a4ee7c36 Merge branch 'bugfix/spi_mode_status_check' into 'master'
sdmmc, sdspi: fixes related to status checks, R1b response support, erase fix for SPI mode, fix for erase timeout calculation

Closes IDF-4728

See merge request espressif/esp-idf!17727
2022-06-10 13:15:47 +08:00
Adam Múdry 8af790da45 fatfs: Add mock option to ff_sdmmc_status function to increase IO speed
Adds `disk_status_check_enable` field to `esp_vfs_fat_mount_config_t` struct to control if ff_sdmmc_status is mocked or not.
2022-06-09 20:09:32 +00:00
Ivan Grokhotkov 39238f51ce fatfs: fix incorrect mtime returned for files created during DST
mktime function uses tm_isdst member as an indicator whether the time
stamp is expected to be in daylight saving time (1) or not (0).
FAT filesystem uses local time as mtime, so no information about DST
is available from the filesystem.

According to mktime documentation, tm_isdst can be set to -1, in which
case the C library will try to determine if DST was or wasn't in
effect at that time, and will set UTC time accordingly.

Note that the conversion from UTC to local time and then back to UTC
(time_t -> localtime_r -> FAT timestamp -> mktime -> time_t) does not
always recover the same UTC time. In particular, the local time in the
hour before DST comes into effect can be interpreted as "before DST"
or "after DST", which would correspond to different UTC values. In
this case which option the C library chooses is undefined.

Closes https://github.com/espressif/esp-idf/issues/9039
Originally reported in https://github.com/espressif/arduino-esp32/issues/6786
2022-06-09 19:50:00 +00:00
Martin Gaňo 0f160c8f11 fatfs: enable long file names for fatfsparse.py 2022-06-09 15:51:03 +02:00
Cao Sen Miao 6589daabb9 MMU: Add configurable mmu page size support on ESP32C2 2022-06-08 19:34:31 +08:00
Michael (XIAO Xufeng) 6a8aed12ee ci: partially enable ut tests for esp32c2
Disabled test cases are tracked in:

 IDF-4465, IDF-5045, IDF-5057, IDF-5058, IDF-5059, IDF-5060, IDF-5061, IDF-5131

- test_fatfs: IDF-5136

- test_pm: IDF-5053

- test_cache_mmu: IDF-5138

- test_partitions: IDF-5137

- test_vfs: IDF-5139

- test_freertos: IDF-5140

- test_wpa_supplicant: IDF-5046

- test_mbedtls: IDF-5141

- test_pthread: IDF-5142

- test_protocomm: IDF-5143

- test_lightsleep: IDF-5053

- test_taskwdt: IDF-5055

- test_tcp_transport: IDF-5144

- test_app_update: IDF-5145

- test_timer: IDF-5052

- test_spi: IDF-5146

- test_rtc_clk: IDF-5060

- test_heap: IDF-5167

ci: fixed issues for tests of libgcc, ets_timer, newlib

test_pm: support on C2
2022-06-02 14:23:35 +08:00
Ivan Grokhotkov a28828a6f4 fatfs: re-enable TRIM support for SPI mode
Previously this didn't work because MMC_ERASE implementation for SPI
didn't wait for the busy status indication.
2022-05-30 15:39:01 +02:00
Martin Vychodil 9bd819c78f Merge branch 'fix/fatfs_remove_utf16_support' into 'master'
FatFS: Disable UTF 16 filename encoding

Closes IDF-4795

See merge request espressif/esp-idf!18192
2022-05-30 20:59:53 +08:00
Martin Gano 8ef66536ed fatfsparse.py: add cluster chaining support to enable reading longer-than-sector files
Closes IDF-4975
2022-05-25 15:49:24 +02:00
Adam Múdry b388321e3b fatfs: Disable UTF-16 filename encoding
UTF-16 is not supported in VFS and not covered by unit tests
2022-05-20 15:15:01 +02:00
Adam Múdry 2565acbc28 fatfs: Fix possible integer overflow in esp_vfs_fat_info() 2022-05-20 14:51:11 +02:00
Martin Gaňo 005af75da3 Added FATFS partition parser 2022-05-16 14:32:17 +02:00
morris f670c2a963 Merge branch 'contrib/github_pr_8888' into 'master'
utils.py: fix assert range with hour (GitHub PR)

Closes IDFGH-7300

See merge request espressif/esp-idf!18011
2022-05-09 10:11:26 +08:00
Junzhuo 0172e97151 utils.py: fix assert range with hour
`hour=23` (23 P.M.) will out of the `range(0, 23)`, which should be `range(0, 24)`.
2022-05-04 00:43:27 +08:00
Ivan Grokhotkov 25a5344763 Merge branch 'feature/vfs_fat_info' into 'master'
fatfs: add esp_vfs_fat_info() + unit tests

Closes IDF-4853

See merge request espressif/esp-idf!17654
2022-04-27 17:01:33 +08:00
Anton Maklakov bbe2bb9994 components: correct abs() use for 64-bit argument 2022-04-21 12:22:15 +07:00
Adam Múdry 22b46580f8 fatfs: add esp_vfs_fat_info() + unit tests 2022-04-15 20:49:53 +02:00
Matus Fabo 24268d47a2 change: renamed FATFS convenience mounting functions
change: renamed every instance of these functions
add: deprecation notice with old functions
change: CC0 licence to CC0-1.0 in fatfsgen_example_main.c
2022-04-11 08:44:40 +00:00
Martin Gano d76de32f74 fatfsgen.py: enabled date and time for fatfs 2022-04-07 15:01:28 +02:00
Vamshi Gajjela 66561f838d vfs: bugfix vfs_fat_write/pwrite upon disk-full
Closes https://github.com/espressif/esp-idf/issues/5027
2022-03-21 17:28:46 +00:00
Martin Gaňo fea2b5b64e fatfsgen.py: enabled long names support
Closes https://github.com/espressif/esp-idf/issues/8171
2022-03-11 11:20:31 +01:00
Vamshi Gajjela ea9f7cc370 fatfs: Add ftruncate api support for VFS and FAT-VFS
Unit test cases added to verify ftruncate within fatfs tests.

Closes https://github.com/espressif/esp-idf/issues/8279
2022-03-08 16:58:25 +05:30
Zim Kalinowski 0440aca4e3 Merge branch 'feature/reevaluate_headers_include_dirs' into 'master'
esp_hw_support/esp_system: Re-evaluate header inclusions and include directories

See merge request espressif/esp-idf!16763
2022-03-08 01:32:24 +08:00