Commit Graph
100 Commits
Author SHA1 Message Date
Adam Múdry a61262ed6c fix(sdmmc): Handle nonsensical max freq correctly
Closes https://github.com/espressif/esp-idf/issues/15250
2026-06-24 12:35:37 +02:00
Adam Múdry 5cd354af69 fix(vfs): Fix incorrect check in esp_vfs_register_fs_common and optimize memory 2026-06-17 14:08:23 +02:00
Adam Múdry c31de8b673 fix(fatfs): Fix esp_vfs_fat_unregister_path leak if esp_vfs_unregister fails 2026-06-17 14:08:23 +02:00
Adam Múdry c55b61d99f Merge branch 'fix/python3.14_test_fatfsgen' into 'master'
fix(fatfs): fix operator precedence bug in BootSector.__str__ for Python 3.14 compatibility

Closes IDF-15550

See merge request espressif/esp-idf!47479
2026-04-13 16:08:16 +02:00
Adam Múdry b29b9dc4d2 Merge branch 'feat/cmake_add_partition_flash_binary_function' into 'master'
feat(esp_partition): Add esp_partition_register_target Cmake function

Closes IDF-11870 and DOC-14244

See merge request espressif/esp-idf!37176
2026-04-13 15:54:27 +02:00
Adam Múdry 749c446a7e feat(esp_partition): Add esp_partition_flash_binary() CMake function
Add a new CMake function esp_partition_flash_binary() that provides a
unified API for registering partition data binaries to be flashed. It
replaces the direct esptool_py_flash_target calls scattered across
components (spiffs, fatfs, nvs_flash) with a single function that:

- Resolves partition offset from the partition table automatically
- Determines encryption requirements (auto-detect or ALWAYS_PLAINTEXT)
- Creates per-partition flash targets (e.g. idf.py <partition>-flash)
- Optionally includes the binary in `idf.py flash` via FLASH_IN_PROJECT

On the linux target, the function registers binaries for pre-loading
into the emulated flash. A build-time manifest (linux_flash_data.txt)
is generated via file(GENERATE), and partition_linux.c reads it at
runtime to copy each binary into the memory-mapped flash buffer at
the correct offset.

The partition_ops example is updated to use the new function and
includes a custom_partition with pre-built data to demonstrate the
full workflow, including on the linux target.
2026-04-10 15:22:50 +02:00
Adam Múdry 5867550fb8 fix(fatfs): fix operator precedence bug in BootSector.__str__ for Python 3.14 compatibility
The condition filtering attributes lacked parentheses, causing the
'not startswith(_)' guard to only apply to str attributes. Python 3.14's
new __firstlineno__ (int) class attribute leaked into the output.

Also includes ruff auto-formatting fixes (imports, trailing commas,
union type annotations).
2026-04-09 15:36:43 +02:00
Adam Múdry d8c30644c7 fix(fatfs): fix formatting in relevant python files to satisfy pre-commit check 2026-04-09 12:56:30 +02:00
Adam Múdry 1d0d45f203 fix(fatfs): fix a bug in SFN generation from LFN and rewrite to match C algorithm
Rewrite build_lfn_short_entry_name() and add _gen_numname_suffix() helper
to match the gen_numname() algorithm in ff.c. This fixes:

- chr(order) producing raw binary instead of ASCII digits
- Collision for order >= 10 when str(order) makes the name exceed 8 chars
- Hex suffix with dynamic stem shortening (matching C implementation)
- CRC16-CCITT hash for seq > 5 to reduce collision probability

Also fix LDIR_Name2_SIZE typo in long_filename_utils.py (should be
LDIR_Name3_SIZE), which made the assertion guard too permissive.

Add ShortFilenameGenerationTestCase with 9 unit tests covering single-digit,
multi-digit, hash-based, and collision-free generation scenarios.
2026-04-09 12:53:43 +02:00
Adam Múdry b644580c68 Merge branch 'fix/sdmmc_cmd_err_switch_case_handling' into 'master'
fix(sdmmc): sdmmc_cmd.c fixed error handling in certain if and switch statements

Closes IDF-15455

See merge request espressif/esp-idf!46677
2026-03-18 14:57:52 +01:00
Adam Múdry cfcfb3f9eb fix(sdmmc): sdmmc_cmd.c fixed error handling in certain if and switch statements 2026-03-17 00:26:43 +01:00
Adam Múdry 366700747d feat(sdmmc): Try to reallocate smaller DMA buffer if larger one failed 2026-03-16 13:37:01 +01:00
Adam Múdry 653cea9c94 fix(sdmmc): Multi-block read/writes support refactor + tests and documentation added 2026-03-16 13:33:03 +01:00
Adam Múdry e78b76fab2 Merge branch 'fix/sdmmc_sdspi_retry_crc_check' into 'master'
fix(sdspi): 0x106 error during SD card init via SPI related fixes

See merge request espressif/esp-idf!44308
2026-02-05 15:11:29 +01:00
Adam Múdry 16e56b6368 docs: Provide translation for esp_vfs_fat_register function prototype update 2026-02-04 16:33:40 +01:00
Adam Múdry d58b9406d8 fix: Update examples etc. to use esp_vfs_fat_register
Instead of deprecated esp_vfs_fat_register_cfg
2026-02-04 16:33:40 +01:00
Adam Múdry 38256a6b11 refactor(fatfs): Update esp_vfs_fat_register function prototype
to match esp_vfs_fat_register_cfg
2026-02-04 16:33:40 +01:00
Adam Múdry 006b95f384 fix: Update cherryusb_host and examples using esp_tinyusb and usb_host_msc 2026-02-04 14:07:13 +01:00
Adam Múdry 543c7b9bff fix(sdspi): 0x106 error during SD card init via SPI related fixes
Try to turn on CRC16 again if first failed, allow disabling of CRC check altogether

Releated https://github.com/espressif/esp-idf/issues/15450
2026-02-02 15:44:59 +01:00
Adam Múdry 9d155077af Merge branch 'fix/fatfs_test_apps_remove_esp32c3_from_sdcard_sdmode_test' into 'master'
fix(fatfs): fatfs test_apps remove esp32c3 from sdcard_sdmode test

Closes IDF-15244

See merge request espressif/esp-idf!45495
2026-01-29 15:57:25 +01:00
Adam Múdry 1e195254e7 fix(fatfs): fatfs test_apps remove esp32c3 from sdcard_sdmode test 2026-01-28 13:42:33 +01:00
Adam Múdry d989204741 fix(fatfs): Calculate max_pos in wl_fatfsgen.py safe mode correctly 2026-01-22 15:17:36 +01:00
Adam Múdry 5e8a6c0816 fix: Satisfy Python formatter 2026-01-22 15:11:17 +01:00
Adam Múdry b831cccdd3 Merge branch 'fix/example_sd_card_pytest_wrong_timeout' into 'master'
fix(examples): Fixed wrong timeout placement in examples/sd_card/* pytest

Closes IDFCI-7325

See merge request espressif/esp-idf!44944
2026-01-12 04:31:53 +01:00
Adam Múdry fdaeef206c fix(examples): Fixed wrong timeout placement in examples/sd_card/* pytest 2026-01-08 15:19:35 +01:00
Adam Múdry f9b9eadc44 Merge branch 'fix/fatfs_pytest_expecting_typo' into 'master'
fix(sd): Fixed typo in pytest output expectation

Closes IDFCI-5088 and IDFCI-3728

See merge request espressif/esp-idf!44847
2026-01-07 15:33:03 +01:00
Adam Múdry 712c02e03c fix: Fixed typo in pytest output expectation 2026-01-07 13:35:51 +01:00
Adam Múdry a959111214 fix(sdmmc): sdmmc_get_blockdev fix potential overflow before widen 2025-12-16 14:23:21 +01:00
Adam Múdry cb98f7b5ef Merge branch 'feat/spi_flash_bdl_support' into 'master'
feat(bdl): Add support for spi_flash

Closes IDF-12752

See merge request espressif/esp-idf!42127
2025-12-05 10:29:39 +01:00
Adam Múdry cf95a64365 feat(bdl): Add support for spi_flash 2025-12-04 16:16:28 +01:00
Adam Múdry 862f000805 Merge branch 'feat/sdmmc_bdl' into 'master'
feat(bdl): Add support for SDMMC

Closes IDF-12751

See merge request espressif/esp-idf!39640
2025-11-26 17:46:10 +01:00
Adam Múdry 1725be256d feat(storage): Add support for SDMMC BDL 2025-11-11 14:59:56 +01:00
Adam Múdry 3eb74a7e95 fix(sdspi): esp_driver_sdpsi test app increase timeout to 180 2025-10-09 15:13:23 +02:00
Adam Múdry 94083867a7 Merge branch 'refactor/fatfs_vfs_functions' into 'master'
fix(storage): Refactor FATFS VFS functions to be easier to understand

Closes IDF-14044

See merge request espressif/esp-idf!41679
2025-09-28 22:54:49 +02:00
Adam Múdry beaf579f9b fix(storage): Refactor FATFS VFS functions to be easier to understand 2025-09-26 18:17:15 +08:00
Adam Múdry 56160675e7 Merge branch 'feat/sdspi_option_to_disable_waiting_for_miso_poll_busy' into 'master'
feat(sdspi): Add an option to modify the waiting time for MISO before sending next command

Closes IDFGH-15977 and IDFGH-9089

See merge request espressif/esp-idf!41175
2025-08-22 12:51:45 +02:00
Adam Múdry 9db29df39a feat(sdspi): Add an option to modify wait time for MISO before sending next command
Closes https://github.com/espressif/esp-idf/issues/16909
2025-08-20 08:57:51 +02:00
Adam Múdry a9c5a2ae4a Merge branch 'feat/perf_benchmark_support_esp32p4' into 'master'
feat(storage): Update emmc and perf_benchmark example to work with ESP32-P4, fix SDMMC slot deinit bug in legacy driver

Closes IDF-13394 and IDF-13483

See merge request espressif/esp-idf!39826
2025-07-01 08:59:53 +02:00
Adam Múdry 20313f82e6 feat(storage): Update emmc and perf_benchmark example to work with ESP32-P4 2025-06-26 14:00:23 +02:00
Adam Múdry 7154cd3173 feat(sdmmc): Add ESP32-P4 eMMC test board definition 2025-06-26 14:00:22 +02:00
Adam Múdry 1ab7235b9e fix(sdmmc): Legacy driver slot deinit set NULL after free 2025-06-26 14:00:22 +02:00
Adam Múdry 5106b95910 fix(storage): Fix storage examples readmes mentioning espotool 2025-06-18 15:58:07 +02:00
Adam Múdry e326d533de feat(storage): Bump LittleFS to 1.20.0 2025-06-18 15:56:47 +02:00
Adam Múdry 8925459572 Merge branch 'docs/filesystem_considerations_readonly_nvs' into 'master'
docs: Added a mention of read-only NVS in filesystem considerations document

Closes IDF-12520

See merge request espressif/esp-idf!38887
2025-05-22 20:31:52 +02:00
Adam Múdry e0be50d9b5 docs: Added a mention of read-only NVS in filesystem considerations document 2025-05-22 19:18:01 +02:00
Adam Múdry f0f0286ec2 Merge branch 'feat/nvs_pytest_add_non_ascii_string_test' into 'master'
feat: Add NVS generator check test for CRC of non-ASCII strings

Closes IDF-12979

See merge request espressif/esp-idf!38630
2025-04-29 22:30:45 +08:00
Adam Múdry 71921a450f feat: Add NVS generator check test for CRC of non-ASCII strings 2025-04-23 05:10:29 +02:00
Adam Múdry 93ff1aec46 Merge branch 'feat/remove_const_from_voltopart' into 'master'
feat(fatfs/diskio): Remove const from PARTITION VolToPart

Closes IDFGH-13211

See merge request espressif/esp-idf!38150
2025-04-16 23:46:19 +08:00
Adam Múdry 82dac1f1bd fix(fatfs): Mistake in Kconfig for FATFS_USE_DYN_BUFFERS 2025-04-09 09:18:02 +02:00
Adam Múdry b5b2fbc87d feat(fatfs/diskio): Remove const from PARTITION VolToPart
Closes https://github.com/espressif/esp-idf/issues/14148
2025-03-31 13:35:39 +02:00
Adam Múdry 3ab1ddaab5 Merge branch 'feat/read_only_nvs' into 'master'
feat(nvs): Allow read-only NVS partitions smaller than 0x3000

Closes IDFGH-14558

See merge request espressif/esp-idf!36767
2025-03-28 17:49:08 +08:00
Adam Múdry 4a6b99bc4a feat(nvs): Optimize read-only NVS loading 2025-03-27 12:42:04 +01:00
Adam Múdry 851e869bb2 fix: parttool print subprocess output on fail 2025-03-27 15:50:27 +08:00
Adam Múdry d8ebca368c feat(nvs): Allow read-only NVS partitions smaller than 0x3000
E.g. for factory settings data

Closes https://github.com/espressif/esp-idf/issues/15317
2025-03-27 15:50:27 +08:00
Adam Múdry 58fbcfb407 Merge branch 'feat/ff_fs_nofsinfo_kconfig' into 'master'
feat(fatfs): Add an option to set FF_FS_NOFSINFO value

Closes IDFGH-14467

See merge request espressif/esp-idf!36592
2025-03-20 20:18:52 +08:00
Adam Múdry d87a6d4b61 feat(fatfs): Add Kconfig options to set FF_FS_NOFSINFO value
Closes https://github.com/espressif/esp-idf/issues/15241
2025-02-21 21:39:44 +08:00
Adam Múdry bbd9acee93 Merge branch 'test/reenable_perf_benchmark_c61' into 'master'
test: Re-enable perf_benchmark test for C61

Closes IDF-10977

See merge request espressif/esp-idf!37073
2025-02-20 19:35:43 +08:00
Adam Múdry fcb1e8ad5c test: Re-enable perf_benchmark test for C61 2025-02-18 13:53:56 +01:00
Adam Múdry 8e519e0126 Merge branch 'fix/test_nvs_gen_check_read_only_part_support' into 'master'
fix: test_nvs_gen_check.py support for read-only NVS partitions

Closes IDF-12238

See merge request espressif/esp-idf!36829
2025-02-11 23:28:34 +08:00
Adam Múdry de053738e1 Merge branch 'bugfix/sdmmc_reset_pins_slot_width' into 'master'
fix(sdmmc): fix reset of pins above slot width

Closes IDFGH-14570

See merge request espressif/esp-idf!36725
2025-02-11 19:15:43 +08:00
Adam Múdry 0c2cbd12f1 fix: test_nvs_gen_check.py support for read-only NVS partitions 2025-02-10 15:45:17 +01:00
Adam Múdry 30196f9430 fix(sdmmc): SDMMC concurrency change active slot only after the slot is initialized
Fixes counting of initialized slots
2025-01-27 03:41:01 +01:00
Adam Múdry 4b79cb964f Merge branch 'fix/tusb_midi_task_stack_overflow' into 'master'
fix(examples): tusb_midi task stack overflow fix

Closes IDFGH-14002

See merge request espressif/esp-idf!34914
2024-11-14 23:38:30 +08:00
Adam Múdry 7e9782b67e fix(examples): tusb_midi task stack overflow fix 2024-11-14 13:03:27 +01:00
Adam Múdry cf44fc6a1f Merge branch 'fix/sdmmc_test_acmd22_esp32p4_fix' into 'master'
fix(sdmmc): Fix ACMD22 DMA buffer problem for ESP32-P4

Closes IDFCI-2499

See merge request espressif/esp-idf!34826
2024-11-13 06:53:49 +08:00
Adam Múdry b0ffe15514 fix(sdmmc): Fix ACMD22 DMA buffer problem for ESP32-P4 2024-11-12 14:55:19 +01:00
Adam Múdry 1689c7e14f Merge branch 'fix/nvs_generator_test_fail_due_to_safer_write_namespace_function' into 'master'
fix(nvs): Fix the NVS generator test (write_namespace safer behavior change)

Closes IDF-11674

See merge request espressif/esp-idf!34828
2024-11-12 15:38:22 +08:00
Adam Múdry ba2bf2f512 fix(nvs): Fix the nvs generator test (write_namespace safer behavior change) 2024-11-11 22:38:47 +01:00
Adam Múdry 97e669214c fix(littlefs): Allow LittleFS image generation on Windows + version bump
Closes https://github.com/espressif/esp-idf/issues/12900
2024-11-06 14:08:44 +01:00
Adam Múdry b2e0bd9200 Merge branch 'fix/sdmmc_send_acmd22_after_multiple_write_cmd' into 'master'
fix(sdmmc): Send ACMD22 if CMD25 fails

Closes IDF-9630

See merge request espressif/esp-idf!34376
2024-11-06 04:34:06 +08:00
Adam Múdry 6bf2d91c4d test(sdmmc): Add test_apps test for sdmmc component 2024-11-05 02:36:43 +01:00
Adam Múdry 9386b58e17 fix(sdmmc): Generalize waiting for card idle to a function 2024-11-05 02:36:42 +01:00
Adam Múdry 2c1bec2c70 fix(sdmmc): Send ACMD22 if CMD25 fails
Send the number of the written write blocks (ACMD22) after
write multiple blocks fails (CMD25)
2024-10-31 14:30:51 +01:00
Adam Múdry 4f3cfbe297 Merge branch 'fix/correct_alloc_function_in_example' into 'master'
fix(storage/example): correct alloc function

Closes IDF-10653

See merge request espressif/esp-idf!32516
2024-10-22 19:47:44 +08:00
Adam Múdry c7a86a23dc Merge branch 'fix/ssdmmc_send_cmd_set_relative_addr_rca' into 'master'
fix(sdmmc): Retry to get another RCA if the previous response was 0

Closes IDF-9631

See merge request espressif/esp-idf!34131
2024-10-19 00:07:28 +08:00
Adam Múdry 9c7609a0e7 fix(sdmmc): Send status (CMD13) even if write/read command fails 2024-10-17 00:58:48 +08:00
Adam Múdry 3f838d7843 fix(sdmmc): Improve SD card state checking after write/read command 2024-10-17 00:58:48 +08:00
Adam Múdry 72bbb8c857 fix(sdmmc): Retry to get another RCA if the previous response was 0 2024-10-14 03:25:55 +02:00
Adam Múdry d7cb8f5b9a Merge branch 'docs/nvs_check_documentation' into 'master'
Docs: Add nvs_check.py documentation

Closes IDF-11024

See merge request espressif/esp-idf!33952
2024-10-10 22:03:45 +08:00
Adam Múdry c672db530b docs(nvs): Document nvs_check.py functions 2024-10-08 08:33:32 +02:00
Adam Múdry 20d1a480ab feat(nvs): Add raw_data variable to NVS_Partition class in nvs_parser.py 2024-10-01 15:18:27 +02:00
Adam Múdry 98cf50d140 Merge branch 'fix/nvs_tool_false_duplicate_warning' into 'master'
fix(nvs): nvs_tool.py refactor, reduce false duplicate warnings, add a test

Closes IDF-10684

See merge request espressif/esp-idf!32449
2024-09-04 11:05:44 +08:00
Adam Múdry 347800bcda Merge branch 'fix/sdmmc_host_init_slot_possible_bad_shift_op' into 'master'
fix(sdmmc): Fix possible bad bit shift operation

Closes IDF-10759

See merge request espressif/esp-idf!32885
2024-08-30 23:55:14 +08:00
Adam Múdry 05b356f87f feat(nvs): Test nvs_partition_gen.py and nvs_check.py with pytest
Little fixes in nvs_check.py
2024-08-30 16:21:42 +02:00
Adam Múdry 24c1f084d0 fix(sdmmc): Fix possible bad bit shift operation and check if GPIO pins are valid 2024-08-30 15:01:10 +02:00
Adam Múdry 3f13adadab Merge branch 'fix/sdmmc_probe_timing_retry' into 'master'
fix(sdmmc): Fix SDMMC slot switch timing related issue on ESP32-P4

Closes IDFCI-2328

See merge request espressif/esp-idf!32900
2024-08-21 20:01:23 +08:00
Adam Múdry 6cb2080076 fix(nvs): nvs_tool.py reduce false duplicate warnings 2024-08-21 19:06:27 +08:00
Adam Múdry 4e7d2ec241 refactor(nvs): nvs_tool.py integrity check refactor 2024-08-21 19:06:27 +08:00
Adam Múdry b263b9dff9 fix(sdmmc): Fix SDMMC slot switch timing related issue on ESP32-P4 2024-08-20 19:17:08 +08:00
Adam Múdry 4a21b0e332 fix: Bootloader size increase broke perf_benchmark example compilation 2024-08-17 23:02:11 +02:00
Adam Múdry d1571c144b Merge branch 'feat/sdmmc_support_concurrent_use' into 'master'
feat(sdmmc): Concurrent use of SDMMC peripheral

Closes IDF-9152

See merge request espressif/esp-idf!31150
2024-08-09 01:08:16 +08:00
Adam Múdry 014dddad1f feat(sdmmc): Concurrent use of SDMMC peripheral
Host and device (card, etc.) initialization is not thread-safe.
After initialization transactions are serialized and guarded by mutex.
Changed `SDMMC_HOST_DEFAULT()` default deinit function to `sdmmc_host_deinit_slot`
which has a slot number as argument.
2024-08-06 10:34:13 +02:00
Adam Múdry 3ffd716d81 Merge branch 'fix/fatfs_f_mount_immediately_after_formatting' into 'master'
fix(vfs): FATFS mount immediately after format if mount failed

Closes IDF-10538

See merge request espressif/esp-idf!32302
2024-07-26 17:39:59 +08:00
Adam Múdry a1f493b50f fix(vfs): FATFS mount immediately after format if mount failed 2024-07-23 15:44:40 +02:00
Adam Múdry caa4f7fd20 refactor(sdmmc): Allow sdmmc_host_init to be called multiple times
Along with slight refactor for sdmmc_host.c
2024-07-23 12:35:19 +02:00
Adam Múdry c52a4bd1d7 Merge branch 'fix/sdmmc_io_rw_extended_unreachable_logic' into 'master'
fix(sdmmc): Fix logically dead code in sdmmc_io_rw_extended

Closes IDF-10272

See merge request espressif/esp-idf!32217
2024-07-19 18:59:04 +08:00
Adam Múdry cbf59b4c76 fix(sdmmc): Fix logically dead code in sdmmc_io_rw_extended 2024-07-18 17:28:01 +02:00
Adam Múdry ac8c27f222 Merge branch 'fix/typo_in_sdmmc_init_sd_ssr_function' into 'master'
fix: Typo in sdmmc_init_sd_ssr log string

See merge request espressif/esp-idf!31148
2024-05-29 17:09:22 +08:00
Adam Múdry a97aaf19d8 fix: Typo in sdmmc_init_sd_ssr log string 2024-05-28 21:21:34 +02:00
Adam Múdry 050db26419 Merge branch 'fix/coverity_use_after_free_partition.c' into 'master'
fix(partition): Simplify macro loop in esp_partition_unload_all, should fix Coverity problem

Closes IDF-9837

See merge request espressif/esp-idf!30853
2024-05-23 23:08:11 +08:00