Commit Graph
1980 Commits
Author SHA1 Message Date
Shen Meng Jing d45bdee9e2 Merge branch 'docs/update_unit_test' into 'master'
docs: Add related documentation for unit test

Closes DOC-13841

See merge request espressif/esp-idf!46394
2026-03-10 17:23:28 +08:00
Shen Mengjing 9e1705a8b4 docs: Add related documentation for unit test 2026-03-10 11:58:29 +08:00
Sudeep Mohanty f98df52a0f Merge branch 'feat/buildv2_comp_opt_requires' into 'master'
fix(cmakev2): Defer idf_component_optional_requires linking to library build time

See merge request espressif/esp-idf!46059
2026-03-09 12:12:12 +01:00
Mahavir Jain e6319ef712 docs: update PSRAM and flash encryption docs with per-page and separate key capabilities 2026-03-05 12:03:53 +05:30
Sudeep Mohanty 7f7f40404b Merge branch 'feat/buildv2_component_cb_framework' into 'master'
feat(cmakev2): Add build event callback framework for components

See merge request espressif/esp-idf!46018
2026-03-04 15:12:53 +01:00
Sudeep Mohanty 45dc2e5868 fix(cmakev2): Defer idf_component_optional_requires linking to library build time
This commit introduces a new build property, __OPTIONAL_REQUIRES_MODE,
and uses it to either defer or link immediately, optional requirements
to components that request such linkage via the
idf_component_optional_requires() function in build system v2. The
DEFERRED mode is intended for single-binary projects where in the linking
of optional components happens after the library target is created the
dependency graph is available to the build system, thereby allowing it to
behave like the v1 version of the function.

Made-with: Cursor
2026-03-04 15:09:15 +01:00
Marius Vikhammer 82665cbbbe ci(docs): add check that all IDF examples are referenced in the programming guide
Made-with: Cursor
2026-02-28 10:41:50 +08:00
Sudeep Mohanty 9a86a46139 docs(cmakev2): Added a section about component callback feature 2026-02-26 08:53:19 +01:00
Shen Meng Jing 9c42eaab2e Merge branch 'docs/sync_cn_and_en' into 'master'
docs: Sync the CN transation and EN source

Closes DOC-13807

See merge request espressif/esp-idf!45861
2026-02-26 12:02:57 +08:00
Sudeep Mohanty a8423cf751 Merge branch 'feat/buildv2_examples' into 'master'
feat(cmakev2): Added cmakev2 examples

Closes IDF-13070, IDF-14185, and IDF-15153

See merge request espressif/esp-idf!45400
2026-02-25 13:58:27 +01:00
Sudeep Mohanty 888b89273f docs(cmakev2): Add a reference to cmakev2 examples README to the buildv2 API guide 2026-02-24 11:21:20 +01:00
Zhang Shuxian 41902a0984 docs: Update CN translation for JTAG debugging 2026-02-24 17:11:57 +08:00
Samuel Obuch 1c6dbe7f5c fix(docs): unlimited number of sw breakpoints available for riscv targets 2026-02-24 15:47:48 +08:00
Samuel Obuch c28fcf0617 fix(docs): add missing USB pins 2026-02-24 15:47:48 +08:00
Shen Mengjing df1af52cc4 docs: Sync the CN transation and EN source 2026-02-24 10:58:19 +08:00
Frantisek Hrbata b90098a9f2 feat(tools): esp-idf-sbom integration into idf.py
While the `esp-idf-sbom` `idf.py` extension is implemented within the
`esp-idf-sbom` python package, a few minor changes are also required on
the `idf.py` side.

1. Add `esp-idf-sbom` as a core requirement so it is automatically
   installed by the installation scripts.
2. Add the `sbom-create` action to the list of actions for which the
   flashing-related closing message is displayed.
3. Update the documentation in the api-guides for tools.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-02-16 09:03:17 +01:00
renpeiying 98d5785f86 docs: Update CN translation 2026-02-13 15:59:31 +08:00
Marek Fiala 75bf3bdb54 feat(tools): Extended hints.yml loading from components 2026-02-13 15:59:31 +08:00
Roland Dobai db947a0d51 Merge branch 'fix/minimal_build_no_main' into 'master'
fix(build): ensure the main component exists when MINIMAL_BUILD is enabled

Closes IDFGH-17219 and DOC-13790

See merge request espressif/esp-idf!45770
2026-02-13 06:33:17 +01:00
Frantisek Hrbata 5dac2fee69 Merge branch 'fix/cmakev2_idf_component_optional_requires' into 'master'
fix(cmakev2/compat): change idf_component_optional_requires behavior

Closes IDFGH-17112

See merge request espressif/esp-idf!45588
2026-02-12 08:50:24 +01:00
Frantisek Hrbata 795904a41c fix(build): ensure the main component exists when MINIMAL_BUILD is enabled
The minimal build property is simply a shorthand for `set(COMPONENTS
main)`. The issue is that there is currently no check to verify whether
the `main` component actually exists or is known to the build system.
If the `main` component is not present, print an error message along
with suggestions on how to fix this inconsistency.

Closes https://github.com/espressif/esp-idf/issues/18219

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-02-10 03:36:48 +08:00
Samuel Obuch c03b548af4 docs(jtag): update esp32h21 jtag debugging guide 2026-02-06 12:54:29 +01:00
Frantisek Hrbata e1eae669bc fix(cmakev2/compat): change idf_component_optional_requires behavior
The idf_component_optional_requires compatibility function in cmakev2
currently attempts to mimic the behavior of cmakev1 by adding a
dependency only if a component is already included in the build. In
cmakev1, this is handled by checking the BUILD_COMPONENTS list, which is
created during an early evaluation phase. Because cmakev2 removed this
early phase to allow for configuration-based component dependencies, the
build system does not inherently know which components will be part of
the build beforehand. To compensate, the current compatibility function
relies on the TARGET_EXISTS generator expression to determine if a
component should be linked.

This approach poses a problem because generator expressions are not
evaluated until the generation phase, but cmakev2 processes linker
scripts during the configuration phase by recursively scanning targets
linked to a library. Because the scanner does not recognize and cannot
evaluate generator expressions, any component linked optionally through
generator expression is skipped. If that component carries a linker
script, the script is never added to the library interface, resulting in
build failures. Since cmakev2 aims to support multiple libraries, a
component might also exist globally, causing TARGET_EXISTS to evaluate
to true, yet still be missed during a specific library's recursive scan,
leading to the same omission of necessary linker scripts.

To resolve this, the implementation of idf_component_optional_requires
is changed to check if a component is known to the build system in
COMPONENTS_DISCOVERED build property. If so, it is explicitly included
and linked directly via its interface target. While this may pull more
components into a build than the previous generator expression method,
potentially increasing build times, it ensures that dependency trees are
fully visible to the library target scanner. This serves as a practical
middle ground that maintains compatibility with existing components and
ensures build stability. This approach allows for the gradual fixing of
idf_component_optional_requires usage in components for cmakev2, with
the eventual goal of removing its usage in cmakev2 entirely.

This change also fixes cases where idf_component_optional_requires is
used to conditionally add requirements based on configuration options.
In cmakev2, the presence of a configuration option does not guarantee[1]
that a component has been included via add_subdirectory, unlike the
behavior in cmakev1. With this change even constructions like

```cmake
if(CONFIG_VFS_SUPPORT_IO)
    idf_component_optional_requires(PRIVATE vfs)
endif()
```

will now work in cmakev2, as the updated idf_component_optional_requires
explicitly includes the required component if it is available to the
build system.

Closes https://github.com/espressif/esp-idf/issues/18133

[1] https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system-v2.html#id9

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-02-04 09:28:35 +01:00
harshal.patil 0cebfe7771 change(mbedtls): Disable MBEDTLS_SHA3_C by default 2026-02-03 14:55:44 +08:00
Marius Vikhammer 79950e4783 docs(esp32s31): add support for building docs for esp32s31 2026-01-28 09:42:24 +08:00
Jack fda9e96100 fix some issues found by Opus 4.5 2026-01-27 10:38:20 +08:00
luweike 1e85c13bd5 docs: Clarify Bluetooth Classic capabilities and profile support 2026-01-20 17:26:07 +08:00
Marek Fiala 9b0475de34 docs(tools): Made static link for config profile files
Made the reference link to v5.5 to reflect the correct example,
as in later version the example was changed.
2026-01-14 23:17:00 +08:00
Marek Fiala 3a23146518 docs(tools): Updated argument via file with quotations
Closes https://github.com/espressif/esp-idf/issues/18077
2026-01-14 23:17:00 +08:00
luweike b26f636ce3 docs: Add BLE support information for C5 and C61 2026-01-13 15:29:44 +08:00
Guillaume Souchere 0c570d860d feat(esp_event): Add option to allocate event loop in external RAM 2026-01-08 10:38:43 +01:00
Mo Fei Fei cbc34e3676 Merge branch 'docs/add_s3_usb_otg_board_ref_in_dfu' into 'master'
docs: add reference to ESP32-S3-USB-OTG board

Closes DOC-4873 and DOC-13439

See merge request espressif/esp-idf!44603
2026-01-05 11:08:57 +08:00
mofeifei 6653d97bbe docs: add reference to ESP32-S3-USB-OTG board 2026-01-04 18:57:56 +08:00
Wei Yuhan 8de6782cfa docs(ble): Added controller sdkconfig in ble-multiconnection-guide.rst 2025-12-30 16:44:39 +08:00
Shen Mengjing 17874b7955 docs: Sync four CN and EN docs 2025-12-26 14:22:41 +08:00
Wei Yu Han deacf96eb8 Merge branch 'docs/add_ble_multiconnection_guide_latest' into 'master'
docs(ble): Added BLE Multi Connection Guide

See merge request espressif/esp-idf!43189
2025-12-26 10:31:15 +08:00
Ren Peiying 5c0c17231c Merge branch 'docs/add_cn_trans_for_stdio_and_system' into 'master'
docs: Update translation for system, add translation for stdio.rst

Closes DOC-13272

See merge request espressif/esp-idf!44391
2025-12-25 19:22:47 +08:00
Wei Yuhan 80905af2f0 docs(ble): Added BLE Multi Connection Guide 2025-12-24 19:58:05 +08:00
yinqingzhao a6b2eb6ad0 refactor(wifi): remove enum values WIFI_BW_HT20 and WIFI_BW_HT40 2025-12-24 14:11:52 +08:00
Wang Ning 9f10058395 Docs: Update Get Started for EIM 2025-12-23 22:29:08 +08:00
renpeiying 4f30d217dd Update according to review 2025-12-22 14:15:49 +08:00
renpeiying 7044dfc1a9 docs: Update translation for system, add translation for stdio.rst 2025-12-18 17:56:19 +08:00
luoxu a301dc1eac feat(ble_mesh): dfd client/server supported 2025-12-18 15:24:50 +08:00
Konstantin Kondrashov 9a95549bee Merge branch 'contrib/github_pr_15525' into 'master'
feat(esp_common): Adds ESP_RETURN_ON_ERROR_CLEANUP macro (GitHub PR)

Closes IDFGH-14787

See merge request espressif/esp-idf!44049
2025-12-11 00:15:28 +08:00
He Binglin 7a4acd64c7 Merge branch 'feature/support_lightsleep_flash_dpd_mode' into 'master'
feat: Support set flash to deep power down mode in lightsleep

Closes PM-619 and IDF-7359

See merge request espressif/esp-idf!25578
2025-12-10 15:48:55 +08:00
Robot fdb78272a4 feat(esp_common): Adds ESP_RETURN_ON_ERROR_CLEANUP macro
Merges: https://github.com/espressif/esp-idf/pull/15525
2025-12-09 15:34:41 +02:00
hebinglin 520d1de4c1 docs(pm): add flash deep power-down mode description docs 2025-12-09 17:19:27 +08:00
luweike 7a528c46f6 docs: remove old wifi.rst files after document split 2025-12-09 09:24:17 +08:00
Alexey Lapshin 31810ae993 feat(esp_libc): make picolibc default libc 2025-12-03 13:31:42 +07:00
Jan Beran 132f191874 feat(core-ext): Add refresh-config command
This command will allow users to resolve mismatches in default values
between sdkconfig and Kconfig according to a policy specified:

* sdkconfig: Using default values from sdkconfig (backward compatible)
* interactive: User can choose the source for every affected config
  option separatedly
* kconfig: Using default values from Kconfig
2025-11-25 20:31:08 +08:00