Commit Graph
100 Commits
Author SHA1 Message Date
Ivan Grokhotkov 0680c94951 Merge branch 'ci/update_codeowners_testing_framework' into 'master'
ci(owners): update codeowners for testing components

See merge request espressif/esp-idf!37471
2025-04-23 19:39:58 +08:00
Ivan Grokhotkov 34afa1948f Merge branch 'bugfix/ldgen_cmake_interface_libs' into 'master'
fix(build): query correct property for interface libraries

See merge request espressif/esp-idf!38401
2025-04-16 19:44:15 +08:00
Ivan Grokhotkov 977d841229 fix(build): query correct property for interface libraries
431ee5c058 has changed the way ldgen works by introducing the
recursive lookup of component libraries reachable from the executable.
The implementation incorrectly queried LINK_LIBRARIES instead of the
INTERFACE_LINK_LIBRARIES property for INTERFACE targets.
2025-04-15 10:23:20 +02:00
Ivan Grokhotkov d38c05c10c Merge branch 'refactor/ldgen_library_deps' into 'master'
refactor(cmake): collect libraries from ELF, don't depend on idf_build_target

Closes IDF-10772

See merge request espressif/esp-idf!34520
2025-04-11 21:02:06 +08:00
Ivan Grokhotkov 431ee5c058 refactor(cmake): collect libraries from ELF, don't depend on idf_build_target 2025-04-11 14:00:56 +02:00
Ivan Grokhotkov f7b977b405 test(sdmmc): add test for high-prio task busy while writing
Related to https://github.com/espressif/esp-idf/issues/13934
2025-03-11 10:51:06 +08:00
Ivan Grokhotkov 335027b731 fix(sdmmc): move DMA descriptor refilling into the ISR
Previously, as DMA descriptors were processed, the task performing
SDMMC transfer would get woken up and would refill the descriptors.
This design didn't work correctly when higher priority tasks occupied
the CPU for too long, resulting in SDMMC transfer timing out.

This change moves DMA descriptor refilling into SDMMC ISR. Now the
"DMA done" interrupt is delivered back to task context only when
the entire transfer is completed.

Closes https://github.com/espressif/esp-idf/issues/13934
2025-03-11 10:51:06 +08:00
Ivan Grokhotkov 83eaa261af Merge branch 'bugfix/sdmmc_reset_pins_slot_width_v2' into 'master'
fix(sdmmc): fix missed deinitialization of CD and WP pins

See merge request espressif/esp-idf!37033
2025-02-18 19:22:25 +08:00
Ivan Grokhotkov 6f49122b74 fix(sdmmc): fix missed deinitialization of CD and WP pins in f8f40ad
Related to https://github.com/espressif/esp-idf/issues/15330
2025-02-17 16:21:30 +01:00
Ivan Grokhotkov f8f40ad94f fix(sdmmc): fix reset of pins above slot width
Closes https://github.com/espressif/esp-idf/issues/15328
2025-02-04 12:01:04 +01:00
Ivan Grokhotkov e06c234625 Merge branch 'bugfix/opencores_emac_macaddr' into 'master'
fixes for MAC address setting in openeth driver

See merge request espressif/esp-idf!35512
2024-12-13 20:17:56 +08:00
Ivan Grokhotkov 6d06f5fe44 fix(esp_eth): fix openeth driver to consider MAC address set in QEMU
Openeth driver did not consider the possibility that the MAC address
was specified when launching QEMU, and would always overwrite that
address with the address obtained from esp_read_mac.
When running QEMU, setting the MAC address via QEMU arguments is more
convenient than crafting an eFuse file with the correct MAC address.
This change modifies openeth driver to first check if an address has
been set in QEMU and uses it if so. Otherwise it falls back to the
address obtained from esp_read_mac.

As part of this change, also removed the unnecessary variable
emac_opencores_t::addr, the address is only kept in the registers of
the emulated peripheral now.

For full effect this also requires changes in QEMU, see
https://github.com/espressif/qemu/issues/107 for background. Without
changes in QEMU, this commit keeps the same behavior.
2024-12-10 12:29:10 +01:00
Ivan Grokhotkov 58f2dd5a66 fix(protocol_examples_common): don't override MAC address for openeth
The intention of the code block was to set MAC address for SPI
Ethernet modules, however !CONFIG_EXAMPLE_USE_INTERNAL_ETHERNET also
affected the case of CONFIG_EXAMPLE_USE_OPENETH.
This commit corrects the code to match the original intention.

Related to https://github.com/espressif/qemu/issues/107
2024-12-09 10:51:19 +01:00
Ivan Grokhotkov 37652904b4 Merge branch 'feature/std_filesystem_supported' into 'master'
storage: make std::filesystem supported

Closes IDFGH-13239, IDFGH-13431, and IDFGH-12755

See merge request espressif/esp-idf!33826
2024-12-04 18:18:54 +08:00
Ivan GrokhotkovandShen Meng Jing b2137e5e70 docs(cxx): add a section about std::filesystem limitations
Co-authored-by: Shen Meng Jing <shenmengjing@espressif.com>
2024-12-03 15:32:58 +01:00
Ivan Grokhotkov 2ca6d2d4b4 feat(storage): add a test app for std::filesystem features 2024-12-03 15:32:58 +01:00
Ivan Grokhotkov a1042c0cc2 feat(fatfs): add support for a few fcntl commands 2024-12-03 15:32:58 +01:00
Ivan Grokhotkov 684d3e6d01 feat(newlib): add dummy implementations of pathconf, chmod, dirfd
Closes https://github.com/espressif/esp-idf/issues/14174
2024-12-03 15:32:57 +01:00
Ivan Grokhotkov 4d75d2d487 Merge branch 'bugfix/protocols_examples_common_driver_dep' into 'master'
remove leftover dependencies on `driver` component

See merge request espressif/esp-idf!33548
2024-11-14 22:21:57 +08:00
Ivan Grokhotkov c7f32f80f4 feat(tools): autocomplete @-arguments of idf.py with file names 2024-11-13 11:50:48 +01:00
Ivan Grokhotkov c9bf5d9698 feat(sdmmc): support for voltage switching in protocol layer 2024-11-12 15:39:42 +08:00
Ivan Grokhotkov c41cead036 change(sdmmc): enable UHS-1 support in test_app, swap slots on P4 EV board 2024-11-12 15:39:42 +08:00
Ivan Grokhotkov f5f46ab74c change(sdmmc): adapt host state machine for CMD11, commit reg/struct files 2024-11-12 15:39:42 +08:00
Ivan Grokhotkov 98f1dd969a change(sdmmc): disable the logic related to D3 line, it needs to be connected for CMD11 to work 2024-11-12 15:39:41 +08:00
Ivan Grokhotkov 2b29de78bb change(sdmmc): allow speciying pins for IOMUX slots as well 2024-11-12 15:39:41 +08:00
Ivan Grokhotkov 3107f0abe7 change(sdmmc): make sdmmc_host_clock_update_command compatible with CMD11 2024-11-12 15:39:41 +08:00
Ivan Grokhotkov 68e9bcbf1e fix(build): clean up dependencies on driver component 2024-11-07 13:09:23 +01:00
Ivan Grokhotkov 1d89e14433 Merge branch 'version/v5.5.0' into 'master'
Update version to v5.5-dev

See merge request espressif/esp-idf!34479
2024-10-28 23:57:02 +08:00
Ivan Grokhotkov 52496491f8 change(ci): update LATEST_GIT_TAG to v5.5-dev 2024-10-28 10:34:21 +01:00
Ivan Grokhotkov d998d76627 change(version): Update version to v5.5-dev 2024-10-28 10:17:21 +01:00
Ivan Grokhotkov 2bb613c50f Merge branch 'feature/gdbstub_fpu' into 'master'
GDBstub: add handling of FPU for Xtensa CPU.

See merge request espressif/esp-idf!25482
2024-09-27 18:28:25 +08:00
Ivan Grokhotkov 69f74c34a2 fix(examples): remove stray EXTRA_COMPONENT_DIRS, fix check 2024-09-25 12:50:23 +02:00
Ivan Grokhotkov 0a2dc3b2d6 Merge branch 'doc/sdmmc_emmc_support' into 'master'
docs(sdmmc): update information about eMMC support

Closes DOC-8906

See merge request espressif/esp-idf!33022
2024-09-10 22:06:33 +08:00
Ivan Grokhotkov f789b4eb45 Merge branch 'bugfix/build_test_better_errors' into 'master'
test(build_system): print failed command and output when test fails

See merge request espressif/esp-idf!32962
2024-09-10 15:18:41 +08:00
Ivan GrokhotkovandZhang Shu Xian 71fe7543f1 docs(sdmmc): update information about eMMC support
Related to https://esp32.com/viewtopic.php?f=13&t=41088

Co-authored-by: Zhang Shu Xian <zhangshuxian@espressif.com>
2024-09-10 09:14:54 +02:00
Ivan Grokhotkov 5e9ac5bdf7 test(build_system): print failed command and output when test fails 2024-08-22 13:59:43 +02:00
Ivan Grokhotkov 0773caf283 Merge branch 'feature/idf_py_efuse_qemu' into 'master'
feat(idf.py): support efuse-related commands in QEMU

Closes QEMU-193

See merge request espressif/esp-idf!29809
2024-08-21 16:13:54 +08:00
Ivan Grokhotkov 5ef75d5073 Merge branch 'bugfix/reproducible_builds_improvements' into 'master'
build system: reproducible build improvements

Closes IDFGH-12690

See merge request espressif/esp-idf!32734
2024-08-16 19:02:40 +08:00
Ivan Grokhotkov 7b228ce8ab feat(idf.py): allow running idf.py efuse-* commands with QEMU 2024-08-15 16:57:08 +02:00
Ivan Grokhotkov cbc52e7d30 test(build_system): check reproducible builds with spaces in paths 2024-08-15 16:41:32 +02:00
Ivan Grokhotkov bef4cb05ff fix(build_system): fix toolchain sysroot directory affecting builds
Closes https://github.com/espressif/esp-idf/issues/13680
2024-08-15 16:41:31 +02:00
Ivan Grokhotkov 50244f4c79 Merge branch 'bugfix/sdio_intr_coex' into 'master'
fix(sdmmc): don't disable SDIO interrupts when switching slots

See merge request espressif/esp-idf!32790
2024-08-13 19:24:32 +08:00
Ivan Grokhotkov 6db8c98e90 Merge branch 'bugfix/missing_component_check' into 'master'
fix(cmake): report correct error on unknown component name

See merge request espressif/esp-idf!32062
2024-08-13 16:06:50 +08:00
Ivan Grokhotkov c521fcb6fd fix(cmake): report correct error on unknown component name
Previously the error message was

CMake Error at /home/user/esp-idf/tools/cmake/build.cmake:296 (__component_get_property):
  __component_get_property Function invoked with incorrect arguments for
  function named: __component_get_property
Call Stack (most recent call first):
  /home/user/esp-idf/tools/cmake/build.cmake:341 (__build_resolve_and_add_req)
  /home/user/esp-idf/tools/cmake/build.cmake:638 (__build_expand_requirements)
  /home/user/esp-idf/tools/cmake/project.cmake:710 (idf_build_process)
  CMakeLists.txt:6 (project)

Now it will be:

CMake Error at /home/user/esp-idf/tools/cmake/build.cmake:298 (message):
  Failed to resolve component 'whatever' required by component 'main'.
Call Stack (most recent call first):
  /home/user/esp-idf/tools/cmake/build.cmake:345 (__build_resolve_and_add_req)
  /home/user/esp-idf/tools/cmake/build.cmake:642 (__build_expand_requirements)
  /home/user/esp-idf/tools/cmake/project.cmake:710 (idf_build_process)
  CMakeLists.txt:6 (project)

Also improved the hint to show the component name in quotes.
2024-08-12 17:54:44 +02:00
Ivan Grokhotkov 8a9d3076d7 fix(sdmmc): don't disable SDIO interrupts when switching slots 2024-08-12 14:18:29 +02:00
Ivan Grokhotkov 1c343d8923 change(build_system): refactor reproducible build handling
- remove generate_debug_prefix_map.py, move its logic into CMake
- move all reproducible builds logic into a new file, prefix_map.cmake
2024-08-12 13:26:33 +02:00
Ivan Grokhotkov 1c1b7db361 Merge branch 'bugfix/check_system_init_priorities_sorting' into 'master'
fix(esp_system): sort system init priorities also by filename

See merge request espressif/esp-idf!32678
2024-08-12 05:02:20 +08:00
Ivan Grokhotkov fc4c445643 test(build_system): move reproducible build test to pytest 2024-08-11 20:24:03 +02:00
Ivan Grokhotkov d6edcba3b6 test(build_system): extract file helpers, add 'bin_files_differ'
- Move file-related functions bin_file_contains and file_contains
  from idf_utils.py and existing functions from editing.py into a new
  file file_utils.py
- Add a function 'bin_files_differ' to compare binary files
2024-08-11 20:23:27 +02:00
Ivan Grokhotkov 3577900915 fix(esp_system): sort system init priorities also by filename 2024-08-11 20:21:35 +02:00
Ivan Grokhotkov c5f4eb7442 Merge branch 'ci/disable_dangerjs_releasenote_check' into 'master'
change(ci): disable dangerjs checker for release notes

See merge request espressif/esp-idf!32557
2024-08-05 17:30:02 +08:00
Ivan Grokhotkov 0ca8567bb6 change(ci): disable dangerjs checker for release notes 2024-08-02 11:56:38 +02:00
Ivan Grokhotkov ec66ecb176 ci(sdmmc): switch to usb_serial_jtag in the test app for P4
New CI runners use usb_serial_jtag, update configuration to match this.
2024-07-31 15:37:11 +02:00
Ivan Grokhotkov d146fb5b84 Merge branch 'bugfix/build_with_clang' into 'master'
fix build errors with clang

Closes IDFGH-13238

See merge request espressif/esp-idf!32099
2024-07-15 21:40:40 +08:00
Ivan Grokhotkov 3d0b507346 fix(ieee802154): fix linker error due to static function being inlined
When the compiler decides to inline a static function, linker script
generator will complain about the missing function.
2024-07-12 14:51:49 +02:00
Ivan Grokhotkov 6c2824bdaa ci(clang): include all components in clang_build_test 2024-07-12 13:58:18 +02:00
Ivan Grokhotkov df65b3829e fix(usb): variable declaration after label for clang 2024-07-12 13:58:18 +02:00
Ivan Grokhotkov c921824230 fix(wifi_provisioning): fix var declarations inside switch for clang 2024-07-12 13:58:18 +02:00
Ivan Grokhotkov 728136a91d fix(esp_eth): fix variable declarations inside switch for clang 2024-07-12 12:14:32 +02:00
Ivan Grokhotkov f95caa751b Merge branch 'feature/update-qemu-to-esp_develop_9.0.0_20240606' into 'master'
feat(tools): update qemu version to esp_develop_9.0.0_20240606

See merge request espressif/esp-idf!31375
2024-06-14 20:41:52 +08:00
Ivan Grokhotkov 455e83e556 Merge branch 'doc/stdio_console' into 'master'
docs(console): add an API guides page on standard I/O

Closes IDFGH-12951

See merge request espressif/esp-idf!31343
2024-06-13 18:15:12 +08:00
Ivan Grokhotkov c565f9e028 docs(console): add an API guides page on standard I/O
Closes https://github.com/espressif/esp-idf/issues/13907
2024-06-13 10:40:20 +02:00
Ivan Grokhotkov 6ddf31bbdc feat(tools): enable idf.py qemu integration for ESP32-S3 2024-06-12 10:50:13 +02:00
Ivan Grokhotkov aad9ab02e8 feat(esp_eth): enable openeth in QEMU for ESP32-S3 2024-06-12 10:50:13 +02:00
Ivan Grokhotkov 74d5c40ac9 feat(tools): update qemu version to esp_develop_9.0.0_20240606 2024-06-12 10:50:13 +02:00
Ivan Grokhotkov ac2092c362 Merge branch 'bugfix/sdmmc_psram_esp32s3' into 'master'
fix(sdmmc): fix invalid data when reading/writing PSRAM buffers

Closes IDF-10081

See merge request espressif/esp-idf!31346
2024-06-06 16:43:33 +08:00
Ivan Grokhotkov 6ed7e93676 fix(sdmmc): fix invalid data when reading/writing PSRAM buffers
Previous commit has enabled buffers in PSRAM for ESP32-P4. But this
also caused a regression for ESP32-S3, where PSRAM is not DMA capable.
This commit re-introduces the check for esp_ptr_external_ram in case
SOC_SDMMC_PSRAM_DMA_CAPABLE is not set.
2024-06-05 13:12:03 +02:00
Ivan Grokhotkov 1c2b273e31 Merge branch 'fix/component_enotsup' into 'master'
fix: correctly resolve component requirements

Closes IDFGH-12425

See merge request espressif/esp-idf!30112
2024-05-31 12:43:17 +08:00
Ivan Grokhotkov 06cc3419d8 Merge branch 'ci/add_sdmmc_test_p4' into 'master'
ci(sdmmc): enable tests for ESP32-P4

Closes IDF-8970

See merge request espressif/esp-idf!31077
2024-05-28 00:16:04 +08:00
Ivan Grokhotkov 5b1fd0efe9 ci(sdmmc): enable tests for ESP32-P4 2024-05-24 15:05:35 +02:00
Ivan Grokhotkov 5425abc6cb Merge branch 'bugfix/sdspi_tests' into 'master'
sdspi: test-related fixes

Closes IDF-8750

See merge request espressif/esp-idf!30612
2024-05-09 18:52:55 +08:00
Ivan Grokhotkov 1680c2fe33 Merge branch 'bugfix/pytest_build_dir_arg' into 'master'
fix(pytest): respect --build-dir argument from pytest-embedded

See merge request espressif/esp-idf!30609
2024-05-07 21:12:57 +08:00
Ivan Grokhotkov 30abe85a25 ci(sdspi): clean up newlib memory, reset between tests
Two changes to make the tests less susceptible to random failures:
- Free up newlib memory to not have false-positive memory leaks due to
  lazy allocations in reent structure
- Reset between tests, so that one failing test doesn't cause
  subsequent tests to fail

Both changes are already applied to esp_driver_sdmmc test app.
2024-05-02 16:44:16 +02:00
Ivan Grokhotkov f355ecac40 ci(sdspi): re-enable probe/rw tests for slot 1
These tests were disabled since SDMMC_FREQ_HIGHSPEED with sdspi didn't
work on ESP32 and ESP32-S3. However we don't have other tests for
slot 1, meaning that we weren't running probe and perf tests at all.

This commit re-enables the tests, keeping them with SDMMC_FREQ_DEFAULT
2024-05-02 16:44:16 +02:00
Ivan Grokhotkov e672d49db7 fix(sdspi): fix memory leak in do_one_sdspi_probe test 2024-05-02 16:44:16 +02:00
Ivan Grokhotkov 087d055090 fix(pytest): respect --build-dir argument from pytest-embedded 2024-05-02 15:18:34 +02:00
Ivan Grokhotkov 73190dd04e Merge branch 'version/v5.4.0' into 'master'
Update version to v5.4-dev

See merge request espressif/esp-idf!30352
2024-04-23 08:00:22 +08:00
Ivan Grokhotkov 0436d49815 change(version): Update version to v5.4-dev 2024-04-22 22:43:44 +02:00
Ivan Grokhotkov 57a80129bc Merge branch 'ci/sdmmc_tests' into 'master'
sdmmc: test-related fixes

Closes IDF-8734

See merge request espressif/esp-idf!30221
2024-04-19 19:22:08 +08:00
Ivan Grokhotkov 3f663ec789 ci(sdmmc): add test config for p4 2024-04-17 12:49:23 +02:00
Ivan Grokhotkov ad6cce5e3a fix(sdmmc): correct unused pin number for P4 EV board 2024-04-17 12:49:23 +02:00
Ivan Grokhotkov 3546c81e32 ci(sdmmc): re-enable CD/WP tests 2024-04-17 12:49:22 +02:00
Ivan Grokhotkov b08ddfb25b fix(sdmmc): don't fail in clock update commands when no card detected
Clock update commands don't actually require the card to be present,
so it's not necessary to fail at this stage.
2024-04-17 12:49:22 +02:00
Ivan Grokhotkov 96074470ec fix(sdmmc): correct power init in CD/WP tests for P4 2024-04-17 12:49:22 +02:00
Ivan Grokhotkov ad51d0d1ca ci(sdmmc): clean up stdout to avoid false positive memory leaks 2024-04-17 12:49:22 +02:00
Ivan Grokhotkov 8a66e059e9 Merge branch 'feature/sdmmc_p4_psram' into 'master'
feat(sdmmc): add support for PSRAM DMA

Closes IDF-9662

See merge request espressif/esp-idf!30044
2024-04-17 18:10:00 +08:00
Ivan Grokhotkov 3b42fde974 Merge branch 'ci/test_apps_codeowners' into 'master'
change(ci): split test_apps build-test-rules, add missing code owners

See merge request espressif/esp-idf!30306
2024-04-17 18:04:45 +08:00
Ivan Grokhotkov 545203f1c8 change(ci): split test_apps build-test-rules, add missing code owners 2024-04-17 11:54:33 +02:00
Ivan Grokhotkov 49b4bc175e feat(sdmmc): add support for PSRAM DMA on ESP32-P4 2024-04-12 12:56:18 +02:00
Ivan Grokhotkov e0cb43b9ab Merge branch 'feature/sdmmc_test_p4_updates' into 'master'
change(sdmmc,sdspi): add P4 board defs, enable LDO in sdspi tests, simplify LDO in sdmmc tests

See merge request espressif/esp-idf!30042
2024-04-12 17:04:07 +08:00
Ivan Grokhotkov 279b67cc5e Merge branch 'bugfix/check_callgraph_ignore_indirect_calls' into 'master'
fix(check_callgraph): rework --ignore-symbols to be more generic

See merge request espressif/esp-idf!29850
2024-04-07 15:05:08 +08:00
Ivan Grokhotkov 6b6de47308 feat(sdspi): add LDO (power control) in sdspi tests 2024-04-04 15:03:27 +02:00
Ivan Grokhotkov 344439dfaa change(sdmmc): move SD power control logic into sdmmc_test_sd_begin
This simplifies the code a bit,
- removing SOC_SDMMC_IO_POWER_EXTERNAL ifdefs from error paths
- moving the LDO code next to where sdmmc_test_board_card_power_set
  is called for the same purpose
2024-04-04 15:02:11 +02:00
Ivan Grokhotkov 2bd1a8706d feat(sdmmc): add test config for ESP32-P4 EV board 2024-04-04 14:59:28 +02:00
Ivan Grokhotkov dd35ded06a Merge branch 'maint/supported_targets_update' into 'master'
readme, tools: supported targets update

See merge request espressif/esp-idf!29425
2024-04-03 16:58:00 +08:00
Ivan Grokhotkov 9e279a3c07 change(ci): temporarily skip failures in macOS tests 2024-04-03 09:21:19 +02:00
Ivan Grokhotkov ac010778b9 Merge branch 'contrib/github_pr_12507' into 'master'
change(console): drop the use of open_memstream() (GitHub PR)

Closes IDFGH-11361

See merge request espressif/esp-idf!29878
2024-03-29 01:09:05 +08:00
Ivan Grokhotkov d7436d1365 change(codeowners): add a codeowners entry for .codespellrc 2024-03-28 13:00:55 +01:00
Ivan Grokhotkov 15e63f4222 fix(esp_pm): applied spelling fixes by codespell 2024-03-28 13:00:55 +01:00
Ivan Grokhotkov 10cc15b150 fix(storage): applied spelling fixes by codespell pre-commit hook 2024-03-28 13:00:54 +01:00