Commit Graph
8583 Commits
Author SHA1 Message Date
Guillaume Souchere 177024eeeb fix(heap): Do not consider newly registered heap in minimum free size calcualtion
After startup is done and app_main is reached, all calls to
heap_caps_add_region_with_caps (adding a new heap to the list of registered
heaps) will not affect the minimum free heap size value.

For heaps created before startup, this won't apply and their size will
end up being taken into account in the calculation of the minimum.
2026-05-28 10:30:25 +02:00
Guillaume Souchere d670774f5c feat(esp_common): implement composable error code registration via link-time arrays
Refactor the esp_err_to_name() system to decouple esp_common from
higher-level components. Instead of a monolithic generated table,
each component registers its error codes into a dedicated linker
section (.esp_err_msg_table) via idf_define_esp_err_codes() in its
CMakeLists.txt.

New files:
- tools/err_codes_extract.py: extract ESP_ERR_* defines from headers to CSV
- tools/err_codes_to_c.py: generate C source placing entries into linker section
- tools/err_codes_to_rst.py: generate RST documentation from error codes
- tools/cmake/err_codes.cmake: CMake module providing idf_define_esp_err_codes()
- components/esp_common/include/esp_err_codes.h: esp_err_msg_t typedef
- components/esp_common/src/esp_err_to_name_new.c: new lookup using link-time array
- tools/test_apps/build_system/err_codes_check/: CI test app

Changes:
- Remove all optional component dependencies from esp_common/CMakeLists.txt
- Add .esp_err_msg_table section to all 5 linker scripts
- Register error codes in 18 components via idf_define_esp_err_codes()
- Add new scripts to .gitlab/ci/rules.yml build_check patterns
- use new scripts to generate doc and add CI validation
- Update esp_err.rst to add description of composable code registration
2026-05-28 09:53:32 +02:00
Ashish Sharma d0401f2f4e docs(esp_http_server): adds doc and migration entry for ws server post handshake cb
Closes https://github.com/espressif/esp-idf/issues/18539
2026-05-28 10:39:29 +08:00
igor.masar d4d993c818 feat(soc): add USB DFU and OTG console caps
Add USB DFU and OTG console SOC capability flags for esp32s2, esp32s3, and esp32p4.

Use these caps in Kconfig, documentation conditionals, and idf.py DFU actions so USB support
is derived from SOC capabilities instead of hardcoded target names.
2026-05-27 10:58:50 +02:00
Erhan Kurubas 5bcaf281e2 Merge branch 'feat/esp_trace_example' into 'master'
esp_trace example library integration

See merge request espressif/esp-idf!48605
2026-05-26 17:38:22 +02:00
nilesh.kale fe257f699e feat: enable Secure Boot, Flash Encryption and Key Manager support for S31 2026-05-26 12:57:34 +08:00
renpeiying a6f111e65c docs: Update CN trans 2026-05-26 10:54:45 +08:00
daiziyan 5cb134d137 feat: add a fixed document title in the document feedback form 2026-05-25 15:48:14 +08:00
Chen Ji Chang ea0b39f521 Merge branch 'docs/spi-slave-timeout-return' into 'master'
docs(driver_spi): document SPI slave timeout returns

Closes IDFGH-17691

See merge request espressif/esp-idf!48783
2026-05-25 14:00:52 +08:00
Shreyas Sheth 2d3c11b277 fix(esp_wifi): Fix ci pipeline for random mac feature 2026-05-25 11:22:45 +08:00
Zhang Shuxian 17e4e38cda Resubmit CN translation update 2026-05-25 11:22:45 +08:00
JackandCursor 4786ab4d14 docs(wifi): add Chinese translation for MAC randomization
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 11:22:45 +08:00
Aditi 18cbdbf2b1 feat(esp_wifi): Add improvements for privacy extension
1) Add support for MAC randomization in Active scan and connect
  2) Add support for randomizaton of sequence numbers
  3) Add support for randomization of dialog token for GAS frames
2026-05-25 11:22:45 +08:00
He Binglin 3bf83125b4 Merge branch 'change/esp_idf_ext1_unhold' into 'master'
Optimize parts of the sleep wake-up flow

See merge request espressif/esp-idf!47322
2026-05-25 11:15:22 +08:00
He Binglin eec18ba80a Merge branch 'doc/esp_idf_flash_pwr_description' into 'master'
docs(pm): add flash sleep strategy recommendations

See merge request espressif/esp-idf!45689
2026-05-22 17:44:50 +08:00
Wan Lei bf10423a5b Merge branch 'feat/spi_3wire_sio_support_on_slave_hd' into 'master'
feat(driver_spi): 3wire sio mode support on slave_hd mode

See merge request espressif/esp-idf!48318
2026-05-22 15:41:12 +08:00
Jiang Jiang Jian 197d784600 Merge branch 'feat/a2dp_support_other_codec' into 'master'
feat(bt): A2DP source supports AAC codec

See merge request espressif/esp-idf!48631
2026-05-22 14:27:33 +08:00
hebinglin 23f6b5985a change(esp_hw_support): disable flash pd in h4 h21 c5 c61 2026-05-22 12:30:44 +08:00
hebinglin 2e59c25ecb docs(pm): add flash sleep strategy recommendations 2026-05-22 12:30:09 +08:00
wanckl f00c0cff28 feat(driver_spi): 3wire sio mode support on slave_hd mode 2026-05-22 11:59:57 +08:00
hebinglin 418ffbe2a6 change(esp_pm): move timer wakeup set out of critical section 2026-05-22 11:45:21 +08:00
Jiang Jiang Jian 90ec41a9f7 Merge branch 'feat/support_rom_psa_mbedtls' into 'master'
feat(mbedtls): enable ESP32-C2(Rev2.0) ROM mbedTLS crypto for PSA

Closes IDF-15012

See merge request espressif/esp-idf!48211
2026-05-22 11:24:42 +08:00
yangfeng e7d079c422 feat(bt): Add a2dp_source_aac example 2026-05-21 21:15:36 +08:00
yangfeng 22f116eed5 feat(bt): Add a2dp_sink_stream_aac example 2026-05-21 21:15:36 +08:00
Chen Jichang b9386bf807 docs(spi): document SPI slave timeout returns
Closes https://github.com/espressif/esp-idf/issues/18636
2026-05-21 14:44:13 +08:00
Mahavir Jain 4811388910 Merge branch 'feat/spiram_enc_exempt' into 'master'
feat(esp_psram): add option to carve unencrypted PSRAM region

Closes IDF-15032

See merge request espressif/esp-idf!48214
2026-05-21 11:36:58 +05:30
Island b970c5f674 Merge branch 'ble_dev/esp32h21_chip_20260513' into 'master'
Ble dev/esp32h21 chip 20260513

Closes BLERP-2798, IDF-11626, IDF-11652, IDF-11653, IDF-11655, IDF-14811, IDF-14812, IDF-14813, IDF-14814, and IDF-14815

See merge request espressif/esp-idf!48499
2026-05-21 14:00:09 +08:00
Armando (Dou Yiwen) a6c0ea2289 Merge branch 'feat/sdmmc_s31' into 'master'
sdmmc: s31 support

Closes IDF-14705 and IDF-14706

See merge request espressif/esp-idf!47232
2026-05-21 04:59:49 +00:00
morris 9559f3114d Merge branch 'feat/i2s_destination_config' into 'master'
feat(i2s): add Bluetooth destination config for esp32s31

Closes IDF-15674

See merge request espressif/esp-idf!48482
2026-05-21 12:21:15 +08:00
armando f408e1a8bc feat(sdmmc): add esp32s31 support
Enable SDMMC host support on ESP32-S31 across HAL, SOC caps, tests, examples, and documentation.
2026-05-21 09:09:28 +08:00
Wu Zheng Hui 91e66a8d19 Merge branch 'feat/support_io_edge_wakeup' into 'master'
feat(esp_hw_support): support rtc io edge wakeup sleep

Closes FCS-1880 and IDF-11812

See merge request espressif/esp-idf!48410
2026-05-20 19:37:35 +08:00
ShenWeilong cf813a4a1e feat(ble): Added ble support for esp32h21 2026-05-20 19:24:08 +08:00
Erhan Kurubas 41d425bf05 feat(esp_trace): add example to demonstrate external lib integration 2026-05-20 11:55:10 +02:00
Nilesh Kale 2fa9fba978 Merge branch 'feat/add_flash_encryption_support_for_esp32h4' into 'master'
feat: enable flash encryption support in ESP32H4

Closes IDF-12261, IDF-12969, and IDF-12506

See merge request espressif/esp-idf!45613
2026-05-20 17:45:13 +08:00
Nilesh Kale d8dbc83e7e Merge branch 'feat/enable_ds_hmac_ecdsa_support_for_esp32s31' into 'master'
feat(hal): add ECDSA,  HMAC and Digital Signature support for esp32s31

Closes IDF-14623, IDF-14624, IDF-14621, and IDF-13062

See merge request espressif/esp-idf!48134
2026-05-20 17:44:14 +08:00
Marius Vikhammer ddea7a5c42 Merge branch 'ci/panic_test_split_coredump' into 'master'
ci: trim panic_coredump build-test dependencies

See merge request espressif/esp-idf!48442
2026-05-20 15:36:42 +08:00
Hu Rui 5067b26eb3 Merge branch 'test/uart_dma_ota_fix' into 'master'
refactor(uhci): refactor uart_dma_ota example

See merge request espressif/esp-idf!48076
2026-05-20 15:35:03 +08:00
Jiang Guang Ming d827bbd085 docs(mbedtls): update docs with CONFIG_MBEDTLS_USE_CRYPTO_ROM_IMPL 2026-05-20 14:15:22 +08:00
Mahavir Jain 945f43cba1 docs(esp_psram): mirror carve-out review-feedback updates in zh_CN
Mirror the recent EN-side updates in the Chinese External RAM guide:

- Replace "PSRAM 顶部" with "PSRAM 上端(最高物理地址区)" to match the
  clarified wording on the EN side.
- Add the verification-helper pointer next to the heap_caps_malloc
  example so Chinese readers also learn about esp_psram_ptr_is_no_enc().

Also drop the :cpp:func: cross-reference for esp_psram_ptr_is_no_enc on
the EN side: esp_psram.h is not in any chip-specific Doxyfile, so
Sphinx/Breathe cannot resolve the reference. Use a plain inline code
literal instead, matching the existing reference style for
esp_psram_get_size and other esp_psram functions in the docs.
2026-05-20 11:19:42 +05:30
Konstantin Kondrashov fd7b44503b Merge branch 'feat/update_efuse_doc_for_new_chips' into 'master'
feat(docs): Update efuse doc for H4 and H21

Closes IDF-12959 and IDF-12154

See merge request espressif/esp-idf!48706
2026-05-20 08:01:21 +03:00
Mahavir Jain 9dff0c23b7 docs(esp_psram): clarify carve-out location is at upper end of PSRAM
The previous wording "top of PSRAM" was ambiguous: the carve-out is
actually mapped at the highest physical addresses of PSRAM (after the
rodata, text, and main heap mappings). Update the Kconfig help text for
SPIRAM_ENC_EXEMPT and SPIRAM_ENC_EXEMPT_SIZE, the External RAM
documentation, and the internal layout comment to say "upper end of PSRAM
(highest physical addresses)" instead.
2026-05-20 10:28:17 +05:30
Mahavir Jain 231dc0e884 feat(esp_psram): add esp_psram_ptr_is_no_enc() helper
Drivers that allocate from the unencrypted PSRAM carve-out via
MALLOC_CAP_SPIRAM_NO_ENC currently have no way to verify after the fact
which pool a buffer came from. This is particularly relevant for callers
using heap_caps_malloc_prefer(MALLOC_CAP_SPIRAM_NO_ENC, MALLOC_CAP_SPIRAM),
where a silent fallback to encrypted PSRAM would still pass the typical
esp_ptr_external_ram() check.

Expose esp_psram_ptr_is_no_enc() in the public esp_psram.h header. It
performs a range check against the carve-out's virtual-address window and
returns false when PSRAM is not initialized or CONFIG_SPIRAM_ENC_EXEMPT is
disabled, so callers do not need to guard the call site with #if.

Also reference the helper from the External RAM documentation alongside
the heap_caps_malloc(MALLOC_CAP_SPIRAM_NO_ENC) usage example.
2026-05-20 10:28:06 +05:30
nilesh.kale a530aab0a6 feat: enable key manager and HUK support for S31 2026-05-20 10:17:34 +05:30
nilesh.kale cae147af08 feat: enable flash encryption for ESP32-H4 2026-05-20 09:29:20 +05:30
Hu Rui b222c61cb8 refactor(uhci): improve uart_dma_ota example & uhci docs
add const to UHCI rx callback edata->data
2026-05-20 11:21:29 +08:00
wuzhenghui 0bd5331db7 feat(doc): update docs for sleep gpio edge wakeup 2026-05-20 11:04:03 +08:00
Mahavir Jain 3c828801b0 Merge branch 'docs/update_vulnerability_list_19055026' into 'master'
docs(vulnerabilities): sync vulnerability list for 5 advisories

See merge request espressif/esp-idf!48691
2026-05-19 19:44:56 +05:30
Konstantin Kondrashov 1ced5355fd feat(docs): Update efuse doc for H21 2026-05-19 15:38:19 +03:00
Konstantin Kondrashov b0da67ab1d feat(docs): Update efuse doc for H4 2026-05-19 15:17:50 +03:00
Chen Ji Chang ee9e481ae4 Merge branch 'feat/support_lcd_gdb_buffer_display' into 'master'
feat(lcd): provide a gdb extension to dump buffer

Closes IDF-15296

See merge request espressif/esp-idf!47902
2026-05-19 19:37:37 +08:00