Compare commits

..

4398 Commits

Author SHA1 Message Date
Marius Vikhammer 9ef24e3e2a change(version): Update version to 5.2.6 2025-09-30 09:15:16 +08:00
Jiang Jiang Jian b6f95aa217 Merge branch 'bugfix/sae_identifier_nvs_v5.2' into 'release/v5.2'
fix(esp_wifi): Set default nvs value for sae identifier to NULL (v5.2)

See merge request espressif/esp-idf!42248
2025-09-29 10:55:24 +08:00
Kapil Gupta ef95431aa6 fix(esp_wifi): Set default nvs value for sae identifier to NULL 2025-09-28 10:52:30 +05:30
Jiang Jiang Jian 2bc90b1274 Merge branch 'fix/int_wdt_timeout_for_esp32c2_v5.2' into 'release/v5.2'
BLE Controller Release/v5.2 Blocker Fix (20250917)

See merge request espressif/esp-idf!41964
2025-09-23 18:51:15 +08:00
Shen Weilong e184066735 fix(ble): Fixed an issue of wrong peer_addr in enh_conn_cmp hci evt on ESP32C6/ESP32H2 2025-09-18 10:41:42 +08:00
Zhou Xiao 18b9128d30 fix(ble): fixed occasional interrupt watchdog timeout for ESP32-C2 2025-09-18 10:41:08 +08:00
Jiang Jiang Jian 44ac6ead8a Merge branch 'fix/correct_adc_periph_num_on_c2_v5.2' into 'release/v5.2'
fix(adc): fix ESP32-C2/P4 wrong adc periph num (v5.2)

See merge request espressif/esp-idf!41539
2025-08-29 10:30:34 +08:00
Jiang Jiang Jian 9740e64dad Merge branch 'fix/wrong_auth_mode_in_sta_connected_evt_v5.2' into 'release/v5.2'
fix(wifi): send correct wifi_auth_mode_t in WIFI_EVENT_STA_CONNECTED and logs (Backport v5.2)

See merge request espressif/esp-idf!41590
2025-08-29 10:21:13 +08:00
Jiang Jiang Jian a3bcc90662 Merge branch 'bugfix/wifibug-1373_v5.2' into 'release/v5.2'
backport v5.2: add hal interface to configure pau regdma wait timeout parameter

See merge request espressif/esp-idf!41531
2025-08-28 22:04:03 +08:00
Li Shuai 855492fa2e change(hal): add hal interface to configure pau regdma wait timeout parameter 2025-08-28 19:09:08 +08:00
Sarvesh Bodakhe b5f2d82c47 fix(wifi): add GCMP-128 support for SoftAP and some other bugfixes
- GCMP-256 SoftAP support was previously added as part of SAE Extended Key handling.
- Fixes the authmode sent in WIFI_EVENT_STA_CONNECTED, which was previously taken
  directly from the AKM field. This caused incorrect values in some cases.
- Updates the "security" log to show the correct wifi_auth_mode_t.
- Fixes wrong authmode strength used in the connection path.
2025-08-28 13:55:22 +05:30
Jiang Jiang Jian 5a4f6756da Merge branch 'feat/new_api_to_get_all_wakeup_causes_v5.2' into 'release/v5.2'
feat(esp_hw_support): add new API to get all wakeup sources (v5.2)

See merge request espressif/esp-idf!41500
2025-08-27 20:23:37 +08:00
Jiang Jiang Jian 87030ba2f7 Merge branch 'bugfix/fix_espnow_coexist_mode_switch_issue_v5.2' into 'release/v5.2'
fix(wifi): fix some esp-now issues and lightsleep issues

See merge request espressif/esp-idf!41532
2025-08-27 19:59:13 +08:00
Jiang Jiang Jian 29b25b586a Merge branch 'opt/opt_ble_stability_v5.2' into 'release/v5.2'
Improve ESP32 stability and security (v5.2)

See merge request espressif/esp-idf!41545
2025-08-27 19:41:31 +08:00
Jiang Jiang Jian 687119681b Merge branch 'bugfix/fix_multi_pdm_rx_slot_clock_issue_v5.2' into 'release/v5.2'
fix(i2s_pdm): fixed pdm multi slot clock issue (v5.2)

See merge request espressif/esp-idf!41181
2025-08-27 19:40:44 +08:00
Jiang Jiang Jian 3e0ef8f00b Merge branch 'fix/fix_dhcp_server_main_dns_set_issue_v52' into 'release/v5.2'
fix(lwip): fix dhcp server set main dns issue v52

See merge request espressif/esp-idf!41510
2025-08-27 15:41:26 +08:00
Jiang Jiang Jian 0ab1ea2aac Merge branch 'feat/concat_otcommand_for_console_v5.2' into 'release/v5.2'
feat(openthread): support openthread cli console command register(v5.2)

See merge request espressif/esp-idf!41505
2025-08-27 14:29:22 +08:00
Jiang Jiang Jian f1f5d21e41 Merge branch 'docs/migration_guides_bt_classic_v5.2' into 'release/v5.2'
docs: Add SoC conditional flag for Bluetooth Classic in migration guides (v5.2)

See merge request espressif/esp-idf!41525
2025-08-27 14:13:20 +08:00
liqigan cdbcda7d4b fix(bt/controller): Fixed some controller bugs 2025-08-27 11:13:04 +08:00
JinCheng e371d36165 fix(bt/controller): fixed some controller bugs 2025-08-27 11:12:59 +08:00
wuzhenghui a0cec6a7ef feat(esp_hw_support): add new API to get all wakeup sources 2025-08-26 21:54:42 +08:00
Zhang Hai Peng bf66761962 fix(bt): Update esp32 libbtdm_app.a (f1dc7d8)
- Improve ESP32 stability and security


(cherry picked from commit 8ec5410236)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-08-26 21:53:21 +08:00
gaoxu 046bb819dd fix(adc): fix wrong adc periph num on C2/P4 2025-08-26 18:55:02 +08:00
liuning f06f12f08a fix(wifi): fix some esp-now issues and lightsleep issues
1. fix tbtt issues when wifi_slp_iram_opt is not enabled and light sleep
   enabled
2. support espnow rx all the time at coexistence default mode, fix some
   coexist perfermance issue with coexistence default mode.
3. support connectionless ps with enhanced_light_sleep
4. fix espnow coexist issue when switching to coexistence mode
5. fix concurrent issue of connectionless_interval_set API
2025-08-26 17:49:53 +08:00
luweike 607af75c2d docs: Add SoC conditional flag for Bluetooth Classic in migration guides 2025-08-26 16:41:15 +08:00
laokaiyao 3b034c6886 feat(i2s): add PLL240M clock source on S3 and C6
Closes https://github.com/espressif/esp-idf/issues/17056
2025-08-26 15:20:36 +08:00
laokaiyao 3d5d0c939e fix(i2s_pdm): fixed pdm multi slot clock issue
Fixed the sample rate slow down issue when using more than 4 slots in  pdm rx mode.
2025-08-26 15:20:36 +08:00
wangtao@espressif.com 6285bbce27 fix(lwip): fix dhcp server set main dns issue 2025-08-26 14:48:55 +08:00
zwx 1f0abbec29 feat(openthread): support openthread cli console command register 2025-08-26 12:34:21 +08:00
Jiang Jiang Jian 3f2fa7e3e4 Merge branch 'refactor/use_gdma_link_in_rmt_v5.2' into 'release/v5.2'
refactor(rmt): use gdma link list driver to mount buffer (v5.2)

See merge request espressif/esp-idf!41240
2025-08-26 10:47:09 +08:00
Jiang Jiang Jian 47b198438f Merge branch 'feat/support_11ax_rate_for_cert_test_V5.2' into 'release/v5.2'
Feat/support 11ax rate for cert test v5.2(Backport v5.2)

See merge request espressif/esp-idf!41456
2025-08-26 10:46:52 +08:00
Jiang Jiang Jian a9e37ff785 Merge branch 'feat/make_https_async_request_under_crt_bundle_config_v5.2' into 'release/v5.2'
feat(esp_http_client): Make https_async request under CERT BUNDLE config (v5.2)

See merge request espressif/esp-idf!41461
2025-08-26 10:46:45 +08:00
Jiang Jiang Jian 36773cb6b5 Merge branch 'bugfix/post_conn_failure_v5.2' into 'release/v5.2'
fix(nimble): Add code to post connection failure (v5.2)

See merge request espressif/esp-idf!41445
2025-08-26 10:46:31 +08:00
Jiang Jiang Jian 1e8dc22880 Merge branch 'backport/backport_some_bugfix_250822_v5.2' into 'release/v5.2'
fix(wifi): fix some wifi bugs(backport v5.2)

See merge request espressif/esp-idf!41466
2025-08-26 10:30:14 +08:00
yinqingzhao 5d3e52cfee fix(wifi): fix some wifi bugs 2025-08-25 16:42:36 +08:00
Jiang Jiang Jian ef0e87ce59 Merge branch 'enhancement/protect_from_odd_phy_disable_operations_by_single_modem_v5.2' into 'release/v5.2'
esp_phy: Add protection of consecutive disable operations by single modem source (v5.2)

See merge request espressif/esp-idf!41294
2025-08-23 10:32:27 +08:00
hrushikesh.bhosale 483d9c400f feat(esp_http_client): Make https_async request under CERT BUNDLE config
Make https_async rqeuest under MBEDTLS_CERTIFICATE_BUNDLE config
2025-08-22 16:31:55 +05:30
Rahul Tank 18b6c7576b fix(nimble): Add code to post connection failure
In event of a corner case, where connection is not completed,
connection reattempt is disabled, so need to post connection
failure event to application to make it aware of the failure
2025-08-22 16:20:43 +05:30
muhaidong f0d424de76 feat(phy): update 11ax rate for cert test 2025-08-22 17:23:42 +08:00
muhaidong ac6150f4a6 feat(phy): add 11ax rate for cert test 2025-08-22 17:23:32 +08:00
Jiang Jiang Jian 4145668033 Merge branch 'bugfix/update_librtc_v5.2' into 'release/v5.2'
fix(esp_phy): update esp32 librtc.a for coex problems (v5.2)

See merge request espressif/esp-idf!41254
2025-08-22 16:33:36 +08:00
Jiang Jiang Jian de3524a270 Merge branch 'fix/fix_connect_mem_leakage_v52' into 'release/v5.2'
fix(wifi): fix wifi connect mem leakage v52

See merge request espressif/esp-idf!41427
2025-08-22 15:47:00 +08:00
Jiang Jiang Jian c91db96ce5 Merge branch 'fix/adding_missing_apis_nimble_v5.2' into 'release/v5.2'
fix(nimble): Added helper APIs in NimBLE (v5.2)

See merge request espressif/esp-idf!40931
2025-08-22 15:46:49 +08:00
Jiang Jiang Jian 1e4482d1f2 Merge branch 'bugfix/ledc_update_duty_wait_v5.2' into 'release/v5.2'
fix(ledc): duty_start bit should wait for its self-clear before next set on esp32 (v5.2)

See merge request espressif/esp-idf!41281
2025-08-22 15:46:23 +08:00
Jiang Jiang Jian 300d52a3d3 Merge branch 'bugfix/gpio_esp32_workaround_v5.2' into 'release/v5.2'
fix(gpio): fix ESP32 GPIO sleep mode handling (v5.2)

See merge request espressif/esp-idf!41259
2025-08-22 15:45:02 +08:00
Jiang Jiang Jian 797369b1be Merge branch 'change/ble_update_lib_20250814_v5.2' into 'release/v5.2'
change(ble): [AUTO_MR] 20250814 - Update ESP BLE Controller Lib (v5.2)

See merge request espressif/esp-idf!41369
2025-08-22 15:44:57 +08:00
Jiang Jiang Jian c0b36dc159 Merge branch 'bugfix/fix_bt_security_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Prevent out-of-bounds access and add type check when resolving EIR data (v5.2)

See merge request espressif/esp-idf!41400
2025-08-22 15:43:53 +08:00
Wang Mengyang b1e0afd47a fix(esp_phy): Add protection of consecutive disable operations by single modem source 2025-08-22 09:35:06 +08:00
wangtao@espressif.com 1726a68f9b fix(wifi): fix wifi connect mem leakage 2025-08-21 16:27:06 +08:00
Jiang Jiang Jian 85f6b1bae2 Merge branch 'bugfix/offchan_fixes_v5.2' into 'release/v5.2'
fix(wifi): Fix issues discovered by customer for offchannel

See merge request espressif/esp-idf!41344
2025-08-21 15:35:25 +08:00
Jiang Jiang Jian ad3067d536 Merge branch 'change/remove_assert_in_esp_sleep_pd_config_v5.2' into 'release/v5.2'
change(esp_hw_support): warning in esp_sleep_pd_config instead of assert (v5.2)

See merge request espressif/esp-idf!41120
2025-08-21 15:35:22 +08:00
Jiang Jiang Jian e2b8e00cf7 Merge branch 'fix/fix_lightsleep_pd_modem_breaks_common_fe_clock_v5.2' into 'release/v5.2'
fix(esp_hw_support): fix lightsleep pd modem breaks common fe clock (v5.2)

See merge request espressif/esp-idf!41113
2025-08-20 14:36:49 +08:00
JinCheng 7f1c8cbdb6 fix(esp_phy): update esp32 librtc.a for coex problems
- ESP32 phy_version: 4861, b71b5ad, Aug, 5 2025
- ESP32 librtc version: 6758f983, Mar 22 2024, 13:39:26
2025-08-20 14:35:57 +08:00
Jiang Jiang Jian e54068f9d6 Merge branch 'fix/c6_phylib_for_modem_state_v5.2' into 'release/v5.2'
fix(esp_phy): fix c6 modem state (v5.2)

See merge request espressif/esp-idf!40871
2025-08-20 14:32:18 +08:00
yangfeng d9fe6d8940 fix(bt/bluedroid): Prevent out-of-bounds access and add type check when resolving EIR data 2025-08-20 14:31:07 +08:00
Island 53dfc861d9 Merge branch 'bugfix/ble_enhanced_security_v2_v5.2' into 'release/v5.2'
fix(ble/bluedroid): Fixed potential out-of-bounds memory access when resolve adv data (v5.2)

See merge request espressif/esp-idf!41304
2025-08-20 11:18:12 +08:00
Island 380548fbf8 Merge branch 'feat/support_blufi_adv_with_name_v5.2' into 'release/v5.2'
feat(bt/blufi): Support Blufi start advertising with specified name (v5.2)

See merge request espressif/esp-idf!41335
2025-08-20 10:37:56 +08:00
Chen Jichang e32a8c0978 feat(rmt): allow to set init level before any tx transmission
Closes https://github.com/espressif/esp-idf/issues/16068
2025-08-19 17:17:10 +08:00
Chen Jichang f31ab9c91a fix(rmt): deal with spurious RX done interrupts on ESP32
Closes https://github.com/espressif/esp-idf/issues/15948
2025-08-19 17:17:10 +08:00
Astha Verma 0de8f8d891 fix(nimble): Added missing api in nimble which present in bluedroid 2025-08-19 12:32:03 +05:30
Zhou Xiao 2f45a942a5 feat(ble): support pawr feature in ble sdk on ESP32-H2
(cherry picked from commit 2f7e200fc8)

Co-authored-by: cjin <jinchen@espressif.com>
2025-08-19 13:14:00 +08:00
Zhou Xiao 24182710b0 feat(ble): support pawr feature in ble sdk on ESP32-C6
(cherry picked from commit 410d904845)

Co-authored-by: cjin <jinchen@espressif.com>
2025-08-19 13:13:55 +08:00
Zhou Xiao 730e16a082 feat(ble): add clk source freq change of ble slow clock on ESP32-H2
(cherry picked from commit cb60528f23)

Co-authored-by: cjin <jinchen@espressif.com>
2025-08-19 13:13:53 +08:00
Zhou Xiao d084ffb260 feat(ble): add clk source freq change of ble slow clock on ESP32-C6
(cherry picked from commit b5ce766c7f)

Co-authored-by: cjin <jinchen@espressif.com>
2025-08-19 13:13:51 +08:00
Zhou Xiao 018bbf905b change(ble): [AUTO_MR] Update lib_esp32c6 to 9492a0cb
(cherry picked from commit 236baa7585)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-08-19 13:13:48 +08:00
Zhou Xiao 82058c543c change(ble): [AUTO_MR] Update lib_esp32h2 to 9492a0cb
(cherry picked from commit ea32d4cd18)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-08-19 13:13:45 +08:00
Wang Meng Yang d9521058ab Merge branch 'bugfix/check_bd_addr_only_for_bredr_v5.2' into 'release/v5.2'
fix(bt): check bd address only for bredr in bluedroid host l2cu_allocate_lcb() (v5.2)

See merge request espressif/esp-idf!41358
2025-08-19 11:40:58 +08:00
Shen Wei Long cb817ec915 fix(bt): check bd address only for bredr in bluedroid host l2cu_allocate_lcb()
(cherry picked from commit 61c13ef849)

Co-authored-by: Shen Weilong <shenweilong@espressif.com>
2025-08-18 13:23:18 +00:00
Shreyas Sheth 8efcb9d459 fix(wifi): Fix issues discovered by customer for offchannel 2025-08-18 15:51:17 +05:30
Chen Jian Hua c693664382 feat(bt/blufi): Support Blufi start advertising with specified name
(cherry picked from commit ea8bcdc360)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2025-08-18 14:54:42 +08:00
Alexey Gerenkov 7e095182e3 Merge branch 'fix/coredump_max_tasks_num_v5.2' into 'release/v5.2'
fix(coredump): implement CONFIG_ESP_COREDUMP_MAX_TASKS_NUM limitation (v5.2)

See merge request espressif/esp-idf!41130
2025-08-15 21:42:27 +08:00
Zhang Hai Peng f76024c7e7 fix(ble/bluedroid): Update Gatt_Server_Service_Table_Example_Walkthrough.md
(cherry picked from commit 6b360dacf6)

Co-authored-by: Cody <codyhubman4@gmail.com>
2025-08-15 14:53:39 +08:00
Zhang Hai Peng 6f4c3126a1 fix(ble/bluedroid): Fixed the problem of macro definition error
(cherry picked from commit 6b212c7d47)

Co-authored-by: BLKDASH <128231495+BLKDASH@users.noreply.github.com>
2025-08-15 14:53:36 +08:00
Zhang Hai Peng 49830ac220 fix(ble/bluedroid): Fixed potential out-of-bounds memory access when resolve adv data
(cherry picked from commit 12df54e8d1)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-08-15 14:53:34 +08:00
Island 5f7a1b0a04 Merge branch 'feat/support_cble50y24_108_v5.2' into 'release/v5.2'
Support multi-connection optimization and examples on Bluedroid (v5.2)

See merge request espressif/esp-idf!41197
2025-08-15 14:14:33 +08:00
Island 551bab97c1 Merge branch 'fix/spi_ble_log_get_lc_ts_ceva_v5.2' into 'release/v5.2'
fix(ble): disabled get lc ts for ESP32-C3 and ESP32-S3 (v5.2)

See merge request espressif/esp-idf!41228
2025-08-15 13:48:53 +08:00
Alexey Gerenkov 97c59d7c08 Merge branch 'feature/update-toolchain-to-esp-13.2.0_20250707_5.2' into 'release/v5.2'
feat(tools): update toolchain version to esp-13.2.0_20250707

See merge request espressif/esp-idf!41146
2025-08-15 08:08:26 +08:00
Song Ruo Jing 377d92e960 fix(ledc): duty_start bit should wait for its self-clear before next set on esp32 2025-08-14 19:28:02 +08:00
Alexey Gerenkov 32236c23a4 Merge branch 'feature/update-gdb-to-16.2_20250324_v5.2' into 'release/v5.2'
feat(tools): update gdb version to 16.2_20250324 (v5.2)

See merge request espressif/esp-idf!39337
2025-08-14 19:17:54 +08:00
Erhan Kurubas c03d98b5f3 fix(coredump): implement CONFIG_ESP_COREDUMP_MAX_TASKS_NUM limitation 2025-08-14 14:16:53 +03:00
Alexey Lapshin 80efa2f96e feat(cxx): get rid of _Unwind_SetEnableExceptionFdeSorting 2025-08-14 18:14:52 +07:00
Olivér Remény ce6760c8bb fix(gpio): Avoid error message when calling reset on an input only pin
The `gpio_reset_pin` function attempted to enable internal pullup on pins which does not have one.
This change adds a guard to `gpio_reset_pin` for calling `gpio_pullup_en`
- the same guard that makes `gpio_pullup_en` print the error.
2025-08-14 16:13:39 +08:00
Song Ruo Jing dddb4e5e58 fix(gpio): fix ESP32 GPIO sleep mode handling
The previous workaround does not work, the backup/restore should apply to RTC IO registers.
2025-08-14 16:13:22 +08:00
Zhou Xiao 08b245e7f3 fix(ble): disabled get lc ts for ESP32-C3 and ESP32-S3
(cherry picked from commit c17bf63874)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-08-14 11:13:54 +08:00
Island 1bb2d5c8a6 Merge branch 'change/ble_update_lib_20250806_v5.2' into 'release/v5.2'
change(ble): [AUTO_MR] 20250806 - Update ESP BLE Controller Lib (v5.2)

See merge request espressif/esp-idf!41138
2025-08-13 14:28:13 +08:00
Chen Jian Hua add648978a feat(ble/bluedroid): Added BLE multiple connections examples
(cherry picked from commit b8996f3953)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2025-08-12 21:33:34 +08:00
Chen Jian Hua 78afda7d5a feat(ble/bluedroid): Support multi-connection optimization vendor hci command
(cherry picked from commit f0cfb6e33c)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2025-08-12 21:33:32 +08:00
Chen Jian Hua 66a486a735 fix(ble/bluedroid): Fixed the connection count limit in multi-connection
(cherry picked from commit 437aba1653)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2025-08-12 21:33:30 +08:00
Chen Jian Hua fe34710880 fix(bt/bluedroid): adjust L2CAP round robin msg send strategy
(cherry picked from commit 2ccae5330e)

Co-authored-by: xuzhekai <xuzhekai@espressif.com>
2025-08-12 21:33:27 +08:00
Rahul Tank 976f011d2d Merge branch 'fix/update_ble_gatts_show_local_with_cpfd_v5.2' into 'release/v5.2'
fix(nimble): Update ble_gatts_show_local with CPFDs and CAFDs (v5.2)

See merge request espressif/esp-idf!41173
2025-08-12 15:05:45 +05:30
Shu Chen 751b70becf Merge branch 'feat/add_154_mac_logs_when_ot_assert_v5.2' into 'release/v5.2'
feat(openthread): add option to dump 802.15.4 MAC debug info on assert (v5.2)

See merge request espressif/esp-idf!40973
2025-08-12 07:32:01 +00:00
Sumeet Singh 1ed818295e fix(nimble): Update ble_gatts_show_local with CPFDs and CAFDs (v5.2) 2025-08-11 17:41:40 +05:30
Rahul Tank dbdb3d9d6f Merge branch 'feat/add_vsc_specify_scan_chan_v5.2' into 'release/v5.2'
fix(nimble): Add VSC for Set Scan Channel Bitmap (v5.2)

See merge request espressif/esp-idf!41095
2025-08-11 11:27:02 +05:30
Zhao Wei Liang 2d5113e2c7 change(ble): enabled specify scan channel vs hci cmd for ESP32-C2
(cherry picked from commit 2818eb91f1)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-08-11 10:30:27 +08:00
Alexey Lapshin c541513749 feat(tools): update toolchain version to esp-13.2.0_20250707 2025-08-09 12:14:28 +07:00
Zhao Wei Liang ff53ba5bb7 change(ble): [AUTO_MR] updated rom linker script for ESP32-C2
(cherry picked from commit 7f7c8e2c85)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-08-08 21:13:51 +08:00
Zhao Wei Liang 8d3d465ca1 change(ble): [AUTO_MR] Update lib_esp32c2 to dbd33ef2
(cherry picked from commit 043143ab8b)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-08-08 21:13:49 +08:00
Zhao Wei Liang 7e6d45ffbd change(ble): [AUTO_MR] Update lib_esp32c6 to 898f73cb
(cherry picked from commit fe22519bb5)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-08-08 21:13:46 +08:00
Zhao Wei Liang fdc1e23885 change(ble): [AUTO_MR] Update lib_esp32h2 to 898f73cb
(cherry picked from commit 4990dfdd23)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-08-08 21:13:44 +08:00
wuzhenghui 421bbc2cba change(esp_hw_support): warning in esp_sleep_pd_config instead of assert
Closes https://github.com/espressif/esp-idf/issues/16872#event-18649904083
2025-08-08 14:35:35 +08:00
Rahul Tank 6bc7386ec6 fix(nimble): Add VSC for Set Scan Channel Bitmap 2025-08-08 11:35:14 +05:30
Jiang Jiang Jian 5156bff435 Merge branch 'bugfix/fix_open_mode_rx_fragment_fail_issue_v5.2' into 'release/v5.2'
fix(wifi): fix open mode rx fragment fail issue(Backport v5.2)

See merge request espressif/esp-idf!41063
2025-08-08 13:59:57 +08:00
Rahul Tank 98e3201334 Merge branch 'bugfix/correct_attr_count_in_get_db_api_v5.2' into 'release/v5.2'
fix(nimble): Updating the count parameter when fetching the gatt db (v5.2)

See merge request espressif/esp-idf!41033
2025-08-08 11:21:28 +05:30
wuzhenghui ee7ba66736 change(esp_hw_support): always do hardware clock enable in modem module enabling 2025-08-08 12:02:42 +08:00
wuzhenghui c6d13ec757 fix(esp_hw_support): fix MODEM_ADC_COMMON_FE destroyed by modem powerdown lightsleep 2025-08-08 12:02:33 +08:00
Alexey Lapshin 0070d61a23 fix(gdbstub): remove QThreadEvents+ from qSupported 2025-08-06 17:13:17 +08:00
Alexey Lapshin ee62de1864 feat(tools): update gdb version to 16.2_20250324 2025-08-06 17:13:17 +08:00
muhaidong 4b82ad6635 fix(wifi): fix open mode rx fragment fail issue 2025-08-06 16:07:04 +08:00
zwx 59ece62bd9 feat(openthread): add option to dump 802.15.4 MAC debug info on assert 2025-08-06 06:34:46 +00:00
Mahavir Jain c139db386c Merge branch 'fix/update_postman_root_certificate_v5.2' into 'release/v5.2'
Updated postman root certificate (v5.2)

See merge request espressif/esp-idf!41054
2025-08-05 19:39:15 +05:30
hrushikesh.bhosale f8beb36a4e fix(esp_http_client): Moved httpd_async request from cert_pem to crt_bundle
Moved the httpd_async request from cert_pem to esp_crt_bundle. As cert_pem
is alredy tested for howmyssl URL
2025-08-05 16:28:03 +05:30
Astha Verma 62923064e5 fix(nimble): Handle count correctly by considering offset. 2025-08-05 14:46:00 +05:30
Astha Verma ffd7d9d673 fix(nimble): Updating the count parameter when fetching gatt db 2025-08-05 14:23:20 +05:30
Island a4560a1b7c Merge branch 'bugfix/fix_bt_hci_not_effective_v5.2' into 'release/v5.2'
Fixed bt hci event was not report to host when hci command was sent (v5.2)

See merge request espressif/esp-idf!41011
2025-08-05 14:31:01 +08:00
Mahavir Jain e8e67cdd74 Merge branch 'fix(esp_http_client)/fix_potential_double_free_v5.2' into 'release/v5.2'
fix(esp_http_client): fix possible double memory free (v5.2)

See merge request espressif/esp-idf!40980
2025-08-05 09:50:03 +05:30
Jiang Jiang Jian 3046997bf0 Merge branch 'fix/wpa_eap_v1_192_bit_cert_v5.2' into 'release/v5.2'
fix(wifi): Sending disconnect event in connect fail and add enterprise check 192 bit and some fixes for wpa_supplicant (v5.2)

See merge request espressif/esp-idf!40982
2025-08-04 18:23:01 +08:00
Jiang Jiang Jian 8d31925673 Merge branch 'bugfix/esp_flash_escape_checking_v5.2' into 'release/v5.2'
fix(esp_flash): fixed issue of escaping boundary check (v5.2)

See merge request espressif/esp-idf!40120
2025-08-04 14:31:08 +08:00
Jiang Jiang Jian 88b15ad8bf Merge branch 'bugfix/fixed_ble_dtm_err_v5.2' into 'release/v5.2'
Bugfix/fixed ble dtm err (v5.2)

See merge request espressif/esp-idf!40952
2025-08-04 12:07:02 +08:00
Jiang Jiang Jian 52a4768bd0 Merge branch 'bugfix/classic_bt-safe-string-handling_v5.2' into 'release/v5.2'
Bugfix/classic bt safe string handling v5.2

See merge request espressif/esp-idf!40949
2025-08-04 12:06:52 +08:00
Zhang Hai Peng 2e090afd15 fix(bt/ble): Update esp32 libbtdm_app.a (722c907a)
- Fixed bt hci event was not report to host when hci command was sent


(cherry picked from commit 155c32be20)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-08-04 11:53:25 +08:00
Jiang Jiang Jian 9916fbe387 Merge branch 'fix/wpsreg_crash_due_to_double_reset_v5.2' into 'release/v5.2'
fix(wifi): Fix crash in WPS-registrar due to nested 'eap_wsc_reset()' calls (backport v5.2)

See merge request espressif/esp-idf!40963
2025-08-04 10:15:28 +08:00
Kapil Gupta bbdf1b4e99 fix (esp_wifi): Set default akm as eap for non AKM APs 2025-08-01 12:51:52 +05:30
Kapil Gupta dc5ae9c88f fix(wpa_supplicant): Delay sending of EAP_START for EAP auth 2025-08-01 12:50:33 +05:30
tarun.kumar fb9c3aeac4 fix(wifi): Sending disconnect event in connect fail and add enterprise check in Suite-B 192-bit certification 2025-08-01 12:48:32 +05:30
tarun.kumar f5c14ba5a0 fix(softAP): Adjusted authentication mode for wpa-eap version 1 2025-08-01 12:47:11 +05:30
Ashish Sharma 9e9ceeeb1d fix(esp_http_client): fix possible double memory free 2025-08-01 15:10:17 +08:00
Roland Dobai a884d70bc1 Merge branch 'feat/ide_requirements_v5.2' into 'release/v5.2'
feat(tools/requirements): Add IDE requirements files (v5.2)

See merge request espressif/esp-idf!40943
2025-08-01 07:42:13 +02:00
wangtao@espressif.com 43a53aa0e0 fix(phy): fix esp32c2 build issue 2025-08-01 12:05:44 +08:00
Sarvesh Bodakhe 4371c427fb fix(wifi): prevent crash in WPS-registrar due to nested 'eap_wsc_reset()' calls
When a WPS handshake is already in progress and the enrollee sends another EAPOL-Start
(e.g., due to missed packets or timeout), the registrar resets its state by calling
'eap_wsc_reset()'. This function frees 'sm->eap_method_priv' and then calls
'esp_wifi_ap_wps_disable()', which internally triggers another call to 'eap_wsc_reset()'.

This results in a double reset where the second invocation accesses the already freed
'sm->eap_method_priv', leading to a crash.

This fix sets 'sm->eap_method_priv' to NULL immediately after freeing it to ensure
any subsequent calls to eap_wsc_reset() do not access an invalid pointer.
2025-08-01 09:03:19 +05:30
Mahavir Jain ad73b587d5 Merge branch 'feature/enable_support_for_deterministic_mode_and_ecdsa_192_v5.2' into 'release/v5.2'
Feature/enable support for ecdsa 192 v5.3 (v5.2)

See merge request espressif/esp-idf!40611
2025-08-01 08:43:29 +05:30
Zhao Wei Liang 0ea7649bd8 fix(ble): fixed dtm function error on ESP32-H2
(cherry picked from commit 43c82b3b20)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-08-01 10:20:19 +08:00
Zhao Wei Liang 0b1a07b72f fix(ble): fixed dtm function error on ESP32-C6
(cherry picked from commit ca0fdad4f2)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-08-01 10:20:16 +08:00
morris 339e6c4188 Merge branch 'fix/make_nack_log_debug_lvl_v5.2' into 'release/v5.2'
fix(i2c): Make i2c nack log as debug level (backport v5.2)

See merge request espressif/esp-idf!40537
2025-08-01 10:06:40 +08:00
JinCheng 9841fe52a0 fix(bt/bluedroid): safe string returns and cleanups for bt_discovery example 2025-07-31 21:10:10 +08:00
Nikheel Savant 6477c1550d fix(bt/bluedroid): safe string returns and cleanups 2025-07-31 21:10:10 +08:00
Jiang Jiang Jian 9270825eb3 Merge branch 'fix/__atomic_test_and_set_v5.2' into 'release/v5.2'
fix(newlib): fix __atomic_test_and_set to ensure atomicity (v5.2)

See merge request espressif/esp-idf!37452
2025-07-31 21:07:55 +08:00
Jiang Jiang Jian 8141d28ece Merge branch 'fix/improve_tcp_performance_v52' into 'release/v5.2'
fix(wifi): improve esp32c2 and esp32s2 tcp performance v52

See merge request espressif/esp-idf!40939
2025-07-31 21:07:44 +08:00
Jiang Jiang Jian 04b055ad43 Merge branch 'fix/fix_esp32c2_eco4_ld_issue_v52' into 'release/v5.2'
fix(wifi): fix esp32c2 eco4 ld issue v52

See merge request espressif/esp-idf!40924
2025-07-31 21:07:00 +08:00
Jiang Jiang Jian 30d8d3091f Merge branch 'fix_ot_src_addr_select_v5.2' into 'release/v5.2'
Fix ot src addr select (v5.2)

See merge request espressif/esp-idf!40876
2025-07-31 21:06:57 +08:00
Jiang Jiang Jian b96058c973 Merge branch 'fix/xtensa_nmi_v5.2' into 'release/v5.2'
fix(esp_hw_support): make the NMI interrupts available for the main application (backport v5.2)

See merge request espressif/esp-idf!34387
2025-07-31 21:06:27 +08:00
Alexey Lapshin bbd6c786b3 fix(newlib): fix __atomic_test_and_set to ensure atomicity
Before the change described in
https://gcc.gnu.org/pipermail/gcc-patches/2023-September/631393.html it
appeared that inlining built-in GCC function __atomic_test_and_set() was
incorrect. It resulted in a non-atomic write.
For GCC toolchains which do not have such patch yet, this commit fixes
__atomic_test_and_set to be atomic in IDF's builds.
2025-07-31 17:55:42 +07:00
Peter Dragun 7615b9a252 feat(tools/requirements): Add IDE requirements files 2025-07-31 12:06:33 +02:00
wangtao@espressif.com 3984214db6 fix(wifi): improve esp32c2 and esp32s2 tcp performance 2025-07-31 17:53:59 +08:00
Island 814d50bb1b Merge branch 'change/ble_update_lib_20250728_v5.2' into 'release/v5.2'
change(ble): [AUTO_MR] 20250728 - Update ESP BLE Controller Lib (v5.2)

See merge request espressif/esp-idf!40909
2025-07-31 11:51:53 +08:00
wangtao@espressif.com 9aa4e218e8 fix(wifi): fix esp32c2 eco4 ld issue 2025-07-31 10:57:22 +08:00
zwx 9d09f59ac1 fix(esp_phy): fix c6 modem state 2025-07-30 20:45:28 +08:00
Island 8c81db295e Merge branch 'bugfix/fix_ble_aa_check_v2_v5.2' into 'release/v5.2'
Optimize check Access Address when receive connection request PDU (v5.2)

See merge request espressif/esp-idf!40747
2025-07-30 16:55:26 +08:00
Island 2892755fac Merge branch 'opt/opt_ble_hid_example_pair_fail_v5.2' into 'release/v5.2'
fix(ble/bluedroid): set sec_conn only on successful pairing in ble_hid_device_demo (v5.2)

See merge request espressif/esp-idf!40900
2025-07-30 16:54:38 +08:00
zwx 01aa1fd4d9 fix(openthread): use OpenThread API in lwIP source address selection hook 2025-07-30 15:17:57 +08:00
Zhou Xiao 74b00c1ea5 feat(ble): ble log spi out dev phase 5
* supported ts sync for light sleep
* removed controller event queue dependency
* supported get lc ts for ESP32-C3/S3
* optimized ble log spi out code size


(cherry picked from commit f99389e00d)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-30 13:13:54 +08:00
Zhou Xiao f334b6ad33 feat(ble): add flash only param config api on ESP32-H2
(cherry picked from commit 4c8258ca38)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-07-30 13:13:52 +08:00
Zhou Xiao 0669112707 feat(ble): add flash only param config api on ESP32-C6
(cherry picked from commit dc65875e57)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-07-30 13:13:49 +08:00
Zhou Xiao 9995287cc3 change(ble): [AUTO_MR] updated rom linker script for ESP32-C2
(cherry picked from commit ac6acf3629)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-30 13:13:47 +08:00
Zhou Xiao 8fc4b80f11 change(ble): [AUTO_MR] Update lib_esp32c2 to 4556045f
(cherry picked from commit 0a7660d0f3)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-30 13:13:45 +08:00
Zhou Xiao b60f643370 change(ble): [AUTO_MR] Update lib_esp32c6 to 499c41fb
(cherry picked from commit f2741f1932)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-30 13:13:42 +08:00
Zhou Xiao 7e6638e128 change(ble): [AUTO_MR] Update lib_esp32h2 to 499c41fb
(cherry picked from commit ee48ef2167)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-30 13:13:40 +08:00
Zhang Hai Peng 8713112733 fix(ble/bluedroid): set sec_conn only on successful pairing in ble_hid_device_demo
(cherry picked from commit 50fe55ca59)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-07-29 21:53:25 +08:00
Rahul Tank e38f9427d6 Merge branch 'bugfix/minor_update_readme_v5.2' into 'release/v5.2'
fix(nimble): Documentation update in btsnoop script README(v5.2)

See merge request espressif/esp-idf!40883
2025-07-29 16:16:42 +05:30
zhanghaipeng ef170b1fb5 fix(bt/ble): Update esp32 libbtdm_app.a (3a27e2e)
- Optimize check Access Address when receive connection request PDU
2025-07-29 15:38:16 +08:00
Rahul Tank 92b85fa162 fix(nimble): Minor documentation update in btsnoop script usage 2025-07-29 11:55:44 +05:30
Island bbba4f5799 Merge branch 'bugfix/fix_some_ble_bugs_250628_cjh_esp32_v5.2' into 'release/v5.2'
Fixed some BLE bugs 250628 on esp32(d9a3de0) (v5.2)

See merge request espressif/esp-idf!40795
2025-07-29 14:11:42 +08:00
Rahul Tank e37e13cc1d Merge branch 'bugfix/fix_compilation_issue_v5.2' into 'release/v5.2'
fix(nimble): Fixed compilation issue with BLE_GATTS flag (v5.2)

See merge request espressif/esp-idf!40812
2025-07-29 11:33:39 +05:30
Jiang Jiang Jian e38272a758 Merge branch 'feat/add_bip_softAP_sae_ext_key_v5.2' into 'release/v5.2'
Add support for SAE-EXT on softAP and BIP on AP mode(v5.2)

See merge request espressif/esp-idf!40840
2025-07-29 11:52:47 +08:00
zwx b7af5a37dc fix(openthread): fix the preference of the ip6 address set to lwip 2025-07-29 11:51:24 +08:00
Jiang Jiang Jian a6ce7bb281 Merge branch 'ci/enable_sysview_tests_v5.2' into 'release/v5.2'
ci: enable sysview example tests for all chips (v5.2)

See merge request espressif/esp-idf!39475
2025-07-28 14:28:54 +08:00
Jiang Jiang Jian 55644f7c6a Merge branch 'docs/fetch-all-tags-while-deploying_v5.2' into 'release/v5.2'
docs: fetch all tags while deploying (v5.2)

See merge request espressif/esp-idf!40008
2025-07-28 14:28:20 +08:00
Xiao Xufeng e1c6d3049b fix(esp_flash): fixed issue of escaping boundary check
Also patched corresponding ROM functions
2025-07-28 14:25:01 +08:00
Jiang Jiang Jian 17becab3b0 Merge branch 'fix/ieee802154_example_rx_v5.2' into 'release/v5.2'
fix(ieee802154): set rx_when_idle to false when Rx stop (v5.2)

See merge request espressif/esp-idf!40826
2025-07-28 14:23:56 +08:00
Jiang Jiang Jian a75f3cb446 Merge branch 'bugfix/fix_pmksa_cache_expired_after_sntp_issue_v5.2' into 'release/v5.2'
fix(wifi): fix pmksa cache expiration caused by sntp time synchronization issue(Backport v5.2)

See merge request espressif/esp-idf!40831
2025-07-28 14:23:45 +08:00
Jiang Jiang Jian 6f0fd4eb42 Merge branch 'bugfix/fix_find_the_oldest_device_v5.2' into 'release/v5.2'
Bugfix/fix find the oldest device (v5.2)

See merge request espressif/esp-idf!40835
2025-07-28 14:23:36 +08:00
chenjianhua 2523b19e05 fix(bt): Update bt lib for ESP32(d9a3de0)
- Support BLE vendor HCI related params reset
- Support multi conn optimization vendor hci command
- Fixed the issue where rssi of conn is incorrect when latency is no zero
- Fixed prio setting for BLE events
- Fixed disconnection issue when coexisting with other BLE events
- Fixed crash due to bandwidth full when updating conn params
2025-07-28 14:10:27 +08:00
Jiang Jiang Jian 97a7cba886 Merge branch 'bugfix/fix_phy_test_crash_v5.2' into 'release/v5.2'
fix(PHY): Fixed phy test example crash (v5.2)

See merge request espressif/esp-idf!40755
2025-07-28 14:08:53 +08:00
Jiang Jiang Jian 2d9ed76494 Merge branch 'contrib/github_pr_15057_v5.2' into 'release/v5.2'
feat(dhcps): Support for multiple DNS servers (GitHub PR) (v5.2)

See merge request espressif/esp-idf!39269
2025-07-28 14:08:27 +08:00
Jiang Jiang Jian ec84f6c69d Merge branch 'bugfix/esp32s2_memprot_clear_v5.2' into 'release/v5.2'
fix(esp_hw_support): clear the memory protection interrupt status on boot (backport v5.2)

See merge request espressif/esp-idf!38054
2025-07-28 14:07:33 +08:00
Rahul Tank 18da8af47f fix(nimble): Added code under correct flags to fix compilation warnings 2025-07-28 10:26:49 +05:30
Shreyas Sheth 61a0953a3b fix(wifi): Fix crash due to BIP when ap mode change 2025-07-26 14:46:11 +05:30
Kapil Gupta a460390af3 fix(esp_wifi): Set default ap mgmt cipher 2025-07-25 22:08:14 +05:30
tarun.kumar de6226e9d1 fix(wifi): Made changes in api for sending bcast deauth frames 2025-07-25 22:07:27 +05:30
tarun.kumar cbe1d3b933 fix(wifi): Resolve out-of-bounds memory access in ieee80211w_kde_add 2025-07-25 22:05:41 +05:30
tarun.kumar f56cd7baa6 feat(wifi): Add SAE-EXT-KEY feature on softAP 2025-07-25 22:04:14 +05:30
Zhang Hai Peng 69829e3add fix(ble/bluedroid): Fixed fail to disconnect when device record is cleared
(cherry picked from commit b6dc79af47)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-07-25 21:53:37 +08:00
Zhang Hai Peng a3caca65db fix(ble/bluedroid): fix incorrect resolving_list_avail_size update
(cherry picked from commit ac385530af)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-07-25 21:53:34 +08:00
Zhang Hai Peng 3d9da8a2bd fix(ble/bluedroid): ensure resolving list is updated when the oldest device is removed
(cherry picked from commit 61606a6f95)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-07-25 21:53:31 +08:00
Zhang Hai Peng 689b165fc6 fix(ble/bluedroid): Fix issue causing BTM_GetSecurityFlags failed
(cherry picked from commit 48235c7b25)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-07-25 21:53:29 +08:00
muhaidong 849fc76430 fix(wifi): fix pmksa cache expiration caused by sntp time synchronization issue 2025-07-25 20:00:49 +08:00
Rahul Tank 0440c5ab8b Merge branch 'fix/clear_gatt_svc_len_v5.2' into 'release/v5.2'
fix(nimble): Clear GATT service entries counter upon GATT deinit (v5.2)

See merge request espressif/esp-idf!40548
2025-07-25 16:39:03 +05:30
Tan Yan Quan d0cee15cc6 fix(ieee802154): set rx_when_idle to false when Rx stop 2025-07-25 17:22:50 +08:00
Tan Yan Quan 95ca0fe5b9 fix(ieee802154): initialize nvs before enable ieee802154 2025-07-25 17:22:50 +08:00
Mahavir Jain 75ec63913e Merge branch 'bugfix/fix_memory_leak_on_http_header_fetch_failure_v5.2' into 'release/v5.2'
fix(esp_http_client): free header in case of ESP_ERR_HTTP_FETCH_HEADER (v5.2)

See merge request espressif/esp-idf!40666
2025-07-25 09:32:31 +05:30
Fu Hanxi 693e9ced04 ci: use fixed telnetlib since python 3.13 removed this from stdlib 2025-07-24 13:44:51 +02:00
Fu Hanxi 49dd0117e5 feat(ci): enable jtag tests for esp32[c6|h2] 2025-07-24 13:44:51 +02:00
Erhan Kurubas 45c201501c feat(tools): add esp32c3 rev1.1 rom version string 2025-07-24 13:44:51 +02:00
Samuel Obuch f232ce7fa2 ci: use shared OpenOCD class for GDB test app 2025-07-24 13:44:48 +02:00
Samuel Obuch 8d45ed5214 ci: OpenOCD class as fixture 2025-07-24 13:44:48 +02:00
Samuel Obuch f54405b302 ci: enable sysview examples for all chips 2025-07-24 13:44:48 +02:00
Rahul Tank 5ad898d659 Merge branch 'bugfix/retry_packet_alloc_v5.2' into 'release/v5.2'
fix(nimble): Add packet allocation retry for limited iteration (v5.2)

See merge request espressif/esp-idf!40686
2025-07-24 10:14:22 +05:30
Rahul Tank 25881b2678 Merge branch 'bugfix/add_old_btsnoop_hci_py_v5.2' into 'release/v5.2'
fix(nimble): Updated parser script for HCI log creation (v5.2)

See merge request espressif/esp-idf!40730
2025-07-23 16:22:00 +05:30
Zhi Wei Jian e9531422b6 fix(rf/example): Fixed phy test example crash
(cherry picked from commit e2e5d4915b)

Co-authored-by: zhiweijian <zhiweijian@espressif.com>
2025-07-23 11:23:17 +08:00
Jiang Jiang Jian d33d1cb610 Merge branch 'bugfix/scan_stop_when_conenct_v5.2' into 'release/v5.2'
fix(esp_wifi): Fix locking in incorrect state when stop_scan is called after connect

See merge request espressif/esp-idf!39482
2025-07-22 18:01:38 +08:00
Wang Meng Yang cce7a7351f Merge branch 'feat/add_handl_in_sdp_evt_v5.2' into 'release/v5.2'
feat(bt): Add record_handle in ESP_SDP_REMOVE_RECORD_COMP_EVT(v5.2)

See merge request espressif/esp-idf!40721
2025-07-22 14:46:14 +08:00
nilesh.kale 623bf9b602 feat: enabled ECDSA-P192 support for ESP32H2 2025-07-22 11:26:25 +05:30
Ashish Sharma b2e7b20622 fix(esp_http_client): fix memory leak in current_header_value buffer
Fixed memory leak in esp_http_client_cleanup() where current_header_value
buffer was not being freed when ESP_ERR_HTTP_FETCH_HEADER is returned
during header parsing failures.
2025-07-21 15:37:45 +08:00
Rahul Tank 48003d499b fix(nimble): Add support to parser script to parse logs with/without ts
Introduced a new "--has-ts" input parameter to script to detect if logs
has timestamp information or not
2025-07-21 13:02:22 +05:30
xiongweichao bbf292569d feat(bt): Add record_handle in ESP_SDP_REMOVE_RECORD_COMP_EVT 2025-07-21 10:32:45 +08:00
Shreyas Sheth c0657495b6 fix(esp_wifi): Fix locking in incorrect state when stop_scan is called after connect 2025-07-18 13:50:14 +05:30
Jiang Jiang Jian 25c1ad8178 Merge branch 'bugfix/fix_some_wifi_bugs_250716_v5.2' into 'release/v5.2'
Bugfix/fix some wifi bugs 250716 v5.2

See merge request espressif/esp-idf!40626
2025-07-18 15:51:25 +08:00
Jiang Jiang Jian 488ac50476 Merge branch 'bugfix/wps_pbc_overlap_uuid_v5.2' into 'release/v5.2'
fix(wpa_supplicant): Ensure pbc_overlap event is posted correctly (Backport v5.2)

See merge request espressif/esp-idf!39082
2025-07-18 15:46:56 +08:00
Jiang Jiang Jian cbc19ed1f4 Merge branch 'bugfix/enable_ipv6_if_nan_v5.2' into 'release/v5.2'
bugfix(wifi): Enable IPv6 support via LWIP_IPV6 when WiFi Aware(NAN) is enabled (Backport v5.2)

See merge request espressif/esp-idf!40490
2025-07-18 15:46:13 +08:00
Jiang Jiang Jian 87253ab281 Merge branch 'feat/socket_count_checks_v5.2' into 'release/v5.2'
feat(network/lwip): Add checks for maximum socket count (v5.2)

See merge request espressif/esp-idf!38867
2025-07-18 15:45:37 +08:00
Rocha Euripedes a0cc9eb456 Merge branch 'fix/bridge_test_ssh_v5.2' into 'release/v5.2'
fix(esp_eth): bridge test to use SSH key when connect to endnode (v5.2)

See merge request espressif/esp-idf!40625
2025-07-18 15:36:06 +08:00
Rahul Tank 3a98c37eb9 Merge branch 'feat/add_timestamp_v5.2' into 'release/v5.2'
fix(nimble): Enhanced HCI logging by adding timestamp information (v5.2)

See merge request espressif/esp-idf!40636
2025-07-18 12:28:16 +05:30
Rahul Tank 3f71f7cfc3 fix(nimble): Add packet allocation retry for limited iteration 2025-07-18 11:02:06 +05:30
Sarvesh Bodakhe 52fa2e0087 fix(wifi): Disconnect station in wps_start instead of wps_enable
Modifies changes from 3ee449bc5d
2025-07-17 13:57:00 +05:30
akshat 8ccb32480b fix(wpa_supplicant): Disconnect from previous AP while initiating WPS 2025-07-17 13:56:45 +05:30
akshat 2729eca91f fix(wpa_supplicant): Detect PBC overlap even when UUID is null 2025-07-17 13:56:45 +05:30
akshat ce18ad6d31 fix(wpa_supplicant): Ensure pbc_overlap event is posted correctly
Preserves the pbc_overlap flag to allow proper event posting.
This ensures that pbc overlap detection functions as expected.
2025-07-17 13:56:45 +05:30
akshat 45a874dec5 fix(wpa_supplicant): Fix for WPS-PBC overlap detection in dual band
When WPS is running on dual band(e.g. a separate 2.4 GHz and 5 GHz band
    radios in an AP device), detect pbc overlap only if UUID differs.
2025-07-17 13:56:45 +05:30
Rahul Tank f6c8e69aaa fix(nimble): Enhanced HCI logging by adding timestamp information 2025-07-17 10:19:55 +05:30
Rahul Tank e29f9e562a Merge branch 'bugfix/make_blufi_adv_custom_v5.2' into 'release/v5.2'
feat(nimble): Add a way to make blufi advertising customizable (v5.2)

See merge request espressif/esp-idf!40532
2025-07-17 10:13:24 +05:30
sibeibei 92db088aa6 fix(wifi): rx bcn failed when sta off channel under modem state 2025-07-16 21:13:58 +08:00
Ondrej Kosta 1b5d154ed0 fix(esp_eth): bridge test to use SSH key when connect to endnode 2025-07-16 15:11:59 +02:00
Li Shuai be797e7613 fix(esp_hw_support): fix modem wakeup req always high caused by pmu min slp cycle update 2025-07-16 21:06:40 +08:00
Li Shuai fe939208c3 change(esp_hw_support): add interface to calculate slow clock period by clock frequency 2025-07-16 21:05:11 +08:00
sibeibei 0a60a4b167 fix(wifi):fix modem state rx bcn failed when tbtt update, support modem state for coexist 2025-07-16 21:03:33 +08:00
liuning f3ad8c304d feat(docs): update connectionless module window syncronization documentation 2025-07-16 21:01:55 +08:00
wangtao@espressif.com 463c49c7fe fix(wifi): add check for esp_wifi_set_config 2025-07-16 21:01:40 +08:00
Jiang Jiang Jian d8e4249f24 Merge branch 'fix/fix_esp32_core1_access_rtc_fast_in_sleep_code_v5.2' into 'release/v5.2'
fix(esp_hw_support): fix esp32 APP_CPU accessing RTCFAST memory in sleep code (v5.2)

See merge request espressif/esp-idf!40559
2025-07-16 10:35:34 +08:00
Roland Dobai 1a4fd9b80b Merge branch 'feat/extend_pip_user_option_check_v5.2' into 'release/v5.2'
feat(tools): Disabled pip 'user' option, when installing ESP-IDF python virtual environment (v5.2)

See merge request espressif/esp-idf!40573
2025-07-15 13:00:02 +02:00
Rocha Euripedes a6e375fcc3 Merge branch 'fix_mqtt_test_app_broker_v5.2' into 'release/v5.2'
fix(mqtt): Adds sdkconfig to use test broker (v5.2)

See merge request espressif/esp-idf!40588
2025-07-15 18:28:23 +08:00
Euripedes Rocha ac71ca6209 fix(mqtt): Adds sdkconfig to use test broker
Changes the configuration to make test to use internal broker on CI
runs.
2025-07-15 08:48:25 +02:00
Fu Hanxi 14aec2bfdf docs: fetch all tags while deploying 2025-07-14 14:54:50 +02:00
Marek Fiala e4bed4692a feat(tools): Enforce pip 'user' option to no, when installing python env
Closes https://github.com/espressif/esp-idf/issues/16189
2025-07-14 13:26:57 +02:00
Jiang Jiang Jian 76c857c7c5 Merge branch 'fix/retry_cnt_issue_for_non_pmf_sta_v5.2' into 'release/v5.2'
fix(failure_retry_cnt): Prevent NON-PMF STA retries if esp_wifi_disconnect() before handshake (Backport v5.2)

See merge request espressif/esp-idf!39546
2025-07-14 15:16:05 +08:00
Jiang Jiang Jian 5c9f2823f4 Merge branch 'bugfix/incorrect_sae_pk_flag_v5.2' into 'release/v5.2'
Disable SAE-PK indication in Assoc Request when not configured (Backport v5.2)

See merge request espressif/esp-idf!39077
2025-07-14 15:06:16 +08:00
Jiang Jiang Jian 559a092db6 Merge branch 'feat/update_mbedtls_3.6.4_v5.2' into 'release/v5.2'
feat(mbedtls): update to version 3.6.4 (v5.2)

See merge request espressif/esp-idf!40378
2025-07-14 14:40:08 +08:00
Tomáš Rohlínek ec4206d8c9 feat(network/lwip): Add checks for maximum socket count 2025-07-14 14:38:59 +08:00
wuzhenghui 12d9f6af97 fix(esp_hw_support): fix esp32 APP_CPU accessing RTCFAST memory in sleep code 2025-07-14 14:09:16 +08:00
Sarvesh Bodakhe c38391560c fix(wif): Prevent NON-PMF STA retries if esp_wifi_disconnect() before handshake
Ensure that NON-PMF station does not attemp connection retries when
'esp_wifi_disconnect()' is called before the 4-way-handshake completes,
even if 'failure_retry_cnt' allows retries.
2025-07-13 08:27:02 +05:30
akshat 5901c66637 bugfix(wifi): Fix incorrect SAE-PK advertisement in assoc request 2025-07-12 08:58:16 +05:30
Sumeet Singh 8d41a9c3fd fix(nimble): Clear GATT service entries counter upon GATT deinit (v5.2) 2025-07-11 18:02:29 +05:30
Jiang Jiang Jian 91d8d970a4 Merge branch 'bugfix/fix_second_scan_error_in_smartconfig_v5.2' into 'release/v5.2'
fix(wifi): fix duplicated offchan error, add coex wifi event imm (v5.2)

See merge request espressif/esp-idf!40497
2025-07-11 19:29:30 +08:00
Rahul Tank 3d0e384920 fix(nimble): Add a way to make blufi advertising customizable
Based on changes in https://github.com/espressif/esp-idf/pull/8958
2025-07-11 15:30:52 +05:30
C.S.M 4f5001a262 fix(i2c): Make i2c nack log as debug level 2025-07-11 15:51:02 +08:00
Jiang Jiang Jian 03fcdd6f00 Merge branch 'feat/support_disable_pll_track_v5.2' into 'release/v5.2'
Support disable pll track (v5.2)

See merge request espressif/esp-idf!40367
2025-07-11 13:58:51 +08:00
Jiang Jiang Jian 0671f07101 Merge branch 'bugfix/update_antenna_example_v5.2' into 'release/v5.2'
fix(wifi): disable WI-FI Modem sleep in antenna example (v5.2)

See merge request espressif/esp-idf!40061
2025-07-11 13:58:16 +08:00
Jiang Jiang Jian fb6726063c Merge branch 'fix/cxx-tls-destructors_v5.2' into 'release/v5.2'
fix(cxx): fix TLS classes destructor call (v5.2)

See merge request espressif/esp-idf!34210
2025-07-11 13:57:48 +08:00
Jiang Jiang Jian 9f747331f0 Merge branch 'fix/sdspi_cmd52_error_v5.2' into 'release/v5.2'
fix(sdmmc): fix sdmmc initialization issue caused by CMD52 CRC error (v5.2)

See merge request espressif/esp-idf!40285
2025-07-11 13:55:49 +08:00
Jiang Jiang Jian 5bfec6a7be Merge branch 'fix/update_dfs_compensate_table_v5.2' into 'release/v5.2'
fix(esp_hw_support): update esp32 dfs table to make the timing drift always negative (v5.2)

See merge request espressif/esp-idf!39900
2025-07-11 13:55:08 +08:00
Jiang Jiang Jian 4b5bc33031 Merge branch 'bugfix/ag_data_callback_cleared_after_deinit_v5.2' into 'release/v5.2'
fix(bt): Fixed HFP AG data callback cleared after profile is re-initialized (v5.2)

See merge request espressif/esp-idf!39976
2025-07-11 13:44:43 +08:00
Jiang Jiang Jian 4cb3bf8cbd Merge branch 'feat/enable_wakeup_tests_for_more_chips_v5.2' into 'release/v5.2'
feat(esp_hw_support): enable wakeup tests for more chips (v5.2)

See merge request espressif/esp-idf!40309
2025-07-11 13:40:03 +08:00
Island 08543aac80 Merge branch 'change/ble_update_lib_20250709_v5.2' into 'release/v5.2'
change(ble): [AUTO_MR] 20250709 - Update ESP BLE Controller Lib (v5.2)

See merge request espressif/esp-idf!40468
2025-07-11 10:46:12 +08:00
Alexey Gerenkov d15d1b0fb1 Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20250707_v5.2' into 'release/v5.2'
feat(tools): update openocd version to v0.12.0-esp32-20250707 (v5.2)

See merge request espressif/esp-idf!40462
2025-07-10 19:33:57 +08:00
zhangyanjiao 37f0b6de01 fix(wifi): fix duplicated offchan error, add coex wifi event imm 2025-07-10 16:45:28 +08:00
yinqingzhao 9d90f3090a feat(wifi): set phy pll track disable default 2025-07-10 08:28:51 +00:00
Zhangwx 3049eb1303 feat(phy): add a config for pll track feature 2025-07-10 08:28:51 +00:00
akshat 1c4cdfbffa bugfix(wifi): Define ETH_ALEN for IPV6 Communication Type 2025-07-10 10:05:05 +05:30
akshat 5657981f4f bugfix(wifi): Enable IPv6 support via LWIP_IPV6 when WiFi Aware(NAN) is enabled 2025-07-10 10:03:53 +05:30
Jiang Jiang Jian 10b2e3699b Merge branch 'fix/netif_ppp_dhcp_v5.2' into 'release/v5.2'
fix(esp_netif): Fix incorrect DHCP call for PPP interfaces (v5.2)

See merge request espressif/esp-idf!40241
2025-07-10 11:27:20 +08:00
Ashish Sharma 936c6495c0 feat(mbedtls): update to version 3.6.4 2025-07-09 17:33:36 +08:00
Erhan Kurubas d4a3d3e760 change(sysview): drop ESP mcore extension 2025-07-09 14:58:01 +08:00
Erhan Kurubas 3c29b8feec feat(sysview): update multicore files for testing 2025-07-09 14:58:01 +08:00
Erhan Kurubas e8d5bdd51c change(sysview): set default core name as core0 2025-07-09 14:58:01 +08:00
Erhan Kurubas a01bd5070b feat(sysview): Add SEGGER multicore trace file support 2025-07-09 14:58:01 +08:00
Erhan Kurubas eebb363e56 feat(sysview): update to version 3.56 2025-07-09 14:58:01 +08:00
Erhan Kurubas 29ebfeca63 change(docs): replace deprecated openocd cfg files 2025-07-09 14:58:01 +08:00
Erhan Kurubas 5d1a3de99d feat(tools): update openocd version to v0.12.0-esp32-20250707 2025-07-09 14:58:01 +08:00
Island 339499ebcb Merge branch 'feat/ble_log_spi_out_dev_phase_4_v5.2' into 'release/v5.2'
BLE Log SPI Out Dev Phase 4 (v5.2)

See merge request espressif/esp-idf!40423
2025-07-09 14:06:28 +08:00
Zhou Xiao 36739e3841 fix(ble): updated rom linker script for ESP32-C2
(cherry picked from commit f1838aeec1)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-09 13:14:06 +08:00
Zhou Xiao 870321b0ac feat(ble): enable broker initialization on ESP32-C6
(cherry picked from commit 3d93ce37da)

Co-authored-by: cjin <jinchen@espressif.com>
2025-07-09 13:14:04 +08:00
Zhou Xiao be810b8d09 feat(ble): enable broker initialization on ESP32-H2
(cherry picked from commit 64f216ae5a)

Co-authored-by: cjin <jinchen@espressif.com>
2025-07-09 13:14:01 +08:00
Zhou Xiao 5893323abc feat(ble): support memory allocation check debug feature on ESP32-H2
(cherry picked from commit 265a8746dc)

Co-authored-by: cjin <jinchen@espressif.com>
2025-07-09 13:13:59 +08:00
Zhou Xiao b53912c323 feat(ble): support memory allocation check debug feature on ESP32-C6
(cherry picked from commit 027766e0c2)

Co-authored-by: cjin <jinchen@espressif.com>
2025-07-09 13:13:56 +08:00
Zhou Xiao 24c2f79910 feat(ble): support memory allocation check debug feature on ESP32-C2
(cherry picked from commit 7ef90d4113)

Co-authored-by: cjin <jinchen@espressif.com>
2025-07-09 13:13:54 +08:00
Zhou Xiao c22207208d change(ble): [AUTO_MR] Update lib_esp32c2 to c7732d48
(cherry picked from commit 3d45e8578e)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-09 13:13:51 +08:00
Zhou Xiao 3a302858b2 change(ble): [AUTO_MR] Update lib_esp32c6 to ca6c20bc
(cherry picked from commit 1e236a1feb)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-09 13:13:49 +08:00
Zhou Xiao 8e5b43b1cb change(ble): [AUTO_MR] Update lib_esp32h2 to ca6c20bc
(cherry picked from commit 6a650312d4)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-09 13:13:46 +08:00
Island 2feca41210 Merge branch 'bugfix/fix_some_ble_bugs_250610_cjh_esp32c3_v5.2' into 'release/v5.2'
Fixed some BLE bugs 250610 on esp32c3(2edb0b0) (v5.2)

See merge request espressif/esp-idf!40428
2025-07-09 10:26:07 +08:00
Rahul Tank 126402043b Merge branch 'bugfix/fix_gatt_cache_server_compile_v5.2' into 'release/v5.2'
fix(nimble): Fix compilation issues when gatt caching is enabled in peripheral only mode (v5.2)

See merge request espressif/esp-idf!40402
2025-07-08 16:12:19 +05:30
Wang Meng Yang 136aef90c8 Merge branch 'fix/incorrect_unit_of_cpb_rx_clk_v5.2' into 'release/v5.2'
fix(bt): fixed the incorrect unit of clk in cpb rx event(backport v5.2)

See merge request espressif/esp-idf!40390
2025-07-08 14:15:47 +08:00
Jiang Jiang Jian 8b2e98fe7c Merge branch 'feat/impl_bt_coex_timer_event_v5.2' into 'release/v5.2'
feat(coex): implement BT coex timer event (Backport v5.2)

See merge request espressif/esp-idf!40030
2025-07-08 13:43:06 +08:00
Chen Jian Hua 45f5482420 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(2edb0b0)
- Fixed TX issue when the event is aborted
- Fixed BLE assert llc_llcp.c 487
- Fixed BLE assert sch_prog.c 304
- Fixed anonymous extended adv reporting
- Support vendor HCI related params reset


(cherry picked from commit ad71a2cd33)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2025-07-08 13:33:22 +08:00
Zhou Xiao 57f6b05c8e change(ble): upgraded spi log frame header
(cherry picked from commit 5f3ac91d63)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-08 13:14:17 +08:00
Zhou Xiao adad0a4c61 fix(ble): nimble host & hci log write race condition workaround
(cherry picked from commit 6e384644c8)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-08 13:14:15 +08:00
Zhou Xiao a73d381280 change(ble): support task buffer number configuration
(cherry picked from commit 4946a1fe8d)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-08 13:14:12 +08:00
Zhou Xiao cf8d350e65 fix(ble): update error code in controller init for ESP32-S3/ESP32-C3
(cherry picked from commit b8b7e153a7)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-08 13:14:10 +08:00
Zhou Xiao 0c9abd9ea7 fix(ble): fixed controller log api call for ESP32-C3/ESP32-S3
(cherry picked from commit 6ac541aa4a)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-08 13:14:07 +08:00
Zhou Xiao a3243068b9 change(ble): removed esp log to save code size
(cherry picked from commit 0088541f54)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-08 13:14:05 +08:00
Zhou Xiao 8432e81d62 change(ble): enable hci log spi out for ESP chips
(cherry picked from commit c60dd1a10e)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-08 13:14:02 +08:00
Zhou Xiao 47350bdd70 change(ble): enable bluedroid logs over debug level through spi output
(cherry picked from commit c0d2792b9d)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-08 13:14:00 +08:00
Zhou Xiao 26847c0f80 feat(ble): support ble mesh log module
(cherry picked from commit 066e1d3f1b)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-08 13:13:57 +08:00
Zhou Xiao 215220c6af feat(ble): support host & hci log module
(cherry picked from commit dd4cbe5e00)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-08 13:13:55 +08:00
Zhou Xiao 0cb6f54e15 change(ble): replaced ul log codes with template
(cherry picked from commit d353bf2802)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-08 13:13:52 +08:00
Zhou Xiao b9da5ff3d1 change(ble): replaced le audio log codes with template
(cherry picked from commit feaee0a6fe)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-08 13:13:50 +08:00
Zhou Xiao 6c475ffea9 change(ble): implemented log module template
(cherry picked from commit 8b2c176eff)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-08 13:13:47 +08:00
Zhou Xiao a879725c00 change(ble): updated ble log spi out ts sync module
* use freertos ts instead of esp ts for better performance
* enable ts sync sleep support by default
* use esp ts as fallback of lc time getter


(cherry picked from commit 56e42be859)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-08 13:13:45 +08:00
linruihao 387dd19234 fix(coex): Fix ble disconnect when coexisting wifi on esp32c2 2025-07-08 12:00:28 +08:00
linruihao 2906df4b40 feat(coex): implement BT coex timer event 2025-07-08 12:00:28 +08:00
Jiang Jiang Jian 9c8d772584 Merge branch 'bugfix/fix_some_external_coexist_issues_v5.2' into 'release/v5.2'
fix(coex): fix some external coexist issue(Backport v5.2)

See merge request espressif/esp-idf!40140
2025-07-08 11:46:18 +08:00
morris 105967af3f Merge branch 'fix/pcnt_miss_accum_value_when_overflow_v5.2' into 'release/v5.2'
fix(pcnt): fix the accum_value missing when overflow (v5.2)

See merge request espressif/esp-idf!40317
2025-07-08 11:24:42 +08:00
zhangyanjiao 200ef6d9ed fix(wifi): disable WI-FI Modem sleep in antenna example 2025-07-08 11:13:37 +08:00
gongyantao 81c2a27474 fix(bt): fixed the incorrect unit of clk in cpb rx event 2025-07-07 14:52:38 +08:00
Rahul Tank ea761fb3e9 fix(nimble): Fix compilation issues when gatt caching is enabled in server only mode 2025-07-07 11:44:33 +05:30
Wang Meng Yang d2799681f6 Merge branch 'bugfix/bt_sleep_log_consistent_v5.2' into 'release/v5.2'
fix(ble): keep the log of the bluetooth sleep clock source consistent(v5.2)

See merge request espressif/esp-idf!40358
2025-07-06 17:16:56 +08:00
Rahul Tank 4e40fab3e9 Merge branch 'bugfix/handle_3e_rem_feat_read_name_v5.2' into 'release/v5.2'
fix(nimble): Handle 0x3e disconnect during rem feat/ read version (v5.2)

See merge request espressif/esp-idf!40177
2025-07-05 14:56:31 +05:30
Island b3b4245d8e Merge branch 'fix/ensure_internal_mem_for_ble_log_spi_out_v5.2' into 'release/v5.2'
fix(ble): ensure internal malloc in ble log spi out (v5.2)

See merge request espressif/esp-idf!40180
2025-07-04 15:12:56 +08:00
xiongweichao 671ead48ec fix(ble): keep the log of the bluetooth sleep clock source consistent 2025-07-04 10:33:04 +08:00
Island 22c184ef77 Merge branch 'change/ble_update_lib_20250630_v5.2' into 'release/v5.2'
change(ble): [AUTO_MR] 20250630 - Update ESP BLE Controller Lib (v5.2)

See merge request espressif/esp-idf!40298
2025-07-03 15:32:28 +08:00
Rahul Tank c6a10824ba fix(nimble): Handle 0x3e disconnect during rem feat/ read version 2025-07-03 12:55:33 +05:30
Rahul Tank 2d1c1a3d20 Merge branch 'bugfix/add_missing_unlock_v5.2' into 'release/v5.2'
fix(nimble): Add missing ble_hs_unlock() call (v5.2)

See merge request espressif/esp-idf!40236
2025-07-03 12:20:12 +05:30
Omar Chebib b6c2d6821e fix(esp_hw_support): make the NMI interrupts available for the main application
Closes https://github.com/espressif/esp-idf/issues/13629

NMI interrupt level has been freed for all the Xtensa targets, making it possible
for the main application to use it. An example has been added to show how to
proceed.
2025-07-03 09:42:04 +08:00
Chen Jichang c916509152 fix(pcnt): fix the accum_value missing when overflow 2025-07-02 20:12:33 +08:00
Rahul Tank 5584bf7cc9 fix(nimble): Add missing ble_hs_unlock() call 2025-07-02 16:42:16 +05:30
Marius Vikhammer b11b97ca9b feat(lp_core): added support for LP-IO as LP-core wakeup source 2025-07-02 17:54:43 +08:00
wuzhenghui cf477b94ce feat(esp_hw_support): enable wakeup tests for more chips 2025-07-02 17:54:38 +08:00
Island 12761a529a Merge branch 'bugfix/fix_some_ble_build_fail_v5.2' into 'release/v5.2'
fix(ble/bluedroid): fix build failure when some BLE features are disabled (v5.2)

See merge request espressif/esp-idf!40128
2025-07-02 15:53:06 +08:00
Zhao Wei Liang 840e704a23 fix(ble): ensure ble controller disable safety for ESP32-C2
(cherry picked from commit cbe6f68d3c)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-07-02 15:13:49 +08:00
Zhao Wei Liang 1c26b33634 fix(ble): fixed occasional assert triggered during controller disable on ESP32-C2
(cherry picked from commit 7b1a7cc4c3)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-07-02 15:13:46 +08:00
Zhao Wei Liang ab81b47d0e change(ble): [AUTO_MR] Update lib_esp32c2 to 9af627ef
(cherry picked from commit 6fac09d0c3)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-07-02 15:13:44 +08:00
Zhao Wei Liang 33323ea30d change(ble): [AUTO_MR] Update lib_esp32c6 to d2d70d40
(cherry picked from commit 736cd84967)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-07-02 15:13:41 +08:00
Zhao Wei Liang ac42e5e412 change(ble): [AUTO_MR] Update lib_esp32h2 to d2d70d40
(cherry picked from commit 1671932345)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-07-02 15:13:39 +08:00
Shu Chen 26a967f830 Merge branch 'fix_br_selfhosted_address_v5.2' into 'release/v5.2'
feat(openthread): move mesh local address judeging function to public (v5.2)

See merge request espressif/esp-idf!40259
2025-07-02 06:09:58 +00:00
Sergei Silnov 52a0bb0407 Merge branch 'ci/raise_macos_cache_to_50g_v5.2' into 'release/v5.2'
macOS runners - set CCACHE back to 50GB to help VMs (v5.2)

See merge request espressif/esp-idf!40278
2025-07-01 13:30:14 -03:00
sonika.rathi 1b0eef38fe fix(sdmmc): fix sdmmc initialization issue in caused by CMD52 CRC error 2025-07-01 13:41:23 +02:00
Peter Macko f338388e59 ci: macOS runners - set CCACHE back to 50GB to help VMs 2025-07-01 13:02:44 +02:00
Alexey Gerenkov 5ce19996c3 Merge branch 'fix/apptrace_crc_calculation_v5.2' into 'release/v5.2'
fix(apptrace): calculate crc16 of the current block before swap (v5.2)

See merge request espressif/esp-idf!40251
2025-07-01 17:47:14 +08:00
Mahavir Jain 86058e7f14 Merge branch 'docs/fix_secure_download_mode_unsupported_esp32_v5.2' into 'release/v5.2'
fix(bootloader): Fix documentation as ESP32 does not support secure download mode (v5.2)

See merge request espressif/esp-idf!40216
2025-07-01 10:36:11 +05:30
Chen Dejin 1d4d64b99d fix(openthread/discovery): use mesh local for self-hosted service if OMR is not preferred
* esp-openthread: thread_zigbee/esp-openthread@f54481eb0
* openthread: espressif/openthread@b945928d7
* esp-idf: espressif/esp-idf@87b1c4fea
2025-07-01 03:17:13 +00:00
chendejin 87b1c4fead feat(openthread): move mesh local address judeging function to public 2025-07-01 11:07:43 +08:00
Shu Chen 54b9e7d9d1 Merge branch 'feat/call_meshcop_mdns_publish_in_idf_v5.2' into 'release/v5.2'
Handle MeshCoP mDNS service in state change callback, update OpenThread upstream (v5.2)

See merge request espressif/esp-idf!40085
2025-07-01 02:55:13 +00:00
morris e5d1195aee Merge branch 'change/remove_mmap_paddr_remap_warning_log_v5.2' into 'release/v5.2'
mmu: remove paddr remap warning log (v5.2)

See merge request espressif/esp-idf!40204
2025-06-30 23:13:21 +08:00
Erhan Kurubas 2b390ad395 fix(apptrace): calculate crc16 of the current block before swap 2025-06-30 14:38:47 +02:00
David Cermak 2e610fa243 fix(esp_netif): Fix incorrect DHCP call for PPP interfaces
Closes https://github.com/espressif/esp-protocols/issues/800
2025-06-30 12:21:58 +02:00
Xu Si Yu c976fd0f3a feat(openthread): update border router lib
* esp-openthread: thread_zigbee/esp-openthread@16bfed5ec
* openthread: espressif/openthread@b945928d7
* esp-idf: espressif/esp-idf@e9829623b
2025-06-30 09:20:29 +00:00
Xu Si Yu e9829623b8 feat(openthread): update openthread upstream 2025-06-30 17:08:59 +08:00
Xu Si Yu ec25e21ae8 feat(openthread): handle MeshCoP mDNS service in state change callback 2025-06-30 17:08:59 +08:00
Xu Si Yu 2b9d6c8820 feat(openthread): optimize trel reception 2025-06-30 17:08:59 +08:00
harshal.patil e3839b3f3f fix(bootlaoder): Fix documentation as ESP32 does not support secure download mode 2025-06-30 10:27:53 +05:30
armando e6f6239ef8 change(mmu): remove paddr remap warning log 2025-06-30 10:51:38 +08:00
Zhou Xiao e13ec6c442 fix(ble): ensure internal malloc in ble log spi out 2025-06-30 10:31:37 +08:00
Island 7ee856b644 Merge branch 'change/ble_update_lib_20250613_v5.2' into 'release/v5.2'
change(ble): [AUTO_MR] 20250613 - Update ESP BLE Controller Lib (v5.2)

See merge request espressif/esp-idf!40158
2025-06-27 11:10:06 +08:00
morris 46f35f9a5d Merge branch 'refactor/change_mmap_cache_lock_type_v5.2' into 'release/v5.2'
mmu: use cache freeze for mmap APIs (v5.2)

See merge request espressif/esp-idf!39790
2025-06-26 18:25:10 +08:00
morris e190f6b594 Merge branch 'fix/fix_c3_c2_cache_freeze_soc_caps_issue_v5.2' into 'release/v5.2'
cache: fixed SOC_CACHE_FREEZE_SUPPORTED not defined on C3 / C2 issue (v5.2)

See merge request espressif/esp-idf!39885
2025-06-26 18:14:20 +08:00
Sergei Silnov 513385b9ec Merge branch 'ci/fix-submodule-cache_v5.2' into 'release/v5.2'
ci: remove cached submodule metadata while checking with github (v5.2)

See merge request espressif/esp-idf!40096
2025-06-26 04:35:19 -03:00
cjin 6ffcd57e53 feat(ble): add sm count reserve cnt setting on ESP32-H2 2025-06-26 15:00:32 +08:00
cjin 757152e461 feat(ble): add sm count reserve cnt setting on ESP32-C6 2025-06-26 15:00:21 +08:00
cjin 7485ff2915 change(ble): update lib_esp32c6 to ea6c58c7 2025-06-26 15:00:01 +08:00
cjin d3375a9976 change(ble): update lib_esp32h2 to ea6c58c7 2025-06-26 14:58:58 +08:00
Zhou Xiao a30a2239ec change(ble): [AUTO_MR] Update lib_esp32c6 to b8770ab2 2025-06-26 14:58:58 +08:00
Zhou Xiao 644e735d84 change(ble): [AUTO_MR] Update lib_esp32c2 to e865b4f9 2025-06-26 14:58:58 +08:00
Zhou Xiao 14ae0c85cd change(ble): [AUTO_MR] Update lib_esp32h2 to b8770ab2 2025-06-26 14:58:58 +08:00
muhaidong 39eaca1be1 fix(coex): fix some external coexist issue 2025-06-25 19:35:24 +08:00
Island d6893a702a Merge branch 'feat/add_cte_iq_report_example_v5.2' into 'release/v5.2'
Add Bluetooth LE CTE connless example. (v5.2)

See merge request espressif/esp-idf!39780
2025-06-25 17:09:28 +08:00
zhanghaipeng 89dfe99648 fix(ble/bluedroid): fix build failure when some BLE features are disabled 2025-06-25 15:30:18 +08:00
Geng Yu Chao 18e38824d8 feat(ble): Add Bluetooth LE CTE connectionless AoA/AoD examples
(cherry picked from commit d8631ed3db)

Co-authored-by: Geng Yuchao <gengyuchao@espressif.com>
2025-06-25 12:04:36 +08:00
armando 7a59713121 fix(cache): fixed SOC_CACHE_FREEZE_SUPPORTED not defined on c3/c2 issue 2025-06-25 09:49:16 +08:00
armando a736b3e64c feat(mmu): use cache freeze for mmap apis 2025-06-25 09:44:25 +08:00
Jiang Jiang Jian 8b1ef509bf Merge branch 'bugfix/connect_before_connected_v5.2' into 'release/v5.2'
fix(conn): wifi connect before connected status (v5.2)

See merge request espressif/esp-idf!40100
2025-06-24 19:32:15 +08:00
ding huan 40d5359b85 fix(conn): wifi connect before connected status 2025-06-24 16:56:36 +08:00
Fu Hanxi 54656ece64 ci: remove cached submodule metadata while checking with github 2025-06-24 10:55:51 +02:00
Wang Meng Yang 34ef87c6d3 Merge branch 'bugfix/auth_collision_v5.2' into 'release/v5.2'
fix(bt/controller): Fixed bugs on LMP legacy and secure authentication collision (v5.2)

See merge request espressif/esp-idf!40013
2025-06-24 09:12:47 +08:00
Jiang Jiang Jian d19cb147a5 Merge branch 'bugfix/fix_some_bss_max_idle_issues_v5.2' into 'release/v5.2'
fix(wifi): fix some issues related to bss max idle(backport v5.2)

See merge request espressif/esp-idf!40041
2025-06-23 20:57:43 +08:00
morris 42a6ef8e3c Merge branch 'feat/support_fallback_to_default_pattern_when_psram_id_not_match_v5.2' into 'release/v5.2'
psram: support fallback to use default driver pattern when id isn't match (v5.2)

See merge request espressif/esp-idf!39997
2025-06-23 14:33:16 +08:00
Island bd38815a49 Merge branch 'bugfix/fixed_set_conn_mode_assert_on_esp32c2_v5.2' into 'release/v5.2'
fix(ble): fixed assertion issue in connection state on ESP32C2-ECO4 (v5.2)

See merge request espressif/esp-idf!40021
2025-06-23 10:48:18 +08:00
Roland Dobai e2e209c271 Merge branch 'fix/idf_tools_install_tool_version_v5.2' into 'release/v5.2'
fix(tools): fixed command `idf_tools.py install tool@version` (v5.2)

See merge request espressif/esp-idf!40043
2025-06-20 17:11:55 +02:00
Marek Fiala 0765257558 fix(tools): idf_tools.py uninstall decide based on preferred tool version
idf_tools.py uninstall now doesn't take only recommended version, but
makes the decision based on preferred installed versions.
2025-06-20 16:04:10 +02:00
Marek Fiala 5f239a862b test(tools): Added test for installing supported tool version
Added test_export_supported_version_cmake in `test_idf_tools.py`,
that installs and exports supported version of tool - cmake.
2025-06-20 16:04:10 +02:00
Marek Fiala bce8296ec7 fix(tools): idf_tools.py install tool@version 2025-06-20 16:03:59 +02:00
Roland Dobai e5fb4799d2 Merge branch 'feat/update_ccache_to_4.11.2_v5.2' into 'release/v5.2'
feat(tools): Update ccache 4.10.2 -> 4.11.2 (v5.2)

See merge request espressif/esp-idf!39575
2025-06-20 16:02:08 +02:00
yinqingzhao 4ffc52a33e fix(wifi): fix some issues related to bss max idle 2025-06-20 20:13:59 +08:00
Zhao Wei Liang 8acdb2d8e0 fix(ble): fixed assertion issue in connection state on ESP32C2-ECO4
(cherry picked from commit 83fd955f11)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-06-20 15:31:23 +08:00
liqigan 7c3af7aef0 fix(bt/controller): Fixed bugs on LMP legacy and secure authentication collision 2025-06-20 14:57:37 +08:00
armando 53c5aa55c7 feat(psram): support fallback to use default driver pattern when id isn't match 2025-06-20 09:41:26 +08:00
Wang Mengyang 3f5d8272dc fix(bt): Fixed HFP AG data callback cleared after profile is re-initialized 2025-06-19 07:31:02 +08:00
morris b861ac4481 Merge branch 'bugfix/onewire_internal_pullup_v5.2' into 'release/v5.2'
fix(rmt): enable internal pull-up resistor for onewire bus (v5.2)

See merge request espressif/esp-idf!39932
2025-06-18 21:49:55 +08:00
Rahul Tank 6377b2c605 Merge branch 'fix/gatt_cache_peer_init_incl_svc_v5.2' into 'release/v5.2'
fix(nimble): Added parameter in peer_init for included service allocation (v5.2)

See merge request espressif/esp-idf!39915
2025-06-18 16:27:44 +05:30
Shu Chen d6c8a2b09c Merge branch 'fix/rx_abort_next_op_v5.2' into 'release/v5.2'
fix(openthread): disable rx_abort events in next operation (v5.2)

See merge request espressif/esp-idf!39961
2025-06-18 10:16:54 +00:00
Aditya Patwardhan 58fd7daea0 Merge branch 'bugfix/http_client_test_failure_v5.2' into 'release/v5.2'
fix: update root certificate for postman-echo endpoint (v5.2)

See merge request espressif/esp-idf!39849
2025-06-18 14:16:15 +05:30
Tan Yan Quan 8c1458345e feat(openthread): use apb_freq_max mode for esp_openthread_sleep pm lock 2025-06-18 15:35:24 +08:00
Xu Si Yu 943f32bd5a feat(openthread): add some configurations in Kconfig 2025-06-18 15:35:24 +08:00
Tan Yan Quan d50027a2fa fix(openthread): disable rx_abort events in next operation 2025-06-18 15:35:24 +08:00
Island 1936720064 Merge branch 'feat/ble_mesh_micellaneous_fix_v5.2' into 'release/v5.2'
Feat/ble mesh micellaneous fix (v5.2)

See merge request espressif/esp-idf!39635
2025-06-18 10:17:04 +08:00
morris 6cc744aa58 fix(rmt): enable internal pull-up resistor for onewire bus 2025-06-17 15:33:04 +08:00
Astha Verma 304a10e1e9 fix(nimble): Added parameter in peer_init for included service allocation 2025-06-17 11:59:38 +05:30
Rahul Tank b3d4982c1b Merge branch 'feat/auto_security_initiate_v5.2' into 'release/v5.2'
feat(nimble): Automatically initiate security if a GATT service request fails (v5.2)

See merge request espressif/esp-idf!39868
2025-06-17 11:50:02 +05:30
Marek Fiala c08a55b5a3 feat(tools): Update ccache 4.10.2 -> 4.11.2
Closes https://github.com/espressif/idf-installer/issues/305
2025-06-17 04:26:21 +08:00
Sumeet Singh eb3339fec3 feat(nimble): Added two GATT features:
1. Automatically initiate security if a GATT service request fails
2. Encryption, Authentication, and Authorization requirement on CCCD
2025-06-16 17:02:40 +05:30
Rahul Tank 6298e6bdab Merge branch 'fix/nimble_pr_issues_v5.2' into 'release/v5.2'
fix(nimble): Add fixes for compilation issues in nimble (v5.2)

See merge request espressif/esp-idf!39844
2025-06-16 15:47:54 +05:30
Island e0f61f8c92 Merge branch 'feat/add_ble_dtm_on_cert_test_v5.2' into 'release/v5.2'
feat(ble): add dtm test code to cert test example on ESP32-C6 (v5.2)

See merge request espressif/esp-idf!39832
2025-06-16 17:40:43 +08:00
wuzhenghui 8d5aa071c2 change(bt): increase BTDM_MODEM_WAKE_UP_DELAY 2025-06-16 17:31:53 +08:00
wuzhenghui 6f8408e7c0 change(esp_timer): make esp_timer timming drift always be negative 2025-06-16 17:31:53 +08:00
wuzhenghui 2ec5099b42 fix(esp_hw_support): config lact in critical 2025-06-16 17:31:47 +08:00
Rahul Tank ff55478e3f Merge branch 'bugfix/pawr_sync_v5.2' into 'release/v5.2'
fix(nimble): memset the sync structs to prevent uncertainty for ext_adv reports (v5.2)

See merge request espressif/esp-idf!39718
2025-06-13 15:25:20 +05:30
Marius Vikhammer e70382aa6f Merge branch 'change/update-esp-event-register-doxygen_v5.2' into 'release/v5.2'
change(esp-event): Update the doxygen comment of esp_event_handler_register (v5.2)

See merge request espressif/esp-idf!39856
2025-06-13 17:17:08 +08:00
Guillaume Souchere a2fbbbd45e change(esp-event): Update the doxygen comment of esp_event_handler_register
Add a comment to specify what happens when registering a handler several times
to the same event.
2025-06-13 08:22:52 +02:00
Mahavir Jain d3feee5d06 fix: update root certificate for postman-echo endpoint
The certificate chain for postman-echo endpoint has switched to
Let's Encrypt root CA
2025-06-13 11:06:11 +05:30
zwl d099e47d22 feat(ble): add dtm test code to cert test example on ESP32-C6 2025-06-13 11:47:22 +08:00
Island a62362a75c Merge branch 'bugfix/fix_blecibr25_119_v5.2' into 'release/v5.2'
fix(ble/bluedroid): Fixed extended adv restart failure during reconnection (v5.2)

See merge request espressif/esp-idf!39775
2025-06-13 10:59:22 +08:00
Rahul Tank 843d0f693e fix(nimble): Add fixes for compilation issues in nimble
1. Fix compile failures when CSFCS is 0
2. Wrap BLE service API with extern "C"
2025-06-12 21:02:21 +05:30
Rahul Tank 23de9733a7 Merge branch 'bugfix/fix_kconfig_names_v5.2' into 'release/v5.2'
fix(nimble): Modified Kconfig information to make it more user friendly (v5.2)

See merge request espressif/esp-idf!39646
2025-06-12 20:29:18 +05:30
Rahul Tank eaededdb86 Merge branch 'feat/ram_optimization_v5.2' into 'release/v5.2'
fix(nimble): Add support to minimize ram consumption (v5.2)

See merge request espressif/esp-idf!39621
2025-06-12 20:23:58 +05:30
Island a0a8a3521a Merge branch 'feat/reduce_bin_size_and_iram_for_ble_rom_code_v5.2' into 'release/v5.2'
feat(ble/controller): Reduce bin size and IRAM for BLE rom code on ESP32-C3 and ESP32-S3 (v5.2)

See merge request espressif/esp-idf!39450
2025-06-12 21:51:59 +08:00
Roland Dobai 7f6124c7b8 Merge branch 'fix/enable_remove_requirements_file_v5.2' into 'release/v5.2'
fix(tools): handle missing `requirements.*.txt` files for enabled features (v5.2)

See merge request espressif/esp-idf!39805
2025-06-11 15:04:17 +02:00
Marek Fiala e0061808ca fix(tools): Enabled removing requirements.* files 2025-06-11 11:15:44 +02:00
chenjianhua c3f06d200b feat(ble/bluedroid): Support anonymous address type for white list 2025-06-11 11:12:48 +08:00
chenjianhua e67f637f7a feat(ble/bluedroid): Add config for BLE vendor hci command and event 2025-06-11 11:12:42 +08:00
chenjianhua 2844ec6049 feat(ble/bluedroid): Support BLE vendor event reporting with params 2025-06-11 11:12:36 +08:00
chenjianhua 412c535f98 fix(bt/bluedroid): Fixed BLE connection active count getting 2025-06-11 11:12:31 +08:00
Chen Jian Hua 443f3bda3e fix(ble/bluedroid): Fixed extended adv restart failure during reconnection
(cherry picked from commit 6392180813)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2025-06-10 21:33:22 +08:00
Wang Meng Yang caa76535af Merge branch 'feat/add_avrcp_init_state_event_v5.2' into 'release/v5.2'
feat(bt/bluedroid): Add events to indicate the initialization states of AVRCP(v5.2)

See merge request espressif/esp-idf!39537
2025-06-10 14:11:42 +08:00
Island cf25bf4670 Merge branch 'change/ble_update_lib_20250606_v5.2' into 'release/v5.2'
change(ble): [AUTO_MR] 20250606 - Update ESP BLE Controller Lib (v5.2)

See merge request espressif/esp-idf!39737
2025-06-10 11:06:08 +08:00
zhanghaipeng 549cc2c962 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(4713a69)
- Fixed double free exception during BLE init under low memory
2025-06-10 10:31:12 +08:00
Alexey Gerenkov a0de430bdd Merge branch 'ci/fix-custom-oocd-setting_v5.2' into 'release/v5.2'
ci: select OpenOCD binary based on runner (v5.2)

See merge request espressif/esp-idf!39379
2025-06-09 23:16:25 +08:00
Island ccda0fbdd3 Merge branch 'bugfix/fix_ble_smp_fail_0x82_v5.2' into 'release/v5.2'
Bugfix/fix ble smp fail 0x82 (v5.2)

See merge request espressif/esp-idf!39660
2025-06-09 14:38:43 +08:00
Jiang Jiang Jian 58d15fd208 Merge branch 'bugfix/add_more_checks_when_receiving_espnow_v5.2' into 'release/v5.2'
fix(wifi): Added more check when receiving espnow data (v5.2)

See merge request espressif/esp-idf!39592
2025-06-09 11:10:11 +08:00
Zhao Wei Liang f732a0a60a fix(ble): change the default ble cca thresh on ESP32-C2
(cherry picked from commit a10696d7e1)

Co-authored-by: cjin <jinchen@espressif.com>
2025-06-09 11:03:57 +08:00
Zhao Wei Liang d450242aac fix(ble): change the default ble cca thresh on ESP32-H2
(cherry picked from commit a2fab0ad60)

Co-authored-by: cjin <jinchen@espressif.com>
2025-06-09 11:03:55 +08:00
Zhao Wei Liang b96af85ef9 fix(ble): change the default ble cca thresh on ESP32-C6
(cherry picked from commit 581521526b)

Co-authored-by: cjin <jinchen@espressif.com>
2025-06-09 11:03:53 +08:00
Zhao Wei Liang 584e15a76e fix(ble): change ld file on ESP32-C2
(cherry picked from commit 6c5bff1bd8)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-06-09 11:03:51 +08:00
Zhao Wei Liang 337057d90d fix(ble): fixed an occasional assertion issue during sync on ESP32-C6
(cherry picked from commit 3c8ba488e0)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-06-09 11:03:48 +08:00
Zhao Wei Liang 6a753b46c5 change(ble): [AUTO_MR] Update lib_esp32c2 to 7f72c031
(cherry picked from commit 4be18a2469)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-06-09 11:03:46 +08:00
Zhao Wei Liang 26d8b6e4e6 change(ble): [AUTO_MR] Update lib_esp32c6 to 35fe65f4
(cherry picked from commit 57c8d23800)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-06-09 11:03:44 +08:00
Zhao Wei Liang 1782d6ac5d change(ble): [AUTO_MR] Update lib_esp32h2 to 35fe65f4
(cherry picked from commit dbf7835a6b)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-06-09 11:03:41 +08:00
xiongweichao a6834af93f feat(bt/bluedroid): Add events to indicate the initialization states of AVRCP 2025-06-09 02:56:36 +00:00
Rahul Tank 3b0c5eb8da Merge branch 'bugfix/add_missing_deinit_call_v5.2' into 'release/v5.2'
fix(nimble): Add invocation for mempool_deinit (v5.2)

See merge request espressif/esp-idf!39673
2025-06-07 18:36:15 +05:30
Abhinav Kudnar 709a037649 fix(nimble): memset the sync structs to prevent uncertainty for ext_adv reports 2025-06-06 17:15:08 +05:30
luoxu 1f63b50ebd feat(ble_mesh): update lib to f15b27e2d2 2025-06-06 14:41:50 +08:00
luoxu 6f0fa9f127 fix(ble_mesh): fixed issue with recv ntf before ccc done 2025-06-06 14:40:05 +08:00
luoxu 3514d023e9 fix(ble_mesh): fixed proxy server might send segment message with incorrect format
refer commit: 7738bca124
2025-06-06 14:40:01 +08:00
Samuel Obuch f52cec0f26 ci: select OpenOCD binary based on runner 2025-06-05 11:11:25 +02:00
Sergei Silnov ac74bb7595 Merge branch 'ci/disable-plugin-idf_ci_v5.2' into 'release/v5.2'
ci: disable idf-ci plugin (v5.2)

See merge request espressif/esp-idf!39668
2025-06-04 11:30:15 -03:00
Rahul Tank 94f41bfd89 fix(nimble): Add invocation for mempool_deinit 2025-06-04 17:00:12 +05:30
Fu Hanxi de38d22021 ci: disable idf-ci plugin
this plugin will be re-enabled with compatible code in !38755
2025-06-04 13:20:13 +02:00
Zhang Hai Peng 67c9908f41 fix(ble/bluedroid): Fixed BLE SMP state machine inconsistency on disconnection
(cherry picked from commit 99121258d4)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-06-04 17:13:27 +08:00
Zhang Hai Peng f73409b757 feat(ble/bluedroid): Include SMP state in BLE status reporting
(cherry picked from commit de9a367f13)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-06-04 17:13:24 +08:00
Island 975bea85f1 Merge branch 'bugfix/fix_ble_crash_when_check_send_pkts_v5.2' into 'release/v5.2'
fix(ble/bluedroid): Fixed null pointer assert in l2c_link_check_send_pkts (v5.2)

See merge request espressif/esp-idf!39596
2025-06-04 16:53:11 +08:00
Shu Chen eb189a4a35 Merge branch 'feat/and_function_to_exit_ot_mainloop_v5.2' into 'release/v5.2'
feat(openthread): add a function to exit openthread mainloop safely (v5.2)

See merge request espressif/esp-idf!39613
2025-06-04 08:24:51 +00:00
Wang Meng Yang 80ac9a4c91 Merge branch 'change/opt_hid_device_connect_description_v5.2' into 'release/v5.2'
docs(bt/bluedroid): Updated HID Device connect API description (v5.2)

See merge request espressif/esp-idf!39606
2025-06-04 14:17:32 +08:00
Rahul Tank ce061be102 fix(nimble): Modified Kconfig information to make it more user friendly 2025-06-04 10:49:16 +05:30
Island e782d7c98f Merge branch 'fix/ble_log_spi_out_timer_delete_v5.2' into 'release/v5.2'
fix(ble): set timer handle to null after deletion (v5.2)

See merge request espressif/esp-idf!39557
2025-06-04 11:26:56 +08:00
Shreeyash 83e66fda3b fix(nimble): Add support to minimize ram consumption 2025-06-03 16:07:25 +05:30
Xu Si Yu 5c7c08d0df feat(openthread): add a function to exit openthread main loop safely 2025-06-03 16:45:45 +08:00
Island a11377fc67 Merge branch 'fix/ble_mesh_solic_tx_pdu_fix_v5.2' into 'release/v5.2'
fix(ble_mesh): fixed issues with proxy solic pdu adv (v5.2)

See merge request espressif/esp-idf!39525
2025-06-03 15:53:51 +08:00
liqigan 085f4c523e docs(bt/bluedroid): Updated HID Device connect API description
Closes https://github.com/espressif/esp-idf/issues/16020
2025-06-03 15:38:25 +08:00
Zhang Hai Peng 34ffce1441 fix(ble/bluedroid): Fixed null pointer assert in l2c_link_check_send_pkts
(cherry picked from commit 8150573012)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-06-03 12:13:27 +08:00
zhangyanjiao df7757d827 fix(wifi): Added more check when receiving espnow data 2025-06-03 11:11:39 +08:00
Roland Dobai efb0e20448 Merge branch 'update/rom-elfs-to-20240305_v5.2' into 'release/v5.2'
feat(tools): update esp-rom-elf to version 20240305 (v5.2)

See merge request espressif/esp-idf!39492
2025-06-02 08:33:53 +02:00
Zhou Xiao 651109f03f fix(ble): set timer handle to null after deletion
(cherry picked from commit 1614e71eb6)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-05-30 19:53:28 +08:00
Wang Meng Yang 28027d6b31 Merge branch 'fix/incorrect_setting_of_sco_packet_type_mask_v5.2' into 'release/v5.2'
fix(bt): fixed incorrect mask was used to exclude sco packets (backport v5.2)

See merge request espressif/esp-idf!39502
2025-05-30 14:20:56 +08:00
luoxu 787c725f66 fix(ble_mesh): fixed issues with proxy solic pdu adv 2025-05-30 11:09:47 +08:00
Rahul Tank 3ec7c5b910 Merge branch 'bugfix/add_ci_files_v5.2' into 'release/v5.2'
fix(nimble): Add CI files for base configurations (v5.2)

See merge request espressif/esp-idf!39244
2025-05-29 14:08:41 +05:30
Alexey Lapshin 5b6ba02773 feat(tools): update esp-rom-elf to version 20240305 2025-05-29 15:44:01 +08:00
Jiang Jiang Jian cea685236a Merge branch 'bugfix/fix_sta_connection_info_error_on_c5_c6_v5.2' into 'release/v5.2'
fix(wifi): fix the issue that sta connection info loss lr info on C6 (v5.2)

See merge request espressif/esp-idf!39447
2025-05-29 14:00:17 +08:00
Mahavir Jain 6967f070c1 Merge branch 'fix/suppress_cert_bundle_serial_number_warning_v5.2' into 'release/v5.2'
fix(mbedtls/esp_crt_bundle): Suppress non-negative serial number warning (v5.2)

See merge request espressif/esp-idf!39406
2025-05-29 10:51:55 +05:30
gongyantao 510cab369f fix(bt): fixed incorrect mask was used to exclude sco packets 2025-05-29 09:55:55 +08:00
Rahul Tank 613970487f fix(nimble): Added CI files for various configurations 2025-05-28 20:01:41 +05:30
Island 376593aa9b Merge branch 'bugfix/fix_send_delete_link_key_cmd_1_v5.2' into 'release/v5.2'
Bugfix/fix send delete link key cmd 1 (v5.2)

See merge request espressif/esp-idf!39443
2025-05-28 10:58:48 +08:00
Island e7fe0f3a0e Merge branch 'fix/ble_mesh_micellaneous_update_v5.2' into 'release/v5.2'
Fix/ble mesh micellaneous update v5.2

See merge request espressif/esp-idf!39462
2025-05-28 10:37:35 +08:00
Island b4b598d6aa Merge branch 'feat/ble_log_spi_out_dev_phase_3_v5.2' into 'release/v5.2'
Feat/ble log spi out dev phase 3 (v5.2)

See merge request espressif/esp-idf!39353
2025-05-28 10:35:56 +08:00
luoxu ced7ed49c3 feat(ble_mesh): update lib to bbb57d10f9 2025-05-27 20:12:43 +08:00
luoxu 85474d15cc feat(ble_mesh): Change the type of rpl size from uint8 to uint16 2025-05-27 17:00:46 +08:00
luoxu d3443c224a fix(ble_mesh): update ble 50 macro on unsupported version 2025-05-27 17:00:46 +08:00
zhiweijian 5bdb604d4f feat(ble/controller): Reduce bin size and IRAM for BLE rom code 2025-05-27 16:24:55 +08:00
luoxu 3a6eb5f502 fix(ble_mesh): fixed issue where private beacon used incorrect adv type 2025-05-27 15:34:56 +08:00
luoxu 57f6209d17 fix(ble_mesh): fixed some issues with ble50 2025-05-27 15:34:56 +08:00
luoxu 640b37d7d5 feat(ble_mesh): Remote Provisioning Server UUID Matchs Supported 2025-05-27 15:34:56 +08:00
luoxu 6f73b4b4d4 fix(ble_mesh): Remote Provisioning Client/Server bugs fixed 2025-05-27 15:34:56 +08:00
zhangyanjiao 281664bb12 fix(wifi): fix the issue that sta connection info loss lr info on C5/C6 2025-05-27 15:15:54 +08:00
Zhang Hai Peng e64937f7f6 fix(ble/bluedroid): Fixed clear BLE device recored
(cherry picked from commit 21391a45fd)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-05-27 15:13:38 +08:00
Zhang Hai Peng 26ca2561f6 fix(ble/bluedroid): Fixed issue with deleting link key when classic Bluetooth is not used
(cherry picked from commit 7c16bce827)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-05-27 15:13:35 +08:00
Jiang Jiang Jian 0227813912 Merge branch 'backport/backport_some_wifi_changes_250526_v5.2' into 'release/v5.2'
fix(wifi): fix some wifi bugs(backport v5.2)

See merge request espressif/esp-idf!39412
2025-05-27 14:48:17 +08:00
Mahavir Jain 9bb951c77b Merge branch 'change/exclude_cve-2023-53154_v5.2' into 'release/v5.2'
change: adds CVE-2023-53154 to cJSON sbom exclude list (v5.2)

See merge request espressif/esp-idf!39418
2025-05-27 10:52:49 +05:30
Jiang Jiang Jian 9a4bdcf37b Merge branch 'fix/fix_usj_pad_leakage_v5.2' into 'release/v5.2'
fix(esp_hw_support): always disable USJ pad in sleep to supress leakage (v5.2)

See merge request espressif/esp-idf!39108
2025-05-26 19:57:15 +08:00
Jiang Jiang Jian 6dc1044aec Merge branch 'fix/fix_esp_timer_accuracy_when_do_dfs_v5.2' into 'release/v5.2'
fix(esp_hw_support): improve esp timer accuracy on DFS for esp32 & esp32s2 (v5.2)

See merge request espressif/esp-idf!39342
2025-05-26 19:55:04 +08:00
Ashish Sharma c6f3666381 change: adds CVE-2023-53154 to cJSON sbom exclude list 2025-05-26 17:32:16 +08:00
yinqingzhao b05874b5e7 fix(wifi): fix some wifi bugs 2025-05-26 17:13:57 +08:00
harshal.patil 207b2322d2 fix(mbedtls/esp_crt_bundle): Suppress non-negative serial number warning
Co-authored-by: Mahavir Jain <mahavir.jain@espressif.com>
2025-05-26 14:04:44 +05:30
Zhou Xiao 3f4b935a66 change(ble): make falling edge when disabling ts sync 2025-05-26 15:34:49 +08:00
Zhou Xiao da281449f4 fix(ble): fixed spi log init failure return value for ESP32 2025-05-26 10:47:37 +08:00
Zhou Xiao 6ad488c9dd fix(ble): fixed ts sync sleep support trigger 2025-05-23 19:12:33 +08:00
morris 5703323043 Merge branch 'feature/add_uart_io_deinit_process_v5.2' into 'release/v5.2'
fix(uart): eliminate garbled data on TX/RX line in sleep (v5.2)

See merge request espressif/esp-idf!39285
2025-05-23 17:01:36 +08:00
Zhou Xiao 8a014c33c0 fix(ble): fixed printf va list cross function pass failure 2025-05-23 12:31:29 +08:00
Rahul Tank d179a020be Merge branch 'bugfix/coverity_fix_v5.2' into 'release/v5.2'
fix(nimble): Add changes for coverity reported issue (v5.2)

See merge request espressif/esp-idf!39316
2025-05-22 16:45:58 +05:30
Zhou Xiao ba06a39abe fix(ble): fixed upper layer trans append failure bug
(cherry picked from commit 1e6bc70837)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-05-22 16:54:10 +08:00
Zhou Xiao c22d36059b feat(ble): support ts sync for sleep app
(cherry picked from commit e10460ce14)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-05-22 16:54:08 +08:00
Zhou Xiao bd32fbdb5b feat(ble): support controller raw log print out
(cherry picked from commit ed09e97c66)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-05-22 16:54:06 +08:00
Zhou Xiao e411a17975 feat(ble): refactored loss report module and represent frame using struct
(cherry picked from commit 9800d715a5)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-05-22 16:54:03 +08:00
Zhou Xiao 0bdf6c956d feat(ble): support le audio log buffer separation
(cherry picked from commit cd3aa6527c)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-05-22 16:54:01 +08:00
Zhou Xiao aae7606664 feat(ble): optimized printf functions code size and speed
(cherry picked from commit e4be25ba63)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-05-22 16:53:59 +08:00
Zhou Xiao f1e3a8e106 feat(ble): refactored flush module and provided public flush api
(cherry picked from commit 70792443c7)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-05-22 16:53:56 +08:00
Zhou Xiao 6834ff94de feat(ble): refactored ll isr buffer append and buffer flush using event handler
(cherry picked from commit bba90309e7)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-05-22 16:53:53 +08:00
Zhou Xiao 8db24f1603 feat(ble): provided dynamic spi enable/disable api
(cherry picked from commit 3568f19fef)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-05-22 16:53:51 +08:00
Zhou Xiao 3b4ed71965 feat(ble): support hci log buffer separation
(cherry picked from commit 16a3b2c71b)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-05-22 16:53:48 +08:00
Zhou Xiao 7afbc47750 feat(ble): optimized macros readability
(cherry picked from commit f8699785e9)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-05-22 16:53:46 +08:00
wuzhenghui f5022cb8c2 ci(esp_timer): add UT case for esp_timer period alarm with DFS 2025-05-22 14:58:43 +08:00
wuzhenghui a2e212fb9f feat(esp_hw_support): compensate the error introduced to LACT during APB frequency switching 2025-05-22 14:58:43 +08:00
wuzhenghui d54c710921 fix(esp_hw_support): update systimer step immediately when XTAL changes on esp32s2 2025-05-22 14:58:42 +08:00
wuzhenghui 52296887bf fix(esp_hw_support): update LACT clock prescale immediately when APB changes on esp32 2025-05-22 14:58:39 +08:00
Island 9b9103c5bb Merge branch 'bugfix/fix_ble_scan_no_adv_report_when_connected_v5.2' into 'release/v5.2'
Fixed missing ADV reports after bonding and connection on ESP32-C3 and ESP32-S3 (v5.2)

See merge request espressif/esp-idf!39273
2025-05-21 18:19:28 +08:00
Rahul Tank b9338273d9 fix(nimble): Add changes for coverity reported issue 2025-05-21 11:33:58 +05:30
Rahul Tank 9dbbc9ac6a Merge branch 'bugfix/handle_flow_control_flag_v5.2' into 'release/v5.2'
fix(nimble): Add chip dependancy flag for Flow control feature (v5.2)

See merge request espressif/esp-idf!39296
2025-05-21 09:53:25 +05:30
Rahul Tank cf0ff0e1aa Merge branch 'feat/min_size_builds_v5.2' into 'release/v5.2'
fix(nimble): Add support for minimilistic builds (v5.2)

See merge request espressif/esp-idf!39101
2025-05-20 21:04:48 +05:30
Rahul Tank ac18224234 fix(nimble): Add chip dependancy flag for Flow control feature 2025-05-20 18:10:46 +05:30
morris b6a74a4c3d Merge branch 'fix/usb_phy_pull_override_backport_v5.2' into 'release/v5.2'
fix(usb_phy): Removed pull resistors override configuration for Internal FSLS PHY (backport to v5.2)

See merge request espressif/esp-idf!39214
2025-05-20 17:21:31 +08:00
Song Ruo Jing d353271537 fix(uart): eliminate garbled data on UART TX/RX line in sleep 2025-05-20 16:58:02 +08:00
Song Ruo Jing bd275c1da3 feat(uart): add pin release process to uart driver 2025-05-20 16:57:42 +08:00
Song Ruo Jing 76c20fdb10 fix(gpio): add some detailed error log for gpio_pullup_en and gpio_pulldown_en 2025-05-20 15:51:31 +08:00
Song Ruo Jing 296e4e9104 fix(dedic_gpio): fix calloc to heap_caps_calloc 2025-05-20 15:50:54 +08:00
Song Ruo Jing 4b7f3ca210 fix(uart): fix nmea0183 example wrong knots to m/s unit conversion
Closes https://github.com/espressif/esp-idf/issues/15695
2025-05-20 15:49:56 +08:00
Song Ruo Jing e182cfac59 fix(uart): correct C3/S3 module enable porcedure to avoid undesired line noise 2025-05-20 15:49:29 +08:00
Song Ruo Jing cb75dc3735 fix(sleep): uart suspend/flush should also check if port is enabled on esp32 2025-05-20 15:48:48 +08:00
Song Ruo Jing 8b0d4a17e6 docs(uart): improve set/get baud rate API docs
Closes https://github.com/espressif/esp-idf/issues/15449
2025-05-20 15:43:24 +08:00
Song Ruo Jing 6b1bfc96cb fix(uart): fixed coverity ininitialized scalar variable in uart_tcgetattr 2025-05-20 15:43:13 +08:00
Mahavir Jain 6956b7c3c8 Merge branch 'feat/cjson_update_to_upstream_v5.2' into 'release/v5.2'
feat(cjson): update to latest upstream (v5.2)

See merge request espressif/esp-idf!39228
2025-05-20 09:50:13 +05:30
Island e3e9262081 Merge branch 'change/ble_update_lib_20250516_v5.2' into 'release/v5.2'
change(ble): [AUTO_MR] 20250516 - Update ESP BLE Controller Lib (v5.2)

See merge request espressif/esp-idf!39235
2025-05-20 11:40:38 +08:00
Zhang Hai Peng 7d1339b430 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(4713205)
- Fix: Missing ADV reports after bonding and connection


(cherry picked from commit 244d4f8fa7)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-05-20 11:13:21 +08:00
Abhik Roy c086a0fc8b fix(dhcps): Fixed DNS server handling for previous breaking changes 2025-05-20 12:03:36 +10:00
Lorenzo Consolaro b53b8b20a3 feat(dhcps): Support for multiple DNS servers 2025-05-20 12:03:36 +10:00
Alexey Gerenkov 2f2512e5b9 Merge branch 'ci/enable_gcov_test_v5.2' into 'release/v5.2'
ci: enable gcov example for all chips (v5.2)

See merge request espressif/esp-idf!39177
2025-05-20 02:06:27 +08:00
Alexey Gerenkov 9f2918c5b6 Merge branch 'feat/apptrace-crc16_v5.2' into 'release/v5.2'
Store CRC16 checksum value in the PERFMON1 reg (v5.2)

See merge request espressif/esp-idf!39211
2025-05-20 01:51:58 +08:00
Zhou Xiao 27b333e736 fix(ble): added missed printf for ll log interface 2025-05-19 20:36:22 +08:00
zwl 964d3d068e fix(ble): fixed occasional assert issue in scan and connection scenarios on ESP32-C6 2025-05-19 20:36:17 +08:00
Rahul Tank 035560bda4 fix(nimble): Add support for minimilistic builds 2025-05-19 12:51:59 +05:30
Rahul Tank 6693ca5967 Merge branch 'fix/gattc_proc_comparison_v5.2' into 'release/v5.2'
fix(nimble): Fix proc rx entry comparison (v5.2)

See merge request espressif/esp-idf!39190
2025-05-19 12:35:52 +05:30
Zhao Wei Liang 975c08b6cc feat(ble): support creating connections during scanning process on ESP32-H2
(cherry picked from commit 207d85a5f7)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-05-19 12:03:46 +08:00
Zhao Wei Liang b070813877 change(ble): [AUTO_MR] Update lib_esp32c2 to 664e4255
(cherry picked from commit 3cfd4d0166)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-05-19 12:03:43 +08:00
Zhao Wei Liang d41ddda9a8 change(ble): [AUTO_MR] Update lib_esp32c6 to 1304a9d0
(cherry picked from commit 69158d5064)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-05-19 12:03:41 +08:00
Zhao Wei Liang d71224cb69 change(ble): [AUTO_MR] Update lib_esp32h2 to 1304a9d0
(cherry picked from commit 29f89efea6)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-05-19 12:03:39 +08:00
Jiang Jiang Jian cde5a854f0 Merge branch 'backport/backport_some_wifi_changes_250512_v5.2' into 'release/v5.2'
Backport/backport some wifi changes 250512 v5.2

See merge request espressif/esp-idf!39064
2025-05-19 10:36:01 +08:00
Ashish Sharma e8a418cf4e feat(cjson): update to latest upstream 2025-05-19 09:51:29 +08:00
Roman Leonov 7dd375bd8c fix(usb_phy): Removed pull resistors override configuration for Internal FSLS PHY 2025-05-16 14:26:42 +02:00
Erhan Kurubas f6dc5ff83e feat(apptrace): Store CRC16 checksum value of exposed block in the perfmon reg 2025-05-16 11:35:09 +02:00
morris ac835573e1 Merge branch 'refactor/add_dfs_init_auto_test_v5.2' into 'release/v5.2'
fix(mcpwm): the wrong pm lock type on esp32 and esp32s3 (v5.2)

See merge request espressif/esp-idf!39195
2025-05-16 14:34:54 +08:00
morris 761952a4c0 fix(mcpwm): the wrong pm lock type on esp32 and esp32s3 2025-05-16 10:52:29 +08:00
Sumeet Singh a543601c1e fix(nimble): Fix proc rx entry comparison (v5.2) 2025-05-15 20:07:58 +05:30
Samuel Obuch 0709ee53ee ci: fix app_trace_basic test 2025-05-15 14:41:06 +02:00
Samuel Obuch 9e03a7953a ci: enable gcov example for all chips 2025-05-15 14:41:02 +02:00
Omar Chebib bdfa4505ef fix(esp_hw_support): clear the memory protection interrupt status on boot
Fixes https://github.com/espressif/esp-idf/issues/15359
2025-05-15 15:48:30 +08:00
Alexey Gerenkov f0b6cc433c Merge branch 'freertos_sysview_deadlock_fix_v5.2' into 'release/v5.2'
fix(app_trace): prevent deadlock on sysview start (v5.2)

See merge request espressif/esp-idf!39139
2025-05-15 15:46:33 +08:00
Rahul Tank b8106e908a Merge branch 'bugfix/fix_few_nimble_issues_10052025_v5.2' into 'release/v5.2'
fix(nimble): fix nimble issues 10052025(v5.2)

See merge request espressif/esp-idf!39018
2025-05-14 20:34:07 +08:00
Shu Chen b6aafcc57b Merge branch 'feat/calibrate_bus_latency_v5.2' into 'release/v5.2'
Feat/calibrate bus latency v5.2

See merge request espressif/esp-idf!39133
2025-05-14 19:33:08 +08:00
Island a033a4912c Merge branch 'bugfix/fix_some_ble_bugs_0422_v5.2' into 'release/v5.2'
Bugfix/fix some ble bugs 0422 (v5.2)

See merge request espressif/esp-idf!39070
2025-05-14 17:23:25 +08:00
Samuel Obuch da6b869ed1 fix(sysview): do not use freertos ticks to prevent deadlock 2025-05-14 11:22:40 +02:00
Tan Yan Quan cce5d8585d feat(openthread): change border agent to kconfig option 2025-05-14 16:19:01 +08:00
Tan Yan Quan 48ecae86ea fix(openthread): handle SetTimeSyncState when ifconfig up or down 2025-05-14 16:18:56 +08:00
Tan Yan Quan 62bf7e6dca feat(openthread): support bus_latency for dual-chip BR solution 2025-05-14 16:18:49 +08:00
Rahul Tank 66f7b2d3de fix(nimble): Extend support for allow connect during scan for more chips 2025-05-14 10:37:39 +05:30
Rahul Tank a1d930dab4 fix(nimble): Add support for anonymous address type for whitelist 2025-05-14 10:33:16 +05:30
morris 6caedf54e1 Merge branch 'feature/usb_host_ext_hub_collective_backport_v5.2' into 'release/v5.2'
feat(usb_host): External Hub collective backport to v5.2

See merge request espressif/esp-idf!37267
2025-05-14 10:09:13 +08:00
Rahul Tank a43badf33a Merge branch 'fix/gatt_cache_inc_services_uuid_type_error_v5.2' into 'release/v5.2'
fix(nimble): Fixed UUID type error in gatt caching included service search (v5.2)

See merge request espressif/esp-idf!39090
2025-05-14 09:29:07 +08:00
wuzhenghui 188a443184 fix(esp_hw_support): always disable USJ pad in sleep to supress leakage 2025-05-13 20:16:35 +08:00
Sumeet Singh 264252525d fix(nimble): Fixed UUID type error in gatt caching included service search (v5.2) 2025-05-13 17:35:24 +05:30
Zhang Hai Peng 4c3f99a3eb fix(ble/bluedroid): Reduce Bluedroid host log output over SPI
(cherry picked from commit 0586d10317)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-05-13 16:13:43 +08:00
Zhang Hai Peng 4750199b1e fix(ble/bluedroid): Added value len check in esp_ble_gatts_send_indicate()
(cherry picked from commit bfa0fff2e5)

Co-authored-by: Nebojsa Cvetkovic <nebkat@gmail.com>
2025-05-13 16:13:40 +08:00
Zhang Hai Peng 92e649422a fix(ble/bluedroid): Change maximum length of attribute value to 517
(cherry picked from commit df8c1f7a96)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-05-13 16:13:38 +08:00
Zhang Hai Peng 10aec2388a docs(ble): clarify meaning of 0 value for esp_ble_gap_start_ext_scan() parameters
(cherry picked from commit ebb76933d0)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-05-13 16:13:35 +08:00
Zhang Hai Peng f9862a4776 fix(ble/bluedroid): Fixed BLE GAP appearance configuration check
(cherry picked from commit 6552854cb5)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-05-13 16:13:33 +08:00
yinqingzhao 6ddb29ee4d fix(wifi): fix some wifi bugs 2025-05-13 15:35:29 +08:00
yinqingzhao 6fce1fb8b1 feat(phy): update phy init data of esp32c6 2025-05-13 15:22:03 +08:00
Marius Vikhammer 408d7ed34e Merge branch 'contrib/github_pr_15132_v5.2' into 'release/v5.2'
fix(newlib): usleep returning early (GitHub PR) (v5.2)

See merge request espressif/esp-idf!38710
2025-05-13 14:38:31 +08:00
Rahul Tank a825b026b1 Merge branch 'feat/gatt_cache_info_v5.2' into 'release/v5.2'
fix(nimble): Added api's to fetch gatt cache info (v5.2)

See merge request espressif/esp-idf!39032
2025-05-13 14:10:27 +08:00
Astha Verma a201924ee8 fix(nimble): Added api's for fetching gatt cache data and for discovering included service 2025-05-12 12:07:58 +05:30
Rahul Tank 28d343b850 Merge branch 'bugfix/provide_user_option_delete_pair_v5.2' into 'release/v5.2'
fix(nimble): Added option to stack to handle repeat pairing internally (v5.2)

See merge request espressif/esp-idf!38961
2025-05-12 13:08:49 +08:00
morris 5512600929 Merge branch 'bugfix/fixed_mismatch_of_tx_queue_statue_v5.2' into 'release/v5.2'
fix(i2s): fixed the false buf catenate while use preload (v5.2)

See merge request espressif/esp-idf!38969
2025-05-12 10:39:18 +08:00
Shu Chen 3fc25f2590 Merge branch 'feat/ot_br_esp32p4_v5.2' into 'release/v5.2'
feat(br): support ot_br example for esp32p4 (v5.2)

See merge request espressif/esp-idf!39010
2025-05-12 09:20:52 +08:00
Rahul Tank 46f034f4ca fix(nimble): Added option to stack to handle repeat pairing internally 2025-05-10 21:37:38 +05:30
Rahul Tank b7f7226659 Merge branch 'feat/autopts_and_ssc_fixes_v5.2' into 'release/v5.2'
feat(nimble): Added fixes related to SSC and AutoPTS testing (v5.2)

See merge request espressif/esp-idf!38798
2025-05-10 23:49:02 +08:00
Tan Yan Quan 7592c6d591 feat(openthread): update OT upstream to ec2b0d487 2025-05-09 19:42:54 +08:00
morris dea307f715 Merge branch 'fix/i2c_race_condition_etc_v5.2' into 'release/v5.2'
fix(i2c_master): Fix i2c master race condition issue, etc. (backport v5.2)

See merge request espressif/esp-idf!38267
2025-05-09 18:03:45 +08:00
morris 171b912807 Merge branch 'fix/rmt_race_condition_v5.2' into 'release/v5.2'
fix(rmt): fix race condition and add receive config error message (v5.2)

See merge request espressif/esp-idf!39000
2025-05-09 16:17:28 +08:00
Island b1d3a654e6 Merge branch 'change/ble_update_lib_20250430_v5.2' into 'release/v5.2'
change(ble): [AUTO_MR] 20250430 - Update ESP BLE Controller Lib (v5.2)

See merge request espressif/esp-idf!38972
2025-05-09 14:05:23 +08:00
Island 6765037701 Merge branch 'fix/ble_mesh_trans_pending_fix_v5.2' into 'release/v5.2'
fix(ble_mesh): remove tx pending assert (v5.2)

See merge request espressif/esp-idf!38937
2025-05-09 14:04:30 +08:00
Chen Jichang 644299e825 fix(rmt): fix race condition and add receive config error message
Closes https://github.com/espressif/esp-idf/issues/15842
Closes https://github.com/espressif/esp-idf/issues/15836
2025-05-09 13:44:39 +08:00
Wang Meng Yang 45dc5a050c Merge branch 'feat/add_sdkconfig_for_secure_connection_v5.2' into 'release/v5.2'
fix(bt): disable dm1 for acl-u when aes-ccm is on in peripheral(backport v5.2)

See merge request espressif/esp-idf!38977
2025-05-09 09:38:47 +08:00
Sumeet Singh d220557626 feat(nimble): Added some fixes for autopts testing (v5.2) 2025-05-08 19:42:46 +05:30
gongyantao fa57638bbf fix(bt): disable dm1 for acl-u when aes-ccm is on in peripheral 2025-05-08 18:23:08 +08:00
Shen Wei Long f5a1c53ec3 fix(ble): update ld file on ESP32-C2
(cherry picked from commit ee6607b489)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-05-08 14:53:48 +08:00
Shen Wei Long b20e5cb868 change(ble): [AUTO_MR] Update lib_esp32c2 to 16e16586
(cherry picked from commit 26754d8e71)

Co-authored-by: Shen Weilong <shenweilong@espressif.com>
2025-05-08 14:53:44 +08:00
Shen Wei Long df3b1e5be0 change(ble): [AUTO_MR] Update lib_esp32c6 to 9ecb81c8
(cherry picked from commit a477bfb140)

Co-authored-by: Shen Weilong <shenweilong@espressif.com>
2025-05-08 14:53:42 +08:00
Shen Wei Long 024638fcf2 change(ble): [AUTO_MR] Update lib_esp32h2 to 9ecb81c8
(cherry picked from commit a3cc91dbf0)

Co-authored-by: Shen Weilong <shenweilong@espressif.com>
2025-05-08 14:53:39 +08:00
laokaiyao bd7571088c fix(i2s): fixed the false buf catenate while use preload
Closes https://github.com/espressif/esp-idf/issues/15775
2025-05-08 14:25:40 +08:00
Shu Chen 2dfb97010c Merge branch 'feat/mtd_parent_search_v5.2' into 'release/v5.2'
feat(openthread): enable parent search function for MTD (v5.2)

See merge request espressif/esp-idf!38822
2025-05-08 14:12:42 +08:00
Shu Chen 8629947606 Merge branch 'fix/calibrate_csl_rx_v5.2' into 'release/v5.2'
fix(openthread): calibrate CSL parameters (v5.2)

See merge request espressif/esp-idf!38535
2025-05-08 14:11:27 +08:00
Mahavir Jain dfff83c15e Merge branch 'feat/c6_v002_compatibility_v5.2' into 'release/v5.2'
hw_support: Add Kconfig option for c6 v0.2 (v5.2)

See merge request espressif/esp-idf!38944
2025-05-08 13:34:52 +08:00
C.S.M 6fc4752d26 test(i2c): Add tests for customize i2c usage 2025-05-08 13:24:36 +08:00
Rahul Tank 0cb2005b49 Merge branch 'bugfix/conn_with_scan_c6_h2_v5.2' into 'release/v5.2'
fix(nimble): Enable support for Connect with scan for 32/ c6/ h2 chip (v5.2)

See merge request espressif/esp-idf!38854
2025-05-08 12:05:30 +08:00
Island da8cec6c1d Merge branch 'bugfix/fix_scan_stopped_with_high_rtc_freq_v5.2' into 'release/v5.2'
fix(ble): fix rtc freq set too high on ESP32-C2 (v5.2)

See merge request espressif/esp-idf!38929
2025-05-08 10:15:23 +08:00
Xiao Xufeng 606e2cfebf feat(soc): add config option for c6 v0.2 2025-05-07 16:47:47 +08:00
Rahul Tank d56b78a96a fix(nimble): Enable support for Connect with scan for esp32/c6/ h2 chip 2025-05-07 12:48:40 +05:30
Island 0f67ac50f5 Merge branch 'fix/ble_mesh_fixed_insufficient_link_close_v5.2' into 'release/v5.2'
fix(ble_mesh): fixed issue with insufficient link close transmit cnt (v5.2)

See merge request espressif/esp-idf!38896
2025-05-07 14:58:30 +08:00
luoxu 09f31deede fix(ble_mesh): remove tx pending assert 2025-05-07 14:53:56 +08:00
Jiang Jiang Jian d4e4efdefc Merge branch 'bugfix/wps_msg_timeout_increase_v5.2' into 'release/v5.2'
fix(esp_wifi): Increase WPS message timeout (v5.2)

See merge request espressif/esp-idf!38877
2025-05-07 14:50:14 +08:00
Rahul Tank b0994e39c6 Merge branch 'fix/optimize_nimble_throughput_example_v5.2' into 'release/v5.2'
fix(nimble): Added support of Dynamic switching between different Phy modes. (v5.2)

See merge request espressif/esp-idf!38912
2025-05-07 12:39:22 +08:00
Mahavir Jain 2a79a2d3bc Merge branch 'change/secure_boot_config_description_v5.2' into 'release/v5.2'
Improve description of the config SECURE_BOOT_V2_ALLOW_EFUSE_RD_DIS (v5.2)

See merge request espressif/esp-idf!38914
2025-05-07 11:43:07 +08:00
Jiang Jiang Jian 8af1fc794a Merge branch 'bugfix/tsens_read_abnormal_value_v5.2' into 'release/v5.2'
fix: tsens read abnormal value in esp32c2eco4(backport v5.2)

See merge request espressif/esp-idf!38903
2025-05-07 11:37:30 +08:00
Jiang Jiang Jian 68f07110ed Merge branch 'fix/optimize_sleep_cost_and_time_compensation_v5.2' into 'release/v5.2'
fix(esp_hw_support): optimize retention cost and update sleep time compensation (v5.2)

See merge request espressif/esp-idf!38784
2025-05-07 10:58:31 +08:00
Jin Chen 9c1bd7f24e fix(ble): fix rtc freq set too high on ESP32-C2
(cherry picked from commit 6a80deac03)

Co-authored-by: cjin <jinchen@espressif.com>
2025-05-07 10:18:28 +08:00
Roman Leonov b2c3c9471e refactor(ext_port): Removed ext_hub dependency 2025-05-06 15:21:07 +02:00
Roman Leonov c391c835c2 refactor(ext_port): Changed the mechanism for hub class request
Merged all Hub Class specific request to one function.
Added a callback for the External Port Driver to break the dependency from ext_hub.h
2025-05-06 15:00:50 +02:00
Shreeyash 13f1a036dc fix(nimble): Added support for 1m, 2m, coded phy channels and optimized throughput 2025-05-06 17:55:06 +05:30
Roman Leonov 9c98a17a0d feat(ext_hub): Added device error handling 2025-05-06 14:17:29 +02:00
Roman Leonov dacb29e076 feat(usbh): Added uid presence check in USBH device object list 2025-05-06 14:17:29 +02:00
Roman Leonov 10bdcad7db docs(ext_port): Maintainers Notes for the External Port Driver 2025-05-06 14:17:29 +02:00
Roman Leonov cfaf175cfa docs(usb/host): Update maintainer docs for ESP32-P4 (partial, only the common part of the doc) 2025-05-06 14:17:29 +02:00
Rahul Tank 2913869aaa Merge branch 'bugfix/add_adv_type_parse_v5.2' into 'release/v5.2'
fix(nimble): Add API to parse adv report for given type (v5.2)

See merge request espressif/esp-idf!38791
2025-05-06 19:59:19 +08:00
Roland Dobai a85c915eed Merge branch 'docs/fix-kconfserver-link_v5.2' into 'release/v5.2'
docs: Fix link to the kconfserver documentation (v5.2)

See merge request espressif/esp-idf!38907
2025-05-06 18:29:21 +08:00
morris 395302efff Merge branch 'fix/usb_host_hcd_dma_ls_via_fs_hubs_backport_v5.2' into 'release/v5.2'
fix(hcd): Added delay to slow down scatter-gather dma for ls device via fs hubs (backport v5.2)

See merge request espressif/esp-idf!38648
2025-05-06 17:13:14 +08:00
harshal.patil cf48f3a82a change(bootloader_support/secure_boot): Improve description of the config SECURE_BOOT_V2_ALLOW_EFUSE_RD_DIS 2025-05-06 13:56:19 +05:30
akshat 258be80948 bugfix(wpa_supplicant): Fix build errors when Supplicant logs are enabled 2025-05-06 15:31:26 +08:00
Kapil Gupta 28e91d1b13 fix(esp_wifi): Increase WPS timeout 2025-05-06 15:31:26 +08:00
Jan Beran 5584aa3c64 docs: Fix link to the kconfserver documentation 2025-05-06 09:15:34 +02:00
sibeibei 08ea7babd0 fix: tsens read abnormal value in esp32c2eco4 2025-05-06 14:30:10 +08:00
Luo Xu 43fac12adf fix(ble_mesh): fixed issue with insufficient link close transmit cnt
(cherry picked from commit ad1073693e)

Co-authored-by: luoxu <luoxu@espressif.com>
2025-05-06 12:23:23 +08:00
Jiang Jiang Jian d9fbf875d7 Merge branch 'feat/add_svc_info_in_sdf_v5.2' into 'release/v5.2'
Add extended SSI support for NAN Services (Backport v5.2)

See merge request espressif/esp-idf!38839
2025-05-06 11:30:53 +08:00
Rahul Tank c36dd5fac2 Merge branch 'bugfix/fix_ext_disc_example_usage_v5.2' into 'release/v5.2'
fix(nimble): Corrected structure field name usage in examples (v5.2)

See merge request espressif/esp-idf!38860
2025-05-05 13:45:01 +08:00
Aditya Patwardhan 9eca5eefff Merge branch 'bugfix/esp32_c6_rev0_ecdsa_build_v5.2' into 'release/v5.2'
fix: Secure boot (ECDSA) build failure for C6 rev0 target (v5.2)

See merge request espressif/esp-idf!38836
2025-05-02 10:38:22 +08:00
Mahavir Jain 7ae0aa4d57 fix: Secure boot (ECDSA) build failure for C6 rev0 target
Closes https://github.com/espressif/esp-idf/issues/15856
2025-04-30 18:13:01 +08:00
akshat 66b7bdffb3 feat(esp_wifi): Add extended SSI support for NAN Services 2025-04-30 15:38:33 +05:30
Island 123e627001 Merge branch 'bugfix/fix_cble50y25_207_v5.2' into 'release/v5.2'
Fixed MIC error disconnection when pairing with iOS devices on ESP32-C3 and ESP32-S3(edf923e) (v5.2)

See merge request espressif/esp-idf!38762
2025-04-30 11:16:44 +08:00
Jiang Jiang Jian 49baf20ffe Merge branch 'docs/update_api_description_esp_wifi_scan_get_ap_records_v5.2' into 'release/v5.2'
docs: update the API description for esp-wifi_scan_get_ap_records (v5.2)

See merge request espressif/esp-idf!37313
2025-04-30 10:45:41 +08:00
Rahul Tank 15a03a71a3 fix(nimble): Corrected structure field name usage in examples 2025-04-29 21:49:11 +05:30
C.S.M 11216d293a fix(i2c): Fix that fsm reset cause i2c scl frequency changed on esp32s2 2025-04-29 17:30:34 +08:00
C.S.M 1adcce2520 fix(i2c): Fix some i2c coverity issue 2025-04-29 17:30:34 +08:00
C.S.M 3428659218 fix(i2c): I2C should not clear bus in a nack state 2025-04-29 17:30:34 +08:00
Jonathan Swoboda 271fa78101 fix(i2c): Fix clear bus issue in legacy i2c driver,
Closes https://github.com/espressif/esp-idf/pull/15638
2025-04-29 17:10:07 +08:00
C.S.M 927697c197 fix(i2c_master): Fix the stretch happen cause timeout in probe,
Closes https://github.com/espressif/esp-idf/issues/15589
2025-04-29 17:05:08 +08:00
C.S.M 8e5523cc33 fix(i2c): Fix i2c slave auto selection issue,
Closes https://github.com/espressif/esp-idf/issues/15644
2025-04-29 17:05:06 +08:00
C.S.M 25b6b52734 fix(i2c): Fix the array size of static operation,
Closes https://github.com/espressif/esp-idf/issues/15583
2025-04-29 17:04:04 +08:00
C.S.M 3a9d0e0202 fix(i2c_master): Fix i2c master race condition issue,
Closes https://github.com/espressif/esp-idf/issues/15444
2025-04-29 17:04:04 +08:00
Shu Chen 2fe91e2684 Merge branch 'fix/fix_ot_set_mac_framecounter_v5.2' into 'release/v5.2'
backport: OpenThread features and bug fixes to v5.2

See merge request espressif/esp-idf!38818
2025-04-29 16:43:00 +08:00
Rahul Tank b4550e496a fix(nimble): Add API to parse adv report for given type 2025-04-29 12:23:09 +05:30
zhangyanjiao bad6a0a3b3 fix(wifi): update wifi lib for doc changes 2025-04-29 14:47:23 +08:00
Tan Yan Quan 81124ed7d8 feat(openthread): enable parent search function for MTD 2025-04-29 14:37:24 +08:00
Xu Si Yu 18b18fe3f4 feat(openthread): add a callback to handle rcp reset failure 2025-04-29 14:22:57 +08:00
Xu Si Yu 966182c87d feat(openthread): dns server of border router bind unspecified netif 2025-04-29 14:22:57 +08:00
Xu Si Yu 04ddf56d26 fix(openthread): use esp_netif_tcpip_exec when sending a trel message 2025-04-29 14:22:57 +08:00
Linda 5ce608f327 docs: update the API description for esp-wifi_scan_get_ap_records 2025-04-29 14:19:18 +08:00
Xu Si Yu 20b0d7070d feat(openthread): add a function to ensure monotonically increasing frame counter 2025-04-29 14:13:07 +08:00
Jiang Jiang Jian e2561f0410 Merge branch 'refactor/sae_pt_flag_v5.2' into 'release/v5.2'
refactor(wifi): Optimize wifi bin size for station mode (Backport v5.2)

See merge request espressif/esp-idf!38309
2025-04-29 13:55:02 +08:00
Sajia a58ad6c159 refactor(wifi): Optimize wifi bin size for station mode 2025-04-29 09:37:47 +05:30
Alexey Gerenkov a9d9c83f19 Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20250422_v5.2' into 'release/v5.2'
feat(tools): update openocd version to v0.12.0-esp32-20250422 (v5.2)

See merge request espressif/esp-idf!38801
2025-04-28 23:22:09 +08:00
Sudeep Mohanty f7c21372ca change(newlib): Added unit tests for usleep and sleep_for functions
This commit adds unit tests to verify the basic functionality of
usleep() and this_thread::sleep_for() std functions.
2025-04-28 17:17:24 +02:00
Sudeep Mohanty 2793add0b2 test(newlib): Added unit tests for usleep and sleep_for functions
This commit adds unit tests to verify the basic functionality of
usleep() and this_thread::sleep_for() std functions.
2025-04-28 17:16:14 +02:00
Stephen Noonan b47f25ac23 fix(newlib): usleep returning early
This commit updates usleep() to always sleep for the required sleep
period or more. This fixes a bug where the usleep() could sleep for less
than the request sleep period.

Closes https://github.com/espressif/esp-idf/pull/15132
2025-04-28 17:16:06 +02:00
Rahul Tank 1f0451f536 Merge branch 'bugfix/blufi_add_missing_adv_stop_v5.2' into 'release/v5.2'
fix(nimble): Added code for missing adv stop in blufi (v5.2)

See merge request espressif/esp-idf!38720
2025-04-28 19:19:58 +08:00
chenjianhua 1987d84eb8 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(edf923e)
- Fixed ble lib linkage issue
2025-04-28 14:12:34 +08:00
Chen Jian Hua c5c7a192b9 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(edf923e)
- Fixed MIC error disconnection when pairing with iOS devices


(cherry picked from commit 0df0b53b0a)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2025-04-28 14:12:21 +08:00
wuzhenghui a7e91d59d1 feat(esp_hw_support): count pau backup time into sleep rejection judgment 2025-04-28 11:44:37 +08:00
wuzhenghui 18506d945f feat(esp_hw_support): remeasure sleep_time_overhead_out if min_freq_mhz changed 2025-04-28 11:44:30 +08:00
Jiang Jiang Jian 6af9144294 Merge branch 'bugfix/fix_some_wifi_bugs_250427_v5.2' into 'release/v5.2'
fix(phy): fix phy data partition restoring default fails issue(Backport v5.2)

See merge request espressif/esp-idf!38777
2025-04-28 11:24:10 +08:00
morris dd30a7917d Merge branch 'bugfix/fix_i2s_reconfig_slot_issue_v5.2' into 'release/v5.2'
fix(i2s): fixed incorrect logic in slot reconfig (v5.2)

See merge request espressif/esp-idf!36643
2025-04-28 11:18:08 +08:00
Rahul Tank f3fd4fda61 Merge branch 'bugfix/ios_hid_failure_v5.2' into 'release/v5.2'
fix(nimble): Update hid device example in nimble to work with iOS (v5.2)

See merge request espressif/esp-idf!38678
2025-04-27 18:37:15 +08:00
muhaidong aef3e58cfa fix(wifi): fix some wifi bugs 250427
1. fix ersu compatibility issue
2. fix association timeout timer issue for wep shared auth
2025-04-27 17:41:11 +08:00
muhaidong 237395a13f fix(phy): fix phy data partition restoring default fails issue
Closes https://github.com/espressif/esp-idf/issues/14698
2025-04-27 17:19:13 +08:00
Island 1d40f4385c Merge branch 'feat/enable_cte_in_nimble_cfg' into 'release/v5.2'
feat(nimble): Enable CTE feature in nimble cfg.

See merge request espressif/esp-idf!38753
2025-04-27 16:51:44 +08:00
Jiang Jiang Jian 0702cf3285 Merge branch 'fix/fix_usj_pad_retention_v5.2' into 'release/v5.2'
fix(esp_hw_support): fix usj pad config bad retention (v5.2)

See merge request espressif/esp-idf!38748
2025-04-27 14:18:30 +08:00
Jiang Jiang Jian a488c9f9eb Merge branch 'bugfix/crypto_reset_on_exit_v5.2' into 'release/v5.2'
fix(esp_system): reset crypto peripherals before device restart (v5.2)

See merge request espressif/esp-idf!38477
2025-04-27 14:17:35 +08:00
Island 6aec36cf07 Merge branch 'feat/add_sync_cte_type_in_pa_sync_v5.2' into 'release/v5.2'
Feat/add sync cte type in pa sync (v5.2)

See merge request espressif/esp-idf!38590
2025-04-27 14:11:56 +08:00
Island 3de8965a76 Merge branch 'feat/spi_ble_log_improvement_v5.2' into 'release/v5.2'
feat(ble): Improved SPI BLE Log functionality (v5.2)

See merge request espressif/esp-idf!38739
2025-04-27 14:05:17 +08:00
Jiang Jiang Jian 3be6ef2a5e Merge branch 'bugfix/pmf_enabled_sae_query_v5.2' into 'release/v5.2'
fix(wifi): SA Query responses not transmitted (Backport v5.2)

See merge request espressif/esp-idf!38033
2025-04-27 10:56:47 +08:00
Island 8d3cc19a3b Merge branch 'feat/optimize_cble50y24_109_v5.2' into 'release/v5.2'
feat(bt/bluedroid): Added throughput mode for BLE SPP example (v5.2)

See merge request espressif/esp-idf!38691
2025-04-27 10:14:40 +08:00
Alexey Gerenkov ea1a1cc131 feat(tools): update openocd version to v0.12.0-esp32-20250422 2025-04-26 12:41:34 +02:00
akshat 963dbabd8a fix(wifi): Fix occasional dropping of SA Query responses by SoftAP 2025-04-25 21:16:26 +05:30
Geng Yuchao 8fa8114a41 feat(nimble): Enable CTE feature in nimble cfg 2025-04-25 19:59:51 +08:00
Jiang Jiang Jian 7685e26ce7 Merge branch 'fix/update_os_time_struct_v5.2' into 'release/v5.2'
fix(esp_wifi): Modifying os_time_t datatype for platform and compiler independence

See merge request espressif/esp-idf!36716
2025-04-25 17:30:14 +08:00
wuzhenghui f1ff4d890e fix(esp_hw_support): fix usj pad config bad retention
Closes https://github.com/espressif/esp-idf/issues/15797
2025-04-25 15:56:34 +08:00
Zhou Xiao bf2d0dca7b feat(ble): Improved SPI BLE Log functionality
* Added checksum for every frame
* Added SPI slave transaction interval workaround
* Added SPI tx done isr issue workaround
* Turned buffer flush to a menuconfig and disabled by default
* Modified packet loss write operation and trigger condition
* Optimized buffer append efficiency for controller ISR


(cherry picked from commit 243705c143)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-04-25 14:53:35 +08:00
Wang Meng Yang 55f921c01b Merge branch 'bugfix/l2cap_no_report_stop_server_evt_v5.2' into 'release/v5.2'
fix(bt): Fixed l2cap not reporting stop server completion event(v5.2)

See merge request espressif/esp-idf!38700
2025-04-25 12:04:27 +08:00
Wang Meng Yang 58299e8b5b Merge branch 'feat/add_api_get_avrc_status_v5.2' into 'release/v5.2'
feat(bt): Add API to get some information of Classic Bluetooth profile(v5.2)

See merge request espressif/esp-idf!38688
2025-04-25 12:03:35 +08:00
Island df05b4903c Merge branch 'feat/add_cte_config_in_kconfig' into 'release/v5.2'
feat(nimble):Add AoA menuconfig in nimble Kconfig.in

See merge request espressif/esp-idf!38612
2025-04-25 11:45:39 +08:00
morris f6bf89306b Merge branch 'fix/flash_encryption_verify_write_etc_v5.2' into 'release/v5.2'
fix(spi_flash): Fix flash encryption write verify (backport v5.2)

See merge request espressif/esp-idf!38271
2025-04-25 10:47:45 +08:00
Wang Meng Yang d563192544 Merge branch 'feat/add_l2cap_register_event_v5.2' into 'release/v5.2'
feat(bt): Added events for l2cap register and unregister vfs(v5.2)

See merge request espressif/esp-idf!38508
2025-04-25 09:50:04 +08:00
tarun.kumar bd6f14783a fix(esp_wifi): Modifying os_time_t datatype for platform and compiler independence 2025-04-24 20:47:57 +05:30
Rahul Tank 692be42e4f fix(nimble): Added code for missing adv stop in blufi 2025-04-24 14:38:00 +05:30
xiongweichao bf6cf32208 fix(bt): Fixed l2cap not reporting stop server completion event 2025-04-24 15:16:54 +08:00
Marius Vikhammer 21a3ace68d Merge branch 'fix/freertos_tickless_idle_tick_jump_v5.2' into 'release/v5.2'
fix(freertos): Fixed tickless idle tick count accounting (v5.2)

See merge request espressif/esp-idf!38512
2025-04-24 13:34:59 +08:00
zwl 07ea827072 feat(ble): add configuration command during RF testing 2025-04-24 11:55:05 +08:00
zhangbowen ca179775d4 feat(bt/bluedroid): Added throughput mode for BLE SPP example 2025-04-24 11:54:48 +08:00
Shu Chen e55f62d4f6 Merge branch 'fix/meshcop_udp_port_v5.2' into 'release/v5.2'
fix(openthread/meshcop): get right udp port for publishing meshcop-e (v5.2)

See merge request espressif/esp-idf!38660
2025-04-24 11:07:22 +08:00
Shu Chen 4307ec0dd6 Merge branch 'fix/ieee802154_tx_ack_timeout_crash_v5.2' into 'release/v5.2'
fix(802.15.4): fix 15.4 process for unsupported frame (v5.2)

See merge request espressif/esp-idf!38671
2025-04-24 10:58:59 +08:00
xiongweichao 0fc6d7fb1e feat(bt): Add API to get some information of Classic Bluetooth profile 2025-04-24 10:57:57 +08:00
Island 910f2de515 Merge branch 'feat/support_136k_rc_clk_on_ble_sleep_v5.2' into 'release/v5.2'
Feat/support 136k rc clk on ble sleep (v5.2)

See merge request espressif/esp-idf!38619
2025-04-24 10:37:49 +08:00
morris 524b9573a9 Merge branch 'bugfix/fix_i2s_assign_and_check_sequence_v5.2' into 'release/v5.2'
fix(i2s): fixed i2s inappropriate check and assign sequence (v5.2)

See merge request espressif/esp-idf!38607
2025-04-24 10:25:36 +08:00
Marius Vikhammer b68a6d9d02 Merge branch 'fix/multi_core_race_cond_in_panic_handler_v5.2' into 'release/v5.2'
fix(panic_handler): Prevent race condition in panic handler (v5.2)

See merge request espressif/esp-idf!38666
2025-04-24 10:06:51 +08:00
xiongweichao a5966e1d31 fix(bt): fixed spp not reporting write event 2025-04-24 09:22:46 +08:00
xiongweichao b9cb3110e7 fix(bt): Fixed the issue with l2cap not using dynamic memory 2025-04-24 09:22:46 +08:00
xiongweichao d85601d2bc fix(bt): Fixed write_read task stack overflow in l2cap example 2025-04-24 09:22:46 +08:00
xiongweichao d4c516a32c feat(bt): Added events for l2cap register and unregister vfs 2025-04-24 09:22:46 +08:00
Rahul Tank cf64f698f5 fix(nimble): Update hid device example in nimble to work with iOS 2025-04-23 17:20:14 +05:30
Rahul Tank d924b24ba0 Merge branch 'fix/pawr_docs_v5.2' into 'release/v5.2'
feat(nimble):Added tutorials for PAwR examples (v5.2)

See merge request espressif/esp-idf!38624
2025-04-23 19:45:14 +08:00
Rahul Tank 8b918efabc Merge branch 'feat/pawr_bugfix_v5.2' into 'release/v5.2'
fix(nimble): Fix sync handle assignment for pawr connection (v5.2)

See merge request espressif/esp-idf!38504
2025-04-23 19:41:02 +08:00
zwx 14097d7e6c fix(802.15.4): fix 15.4 process for unsupported frame 2025-04-23 19:01:53 +08:00
Sudeep Mohanty d1e238a85c fix(panic_handler): Prevent race condition in panic handler
This commit updates all RTC WDT contexts to be local instead of global
to avoid race conditions when both cores enter the panic handler
simultaneously.
2025-04-23 12:54:04 +02:00
Tan Yan Quan c51475228a fix(openthread/meshcop): get right udp port for publishing meshcop-e
* esp-openthread: thread_zigbee/esp-openthread@ad81e1b23
* openthread: espressif/openthread@8c30b93fe
* esp-idf: espressif/esp-idf@4a49e2bfa
2025-04-23 10:16:47 +00:00
Roman Leonov 48219a59f4 fix(usb_host): Correctly initialize set pipe ep char 2025-04-23 09:51:00 +02:00
Roman Leonov f17c71455d fix(hcd): Added delay to slow down scatter-gather dma for ls device via fs hubs 2025-04-23 09:50:26 +02:00
Island 4a49e2bfad Merge branch 'bugfix/fix_some_ble_bugs_250331_esp32c3_v5.2' into 'release/v5.2'
Fixed some BLE bugs 250331 on esp32c3 (v5.2)

See merge request espressif/esp-idf!38578
2025-04-23 10:32:40 +08:00
laokaiyao dd1f36f0a1 fix(i2s): add check for the minimum sample rate
Closes https://github.com/espressif/esp-idf/issues/15659
2025-04-22 23:25:15 +08:00
laokaiyao 6a5b8efdc5 fix(i2s): reset the dma buf_size while allocation failed
Closes https://github.com/espressif/esp-idf/issues/15648
2025-04-22 23:25:15 +08:00
Abhinav Kudnar 14c1260586 feat(nimble):Added tutorials for PAwR examples 2025-04-22 19:18:58 +08:00
cjin cc6f25ea3a feat(ble): support ble sleep using 136 kHz RC on ESP32-C6 2025-04-22 19:11:18 +08:00
Jin Chen 8ca72da03f feat(ble): support ble sleep using 136 kHz RC on ESP32-H2
(cherry picked from commit 6c8ee69151)

Co-authored-by: cjin <jinchen@espressif.com>
2025-04-22 19:05:30 +08:00
Jin Chen a6c8a080f4 feat(ble): support ble sleep using 136 kHz RC on ESP32-C2
(cherry picked from commit 73f1084bf8)

Co-authored-by: cjin <jinchen@espressif.com>
2025-04-22 19:05:27 +08:00
morris 5d9623dbcc Merge branch 'bugfix/fix_esp32_touch_example_task_watchdog_issue_v5.2' into 'release/v5.2'
fix(legacy_touch): fixed touch read WDT issue on esp32 (v5.2)

See merge request espressif/esp-idf!38583
2025-04-22 18:38:23 +08:00
morris 5244316940 Merge branch 'fix/s2_adc_cali_loss_resolution_v5.2' into 'release/v5.2'
fix(adc): fix s2 cali loss resolution (v5.2)

See merge request espressif/esp-idf!38597
2025-04-22 17:32:25 +08:00
Sudeep Mohanty 5fa9116eea test(freertos): Added a unit test for tickless idle tick jump scenario
This commit adds a unit test to test that tickless idle mode does not
cause an unexpected jump in tick count after tickless idle mode is
exited.
2025-04-22 16:32:27 +08:00
Sudeep Mohanty 69d1c278b9 fix(freertos): Fixed tickless idle tick count accounting
This commit fixes an issue where the FreeRTOS kernel does not account
for the pended ticks occuring during automatic light-sleep mode and
hence causing a jump in the tick count at a later stage in the
application lifetime.

Closes: https://github.com/espressif/esp-idf/issues/15642
2025-04-22 16:32:27 +08:00
Geng Yuchao c52a90018e feat(nimble):Add AoA menuconfig in nimble Kconfig.in 2025-04-22 16:23:47 +08:00
Island 11ea6924f7 Merge branch 'bugfix/fix_some_ble_bugs_2503_v5.2' into 'release/v5.2'
Bugfix/fix some ble bugs 2503 (v5.2)

See merge request espressif/esp-idf!38289
2025-04-22 11:49:28 +08:00
Jiang Jiang Jian 6e841c26e6 Merge branch 'bugfix/fix_bt_access_ext_mem_in_intr_v5.2' into 'release/v5.2'
fix(bt/controller): Fixed access external memory in isr context (v5.2)

See merge request espressif/esp-idf!38574
2025-04-22 10:35:34 +08:00
Jiang Jiang Jian ae079cc276 Merge branch 'bugfix/sae_send_confirm_v5.2' into 'release/v5.2'
fix(esp_wifi): Fix send_confirm according to specification provided by IEEE 802.11 (v5.2)

See merge request espressif/esp-idf!38436
2025-04-22 10:18:18 +08:00
Jiang Jiang Jian 1ad5d0eb1d Merge branch 'fix/fix_dhcp_server_recv_decline_issue_v52' into 'release/v5.2'
fix(dhcp): fix dhcp server recv decline issue v52

See merge request espressif/esp-idf!38501
2025-04-22 10:17:50 +08:00
Jiang Jiang Jian 284cf1e77a Merge branch 'ci/add_test_for_ecos_wifi_enterprise_v52' into 'release/v5.2'
ci(c2/c3): add major eco version tests(v5.2)

See merge request espressif/esp-idf!37805
2025-04-22 10:16:49 +08:00
Jiang Jiang Jian 4a9260ce04 Merge branch 'bugfix/pmkid_password_mismatch_regression_v5.2' into 'release/v5.2'
fix(wifi): Avoid writing to NVS if station configuration is not changed (Backport v5.2)

See merge request espressif/esp-idf!38479
2025-04-22 10:16:21 +08:00
laokaiyao 5fe51c4bb7 fix(touch): fixed tie option take no effect 2025-04-21 20:48:12 +08:00
gaoxu 4b6b2295cc fix(adc): fix s2 cali loss resolution 2025-04-21 19:47:49 +08:00
luaijun cd7d6f1c12 fix: pytest did not recognize test cases 2025-04-21 19:34:30 +08:00
Zhang Hai Peng 0459317986 feat(bluedroid): Support get bt config path
(cherry picked from commit d6bb90b453)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-04-21 18:03:34 +08:00
Zhang Hai Peng 4341f8ec08 feat(ble/bluedroid): Implement BLE channel map reading API
(cherry picked from commit 55043e280a)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-04-21 18:03:34 +08:00
Zhang Hai Peng 320f8bece2 fix(ble/bluedroid): Fix potential uint32_t overflow in BLE btu_start_timer
(cherry picked from commit a9286567f0)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-04-21 18:03:34 +08:00
Zhang Hai Peng ca79d255d1 fix(ble/bluedrooid): Fixed memory leak issue when deinit the host
(cherry picked from commit 6becf74cbb)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-04-21 18:03:34 +08:00
Zhang Hai Peng bea5aaab89 fix(ble/bluedroid): Fix missing event reporting in esp_ble_create_sc_oob_data
(cherry picked from commit f291725936)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-04-21 18:03:34 +08:00
Zhang Hai Peng 4428844a8b fix(ble/bluedroid): Fixed BLE crash when disable bluedroid host
(cherry picked from commit 9dfa6ab0e9)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-04-21 18:03:34 +08:00
Zhi Wei Jian 30c6810ae5 feat(ble/bluedroid): Add sync_cte_type in creat_periodic_adv_sync function
(cherry picked from commit eb647d10c6)

Co-authored-by: zhiweijian <zhiweijian@espressif.com>
2025-04-21 17:03:19 +08:00
Zhi Wei Jian 29c24fc46d fix(ble/bluedroid): Fixed BLE_FEAT_CREATE_SYNC_ENH define error in bluedroid host
(cherry picked from commit cf6135c990)

Co-authored-by: zhiweijian <zhiweijian@espressif.com>
2025-04-21 17:03:16 +08:00
Sarvesh Bodakhe 4348bdb838 fix(wifi): Avoid writing to NVS if station configuration is not changed
Fixes the regression introduced by 27f45e1ab8

Co-authored-by: yinqingzhao <yinqingzhao@espressif.com>
2025-04-21 12:44:17 +05:30
laokaiyao bc91906164 fix(legacy_touch): fixed the concurrent issue in esp32 touch driver 2025-04-21 15:07:31 +08:00
laokaiyao a12b7e38fa fix(touch): fixed touch read WDT issue on esp32
Closes https://github.com/espressif/esp-idf/issues/15629
2025-04-21 14:47:50 +08:00
Chen Jian Hua d44ab53e08 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(a684dd5)
- Fixed clear legacy adv error when adv not exist
- Disable anonymous extended adv reporting
- Fixed BLE assert lld_adv.c 2992
- Fixed heap assert due to adv data buffer double freeing
- Fixed BLE 0x08 disconnect when the win size is greater than half of the conn interval


(cherry picked from commit 4602665e5d)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2025-04-21 14:33:29 +08:00
linruihao f067a3c0f1 fix(bt/controller): Fixed access external memory in isr context 2025-04-21 14:23:03 +08:00
Jin Cheng 3b157c5276 fix(bt/controller): update libbtdm_app.a
- fixed errors in the coexistance of ACL and SCO
- fixed dynamic priority config error in dual mode
2025-04-21 14:23:03 +08:00
Island 8252241e8d Merge branch 'fix/blemesh25-92_v5.2' into 'release/v5.2'
fix(ble_mesh): fixed issues with decrypt failed when resending messages (v5.2)

See merge request espressif/esp-idf!38558
2025-04-21 14:22:09 +08:00
Island f8d2e8f706 Merge branch 'change/ble_update_lib_20250417_v5.2' into 'release/v5.2'
change(ble): [AUTO_MR] 20250417 - Update ESP BLE Controller Lib (v5.2)

See merge request espressif/esp-idf!38543
2025-04-21 10:40:47 +08:00
Marius Vikhammer e3bfa9a8dc Merge branch 'fix/lp_wakeup_cause_bits_accumulation_v5.2' into 'release/v5.2'
fix(ulp): Fix accumulation of wakeup cause bits in ULP (v5.2)

See merge request espressif/esp-idf!38563
2025-04-21 08:53:18 +08:00
Konstantin Kondrashov 7e868599b1 fix(ulp): Fix accumulation of wakeup cause bits in ULP
Closes https://github.com/espressif/esp-idf/issues/15794
2025-04-18 16:02:24 +03:00
Luo Xu f203fdec1f fix(ble_mesh): fixed issues with decrypt failed when resending messages
(cherry picked from commit 4803cea3cc)

Co-authored-by: luoxu <luoxu@espressif.com>
2025-04-18 20:23:38 +08:00
Wang Meng Yang 26d5744fea Merge branch 'fix/some_issues_in_bt_controller_v5.2' into 'release/v5.2'
fix(bt): fixed some issues in bt controller(backport v5.2)

See merge request espressif/esp-idf!38450
2025-04-18 17:51:13 +08:00
morris 0aa4fe621c Merge branch 'feat/customize_i2c_operation_transaction_v5.2' into 'release/v5.2'
feat(i2c): Add api for customize i2c transaction interface for un-standard i2c device (backport v5.2)

See merge request espressif/esp-idf!37425
2025-04-18 17:38:59 +08:00
Shen Wei Long 3248e3c711 change(ble): [AUTO_MR] Update lib_esp32c6 to cd6ba0ec
(cherry picked from commit a89916eef4)

Co-authored-by: Shen Weilong <shenweilong@espressif.com>
2025-04-18 14:09:59 +08:00
Shen Wei Long f6d6497905 change(ble): [AUTO_MR] Update lib_esp32h2 to cd6ba0ec
(cherry picked from commit d48cc9ce2a)

Co-authored-by: Shen Weilong <shenweilong@espressif.com>
2025-04-18 14:09:57 +08:00
Tan Yan Quan f7e2f28b8a fix(openthread): check state for ot wake 2025-04-18 12:15:50 +08:00
Tan Yan Quan 6916458d6c fix(openthread): relax CSL accuracy default value 2025-04-18 12:15:50 +08:00
luaijun a4401e5256 ci(c2/c3): add major eco version tests(v5.2) 2025-04-18 11:22:25 +08:00
Island 100d130cee Merge branch 'change/ble_update_lib_20250414_v5.2' into 'release/v5.2'
change(ble): [AUTO_MR] 20250414 - Update ESP BLE Controller Lib (v5.2)

See merge request espressif/esp-idf!38492
2025-04-18 11:07:43 +08:00
laokaiyao 88f39d549d fix(i2s): fixed i2s_std initializer order for cpp compiler
Closes https://github.com/espressif/esp-idf/issues/15405
2025-04-17 21:33:30 +08:00
laokaiyao 6ba8280421 fix(i2s): fix uninitialize warning for the default macros
Closes https://github.com/espressif/esp-idf/issues/15271
2025-04-17 21:33:30 +08:00
laokaiyao 836c77eaaf fix(i2s): fixed incorrect logic in slot reconfig
Closes https://github.com/espressif/esp-idf/issues/15256
2025-04-17 21:33:30 +08:00
morris 34a92965d0 Merge branch 'fix/fix_mmu_map_concurrent_issue_v5.2' into 'release/v5.2'
mmu: fix mmu map concurrent issue (v5.2)

See merge request espressif/esp-idf!38408
2025-04-17 21:29:25 +08:00
Jiang Jiang Jian 5dd79575a4 Merge branch 'fix/fix_uart_console_broken_after_sleep_v5.2' into 'release/v5.2'
fix(esp_hw_support): fixed gpio sleep switching filling junk data to the console UART FIFO (v5.2)

See merge request espressif/esp-idf!38447
2025-04-17 17:18:37 +08:00
Jiang Jiang Jian adfc9aa6a8 Merge branch 'change/allow_keep_sar_poweron_in_light_sleep_v5.2' into 'release/v5.2'
change(esp_hw_support): allow sar power keep on during lightsleep (v5.2)

See merge request espressif/esp-idf!38456
2025-04-17 17:15:23 +08:00
wangtao@espressif.com c3f67f656d fix(dhcp): fix dhcp server recv decline issue 2025-04-17 14:32:17 +08:00
Abhinav Kudnar f9c9ffad6d fix(nimble): Fix sync handle assignment for pawr connection 2025-04-17 14:10:07 +08:00
Zhou Xiao 84db46c959 change(ble): bugs fixed on spi ble log
* removed spi master in iram select for flash only firmware
* fixed memory issue in transaction init function
* fixed memory issue in transaction deinit function
2025-04-17 13:41:59 +08:00
Jiang Jiang Jian c22d3d0f6b Merge branch 'bugfix/espnow_send_issue_v52' into 'release/v5.2'
fix(esp_wifi): Fix for issue in esp_now_send when wifi tx callback registered(v5.2)

See merge request espressif/esp-idf!37943
2025-04-17 11:11:21 +08:00
Zhou Xiao 7d83cefc69 fix(ble): remove null pointer assert in npl event deinit
(cherry picked from commit ece108c0bf)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-04-17 10:54:17 +08:00
Zhou Xiao 5f0b5a3d8c feat(ble): support configurable rxbuf opt feat on ESP32-C6
(cherry picked from commit 5fbbec8655)

Co-authored-by: cjin <jinchen@espressif.com>
2025-04-17 10:54:15 +08:00
Zhou Xiao d5a73a15a2 feat(ble): support configurable rxbuf opt feat on ESP32-H2
(cherry picked from commit 4937d3c883)

Co-authored-by: cjin <jinchen@espressif.com>
2025-04-17 10:54:12 +08:00
Zhou Xiao c80a727ad2 feat(ble): use new section for ble sleep on ESP32-C2
(cherry picked from commit ce4e012c8b)

Co-authored-by: cjin <jinchen@espressif.com>
2025-04-17 10:54:10 +08:00
Zhou Xiao 1010d98cc7 change(ble): [AUTO_MR] Update lib_esp32c2 to fca2b9ea
(cherry picked from commit 09467baed0)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-04-17 10:54:08 +08:00
Zhou Xiao 5bb64f5ce3 change(ble): [AUTO_MR] Update lib_esp32c6 to 76549818
(cherry picked from commit e2d1a5509e)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-04-17 10:54:06 +08:00
Zhou Xiao 234c3f0ab5 change(ble): [AUTO_MR] Update lib_esp32h2 to 76549818
(cherry picked from commit c11bb1ddd0)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-04-17 10:54:04 +08:00
Jiang Jiang Jian e9d48c89b9 Merge branch 'fix/fix_current_leakage_after_ext_osc_detect_failed_v5.2' into 'release/v5.2'
fix(esp_hw_support): fix current leakage if ext32k slow clock source not exists (v5.2)

See merge request espressif/esp-idf!38441
2025-04-17 10:52:52 +08:00
Wang Meng Yang aee70c6e0f Merge branch 'feature/add_profile_stat_v5.2' into 'release/v5.2'
feat(bt): Add API to get profile status(v5.2)

See merge request espressif/esp-idf!38277
2025-04-17 08:00:29 +08:00
Aditi 98ec88b06b fix(esp_wifi): Fix for issue in esp_now_send when wifi tx callback registered 2025-04-16 21:02:48 +05:30
Mahavir Jain 70b1496d9f fix(esp_system): reset crypto peripherals before device restart
This change addresses a rare but critical issue observed on certain
ESP32-C3 and ESP32-S3 devices, where secure boot verification
intermittently fails due to improper cleanup of crypto peripherals
during a restart.

Background – Restart Behavior in IDF
------------------------------------
In ESP-IDF, when the device restarts (via `esp_restart()` or due to a
panic/exception), a partial peripheral reset is performed followed by a
CPU reset. However, until now, crypto-related peripherals were not
included in this selective reset sequence.

Problem Scenario
----------------
If a restart occurs while the application is in the middle of a bignum
operation (i.e., using the MPI/Bignum peripheral), the ROM code may
encounter an inconsistent peripheral state during the subsequent boot.
This leads to transient RSA-PSS secure boot verification failures.

Following such a failure, the ROM typically triggers a full-chip reset
via the watchdog timer (WDT). This full reset clears the crypto
peripheral state, allowing secure boot verification to succeed on the
next boot.

Risk with Aggressive Revocation
-------------------------------
If secure boot aggressive revocation is enabled (disabled by default in
IDF), this transient verification failure could mistakenly lead to
revocation of the secure boot digest.

If your product configuration has aggressive revocation enabled,
applying this fix is strongly recommended.

Frequency of Occurrence
-----------------------
The issue is rare and only occurs in corner cases involving
simultaneous use of the MPI peripheral and an immediate CPU reset.

Fix
---
This fix ensures that all crypto peripherals are explicitly reset prior
to any software-triggered restart (including panic scenarios),
guaranteeing a clean peripheral state for the next boot and preventing
incorrect secure boot behavior.
2025-04-16 20:40:09 +08:00
wuzhenghui 5d7d37def6 change(esp_hw_support): allow sar power keep on during lightsleep
Closes https://github.com/espressif/esp-idf/issues/12426
2025-04-16 16:11:01 +08:00
gongyantao 1c93181f6c fix(bt): fixed some issues in bt controller
- add check for Wi-Fi channel
- fix the incorrect unit of duration_min in cpb tx
- recalculate the channel map when afh is enabled
- fix incorrect vendor event count causing an assertion failure
2025-04-16 15:30:26 +08:00
wuzhenghui f86ea55bd3 fix(esp_hw_support): fixed gpio sleep switching filling junk data to the console UART FIFO 2025-04-16 15:27:00 +08:00
morris daedd40689 Merge branch 'feat/allow_rmt_tx_channel_to_switch_other_gpios_v5.2' into 'release/v5.2'
feat(rmt_tx): allow to switch gpio in tx channal (v5.2)

See merge request espressif/esp-idf!38396
2025-04-16 15:11:33 +08:00
wuzhenghui deffa33d5f fix(esp_hw_support): fix unused OSC source deinit breaks XTAL32K configuration 2025-04-16 15:03:11 +08:00
wuzhenghui b4c907e36d fix(esp_hw_support): fix current leakage if ext32k slow clock source not exists 2025-04-16 15:02:35 +08:00
Shreyas Sheth b799eab07a ci(wifi): Add build test for with wpa3 disabled for station and softap 2025-04-16 11:56:40 +05:30
Shreyas Sheth e1773e8bd1 fix(esp_wifi): Fix send_confirm according to specification provided by IEEE 802.11 2025-04-16 11:56:40 +05:30
Jiang Jiang Jian 7b18d6bd0d Merge branch 'feature/github_pull_15073_v5.2' into 'release/v5.2'
feat(wpa_supplicant): Add optimized PSK implementation (v5.2)

See merge request espressif/esp-idf!38106
2025-04-16 13:59:11 +08:00
Island ba7c484497 Merge branch 'feat/optimize_cble50y24_111_v5.2' into 'release/v5.2'
feat(bt/bluedroid): Added BLE eddystone sender example (v5.2)

See merge request espressif/esp-idf!38156
2025-04-16 11:25:39 +08:00
Mahavir Jain 046c0b5bcd Merge branch 'feat/update_mbedtls_3.6.3_v5.2' into 'release/v5.2'
feat(component/mbedtls): update to upstream v3.6.3 (v5.2)

See merge request espressif/esp-idf!38180
2025-04-16 11:14:19 +08:00
Marius Vikhammer cf740a14cc Merge branch 'bugfix/heap_in_flash_v5.2' into 'release/v5.2'
fix(heap): fixed CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH not working together with CONFIG_HEAP_TLSF_USE_ROM_IMPL (v5.2)

See merge request espressif/esp-idf!38123
2025-04-16 11:11:45 +08:00
Jiang Jiang Jian f7add8b942 Merge branch 'feature/support_sco_coexist_v5.2' into 'release/v5.2'
feat(coex): Support BR/EDR (e)SCO and Wi-Fi coexistence

See merge request espressif/esp-idf!38135
2025-04-15 19:59:35 +08:00
morris cf8633f570 Merge branch 'refactor/ana_cmpr_driver_v5.2' into 'release/v5.2'
refactor(ana_cmpr): enhanced the driver implementation (v5.2)

See merge request espressif/esp-idf!38406
2025-04-15 19:07:07 +08:00
Chen Jichang d8058158ea feat(rmt_tx): allow to switch gpio in tx channal 2025-04-15 14:42:50 +08:00
armando b3e085cc91 test(system): increased 200B memory leak thresh due to mmu mmap mutex
200B to extend the thresh, real increase to the memory usage will be smaller
2025-04-15 14:26:19 +08:00
armando 015e7a1ae4 test(mmu): added esp_mmu_map concurrency test 2025-04-15 14:25:42 +08:00
armando 028e597113 fix(mmu): fixed esp_mmu_map concurrent issue and add related docs 2025-04-15 14:24:56 +08:00
baohongde 937e908ba4 feat(coex): Support BR/EDR (e)SCO and Wi-Fi coexistence 2025-04-15 14:18:23 +08:00
Shu Chen 8df262a289 Merge branch 'feature/add_ot_cli_ci_case_v5.2' into 'release/v5.2'
feat(openthread): add openthread ci ssed case v5.2

See merge request espressif/esp-idf!38254
2025-04-15 12:12:13 +08:00
C.S.M 65a95d3bbe fix(spi_flash): Add suspend check on esp32c6 and esp32h2 for some reason 2025-04-15 11:35:18 +08:00
morris 9f321438ff fix(ana_cmpr): interrupt priority can only be 0~3 2025-04-15 10:52:00 +08:00
Kapil Gupta 622420dab7 fix(ci): Update UT to verify fast psk calculations
Also update some comments
2025-04-15 10:47:45 +08:00
Kapil Gupta 73dcc7bbfb fix(esp_wifi): Add some comments in github PR 15073
Closes https://github.com/espressif/esp-idf/pull/15073
2025-04-15 10:47:45 +08:00
Chien Wong 04f2322dd2 feat(wpa_supplicant): Add optimized PSK impl
Signed-off-by: Chien Wong <m@xv97.com>
2025-04-15 10:47:45 +08:00
Marius Vikhammer c86f9d2868 fix(newlib): fixed newlib malloc wrappers IRAM/flash placement
If HEAP_PLACE_FUNCTION_INTO_FLASH = y then we should also place
the newlib wrappers for the heap in to flash.
2025-04-15 09:53:15 +08:00
Marius Vikhammer 4f2fd431f8 fix(heap): fixed HEAP_PLACE_FUNCTION_INTO_FLASH disabled if heap impl in ROM 2025-04-15 09:53:15 +08:00
xiongweichao c984526ba2 feat(bt): Add API to get profile status 2025-04-15 07:47:18 +08:00
Island 88c1a0109d Merge branch 'bugfix/fix_ble_controller_only_error_if_hci_uart_enabled_v5.2' into 'release/v5.2'
fix(ble/controller): Fixed controller flash only bug if hci-uart is enabled (v5.2)

See merge request espressif/esp-idf!38146
2025-04-14 17:13:21 +08:00
Tan Yan Quan 24f8571729 feat(openthread): add esp_system dependency for SSED CI 2025-04-14 16:32:45 +08:00
Tan Yan Quan 2356e6949d feat(openthread): relax conditions for trel case approval 2025-04-14 16:32:39 +08:00
Tan Yan Quan 1409c30c4f feat(openthread): add openthread ci ssed case 2025-04-14 16:32:34 +08:00
Tan Yan Quan 971fcc219d feat(openthread): use freertos timer for debug logs 2025-04-14 16:32:25 +08:00
Jiang Jiang Jian 486dfdeddb Merge branch 'feat/eap_domain_check_v5.2' into 'release/v5.2'
esp_wifi: Add EAP domain validation support (v5.2)

See merge request espressif/esp-idf!38281
2025-04-14 14:26:59 +08:00
morris 2bb1dfbf7a Merge branch 'refactor/improve_p4_psram_timing_tuning_point_selection_v5.2' into 'release/v5.2'
mspi: improve p4 psram timing tuning point selection (v5.2)

See merge request espressif/esp-idf!38188
2025-04-14 11:10:14 +08:00
Rahul Tank 8446cfd388 Merge branch 'fix/fix_incorrect_ota_address_assignment_v5.2' into 'release/v5.2'
fix(nimble): Fix incorrect OTA address type assignment (v5.2)

See merge request espressif/esp-idf!38350
2025-04-11 14:04:37 +08:00
Shreeyash ee4d965559 fix(nimble): Fix incorrect OTA address assignment 2025-04-10 16:22:51 +05:30
C.S.M 33570df4e4 fix(i2c): Fix i2c customize only read one byte issue 2025-04-10 16:28:36 +08:00
Shu Chen db6a5097bf Merge branch 'fix/ldgen_section_name_v52' into 'release/v5.2'
fix(ldgen): extend section name regex to include '_' (v5.2)

See merge request espressif/esp-idf!38325
2025-04-10 11:14:40 +08:00
Rahul Tank 49248c9681 Merge branch 'bugfix/fix_sscanf_usage_v5.2' into 'release/v5.2'
fix(nimble): Updated sscanf usage in examples to work for all versions (v5.2)

See merge request espressif/esp-idf!38023
2025-04-10 09:16:36 +08:00
Rahul Tank 2b4939f49a fix(nimble): Updated sscanf usage in examples to work for all versions 2025-04-09 18:30:40 +05:30
Alexey Lapshin 553ed4b55e fix(ldgen): extend section name regex to include '_' (e.g.: used by picolibc) 2025-04-09 16:52:36 +08:00
Jiang Jiang Jian 6a0c7998bd Merge branch 'fix/fix_sleep_reject_on_esp32_v5.2' into 'release/v5.2'
fix(esp_hw_support): fix short duration sleep requests rejected in pd_flash lightsleep (v5.2)

See merge request espressif/esp-idf!38223
2025-04-09 13:48:28 +08:00
Rahul Tank 628e03d7b0 Merge branch 'bugfix/handle_missing_unlock_v5.2' into 'release/v5.2'
fix(nimble): Fixed one missing ble_hs_unlock() (v5.2)

See merge request espressif/esp-idf!38195
2025-04-09 13:28:10 +08:00
zhiweijian 450ef3dab8 fix(bt/controller): Fixed controller flash only bug if hci-uart is enabled 2025-04-09 10:30:36 +08:00
zhiweijian 0bda09c536 feat(ble/bluedroid): report cte_type in periodic adv report if CTE feature is enabled 2025-04-09 10:30:36 +08:00
Kapil Gupta 22dd9dda98 fix(esp_wifi): Flush PMK when EAP config is changed 2025-04-08 18:05:12 +05:30
Kapil Gupta f3fc894fea fix(esp_wifi): Code cleanup for PR#15550 PR#15551
Closes https://github.com/espressif/esp-idf/pull/15550
Closes https://github.com/espressif/esp-idf/pull/15551
2025-04-08 18:03:25 +05:30
Rocha Euripedes a702204922 Merge branch 'fix/fix-test-socks-transport_v5.2' into 'release/v5.2'
fix(tcp_transport): Fix test for socks transport (v5.2)

See merge request espressif/esp-idf!38295
2025-04-08 15:20:34 +08:00
Shu Chen 04c8baa912 Merge branch 'feature/add_txrx_frame_dump_debugging_v5.2' into 'release/v5.2'
feat(802.15.4): supported tx/rx frame dumping (v5.2)

See merge request espressif/esp-idf!38236
2025-04-08 11:02:25 +08:00
glmfe f0c6699c67 fix(tcp_transport): Fix test for socks transport
- Removed out of scope stack acess
2025-04-07 12:10:12 -03:00
Jiang Jiang Jian c3d5d5d1a0 Merge branch 'feature/softap_fixes_for_ceritification_v5.2' into 'release/v5.2'
WiFi: fixes for issues discovered during SoftAP ceritification (v5.2)

See merge request espressif/esp-idf!36531
2025-04-07 20:51:04 +08:00
Michael Stoll 4b3a44face fix: Force validate when using the default crt bundle 2025-04-07 14:48:49 +05:30
Michael Stoll 4912a70470 feat: Add domain match to wifi_enterprise example 2025-04-07 14:45:45 +05:30
Michael Stoll 87ec02b59c feat(esp_wifi): Implement esp_eap_client_set_domain_match 2025-04-07 14:45:39 +05:30
Island b0f1d71b85 Merge branch 'feat/support_bluedroid_host_iso_feature_master_v5.2' into 'release/v5.2'
Support bluedroid host new features (v5.2)

See merge request espressif/esp-idf!38114
2025-04-07 16:01:05 +08:00
C.S.M 0e076037ba fix(spi_flash): Return false directly in suspend caps check 2025-04-07 15:34:00 +08:00
C.S.M 67cfae3f9b fix(spi_flash): Fix flash encryption write verify,
Closes https://github.com/espressif/esp-idf/issues/15380
2025-04-07 15:34:00 +08:00
C.S.M 2570f95935 docs(i2c): Add document for customize i2c transaction interface for un-standard i2c device 2025-04-07 15:04:21 +08:00
C.S.M c4edd66f74 feat(i2c): Add api for customize i2c transaction interface for un-standard i2c device 2025-04-07 15:04:21 +08:00
Kapil Gupta 401259356b ci(wifi): Add builds for FT, RRM and WNM configs 2025-04-07 12:28:22 +05:30
Kapil Gupta 60883805f9 fix(wifi): Fixed compilation error when 11R is enabled without 11KV
Closes https://github.com/espressif/esp-idf/issues/15539
2025-04-07 12:22:23 +05:30
Kapil Gupta 0defc6a651 fix(esp_wifi): Prevent flushing of FT data mistakenly 2025-04-07 12:22:23 +05:30
Kapil Gupta 740e7607cd fix(esp_wifi): Correctly break 11kv config into wnm and rrm configs 2025-04-07 12:22:23 +05:30
Kapil Gupta d8ca0675bb fix(esp_wifi): Address some review comments 2025-04-07 12:22:23 +05:30
Aditi ef9a42b438 fix(wpa_supplicant): Remove the btm_rrm task from supplicant
This commit removes btm_rrm_t task and CONFIG_SUPPLICANT_TASK from
wpa_supplicant and make the functions work in wifi task's context.
2025-04-07 12:22:23 +05:30
Aditi 89bcd5636e fix(wpa_supplicant): Fix for sending alternate ft-auth in roaming 2025-04-07 12:22:23 +05:30
Aditi b49a48ae8e fix(wpa_supplicant): Add two separate flags for RRM and WNM
Added two separate flags CONFIG_RRM(80211k) and CONFIG_WNM(80211v)
    flags under IEEE80211KV support flag.
2025-04-07 12:22:23 +05:30
Aditi 356d2511eb fix(esp_wifi): Add fix for error handling for FT-Auth 2025-04-07 12:22:23 +05:30
Nachiket Kukade 2d913cbd01 fix(wpa_supplicant): Fix some coverity issues in wpa_supplicant
1. Fix leak in SoftAP while sending SAE Confirm
2. Move NULL check before pointer is getting used
3. Remove some dead code
2025-04-07 12:22:23 +05:30
wangtao@espressif.com 9795558c03 fix(wifi): fix build issue when disable wpa3 sae 2025-04-07 12:22:23 +05:30
Shreyas Sheth 03b2f53f76 fix(wifi): Resolve comments for softap fixes 2025-04-07 12:22:23 +05:30
Shreyas Sheth fd521fed30 fix(wifi): Resolve comments on feature/softap_fixes_for_ceritification 2025-04-07 12:22:23 +05:30
Shreyas Sheth f5afc4a123 fix(wifi): Make sure auth is sent after sae process 2025-04-07 12:22:23 +05:30
Shreyas Sheth 241954faa3 feat(wifi): Add support for transition_disable for softAP
Bugfix rsnxe len for assoc req
2025-04-07 12:22:23 +05:30
Rahul Tank ceca0f76d4 fix(nimble): Fixed one missing ble_hs_unlock() 2025-04-07 09:47:01 +05:30
Rahul Tank 51b965e29f Merge branch 'bugfix/handle_invalid_rd_rem_feat_v5.2' into 'release/v5.2'
fix(nimble): Handle connection posting condition (v5.2)

See merge request espressif/esp-idf!38229
2025-04-07 12:04:19 +08:00
Jiang Jiang Jian 286cebd4f3 Merge branch 'bugfix/pmkid_password_mismatch_v5.2' into 'release/v5.2'
fix(wifi): Fix wrong PMKSA cache entry being used when wifi password is changed (Backport v5.2)

See merge request espressif/esp-idf!38251
2025-04-07 11:35:36 +08:00
armando cd014f506f refactor(mspi): improved timing tuning max consecutive success points calculation 2025-04-07 10:15:24 +08:00
Sajia a3530f5098 fix(wifi): Fix crash when set config is called with changed password
Closes https://github.com/espressif/esp-idf/issues/15584
2025-04-06 19:09:19 +05:30
Sarvesh Bodakhe 27f45e1ab8 fix(wifi): Fix wrong PMKSA cache entry being used when wifi password is changed 2025-04-06 19:08:55 +05:30
Aditya Patwardhan 2652435b07 Merge branch 'fix/examples_python3.13_ssl_conn_failure_v5.2' into 'release/v5.2'
Change in Python3.13's default ssl context caused SSL connection failure (v5.2)

See merge request espressif/esp-idf!38201
2025-04-04 13:56:57 +08:00
zwx 649de6d251 feat(802.15.4) add a build CI test for debugging feature 2025-04-03 17:31:10 +08:00
zwx 819ada5b19 feat(802.15.4): supported tx/rx frame dumping 2025-04-03 17:31:10 +08:00
Island a67f6742db Merge branch 'bugfix/fixed_c2eco4_ble_crash_issue_5.2' into 'release/v5.2'
fix(ble): fixed a heap assertion issue when enabling BLE for esp32c2 v2.0

See merge request espressif/esp-idf!38215
2025-04-03 14:42:53 +08:00
Rahul Tank 01a11e1e88 fix(nimble): Handle connection posting condition 2025-04-03 11:08:38 +05:30
harshal.patil 2acb037138 fix(examples): Example CA certs must contain the Key Usage parameter
- Example CA certificates that are used for self-signed client certificates
need to include the Key Usage parameter.
- Python3.13 changed the default context of the SSL context that is
generated using ssl.create_default_context() by enabling the VERIFY_X509_STRICT
flag by default
2025-04-03 10:53:26 +05:30
wuzhenghui 992d0db153 fix(esp_hw_support): fix min sleep time calculation missmatch in powerdown flash decision 2025-04-03 11:46:37 +08:00
Jiang Jiang Jian 1512f758ce Merge branch 'fix/fix_esp32s3_reboot_cache_failure_v5.2' into 'release/v5.2'
fix(esp_system): fix possible cache_error by another core accessing flash in esp_restart (v5.2)

See merge request espressif/esp-idf!37587
2025-04-03 10:27:54 +08:00
morris 1800e0f24d Merge branch 'fix/usb-host-device-close-err-give-semaphore_v5.2' into 'release/v5.2'
fix(usb_host): Give semaphore on attempted close of non-opened device (backport v5.2)

See merge request espressif/esp-idf!38153
2025-04-03 10:23:31 +08:00
morris 251b05c576 Merge branch 'fix/i2s_iram_safe_issue_while_use_psram_v5.2' into 'release/v5.2'
fix(i2s): fixed failure when dma is iram_safe but i2s not (v5.2)

See merge request espressif/esp-idf!38005
2025-04-03 10:20:03 +08:00
Shu Chen 26d2451d0f Merge branch 'feat/update_ot_upstream_v52' into 'release/v5.2'
feat(openthread): update openthread upstream submodule to support BR DNS resolution (v5.2)

See merge request espressif/esp-idf!38186
2025-04-03 09:52:48 +08:00
Shen Weilong f8417bd2b8 fix(ble): fixed a heap assertion issue when enabling BLE for esp32c2 v2.0 2025-04-03 08:56:19 +08:00
Roland Dobai c7b6135800 Merge branch 'fix/remove-unused-from-gdbinit_cmake_v5.2' into 'release/v5.2'
fix(tools): remove unused variables in gdbinit.cmake (v5.2)

See merge request espressif/esp-idf!38047
2025-04-02 15:15:05 +08:00
Tan Yan Quan 87cc100e1d feat(openthread): increase CI timeout for dns CLI commands 2025-04-02 14:12:40 +08:00
Tan Yan Quan 19d1303185 feat(openthread): update thread-lib to support BR DNS resolution 2025-04-02 14:12:19 +08:00
Tan Yan Quan 42d111e320 feat(openthread): revert to OT upstream main branch 2025-04-02 12:06:10 +08:00
Tan Yan Quan b953242439 fix(openthread): change include statement to updated upstream path 2025-04-02 12:05:49 +08:00
Tan Yan Quan cc1b9b3236 fix(openthread): update openthread upstream to support BR DNS resolution 2025-04-02 12:03:38 +08:00
Ashish Sharma e1cec0d941 feat(mbedtls): new config to allow weak cert verification 2025-04-02 08:43:49 +05:30
Ashish Sharma e6ad551c10 feat(mbedtls): update to version 3.6.3 2025-04-02 08:43:48 +05:30
zhiweijian fc89e3f068 fix(ble/bluedroid): move setting host feature API to GAP 2025-04-02 00:03:29 +08:00
zhiweijian ed5a3bc999 feat(bt/bluedroid): Support ble bluedroid host connection subrating feature 2025-04-02 00:03:29 +08:00
zhiweijian 427bcbffc0 feat(bt/bluedroid): Support ble bluedroid host power control feature 2025-04-02 00:03:29 +08:00
zhiweijian 2a5d15c45b feat(bt/bluedroid): Support BLE CTE in bluedroid host 2025-04-02 00:03:29 +08:00
zhiweijian 479a2f5475 feat(bt/bluedroid): Support BLE iso in bluedroid host 2025-04-02 00:03:29 +08:00
Marius Vikhammer 20ab752e3f Merge branch 'fix/ringbuf_allow_split_receive_crash_v5.2' into 'release/v5.2'
fix(ringbuf): xRingbufferReceive() crashes for allow-split buffers (v5.2)

See merge request espressif/esp-idf!37924
2025-04-01 14:56:06 +08:00
Rahul Tank 7317312110 Merge branch 'bugfix/reattempt_sync_failed_unlock_v5.2' into 'release/v5.2'
fix(nimble): Added ble_hs_unlock for resync failed (v5.2)

See merge request espressif/esp-idf!38099
2025-04-01 14:35:43 +08:00
Island 8407b1d859 Merge branch 'feat/support_blecrt_359_v5.2' into 'release/v5.2'
Support BLE vendor hci set rx sensie and max gain on esp32c3 (v5.2)

See merge request espressif/esp-idf!38128
2025-04-01 11:04:34 +08:00
Chen Jian Hua 73c9541920 feat(bt/bluedroid): Added BLE eddystone sender example
(cherry picked from commit 06366353d8)

Co-authored-by: zhangbowen <zhangbowen@espressif.com>
2025-04-01 09:30:45 +08:00
igor.masar 5609df4096 fix(usb_host): Fix return code and description
Changed error code from ESP_ERR_INVALID_STATE to ESP_ERR_NOT_FOUND
when the client never opened the device.
Updated function documentation to correctly reflect return values.
2025-03-31 23:44:37 +02:00
Myk Melez a40a50998e fix(usb_host): Give semaphore on attempted close of non-opened device
If you call *usb_host_device_close()* for a device that isn't open, the function exits early,
without giving back the semaphore it took, which causes any other call that tries to take
that semaphore to hang indefinitely.

Strangely, there's redundant handling of this condition, with two checks in a row that both handle
the case where `_check_client_opened_device(client_obj, dev_addr)` returns `false`:

```c
    HOST_CHECK_FROM_CRIT(_check_client_opened_device(client_obj, dev_addr), ESP_ERR_NOT_FOUND);
    if (!_check_client_opened_device(client_obj, dev_addr)) {
        // Client never opened this device
        ret = ESP_ERR_INVALID_STATE;
        HOST_EXIT_CRITICAL();
        goto exit;
    }
…
exit:
    xSemaphoreGive(p_host_lib_obj->constant.mux_lock);
    return ret;
```

The first line is the one that exits early, as HOST_CHECK_FROM_CRIT returns its second parameter
if its first parameter is false, without giving back the semaphore (although it does exit
the critical section).

The subsequent block handles the exact same case, except that it ensures the semaphore is given
back before returning. Currently, this block is never reached.

Perhaps the first check was added, then someone noticed the issue and added the second check,
but they forgot to remove the first one.

In any case, this PR removes the first check, so the second check can properly handle this case
by giving back the semaphore before returning.

This bug appears to have been present in the initial commit of the USB Host library to the ESP-IDF
repo: https://github.com/espressif/esp-idf/commit/accbaee57ceca241ca117a53f486b7f79ed528b9

Of course, if you never try to close a non-opened device, then you won't encounter it!
Unfortunately, I have some code that tried to do that, which is how I found the issue.
2025-03-31 23:44:37 +02:00
morris 47befdb5ea Merge branch 'bugfix/ledc_fade_stop_race_condition_v5.2' into 'release/v5.2'
fix(ledc): fix race condition in ledc_fade_stop causing assert failure (v5.2)

See merge request espressif/esp-idf!38082
2025-03-31 16:46:49 +08:00
morris 0724b14443 Merge branch 'contrib/github_pr_15484_v5.2' into 'release/v5.2'
fix(twai): fixed twai assert fail during recover (GitHub PR) (v5.2)

See merge request espressif/esp-idf!37990
2025-03-31 16:46:12 +08:00
Chen Jian Hua c8cf2d6610 feat(bt): Update bt lib for ESP32-C3 and ESP32-S3(566c8e3)
- Support BLE vendor hci set RX sensitivity and AGC gain command


(cherry picked from commit 8742bbe553)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2025-03-31 12:05:20 +08:00
Shu Chen c78a0c5854 Merge branch 'feat/add_config_to_set_addrfamily_v5.2' into 'release/v5.2'
feat(tcp_transport): add an api to configure the addr family (v5.2)

See merge request espressif/esp-idf!37913
2025-03-31 10:56:32 +08:00
Wang Meng Yang fed9272ffa Merge branch 'bugfix/sec_service_record_conn_fail_v5.2' into 'release/v5.2'
fix(bt/bluedroid): fix the issue of connection failure when initializing multiple profiles(v5.2)

See merge request espressif/esp-idf!38076
2025-03-31 07:19:53 +08:00
Rahul Tank daeceb735e Merge branch 'fix/periodic_adv_example_v5.2' into 'release/v5.2'
fix(nimble):Fix conversion for min-max itvl of periodic adv param (v5.2)

See merge request espressif/esp-idf!38093
2025-03-29 19:46:23 +08:00
Jiang Jiang Jian cfd0f4795f Merge branch 'backport/backport_some_changes_to_v5.2' into 'release/v5.2'
fix(wifi): fix some wifi bugs(backport v5.2)

See merge request espressif/esp-idf!38012
2025-03-28 16:40:41 +08:00
Astha Verma 6f0a878e40 fix(nimble): Added ble_hs_unlock for resync failed 2025-03-28 12:18:36 +05:30
Abhinav Kudnar 1ea064c497 fix(nimble): Fix conversion for min-max itvl of periodic adv param 2025-03-28 14:21:12 +08:00
Song Ruo Jing 7280739e3b fix(ledc): fix race condition in ledc_fade_stop causing assert failure
Closes https://github.com/espressif/esp-idf/issues/15580
2025-03-27 20:17:13 +08:00
xiongweichao 450f900e22 fix(bt/bluedroid): fix the issue of connection failure when initializing multiple profiles
- Due to the number of service security records exceeding the maximum value, the connection failed
2025-03-27 19:59:34 +08:00
Roland Dobai cc0f7dbd68 Merge branch 'fix/check_python_dependencies_v5.2' into 'release/v5.2'
fix(tools): handle packages with dots in their names during dependency checks (v5.2)

See merge request espressif/esp-idf!38064
2025-03-27 19:38:41 +08:00
yinqingzhao 170dedca9e fix(wifi): fix some wifi bugs 2025-03-27 17:55:00 +08:00
Island a40b0e241a Merge branch 'feature/add_vendor_ble_cmd_definitions_5.2' into 'release/v5.2'
Feature/add vendor ble cmd definitions (v5.2)

See merge request espressif/esp-idf!37960
2025-03-27 17:15:23 +08:00
Frantisek Hrbata 8e40868d84 fix(tools): handle packages with dots in their names during dependency checks
The `setuptools` package starting with `v70.1.0`[1] contains built-in
`bdist_wheel` command. Before this version `setuptools` relied on the
`bdist_wheel` command implementation from the `wheel` package. Starting with
`setuptools` `v75.8.1` the `PEP 491`[3] restrictions on the distribution name
of a wheel package are enforced[4], replacting also `.` with `_`.  Note that
`PEP 491` actually allows `.` in the distribution name, but for some reason the
latest packaging docs[10][11] does not, stating that `.` should be replaced
with `_`. This was discussion here[12].

Also the `wheel` package starting with `v0.45.0`[5] is using the `bdist_wheel`
command from `setuptools`.  This means that any package which has `.` in its
distribution name, like `ruamel.yaml.clib`, can have different wheel name,
depending on which version of the `bdist_wheel` command was used.

The `bdist_wheel` command from setuptools prior `v75.8.1` or `wheel` prior
`v0.45.0` will keep the dots in distribution name preserved.  For exaple the
`ruamel.yaml.clib` package will have distribution name
`ruamel.yaml.clib-0.2.12.dist-info. Newer versions will replace the dots with
`_` according to [10][11], creating distribution like
`ruamel_yaml_clib-0.2.12.dist-info`.

From packaging point of view `ruamel.yaml.clib-0.2.12.dist-info` and
`ruamel_yaml_clib-0.2.12.dist-info` are the same packages, but this is not
reflected in `importlib.metadata` prior python 3.10[9], which does not perform
name normalization prior the distribution search. This causes the `version`
from `importlib.metadata` to fail on python prior the 3.10 version if the
package with dots in distribution name was generated with normalized paths with
newer `setuptools`. Note that the distribution name normalization was
backported to some later 3.9 python version.

Let's demonstrate this behavior on a simple package with the
`my.minimal.package` name.

```
my_minimal_package/
├── pkg
│   └── __init__.py
└── setup.py

from setuptools import setup, find_packages

setup(
    name='my.minimal.package',
    version='0.1.0',
    packages=find_packages(),
    install_requires=[],
    entry_points={},
)
```

With python 3.9.0 search for `my.minimal.package` fails because
of the missing name normalization.
```
docker run --rm -it --platform linux/x86_64 python:3.9.0 bash
python -m venv venv
. venv/bin/activate
pip install setuptools==v75.8.1
python setup.py bdist_wheel
pip install dist/my_minimal_package-0.1.0-py3-none-any.whl
python
Python 3.9.0 (default, Nov 18 2020, 13:28:38)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from importlib.metadata import version as get_version
>>> get_version('my.minimal.package')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.9/importlib/metadata.py", line 551, in version
    return distribution(distribution_name).version
  File "/usr/local/lib/python3.9/importlib/metadata.py", line 524, in distribution
    return Distribution.from_name(distribution_name)
  File "/usr/local/lib/python3.9/importlib/metadata.py", line 187, in from_name
    raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: my.minimal.package
>>> get_version('my_minimal_package')
'0.1.0'
```

With python 3.10.0 search for both `my.minimal.package` and
`my_minimal_package` succeeds.
```
docker run --rm -it --platform linux/x86_64 python:3.10.0 bash
python
Python 3.10.0 (default, Dec  3 2021, 00:21:30) [GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from importlib.metadata import version as get_version
>>> get_version('my.minimal.package')
'0.1.0'
>>> get_version('my_minimal_package')
'0.1.0'
```

In our `tools/check_python_dependencies.py` we cannot relay on the default
distribution finder, used in the `version` function from `importlib.metadata`,
to do name normalization on older python versions.  To cope with this,
implement a fallback version search. If `version` fails with
`PackageNotFoundError`, do the name normalization according to [10][11] and try
again.

Note: There is also a `wheel`[6][7] `v0.43.0` package embeded in `setuptools`
along with the new implementation[8].  This one seems to be used if the
external `wheel` package is not available but imported. TBH this is all kinda
messy and I may have overlooked something.

* [1] https://setuptools.pypa.io/en/stable/history.html#v70-1-0
* [2] https://setuptools.pypa.io/en/stable/history.html#v75-8-1
* [3] https://peps.python.org/pep-0491/#escaping-and-unicode
* [4] https://github.com/pypa/setuptools/pull/4766/files
* [5] https://wheel.readthedocs.io/en/stable/news.html
* [6] https://github.com/pypa/setuptools/blob/main/setuptools/_vendor/wheel/__init__.py
* [7] https://github.com/pypa/setuptools/issues/1386
* [8] https://github.com/pypa/setuptools/blob/main/setuptools/command/bdist_wheel.py
* [9] https://github.com/python/cpython/commit/c6ca368867bd68d44f333df840aa85d425a51410
* [10] https://packaging.python.org/en/latest/specifications/name-normalization/#name-normalization
* [11] https://packaging.python.org/en/latest/specifications/binary-distribution-format/
       #escaping-and-unicode
* [12] https://github.com/pypa/setuptools/issues/3777

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-03-27 08:05:20 +01:00
Island ebd8f96a02 Merge branch 'feature/ble_5_1_direction_finding_master_20250311_v5.2' into 'release/v5.2'
Feature/ble 5 1 direction finding master 20250311 v5.2

See merge request espressif/esp-idf!38011
2025-03-27 11:43:48 +08:00
Jiang Jiang Jian b2cd934f4e Merge branch 'bugfix/fix_scan_info_error_in_lr_only_mode_v5.2' into 'release/v5.2'
fix(wifi): Fixed the scan information error in LR only mode (v5.2)

See merge request espressif/esp-idf!37874
2025-03-26 21:33:30 +08:00
Alexey Lapshin 23a6786a5f fix(tools): remove unused variables in gdbinit.cmake
Closes https://github.com/espressif/esp-idf/issues/15035
2025-03-26 19:58:36 +07:00
GengYuchao 6414386549 feat(nimble):Support Bluetooth LE 5.1 direction finding feature 2025-03-26 16:33:11 +08:00
Geng Yuchao 9cf96adb40 feat(ble):Add Kconfig support for direction finding feature 2025-03-26 16:32:20 +08:00
Geng Yuchao 6b6a7decb5 feat(ble):Support Bluetooth LE 5.1 direction finding feature 2025-03-26 16:32:19 +08:00
Xu Si Yu a35c9ba1c8 feat(tcp_transport): add an api to configure the addr family 2025-03-26 16:24:48 +08:00
zhiweijian d44d8a1f9e feat(bt): fixed some doc error and add ocf parameters description 2025-03-26 14:21:45 +08:00
Aditya Patwardhan 04438b1148 Merge branch 'bugfix/provisioning_sec2_aes_iv_usage_v5.2' into 'release/v5.2'
fix(provisioning): fix incorrect AES-GCM IV usage in security2 scheme (v5.2)

See merge request espressif/esp-idf!37616
2025-03-26 12:09:51 +08:00
Alexey Lapshin 921dd1afaa fix(cxx): fix TLS classes destructor call
Closes https://github.com/espressif/esp-idf/issues/14360
2025-03-25 23:08:29 +08:00
Shu Chen a1a3fd1787 Merge branch 'fix/csl_rx_off_when_idle_v5.2' into 'release/v5.2'
fix(openthread): turn off rx for SSED running CSL during idle (v5.2)

See merge request espressif/esp-idf!37994
2025-03-25 20:07:06 +08:00
Shen Weilong 5ea02cbc66 feat(bt): added definitions for bluetooth hci vendor commands and events 2025-03-25 16:13:05 +08:00
Shen Weilong de07298213 feat(ble/controller): Added memory boundary check for ESP32-C6 and ESP32-H2 2025-03-25 16:11:17 +08:00
Shen Weilong 50d1ceaaf9 feat(ble/controller): Added memory boundary check for ESP32-C2 2025-03-25 16:11:14 +08:00
zhiweijian 5548f98339 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3 (03d0f8a6)
- Remove unused functions in the controller
2025-03-25 16:09:33 +08:00
baohongde 53bfeae58a feat(bt): added definitions for BR/EDR hci vendor commands and events 2025-03-25 16:09:33 +08:00
chenjianhua 5903c691aa fix(bt): Update bt lib for ESP32(dc1cd581)
- Remove unused functions in the controller
- Add an SDK config for the minimum size of encryption key
2025-03-25 16:09:33 +08:00
laokaiyao 2ee0263083 fix(i2s): add check for i2s DMA buffer array allocation
Closes https://github.com/espressif/esp-idf/issues/15607
2025-03-25 15:25:21 +08:00
laokaiyao 5feb57a56b fix(i2s): fixed mismatch of the i2s and gdma iram-safe config
Closes https://github.com/espressif/esp-idf/issues/15533
2025-03-25 15:20:07 +08:00
Tan Yan Quan a5532de04c fix(openthread): add some bugfixes to pass CI pipeline 2025-03-25 12:22:29 +08:00
Tan Yan Quan c53da8db28 refactor(openthread): move isr_handle_timerX to esp_ieee802154_timer 2025-03-25 12:22:29 +08:00
Tan Yan Quan 7d84e375a5 fix(openthread): calibrate CSL tx parameters 2025-03-25 12:22:29 +08:00
Tan Yan Quan 68e9452871 fix(openthread): turn off rx for SSED running CSL during idle 2025-03-25 12:14:36 +08:00
diplfranzhoepfinger 19804886df fix(twai): fixed twai assert fail when recover
driver try start new frame in ISR however already bus off

Closes https://github.com/espressif/esp-idf/issues/9697
2025-03-25 11:48:37 +08:00
Island 5a0899e129 Merge branch 'feat/optimize_hci_data_recv_process_v5.2' into 'release/v5.2'
Feat/optimize hci data recv process (v5.2)

See merge request espressif/esp-idf!37832
2025-03-25 11:05:02 +08:00
morris 765606fe73 Merge branch 'bugfix/usj_wrong_return_value_v5.2' into 'release/v5.2'
fix(usb_serial_jtag): wrong return value in usb_serial_jtag_write_bytes (v5.2)

See merge request espressif/esp-idf!37971
2025-03-25 10:15:17 +08:00
Zhao Wei Liang 94dc1ff190 feat(ble): change nimble whitelist max size to 31
(cherry picked from commit 93357e8613)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-03-24 17:11:39 +08:00
Zhao Wei Liang af22e4dbff feat(ble): change whitelist max size to 31 on ESP32-C2
(cherry picked from commit 578f2358c6)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-03-24 17:11:39 +08:00
Zhao Wei Liang aa4ca80115 feat(ble): change whitelist max size to 31 on ESP32-C6
(cherry picked from commit 2b435687b0)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-03-24 17:11:39 +08:00
Zhao Wei Liang 1aebdb26b7 feat(ble): optimize reconfig hci uart pin code 2025-03-24 17:11:39 +08:00
Zhao Wei Liang 2bde2c4a01 fix(ble): fixed hci driver stack protection fault issue on ESP32-C2
(cherry picked from commit afd44d14b9)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-03-24 17:11:39 +08:00
Zhao Wei Liang 471cc7a882 fix(ble): fixed hci driver stack protection fault issue on ESP32-C6
(cherry picked from commit ec4a1324f5)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-03-24 17:11:39 +08:00
Zhao Wei Liang c219a707cc fix(ble): delete ble_hci_trans header file
(cherry picked from commit 327182e3e6)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-03-24 17:11:39 +08:00
Zhao Wei Liang 2e3ee1348c fix(ble): fixed hci assertion issue when uart interference occurs
(cherry picked from commit 84f0b39e4d)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-03-24 17:11:39 +08:00
Wang Meng Yang 90ea23bee3 Merge branch 'bugfix/spp_mem_leak_v5.2' into 'release/v5.2'
fix(bt/bluedroid): fixed memory leaks in SPP callback mode (v5.2)

See merge request espressif/esp-idf!37387
2025-03-24 16:14:43 +08:00
Jiang Jiang Jian ea24995337 Merge branch 'bugfix/wps_reconnect_failure_v5.2' into 'release/v5.2'
fix(wpa_suppplicant): Fix for issue in wps reconnection (Backport v5.2)

See merge request espressif/esp-idf!37644
2025-03-24 15:00:26 +08:00
Wang Meng Yang 0e3b048655 Merge branch 'bugfix/err_disc_state_changed_evt_v5.2' into 'release/v5.2'
fix(bt/bluedroid): fixed other events being reported when disconnected(v5.2)

See merge request espressif/esp-idf!37938
2025-03-24 14:10:23 +08:00
Island 64288cafa8 Merge branch 'change/ble_update_lib_20250313_v5.2' into 'release/v5.2'
change(ble): [AUTO_MR] 20250313 - Update ESP BLE Controller Lib (v5.2)

See merge request espressif/esp-idf!37820
2025-03-24 12:54:05 +08:00
morris 609d879b29 Merge branch 'docs/add_note_about_twai_instance_install_v5.2' into 'release/v5.2'
docs: Add a note about TWAI multiple instances install (v5.2)

See merge request espressif/esp-idf!37968
2025-03-24 12:16:35 +08:00
morris aa130eee5d fix(usb_serial_jtag): wrong return value in usb_serial_jtag_write_bytes
Closes https://github.com/espressif/esp-idf/issues/15620
2025-03-24 11:47:05 +08:00
Zhang Shuxian 1eb7f1c826 docs: Add a note about TWAI multiple instances install 2025-03-24 11:12:36 +08:00
Geng Yuchao c646c40dbc fix(ble): Add link requires esp_phy for ble. 2025-03-24 10:58:27 +08:00
Zhou Xiao a88d47537a feat(ble): support ble log simple output via SPI interface 2025-03-24 10:58:27 +08:00
Zhou Xiao 6015dde7db fix(ble): fix ble log init failure mem leak for ESP32
(cherry picked from commit bb9dc5a927)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-03-24 10:58:27 +08:00
Zhou Xiao 7fdcd74773 fix(ble): fix ble log init failure mem leak for ESP32-C3
(cherry picked from commit 9ff9fb0661)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-03-24 10:58:27 +08:00
Zhou Xiao 8353cf2826 fix(ble): remove macro in lpclk src get api on ESP32-C6
(cherry picked from commit b62f094ed5)

Co-authored-by: cjin <jinchen@espressif.com>
2025-03-24 10:58:27 +08:00
Zhou Xiao a2ec74690a feat(ble): add enhanced connect function on ESP32-C2
(cherry picked from commit 71cea01694)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-03-24 10:58:27 +08:00
Zhou Xiao ceac71f51c feat(ble): support ble log simple output via SPI interface for ESP32-C6
(cherry picked from commit eae9b795aa)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-03-24 10:58:27 +08:00
Zhou Xiao 3435951afc feat(ble): support ble log simple output via SPI interface for ESP32-H2
(cherry picked from commit e99b3c6f6a)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-03-24 10:58:27 +08:00
Zhou Xiao dbaf3cb506 feat(ble): support ble log simple output via SPI interface for ESP32-C2
(cherry picked from commit df829ac919)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-03-24 10:58:27 +08:00
Zhou Xiao d4d57cb3f8 change(ble): [AUTO_MR] Update lib_esp32c2 to 5d9a6661
(cherry picked from commit f198302067)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-03-24 10:58:27 +08:00
Zhou Xiao 92a9317b5e change(ble): [AUTO_MR] Update lib_esp32c6 to 82a8be7d
(cherry picked from commit 3b85cf8818)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-03-24 10:58:27 +08:00
Zhou Xiao dfdd9a12b0 change(ble): [AUTO_MR] Update lib_esp32h2 to 82a8be7d
(cherry picked from commit 83da04398d)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-03-24 10:58:27 +08:00
morris f25eec679f Merge branch 'bugfix/gpio_dump_io_config_v5.2' into 'release/v5.2'
fix(gpio): fix pu, pd, drv value incorrect from gpio_dump_io_configuration on esp32 (v5.2)

See merge request espressif/esp-idf!37910
2025-03-24 10:22:12 +08:00
Rahul Tank e11caaa3b0 Merge branch 'bugfix/fix_smp_command_allocation_v5.2' into 'release/v5.2'
fix(nimble): Fix SMP command allocation (v5.2)

See merge request espressif/esp-idf!37848
2025-03-21 12:37:22 +08:00
Mahavir Jain 26ed75dfa9 Merge branch 'bugfix/fix_github_cert_verification_simpleota_v5.2' into 'release/v5.2'
fix: failing Github certificate verification (v5.2)

See merge request espressif/esp-idf!37826
2025-03-21 12:22:37 +08:00
xiongweichao df8858143c fix(bt/bluedroid): fixed other events being reported when disconnected
- Since no initial value is assigned, the variable evt is a random value,
causing the ESP_BT_GAP_DISC_STATE_CHANGED_EVT event to be reported when
the connection is disconnected.
2025-03-21 11:20:51 +08:00
morris 857c71217a Merge branch 'feat/unilc_psram_s3_v5.2' into 'release/v5.2'
psram: supported UnilC octal psram on s3 (v5.2)

See merge request espressif/esp-idf!37856
2025-03-21 10:58:05 +08:00
Wang Meng Yang ac22ab715b Merge branch 'bugfix/fix_esp32_bt_disable_crash_v5.2' into 'release/v5.2'
fix(bt): Fix controller disable cause iwdt timeout on esp32 (v5.2)

See merge request espressif/esp-idf!37774
2025-03-21 09:27:51 +08:00
Roland Dobai 92a165ddc1 Merge branch 'fix/extractall_deprecation_v5.2' into 'release/v5.2'
fix(idf_tools): Patch extractall() deprecation warning (v5.2)

See merge request espressif/esp-idf!37885
2025-03-21 02:02:02 +08:00
Roland Dobai 0a8d338a22 Merge branch 'fix/install_input_validation_v5.2' into 'release/v5.2'
fix(idf_tools): Validate input features (v5.2)

See merge request espressif/esp-idf!37891
2025-03-21 01:57:19 +08:00
Rahul Tank f935287883 fix(nimble): Fix SMP command allocation 2025-03-20 19:15:01 +05:30
Rahul Tank 9c52dde22a Merge branch 'feat/implement_vendor_event_mask_vsc_v5.2' into 'release/v5.2'
feat(nimble): Add support for Vendor Event mask VSC (v5.2)

See merge request espressif/esp-idf!37735
2025-03-20 21:34:51 +08:00
morris 684e3b65f6 Merge branch 'fix/rmt_lim_thres_incorrect_v5.2' into 'release/v5.2'
fix(rmt): fix the received symbols issue (v5.2)

See merge request espressif/esp-idf!37901
2025-03-20 20:59:46 +08:00
Shu Chen 17dbbb8696 Merge branch 'support/ieee802154_set_txon_delay_using_phylib_impl_v5.2' into 'release/v5.2'
feat(802.15.4): configure tx on delay using phylib implementation (v5.2)

See merge request espressif/esp-idf!37658
2025-03-20 20:15:10 +08:00
Sudeep Mohanty d62e07e8c0 fix(ringbuf): xRingbufferReceive() crashes for allow-split buffers
This commit adds an assert check to xRingbufferReceive() and
xRingbufferReceiveFromISR() functions to prevent them from being used to
retrieve items from an allow-split buffer. Corresponding documentation
has also been updated.
2025-03-20 11:49:27 +01:00
Song Ruo Jing a21e88c561 fix(gpio): fix 8/16-bit gpio, rtc/lp_io register access 2025-03-20 16:04:36 +08:00
zhangyanjiao a5408d12e4 fix(wifi): Added timer to send wake null after STA received assoc response 2025-03-20 16:01:56 +08:00
Song Ruo Jing 8fd103928b fix(gpio): fix pu, pd, drv value incorrect from gpio_dump_io_configuration on esp32
Closes https://github.com/espressif/esp-idf/issues/14931
2025-03-20 16:01:44 +08:00
zhangyanjiao d2713788e7 fix(wifi): Update the doc for espnow add peer 2025-03-20 15:58:32 +08:00
Shu Chen 711eda79ca Merge branch 'bugfix/fix_ot_ci_cases_avahi_service_issue_v5.2' into 'release/v5.2'
feat(openthread): fix ci avahi service cases issue (v5.2)

See merge request espressif/esp-idf!37863
2025-03-20 14:27:24 +08:00
Shreeyash 6ecc27708b feat(nimble): support vendor event mask set and vendor HCI event on nimble host 2025-03-20 09:29:45 +05:30
Rahul Tank 748269829f Merge branch 'bugfix/fix_event_deinit_sequence_v5.2' into 'release/v5.2'
fix(nimble): Fix incorrect event deinit in gatt caching discovery (v5.2)

See merge request espressif/esp-idf!37725
2025-03-20 11:57:20 +08:00
Chen Jichang 3905701d5a fix(rmt): fix the received symbols issue 2025-03-20 11:41:19 +08:00
morris 40fff636f2 Merge branch 'bugfix/missing_kconfig_definition_v5.2' into 'release/v5.2'
fix(i2c): add Kconfig to skip driver conflict check (v5.2)

See merge request espressif/esp-idf!37763
2025-03-20 09:56:09 +08:00
Radim Karniš 636f51b68d fix(idf_tools): Validate input features 2025-03-19 21:45:08 +01:00
Radim Karniš 0c3e15351b fix(idf_tools): Patch extractall() deprecation warning 2025-03-19 13:53:07 +01:00
zhangyanjiao b1e08c2e99 fix(wifi): Fixed the scan information error when AP in LR only mode 2025-03-19 19:25:45 +08:00
zhangyanjiao 6cd700952a fix(wifi): Fixed the max log level not work when it exceeds the default log level 2025-03-19 19:13:53 +08:00
zhangyanjiao 3fda67ee14 docs(wifi): update the description for esp_mesh_send() return value
Closes https://github.com/espressif/esp-idf/issues/14440
2025-03-19 19:13:38 +08:00
yiwenxiu b8782f0639 feat(openthread): fix ci avahi service cases issue 2025-03-19 16:52:09 +08:00
armando 65208da4c7 feat(psram): supported new octal psram on s3 2025-03-19 10:24:35 +08:00
Ashish Sharma e7f44138d8 fix(component/mbedtls): Adds github root cert to cmn_crt_authorities.csv 2025-03-18 14:39:42 +08:00
Shu Chen d8831c7119 Merge branch 'fix/154_txpower_set_api_v5.2' into 'release/v5.2'
fix(802.15.4) fix the behavior of the `esp_ieee802154_set_txpower` (v5.2)

See merge request espressif/esp-idf!37738
2025-03-18 11:15:11 +08:00
Island 72b8f2b5e3 Merge branch 'bugfix/disable_dbg_hci_cmd_on_esp32_v5.2' into 'release/v5.2'
Disable debug vendor hci command on ESP32 (v5.2)

See merge request espressif/esp-idf!37628
2025-03-18 11:02:33 +08:00
Mahavir Jain 43926143f8 feat(protocomm): add (hidden) config option to indicate security patch feature 2025-03-17 13:35:03 +05:30
Mahavir Jain 0aad54e2c1 Merge branch 'fix/heap_caps_free-rtc-diiram-check' into 'release/v5.2'
fix(heap): Wrong address calculation in heap_caps_free

See merge request espressif/esp-idf!37553
2025-03-17 14:29:50 +08:00
Rahul Tank 2fa737b260 fix(nimble): Fix incorrect event deinit in gatt caching discovery 2025-03-17 11:38:57 +05:30
zwx f55f52c6ee feat(802.15.4): configure tx on delay using phylib impl 2025-03-17 12:31:11 +08:00
morris 899b08a033 Merge branch 'bugfix/lp_uart_baudrate_limitation_v5.2' into 'release/v5.2'
fix(uart): LP UART does not have the pre-divider for its clock source (v5.2)

See merge request espressif/esp-idf!37596
2025-03-17 11:06:13 +08:00
morris 7d12731212 Merge branch 'bugfix/clear_ledc_gamma_ram_v5.2' into 'release/v5.2'
fix(ledc): left-off gamma ram registers should be cleared (v5.2)

See merge request espressif/esp-idf!37574
2025-03-17 11:05:00 +08:00
Island bd3611b49b Merge branch 'bugfix/reduce_controller_bin_size_v5.2' into 'release/v5.2'
fix(ble/controller): reduce controller bin size  (backport v5.2)

See merge request espressif/esp-idf!37747
2025-03-14 19:23:51 +08:00
linruihao 2887be193b fix(bt): Fix controller disable cause iwdt timeout on esp32 2025-03-14 17:53:05 +08:00
morris 87aa389e66 Merge branch 'docs/update_i2c_static_v5.2' into 'release/v5.2'
docs: Update static for i2c.rst v5.2

See merge request espressif/esp-idf!37768
2025-03-14 16:38:29 +08:00
Zhang Shuxian 6e42ef8ece docs: Update static for i2c.rst v5.2 2025-03-14 14:59:44 +08:00
morris 424fabae15 fix(i2c): add Kconfig to skip driver conflict check 2025-03-14 11:23:45 +08:00
chenjianhua 88a4083938 fix(bt): Update bt lib for ESP32(e250cf1)
- Disable debug vendor hci command
2025-03-14 11:04:46 +08:00
gongyantao c3930921d7 fix(bt): fixed some issues in bt controller
- fixed the issue where the NULL pointer was deferenced in lc_free state
- avoid accessing released ACL resources in SCO logic
2025-03-14 11:04:46 +08:00
Jin Cheng 64aa888384 fix(bt/controller): fixed some controller bugs on ESP32.
1. added a VSC to control whether to initiate lmp_auto_rate
        - Closes https://github.com/espressif/esp-idf/issues/15133
    2. fixed EA resource cleanup error after SNIFF negotiation failure
        - Closes https://github.com/espressif/esp-idf/issues/13605
    3. removed an assertion in SCO data TX handler after disconnection
        - Closes https://github.com/espressif/esp-idf/issues/15176
2025-03-14 11:04:46 +08:00
zhiweijian 3527a1d0e9 fix(ble/controller): reduce controller bin size 2025-03-14 11:03:16 +08:00
Island 8d3429a4ea Merge branch 'bugfix/fix_some_ble_bugs_250220_esp32c3_v5.2' into 'release/v5.2'
Fixed some BLE bugs 250220 on esp32c3(b34b7d6) (v5.2)

See merge request espressif/esp-idf!37699
2025-03-14 10:25:07 +08:00
Island 3d18baa009 Merge branch 'fix/feed_wdts_during_ble_log_dump_c2_v5.2' into 'release/v5.2'
fix(ble): add feed wdts during ble log dump for ESP32-C2 (v5.2)

See merge request espressif/esp-idf!37718
2025-03-13 19:34:26 +08:00
Island 1deb617866 Merge branch 'feature/move_tinycrypt_to_bt_common_v5.2' into 'release/v5.2'
Feature/move tinycrypt to bt common (v5.2)

See merge request espressif/esp-idf!37580
2025-03-13 17:38:29 +08:00
Guillaume Souchere 102d290eb9 fix(heap): Wrong address calculation in heap_caps_free
Make sure that DRAM != IRAM before getting the DRAM address
from a IRAM allocation.
2025-03-13 10:30:42 +01:00
zwx a2999e8c8c fix(802.15.4) fix the behavior of the esp_ieee802154_set_txpower 2025-03-13 17:28:05 +08:00
Island 01a4d52e27 Merge branch 'feature/update_controller_lib_20250310_v5.2' into 'release/v5.2'
Feature/update controller lib 20250310 (v5.2)

See merge request espressif/esp-idf!37680
2025-03-13 14:25:30 +08:00
Zhou Xiao f492c499a8 fix(ble): add feed wdts during ble log dump for ESP32-C2
(cherry picked from commit e2e8e7dce1)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-03-13 12:53:40 +08:00
morris 4d3b0935b9 Merge branch 'bugfix/sdmmc_high_prio_timeout_v5.2' into 'release/v5.2'
fix(sdmmc): move DMA descriptor refilling into the ISR (v5.2)

See merge request espressif/esp-idf!37689
2025-03-13 11:49:13 +08:00
chenjianhua ce5d89fad3 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(b34b7d6)
- Fixed enhanced TX power setting and getting for legacy adv
- Fixed BLE assert lld_con.c 2387
- Fixed compatibility issues during the encryption procedure
- Support BLE vendor hci enable CCA command
2025-03-13 11:15:14 +08:00
Island fbcc36a0ee Merge branch 'feat/add_ble_ctrl_log_module_on_esp32c3_v5.2' into 'release/v5.2'
feat(bt): Added BLE log module on ESP32-C3 and ESP32-S3(723439d) (v5.2)

See merge request espressif/esp-idf!37359
2025-03-13 10:57:03 +08:00
Island 311f33cf15 Merge branch 'feat/support_ble_vendor_hci_event_report_v5.2' into 'release/v5.2'
feat(bt/bluedroid): Support BLE vendor hci event reporting (v5.2)

See merge request espressif/esp-idf!37352
2025-03-13 10:55:56 +08:00
Shen Weilong a784e0dba2 feat(ble): tell controller if vhci is enabled for ESP32-C6 and ESP32-H2 2025-03-13 09:13:43 +08:00
Shen Wei Long 13d3c588fd feat(ble): tell controller if vhci is enabled for ESP32-C2
(cherry picked from commit 892b3a0b0e)

Co-authored-by: Shen Weilong <shenweilong@espressif.com>
2025-03-13 09:13:17 +08:00
Jiang Jiang Jian 0f8d37cbf5 Merge branch 'fix/add_sta_authmode_for_sta_connect_v5.2' into 'release/v5.2'
Modify authmode to sta for sta connect event(backport v5.2)

See merge request espressif/esp-idf!37642
2025-03-13 02:02:56 +08:00
armando 2104960283 test(gptimer): align test delta with master branch 2025-03-12 18:19:01 +08:00
Wang Meng Yang 0c94dc3aea Merge branch 'bugfix/spp_free_server_slot_err_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fixed freeing spp server memory when disconnected(v5.2)

See merge request espressif/esp-idf!37610
2025-03-12 17:26:24 +08:00
Alexey Gerenkov 189b475c0e Merge branch 'fix/apptrace_basic_tests_v5.2' into 'release/v5.2'
test(apptrace): run tests from custom OpenOCD class (v5.2)

See merge request espressif/esp-idf!37604
2025-03-12 16:11:54 +08:00
Ivan Grokhotkov d2bb0b0c76 test(sdmmc): add test for high-prio task busy while writing
Related to https://github.com/espressif/esp-idf/issues/13934
2025-03-12 13:08:06 +08:00
armando 1b9a38013a fix(sdmmc): move DMA descriptor refilling into the ISR 2025-03-12 13:08:06 +08:00
morris 14ab34f8ed Merge branch 'fix/pr_15513_psram_bss_noinit_calc_issue_v5.2' into 'release/v5.2'
psram: correct .bss and .noinit vaddr calculation (v5.2)

See merge request espressif/esp-idf!37660
2025-03-12 10:41:04 +08:00
Marius Vikhammer a0ba8c9e1d Merge branch 'bug/xtensa_cpu1_sys_lockup_v5.2' into 'release/v5.2'
fix(panic_handler): Updated panic handler to use RTC WDT (v5.2)

See merge request espressif/esp-idf!37121
2025-03-12 09:58:59 +08:00
xiongweichao 9f34b20a9e fix(bt/bluedroid): Fixed freeing spp server memory when disconnected 2025-03-11 12:03:59 +08:00
armando 09a0884ced refactor(psram): rename .bss .noinit segments to sections
Closes https://github.com/espressif/esp-idf/pull/15513
2025-03-11 11:45:45 +08:00
Erki Aring 90611532a2 fix(psram): correct heap vaddr calculation
- fixes https://github.com/espressif/esp-idf/issues/15496

Signed-off-by: armando <douyiwen@espressif.com>
2025-03-11 11:45:37 +08:00
Island 4e6d2095b9 Merge branch 'feat/support_read_periodic_adv_size_v5.2' into 'release/v5.2'
feat(ble/bluedroid): Support read periodic advertiser list size command (v5.2)

See merge request espressif/esp-idf!37502
2025-03-11 10:52:28 +08:00
Jin Cheng 03ed598af8 fix(bt/bluedroid): fixed memory leaks in SPP callback mode 2025-03-10 18:38:34 +08:00
chenjianhua 629508613e feat(bt/bluedroid): Support BLE vendor hci event reporting 2025-03-10 18:04:24 +08:00
chenjianhua 93ab87de1d feat(bt/bluedroid): Support BLE setting vendor event mask 2025-03-10 18:04:24 +08:00
Sarvesh Bodakhe d2f248d51c fix(wifi): Resolved WPS connectivity issue with pre-connected stations
This fixes the issue where station was not able connect using WPS if it was
already in connected state.

wifi_wps_scan_done() issues an esp_wifi_disconnect() before
calling esp_wifi_connect() to associate with the newly discovered AP. This
behavior incorrectly triggered a failure event (WIFI_EVENT_STA_WPS_ER_FAILED)
even though the disconnection was part of the normal WPS flow. This commit
prevents sending the false failure event, ensuring expected WPS behavior.
2025-03-10 15:18:39 +05:30
Aditi 8db7b69911 fix(wpa_suppplicant): Add fix for issue in wps reconnection 2025-03-10 15:18:32 +05:30
tarun.kumar 9bab5268f3 fix(wifi): Modify authmode to sta for sta connect event 2025-03-10 15:07:17 +05:30
zhanghaipeng d006534327 feat(ble/bluedroid): Support read periodic advertiser list size command 2025-03-10 14:12:24 +08:00
shenmengjing feeaaf7ed7 docs(provisioning): Sync CN translation and EN source 2025-03-10 10:01:55 +05:30
Mahavir Jain 17c8e14e28 fix(esp_local_ctrl): update for changes in protocomm security2 scheme 2025-03-10 10:01:52 +05:30
Mahavir Jain d7095714ad fix(docs): update for changes in provisioning security2 scheme 2025-03-10 10:01:48 +05:30
Mahavir Jain c18de74f77 fix(provisioning): fix incorrect AES-GCM IV usage in security2 scheme
Using same IV in AES-GCM across multiple invocation of
encryption/decryption operations can pose a security risk. It can help
to reveal co-relation between different plaintexts.

This commit introduces a change to use part of IV as a monotonic
counter, which must be incremented after every AES-GCM invocation
on both the client and the device side.

Concept of patch version for a security scheme has been introduced here
which can help to differentiate a protocol behavior for the provisioning
entity. The security patch version will be available in the JSON
response for `proto-ver` endpoint request with the field
`sec_patch_ver`.

Please refer to documentation for more details on the changes required
on the provisioning entity side (e.g., PhoneApps).
2025-03-10 10:01:44 +05:30
Mahavir Jain 70a2ea14f4 fix(protocomm): memory leak issue for session command0 failure case 2025-03-10 10:01:41 +05:30
Shen Weilong b5bfc058c2 feat(bt): support hardware ecc acceleration for bt tinycrypt 2025-03-10 09:08:19 +08:00
Shen Weilong 6678e68cdb change(bt): moved porting/ext/tinycrypt into common 2025-03-10 09:08:06 +08:00
Erhan Kurubas eba71a0ea8 ci(apptrace): run tests from custom OpenOCD class 2025-03-09 17:53:52 +01:00
Rahul Tank f9cbfdd0f5 Merge branch 'feature/expose_ble_gap_wl_tx_add_v5.2' into 'release/v5.2'
fix(nimble): Exposed the ble_gap_wl_tx_add API to add a device in whitelist (v5.2)

See merge request espressif/esp-idf!37110
2025-03-09 11:49:55 +08:00
Song Ruo Jing ce808b09cd fix(uart): LP UART does not have the pre-divider for its clock source
Closes https://github.com/espressif/esp-idf/issues/15427
2025-03-07 21:49:20 +08:00
Song Ruo Jing 488200ffbd fix(gpio): fix coverity in io_mux.c 2025-03-07 21:47:07 +08:00
Song Ruo Jing 819fc09027 refactor(uart): increase test app memory leak tolerance 2025-03-07 21:46:16 +08:00
Song Ruo Jing ab4ec0aa5e fix(ledc): overflowed integer argument in ledc_hal_clear_left_off_fade_param 2025-03-07 20:27:44 +08:00
wuzhenghui 73d9cb3517 fix(esp_system): fix possible cache_error by another core accessing flash in esp_restart 2025-03-07 20:27:17 +08:00
Island 72c031513a Merge branch 'change/ble_update_lib_20250217_v5.2' into 'release/v5.2'
change(ble): [AUTO_MR] 20250217 - Update ESP BLE Controller Lib (v5.2)

See merge request espressif/esp-idf!37129
2025-03-07 19:31:09 +08:00
Song Ruo Jing c1c62cb16e docs(ledc): add notes for ledc_set_fade_with_time API reference
Closes https://github.com/espressif/esp-idf/issues/15085
2025-03-07 17:37:55 +08:00
Song Ruo Jing 2c9fa3771e fix(ledc): left-off gamma ram registers should be cleared
Hardware reads in (range_number+1) fade parameter registers, which could
cause output waveform error.
2025-03-07 17:31:08 +08:00
Song Ruo Jing 4ba58cd22b fix(ledc): updated docs for esp32h2 eco5 bugfix 2025-03-07 17:31:08 +08:00
Abhinav Kudnar 5fb250c829 fix(nimble): Exposed the ble_gap_wl_tx_add API to add a device in whitelist 2025-03-07 14:32:34 +05:30
Jiang Jiang Jian d2f17920c9 Merge branch 'esp32/run_panic_debug_v5.2' into 'release/v5.2'
fix(esp32): Fixed qa program may fail issue when cpu 240m (v5.2)

See merge request espressif/esp-idf!37234
2025-03-07 10:51:40 +08:00
Jiang Jiang Jian f715702935 Merge branch 'bugfix/fix_some_wifi_bugs_250303_v5.2' into 'release/v5.2'
Bugfix/fix some wifi bugs 250303 v5.2(Backport v5.2)

See merge request espressif/esp-idf!37426
2025-03-07 10:45:04 +08:00
Roland Dobai 6c6ea2750c Merge branch 'fix/remove-unnecessary-select_v5.2' into 'release/v5.2'
fix(esp_system): Remove unnecessary select from esp_system/Kconfig (v5.2)

See merge request espressif/esp-idf!37522
2025-03-07 02:21:43 +08:00
Alexey Gerenkov ec026e2c05 Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20250226_v5.2' into 'release/v5.2'
feat(tools): update openocd version to v0.12.0-esp32-20250226 (v5.2)

See merge request espressif/esp-idf!37528
2025-03-06 21:53:41 +08:00
Sudeep Mohanty ed720503fb fix(panic_handler): Updated panic handler to use RTC WDT
This commit updates the following:
- Updates the panic handler to use only the RTC WDT to reset the system.
- Refactors some of the panic handler code.
- Updates Bluetooth files where in they now feed the WDTs instead of
  reconfiguring them.
- Removes some unnecessary configuration of WDTs from various files.
- Added a unit test to verify that the system does not lock up when the
  panic handler is stuck.
- Updates the memprot unit tests to work with the refactored panic
  handler.

Closes https://github.com/espressif/esp-idf/issues/15166
Closes https://github.com/espressif/esp-idf/issues/15018
Closes https://github.com/espressif/esp-idf/issues/10110
2025-03-06 09:06:53 +01:00
Rahul Tank 96876be6c7 Merge branch 'bugfix/fix_sc_only_pairing_v5.2' into 'release/v5.2'
fix(nimble): Fix SC only pairing failure (v5.2)

See merge request espressif/esp-idf!37534
2025-03-06 15:25:08 +08:00
chenjianhua e4b8dba8fd feat(bt): Update bt lib for ESP32-C3 and ESP32-S3(723439d)
- Added BLE controller debug log trace
- Added BLE controller log module
2025-03-06 14:48:31 +08:00
Zhao Wei Liang 3283d9e55c feat(ble): add a debug way to retain scene on ESP32-C6 2025-03-06 14:47:31 +08:00
zwl a7fc123850 fix(ble): fixed common kconfig error when controller enable only 2025-03-06 14:47:20 +08:00
cjin 894cd1dfa2 change(ble): update esp32c6 lib to 7ead2d29 2025-03-06 14:38:11 +08:00
cjin c26c5e5fee change(ble): update esp32h2 lib to 7ead2d29 2025-03-06 14:38:11 +08:00
zwl b1a4aeb539 feat(ble): implement ble capture info user handler on ESP32-C6 and ESP32-H2 2025-03-06 14:38:11 +08:00
Shen Weilong 238c71b3da change(ble): Supported cuttable architecture for ble 2025-03-06 14:38:11 +08:00
Island ac5760d28e Merge branch 'change/ble_update_20250221_v5.2' into 'release/v5.2'
Combined backport MR for BLE Lib & Feature Updates

See merge request espressif/esp-idf!37188
2025-03-06 11:49:38 +08:00
Erhan Kurubas 4109316502 feat(tools): update openocd version to v0.12.0-esp32-20250226 2025-03-05 15:46:10 +01:00
Rahul Tank e54e400f25 fix(nimble): Fix SC only pairing failure 2025-03-05 19:42:52 +05:30
Jan Beran e12ecc375c fix(esp_system): Remove unnecessary select from esp_system/Kconfig 2025-03-05 15:09:36 +01:00
Island 3d8f6f1cff Merge branch 'feat/ble_read_long_value_v5.2' into 'release/v5.2'
feat(ble/bluedroid): Add Read Long Characteristic Values example (v5.2)

See merge request espressif/esp-idf!37487
2025-03-05 20:06:55 +08:00
Island 0de2a4c27b Merge branch 'feat/optimize_ble_config_reduce_bin_v5.2' into 'release/v5.2'
Feat/optimize bluedroid host config and reduce bin size (v5.2)

See merge request espressif/esp-idf!37259
2025-03-05 15:46:14 +08:00
Rahul Tank 4fdc80dc81 Merge branch 'feat/added_change_to_ble_spp_client_v5.2' into 'release/v5.2'
feat(nimble): Allow BLE SPP Client to subscribe to the server (v5.2)

See merge request espressif/esp-idf!37457
2025-03-05 15:14:27 +08:00
Island 04699f3e40 Merge branch 'bugfix/fix_ble_kconfig_v5.2' into 'release/v5.2'
fix(ble/controller): Fix BLE Kconfig on ESP32 to avoid unexpected behavior (v5.2)

See merge request espressif/esp-idf!37420
2025-03-05 15:08:19 +08:00
Shreeyash 67d65b783b feat(nimble): Allow BLE SPP Client to subscribe to the server 2025-03-05 11:41:25 +05:30
Rahul Tank 31fb0693b1 Merge branch 'bugfix/fix_link_estab_compile_failure_v5.2' into 'release/v5.2'
fix(nimble): Handle probable release breaking change (v5.2)

See merge request espressif/esp-idf!37436
2025-03-05 14:09:48 +08:00
Zhang Hai Peng 4b43078f42 feat(ble/bluedroid): Add Read Long Characteristic Values example
(cherry picked from commit 32e4fb79e8)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-03-04 22:13:30 +08:00
Marius Vikhammer 1ab38fafe5 Merge branch 'fix/memory-utils-esp_ptr_in_rtc_dram_fast_v5.2' into 'release/v5.2'
fix(esp_hw_support): esp_ptr_in_rtc_iram_fast check to return false (backport v5.2)

See merge request espressif/esp-idf!36931
2025-03-04 15:55:17 +08:00
Jiang Jiang Jian 15f09910b1 Merge branch 'docs/fix_gps_broken_link_v5.2' into 'release/v5.2'
docs(examples): fixed broken link in uart example readme (v5.2)

See merge request espressif/esp-idf!37151
2025-03-04 11:02:31 +08:00
Jiang Jiang Jian 64c7909c0b Merge branch 'fix/memory-utils-ptr-executable_v5.2' into 'release/v5.2'
fix(memory-utils): Missing case in esp_ptr_executable logic (backport v5.2)

See merge request espressif/esp-idf!37099
2025-03-04 11:02:01 +08:00
Jiang Jiang Jian 2bde2d8e30 Merge branch 'fix/usb-cdc-non-blocking-read_v5.2' into 'release/v5.2'
fix(esp_vfs_console): USB CDC read when non blocking (backport v5.2)

See merge request espressif/esp-idf!36748
2025-03-04 11:01:27 +08:00
Jiang Jiang Jian 33a97b8ea1 Merge branch 'fix/esp-event-profiling_v5.2' into 'release/v5.2'
fix(esp_event): Fix event loop profiling in handler_execute function (backport v5.2)

See merge request espressif/esp-idf!36691
2025-03-04 11:01:02 +08:00
Jiang Jiang Jian 4e30b88527 Merge branch 'fix/esp-log-put-function-in-iram_v5.2' into 'release/v5.2'
fix(log): Modified linker script to move functions from flash to iram (backport v5.2)

See merge request espressif/esp-idf!36668
2025-03-04 11:00:37 +08:00
Jiang Jiang Jian 511423cd2e Merge branch 'bugfix/storage_generic_pytests_v5.2' into 'release/v5.2'
fix(ci): Removed storage related entries in known generate test child pipeline warnings (v5.2)

See merge request espressif/esp-idf!36686
2025-03-04 11:00:24 +08:00
Zhou Xiao 2ad201f7e7 change(ble): [AUTO_MR] Update lib_esp32h2 to 1d7eebaf 2025-03-04 10:28:06 +08:00
Alexey Gerenkov f038c00a5b Merge branch 'fix/coredump_note_section_alignment_v5.2' into 'release/v5.2'
Fix/coredump note section headers and alignments (v5.2)

See merge request espressif/esp-idf!36882
2025-03-04 00:12:41 +08:00
Alexey Gerenkov 12901ff20b Merge branch 'fix/coredump_test_uart_data_missing_v5.2' into 'release/v5.2'
Fix missing coredump uart data in tests (v5.2)

See merge request espressif/esp-idf!36713
2025-03-04 00:12:14 +08:00
Jiang Jiang Jian 1e6a700601 Merge branch 'bugfix/check_ssid_before_sa_query_v5.2' into 'release/v5.2'
fix(esp_wifi): Check SSID from Assoc Req before starting SA Query (Backport v5.2)

See merge request espressif/esp-idf!37196
2025-03-03 17:14:34 +08:00
Zhou Xiao d74bc5946a fix(ble): fix flushout and sync issues 2025-03-03 16:36:40 +08:00
zhanghaipeng 82d0e358c8 fix(ble/bluedroid): Added SPI output support for Bluedroid host log 2025-03-03 16:36:40 +08:00
zhanghaipeng 21c9961dd8 fix(ble/bluedroid): Support SPI log output options for HCI 2025-03-03 16:36:40 +08:00
Zhou Xiao 11dc85f80b feat(ble): add printf and write with timestamp interface for ble log spi out 2025-03-03 16:36:40 +08:00
Zhou Xiao 50b5970d0f feat(ble): support ble log spi out for ESP32-C3 and ESP32-S3 2025-03-03 16:36:40 +08:00
Zhou Xiao e45ce70f1d feat(ble): support ble log spi out for ESP32 2025-03-03 16:36:40 +08:00
Zhou Xiao be79a549c4 change(ble): update ble log spi out config for ESP32-H2 2025-03-03 16:36:40 +08:00
Zhou Xiao c3785f3a0d change(ble): update ble log spi out config for ESP32-C6 2025-03-03 16:36:40 +08:00
Zhou Xiao 79f582adaa change(ble): update ble log spi out config for ESP32-C2 2025-03-03 16:36:40 +08:00
Zhou Xiao 54e3f7c29c feat(ble): improved ble log spi output interface to support multisource log 2025-03-03 16:36:40 +08:00
Zhou Xiao 3102c4c94e feat(ble): support esp ble controller spi output interface for ESP32-H2
(cherry picked from commit 9c98c7e040)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-03-03 16:36:40 +08:00
Zhou Xiao 8b22be3606 feat(ble): support esp ble controller spi output interface for ESP32-C6
(cherry picked from commit 58b8775f95)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-03-03 16:36:40 +08:00
Zhou Xiao 36331ad702 feat(ble): support esp ble controller spi output interface for ESP32-C2
(cherry picked from commit 0b57f8ae87)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-03-03 16:36:40 +08:00
Zhou Xiao b47e85270d feat(ble): add spi output interface for esp ble controller log 2025-03-03 16:36:40 +08:00
Zhou Xiao 0977431d68 feat(ble): support enhanced controller log capabilities on ESP32-C6 and ESP32-H2
(cherry picked from commit f598976c6b)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-03-03 16:36:40 +08:00
Zhou Xiao 30a06078c8 feat(ble): add channel assessment and enhanced connect function on ESP32-H2
(cherry picked from commit 0ffac92586)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-03-03 16:36:39 +08:00
zwl 0e4526f93b feat(ble): add channel assessment and enhanced connect function on ESP32-C6 2025-03-03 16:36:39 +08:00
zwl b2f1716ef5 change(ble): [AUTO_MR] Update lib_esp32c6 to 1d7eebaf 2025-03-03 16:36:39 +08:00
Zhou Xiao dc3814175f feat(ble): support enhanced controller log capabilities on ESP32-C2
(cherry picked from commit bbcb4a2e1f)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-03-03 16:36:39 +08:00
Zhou Xiao 0665195564 change(ble): update esp32c2 rom ld file
(cherry picked from commit e5feba6ed3)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-03-03 16:36:39 +08:00
Zhou Xiao b98c02604b change(ble): [AUTO_MR] Update lib_esp32c2 to 7b7ee440
(cherry picked from commit c263c75897)

Co-authored-by: zhouxiao <zhouxiao@espressif.com>
2025-03-03 16:36:39 +08:00
Rahul Tank 8e0264c2e6 fix(nimble): Handle probable release breaking change
link_estab event may be handled by customers in application and the previous would break it.
Revert few changes so as to not break the customer's code
2025-03-03 12:39:56 +05:30
Sajia f70b9ed99e fix(esp_wifi): Check SSID from Assoc Req before starting SA Query 2025-03-03 14:51:24 +08:00
Jiang Jiang Jian 590682f8c5 Merge branch 'fix/incorrect_console_open_and_close_behaviour_v5.2' into 'release/v5.2'
fix(storage/vfs_console): stop new console opens from overwriting existing fds (v5.2)

See merge request espressif/esp-idf!35269
2025-03-03 12:01:32 +08:00
Jiang Jiang Jian d661664106 Merge branch 'fix/fix_ot_uart_init_bug_v5.2' into 'release/v5.2'
fix(openthread): fix a bug of openthread uart init port (v5.2)

See merge request espressif/esp-idf!37325
2025-03-03 12:00:06 +08:00
Jiang Jiang Jian 8385f47948 Merge branch 'feat/add_ot_br_lib_check_case_v5.2' into 'release/v5.2'
feat(openthread): add br library check case (v5.2)

See merge request espressif/esp-idf!36887
2025-03-03 11:56:46 +08:00
Jiang Jiang Jian 499dd676a9 Merge branch 'bugfix/h2_ble_timer_clk_enable_fix_v5.2' into 'release/v5.2'
fix: H2 ble timer clk enable issue. (v5.2)

See merge request espressif/esp-idf!36543
2025-03-03 11:56:20 +08:00
Jiang Jiang Jian b60bf2c552 Merge branch 'feature/support_hw_reset_when_handling_rcp_failure_v5.2' into 'release/v5.2'
feat(openthread): support hardware reset RCP while processing RCP failure (v5.2)

See merge request espressif/esp-idf!36555
2025-03-03 11:55:11 +08:00
Jiang Jiang Jian dc1e3c7265 Merge branch 'feat/add_callback_for_esp_ot_radio_spinel_init_v5.2' into 'release/v5.2'
feat(openthread): add an API to set rcp version string(v5.2)

See merge request espressif/esp-idf!36598
2025-03-03 11:54:20 +08:00
Jiang Jiang Jian fa7be7cb3d Merge branch 'fix/ci_restart_avahi_daemon_v5.2' into 'release/v5.2'
fix(ci): restart avahi-daemon in otbr service discovery test case (v5.2)

See merge request espressif/esp-idf!36435
2025-03-03 11:54:00 +08:00
Jiang Jiang Jian bd186a3fb0 Merge branch 'bugfix/ifdef_cplusplus_bracket_v5.2' into 'release/v5.2'
bugfix(wifi): Add missing brackets in the C++ guard (Backport v5.2)

See merge request espressif/esp-idf!36847
2025-03-03 11:52:08 +08:00
Jiang Jiang Jian 07f409ec8a Merge branch 'doc/add_wakeup_source_usage_precautions_v5.2' into 'release/v5.2'
change(doc): added more usage notes & warings about PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP (v5.2)

See merge request espressif/esp-idf!37393
2025-03-03 11:48:22 +08:00
muhaidong a6b8e412a7 fix(coex): fix disable external coex fail issue 2025-03-03 11:40:36 +08:00
muhaidong ef14eb45f1 feat(phy): update libphy for RXDC cal opt, no antenna current opt, add cca api 2025-03-03 11:34:22 +08:00
Island 895e05db19 Merge branch 'bugfix/fix_blufi_crash_v5.2' into 'release/v5.2'
fix(blufi): Fixed crash issue during memcpy in example (v5.2)

See merge request espressif/esp-idf!36550
2025-03-03 11:32:06 +08:00
muhaidong 85f9921ba1 feat(phy): add gpio cmd for cert test 2025-03-03 11:32:06 +08:00
Island d309e7c38a Merge branch 'feat/support_ble_debug_with_gpio_v5.2' into 'release/v5.2'
Support change HID task size by Kconfig in HID example (v5.2)

See merge request espressif/esp-idf!36997
2025-03-03 11:32:00 +08:00
Island ba66243885 Merge branch 'bugfix/fix_ble_report_len_v5.2' into 'release/v5.2'
fix(ble/bluedroid): Fix adv data and scan rsp data not reported together in BLE active scan (v5.2)

See merge request espressif/esp-idf!37201
2025-03-03 11:31:56 +08:00
zhanghaipeng 92610606be fix(ble/controller): Fix BLE Kconfig on ESP32 to avoid unexpected behavior 2025-03-03 11:17:58 +08:00
morris 95c55f68b5 Merge branch 'fix/usb_host_enum_unchecked_return_coverity_backport_v5.2' into 'release/v5.2'
fix(usb_host): Fixed unchecked return value in enum driver (coverity) (backport to v5.2)

See merge request espressif/esp-idf!36671
2025-03-03 10:56:01 +08:00
morris 86210328a7 Merge branch 'feat/add_temperature_calib_v5.2' into 'release/v5.2'
feat(temperature_sensor): Add temperature sensor calibration support(backport v5.2)

See merge request espressif/esp-idf!37315
2025-03-03 10:47:19 +08:00
akshat 6312c5eebe bugfix(wifi): Fix header file errors and remove esp_supplicant from check_public_headers_exceptions.txt 2025-03-02 17:07:46 +08:00
akshat f7c0a60a32 bugfix(wifi): Add missing brackets in the C++ guard
Closes https://github.com/espressif/esp-idf/issues/14991
2025-03-02 17:07:46 +08:00
Rocha Euripedes 37b089ee8d Merge branch 'fix/test_app_certificate_v5.2' into 'release/v5.2'
Regenerate certificates for testing (v5.2)

See merge request espressif/esp-idf!36674
2025-03-02 17:00:35 +08:00
Euripedes Rocha 6e1423736e fix(mqtt): Regenerate certificates for testing
- Previous fix ommited one of the client certificates by mistaque.
- This regenerates all certificates to clean that up.
2025-03-02 16:51:21 +08:00
Rahul Tank f1b3eab741 Merge branch 'bugfix/deprecate_link_estab_v5.2' into 'release/v5.2'
fix(nimble): Deprecate link_estab event (v5.2)

See merge request espressif/esp-idf!37059
2025-03-01 15:12:28 +08:00
Mahavir Jain 1beb0bcd79 Merge branch 'fix/fetch_image_hdr_v5.2' into 'release/v5.2'
fix(esp_system): Correct address used to fetch application image header (v5.2)

See merge request espressif/esp-idf!34629
2025-02-28 21:34:33 +08:00
morris e6f49c0480 Merge branch 'feat/spi_std_timing_and_bit_trans_v5.2' into 'release/v5.2'
feat(driver_spi): support adjust master rx to standard timing (v5.2)

See merge request espressif/esp-idf!36401
2025-02-28 18:40:13 +08:00
morris 602fe5b9f4 Merge branch 'fix/spi_master_halt_using_rc_fast_v5.2' into 'release/v5.2'
fix(spi_master): fix spi halt when remove device who using rc_fast (v5.2)

See merge request espressif/esp-idf!37005
2025-02-28 18:37:52 +08:00
morris 2af2884ebd Merge branch 'fix/build_when_rom_patch_disable_v5.2' into 'release/v5.2'
fix(spi_flash): Fix build fail when rom_patch config disabled (backport v5.2)

See merge request espressif/esp-idf!37106
2025-02-28 18:00:23 +08:00
morris d08c883ec3 Merge branch 'feat/mmu_find_paddr_caps_by_any_offset_v5.2' into 'release/v5.2'
mmu: supported find paddr caps by any paddr offset (v5.2)

See merge request espressif/esp-idf!36840
2025-02-28 17:59:56 +08:00
Roland Dobai 75a735fdc7 Merge branch 'fix/ci_upload_gdbinit_files_v5.2' into 'release/v5.2'
fix(ci): upload generated gdbinit files

See merge request espressif/esp-idf!37374
2025-02-28 17:36:52 +08:00
Wang Meng Yang 5670a06d83 Merge branch 'feat/add_vsc_to_support_test_v5.2' into 'release/v5.2'
feat(bt): add vendor hci command and event to support test (v5.2)

See merge request espressif/esp-idf!36569
2025-02-28 17:35:45 +08:00
Marius Vikhammer b8e6e5389d Merge branch 'bugfix/remove_wdt_both_cpus_test_v5.2' into 'release/v5.2'
test(panic): remove WDT both CPU test (v5.2)

See merge request espressif/esp-idf!36622
2025-02-28 17:30:53 +08:00
wuzhenghui 7b100e98b7 change(doc): added more usage notes & warings about PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP 2025-02-28 16:47:40 +08:00
Roland Dobai 5e577dcd5a Merge branch 'fix/ldgen_interm_no_secs_v5.2' into 'release/v5.2'
fix(ldgen): don't emit intermediate placements without sections (v5.2)

See merge request espressif/esp-idf!36969
2025-02-28 16:08:50 +08:00
Roland Dobai 7de62b3c09 Merge branch 'fix/docker_qemu_seg_v5.2' into 'release/v5.2'
CI: Fixed docker build (v5.2)

See merge request espressif/esp-idf!37368
2025-02-28 16:08:36 +08:00
Mahavir Jain e2dd6f8a6f Merge branch 'bugfix/memprot_s2_intr_peri1_v5.2' into 'release/v5.2'
fix(security): ESP32S2 memory protection check for Peri1 RTCSLOW interrupt (v5.2)

See merge request espressif/esp-idf!37119
2025-02-28 15:52:29 +08:00
Mahavir Jain 015e4f1b49 Merge branch 'feat/bootloader_nvs_read_encrypted_v5.2' into 'release/v5.2'
fix(esptool_py): NVS partition being incorrectly marked as encrypted by the build system (v5.2)

See merge request espressif/esp-idf!36681
2025-02-28 15:51:39 +08:00
Mahavir Jain c1ef20b7f4 Merge branch 'bugfix/http_client_select_read_error_v5.2' into 'release/v5.2'
fix(tcp_tranport): Fix handling of select() return value (v5.2)

See merge request espressif/esp-idf!37256
2025-02-28 15:51:31 +08:00
Rahul Tank 172e5a317a fix(nimble): Keep only BLE_GAP_EVENT_CONNECT gap event 2025-02-28 13:14:41 +05:30
Rahul Tank 4459b5f44a Merge branch 'bugfix/fix_issues_18022005' into 'release/v5.2'
fix(nimble) : Fix few nimble issues v5.2

See merge request espressif/esp-idf!37071
2025-02-28 15:40:51 +08:00
Jiang Jiang Jian 11686940ae Merge branch 'bugfix/fix_cache_count_flash_pages_patchs_return_wrong_value_v5.2' into 'release/v5.2'
fix(rom): Fix s2 and s3 Cache_Count_Flash_Pages rom function wrapper (v5.2)

See merge request espressif/esp-idf!37157
2025-02-28 15:30:09 +08:00
Jiang Jiang Jian 28ebdd472d Merge branch 'fix/fix_bad_dslp_param_after_lightsleep_v5.2' into 'release/v5.2'
fix(esp_hw_support): Fixed the issue that light sleep destroyed the parameters of subsequent deep sleep (v5.2)

See merge request espressif/esp-idf!37304
2025-02-28 15:25:33 +08:00
Jiang Jiang Jian d6c2868bcd Merge branch 'fix/add_sleep_duration_check_for_timer_wakeup_v5.2' into 'release/v5.2'
fix(esp_hw_support): add timer wakeup sleep duration check (v5.2)

See merge request espressif/esp-idf!37012
2025-02-28 15:24:54 +08:00
Jiang Jiang Jian 2dd257d162 Merge branch 'fix/fix_s2_s3_rtc_iomux_clock_management_v5.2' into 'release/v5.2'
fix(esp_hw_support): fix esp32s2/esp32s3 RTC IOMUX clock management (v5.2)

See merge request espressif/esp-idf!37168
2025-02-28 15:24:28 +08:00
Jiang Jiang Jian 41c2b799ad Merge branch 'bugfix/sdp_uuid16_match_err_v5.2' into 'release/v5.2'
fix(bt): Fix the incorrect record found using uuid16 search(v5.2)

See merge request espressif/esp-idf!36851
2025-02-28 15:23:59 +08:00
Jiang Jiang Jian a15149b557 Merge branch 'feat/esp32_set_get_bt_lpclk_src_v5.2' into 'release/v5.2'
feat(bt): Added API to get/set low power clock source(v5.2)

See merge request espressif/esp-idf!36565
2025-02-28 15:23:08 +08:00
Jiang Jiang Jian cbdbdbaf6e Merge branch 'feat/wait_pll_stable_after_sleep_wakeup_fix_xtal_v5.2' into 'release/v5.2'
feat(esp_hw_support): wait pll stable after sleep wakeup (v5.2)

See merge request espressif/esp-idf!36024
2025-02-28 15:22:41 +08:00
Jiang Jiang Jian 47f26b4e0b Merge branch 'docs/fix_some_coexist_doc_issue_v5.2' into 'release/v5.2'
docs(coex): update rf coexistence documents (v5.2)

See merge request espressif/esp-idf!37346
2025-02-28 15:22:07 +08:00
Jiang Jiang Jian 1657868cf6 Merge branch 'feat/add_inq_page_coex_schm_v5.2' into 'release/v5.2'
feat(coex): add coexist scheme for bt inquiry/page coexist with wifi

See merge request espressif/esp-idf!36990
2025-02-28 15:20:43 +08:00
Jiang Jiang Jian 8300a1efe5 Merge branch 'bugfix/fix_delete_queue_error_in_espnow_example_v5.2' into 'release/v5.2'
fix(wifi): fix the delete queue error in espnow exapmle (v5.2)

See merge request espressif/esp-idf!37016
2025-02-28 15:20:17 +08:00
Jiang Jiang Jian d7b13d0ed2 Merge branch 'bugfix/mem_leak_sae_pk_v5.2' into 'release/v5.2'
fix(wifi): Bugfix memory leak due to sae public key (v5.2)

See merge request espressif/esp-idf!36927
2025-02-28 15:18:22 +08:00
Jiang Jiang Jian 90be932861 Merge branch 'bugfix/wps_scan_freq_v5.2' into 'release/v5.2'
fix(esp_wifi): Reduce scan frequency in WPS (v5.2)

See merge request espressif/esp-idf!36822
2025-02-28 15:17:47 +08:00
Jiang Jiang Jian 404f5d505e Merge branch 'bugfix/analyzer_issues_supplicant_v5.2' into 'release/v5.2'
fix(esp_wifi): fix some analyzer issues (v5.2)

See merge request espressif/esp-idf!36832
2025-02-28 15:17:02 +08:00
Jiang Jiang Jian 28a449979d Merge branch 'change/default_value_for_esp_coex_vsc_in_bluedroid_v5.2' into 'release/v5.2'
change(bt): Set default value for BT_BLUEDROID_ESP_COEX_VSC conditionally (v5.2)

See merge request espressif/esp-idf!36736
2025-02-28 15:16:15 +08:00
Jiang Jiang Jian 4381170553 Merge branch 'bugfix/remove_unused_sco_state_v5.2' into 'release/v5.2'
Bugfix/remove unused sco state (v5.2)

See merge request espressif/esp-idf!36731
2025-02-28 15:15:44 +08:00
chaijie@espressif.com b962d6b8bb fix(esp32): Fixed qa program may fail issue when cpu 240m (v5.2) 2025-02-28 14:45:27 +08:00
Alexey Lapshin 90120f30e1 fix(ci): upload generated gdbinit files 2025-02-28 10:27:31 +07:00
Roland Dobai 548c6a2f38 ci(github): Fixed docker build caused by Qemu segmentation fault
Works around issue from
https://github.com/espressif/esp-idf/actions/runs/13531037397/job/37813060700
caused by Qemu segmentation fault.

    Errors were encountered while processing: libc-bin

The workaround is from https://github.com/docker/setup-qemu-action/issues/198.
2025-02-27 13:05:19 +01:00
C.S.M 9c4b822ab1 feat(temperature_sensor): Add temperature sensor calibration support 2025-02-27 18:31:05 +08:00
Xu Si Yu dc00dd37dc fix(openthread): fix a bug of openthread uart init port 2025-02-27 15:43:29 +08:00
zhanghaipeng 0efea66c6d fix(ble): Update bt lib for ESP32(2a2631f)
- Support ESP32 BLE GPIO DEBUG
2025-02-27 14:56:58 +08:00
Michael (XIAO Xufeng) 17c86b4adb Merge branch 'update/version_5_2_5' into 'release/v5.2'
Update version to 5.2.5

See merge request espressif/esp-idf!37316
2025-02-27 14:25:52 +08:00
linruihao 144b0529ab docs(coex): update rf coexistence documents
- remove BLE connecting state in coexistence scenario
- remove WIFI section in H2 docs
2025-02-27 11:16:29 +08:00
Shu Chen 21a347f659 docs(coex): add the supported coexistence scenario for Wi-Fi and 802.15.4 2025-02-27 11:14:15 +08:00
Xiao Xufeng 9b74d1aca5 change(version): Update version to 5.2.5 2025-02-26 18:01:09 +08:00
wuzhenghui b2c8dcacb0 fix(esp_hw_support): fix lightsleep destroys deepsleep rtc parameters 2025-02-26 16:57:41 +08:00
zhiweijian 0624633c8a feat(ble/bluedroid): reduce bluedrois host bin size and disable BLE_HOST_BG_CONNECT_EN 2025-02-25 19:21:15 +08:00
zhiweijian 76a75eb625 feat(ble/bluedroid): disable bluedroid host unused functions 2025-02-25 19:20:56 +08:00
zhiweijian 1fa244336d feat(bt/bluedroid): optimize bluedroid menuconfig 2025-02-25 16:53:45 +08:00
zhiweijian 44c93fcc0b feat(bt/bluedroid): delete unused host congest check 2025-02-25 16:53:36 +08:00
nilesh.kale d09f48c97b fix(tcp_tranport): Fix handling of select() return value
When both readset/writeset and errset are set for a single socket,
the HTTP client incorrectly handled the condition, causing premature termination.
Added a check to ensure readset/writeset is prioritized before errset.

Closes https://github.com/espressif/esp-idf/issues/14673
2025-02-25 13:29:40 +05:30
Island 260c81d5c0 Merge branch 'change/support_rssi_comp_in_esp32h2_ble' into 'release/v5.2'
feat(ble): support rssi comp for esp32h2

See merge request espressif/esp-idf!37146
2025-02-25 10:34:55 +08:00
zhanghaipeng 0fcca4ec3c fix(ble): Update bt lib for ESP32(194dd63)
- Fix the issue where disconnection events were not reported as a slave.
- Enhance Access Address validation in compatibility mode.
2025-02-23 17:44:29 +08:00
gongyantao 4f8f92aa2d feat(bt): add vendor hci command and event to support test
- add afh related vendor hci command and event
- add vendor event mask command
2025-02-23 17:44:29 +08:00
linruihao 6eaf8815db feat(bt): add coexist scheme status support for bt page 2025-02-23 17:44:29 +08:00
Michael (XIAO Xufeng) a250f4ee2c Merge branch 'update/version_5_2_4' into 'release/v5.2'
Update version to 5.2.4

See merge request espressif/esp-idf!37141
2025-02-21 17:24:45 +08:00
Zhang Hai Peng 339b829126 fix(ble/bluedroid): Fix adv data and scan rsp data not reported together in BLE active scan
(cherry picked from commit 7f2cedc048)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-02-21 16:13:40 +08:00
cjin 89dcc4a113 feat(ble): support rssi comp for esp32h2 2025-02-21 11:50:38 +08:00
wuzhenghui aff8ad355b fix(esp_hw_support): fix esp32s2/esp32s3 RTC IOMUX clock management 2025-02-21 10:18:27 +08:00
wuzhenghui 6ed9e39ffa fix(esp_driver_gpio): manage lp_io module clock by driver
Closes https://github.com/espressif/esp-idf/issues/13683
2025-02-20 19:46:22 +08:00
Tomasz Kramkowski 84a162aba7 fix(rom): Fix s2 and s3 Cache_Count_Flash_Pages rom function wrapper
The rom function on the s2 and s3 only counts one page for any pages
which are mapped to page 0 of flash as the Cache_Flash_To_SPIRAM_Copy
function attempts to map all flash page 0 mapped pages to one PSRAM
page.

As this function can be called for multiple regions, it needs to track
if a page mapped to page 0 has previously been accounted for by a
previous call. It does this using the page0_mapped in-out parameter.
This logic contains an error:

```
if (*page0_mapped == 0) {
    // BUG: If page0_count is 0, 1 is still added
    count = valid_flash_count + 1 - page0_count;
} else {
    count = valid_flash_count - page0_count;
}
*page0_mapped += page0_count;
return count;
```

The current Cache_Count_Flash_Pages wrapper in the idf attempts to
compensate for this bug by checking if the page0_mapped parameter was
changed by a call to the function and reducing the count if it has not.

This, however, will incorrectly over-compensate in situations where the
initial value of page0_mapped was not zero as the code above only
miscounts when it was zero.

This patch addresses the issue in this wrapper function by correctly
compensating for the bug only in cases where the final page0_mapped
value is 0.
2025-02-20 16:11:08 +08:00
Marius Vikhammer d4b41ab133 docs(examples): fixed broken link in uart example readme 2025-02-20 12:49:43 +08:00
Martin Vychodil 671dc31a32 fix(security): Fixed ESP32S2 memory protection check for Peri1 RTCSLOW interrupt
- fixes the issue found in https://github.com/espressif/esp-idf/issues/15359
- extends debug printouts in the related tests
2025-02-19 19:26:21 +01:00
Xiao Xufeng af4a98ba99 change(version): Update version to 5.2.4 2025-02-19 23:17:56 +08:00
C.S.M 084cb924f2 refactor(spi_flash): remove redundent flash suspend check 2025-02-19 16:59:30 +08:00
C.S.M 60b8013bc3 fix(spi_flash): Fix build fail when rom_patch config disabled,
Closes https://github.com/espressif/esp-idf/issues/15229
2025-02-19 16:58:59 +08:00
Guillaume Souchere 01d5ec1e16 fix(memory-utils): Missing case in esp_ptr_executable logic
esp_ptr_executable does not consider that the PSRAM and FLASH
memory mapping are not always matching.

Added a "pointer is in PSRAM" specific check in the logic to
fix the issue.
2025-02-19 08:41:03 +01:00
Shu Chen 0830c08e89 Merge branch 'support/ieee802154_get_rssi_comp_from_phy_v5.2' into 'release/v5.2'
feat(802.15.4): support ieee802154 get rssi comp from phylib (v5.2)

See merge request espressif/esp-idf!37053
2025-02-19 09:56:52 +08:00
Abhinav Kudnar 475ef1bb53 fix(nimble): Save the gatt context in case of preemption 2025-02-18 17:04:34 +05:30
zwx 31436bd626 feat(802.15.4): use btbb function to get rssi comp for h2 2025-02-18 12:11:00 +08:00
wanlei 1c93d41325 fix(spi_master): fix spi halt when remove device who using rc_fast 2025-02-18 11:29:04 +08:00
wuzhenghui 5435b614df fix(esp_hw_support): fix lp/hp clock wait time calculation 2025-02-17 20:49:15 +08:00
wuzhenghui cb169282bb change(esp_hw_support): wait pll calibration done in regdma link instead of wait fixed value 2025-02-17 20:47:55 +08:00
wuzhenghui 5e81eb6cf7 fix(esp_hw_support): add timer wakeup sleep duration check
Closes https://github.com/espressif/esp-idf/issues/15255
2025-02-17 19:57:11 +08:00
zhangyanjiao 28bc154e4c fix(wifi): fix the delete queue error in espnow exapmle
Closes https://github.com/espressif/esp-idf/issues/15383
2025-02-17 14:57:19 +08:00
Mitch Cairns 72c86ba35c feat(ble/bluedroid): Support change HID task size by Kconfig in HID example 2025-02-17 11:28:48 +08:00
Zhang Hai Peng 691f9131fc docs(ble/bluedroid): Optimize doc for implementation of a characteristic with 128 bit UUID
(cherry picked from commit fa40d971a5)

Co-authored-by: Erast  <78802792+MatoiDev@users.noreply.github.com>
2025-02-17 11:15:03 +08:00
Zhang Hai Peng 72527f85ea fix(ble/bluedroid): Don't log error on 16/128-bit UUID mixed descriptors
(cherry picked from commit fed1d41aa7)

Co-authored-by: Nebojša Cvetković <nebkat@gmail.com>
2025-02-17 11:15:01 +08:00
Zhang Hai Peng af002606a7 refactor(ble/bluedroid): Fix typos in gatt_sr.c
(cherry picked from commit 63b2dcc3a7)

Co-authored-by: Nebojsa Cvetkovic <nebkat@gmail.com>
2025-02-17 11:14:58 +08:00
Zhang Hai Peng be13df1104 fix(ble/bluedroid): Allow 0 length indications
(cherry picked from commit 9b5a52e2f7)

Co-authored-by: Nebojsa Cvetkovic <nebkat@gmail.com>
2025-02-17 11:14:54 +08:00
Zhang Hai Peng d096dc7cbe refactor(ble/bluedroid): Fix typos in bta_gatts_act.c
(cherry picked from commit a8041a9953)

Co-authored-by: Nebojsa Cvetkovic <nebkat@gmail.com>
2025-02-17 11:14:51 +08:00
Zhang Hai Peng bdef0e0cb4 fix(coredump): only clear high bit in PC when set
(cherry picked from commit eaefd0bd25)

Co-authored-by: Erhan Kurubas <erhan.kurubas@espressif.com>
2025-02-17 11:14:48 +08:00
liuning 56d0173011 feat(coex): add coexist scheme for bt inquiry/page coexist with wifi 2025-02-15 15:41:10 +08:00
Frantisek Hrbata 9a1eef2ccc fix(ldgen): don't emit intermediate placements without sections
When a symbol needs to be placed to a different target than the one
designated for the object file, the object file is expanded, which
includes the following steps:

1. Creating a new placement for the symbol's input section with the
   specified target.
2. Excluding the object placement from the orignal target.
3. Creating a new intermediate placement for the object for the original
   target, where its input sections are expanded, excluding the input
   section for the symbol.

Let's illustrate the object expansion process with the following example:

[sections:rodata]
entries:
    .rodata+
    .sdata2+
    .srodata+

[scheme:default]
entries:
    text -> flash_text
    rodata -> flash_rodata

[scheme:noflash]
entries:
    text -> iram0_text
    rodata -> dram0_data

[mapping:soc_pm]
archive: libsoc.a
entries:
    gpio_periph: GPIO_HOLD_MASK (noflash)

gpio_periph section headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .text             PROGBITS        00000000 000034 000000 00  AX  0   0  2
  [ 2] .data             PROGBITS        00000000 000034 000000 00  WA  0   0  1
  [ 3] .bss              NOBITS          00000000 000034 000000 00  WA  0   0  1
  [ 4] .rodata.GPIO_HOLD_MASK PROGBITS        00000000 000034 000058 00   A  0   0  4
  [ 5] .rodata.GPIO_PIN_MUX_REG PROGBITS        00000000 00008c 000058 00   A  0   0  4
  [ 6] .debug_info       PROGBITS        00000000 0000e4 0000d8 00      0   0  1
  [ 7] .rela.debug_info  RELA            00000000 0009d4 000108 0c   I 16   6  4
  [ 8] .debug_abbrev     PROGBITS        00000000 0001bc 000070 00      0   0  1
  [ 9] .debug_aranges    PROGBITS        00000000 00022c 000018 00      0   0  1
  [10] .rela.debug_aranges RELA            00000000 000adc 00000c 0c   I 16   9  4
  [11] .debug_line       PROGBITS        00000000 000244 0001ab 00      0   0  1
  [12] .debug_str        PROGBITS        00000000 0003ef 00022d 01  MS  0   0  1
  [13] .comment          PROGBITS        00000000 00061c 000030 01  MS  0   0  1
  [14] .note.GNU-stack   PROGBITS        00000000 00064c 000000 00      0   0  1
  [15] .riscv.attributes RISCV_ATTRIBUTES 00000000 00064c 000044 00      0   0  1
  [16] .symtab           SYMTAB          00000000 000690 000260 10     17  36  4
  [17] .strtab           STRTAB          00000000 0008f0 0000e1 00      0   0  1
  [18] .shstrtab         STRTAB          00000000 000ae8 0000d1 00      0   0  1

1. Creating a new placement
.dram0.data :
{
    *libsoc.a:gpio_periph.*(.rodata.GPIO_HOLD_MASK .sdata2.GPIO_HOLD_MASK .srodata.GPIO_HOLD_MASK)
}

2. Excluding the object placement
.flash.rodata :
{
    *(EXCLUDE_FILE(*libsoc.a:gpio_periph.*) .rodata.* ...)
}

3. Creating a new intermediate placement
.flash.rodata :
{
    *libsoc.a:gpio_periph.*(.rodata.GPIO_PIN_MUX_REG)
}

Now, let's do the same, but also move GPIO_PIN_MUX_REG to noflash with an updated mapping.

[mapping:soc_pm]
archive: libsoc.a
entries:
    gpio_periph: GPIO_HOLD_MASK (noflash)
    gpio_periph: GPIO_PIN_MUX_REG (noflash)

1. Creating a new placement
.dram0.data :
{
    *libsoc.a:gpio_periph.*(.rodata.GPIO_HOLD_MASK .sdata2.GPIO_HOLD_MASK .srodata.GPIO_HOLD_MASK)
    *libsoc.a:gpio_periph.*(.rodata.GPIO_PIN_MUX_REG .sdata2.GPIO_PIN_MUX_REG
                            .srodata.GPIO_PIN_MUX_REG)
}

2. Excluding the object placement
.flash.rodata :
{
    *(EXCLUDE_FILE(*libsoc.a:gpio_periph.*) .rodata.* ...)
}

3. Creating a new intermediate placement
.flash.rodata :
{
    *libsoc.a:gpio_periph.*
}

The *libsoc.a:gpio_periph.* entity in step 3 no longer has input
sections, as there are no remaining .rodata input sections in the object
file. The linker behavior for this mapping is to include all object
input sections that have not yet been placed as described in
https://sourceware.org/binutils/docs/ld.html#Input-Section-Basics
"If you use a file name without a list of sections, then all sections in
the input file will be included in the output section. This is not
commonly done, but it may by useful on occasion."

The map file for such mapping now contains following input sections

 .flash.rodata   0x3c0a0120    0x19b34
     *libsoc.a:gpio_periph.*()
     .debug_info    0x3c0b95bf       0xd8 esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .debug_abbrev  0x3c0b9697       0x70 esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .debug_aranges
                    0x3c0b9707       0x18 esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .debug_line    0x3c0b971f      0x1ab esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .debug_str     0x3c0b98ca      0x21a esp-idf/soc/libsoc.a(gpio_periph.c.obj)
                                    0x22d (size before relaxing)
     .comment       0x3c0b9ae4       0x30 esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .note.GNU-stack
                    0x3c0b9ae4        0x0 esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .riscv.attributes
                    0x3c0b9ae4       0x44 esp-idf/soc/libsoc.a(gpio_periph.c.obj)

This is incorrect, and such intermediate placement should not be
generated. This type of placement can be recognized because it is not
explicitly defined in the mapping and lacks input sections. We can
identify this in the significant function and prevent issuing commands
for such placement.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-02-14 12:18:23 +01:00
Laukik Hase b216535f73 fix(esp_system): Correct address used to fetch application image header 2025-02-14 16:38:56 +05:30
Jiang Jiang Jian beb054baad Merge branch 'bugfix/stack_corruption_btm_task_v5.2' into 'release/v5.2'
fix(esp_wifi): Fix stack curruption in btm task (v5.2)

See merge request espressif/esp-idf!36971
2025-02-14 19:02:20 +08:00
Kapil Gupta f40e875ece fix(esp_wifi): Fix stack curruption in btm task (v5.2) 2025-02-14 13:00:51 +05:30
Jiang Jiang Jian cc834de6b7 Merge branch 'bugfix/skip_memory_reordering_wpa2_semaphr_v5.2' into 'release/v5.2'
fix(esp_wifi): fixed stack corruption in WiFi tasks (v5.2)

See merge request espressif/esp-idf!36938
2025-02-14 14:30:56 +08:00
xiongweichao 8debf8cf32 fix(bt): Fixed SDP record integrity check bug 2025-02-14 10:29:25 +08:00
xiongweichao 53493fc99e fix(bt/bluedroid): fixed the format error of passkey printing 2025-02-14 10:29:25 +08:00
xiongweichao 353b860837 fix(bt/bluedroid): Fixed incorrect types of some variables in SDP 2025-02-14 10:29:24 +08:00
xiongweichao 99ee24a0bd fix(bt): Fix incorrect type returned when searching SAP record 2025-02-14 10:29:24 +08:00
xiongweichao af7c188bd8 fix(bt): Fix the incorrect record found using uuid16 search 2025-02-14 10:29:24 +08:00
Kapil Gupta 22dd269b53 fix(esp_wifi): Fix stack corruption in wpa3 task 2025-02-13 18:08:00 +05:30
Kapil Gupta 5d9db0b972 fix(esp_wifi): fixed Stack corruption in DPP task 2025-02-13 18:08:00 +05:30
Kapil Gupta 9fb88f83df fix(esp_wifi): fixed Stack corruption in WPS processing 2025-02-13 18:08:00 +05:30
Kapil Gupta d5f7c1253e fix(esp_wifi): Fixed memory corruption in wifi enterprise
Closes https://github.com/espressif/esp-idf/issues/15370
2025-02-13 18:07:46 +05:30
Jiang Jiang Jian 9841f23578 Merge branch 'bugfix/gpio_rom_patch_fix_v5.2' into 'release/v5.2'
fix(gpio): fix esp_rom_gpio_connect_out_signal for gpio num over 31 on esp32/s2 (v5.2)

See merge request espressif/esp-idf!36867
2025-02-13 20:32:42 +08:00
Guillaume Souchere fea593ab4b fix(esp_hw_support): esp_ptr_in_rtc_iram_fast check to return false
esp_ptr_in_rtc_iram_fast logic shoul dbe executed if
SOC_RTC_FAST_MEM_SUPPORTED is set but it should also be executed
if IRAM and DRAM region mapping is the same. Remove the
SOC_RTC_IRAM_LOW != SOC_RTC_DRAM_LOW part of the check.
2025-02-13 11:34:25 +01:00
Shreyas Sheth d87529d992 fix(wifi): Fixed memory leak occurring in SAE PK connection 2025-02-13 12:03:31 +05:30
Jiang Jiang Jian 7a778aefce Merge branch 'bugfix/add_bluedroid_init_migration_v5.2' into 'release/v5.2'
docs(bt/bluedroid): Added migration guide for bluedroid init API[backport v5.2]

See merge request espressif/esp-idf!36877
2025-02-12 11:18:40 +08:00
Jiang Jiang Jian b0f63c505b Merge branch 'bugfix/fix_wep_shared_auth_connect_fail_issue_v5.2' into 'release/v5.2'
fix(wifi): fix wep shared auth connect fail issue(Backport v5.2)

See merge request espressif/esp-idf!36871
2025-02-12 10:42:10 +08:00
yiwenxiu 19531e2166 feat(openthread): add br library check case 2025-02-12 09:34:02 +08:00
Erhan Kurubas 7aa691aaff fix(coredump): fix note section alignments 2025-02-11 17:00:12 +01:00
Erhan Kurubas f5363a3f7a fix(coredump): only clear high bit in PC when set 2025-02-11 16:53:56 +01:00
liqigan b528187291 docs(bt/bluedroid): Added migration guide for bluedroid init API
Closes https://github.com/espressif/esp-idf/issues/15352
2025-02-11 19:41:23 +08:00
muhaidong 2d900a63a2 fix(wifi): fix wep shared auth connect fail issue 2025-02-11 17:53:28 +08:00
Song Ruo Jing bfd7f7723f fix(gpio): fix esp_rom_gpio_connect_out_signal for gpio num over 31 on esp32/s2
Closes https://github.com/espressif/esp-idf/issues/15209
2025-02-11 16:05:35 +08:00
Armando 771bbf2f63 test(mmu): test can find paddr caps by any paddr offset 2025-02-11 15:57:25 +08:00
Jiang Jiang Jian f23a4dc52e Merge branch 'fix/stack_overuse_by_failure_retry_cnt_v5.2' into 'release/v5.2'
fix(wifi): Fix stack overflow when failure_retry_cnt is set in station configuration (Backport v5.2)

See merge request espressif/esp-idf!36836
2025-02-11 15:51:51 +08:00
zhanghaipeng bf50c0c197 fix(blufi): Enhance security in BLUFI example 2025-02-11 15:25:08 +08:00
Armando caca62543b feat(mmu): supported find paddr caps by any paddr offset
Closes https://github.com/espressif/esp-idf/issues/14988
2025-02-11 10:04:34 +08:00
Aditya Patwardhan 4c281f8eee Merge branch 'feature/esp32h2_eco5_ecc_v5.2' into 'release/v5.2'
feat(ecc): enable ECC constant time mode for ESP32-H2 ECO5 (v5.2)

See merge request espressif/esp-idf!36586
2025-02-11 09:54:03 +08:00
Sarvesh Bodakhe a01148d536 fix(wifi): Fix stack overflow when failure_retry_cnt is set
Fix issue of increased stack usage when failure_retry_cnt is set
and wifi driver internally retries connection attempts
2025-02-10 23:47:11 +05:30
Aditya Patwardhan b8b0046903 Merge branch 'feat/support_aes_pseudo_round_func_in_esp32h2_eco5_v5.2' into 'release/v5.2'
Support AES and XTS-AES's pseudo round function in ESP32H2-ECO5 (v5.2)

See merge request espressif/esp-idf!36466
2025-02-10 23:57:39 +08:00
Zhang Shuxian cc64fb4338 docs: Update CN translation for size.rst 2025-02-10 21:25:07 +05:30
Aditya Patwardhan e2086d518e feat(docs): Update minimizing binary size
The ESP32-H2 software countermeasure may not be necessary
        for ESP32-H2 v1.2 and above, this commit updates
        the relevant documentation
2025-02-10 21:25:07 +05:30
laokaiyao 6321c4c339 refactor(ecdsa): rely on efuse to get chip revision 2025-02-10 21:25:07 +05:30
Aditya Patwardhan 9b8a21d128 fix(soc): Fixed ECDSA register compatibility 2025-02-10 21:25:06 +05:30
Aditya Patwardhan 1c9146f0c2 fix(hal): Make the ECDSA countermeasure dynamically applicable
This commit makes the ECDSA countermeasure dynamically applicable
    across different revisions of the ESP32H2 SoC.
2025-02-10 21:24:58 +05:30
Kapil Gupta 01f906ca06 fix(esp_wifi): Add review comments and some cleanup 2025-02-10 19:45:40 +05:30
Jiang Jiang Jian a31e45a39d Merge branch 'revert/use_wpa3_ent_authmode_naming_v5.2' into 'release/v5.2'
revert(wifi): Revert support for WPA3 Enterprise authentication modes (Backport v5.2)

See merge request espressif/esp-idf!36799
2025-02-10 20:27:10 +08:00
Kapil Gupta c02e961133 fix(esp_wifi): fix some analyzer issues
Closes https://github.com/espressif/esp-idf/issues/15097
Closes https://github.com/espressif/esp-idf/issues/15098
Closes https://github.com/espressif/esp-idf/issues/15099
2025-02-10 15:47:07 +05:30
Kapil Gupta 0f48edcc35 fix(esp_wifi): Reduce scan frequency in WPS 2025-02-10 15:44:21 +05:30
David Cermak fddc0baced fix(esp_eth): Fix test code to unregister event correctly 2025-02-10 09:47:01 +01:00
David Cermak bcf635dcd5 fix(esp_event): Fix minor no-ISR post regression
from 15f6775f5d
2025-02-10 09:47:00 +01:00
Sarvesh Bodakhe f77aa29905 revert(wifi): Revert support for WPA3 Enterprise authentication modes
This commit reverts the support for 'WIFI_AUTH_WPA3_ENTERPRISE' and
'WIFI_AUTH_WPA2_WPA3_ENTERPRISE'.

This reverts commit d2ba44d9e1.
2025-02-10 16:32:42 +08:00
Jiang Jiang Jian d81b820331 Merge branch 'fix/fix_max_idle_priod_issue_v52' into 'release/v5.2'
fix(wifi): fix max idle period 1 issue

See merge request espressif/esp-idf!36577
2025-02-10 16:24:27 +08:00
xiongweichao 50073757f2 feat(bt): Added API to get/set low power clock source 2025-02-10 14:16:04 +08:00
Geng Yuchao 55f1ac37cc fix(esp32h2): H2 ble timer clk enable issue 2025-02-07 11:46:01 +08:00
radek.tandler 791003ea7f fix(nvs_partition_gen): Fixed sporadic failure of encryption keys 2025-02-06 15:22:38 +01:00
radek.tandler 91e0e36ffe fix(storage/nvs): Fixed failing test cases in example folder 2025-02-06 15:22:38 +01:00
radek.tandler cacc13873d fix(storage/vfs): Fixed failing test cases in test_apps 2025-02-06 15:22:33 +01:00
Guillaume Souchere 567469dd27 fix(esp_vfs_console): USB CDC read when non blocking
In non blocking mode, the read function is expected
to return weather data is available for reading or not.

In case data are available but the size does not match
the expected size, the function read should return whatever
data is available.

Previously, the function was returning -1 with errno set
to EWOULDBLOCK even if the size of data in the buffer was
less than the requested size. It would only return the
available data if the size in the buffer was greater or equal
to the requested size.

The implementation of cdcacm_read is modified to return the avilable
data from the buffer even is the size is lesser than the requested
size.
2025-02-06 08:57:38 +01:00
Mahavir Jain 84d2a8818c feat(ecc): enable ECC constant time mode for ESP32-H2 ECO5 2025-02-06 08:14:50 +05:30
Wang Mengyang 1b1f9e8d02 change(bt): Set default value for BT_BLUEDROID_ESP_COEX_VSC conditionally
- Set default value of BT_BLUEDROID_ESP_COEX_VSC to n if software coexistence is not required,
in host-controller combined Bluetooth stack configuration.
2025-02-05 10:16:20 +08:00
Wang Mengyang dc7964aa1a change(bt): Remove unused state variable for (e)SCO disconnect reason in Bluedroid 2025-02-05 10:09:06 +08:00
Erhan Kurubas 6465aef894 ci(coredump): collect all expected uart data first, then process lazily 2025-02-03 15:18:19 +01:00
Guillaume Souchere 0938688e9b fix(esp_event): Handler unregistration by itself issue
when esp_event_handler_unregister_with_internal cannot take
the loop mutex (e.g., when the handler unregisters itself),
create an event with a special base identifier and add it to
the queue of the corresponding loop to postpone the removal
of the handler from the list at a time when the loop mutex can be
successfully taken.
2025-01-30 10:52:30 +01:00
Guillaume Souchere d1a02e1854 fix(esp_event): Fix event loop profiling in handler_execute function
handler_execute function is looking to match the handler only in the
list of loop events but does not look in the base event handler list
nor the id event handler list. So unless the event handler is
registered to be triggered for all event bases and all event ids of
an event loop, its profiling fields (invoked and time) are not updated
when it is called.

This commit updates the search for the matching handler to also look
in base event list and ID event list.

Closes https://github.com/espressif/esp-idf/issues/15041
2025-01-30 10:51:38 +01:00
radek.tandler 0c69545f30 fix(ci): Removed storage related ignore warnings 2025-01-30 09:42:26 +01:00
harshal.patil 98285d819b fix(esptool_py): Fix NVS partition being incorrectly marked as encrypted
- The CMake function esptool_py_partition_needs_encryption() in the esptool_py
component used to mark NVS partition as encrypted, instead it should have marked
the NVS keys partition as encrypted.
2025-01-30 12:03:18 +05:30
Roman Leonov 44f09c470b fix(usb_host): Fixed unchecked return value in enum driver (coverity) 2025-01-29 12:56:02 +01:00
Cristian Funes c11e4ad3c4 fix(log): Modified linker script to move functions from flash to iram 2025-01-29 10:44:57 +01:00
Marius Vikhammer d9c471d054 test(panic): remove WDT both CPU test
Test never worked on S3/P4 and was flakey on ESP32. Hard to design a reliable test
case that triggers both WDT at the exact same time.
2025-01-24 13:29:45 +01:00
Tomáš Rohlínek 0214e29fc3 fix(storage/vfs_console): stop new console opens from overwriting existing fds 2025-01-24 14:58:15 +08:00
Island 48e11e68a1 Merge branch 'bugfix/fix_ble_conn_timeout_when_coex_v5.2' into 'release/v5.2'
Bugfix/fix ble conn timeout when coex v5.2

See merge request espressif/esp-idf!36583
2025-01-24 12:15:12 +08:00
Xu Si Yu b83535a889 feat(openthread): add an API to set rcp version string 2025-01-24 10:51:30 +08:00
cjin 9d28b2c297 fix(ble): fix conn supervision tmo when coex ESP32C6 2025-01-23 18:06:32 +08:00
cjin d42269fc62 fix(ble): fix conn supervision tmo when coex ESP32H2 2025-01-23 18:06:32 +08:00
David Čermák 80ea58945d Merge branch 'fix/ping_data_race_v5.2' into 'release/v5.2'
fix(lwip): Fix potential data-race in ping tcpip callback (v5.2)

See merge request espressif/esp-idf!36509
2025-01-23 16:56:49 +08:00
wangtao@espressif.com 0d4df082fe fix(wifi): fix max idle period 1 issue 2025-01-23 15:31:56 +08:00
zwx 07425e242c feat(openthread): support hardware reset RCP while processing RCP failure 2025-01-22 17:12:33 +08:00
Zhang Hai Peng e65cf7ea2a fix(blufi): Fixed some security issue in blufi example
(cherry picked from commit abc18e93eb)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-01-22 16:34:30 +08:00
wanckl 65a616197f feat(driver_spi): support using SPI_DEVICE_STD_TIMING to adjust master rx in standard timing 2025-01-22 11:11:47 +08:00
David Cermak c68c6dfb76 fix(lwip): Fix potential data-race in ping tcpip callback
Need to use tcpip_api_call() instead of tcpip_callback(), since the
former waits for the tcpip task to complete and thus prevents potential
data races with subsequent TCP/IP tasks.
2025-01-21 10:03:17 +01:00
renpeiying 3ec6875e41 docs: Update CN trans for security docs 2025-01-21 12:41:13 +05:30
harshal.patil f3e87bb60e feat(bootloader_support): Permanently enable XTS-AES pseudo rounds when FE release mode is enabled 2025-01-21 12:41:05 +05:30
zwx 333d4fee6f fix(ci): restart avahi-daemon in otbr service discovery test case 2025-01-21 11:25:21 +08:00
harshal.patil 248de17a53 feat(hal/spi_flash_encrypted): Enable pseudo rounds function during XTS-AES operations 2025-01-17 14:18:37 +05:30
harshal.patil e8a0496d36 feat(hal/aes): Enable pseudo rounds function during AES operations 2025-01-17 14:00:14 +05:30
Jiang Jiang Jian 72d91b5117 Merge branch 'change/ble_update_lib_20250103_v5.2' into 'release/v5.2'
change(ble): [AUTO_MR] 20250103 - Update ESP BLE Controller Lib (v5.2)

See merge request espressif/esp-idf!36371
2025-01-17 10:44:25 +08:00
Jiang Jiang Jian 6a465772aa Merge branch 'feature/softap_detect_wrong_password_attempt_v5.2' into 'release/v5.2'
esp_wifi: softAP: detect external station attempting to connect with wrong password  (Backport v5.2)

See merge request espressif/esp-idf!36455
2025-01-17 10:36:42 +08:00
Jiang Jiang Jian bb268e1131 Merge branch 'fix/sdmmc_write_sectors_dma_always_send_cmd13_v5.2' into 'release/v5.2'
fix(sdmmc): sdmmc_write_sectors_dma always check card status after write (v5.2)

See merge request espressif/esp-idf!34342
2025-01-17 10:32:10 +08:00
Sarvesh Bodakhe 806b75938a feat(wpa_supplicant): Add WIFI_EVENT_AP_WRONG_PASSWORD in SoftAP
This event is triggered when external station tries connecting to softAP
with wrong password.

Currently supported softAP AUTH modes: WPA-PSK, WPA2-PSK and WPA3-PSK (SAE-auth)
2025-01-16 20:13:55 +05:30
Jiang Jiang Jian 0bdb71f6b6 Merge branch 'fix/tusb_midi_task_stack_overflow_v5.2' into 'release/v5.2'
fix(examples): tusb_midi task stack overflow fix (v5.2)

See merge request espressif/esp-idf!34935
2025-01-16 22:07:36 +08:00
Jiang Jiang Jian 02935a77a5 Merge branch 'bugfix/sync_buf_crash_v5.2' into 'release/v5.2'
fix(bt/controller): fixed missing critical protections on linked-list structure of (e)SCO buffers (v5.2)

See merge request espressif/esp-idf!36342
2025-01-16 21:04:46 +08:00
Jiang Jiang Jian 3b2d916af0 Merge branch 'fix/esp_vfs_register_fd_range_warning_message_v5.2' into 'release/v5.2'
fix(storage/vfs): incorrect log level in esp_vfs_register_fd_range (v5.2)

See merge request espressif/esp-idf!36320
2025-01-16 20:57:04 +08:00
Jiang Jiang Jian 5c235ffa36 Merge branch 'fix/heap-allocate-in-rtc-iram_v5.2' into 'release/v5.2'
fix(heap): MALLOC_CAP_EXEC does not allocate in RTC IRAM (backport v5.2)

See merge request espressif/esp-idf!35621
2025-01-16 20:53:40 +08:00
Adam Múdry e58de4fd50 fix(examples): tusb_midi task stack overflow fix 2025-01-16 20:40:03 +08:00
Adam Múdry 2dc6551390 fix(sdmmc): Send status (CMD13) even if write/read command fails 2025-01-16 20:39:29 +08:00
Adam Múdry a44a659b0f fix(sdmmc): Improve SD card state checking after write/read command 2025-01-16 20:39:29 +08:00
Jiang Jiang Jian 5c627d9d18 Merge branch 'fix/fix_coex_macro_control_5_2' into 'release/v5.2'
fix(openthread): use the correct macros to control code compilation (v5.2)

See merge request espressif/esp-idf!36447
2025-01-16 20:36:29 +08:00
Jiang Jiang Jian 8775d06702 Merge branch 'fix/fix_tsens_power_after_modem_wakeup_v5.2' into 'release/v5.2'
fix(esp_hw_support): fix tsensor power enable failed after modem state wakeup (v5.2)

See merge request espressif/esp-idf!36226
2025-01-16 20:30:54 +08:00
zwl 565c4d0b73 feat(ble): support for putting ble code into flash on ESP32-C6 2025-01-16 18:18:14 +08:00
Xu Si Yu 8487bb7054 fix(openthread): use the correct macros to control code compilation 2025-01-16 18:04:30 +08:00
Michael (XIAO Xufeng) f0364c578b Merge branch 'test/add_cache2phys_xip_tests_v5.2' into 'release/v5.2'
fix(mmap): fixed spi_flash_phys2cache return addr in PSRAM issue (v5.2)

See merge request espressif/esp-idf!35987
2025-01-16 17:56:55 +08:00
Marius Vikhammer 0fc594154a Merge branch 'feature/efuse_update_for_esp32h2_eco5_v5.2' into 'release/v5.2'
feat(efuse): Adds efuses for esp32h2 eco5 (v5.2)

See merge request espressif/esp-idf!36246
2025-01-16 17:50:54 +08:00
Jiang Jiang Jian ce956ecfad Merge branch 'fix/set_154_cca_duration_v5.2' into 'release/v5.2'
fix(15.4): set 15.4 energy scan duration before cca (v5.2)

See merge request espressif/esp-idf!36426
2025-01-16 16:52:33 +08:00
Michael (XIAO Xufeng) 9a161557a1 Merge branch 'feat/add_h2_config_and_maxver_for_v5.2' into 'release/v5.2'
feat(soc): add Kconfig rev min option and increase max ver for H2 v1.2 (v5.2)

See merge request espressif/esp-idf!36418
2025-01-16 13:32:27 +08:00
Xu Si Yu d223421f92 fix(15.4): set 15.4 energy scan duration before cca 2025-01-16 11:45:50 +08:00
morris 8eaf6004b3 Merge branch 'refactor/update_lpperi_regs_for_h2_eco5_v5.2' into 'release/v5.2'
refactor(lpperi): compatible refactor for H2 ECO5 (v5.2)

See merge request espressif/esp-idf!36338
2025-01-16 10:51:16 +08:00
Marius Vikhammer e21640838d Merge branch 'bugfix/enable_additional_lp_io_wakeup_v5.2' into 'release/v5.2'
fix(lp_io): allow edge wakeup types for LP-IO on chips which support it

See merge request espressif/esp-idf!36328
2025-01-16 10:02:39 +08:00
Xiao Xufeng e9d35ac8ac feat(soc): add Kconfig rev min option and increase max ver for H2 v1.2 2025-01-16 00:18:20 +08:00
Rahul Tank e5da868951 Merge branch 'bugfix/fix_compilation_warn_v5.2' into 'release/v5.2'
fix(nimble): Address compilation warnings for different flag combination (v5.2)

See merge request espressif/esp-idf!36394
2025-01-15 21:32:56 +08:00
laokaiyao 43ad52ee95 refactor(lpperi): improve compatibility solution 2025-01-15 20:42:44 +08:00
laokaiyao be89694353 refactor(lpperi): compatible refactor for H2 ECO5 2025-01-15 20:42:44 +08:00
Jiang Jiang Jian 21c23c146e Merge branch 'fix_not_rm_micro_definition_v5.2' into 'release/v5.2'
fix(wifi): remove micro definition

See merge request espressif/esp-idf!36264
2025-01-15 19:10:30 +08:00
yinqingzhao 358d1ec359 fix(wifi): remove micro definition 2025-01-15 16:09:55 +08:00
Michael (XIAO Xufeng) a83eb05dc0 Merge branch 'feat/increase_c2_supported_ver_v5.2' into 'release/v5.2'
feat(soc): increase c2 max supported version (v5.2)

See merge request espressif/esp-idf!35972
2025-01-15 15:25:56 +08:00
Jiang Jiang Jian 324c7effcc Merge branch 'bugfix/fix_double_wifi_active_time_v5.2' into 'release/v5.2'
bugfix/fix double wifi active time v5.2

See merge request espressif/esp-idf!36357
2025-01-15 14:11:08 +08:00
Rahul Tank a0da07d8f3 fix(nimble): Fix compilation issues for different flag combinations 2025-01-15 10:18:05 +05:30
Shu Chen 0f5b20f045 Merge branch 'feat/update_thread_lib_v5.2' into 'release/v5.2'
fix(openthread): update SRP server to support zero subtype (v5.2)

See merge request espressif/esp-idf!36334
2025-01-15 11:08:09 +08:00
morris 0e42d52009 Merge branch 'bugfix/postpone_cpu_pll_off_time_in_slp_v5.2' into 'release/v5.2'
fix(clk): postpone CPU PLL off time in sleep (v5.2)

See merge request espressif/esp-idf!36301
2025-01-15 10:14:27 +08:00
David Čermák ffe563fb74 Merge branch 'fix/lwip_ping_getnetif_threadsafe_v5.2' into 'release/v5.2'
fix(lwip): Fix ping session calling thread unsafe API (v5.2)

See merge request espressif/esp-idf!36381
2025-01-15 00:01:55 +08:00
David Cermak 2e2551030e fix(lwip): Fix ping session calling thread unsafe API
Closes https://github.com/espressif/esp-idf/issues/14982
2025-01-14 11:25:54 +01:00
Zhou Xiao 16595a5a9a fix(ble): fixed ld file for c2eco0 and c2eco4
(cherry picked from commit 937fe2a6e3)

Co-authored-by: zhouxiao <zhouxiao@espressif.com>
2025-01-14 17:43:27 +08:00
Zhou Xiao 304c40c89a fix(ble): fixed esp_ble_tx_power_set api issue on ESP32-H2
(cherry picked from commit d2b62f2130)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-01-14 14:54:08 +08:00
Zhou Xiao 502648625e fix(ble): fixed esp_ble_tx_power_set api issue on ESP32-C6
(cherry picked from commit 8d6ec12838)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-01-14 14:54:06 +08:00
Zhou Xiao bfcb67058a fix(ble): fixed esp_ble_tx_power_set api issue on ESP32-C2
(cherry picked from commit 6a752eeb89)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-01-14 14:54:03 +08:00
Zhou Xiao 5095bba000 feat(ble): support for putting ble code into flash on ESP32-H2
(cherry picked from commit 5a9acdc379)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-01-14 14:54:01 +08:00
Zhou Xiao c2762f9206 change(ble): Update lib_esp32c2 to 2a00fb0b
(cherry picked from commit 7cd3fe6953)

Co-authored-by: zhouxiao <zhouxiao@espressif.com>
2025-01-14 14:53:59 +08:00
Zhou Xiao 85a1305052 change(ble): Update lib_esp32c6 to 3422b706
(cherry picked from commit 4fc95fa91f)

Co-authored-by: zhouxiao <zhouxiao@espressif.com>
2025-01-14 14:53:57 +08:00
Zhou Xiao dd5230866b change(ble): Update lib_esp32h2 to 3422b706
(cherry picked from commit fe5a12e7e7)

Co-authored-by: zhouxiao <zhouxiao@espressif.com>
2025-01-14 14:53:54 +08:00
morris 5d2609911e Merge branch 'fix/twai_io_init_glitch_v5.2' into 'release/v5.2'
fix(driver_twai): fixed bus-off when twai_init due to wrong gpio config (v5.2)

See merge request espressif/esp-idf!34817
2025-01-14 11:56:22 +08:00
liuning a122a750fb fix(wifi): fix double max active time, fix coex pwr period cant been updated by ps type set 2025-01-14 10:42:47 +08:00
liuning 1bb0b02c55 feat(coex): update coexist debug default event 2025-01-14 10:37:32 +08:00
David Čermák 5de8b483ea Merge branch 'fix/lwip_ping_ipv6only_v5.2' into 'release/v5.2'
fix(lwip): Fix IP6 raw socket checksum in IPv6-only configuration (v5.2)

See merge request espressif/esp-idf!35087
2025-01-14 01:59:07 +08:00
Jiang Jiang Jian 6050f356c2 Merge branch 'bugfix/fix_the_wpa3_connect_error_in_mesh_v5.2' into 'release/v5.2'
fix(wifi/mesh): fixed the mesh connection failure in WPA3 mode after erasing flash (v5.2)

See merge request espressif/esp-idf!36326
2025-01-13 19:37:06 +08:00
Mahavir Jain 7351290ac4 Merge branch 'bugfix/update_api_to_get_url_correctly_v5.2' into 'release/v5.2'
fix(esp_http_client): updated API esp_http_client_get_url() to get URL in correct format (v5.2)

See merge request espressif/esp-idf!36333
2025-01-13 18:25:24 +08:00
Guillaume Souchere 7fac9e4f7a fix(esp_hw_support): Unused variables in memory_utils functions 2025-01-13 11:11:40 +01:00
David Čermák 9c6da59dca Merge branch 'fix/esp_netif_ppp_nullptr_check_v5.2' into 'release/v5.2'
fix(esp_netif): Prevent null deref when checking netif type (v5.2)

See merge request espressif/esp-idf!35672
2025-01-13 17:41:23 +08:00
Song Ruo Jing 2e41f0b875 fix(clk): postpone CPU PLL off time in sleep
For PMU supported chips, powering down CPU PLL in sleep will be done by PMU, not sleep code
2025-01-13 17:33:23 +08:00
David Cermak 38323b6601 fix(lwip): Fix ping_v6 receiving to accept only echo replies
This fixes a bug where we ping our own IP and the request itself
bounces back to the raw receive function and is incorrectly treated as
reply. (this bug was discovered when fixing ICMPv6 pings with incorrect
checksums, while the ping request was dropped in icmpv6.c due to wrong
checksum, but was also fed to raw layers where it was treated as
"correct" response, so the PINGv6 to ourselves still worked)
2025-01-13 10:25:45 +01:00
David Cermak a662c54630 fix(common_connect): Fix example's stdin/out to setup UART interrupt once
Function example_configure_stdin_stdout() was used for simple UART I/O
operation in CI to enter test env configuration (wifi ssid, IPs, etc).
It could be called multiple times, but didn't handle the situation where
we install UART interrupt from multiple source (e.g. in ICMP tests,
where we first need to enter wifi credentials of test AP and then we
start ping-cmd console to handle ping commands)
2025-01-13 10:25:45 +01:00
David Cermak 4e18af6d43 fix(lwip): Fix IP6 raw socket checksum in IPv6-only configuration
* Update submodule: git log --oneline 0606eed9..3ca49ce4
  - sockets: Make IPv6 only netconn type IPv6 aware (espressif/esp-lwip@3ca49ce4)
2025-01-13 10:25:45 +01:00
Marius Vikhammer 7c61170550 fix(lp_io): allow edge wakeup types for LP-IO on chips which support it 2025-01-13 16:51:04 +08:00
morris 7a63e00c4c Merge branch 'bugfix/uart_single_wire_mode_v5.2_fix' into 'release/v5.2'
fix(uart): fix incorrect IO configuration for TX and RX configure to the same pin

See merge request espressif/esp-idf!36294
2025-01-13 16:50:34 +08:00
Jin Cheng a2034f258d fix(bt/controller): fixed missing critical protections on linked-list structure of (e)SCO buffers 2025-01-13 14:58:51 +08:00
Song Ruo Jing fe62246f5a fix(uart): fix incorrect IO configuration for TX and RX configure to the same pin 2025-01-13 14:48:33 +08:00
Tan Yan Quan 47e889c809 fix(openthread): update SRP server to support zero subtype/v5.2
* esp-openthread: 4f3fd4895
* openthread: 005c5cefc
* esp-idf: 81bce81a1
2025-01-13 14:22:47 +08:00
nilesh.kale 51c668f2b9 fix(esp_http_client): updated API esp_http_client_get_url to get URL in correct format
This commit updates the API to include the port number in the URL,
which was previously missing.
2025-01-13 11:14:48 +05:30
Rahul Tank 81bce81a18 Merge branch 'bugfix/fix_few_nimble_issues_v5.2' into 'release/v5.2'
fix(nimble): Fix few nimble issues 11012025 (v5.2)

See merge request espressif/esp-idf!36313
2025-01-13 13:26:40 +08:00
Mahavir Jain db2d0eff7c Merge branch 'fix/return_esp_err_t_for_httpd_req_get_url_query_str_v5.2' into 'release/v5.2'
feat(https_server): Added checks to verify if uri is empty (v5.2)

See merge request espressif/esp-idf!36288
2025-01-13 11:51:49 +08:00
Jiang Jiang Jian 3dd245fbc4 Merge branch 'lwip/dns_clear_cache_fix_v5.2' into 'release/v5.2'
fix(lwip): Fixed active DNS entries before clearing cache(v5.2)

See merge request espressif/esp-idf!36213
2025-01-13 11:33:04 +08:00
zhangyanjiao e221554c3e fix(wifi/mesh): fixed the mesh connection failure in WPA3 mode after erasing flash
Closes https://github.com/espressif/esp-idf/issues/14095
2025-01-13 11:16:47 +08:00
Jiang Jiang Jian 54df5ddae1 Merge branch 'bugfix/use_wpa3_ent_authmode_naming_v5.2' into 'release/v5.2'
fix(wifi): Add support to recongize different WPA3 Authentication modes from specifications  (Backport v5.2)

See merge request espressif/esp-idf!36146
2025-01-13 10:31:19 +08:00
morris 3f76bbe225 Merge branch 'fix/spi_slave_no_dma_rx_overwrite_v5.2' into 'release/v5.2'
fix(driver_spi): fixed slave no dma rx overwrite when trans_len below or over (v5.2)

See merge request espressif/esp-idf!34172
2025-01-13 10:02:35 +08:00
Tomáš Rohlínek 3c6372d711 fix(storage/vfs): incorrect log level in esp_vfs_register_fd_range
Closes https://github.com/espressif/esp-idf/issues/14327
2025-01-10 16:51:47 +01:00
Abhinav Kudnar b3a5fe83a4 feat(nimble): Additional changes in PAWR IDF Examples/support for ESP IP 2025-01-10 17:44:36 +05:30
Rahul Tank f38a2dbce7 fix(nimble): Reset data length global variables 2025-01-10 17:42:33 +05:30
Rahul Tank 6333e1d826 fix(nimble): Fixed a typo in Kconfig file 2025-01-10 17:40:07 +05:30
Astha Verma 466a41864c fix(nimble): Added HCI_Read_Remote_Version_Information command 2025-01-10 17:39:58 +05:30
Rahul Tank 12f868ca5e fix(nimble): Clear our and peer security records during unpair 2025-01-10 17:38:08 +05:30
morris 778aa5731f Merge branch 'feature/usb_host_hubs_support_msg_backport_v5.2' into 'release/v5.2'
feat(hub): Added notification when hubs support is disabled (backport to v5.2)

See merge request espressif/esp-idf!35453
2025-01-10 18:59:48 +08:00
hrushikesh.bhosale a88c2e85b6 feat(https_server): Added checks to verify if uri is empty
Added the checks if the URI is empty for the funtions httpd_req_get_url_query_len
and httpd_req_get_url_query_str in httpd_parser.c
2025-01-10 11:09:57 +05:30
morris a73c62ef9a Merge branch 'bugfix/uart_single_wire_mode_v5.2' into 'release/v5.2'
fix(uart): allow same pin for tx and rx in uart_set_pin; UART_SELECT_READ_NOTIF race conditon fix (v5.2)

See merge request espressif/esp-idf!36261
2025-01-10 11:42:19 +08:00
Sarvesh Bodakhe d2ba44d9e1 fix(wifi): Add support to recongize different WPA3 Authentication modes from specs
1. Add support  to recognize APs supporting 'WPA3-Enterprise-Only Mode' and
   'WPA3-Enterprise-Transition Mode' using authmodes WIFI_AUTH_WPA3_ENTERPRISE
   and WIFI_AUTH_WPA2_WPA3_ENTERPRISE, respectively.
2. Add placeholder enums in 'wifi_auth_mode_t' for maintaining
   forward compatibility with minor versions > v5.2
2025-01-09 10:41:28 +05:30
Song Ruo Jing fd55869f82 fix(uart): allow same pin for tx and rx in uart_set_pin
Closes https://github.com/espressif/esp-idf/issues/14787
2025-01-09 12:04:45 +08:00
Jiang Jiang Jian 59cf08863a Merge branch 'backport/backport_some_changes_to_v5.2_20250106' into 'release/v5.2'
Backport/backport some changes to v5.2 20250106

See merge request espressif/esp-idf!36231
2025-01-09 11:55:27 +08:00
wanckl a863380698 fix(driver_spi): fixed slave no dma rx overwrite when trans_len below or over
Closes https://github.com/espressif/esp-idf/issues/14462
2025-01-09 11:53:53 +08:00
Jiang Jiang Jian d5cd3b734d Merge branch 'feat/add_config_for_ble_vs_qa_cmd_v5.2' into 'release/v5.2'
fixed interrupt WDT when shutdown bt controller on ESP32(ba6739f) (v5.2)

See merge request espressif/esp-idf!36174
2025-01-09 11:51:26 +08:00
Jiang Jiang Jian 58001363d6 Merge branch 'fix/c61_h2_pmu_icg_csv_update_v5.2' into 'release/v5.2'
fix(pmu): h2 update pmu_icg_mapping.h (v5.2)

See merge request espressif/esp-idf!34798
2025-01-09 11:50:27 +08:00
Jiang Jiang Jian 82e72bcf53 Merge branch 'fix/adc_monitor_not_work_v5.2' into 'release/v5.2'
fix(esp_adc): fixed adc continue monitor don't work issue (v5.2)

See merge request espressif/esp-idf!35167
2025-01-09 11:49:43 +08:00
Jiang Jiang Jian 95873178f6 Merge branch 'fix/blufi_example_mem_access_v5.2' into 'release/v5.2'
fix(ble/blufi): Fixed blufi example security issue (v5.2)

See merge request espressif/esp-idf!36162
2025-01-09 11:47:02 +08:00
Jiang Jiang Jian 611ddca83a Merge branch 'bugfix/enable_eap_workarounds_v5.2' into 'release/v5.2'
fix(esp_wifi): Enable EAP workarounds by default (v5.2)

See merge request espressif/esp-idf!36154
2025-01-09 11:46:21 +08:00
Song Ruo Jing b0d6ba527f fix(uart): fix race condition with the use of UART_SELECT_READ_NOTIF
UART_SELECT_READ_NOTIF needs to be sent after received data got processed
to avoid the potential race condition
2025-01-09 11:45:31 +08:00
Jiang Jiang Jian c93a343ba0 Merge branch 'fix/fix_pm_trace_rtc_domain_keeping_v5.2' into 'release/v5.2'
fix(esp_pm): enable RTC_PERIPH domain once in esp_pm_trace_init (v5.2)

See merge request espressif/esp-idf!35999
2025-01-09 11:45:21 +08:00
Jiang Jiang Jian 5912a47d41 Merge branch 'fix/fix_flash_leakage_workaroud_config_dependcy_v5.2' into 'release/v5.2'
fix(esp_hw_support): fix FLASH leakage workaround kconfig dependcy (v5.2)

See merge request espressif/esp-idf!35992
2025-01-09 11:44:48 +08:00
Jiang Jiang Jian 578a6f9627 Merge branch 'bugfix/ws_head_buf_size_v5.2' into 'release/v5.2'
fix(tcp_transport): Fix websocket header read to handle overflow (v5.2)

See merge request espressif/esp-idf!35669
2025-01-09 11:44:04 +08:00
Jiang Jiang Jian fe262a71f0 Merge branch 'change/change_pm_slp_iram_opt_dependence_v5.2' into 'release/v5.2'
change(esp_pm): change pm_slp_iram_opt dependence(backport v5.2)

See merge request espressif/esp-idf!33869
2025-01-09 11:43:40 +08:00
Jiang Jiang Jian 6e51dc41cc Merge branch 'fix/littlefs_image_creation_windows_v5.2' into 'release/v5.2'
fix(littlefs): Allow LittleFS image generation on Windows + version bump (v5.2)

See merge request espressif/esp-idf!34917
2025-01-09 11:42:08 +08:00
Shu Chen cce96ba9f4 Merge branch 'feature/support_esp32h2eco5_phylib_v5.2' into 'release/v5.2'
feat(esp_phy): support esp32h2eco5 phylib (v5.2)

See merge request espressif/esp-idf!36210
2025-01-09 11:37:31 +08:00
Island a10be2bcae Merge branch 'bugfix/fix_some_ble_bugs_241224_esp32c3_v5.2' into 'release/v5.2'
Fixed some BLE bugs 241224 on ESP32C3(fd62b31) (v5.2)

See merge request espressif/esp-idf!36194
2025-01-09 11:34:55 +08:00
wuzhenghui aaf7c6a9ce fix(esp_hw_support): fix modem power enable failed after modem state wakeup 2025-01-09 11:12:51 +08:00
Konstantin Kondrashov c827c83fee feat(espefuse): Adds efuses for esp32h2 eco5
- Support efuses that are not present in the main efuse table
2025-01-08 12:18:34 +02:00
Shu Chen 4e0b39fb69 Merge branch 'feature/154_api_enhancement_for_mp_v5.2' into 'release/v5.2'
feat(802.15.4): support register isr callback (v5.2)

See merge request espressif/esp-idf!36200
2025-01-08 17:12:29 +08:00
yinqingzhao 44fd1e0d3a feat(wifi): avoid compiling components related to wifi when wifi is not supported 2025-01-08 15:40:42 +08:00
yinqingzhao 53a526e52d feat(wifi): wifi support 80211tx using 11ax rate 2025-01-08 15:19:18 +08:00
Rahul Tank e248c59c37 Merge branch 'bugfix/fix_csfc_write_nvs_v5.2' into 'release/v5.2'
fix(nimble): Corrected storing method of csfc to nvs (v5.2)

See merge request espressif/esp-idf!36167
2025-01-08 13:02:54 +08:00
Marius Vikhammer d96d524cd9 Merge branch 'docs/remove_coex_doxy_v5.2' into 'release/v5.2'
docs(doxygen): removed coex header from doxyfile (v5.2)

See merge request espressif/esp-idf!36224
2025-01-08 10:40:58 +08:00
Marius Vikhammer 801b8ef61b docs(doxygen): removed coex header from doxyfile
Failing to build due to missing comments, but the header was
never included in the docs anyway, so might as well remove it.
2025-01-08 09:48:27 +08:00
Xiao Xufeng cdfa57f5c5 ci(app_update): move test_apps to subfolder with a name 2025-01-08 02:03:10 +08:00
Abhik Roy 3a3d939e82 fix(lwip): Fixed active DNS entries before clearing cache 2025-01-07 21:32:43 +11:00
zhangwenxu dbe6efd9a3 feat(esp_phy): support esp32h2eco5 phylib 2025-01-07 17:53:01 +08:00
Michael (XIAO Xufeng) b3b14bdf43 Merge branch 'bugfix/warn_rc32k_use_in_kconfig_v5.2' into 'release/v5.2'
fix(clk): add an inevitable kconfig option to be selected to use rc32k (v5.2)

See merge request espressif/esp-idf!35966
2025-01-07 15:49:51 +08:00
zwx 82fbf800c6 feat(802.15.4): introduced a feature for registering 802.15.4 ISR callbacks 2025-01-07 15:26:33 +08:00
Chen Jian Hua f1c8a8922c fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(fd62b31)
- Fixed periodic adv enable params checking
- Fixed BLE assert lld_scan.c 1728 when receiving directed adv
- Support resolving RPA to identity address when creating connection
- Fixed BLE assert rwble.c 505 param 00400010
- Fixed peer address type error in HCI LE meta event
- Fixed setting random address failed when extended adv is enabled


(cherry picked from commit 326f391f9c)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2025-01-07 14:33:27 +08:00
wanckl c3df56b53e fix(esp_adc): fixed adc continue monitor don't work issue
Closes https://github.com/espressif/esp-idf/issues/14769
Closes https://github.com/espressif/esp-idf/issues/14814
2025-01-06 21:09:53 +08:00
wanckl c5a5c98660 fix(pmu): c61 and h2 update pmu_icg_mapping.h 2025-01-06 21:08:41 +08:00
Shu Chen 721def344a Merge branch 'feat/support_setting_event_for_154_txrx_5_2' into 'release/v5.2'
feat(15.4): support setting 15.4 txrx pti when coex is enabled (backport to 5.2)

See merge request espressif/esp-idf!36105
2025-01-06 19:23:44 +08:00
morris 5eaa63af7d Merge branch 'bugfix/modbus_serial_examples_fix_mode_v52' into 'release/v5.2'
fix(modbus): Fix the mode setup in modbus slave (backport v5.2)

See merge request espressif/esp-idf!36117
2025-01-06 17:06:07 +08:00
Chen Jian Hua 02056c7dae fix(bt): Update bt lib for ESP32(ba6739f)
- Fixed assert in lld_evt.c at line 2353
- Fixed interrupt WDT when shutdown bt controller
- Added config for BLE vendor HCI QA command
- Added config for BLE channel assessment and ping procedure


(cherry picked from commit ad3554fbed)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2025-01-06 15:20:07 +08:00
Rahul Tank 2381ff9a41 fix(nimble): Corrected storing method of csfc to nvs 2025-01-06 10:20:16 +05:30
Zhang Hai Peng 2406947e4a fix(ble/bluedroid): Fixed BLE feature selection configuration
(cherry picked from commit 117aa74705)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-01-06 11:14:18 +08:00
Zhang Hai Peng 976c0cd3e7 docs(ble/bluedroid): Added BLE log when bond info was deleted
(cherry picked from commit c9cdf51b05)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-01-06 11:13:45 +08:00
Zhang Hai Peng f9b60f6f74 docs(ble/bluedroid): Optimize doc for registering BLE callback functions
(cherry picked from commit d84ccadf90)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-01-06 11:13:43 +08:00
Zhang Hai Peng a9b840a92c fix(ble/blufi): Fixed blufi example security issue
(cherry picked from commit 3cb2d9c3c6)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-01-06 11:13:41 +08:00
Xu Si Yu 20e7428c97 fix(openthread): fix openthread radio spinel deinit 2025-01-06 10:27:51 +08:00
Xu Si Yu 5d60da974c fix(openthread): fix a naming error of kconfig 2025-01-06 10:27:30 +08:00
Xu Si Yu 5280268e65 feat(15.4): support setting 15.4 txrx pti when coex is enabled 2025-01-06 10:27:29 +08:00
Roland Dobai 2f62363cc6 Merge branch 'feature/add_utf_8_decoding_v5.2' into 'release/v5.2'
feat(tools): Enforced utf-8 encoding with Python open() functions (v5.2)

See merge request espressif/esp-idf!36127
2025-01-05 21:26:37 +08:00
Shu Chen eb4a5194c6 Merge branch 'feat/example_connect_thread_v5_2' into 'release/v5.2'
feat(protocol_examples_common): Add Thread connect to support Thread for the protocol examples(v5.2)

See merge request espressif/esp-idf!36092
2025-01-05 10:58:24 +08:00
Kapil Gupta 33aec06e76 fix(esp_wifi): Enable EAP workarounds by default
Enabling this will make sure our behavior is same as upstream
wpa_supplicant.
2025-01-03 17:43:29 +05:30
Jiang Jiang Jian c9524e0fd9 Merge branch 'bugfix/fix_sniffer_fail_on_ci_v5.2' into 'release/v5.2'
fix(ci): Enlarge the pcap memory size in sniffer example (v5.2)

See merge request espressif/esp-idf!35696
2025-01-03 19:58:43 +08:00
Jiang Jiang Jian 71dde494c0 Merge branch 'feat/backport_some_feature_and_bugfix_v52' into 'release/v5.2'
Feat/backport some feature and bugfix v52

See merge request espressif/esp-idf!36116
2025-01-03 19:51:18 +08:00
Shu Chen 50fe685519 Merge branch 'feature/ieee802154_txpower_table_v5.2' into 'release/v5.2'
Feature/ieee802154 txpower table (v5.2)

See merge request espressif/esp-idf!36134
2025-01-03 16:21:59 +08:00
zwx 40c7be7406 fix(802.15.4): fix a typo for 15.4 Kconfig 2025-01-03 14:22:21 +08:00
zwx 07e0f9df4c feat(802.15.4): introduce a series of APIs related power table 2025-01-03 14:22:21 +08:00
zwx acacf85a1d feat(openthread): support preferred channel mask 2025-01-03 14:22:21 +08:00
Marius Vikhammer a272c70a5d Merge branch 'bugfix/h2_wifi_intr_v5.2' into 'release/v5.2'
fix(interrupt): fixed wrongly reserved interrupt for wifi on H2 (v5.2)

See merge request espressif/esp-idf!36113
2025-01-03 11:11:38 +08:00
Marek Fiala 3cca3da1d5 feat(tools): Enforce utf-8 encoding with open() function 2025-01-02 16:12:47 +01:00
aleks bf64894fd8 fix(modbus): Fix the mode setup in modbus slave
https://github.com/espressif/esp-idf/pull/14878
2025-01-02 17:54:22 +08:00
Kabir Waraich 25433ad0e3 Update slave.c to fix the mode
There is an issue in the lines that I have changed. I think it was copied over from the enum by mistake.
2025-01-02 17:54:22 +08:00
wangtao@espressif.com 4ad1537cda fix(wifi): backport some wifi feature and bugfixs 2025-01-02 17:48:19 +08:00
Marius Vikhammer 94d9ab88bb fix(interrupt): fixed wrongly reserved interrupt for wifi on H2 2025-01-02 16:49:11 +08:00
wangtao@espressif.com 59e0ed5a6c fix(wifi): fix spiram ignore issue 2025-01-02 16:35:42 +08:00
wangtao@espressif.com 17264b1b74 feat(wifi): fix SPIRAM_IGNORE_NOTFOUND releated config 2025-01-02 16:34:29 +08:00
wangtao@espressif.com 6b8f294eaa change(wifi): change softap default dtim period to 1 2025-01-02 16:09:30 +08:00
wangtao@espressif.com 9111d166fb fix(wifi): fix esp32c2eco4 sta_rx_csa ld 2025-01-02 16:07:57 +08:00
Jiang Jiang Jian dbe1e41c6f Merge branch 'ci/add_build_test_eco_versions_v5.2' into 'release/v5.2'
ci: add build test for eco versions (v5.2)

See merge request espressif/esp-idf!35820
2025-01-02 15:24:47 +08:00
morris 8af4285c24 Merge branch 'bugfix/ledc_get_freq_calc_v5.2' into 'release/v5.2'
fix(ledc): fix ledc_get_freq calculation err due to overflow (v5.2)

See merge request espressif/esp-idf!36021
2025-01-02 15:13:29 +08:00
morris 866a02f258 Merge branch 'fix/ble_i2c_v5.2' into 'release/v5.2'
fix(i2c): Fix i2c read from fifo issue when enabling bt/wifi/uart, etc...  (backport v5.2)

See merge request espressif/esp-idf!36053
2025-01-02 15:05:32 +08:00
morris 0c2b70a83f Merge branch 'feat/xmc_32d_support_v5.2' into 'release/v5.2'
feat(spi_flash): support 120M on xmc25q32d flash (backport v5.2)

See merge request espressif/esp-idf!36080
2025-01-02 14:44:54 +08:00
morris 195a92659b Merge branch 'fix/bod_esp32h2_v5.2' into 'release/v5.2'
fix(bod): Improve esp32h2 brownout handling (backport v5.2)

See merge request espressif/esp-idf!36052
2025-01-02 14:25:12 +08:00
morris 0b138556d7 Merge branch 'fix/fix_parlio_tx_example_line_address_v5.2' into 'release/v5.2'
fix(parlio_tx): fix line address in simple_rgb_martix example (v5.2)

See merge request espressif/esp-idf!36072
2025-01-02 14:12:35 +08:00
morris 32dd4764a1 Merge branch 'bugfix/channel_resolution_calculation_v5.2' into 'release/v5.2'
fix(rmt): channel resolution divider rounding issue (v5.2)

See merge request espressif/esp-idf!36034
2025-01-02 14:09:16 +08:00
Shu Chen 87ea3652e0 Merge branch 'feat/set_get_ack_timeout_v5.2' into 'release/v5.2'
feat(802.15.4): add api for set/get ack timeout (v5.2)

See merge request espressif/esp-idf!36087
2025-01-02 12:53:10 +08:00
Zhuang Hang 1ef5e3f3a3 feat(802.15.4): add api for set/get ack timeout (v5.2) 2025-01-02 12:53:10 +08:00
Xu Si Yu d0c95f419c feat(openthread): update build test rules 2024-12-31 14:52:16 +08:00
WanqQixiang 6725f0c8d9 fix(openthread): Fix CI failure of ot_trel example build 2024-12-31 14:50:28 +08:00
WanqQixiang 11d4907521 feat(protocol_examples_common): Add Thread connect to support Thread for the protocol examples 2024-12-31 14:49:22 +08:00
Shu Chen 0d79e0f1e2 Merge branch 'feature/use_fixed_dut_in_ot_ci_cases_v5.2' into 'release/v5.2'
feat(openthread): use fixed port in ot ci cases (Backport v5.2)

See merge request espressif/esp-idf!36046
2024-12-31 11:59:56 +08:00
C.S.M e52ae0b4d8 feat(spi_flash): support 120M on xmc25q32d flash 2024-12-31 11:35:58 +08:00
Rahul Tank 905a83ecbf Merge branch 'bugfix/fix_ext_reconn_compilation_v5.2' into 'release/v5.2'
fix(nimble): Fix compilation issue for combination of Ext Adv and Reattempt conn flag (v5.2)

See merge request espressif/esp-idf!35933
2024-12-30 19:47:22 +08:00
Marius Vikhammer 1f9057df52 Merge branch 'fix/ringbuf_receives_after_aq_wraparound_v5.2' into 'release/v5.2'
fix(esp_ringbuf): Fixed no-split ringbuf issue where acquire pointer  wraps around (v5.2)

See merge request espressif/esp-idf!35869
2024-12-30 17:11:31 +08:00
Chen Jichang 5d6af0d638 fix(parlio_tx): fix line address in simple_rgb_martix example 2024-12-30 17:09:06 +08:00
Rahul Tank 52b39983d5 fix(nimble): Fix compilation issue for combination of Ext Adv and Reattempt conn flag 2024-12-30 14:31:39 +05:30
Rahul Tank c3681aa036 Merge branch 'bugfix/fix_compile_issue_v5.2' into 'release/v5.2'
fix(nimble): Fix compilation issues when BLE_MAX_STORE_BOND is set to 0 (v5.2)

See merge request espressif/esp-idf!34443
2024-12-30 16:27:16 +08:00
Guillaume Souchere 4eee2b0849 fix(heap): MALLOC_CAP_EXEC does not allocate in RTC IRAM
This commit fixes the issue when trying to allocate memory
with the MALLOC_CAP_EXEC in RTC memory. Prior to the fix,
the heap allocator was returning an address in RTC DRAM.

To fix this issue:
- modified memory_layout.c of the concerned targets to fill the iram_address
field in the rtc entry of the soc_memory_region array properly.
- modified heap component  related functions to return IRAM address when
an allocation in RTC memory with MALLOC_CAP_EXEC is requested.

Closes https://github.com/espressif/esp-idf/issues/14835
2024-12-30 09:06:54 +01:00
Roland Dobai 276083f93e Merge branch 'fix/missing_header_hint_v5.2' into 'release/v5.2'
fix(hints): improve suggestion for missing header file (v5.2)

See merge request espressif/esp-idf!36045
2024-12-30 14:06:20 +08:00
Rahul Tank 4c051ac6f2 fix(nimble): Fix compilation issues when BLE_MAX_STORE_BOND is set to 0 2024-12-30 11:07:41 +05:30
C.S.M 8cbcd1c2de fix(i2c): Fix lose byte during data reading in i2c master on esp32,
Closes https://github.com/espressif/esp-idf/issues/12860
2024-12-30 13:34:49 +08:00
C.S.M 64513a24c4 fix(i2c_slave): Support 10-bit address on esp32 2024-12-30 13:34:37 +08:00
C.S.M 34ab6cc454 fix(i2c): Correct internal function spelling,
Closes https://github.com/espressif/esp-idf/issues/15100
2024-12-30 13:23:22 +08:00
C.S.M 5559c32a8e fix(bod): Improve esp32h2 brownout handling 2024-12-30 12:17:10 +08:00
yiwenxiu f9acbd1754 feat(openthread): use fixed port in ot ci cases 2024-12-30 09:57:05 +08:00
Frantisek Hrbata a4de7c8ac4 fix(hints): improve suggestion for missing header file
Currently, we are only suggesting that the header file is likely not
part of the component's INCLUDE_DIRS. However, the header file may be
missing also because of the configuration settings. For instance, the
component might be disabled in sdkconfig, or the feature that supplies
the header might not be enabled. Enhance the hint message to address
this scenario as well.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-12-29 18:56:58 +01:00
Xiao Xufeng 31259552f5 ci(spi_flash): add tests for cache2phys with XIP 2024-12-28 01:56:01 +08:00
Xiao Xufeng 5cb8f87bbe fix(mmap): fixed spi_flash_phys2cache return addr in PSRAM issue
When SPIRAM_FETCH_INSTRUCTIONS or SPIRAM_RODATA enabled
2024-12-28 01:56:01 +08:00
Rahul Tank 6a29f58770 Merge branch 'bugfix/force_att_tx_q_cleanup_v5.2' into 'release/v5.2'
fix(nimble): Add ATT Tx queue cleanup during link disconnection (v5.2)

See merge request espressif/esp-idf!36014
2024-12-27 20:10:30 +08:00
Island 1d29ca4c02 Merge branch 'docs/refactor_ceva_bt_controller_api_v5.2' into 'release/v5.2'
docs(ble): Refactored the API reference for esp32/c3/s3 BT controller (v5.2)

See merge request espressif/esp-idf!35351
2024-12-27 18:45:15 +08:00
Wei Yu Han 75004877a3 docs(ble): Refactored the API reference for esp32/c3/s3 BT controller (v5.2) 2024-12-27 18:45:15 +08:00
morris dac174ad76 fix(rmt): channel resolution divider rounding issue
Closes https://github.com/espressif/esp-idf/issues/15092
2024-12-27 16:58:06 +08:00
Wang Meng Yang 92bfc4828c Merge branch 'bugfix/fix_btqabr2023330_v5.2' into 'release/v5.2'
fix(bt): Fix error code returned by create_conn_cancel_cmd at different status (backport v5.2)

See merge request espressif/esp-idf!35575
2024-12-27 11:01:07 +08:00
morris 42f8913ca8 Merge branch 'bugfix/esp_rom_gpio_connect_out_signal_patch_v5.2' into 'release/v5.2'
fix(gpio): patched esp_rom_gpio_connect_out_signal for esp32 and esp32s2 (v5.2)

See merge request espressif/esp-idf!35941
2024-12-27 10:35:12 +08:00
Shu Chen a40f7af524 Merge branch 'fix/openthread_dns_hook_v5_2' into 'release/v5.2'
fix(openthread): Fix external DNS resolve hook for DNS64 client(v5.2)

See merge request espressif/esp-idf!35985
2024-12-27 10:32:20 +08:00
morris 82c3a720ff Merge branch 'bugfix/uart_8_16_bit_access_v5.2' into 'release/v5.2'
fix(uart): fix 8/16-bit uart register access (v5.2)

See merge request espressif/esp-idf!35963
2024-12-27 10:20:20 +08:00
Song Ruo Jing 7ec010c1ae fix(ledc): fix ledc_get_freq calculation err due to overflow
Closes https://github.com/espressif/esp-idf/pull/14882
2024-12-26 18:51:12 +08:00
Jiang Jiang Jian 16101fd7f2 Merge branch 'feature/support_to_query_phy_rf_used_time_v5.2' into 'release/v5.2'
feat(phy): support to query phy used time

See merge request espressif/esp-idf!35876
2024-12-26 17:23:12 +08:00
wanckl 7a1588ec7f fix(twai): currect twai type macro initialize definition 2024-12-26 15:58:36 +08:00
wanckl 154587cd3d fix(driver_twai): fixed bus-off when twai_init due to wrong gpio config
Closes https://github.com/espressif/esp-idf/issues/14548
2024-12-26 15:58:26 +08:00
Rahul Tank cedbdcd983 fix(nimble): Add ATT Tx queue cleanup during link disconnection 2024-12-26 13:04:36 +05:30
Island ce62b586e1 Merge branch 'refactor/optimize_ble_gatt_api_doc_v5.2' into 'release/v5.2'
refactor(bt/bluedroid): Optimize BLE GATT related APIs reference (v5.2)

See merge request espressif/esp-idf!35917
2024-12-26 14:25:00 +08:00
Island 2d582e880f Merge branch 'feat/add_get_started_example_on_bluedroid_v5.2' into 'release/v5.2'
feat(bt/bluedroid): Added BLE get started examples for Bluedroid (v5.2)

See merge request espressif/esp-idf!35651
2024-12-26 14:24:47 +08:00
wuzhenghui 8557a2c529 fix(esp_pm): enable RTC_PERIPH domain once in esp_pm_trace_init 2024-12-26 14:11:01 +08:00
wuzhenghui c9af36610d fix(esp_hw_support): fix FLASH leakage workaround kconfig dependcy 2024-12-26 11:40:58 +08:00
Island 3c799b3f9f Merge branch 'bugfix/fixed_ble_issues_241220_v5.2' into 'release/v5.2'
Bugfix/fixed ble issues 241220 (v5.2)

See merge request espressif/esp-idf!35922
2024-12-26 11:30:23 +08:00
morris 4010489aa2 Merge branch 'bugfix/fix_i2s_24b_buf_size_calc_v5.2' into 'release/v5.2'
fix(i2s): fixed some issues in I2S driver (v5.2)

See merge request espressif/esp-idf!35770
2024-12-26 11:14:24 +08:00
morris 79014ccc1b Merge branch 'bugfix/reserve_mspi_pin_regarding_line_mode_v5.2' into 'release/v5.2'
fix(gpio_reserve): reserve the mspi pin regarding line mode (v5.2)

See merge request espressif/esp-idf!35907
2024-12-26 10:51:55 +08:00
Marius Vikhammer 2ef8f9e237 Merge branch 'fix/esp_hiram_heap_v5.2' into 'release/v5.2'
fix(esp_psram): fix a bug in PSRAM heap registration (backport v5.2)

See merge request espressif/esp-idf!35701
2024-12-26 10:51:18 +08:00
morris fa1ab35c66 Merge branch 'bugfix/rtc_clk_cpu_freq_set_xtal_behavior_v5.2' into 'release/v5.2'
fix(clk): rtc_clk_cpu_freq_set_xtal will always disable CPU's PLL (v5.2)

See merge request espressif/esp-idf!35945
2024-12-26 10:49:20 +08:00
WanqQixiang b6a2beaf93 fix(openthread): Fix external DNS resolve hook for DNS64 client 2024-12-26 10:21:06 +08:00
Xiao Xufeng 526aef42cc feat(soc): increase c2 max supported version 2024-12-25 20:30:42 +08:00
Song Ruo Jing 47c9382cc2 fix(clk): add an inevitable kconfig option to be selected to use rc32k 2024-12-25 20:07:26 +08:00
Song Ruo Jing 0f9a4890aa fix(uart): fix 8/16-bit uart register access 2024-12-25 19:27:54 +08:00
Song Ruo Jing 5dd2f38eb4 fix(uart): eliminated potential glitch on TX at setup if TX signal is inversed
Closes https://github.com/espressif/esp-idf/issues/14285
2024-12-25 14:37:29 +08:00
morris 610b334c26 Merge branch 'fix/fix_psram_mode_reg_wrong_timing_v5.2' into 'release/v5.2'
psram: fixed mode reg read bad timing on octal and hex psrams (v5.2)

See merge request espressif/esp-idf!35950
2024-12-25 14:13:13 +08:00
morris 9d1b0c2df7 Merge branch 'feat/rmt_return_real_channel_resolution_v5.2' into 'release/v5.2'
feat(rmt): add API to return the real clock resolution of a channel (v5.2)

See merge request espressif/esp-idf!35903
2024-12-25 14:10:47 +08:00
laokaiyao 607afec360 fix(gpio_reserve): reserve the mspi pin regarding line mode 2024-12-25 11:08:32 +08:00
Armando 137cee80d2 fix(psram): fixed mode reg read bad timing on octal and hex psrams 2024-12-25 11:05:53 +08:00
zwl 1e68d50840 feat(ble): add dtm configuration command in hci example 2024-12-25 09:57:29 +08:00
Song Ruo Jing 54ca0cf944 fix(clk): rtc_clk_cpu_freq_set_xtal will always disable CPU's PLL
Align C6/H2 rtc_clk_cpu_freq_set_xtal behavior to other chips
2024-12-24 22:29:14 +08:00
Song Ruo Jing b600a2ef8b fix(gpio): patched esp_rom_gpio_connect_out_signal for esp32 and esp32s2
The original ROM function enabled output for the pad first, and then connected the signal
This could result in an undesired level change at the pad

Closes https://github.com/espressif/esp-idf/issues/12826
2024-12-24 20:17:40 +08:00
Shu Chen af7ce35ee6 Merge branch 'fix/add_macros_for_otbr_v5.2' into 'release/v5.2'
fix(openthread): add macros for ot_br (v5.2)

See merge request espressif/esp-idf!35894
2024-12-24 17:55:18 +08:00
Zhao Wei Liang cf11949a7b feat(ble): Support get ble controller free heap size on ESP32-C2
(cherry picked from commit 2cb7d2437b)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2024-12-24 15:21:21 +08:00
Zhao Wei Liang 226d8d7c75 feat(ble): Support get ble controller free heap size on ESP32-H2
(cherry picked from commit 12f226be7d)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2024-12-24 15:21:19 +08:00
Zhao Wei Liang b77e07b891 feat(ble): Support get ble controller free heap size on ESP32-C6
(cherry picked from commit aa7feb9449)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2024-12-24 15:21:17 +08:00
Zhao Wei Liang 46a0db10ac feat(ble): fixed some ble issues on ESP32-C2
(cherry picked from commit 5f9a3cdd1a)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2024-12-24 15:21:15 +08:00
Zhao Wei Liang 918edefb19 feat(ble): adjust bt default scheme position
(cherry picked from commit 446239251c)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2024-12-24 15:21:13 +08:00
Chen Jian Hua b0f857a0f8 Merge branch 'refactor/optimize_ble_gatt_api_doc' into 'master'
refactor(bt/bluedroid): Optimize BLE GATT related APIs reference

See merge request espressif/esp-idf!34650

(cherry picked from commit 19b5381c99)

7320c77d refactor(bt/bluedroid): Optimize BLE GATT related APIs reference
8a80617c refactor(bt/bluedroid): Optimize BLE GATT related APIs reference
0ac97e98 refactor(bt/bluedroid): Optimize BLE GATT related APIs reference
27b17c69 refactor(bt/bluedroid): Optimize BLE GATT related APIs reference
ea8d7686 docs: Update gattc & gatts api header files
f508772f Apply 3 suggestion(s) to 2 file(s)
03469b52 Apply 2 suggestion(s) to 1 file(s)
aa2cf7a5 docs: fix minor issue
46dc6e96 docs(ble): Replaced "closed" with "terminated" for physical connection.

Co-authored-by: Wei Yu Han <weiyuhan@espressif.com>
2024-12-24 15:19:53 +08:00
laokaiyao bc5f76a636 fix(i2s): add check for the tdm frame bits num 2024-12-24 14:47:01 +08:00
Gustavo Litovsky 4c97aa404a change(esp32): undo forcing two slots in I2S
fix(i2s): fixed the issue in PR 14879

Closes https://github.com/espressif/esp-idf/pull/14879

[Kevin: Update to only remove the limitation for PCM short format]
2024-12-24 14:47:01 +08:00
laokaiyao 1e5ba4282f refactor(i2s): refactor i2s examples common dependencies
Closes https://github.com/espressif/esp-idf/issues/14751

Make the common I2S dependencies as an example common component,
so that to avoid slash & backslash issue on windows
when use absolute include path.
2024-12-24 14:47:01 +08:00
laokaiyao 848f92b02c fix(i2s): return error when mclk_div is smaller than 2 2024-12-24 14:46:47 +08:00
laokaiyao fb0b6e0987 fix(i2s): fixed incorrect buf size calculation 2024-12-24 12:32:07 +08:00
morris cf0dc7a202 feat(rmt): add API to return the real clock resolution of a channel
Closes https://github.com/espressif/esp-idf/pull/15074
2024-12-24 11:17:21 +08:00
Shu Chen 1408102f63 Merge branch 'feature/add_rx_buff_statistic_v5.2' into 'release/v5.2'
feat(802.15.4): IEEE802.15.4 add rx buffer statistic (v5.2)

See merge request espressif/esp-idf!35641
2024-12-24 10:10:57 +08:00
Tan Yan Quan 89d56a9f7a fix(openthread): add macros for ot_br 2024-12-23 21:31:16 +08:00
Rahul Tank baef4f239c Merge branch 'bugfix/ble_common_issues_v5.2' into 'release/v5.2'
Bugfix/ble common issues v5.2

See merge request espressif/esp-idf!35796
2024-12-23 20:05:40 +08:00
Astha Verma 2511d77650 fix(nimble): fix memory leak issue in Blufi example 2024-12-23 11:59:59 +05:30
liuning 47a2725c34 feat(phy): support to query phy used time 2024-12-23 10:58:23 +08:00
Jiang Jiang Jian 9ad543cf85 Merge branch 'bugfix/fix_some_wifi_bugs_20241221_v5.2' into 'release/v5.2'
fix some wifi bugs 20241221(Backport v5.2)

See merge request espressif/esp-idf!35863
2024-12-23 10:45:32 +08:00
xiongweichao a6afd8cdfa fix(bt): Fixed some controller bugs
- Fix epr not being initiated after authentication is completed
- Fixed the issue HCI_READ_CLOCK returned parameter in slot
- Fixed the missmatching of CLKN and FCNT after clock update
2024-12-23 09:41:19 +08:00
chenqingqing 957dd92013 fix(bt): Fix error code returned by create_conn_cancel_cmd at different status
- Closes https://github.com/espressif/esp-idf/issues/7763
2024-12-23 09:41:19 +08:00
Rahul Tank ae21841454 Merge branch 'bugfix/solve_memory_prints_v5.2' into 'release/v5.2'
fix(nimble): Changing esp_rom_printf to ESP_LOGI when memory allocation fails (v5.2)

See merge request espressif/esp-idf!35837
2024-12-22 13:39:22 +08:00
Abhinav Kudnar 14cf65eaf5 fix(nimble): Changing esp_rom_printf to ESP_LOGI when memory allocation fails 2024-12-21 17:11:03 +05:30
weiyuhan c7842486aa fix(ble): removed c5 sdk config 2024-12-21 18:45:16 +08:00
Chen Jian Hua fc38b1f28a feat(bt/bluedroid): Added BLE get started examples for Bluedroid
(cherry picked from commit d051a2a39d)

Co-authored-by: xuzhekai <xuzhekai@espressif.com>
2024-12-21 18:28:33 +08:00
Sudeep Mohanty 4d43c79d0d fix(esp_ringbuf): Fixed no-split ringbuf issue where acquire pointer wraps around
This commit fixes an issue with no-split ring buffers where in the the
buffer did not receive items correctly if the acquire pointer wraps
around before items are sent to it.
2024-12-21 12:08:01 +05:30
muhaidong 18225731a1 fix(wifi): fixed blufi connect wep or wpa ap fail issue 2024-12-21 09:58:34 +08:00
muhaidong e1320471b5 fix(phy): fixed calibration warning infomation inaccurate issue
Closes https://github.com/espressif/esp-idf/issues/14963
2024-12-21 09:58:34 +08:00
Rahul Tank c9787fe233 Merge branch 'bugfix/fix_link_estab_param_v5.2' into 'release/v5.2'
fix(nimble): Corrected link_estab event handling parameters (v5.2)

See merge request espressif/esp-idf!35809
2024-12-21 00:17:55 +08:00
Sergei Silnov 4973c5f8f9 Merge branch 'fix/tools_pip_upgrade_v5.2' into 'release/v5.2'
fix(idf_tools.py): Upgrade pip and setuptools separately (v5.2)

See merge request espressif/esp-idf!35776
2024-12-20 20:07:10 +08:00
morris 8187205d61 Merge branch 'fix/flash_noos_issues_v5.2' into 'release/v5.2'
flash: fixed some no_os API issues (v5.2)

See merge request espressif/esp-idf!35794
2024-12-20 14:40:42 +08:00
Shu Chen c74e96debf Merge branch 'fix/thread-lib-v52' into 'release/v5.2'
fix(openthread): update esp-thread-lib branch (v5.2)

See merge request espressif/esp-idf!35814
2024-12-20 13:32:08 +08:00
Tan Yan Quan 1910f71c7c fix(openthread): update esp-thread-lib branch 2024-12-20 12:29:02 +08:00
morris 44f29fb208 Merge branch 'fix/fix_adc_cali_check_scheme_api_issue_v5.2' into 'release/v5.2'
adc: fixed adc_cali_check_scheme wrong return on c2/h2/c6 (v5.2)

See merge request espressif/esp-idf!35720
2024-12-20 10:19:12 +08:00
Alexey Gerenkov 4a4849597e Merge branch 'fix/coredump_checksum_error_v5.2' into 'release/v5.2'
Fix/coredump checksum error (v5.2)

See merge request espressif/esp-idf!35764
2024-12-19 22:54:38 +08:00
Chen Yudong 1a95f45d3b ci: add build test for eco versions 2024-12-19 21:02:57 +08:00
Island 30f9f9f0fd Merge branch 'bugfix/fix_set_perfer_ext_conn_param_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fixed setting perfer conn params complete event report (v5.2)

See merge request espressif/esp-idf!35746
2024-12-19 19:21:12 +08:00
Rahul Tank 21cebc7df9 fix(nimble): Corrected link_estab event handling parameters 2024-12-19 16:00:46 +05:30
Armando 80abc301bd fix(cache): fixed cache hal ctx not initialised in app issue 2024-12-19 15:16:05 +08:00
Armando 2236ec1491 fix(spi_flash): fixed no_os flash API not consider cache states issue on h2/p4/c6/c5/c61 2024-12-19 15:15:33 +08:00
Roland Dobai d7fe977e0f fix(idf_tools.py): Upgrade pip and setuptools separately
This way the setuptools version dependency resolution will be done by
the upgraded pip.
2024-12-18 12:57:32 +01:00
Shu Chen f098b8f1f0 Merge branch 'feature/change_ot_ci_cases_wlan_to_ethernet_v5.2' into 'release/v5.2'
feat(openthread): change wlan to ethernet (Backport v5.2)

See merge request espressif/esp-idf!35740
2024-12-18 19:20:20 +08:00
Erhan Kurubas 6a7de95fa4 change(coredump): make sure consistency with written data and calculated checksum 2024-12-18 13:25:10 +03:00
chenjianhua fd33d4cfa7 fix(bt/bluedroid): Fixed LE channel selection algorithm event reporting 2024-12-18 11:50:24 +08:00
Chen Jian Hua e1ed3b0fc9 fix(bt/bluedroid): Fixed setting perfer conn params complete event report
(cherry picked from commit 4b352d1c4f)

Co-authored-by: xuzhekai <xuzhekai@espressif.com>
2024-12-18 11:33:26 +08:00
Island 8bd6d9a425 Merge branch 'bugfix/fix_blufi_prepare_write_v5.2' into 'release/v5.2'
fix(blufi): Fixed crash issue in Blufi example during prepare write operation (v5.2)

See merge request espressif/esp-idf!35715
2024-12-18 10:43:23 +08:00
Island 455ea9541c Merge branch 'bugfix/fix_ble_aa_zero_c3_s3_v5.2' into 'release/v5.2'
fix(bt/ble): Update esp32c3/s3 libbtdm_app.a (555b0a2) (v5.2)

See merge request espressif/esp-idf!35690
2024-12-18 10:43:07 +08:00
Island 8394e291fc Merge branch 'docs/add_ble_qualification_table_v5.2' into 'release/v5.2'
docs(ble): Added BLE Qualification Information to API Guides (v5.2)

See merge request espressif/esp-idf!35709
2024-12-18 10:41:21 +08:00
Wei Yu Han 25021fcaad docs(ble): Added BLE Qualification Information to API Guides (v5.2) 2024-12-18 10:41:21 +08:00
yiwenxiu 431a4ff4d4 feat(openthread): change wlan to ethernet 2024-12-18 10:05:20 +08:00
Marius Vikhammer 2aeba7967f Merge branch 'ci/docs_master_build_v5.2' into 'release/v5.2'
ci(docs): revert d98e77a4a7 to simplify CI (v5.2)

See merge request espressif/esp-idf!35686
2024-12-18 09:49:14 +08:00
Roland Dobai af6aa414b2 Merge branch 'change/bump_up_kconfcheck_version' into 'release/v5.2'
ci(pre-commit): bump kconfig checker pre-commit version to 1.5.0

See merge request espressif/esp-idf!35402
2024-12-18 01:31:27 +08:00
Alexey Gerenkov e82f6d2ce6 Merge branch 'fix/test_idf_gdb_v5.2' into 'release/v5.2'
test(system): mark gdb test runners properly (v5.2)

See merge request espressif/esp-idf!35588
2024-12-17 21:44:44 +08:00
Jan Beran cc902394ef ci(pre-commit): bump kconfig checker pre-commit version to 1.5.0 2024-12-17 14:33:28 +01:00
Rahul Tank f8f9805fbc Merge branch 'feat/pts_changes_v5.2' into 'release/v5.2'
feat(nimble): BLE 5.4 PTS Related Features and Fixes (v5.2)

See merge request espressif/esp-idf!34973
2024-12-17 17:51:15 +08:00
Island 1a64da07cf Merge branch 'feat/support_some_vendor_hci_for_qa_v5.2' into 'release/v5.2'
fix(ble): fixed the connect issue when rx error aa on ESP32-C2 (v5.2)

See merge request espressif/esp-idf!35645
2024-12-17 16:49:11 +08:00
Armando a71b7550e3 fix(adc): fixed adc_cali_check_scheme wrong return on c2/h2/c6 2024-12-17 16:17:35 +08:00
Zhang Hai Peng c3c7f4a49f fix(blufi): Fixed crash issue in Blufi example during prepare write operation
(cherry picked from commit 5acb9c9b5f)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2024-12-17 16:13:34 +08:00
zhanghaipeng 74461ca835 docs(ble/bluedroid): Optimize BLE example documentation 2024-12-17 14:28:52 +08:00
zhanghaipeng 9c38d1f29e feat(ble/bluedroid): Support create BLE static random address and NRPA 2024-12-17 14:28:12 +08:00
Marius Vikhammer 810ade0e22 Merge branch 'bugfix/rm_redefined_gpio_num_v5.2' into 'release/v5.2'
fix(ulp): remove redefinition and unify gpio enum in ulp (v5.2)

See merge request espressif/esp-idf!33473
2024-12-17 14:10:33 +08:00
Omar Chebib 410276dda0 fix(esp_psram): fix a bug in PSRAM heap registration
This commit fixes a bug in the PSRAM heap initialization that didn't take into
account the reserved himem area when registering the PSRAM virtual space as a heap.
2024-12-17 12:20:18 +08:00
zhangyanjiao 556b7c96b2 fix(ci): Enlarge the pcap memory size in sniffer example 2024-12-17 11:11:27 +08:00
Troy 1ccbf7210b fix(wifi/mesh): Modify examples/mesh/internal_communication
Delete the secondary judgment of whether it is the root node in the sending task

Closes https://github.com/espressif/esp-idf/pull/14373

Signed-off-by: zhangyanjiao <zhangyanjiao@espressif.com>
2024-12-17 11:11:20 +08:00
xiongweichao 34a69668a8 fix(ble): fixed that the resolvable private address does not change when light sleep is enabled 2024-12-17 10:51:04 +08:00
zhanghaipeng 7ff64ac625 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(555b0a2)
- Check Access Address when receive connection request PDU
- Fix issue with BLE5.0 duplicate scan for chained packets
2024-12-17 10:51:00 +08:00
Marius Vikhammer 5d29851c9c ci(docs): revert d98e77a4a7 to simplify CI 2024-12-17 10:13:15 +08:00
Xiaoyu Liu 9902d9aa7d fix(ulp): remove redefinition and unify gpio enum in ulp 2024-12-17 09:57:02 +08:00
Mahavir Jain eb5e602ab2 Merge branch 'feature/add_support_for_http_1.0_requests_v5.2' into 'release/v5.2'
feat(esp_http_server): add support to handle HTTP 1.0 requests (v5.2)

See merge request espressif/esp-idf!35661
2024-12-16 22:01:22 +08:00
David Cermak 8ee8cb11f6 fix(esp_netif): Prevent null deref when checking netif type
Most esp_netif public API check for invalid arguments, but when enabling
PPP the macros to check netif type could potentially dereference
esp_netif without any null-check.

Releted to https://github.com/espressif/esp-idf/issues/14816
2024-12-16 11:15:11 +01:00
David Cermak 184b55287b fix(tcp_transport): Fix websocket header read to handle overflow 2024-12-16 11:14:13 +01:00
Abhinav Kudnar 9d5753edcc feat(nimble): Added PAwR support for nimble with IDF examples 2024-12-16 15:12:00 +05:30
Sumeet Singh a6f7fd52f2 fix(nimble): Added
1. Option to disable automatic discovery when receiving out-of-sync
2. Fixed bugs related to robust caching
2024-12-16 15:11:59 +05:30
Sumeet Singh a4a1be0cf9 feat(nimble): Added ways to enable/disable some menuconfig options at runtime 2024-12-16 15:11:59 +05:30
Sumeet Singh a4db5ad5fd feat(nimble): Added option to disable automatically sending extra credits to peer 2024-12-16 15:11:59 +05:30
Sumeet Singh 3e793bdbc3 feat(nimble): Added support for persisting csf characteristic for bonded devices 2024-12-16 15:11:59 +05:30
Sumeet Singh ea1644649a feat(nimble): Added option in menuconfig to enable Secure Connections Only mode 2024-12-16 15:11:59 +05:30
Sumeet Singh 0e15c4cf38 fix(nimble): fix and enable connection subrating 2024-12-16 15:11:59 +05:30
Sumeet Singh 2f8b212c5a fix(nimble): Added option to enable code under Enhanced COC 2024-12-16 15:11:59 +05:30
Sumeet Singh 95c0ecd42f fix(nimble): Fixed Device Information and Scan Parameters service 2024-12-16 15:11:59 +05:30
Sumeet Singh 65b06bface fix(nimble): Fixed encrypted advertisement data example 2024-12-16 15:11:59 +05:30
Sumeet Singh 03f1c497f3 feat(nimble): Added LE GATT Security Levels Characteristic 2024-12-16 15:11:59 +05:30
Sumeet Singh d6d361ff7f feat(nimble): Added support for EATT Credit Based Flow Control Mode 2024-12-16 15:11:58 +05:30
nilesh.kale c8951df9b5 feat(esp_http_server): add support to handle HTTP 1.0 requests
This commit adds support to handle HTTP/1.0 requests alongside HTTP/1.1 for
legacy compliance purposes.
2024-12-16 14:11:03 +05:30
Tan Yan Quan ed5f9badec feat(802.15.4): remove unnecessary includes in ieee802154 test case 2024-12-16 15:27:25 +08:00
Rahul Tank 91baeeb61c Merge branch 'bugfix/fix_vulnerability_v5.2' into 'release/v5.2'
fix(nimble): Fixes for security vulnerabilities reported in NimBLE (v5.2)

See merge request espressif/esp-idf!35501
2024-12-16 14:48:37 +08:00
Island e3ae161ac2 Merge branch 'feat/support_bleqabr24_1539_v5.2' into 'release/v5.2'
feat(bt/bluedroid): Added config for saving BLE bonding keys to NVS (v5.2)

See merge request espressif/esp-idf!35602
2024-12-16 14:25:42 +08:00
Zhao Wei Liang d3a05021be fix(ble): fixed the connect issue when rx error aa on ESP32-C2
(cherry picked from commit 6b01a56e09)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2024-12-16 11:03:34 +08:00
Zhao Wei Liang 5fcf584127 feat(ble): support some vendor hci commands on ESP32-H2
(cherry picked from commit 15203f9f35)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2024-12-16 11:03:32 +08:00
Zhao Wei Liang 9738ee55ca feat(ble): support some vendor hci commands on ESP32-C6
(cherry picked from commit 5bd66eaa57)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2024-12-16 11:03:30 +08:00
Jiang Jiang Jian 08b28212b7 Merge branch 'fix/fix_esp32c2_ld_issue_v52' into 'release/v5.2'
fix(wifi): fix esp32c2 ld issue v52

See merge request espressif/esp-idf!35607
2024-12-16 11:01:51 +08:00
Tan Yan Quan 14e2d6759e feat(802.15.4): add some documentation for txrx statistics and debug record 2024-12-16 10:53:34 +08:00
Tan Yan Quan f1393f7687 feat(802.15.4): IEEE802.15.4 add documentation and refactor component structure 2024-12-16 10:53:32 +08:00
Tan Yan Quan 199b866187 feat(802.15.4): IEEE802.15.4 add some minor edits for readability 2024-12-16 10:51:49 +08:00
Tan Yan Quan e457e0da34 feat(802.15.4): IEEE802.15.4 add rx buffer statistic 2024-12-16 10:51:46 +08:00
morris 067d4dda38 Merge branch 'feat/allow_to_skip_legacy_driver_conflict_check_v5.2' into 'release/v5.2'
feat(legacy_driver): add kconfig to skip legacy confilct check (v5.2)

See merge request espressif/esp-idf!35618
2024-12-13 18:41:48 +08:00
Island 119fa8f958 Merge branch 'fix/ble_mesh_enable_high_duty_itvl_on_nimble_v5.2' into 'release/v5.2'
feat(ble_mesh): select BT_NIMBLE_HIGH_DUTY_ADV_ITVL when using random adv itvl (v5.2)

See merge request espressif/esp-idf!35597
2024-12-13 16:21:56 +08:00
Chen Jichang 94d50d90e2 feat(legacy_driver): add kconfig to skip legacy confilct check 2024-12-12 19:33:59 +08:00
Shu Chen a41e39cd49 Merge branch 'bugfix/fixed-zigbee-dirty-backport' into 'release/v5.2'
fix(zigbee): fixed the dirty zigbee backport

See merge request espressif/esp-idf!35592
2024-12-12 15:46:22 +08:00
wangtao@espressif.com ef11490a6e fix(wifi): fix esp32c2 ld issue 2024-12-12 14:44:09 +08:00
Chen Jian Hua a652985f9a fix(bt/bluedroid): Fixed failure to get host status when host is not enabled
(cherry picked from commit 23455ea9c2)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2024-12-12 12:33:31 +08:00
Chen Jian Hua d28072b4d5 feat(bt/bluedroid): Added config for saving BLE bonding keys to NVS
(cherry picked from commit 6d1160b2e6)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2024-12-12 12:33:29 +08:00
Luo Xu bfdf50e787 feat(ble_mesh): select BT_NIMBLE_HIGH_DUTY_ADV_ITVL
(cherry picked from commit 6faf0a59fdcf063d40fc1000a209341318131185)

Co-authored-by: luoxu <luoxu@espressif.com>

(cherry picked from commit a7622efd0c)

Co-authored-by: Luo Xu <luoxu@espressif.com>
2024-12-12 12:23:27 +08:00
xieqinan@espressif.com e18005cc12 fix(zigbee): fixed the dirty zigbee backport 2024-12-12 11:50:12 +08:00
Jiang Jiang Jian 24c98125dc Merge branch 'bugfix/fixed_rx_bar_from_null_bss_issue_v5.2' into 'release/v5.2'
fix(wifi): fixed softap rx bar from null bss issue(Backport v5.2)

See merge request espressif/esp-idf!35520
2024-12-12 10:27:12 +08:00
Island aabe255f89 Merge branch 'bugfix/fix_hid_crash_v5.2' into 'release/v5.2'
fix(ble): Fix crash issue during logging (v5.2)

See merge request espressif/esp-idf!35509
2024-12-12 09:06:11 +08:00
Erhan Kurubas f4e6591a89 change(cmake): use board configuration file for ftdi interface 2024-12-11 18:47:43 +01:00
Erhan Kurubas d1d42a9b48 test(system): mark gdb test runners properly 2024-12-11 18:47:43 +01:00
muhaidong e746365100 fix(wifi): fixed softap rx bar from null bss issue 2024-12-11 19:12:43 +08:00
Jiang Jiang Jian 118ae2ae56 Merge branch 'feat/add_no_bss_deauth_protect_v52' into 'release/v5.2'
add protect for softap when sending mgmt frame to not connected station v52

See merge request espressif/esp-idf!35547
2024-12-11 14:00:50 +08:00
Shu Chen 2ad3c78a55 Merge branch 'fix/disable_border_agent_default_v5_2' into 'release/v5.2'
fix(openthread): Disable Border Agent features by default(v5.2)

See merge request espressif/esp-idf!35552
2024-12-11 13:09:11 +08:00
WanqQixiang 219ae80d23 fix(openthread): Disable Border Agent features by default 2024-12-11 10:56:35 +08:00
Lou Tianhao 7a750a55f8 change(esp_pm): change pm_slp_iram_opt dependence 2024-12-11 10:15:56 +08:00
Alexey Gerenkov f238830f0c Merge branch 'fix/coredump-gcc-analyzer-warnings_v5.2' into 'release/v5.2'
fix(system): fix GCC-14 analyzer warnings for coredump (v5.2)

See merge request espressif/esp-idf!35524
2024-12-10 21:54:48 +08:00
wangtao@espressif.com 66b90652d3 feat(wifi): add protect for softap send no bss deauth releated code lib 2024-12-10 21:07:09 +08:00
wangtao@espressif.com 2c3cfb9150 feat(wifi): add protect for softap send no bss deauth 2024-12-10 20:25:27 +08:00
Sarvesh Bodakhe c3d4270d79 fix(esp_wifi): Add some bugfixes and cleanup in softAP
1. Fix wrong reason code in 'WIFI_EVENT_AP_STADISCONNECTED' event
2. cleanup in softAP for disconnecting connected station
3. Update examples to display reason while processing WIFI_EVENT_AP_STADISCONNECTED event
2024-12-10 20:22:51 +08:00
Erhan Kurubas 1011ab5f6d fix(espcoredump): prevent null pointer dereference in panic reason handling 2024-12-09 15:19:43 +01:00
Erhan Kurubas 8e0d94987d fix(espcoredump): fix incorrect pointer usage in checksum update call 2024-12-09 15:18:28 +01:00
Alexey Lapshin 1f44c15157 fix(espcoredump): fix GCC-14 analyzer warnings for coredump 2024-12-09 15:18:21 +01:00
zhanghaipeng 88ae97e8be feat(bt): Add support for converting BT HCI logs to btsnoop format 2024-12-09 17:54:20 +08:00
Zhang Hai Peng 629c94b11e fix(blufi): Fixed blufi init fail after deinit
(cherry picked from commit 7addb57ccd)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2024-12-09 17:45:27 +08:00
Jiang Jiang Jian 411385cf8c Merge branch 'fix/ws_transport_head_fragments_v5.2' into 'release/v5.2'
fix(ws_transport): Fix reading WS header in fragments (v5.2)

See merge request espressif/esp-idf!35090
2024-12-09 17:16:12 +08:00
Zhang Hai Peng e6793d4df9 fix(ble): Fixed crash in BLE HID host example during logging
(cherry picked from commit ab1e3c1ffd)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2024-12-09 17:15:02 +08:00
Rahul Tank d502127c10 fix(nimble): Fixes for security vulnerabilities reported in NimBLE 2024-12-08 22:06:27 +05:30
Roland Dobai 3f920b5abf Merge branch 'feature/move-gdb-options-to_project_description_json_v5.2' into 'release/v5.2'
feat(debugging): move gdbinit generation to CMake (v5.2)

See merge request espressif/esp-idf!35177
2024-12-07 08:20:18 +08:00
Rahul Tank c19ac4685d Merge branch 'fix/hci_err_code_def_v5.2' into 'release/v5.2'
fix(nimble): Added a function for printing HCI error definition (v5.2)

See merge request espressif/esp-idf!35203
2024-12-07 00:02:43 +08:00
shenmengjing b7b6fff848 docs: Update CN translation for docs in jtag-degugging 2024-12-06 19:32:39 +07:00
Alexey Lapshin 080f1a0b0d feat(debugging): move gdbinit generation to CMake
This feature is useful for 3rd-party software to run GDB with predefined
options that described in project_description.json file

allow to pass custom options to "idf.py gdb":

  --gdb-commands: command line arguments for gdb. (without changes)
  -ex: pass command to gdb.
  -x: pass gdbinit file to gdb. Alias for old --gdbinit command
2024-12-06 19:32:34 +07:00
morris 6047df10ff Merge branch 'bugfix/uart_vfs_read_behavior_v5.2' into 'release/v5.2'
fix(uart_vfs): read() now aligned to POSIX defined behavior (v5.2)

See merge request espressif/esp-idf!35395
2024-12-06 18:38:49 +08:00
Island 71365083e6 Merge branch 'bugfix/fix_ble_creat_conn_fail_enh_v5.2' into 'release/v5.2'
fix(ble/bluedroid): Fixed BLE create connection fail because of invalid own address type (v5.2)

See merge request espressif/esp-idf!35017
2024-12-06 15:49:16 +08:00
Jiang Jiang Jian e4a91596f2 Merge branch 'bugfix/access_null_in_hf_cb_v5.2' into 'release/v5.2'
fix(bt/bluedroid): fixed access NULL in HFP callback handler (v5.2)

See merge request espressif/esp-idf!35408
2024-12-06 14:27:23 +08:00
Shu Chen 93ee80c625 Merge branch 'fix/add_delay_before_command_in_ot_ci_case_v5.2' into 'release/v5.2'
feat(openthread): add delay before execute wifi command in openthread ci cases (Backport v5.2)

See merge request espressif/esp-idf!35420
2024-12-06 11:15:49 +08:00
Jiang Jiang Jian 15c32509dd Merge branch 'bugfix/watchdog_timer_ap_sta_esp32c5_v5.2' into 'release/v5.2'
fix(wifi): Prevent overwriting of scan parameters in consecutive scans(Backport v5.2)

See merge request espressif/esp-idf!34456
2024-12-05 17:47:32 +08:00
Roman Leonov 7c56120be1 feat(hub): Added notification when hubs support is disabled 2024-12-05 10:32:52 +01:00
akshat 79ab50bc69 fix(wifi): Prevent overwriting of scan parameters in consecutive scans 2024-12-05 16:06:00 +08:00
Song Ruo Jing 233ab81bd1 fix(uart_vfs): read() now aligned to POSIX defined behavior
- For blocking mode, block until data available
- Return with the bytes available in the file at the time,
  it should not block until reaching the requested size

And read() should not realy return on the newline character
Closes https://github.com/espressif/esp-idf/issues/14155
2024-12-05 15:59:05 +08:00
Jiang Jiang Jian 9d7bf28e8e Merge branch 'bugfix/retry_count_when_sta_disconnect_v5.2' into 'release/v5.2'
fix(wifi): Do not attempt re-connection as per 'failure_retry_cnt' when sta itself issues disconnect in between of connection establishment (Backport v5.2)

See merge request espressif/esp-idf!34183
2024-12-05 14:00:10 +08:00
Jin Cheng 8328cf3dc3 fix(bt/bluedroid): fixed access NULL in HFP callback handler 2024-12-05 13:21:31 +08:00
Island 2b328c0abe Merge branch 'fix/ble_mesh_bugs_fixed_v5.2' into 'release/v5.2'
fix(ble_mesh): Miscellaneous update (v5.2)

See merge request espressif/esp-idf!35425
2024-12-05 12:30:12 +08:00
Sergei Silnov 566d04ecd9 Merge branch 'fix/unity_tester_v5.2' into 'release/v5.2'
refactor: changed logic of unity_tester (v5.2)

See merge request espressif/esp-idf!35394
2024-12-05 01:38:57 +08:00
morris 90f076081a Merge branch 'bugfix/esp32c3_eco7_usj_console_v5.2' into 'release/v5.2'
fix(esp_rom): fix esp32c3 eco7 console rom function address (v5.2)

See merge request espressif/esp-idf!34740
2024-12-04 22:57:35 +08:00
Jiang Jiang Jian 501f4ab608 Merge branch 'bugfix/wps_ie_reset_v52' into 'release/v5.2'
fix(wifi): Remove WPS IEs once WPS succeeds(v5.2)

See merge request espressif/esp-idf!35079
2024-12-04 19:32:58 +08:00
yiwenxiu 902bef7ec5 feat(openthread): add delay before execute wifi command in openthread ci cases 2024-12-04 17:12:49 +08:00
Luo Xu 80471c2165 fix(ble_mesh): Miscellaneous update
(cherry picked from commit 589ebfc1d6)

Co-authored-by: luoxu <luoxu@espressif.com>
2024-12-04 16:23:30 +08:00
akshat 7d1324807b fix(wifi): Do not try re-connection when sta disconnects with esp_wifi_disconnect()
Do not follow wifi_config::wifi_sta_config::failure_retry_cnt logic when
station itself issues a disconnect from AP/Router using
esp_wifi_disconnect()
2024-12-04 13:02:10 +05:30
morris 176306214e Merge branch 'fix/fix_esp32_pico_v3_psram_not_ignored_issue_v5.2' into 'release/v5.2'
psram: fixed esp32p pico-v3 psram init not ignored issue (v5.2)

See merge request espressif/esp-idf!35379
2024-12-04 15:23:21 +08:00
Jiang Jiang Jian ac2a70087e Merge branch 'fix/fix_regdma_wait_node_issue_v5.2' into 'release/v5.2'
fix(esp_hw_support): fix the issue of regdma wait node to immediately return to done (v5.2)

See merge request espressif/esp-idf!35359
2024-12-04 13:56:34 +08:00
Jiang Jiang Jian d450c81766 Merge branch 'feat/support_esp32c2_eco4_wifi_v52' into 'release/v5.2'
Feat/support esp32c2 eco4 wifi v52

See merge request espressif/esp-idf!35382
2024-12-04 12:14:31 +08:00
Jiang Jiang Jian b00f4a4610 Merge branch 'bugfix/fix_ble_ke_mem_267_assert_v5.2' into 'release/v5.2'
fix(bt/controller): Fixed BLE assert ke_mem.c line 267 on ESP32-C3 and ESP32-S3 (backport v5.2)

See merge request espressif/esp-idf!35339
2024-12-04 11:48:52 +08:00
Jiang Jiang Jian 1fc6ee6763 Merge branch 'bugfix/chip823_pll_bug_v5.2' into 'release/v5.2'
fix(H2):fix pll low temp bug(v5.2)

See merge request espressif/esp-idf!35240
2024-12-04 11:48:21 +08:00
Kapil Gupta 1c5a84c369 fix(wifi): Remove WPS IEs once WPS succeeds 2024-12-04 11:47:37 +08:00
morris 9c6952f7b4 Merge branch 'contrib/github_pr_14767_v5.2' into 'release/v5.2'
fix(gptimer): race on FSM state in gptimer_start() (GitHub PR) (v5.2)

See merge request espressif/esp-idf!35136
2024-12-04 10:13:51 +08:00
Li Bo d39ffaf84c fix(esp_rom): fix esp32c3 eco7 console rom function address 2024-12-04 10:05:27 +08:00
morris 119e7f41a9 Merge branch 'bugfix/test_esp_flash_write_v5.2' into 'release/v5.2'
fix(spi_flash): Fix Test esp_flash_write (v5.2)

See merge request espressif/esp-idf!35386
2024-12-04 10:03:34 +08:00
chenjianhua 35d7c5a4ab feat(ble/bluedroid): Support setting connection params when creating connection 2024-12-03 18:02:37 +08:00
zhanghaipeng 68991d317c fix(ble/bluedroid): Optimize BLE API "esp_ble_gattc_enh_open" 2024-12-03 18:01:04 +08:00
zhanghaipeng 984c023ef4 fix(ble/bluedroid): Fixed BLE create connection fail because of invalid own address type 2024-12-03 18:01:04 +08:00
Astha Verma 8c3304c6b0 fix(nimble): Added a function for printing HCI error definition 2024-12-03 14:52:50 +05:30
igor.udot 3edae05e39 fix: add count for wpa test 2024-12-03 09:43:15 +01:00
igor.udot e09fd7fce4 refactor: changed logic of unity_tester, replaced threads by generators 2024-12-03 09:43:15 +01:00
Konstantin Kondrashov 465a51245d fix(spi_flash): Fix Test esp_flash_write 2024-12-03 09:55:45 +02:00
Armando 974ecd2eae fix(psram): fixed esp32p pico-v3 psram init not ignored issue
Closes https://github.com/espressif/esp-idf/issues/14970
2024-12-03 15:25:17 +08:00
wangtao@espressif.com ad3be2f362 feat(wifi): update support esp32c2eco4 wifi lib 2024-12-03 15:12:09 +08:00
wangtao@espressif.com 4014565cd1 feat(wifi): support esp32c2 eco4 wifi bringup sync head 2024-12-03 15:08:00 +08:00
wangtao@espressif.com 37db8f32f0 fix(wifi): fix esp32c2 eco4 ld issue 2024-12-03 14:57:24 +08:00
wangtao@espressif.com 0519619e26 feat(wifi): support esp32c2 eco4 wifi bringup 2024-12-03 14:38:40 +08:00
Jiang Jiang Jian 0b2e6d68df Merge branch 'bugfix/sae_h2e_vulnerability_fix_v5.2' into 'release/v5.2'
fix(wifi): Sae check for invalid rejected group (v5.2)

See merge request espressif/esp-idf!33980
2024-12-03 14:33:29 +08:00
Li Shuai a87c6408ec fix(esp_hw_support): fix the issue of regdma wait node to immediately return to done 2024-12-03 10:35:43 +08:00
Rahul Tank 1c4a3106dc Merge branch 'bugfix/fix_esp_hid_host_compilation_v5.2' into 'release/v5.2'
fix(nimble): Fix compilation issue in esp_hid_host example (v5.2)

See merge request espressif/esp-idf!35309
2024-12-02 20:17:21 +08:00
Rahul Tank 0b4e4f6ea3 Merge branch 'bugfix/change_hci_cb_logging_v5.2' into 'release/v5.2'
fix(nimble): Replace ESP_LOG* with esp_rom_printf in controller context callback (v5.2)

See merge request espressif/esp-idf!35029
2024-12-02 18:22:33 +08:00
zhiweijian 53b5379399 fix(bt/controller): Fixed BLE assert ke_mem.c line 267 on ESP32-C3 and ESP32-S3 2024-12-02 16:13:03 +08:00
Island f53cf30666 Merge branch 'fix/ble_mesh_heartbeat_bug_v5.2' into 'release/v5.2'
fix(ble_mesh): fixed heartbeat issue (v5.2)

See merge request espressif/esp-idf!34964
2024-12-02 11:29:49 +08:00
Wang Meng Yang b2219fbdea Merge branch 'bugfix/sdp_get_uuid_error_v5.2' into 'release/v5.2'
fix(bt/bluedroid): fixed issues introduced by byte alignment(v5.2)

See merge request espressif/esp-idf!35252
2024-12-02 08:44:48 +08:00
Wang Meng Yang 420bf72242 Merge branch 'fix/duplicated_enc_restart_request_when_change_key_type_v5.2' into 'release/v5.2'
fix(bt): fixed some issues in esp32 bt controller(backport v5.2)

See merge request espressif/esp-idf!35296
2024-11-29 20:03:28 +08:00
Rahul Tank f8ed8d8e25 fix(nimble): Fix compilation issue in esp_hid_host example 2024-11-29 15:24:12 +05:30
morris 3341e73852 Merge branch 'docs/update_vscode_extension_link_v5.2' into 'release/v5.2'
docs: Update vscode extension link in get started (v5.2)

See merge request espressif/esp-idf!35304
2024-11-29 17:30:46 +08:00
Aditya Patwardhan b369dfe29d Merge branch 'bugfix/fix_build_failure_with_tls1_3_only_v5.2' into 'release/v5.2'
fix: Fixed build errors with TLS 1.3 only configuration (v5.2)

See merge request espressif/esp-idf!35261
2024-11-29 16:07:19 +08:00
luweike 2b1e4daed0 docs: Update vscode extension link in get started 2024-11-29 16:06:50 +08:00
gongyantao aba91a5d2b fix(bt): fixed some issues in esp32 bt controller
1: fix duplicated lc_enc_restart_req when new lk type is semi-permanent
   key
2: reset PreventEncEvt flag at the end of restart encryption procedure
2024-11-29 14:11:17 +08:00
Marius Vikhammer c209dbefe1 Merge branch 'fix/memprot-config-used-in-memory-layouts_v5.2' into 'release/v5.2'
fix(heap): Fix wrong config to enable MALLOC_CAP_EXEC in memory_layout.c (backport v5.2)

See merge request espressif/esp-idf!35217
2024-11-29 12:54:56 +08:00
Rahul Tank dda2ba1f3b Merge branch 'bugfix/resolve_watchdog_crash_v5.2' into 'release/v5.2'
fix(nimble): Resolved watchdog due to memory exceed prints (v5.2)

See merge request espressif/esp-idf!35210
2024-11-28 14:59:01 +08:00
Harshit Malpani 8d0c4ee711 fix(wpa_supplicant): Fix build errors for exclusive TLSv1.3 mbedtls config
Co-authored-by: Sarvesh Bodakhe <sarvesh.bodakhe@espressif.com>
2024-11-28 09:52:01 +05:30
Harshit Malpani 5a0324ad89 fix: Fixed build errors with TLS 1.3 only configuration 2024-11-28 09:49:03 +05:30
Island cc237b5d4c Merge branch 'bugfix/add_aa_check_on_esp32c2_and_esp32c6_v5.2' into 'release/v5.2'
Bugfix/add aa check on esp32c2 and esp32c6 (v5.2)

See merge request espressif/esp-idf!35232
2024-11-28 11:02:42 +08:00
Shu Chen 2a9a1f9100 Merge branch 'fix/enhance_wifi_connection_check_in_ot_ci_case_v5.2' into 'release/v5.2'
feat(openthread): enhance wifi connection check in openthread ci cases (Backport v5.2)

See merge request espressif/esp-idf!35161
2024-11-28 10:47:00 +08:00
xiongweichao 84f95469eb fix(bt/bluedroid): fixed issues introduced by byte alignment
- esp_bt_uuid_t is byte aligned, tBT_UUID is 4-byte aligned.
2024-11-28 10:32:51 +08:00
Alexey Gerenkov d4f1920476 Merge branch 'change/sysview_test_config_v5.2' into 'release/v5.2'
change(sysview): run heap_log tracing tests on existing cores (v5.2)

See merge request espressif/esp-idf!35197
2024-11-27 19:00:15 +08:00
Abhinav Kudnar 8d8da1d7ed fix(nimble): Resolved watchdog due to memory exceed prints 2024-11-27 18:04:01 +08:00
zlq 594feec0eb fix(H2):fix pll low temp bug 2024-11-27 17:50:08 +08:00
Shu Chen 7f6cb15581 Merge branch 'backport/openthread_related_feature_v52_20241125' into 'release/v5.2'
Backport openthread related features to 5.2

See merge request espressif/esp-idf!35173
2024-11-27 16:38:22 +08:00
zwl 07181e5cc1 fix(ble): fixed the connect issue when rx error aa on ESP32-C6 2024-11-27 16:22:43 +08:00
Zhao Wei Liang df3b401129 fix(ble): fixed the connect issue when rx error aa on ESP32-H2
(cherry picked from commit 093b65e27c)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2024-11-27 16:03:39 +08:00
yiwenxiu c3ddeabf35 feat(openthread): enhance wifi connection check in openthread ci cases 2024-11-27 15:45:48 +08:00
Island 50f50903f2 Merge branch 'bugfix/fix_bleqabr24_1646_v5.2' into 'release/v5.2'
Fixed BLE creating connection when the connection already exists on ESP32 (v5.2)

See merge request espressif/esp-idf!35045
2024-11-27 15:44:36 +08:00
Island 3cec09f32c Merge branch 'feat/optimize_cble50y24_110_v5.2' into 'release/v5.2'
feat(bt/bluedroid): Added BLE 5.0 throughput examples (v5.2)

See merge request espressif/esp-idf!35008
2024-11-27 15:36:50 +08:00
Jiang Jiang Jian 3016c2e324 Merge branch 'bugfix/sae_pk_transition_disable_v5.2' into 'release/v5.2'
fix(wifi): Fix bug in wrong profile checking of AP's RSNXE IE and other fixes (Backport v5.2)

See merge request espressif/esp-idf!34888
2024-11-27 13:41:43 +08:00
Chen Jian Hua 28e1524c7e feat(bt/bluedroid): Added BLE 5.0 throughput examples
(cherry picked from commit 6d3a82eecf)

Co-authored-by: zhangbowen <zhangbowen@espressif.com>
2024-11-27 11:50:39 +08:00
Shyamal Khachane 325ce1f8f9 fix(esp_wifi): Populate appropriate reason codes when softAP sends deauthentication
Populate appropriate reason for sending deauthentication when softAP receives
invalid RSN IE from association request
2024-11-26 23:37:35 +05:30
Sarvesh Bodakhe fca3fab225 fix(wifi): Fix wrong wifi reason codes reported on station and softAP
- Fix wrong reason code reported when softAP issues a disconnect for station
- Fix wrong reason code reported when association timeout happens at station
- Deprecate enums WIFI_REASON_ASSOC_EXPIRE, WIFI_REASON_NOT_AUTHED, WIFI_REASON_NOT_ASSOCED
  and use WIFI_REASON_DISASSOC_DUE_TO_INACTIVITY,
  WIFI_REASON_CLASS2_FRAME_FROM_NONAUTH_STA,
  WIFI_REASON_CLASS3_FRAME_FROM_NONASSOC_STA respectively
- Update wifi documentation related to reason codes
2024-11-26 23:36:54 +05:30
Sarvesh Bodakhe 0bc704bb62 fix(wpa_supplicant): Fix debug print in wps_start_msg_timer() 2024-11-26 23:36:54 +05:30
Sarvesh Bodakhe 79f13ab9d8 fix(wifi): Fix bug in wrong profile checking of AP's RSNXE IE 2024-11-26 23:36:52 +05:30
Guillaume Souchere a5eb9f34e1 fix(heap): Fix wrong config to enable MALLOC_CAP_EXEC in memory_layout.c
In esp32c2 and esp32c61 memory_layout.c files, the config used to allow
MALLOC_CAP_EXEC was CONFIG_ESP_SYSTEM_MEMPROT_FEATURE when
CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT should be used.

Closes https://github.com/espressif/esp-idf/issues/14836
2024-11-26 12:41:16 +01:00
Erhan Kurubas 6f82c51403 fix(sysview): add prefix to the module desc to avoid stuck in Segger SystemView app
Closes https://github.com/espressif/esp-idf/issues/10483
2024-11-26 11:02:31 +01:00
Erhan Kurubas d73b92f61c change(sysview): support single/dual core targets in heap_trace_log test 2024-11-26 08:50:02 +01:00
morris aa07a85df2 Merge branch 'fix/suspend_ci_v5.2' into 'release/v5.2'
test(spi_flash): Fix some failing test related to spi flash (backport v5.2)

See merge request espressif/esp-idf!35156
2024-11-26 15:38:47 +08:00
chenjianhua 18920261c8 fix(bt): Update bt lib for ESP32(c3082c4)
- Fixed BLE creating connection when the connection already exists
2024-11-26 15:30:56 +08:00
Wang Meng Yang 5107c17e3d Merge branch 'feat/add_profile_state_event_v5.2' into 'release/v5.2'
feat(bt/bluedroid): added events to indicate the profile states of HFP (v5.2)

See merge request espressif/esp-idf!35150
2024-11-26 15:01:58 +08:00
Wang Meng Yang 2facc4d374 Merge branch 'bugfix/disconn_sdp_upon_wrong_data_v5.2' into 'release/v5.2'
fix(bt/bluedroid): disconnect SDP connection on receiving incorrect response (v5.2)

See merge request espressif/esp-idf!35145
2024-11-26 14:59:56 +08:00
Jiang Jiang Jian 9a9a813774 Merge branch 'bugfix/fix_wifi_bugs_241122_v5.2' into 'release/v5.2'
bugfix: fix some wifi bugs 241122 v5.2

See merge request espressif/esp-idf!35130
2024-11-26 14:50:29 +08:00
Island 6e07162da2 Merge branch 'bugfix/fix_c2_light_sleep_coex_v5.2' into 'release/v5.2'
fix(ble): fix ble light sleep error on esp32c2 (v5.2)

See merge request espressif/esp-idf!35054
2024-11-26 11:10:11 +08:00
Jiang Jiang Jian cac1db625d Merge branch 'bugfix/fix_external_coex_build_fail_issue_v5.2' into 'release/v5.2'
fix external coex build fail issue

See merge request espressif/esp-idf!35179
2024-11-26 10:27:27 +08:00
Chen Yudong e89948ddbe ci: increase test_wifi_power_save got ip timeout 2024-11-25 20:48:03 +08:00
muhaidong a733df7d70 fix external coex build fail issue 2024-11-25 20:20:15 +08:00
Xu Si Yu c0c8335994 feat(openthread): adjusted the default macro configurations of openthread 2024-11-25 14:32:27 +08:00
C.S.M c1288de7a1 test(spi_flash): Fix some failing test related to spi flash 2024-11-25 14:22:04 +08:00
Xu Si Yu 3466f70e99 feat(openthread): support using custom header file 2024-11-25 12:34:00 +08:00
Jin Cheng c38203e56e feat(bt/bluedroid): added events to indicate the profile states of HFP 2024-11-25 10:22:55 +08:00
Jin Cheng b3f7427b1c fix(bt/bluedroid): disconnect SDP connection on receiving incorrect response 2024-11-25 10:20:04 +08:00
Wang Meng Yang 72c8dffe13 Merge branch 'bugfix/lmp_trans_collision_v5.2' into 'release/v5.2'
fix(bt/controller): Fixed some controller bugs on ESP32 (v5.2)

See merge request espressif/esp-idf!34946
2024-11-25 09:50:51 +08:00
lsita b294d7d3e3 fix(gptimer): race condition between start and stop
Merges https://github.com/espressif/esp-idf/pull/14767
2024-11-22 18:24:35 +08:00
sibeibei 2719ebce3f fix(wifi): fix some wifi issues 241031
1. fix cant sleep if reconnect to connected ap
    2. clear pmk in internal reconnection
    3. update connect status for init-->auth
2024-11-22 16:51:12 +08:00
wangtao@espressif.com 8626e5f400 fix(wifi): fix ampdu to normal cause free buffer twice issue 2024-11-22 16:49:41 +08:00
Jin Cheng 22074ee144 fix(bt/controller): Fixed some controller bugs on ESP32
- Fixed wrong logic in handling sniff transaction collision at slave
      side
    - Fixed the issue ACL is stopped too early before eSCO
2024-11-22 12:25:00 +08:00
Jin Cheng 9f809e11de fix(bt/bluedroid): AG should send OK or other error codes to HF client
when it is driven by HF to initiate a call.
2024-11-22 12:25:00 +08:00
Jin Chen 61b29d8550 fix(ble): change ld for ble scan coex issue
(cherry picked from commit dd499d7b2e)

Co-authored-by: cjin <jinchen@espressif.com>
2024-11-22 10:42:44 +08:00
Jin Chen 3186c881c0 fix(ble): fix ble light sleep error on esp32c2
(cherry picked from commit 23f7e33a97)

Co-authored-by: cjin <jinchen@espressif.com>
2024-11-22 10:42:44 +08:00
Roland Dobai 425722b5c0 Merge branch 'fix/import_error_msg_v5.2' into 'release/v5.2'
fix(tools): re-raise ImportError without module name (v5.2)

See merge request espressif/esp-idf!35075
2024-11-22 01:49:22 +08:00
Mahavir Jain 316d63fef2 Merge branch 'bugfix/update_condition_to_verify_http_version_v5.2' into 'release/v5.2'
fix(esp_http_server): updated condition to verify http version (v5.2)

See merge request espressif/esp-idf!34636
2024-11-21 18:12:30 +08:00
Richard Allen 84cce1f40a fix(ws_transport): Fix reading WS header bytes
Correct split header bytes

When the underlying transport returns header,
length, or mask bytes early, again call the
underlying transport.

This solves the WS parser getting offset when
the server sends a burst of frames where the
last WS header is split across packet boundaries,
so fewer than the needed bytes may be available.

Merges https://github.com/espressif/esp-idf/pull/14706
2024-11-21 10:43:54 +01:00
Jiang Jiang Jian be05f8d4bd Merge branch 'backport/openthread_related_feature_v52_20241112' into 'release/v5.2'
Backport openthread related features to 5.2

See merge request espressif/esp-idf!34837
2024-11-21 17:32:55 +08:00
Frantisek Hrbata 8113c1ab8c fix(tools): re-raise ImportError without module name
The ImportError or ModuleNotFoundError might be raised without
specifying a module name. In this not so common situation, re-raise the
exception to print all the information that could assist in identifying
the problem.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-21 09:47:06 +01:00
Aditya Patwardhan c19a00b35e Merge branch 'bugfix/ota_failed_with_openssl_3.0.2_v5.2' into 'release/v5.2'
fix(esp_http_client): Fix ota failure with openssl server (v5.2)

See merge request espressif/esp-idf!35067
2024-11-21 16:10:44 +08:00
nilesh.kale cc73468f31 fix(esp_http_client): Fix ota failure with openssl server
If the TLS server (e.g., openssl) closes connection with encrypted close-notify alert
then `errno` is not explicitly set on the socket by LwIP stack.
For this scenario, we must rely only on `ERR_TCP_TRANSPORT_CONNECTION_CLOSED_BY_FIN`
return value as the connection close case and do the graceful connection closure.

Closes https://github.com/espressif/esp-idf/issues/14724
2024-11-21 12:36:27 +05:30
Jiang Jiang Jian f42bc63e20 Merge branch 'bugfix/fix_some_wifi_bugs_1030_v5.2' into 'release/v5.2'
Bugfix/fix some wifi bugs 1030 v5.2(Backport v5.2)

See merge request espressif/esp-idf!34707
2024-11-21 14:08:51 +08:00
Jiang Jiang Jian 34625d3711 Merge branch 'fix/fix_top_domain_pd_v5.2' into 'release/v5.2'
fix(esp_pm): move clock module out of TOP_DOMAIN_PERIPHERALS_BM (v5.2)

See merge request espressif/esp-idf!34882
2024-11-20 19:54:15 +08:00
Jiang Jiang Jian 1fc1cc44c8 Merge branch 'fix/fix_modem_module_clock_missing_after_ota_v5.2' into 'release/v5.2'
fix(esp_system): deselect all modem modules lp clock source selection before clk initialization (v5.2)

See merge request espressif/esp-idf!34925
2024-11-20 19:51:37 +08:00
yinqingzhao 40aac77060 fix(wifi): fix some wifi bugs 2024-11-20 19:17:40 +08:00
yinqingzhao 8f324ba6ba feat(twt): twt add parameter to enable keep alive 2024-11-20 19:08:56 +08:00
Xu Si Yu e6967add69 fix(openthread): fix a naming error of esp radio spinel 2024-11-20 17:38:24 +08:00
zwx 000f9fe229 feat(openthread): support alloc nat64 session from psram 2024-11-20 17:38:24 +08:00
Simon Dean c7ace03ce4 enable openthread coap client for mtd 2024-11-20 17:38:24 +08:00
Xu Si Yu 29cf8a64c7 fix(coex): fix 802.15.4 external coexistence 2024-11-20 17:38:22 +08:00
Xu Si Yu 06f469f3ff feat(openthread): update openthread submodule and border router lib 2024-11-20 17:36:10 +08:00
morris 1a49691899 Merge branch 'feature/usb_host_hub_support_collective_backport_p3_v5.2' into 'release/v5.2'
feat(usb_host): Hub Support Collective backport part 3/3 (v5.2)

See merge request espressif/esp-idf!33283
2024-11-20 10:40:09 +08:00
Shu Chen c16d6d7089 Merge branch 'fix/add_network_reconnectin_in_ot_ci_case_v5.2' into 'release/v5.2'
feat(openthread): flush ipv6 addr in openthread ci cases (Backport v5.2)

See merge request espressif/esp-idf!34673
2024-11-20 10:15:30 +08:00
Alexey Gerenkov 34b2558ad2 Merge branch 'jtag_doc_update_v5.2' into 'release/v5.2'
docs(jtag): update OpenOCD related sections (v5.2)

See merge request espressif/esp-idf!34399
2024-11-19 21:16:15 +08:00
Rahul Tank c2a34adc0f fix(nimble): Replace ESP_LOG* with esp_rom_printf in controller context callback 2024-11-19 17:41:21 +05:30
Jiang Jiang Jian 1291eadaad Merge branch 'fix/fix_deadlock_in_pm_mode_switching_v5.2' into 'release/v5.2'
fix(esp_pm): fix deadlock in pm_mode switching (v5.2)

See merge request espressif/esp-idf!34988
2024-11-19 19:05:05 +08:00
Jiang Jiang Jian 5945ee4fe9 Merge branch 'bugfix/fix_some_wifi_coexist_bugs_20241105_v5.2' into 'release/v5.2'
bugfix/fix some wifi coexist bugs 20241105 v5.2

See merge request espressif/esp-idf!34793
2024-11-19 18:41:25 +08:00
Luo Xu b0b139073c fix(ble_mesh): fixed heartbeat issue
(cherry picked from commit 167cd4762b)

Co-authored-by: luoxu <luoxu@espressif.com>
2024-11-19 18:03:27 +08:00
Rahul Tank 0f4b994bc2 Merge branch 'bugfix/memory_issue_v5.2' into 'release/v5.2'
fix(nimble): Nimble Error logs in case of memory overflow/failure (v5.2)

See merge request espressif/esp-idf!34999
2024-11-19 16:58:56 +08:00
yiwenxiu b9bc6d9290 feat(openthread): flush ipv6 addr in openthread ci cases 2024-11-19 15:46:38 +08:00
Wang Meng Yang 8ada381d9e Merge branch 'bugfix/rx_invalid_cmd_err_code_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fixed the incorrect error code returned when receiving an invalid command(v5.2)

See merge request espressif/esp-idf!34992
2024-11-19 14:13:01 +08:00
wuzhenghui 0841034ab5 fix(esp_pm): fix deadlock in pm_mode switching 2024-11-18 19:24:27 +08:00
Abhinav Kudnar 92393685b2 fix(nimble): Nimble Error logs in case of memory overflow/failure 2024-11-18 17:52:23 +08:00
xiongweichao 4d3a59df68 fix(bt/bluedroid): Fixed the incorrect error code returned
when receiving an invalid command
2024-11-18 16:56:45 +08:00
wuzhenghui 0fd250216c fix(esp_pm): fix missed ccompare update when another core is already in do_switch 2024-11-18 16:50:11 +08:00
liuning f926cd0007 fix(coex): fix esp32c2/esp32c5/esp32c61 coexist memory leakage issue 2024-11-18 14:20:31 +08:00
liuning 63b2e288f5 fix(coex): sync up coex head file 2024-11-18 14:17:51 +08:00
liuning 4dada8b3f7 fix(coex): fix esp32c5 coexist hw timer issue 2024-11-18 14:17:51 +08:00
liuning e9dc27af7a fix(coex): fix some coexist debug issues 2024-11-18 14:17:51 +08:00
muhaidong 49e65e6983 fix(wifi): fix modem_clock_module_enable mismatch issue 2024-11-18 14:17:51 +08:00
muhaidong 85a68a9609 fix(wifi): fix esp32c5 enable external coex fail issue 2024-11-18 14:17:51 +08:00
muhaidong 87262e35c5 fix(wifi): esp32c5 esp32c61 support external coex 2024-11-18 14:17:51 +08:00
liuning 35e0bea829 feat(coex): optimize connectionless coexist pwr, optimize wifi pwr with bt idle 2024-11-18 14:17:51 +08:00
liuning c8916f181f feat(coex): support GPIO debug 2024-11-18 14:17:51 +08:00
Shu Chen da635ecd9d Merge branch 'backport/2015_enhack_v52' into 'release/v5.2'
fix(802.15.4): add case for 2015 frame enh-ack (Backport v5.2)

See merge request espressif/esp-idf!34952
2024-11-18 12:53:30 +08:00
Jiang Jiang Jian d4b7c38d79 Merge branch 'fix/wifi_netif_null_deref_v5.2' into 'release/v5.2'
esp_wifi: Add null pointer checks to WiFi-netif APIs (v5.2)

See merge request espressif/esp-idf!34159
2024-11-18 11:17:50 +08:00
Jiang Jiang Jian a253ad8b8c Merge branch 'fix/ws_transport_mem_corrupt_v5.2' into 'release/v5.2'
fix(transport): Fix websocket mem-corruption while reading headers (v5.2)

See merge request espressif/esp-idf!34154
2024-11-18 11:17:33 +08:00
Jiang Jiang Jian 4360662325 Merge branch 'feat/lwip_more_sockets_v5.2' into 'release/v5.2'
change(lwip): bump max sockets in lwip Kconfig (GItHubPR) (v5.2)

See merge request espressif/esp-idf!34152
2024-11-18 11:17:08 +08:00
Jiang Jiang Jian 37d9e33d9b Merge branch 'fix/lwip_drop_ipv6_if_no_ll_v5.2' into 'release/v5.2'
fix(lwip): Add default IPv6 input filter to drop traffic if ipv6 not assigned (v5.2)

See merge request espressif/esp-idf!34149
2024-11-18 11:16:45 +08:00
Jouni Malinen ce2e5455e8 SAE: Check for invalid Rejected Groups element length explicitly on STA
Instead of practically ignoring an odd octet at the end of the element,
check for such invalid case explicitly. This is needed to avoid a
potential group downgrade attack.

Fixes: 444d76f74f65 ("SAE: Check that peer's rejected groups are not enabled")
Signed-off-by: Jouni Malinen <j@w1.fi>
2024-11-18 11:15:47 +08:00
Jouni Malinen 9a6389978c SAE: Check that peer's rejected groups are not enabled
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
2024-11-18 11:15:47 +08:00
Jouni Malinen 46f3eedcef SAE: Reject invalid Rejected Groups element in the parser
There is no need to depend on all uses (i.e., both hostapd and
wpa_supplicant) to verify that the length of the Rejected Groups field
in the Rejected Groups element is valid (i.e., a multiple of two octets)
since the common parser can reject the message when detecting this.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-11-18 11:15:47 +08:00
Jouni Malinen fbbd0e29e9 SAE: Check for invalid Rejected Groups element length explicitly
Instead of practically ignoring an odd octet at the end of the element,
check for such invalid case explicitly. This is needed to avoid a
potential group downgrade attack.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-11-18 11:15:47 +08:00
Jouni Malinen a04d277251 SAE: Check that peer's rejected groups are not enabled in AP
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
2024-11-18 11:15:47 +08:00
Jiang Jiang Jian ac388268fd Merge branch 'fix/kconfig-option-orphan_sections_warning_v5.2' into 'release/v5.2'
fix(build): fix orphan sections warning kconfig variable (v5.2)

See merge request espressif/esp-idf!33942
2024-11-18 11:15:15 +08:00
Erhan Kurubas 57dbeb272a docs(jtag): update OpenOCD related sections 2024-11-17 08:31:01 +08:00
Shu Chen 0ffca40125 Merge branch 'fix/thread_resolve_invalid_host_v5_2' into 'release/v5.2'
fix(openthread): Fix invalid host resolving for Thread end devices(v5.2)

See merge request espressif/esp-idf!34940
2024-11-15 19:15:51 +08:00
Wang Meng Yang 537190a5a6 Merge branch 'bugfix/fix_classic_bt_build_fail_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fixed classic bt build fail when enable dynamic memory and disable BLE (v5.2)

See merge request espressif/esp-idf!34929
2024-11-15 17:34:56 +08:00
Jiang Jiang Jian d917fa42c9 Merge branch 'bugfix/chip823_pll_low_temp_bug_v5.2' into 'release/v5.2'
[H2]Fix cpu switch fail for bbpll cali fail bug in low temp (v5.2)

See merge request espressif/esp-idf!34600
2024-11-15 16:29:39 +08:00
Jiang Jiang Jian 986081303a Merge branch 'bugfix/fix_tbtt_interval_update_fail_v5.2' into 'release/v5.2'
fix(wifi): Optimization for wifi components (v5.2)

See merge request espressif/esp-idf!34894
2024-11-15 15:46:35 +08:00
Aditya Patwardhan 5b0b23cfb3 Merge branch 'feature/add_compiler_no_merge_constants_v5.2' into 'release/v5.2'
feat: add compiler config for not merging const sections (v5.2)

See merge request espressif/esp-idf!34087
2024-11-15 15:32:51 +08:00
Tan Yan Quan 706c5cdc8a fix(802.15.4): add case for 2015 frame enh-ack 2024-11-15 14:58:39 +08:00
wuzhenghui 6e1c4f8971 fix(esp_system): deselect all modem modules clk source selection before clk init 2024-11-15 13:46:28 +08:00
WanqQixiang 7237893ba9 fix(openthread): Fix invalid host resolving for Thread end devices 2024-11-15 11:30:23 +08:00
morris 1e24d8acac Merge branch 'contrib/github_pr_14859_v5.2' into 'release/v5.2'
fix(usb_host): return ESP_ERR_NO_MEM on failed alloc in client register (GitHub PR) (v5.2)

See merge request espressif/esp-idf!34877
2024-11-15 10:59:27 +08:00
Zhang Hai Peng c5a4698088 fix(bt/bluedroid): Fixed classic bt build fail when enable dynamic memory and disable BLE
(cherry picked from commit 59d20e80d3)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2024-11-14 22:13:40 +08:00
Adam Múdry 6fbc454920 fix(littlefs): Allow LittleFS image generation on Windows + version bump
Closes https://github.com/espressif/esp-idf/issues/12900
2024-11-14 13:21:05 +01:00
Shu Chen c92f5db0e5 Merge branch 'feat/lwip_dns_external_resolve_hook_v5_2' into 'release/v5.2'
feat(lwip): Add DNS external hook in TCPIP context and replace netconn external resolve hook with dns external hook for OpenThread(v5.2)

See merge request espressif/esp-idf!33513
2024-11-14 19:29:43 +08:00
Shu Chen d866ac65cc Merge branch 'fix/find_and_close_service_in_ot_ci_case_v5.2' into 'release/v5.2'
fix(ci): optimize an openthread ci case (Backport v5.2)

See merge request espressif/esp-idf!34725
2024-11-14 11:59:15 +08:00
zhangyanjiao 5a354837a8 fix(wifi): Optimization for wifi components
1. fix(wifi/pm): Fixed the tbtt interval update error when AP's beacon interval changed
   Closes https://github.com/espressif/esp-idf/issues/14720
2. fix(wifi/mesh): Enlarge the mesh TX task stack
3. fix(wifi/espnow): Added check for espnow type and length on v1.0
4. fix(wifi/mesh): Fixed delete group id error in wifi mesh
   Closes https://github.com/espressif/esp-idf/issues/14735
2024-11-14 10:42:42 +08:00
WanqQixiang 1fbd343ed5 fix(openthread): Add check for ip address in DNS external resolve hook 2024-11-14 10:29:43 +08:00
WanqQixiang 846de251c7 feat(openthread): Replace netconn external resolve hook with dns external hook 2024-11-14 10:29:43 +08:00
WanqQixiang 88198777f8 feat(lwip): Add DNS external hook in TCPIP context(v5.2) 2024-11-14 10:29:43 +08:00
zhangyanjiao f9ef78528e docs(wifi/espnow): Update the description for ESP-NOW frame 2024-11-14 10:25:56 +08:00
Island e186bba371 Merge branch 'feature/support_moving_code_to_flash_v5.2' into 'release/v5.2'
feat(ble): Support for putting code in flash on ESP32-C2 (v5.2)

See merge request espressif/esp-idf!34784
2024-11-14 10:09:31 +08:00
Daniel Mangum 38e9c8dbdf fix(usb_host): return ESP_ERR_NO_MEM on failed alloc in client register
Fixes issue where ESP_ERR_NO_MEM was being silently discarded after
cleaning up after a failed malloc in usb_host_client_register.

Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
2024-11-13 10:03:08 +01:00
wuzhenghui de107cf4f2 fix(esp_pm): move clock module out of TOP_DOMAIN_PERIPHERALS_BM 2024-11-13 16:44:45 +08:00
Rodrigo Silva 8f457cafa8 change: bump max sockets in lwip Kconfig
Tested under ESP32S3, running 50 tasks, each with a client, and a server
listening to one client, totalizing 150 sockets/files open, forwarding
data from PPP to Ethernet and vice versa.
Reasoning for 255 total sockets/files is VFS local_fd_t being a uint8_t.
Since FD_SETSIZE is defined at tool level, a CMakeLists user definition
is needed in cases above 64 (the default value).

Merges https://github.com/espressif/esp-idf/pull/13866
2024-11-13 15:20:42 +08:00
Island 81c4470f7e Merge branch 'bugfix/fix_some_ble_bugs_240926_esp32_v5.2' into 'release/v5.2'
Fixed some BLE bugs 240926 on ESP32 (v5.2)

See merge request espressif/esp-idf!34552
2024-11-13 12:05:20 +08:00
Jiang Jiang Jian 60beb52dd8 Merge branch 'bugfix/support_random_iv_in_esptouch_v2_v5.2' into 'release/v5.2'
fix(wifi): Support AES IV with random value in esptouch v2 (v5.2)

See merge request espressif/esp-idf!34607
2024-11-13 11:27:40 +08:00
Jiang Jiang Jian 5c07af3ed7 Merge branch 'fix/fix_ota_slowclock_switching_v5.2' into 'release/v5.2'
fix(esp_hw_support): fix rtc slow clock missing after the OTA app changes the slow clock source (v5.2)

See merge request espressif/esp-idf!34472
2024-11-12 19:25:47 +08:00
Jiang Jiang Jian 458fb6e018 Merge branch 'fix/bypass_some_restore_process_if_sleep_rejected_v5.2' into 'release/v5.2'
fix(esp_hw_support): skip some wakeup steps if sleep is rejected (v5.2)

See merge request espressif/esp-idf!34620
2024-11-12 19:24:18 +08:00
Wang Meng Yang 2e80fd6236 Merge branch 'bugfix/osi_replace_free_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Replace free/malloc with osi_free/malloc(v5.2)

See merge request espressif/esp-idf!34609
2024-11-12 19:22:26 +08:00
Wang Meng Yang cbaf87af01 Merge branch 'bugfix/fix_avrc_absolute_volume_compatibility_v5.2' into 'release/v5.2'
bugfix/fix_avrc_absolute_volume_compatibility[backport v5.2]

See merge request espressif/esp-idf!34771
2024-11-12 17:54:47 +08:00
Island 6c8c6cef70 Merge branch 'feat/support_controller_run_in_flash_only_v5.2' into 'release/v5.2'
feat(bt/controller): Support controller code run in flash only(backport v5.2)

See merge request espressif/esp-idf!34703
2024-11-12 09:54:36 +08:00
David Cermak 9a8025c609 fix(lwip): Add default IPv6 input filter to drop traffic if ipv6 not assigned
* Makes LWIP_HOOK_IP6_INPUT default to LWIP_HOOK_IP6_INPUT_DEFAULT
* Updated the stub hook implementation to actually filter out all IPv6
packets if the input netif has no link local address.
2024-11-11 23:56:07 +08:00
David Cermak d1833499dc fix(transport): Fix websocket mem-corruption while reading headers
Closes https://github.com/espressif/esp-idf/issues/14473
2024-11-11 23:55:33 +08:00
David Cermak d86c7ce118 fix(esp_wifi): Add null pointer checks to WiFi-netif APIs
Added null pointer checks to WiFi-netif API functions to prevent potential
crashes from invalid arguments, updated unit tests.

Closes https://github.com/espressif/esp-idf/issues/8702
2024-11-11 23:55:17 +08:00
Shen Weilong a56d6f148f feat(ble): Support for putting code in flash on ESP32-C2 2024-11-11 17:49:23 +08:00
zhangyanjiao d47ed7d6f8 fix(wifi): Support AES IV with random value in esptouch v2 2024-11-11 15:37:32 +08:00
Jiang Jiang Jian 0587ac3766 Merge branch 'fix/c6_ble_no_adv_bug_v5.2' into 'release/v5.2'
fix: C6 ble does not send adv when coexistence with wifi

See merge request espressif/esp-idf!34575
2024-11-11 10:45:44 +08:00
morris 97bf63adde Merge branch 'bugfix/gpio_set_level_atomic_v5.2' into 'release/v5.2'
fix(gpio): improve set level performance (v5.2)

See merge request espressif/esp-idf!34766
2024-11-11 10:41:15 +08:00
wuzhenghui 8cdca030e3 fix(esp_hw_support): skip some wakeup steps if sleep is rejected
1. Skip esp_timer time compensation to avoid introducing errors into rtc_timer
    2. Ignore sleep_time_overhead_out measurements when sleep is rejected
2024-11-11 10:21:30 +08:00
morris 15a515b514 Merge branch 'feat/parlio_sleep_retention_v5.2' into 'release/v5.2'
fix(parlio): fix spelling error in reg_base.h (v5.2)

See merge request espressif/esp-idf!34734
2024-11-08 18:58:56 +08:00
morris cc855a0a9b Merge branch 'feat/mcpwm_dead_time_add_warning_v5.2' into 'release/v5.2'
fix(mcpwm): add warning about generator deadtime (v5.2)

See merge request espressif/esp-idf!34731
2024-11-08 16:48:23 +08:00
liqigan 8ab19b4bac fix(bt/bluedroid): Fixed AVRCP compatibility issue on absolute volume synchronization 2024-11-08 14:49:55 +08:00
gongyantao 50170b643a fix(bt): fix some issues in bt controller
1: Store local device name into NVDS when handling hci_wr_local_name_cmd.
2: Set default device name during link manager initialization.
3: Set the QoS value to the minimum value if the calculated QoS is less
   than the minumum.
2024-11-08 14:31:34 +08:00
zhanghaipeng ba1830f3f4 fix(bt/ble): Update esp32 libbtdm_app.a (17db8bd)
- Added a verification step for the Access Address within the CONNECT_IND PDU
2024-11-08 14:31:19 +08:00
chenjianhua 9133eda13c fix(bt): Update bt lib for ESP32(a2a7457)
- Fixed assert in ke_mem.c at line 409 when controller reset
- Added config for BLE instant passed workaround
- Fixed connection can't be established when initiating and advertising coexist
2024-11-08 14:30:29 +08:00
hongshuqing 45bb984dcd fix: fix pll low temp bug 2024-11-08 12:02:38 +08:00
morris 9fba786b47 fix(gpio): improve set level performance
by avoid "read-modify-write" operation. The registers designed to be
write only.

Related to https://github.com/espressif/esp-idf/issues/14674
2024-11-08 11:45:10 +08:00
zhiweijian c409db3b44 feat(bt/controller): Support controller code run in flash only 2024-11-07 16:51:56 +08:00
Chen Jian Hua d9bc02607f fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(52ee788)
- Fixed BLE vendor HCI set and get tx power
- Support BLE vendor HCI set adv aux offset command
- Support BLE vendor HCI set CSA support command
- Added config for BLE instant passed workaround
- Fixed btdm_sleep_clock_sync timeout workaround


(cherry picked from commit 1e3220b0b0)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2024-11-07 16:51:56 +08:00
Chen Jichang d5cbc525e8 fix(parlio): fix spelling error in reg_base.h 2024-11-07 15:00:05 +08:00
Shu Chen 11ba71e96f Merge branch 'backport/linker_script_check_missing_function_v52' into 'release/v5.2'
fix(ieee802154): fix linker error due to static function being inlined(Backport v5.2)

See merge request espressif/esp-idf!34720
2024-11-07 12:14:32 +08:00
Shu Chen f1a28c56b1 Merge branch 'backport/upgrade-zigbee-examples-v5.2' into 'release/v5.2'
feat(zigbee): Upgrade the Zigbee lib to v1.6 for Zigbee examples(Backport v5.2)

See merge request espressif/esp-idf!34712
2024-11-07 11:39:36 +08:00
Shu Chen 214910f8f8 Merge branch 'fix/esp_prov_ipv6_resolve_v5_2' into 'release/v5.2'
fix(tools/esp_prov): Fix hostname resolving for IPv6-only host(v5.2)

See merge request espressif/esp-idf!34677
2024-11-07 11:07:09 +08:00
Chen Jichang 26e719013f fix(mcpwm): add warning about generator deadtime
Closes https://github.com/espressif/esp-idf/issues/14773
2024-11-07 10:57:09 +08:00
xieqinan@espressif.com 70c0c5b2e1 feat(zigbee): Upgrade the Zigbee lib to v1.6 for Zigbee examples
- Optimize the Zigbee light, switch and gateway examples
- Remove the esp_zigbee_rcp example
2024-11-07 10:43:57 +08:00
Xu Si Yu 34a8c96120 fix(ci): optimize an openthread ci case 2024-11-07 10:41:57 +08:00
zwx 0968f1ba97 fix(802.15.4): add no inline to some static function 2024-11-06 19:51:28 +08:00
Ivan Grokhotkov f15a4bb961 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-11-06 19:51:23 +08:00
xiongweichao dda7514ba1 fix(bt/bluedroid): Replace free/malloc with osi_free/malloc 2024-11-06 19:13:32 +08:00
Mahavir Jain 450d5378ff Merge branch 'contrib/github_pr_14196_v5.2' into 'release/v5.2'
fix(esp_http_server): prevent concurrent access to socket used in async http requests (GitHub PR) (v5.2)

See merge request espressif/esp-idf!34685
2024-11-06 17:43:00 +08:00
Island c233332f03 Merge branch 'bugfix/fix_ble_build_fail_v5.2' into 'release/v5.2'
fix(ble/bluedroid): Fixed BLE build fail when enable dynamic memory and BLE5.0 (v5.2)

See merge request espressif/esp-idf!34663
2024-11-06 16:36:53 +08:00
Island dfced636a4 Merge branch 'bugfix/fixed_h2_assert_master_1031_v5.2' into 'release/v5.2'
Bugfix/fixed h2 assert master 1031 (v5.2)

See merge request espressif/esp-idf!34539
2024-11-06 15:06:50 +08:00
Friedolin Gröger 83216d64e4 fix(esp_http_server): prevent concurrent access to socket used in async http requests 2024-11-06 08:05:59 +01:00
Mooneer Salem 4951df6fcc fix: Allocate HTTP header space for async httpd_req_t objects
This resolves bug #13430 by allocating a new copy of resp_hdrs
when calling httpd_req_async_handler_begin(), thus preventing
invalid access to memory from async tasks.
2024-11-06 08:05:55 +01:00
Island f72433065d Merge branch 'feat/support_blecrt_90_v5.2' into 'release/v5.2'
feat(bt/bluedroid): Added API to set supported channel selection algorithm (v5.2)

See merge request espressif/esp-idf!34504
2024-11-06 11:50:19 +08:00
WanqQixiang 438fd1df62 fix(tools/esp_prov): Fix hostname resolving for IPv6-only host 2024-11-05 17:42:31 +08:00
morris 3559e5702f Merge branch 'bugfix/wrong_return_type_v5.2' into 'release/v5.2'
fix(i2c_lcd): wrong return type for esp_lcd_new_panel_io_i2c (v5.2)

See merge request espressif/esp-idf!34655
2024-11-05 16:41:12 +08:00
Island 36dffb8f25 Merge branch 'bugfix/fix_ble_adv_start_fail_v5.2' into 'release/v5.2'
fix(ble/bluedroid): Fixed crash issue in BLE SMP when a disconnection process is ongoing(v5.2)

See merge request espressif/esp-idf!34527
2024-11-05 16:37:02 +08:00
Zhang Hai Peng 860399d1d2 fix(ble/bluedroid): Fixed BLE build fail when enable dynamic memory and BLE5.0
(cherry picked from commit 94d1a4f1c0)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2024-11-05 16:13:40 +08:00
Wang Meng Yang 2506664f0a Merge branch 'bugfix/fix_memory_leak_in_sco_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fix memory leak in sco when bluedroid disable (v5.2)

See merge request espressif/esp-idf!34566
2024-11-05 14:08:38 +08:00
morris 6def3c5644 fix(i2c_lcd): wrong return type for esp_lcd_new_panel_io_i2c
when build for C++ project
2024-11-05 13:47:46 +08:00
Shu Chen 11888bed1b Merge branch 'backport/fix_energy_scan_api_para_mismatch_v52' into 'release/v5.2'
fix(openthread): set channel for energy scan(Backport v5.2)

See merge request espressif/esp-idf!34595
2024-11-05 12:54:04 +08:00
Shu Chen 4e88543dd9 Merge branch 'feat/openthread_dataset_changed_event_v5_2' into 'release/v5.2'
feat(openthread): Add dataset changed event and post it in state change callback(v5.2)

See merge request espressif/esp-idf!34545
2024-11-05 12:47:17 +08:00
morris d90d20dd45 Merge branch 'ci/backport_i2s_ci_fix_to_v5.2' into 'release/v5.2'
ci(i2s): backport i2s ci fix (v5.2)

See merge request espressif/esp-idf!34588
2024-11-05 12:30:49 +08:00
Yuhan Wei 231df7b006 fix(phy): Updated phylib to phy_version: 320, 348a293 2024-11-05 00:06:34 +08:00
Jiang Jiang Jian 2ca9b50231 Merge branch 'fix/fix_wifi_bugs_10_28_v5.2' into 'release/v5.2'
fix(wifi): fix some bss color issues (v5.2)

See merge request espressif/esp-idf!34486
2024-11-04 20:49:16 +08:00
nilesh.kale 779ac50b36 fix(esp_http_server): updated condition to verify http version
Closes https://github.com/espressif/esp-idf/issues/14723
2024-11-04 15:50:34 +05:30
zwl b14d182238 fix(ble): fixed occasional crash issue in low memory scenarios on ESP32-C6 2024-11-04 12:04:45 +08:00
Zhao Wei Liang 2d3216183c fix(ble): fixed occasional crash issue in low memory scenarios on ESP32-H2
(cherry picked from commit dbad6a0ca5)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2024-11-04 12:04:45 +08:00
xuxiao 402911dfae fix(wifi): fix some bss color issues 2024-11-04 11:52:17 +08:00
Wang Meng Yang 98618d7562 Merge branch 'bugfix/hfp_sniff_mng_v5.2' into 'release/v5.2'
bugfix/hf_and_ag_cannot_enter/exit sniff mode. (v5.2)

See merge request espressif/esp-idf!34468
2024-11-04 09:38:01 +08:00
Wang Meng Yang 470d405f13 Merge branch 'bugfix/update_btlib_v5.2' into 'release/v5.2'
fix(bt/controller): Fixed some controller bugs on ESP32 (v5.2)

See merge request espressif/esp-idf!34465
2024-11-04 09:37:24 +08:00
Zhang Hai Peng 9f4d895143 fix(ble/bluedroid): Fixed crash issue in BLE SMP when a disconnection process is ongoing
(cherry picked from commit 76e1650161)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2024-11-04 00:04:44 +08:00
Zhang Hai Peng 65a1e6c272 fix(ble/bluedroid): Support enable BLE topology check by API
(cherry picked from commit dbc94c7056)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2024-11-04 00:04:44 +08:00
Martin Vychodil ca86e7f32b Merge branch 'fix/ssdmmc_send_cmd_set_relative_addr_rca_v5.2' into 'release/v5.2'
fix(sdmmc): Retry to get another RCA if the previous response was 0 (v5.2)

See merge request espressif/esp-idf!34346
2024-11-01 18:23:40 +08:00
zwx 6bffe59503 fix(openthread): set channel for energy scan 2024-11-01 16:37:40 +08:00
Jiang Jiang Jian 13c2660b46 Merge branch 'bugfix/wifi_set_mode_error_propagation_v5.2' into 'release/v5.2'
Handle missing error propagation in esp_wifi_set_mode() API (Backport v5.2)

See merge request espressif/esp-idf!33880
2024-11-01 16:15:47 +08:00
laokaiyao 59fd4f13e5 ci(i2s): fix i2s_multi_dev failed case 2024-11-01 11:22:02 +08:00
WanqQixiang cc128d7355 feat(openthread): Add dataset changed event and post it in state change callback 2024-10-31 19:05:29 +08:00
linruihao 1e8fded85c fix(bt/bluedroid): Fix memory leak in sco when bluedroid disable 2024-10-31 17:55:24 +08:00
Jiang Jiang Jian 4860b39964 Merge branch 'fix/fix_esp32c2_tx_shake_issue_v52' into 'release/v5.2'
fix(wifi): fix esp32c2 tx shake issue

See merge request espressif/esp-idf!34512
2024-10-31 14:43:25 +08:00
Jiang Jiang Jian 78cf301147 Merge branch 'bugfix/fix_miss_internal_wapi_deinit_issue_v5.2' into 'release/v5.2'
fix(wifi): fix miss internal wapi deinit issue(Backport v5.2)

See merge request espressif/esp-idf!34493
2024-10-31 13:55:01 +08:00
akshat ade9d53fbb fix(esp_wifi): Handle missing error propagation in esp_wifi_set_mode 2024-10-30 12:48:04 +05:30
chenjianhua dee3aa95a6 fix(bt/bluedroid): Fixed error when memory debug enabled 2024-10-29 21:51:25 +08:00
chenjianhua 690eb4c517 fix(bt/bluedroid): Fixed GATTC app status check when BT and BLE coexist 2024-10-29 21:50:39 +08:00
chenjianhua b0d70ba771 fix(bt/bluedroid): Update address type for BLE link when the connection is completed 2024-10-29 21:50:34 +08:00
wangtao@espressif.com 9742b92a14 fix(wifi): fix esp32c2 tx shake issue 2024-10-29 19:55:52 +08:00
Chen Jian Hua b3686c2f60 feat(bt/bluedroid): Added API to set supported channel selection algorithm
(cherry picked from commit 4ae7b4aecf)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2024-10-29 17:35:20 +08:00
Island f72956a2b6 Merge branch 'feat/support_enable_ble_hci_log_by_api_v5.2' into 'release/v5.2'
feat(ble/bluedroid): Support enable BLE hci log by API (v5.2)

See merge request espressif/esp-idf!34423
2024-10-29 16:04:01 +08:00
Jiang Jiang Jian 288e8c6cc5 Merge branch 'feature/ftm_calibration_esp32c6_v5.2' into 'release/v5.2'
feat(ftm): Add ftm calibration values for esp32c6 (Backport v5.2)

See merge request espressif/esp-idf!34476
2024-10-29 15:17:55 +08:00
Jiang Jiang Jian 8763953601 Merge branch 'change/improve_some_wifi_releated_introduction_v52' into 'release/v5.2'
change(wifi):improve some wifi releated introduction v52

See merge request espressif/esp-idf!34278
2024-10-29 15:16:17 +08:00
muhaidong 200f6f4c78 fix(wifi): fix miss internal wapi deinit issue 2024-10-29 12:03:05 +08:00
wuzhenghui b8e796cb67 fix(esp_hw_support): disable unused clock sources after rtc clock switching complete 2024-10-28 19:57:56 +08:00
Sajia 1ed8e4b406 feat(ftm): Add ftm calibration values for esp32c6 2024-10-28 16:32:19 +05:30
Jiang Jiang Jian cdd9996fa3 Merge branch 'bugfix/ftm_apsta_bw_issue_v5.2' into 'release/v5.2'
fix(esp_wifi): Fix FTM issues in AP-STA mode (Backport v5.2)

See merge request espressif/esp-idf!33701
2024-10-28 17:20:19 +08:00
Jiang Jiang Jian 5f9a6b3a66 Merge branch 'bugfix/wpa2_ent_fixes_v5.2' into 'release/v5.2'
Few fixes in wpa_supplicant(v5.2)

See merge request espressif/esp-idf!34445
2024-10-28 15:09:35 +08:00
Jiang Jiang Jian e70684b3e6 Merge branch 'fix/freertos_race_cond_in_stream_buffers_send_v5.2' into 'release/v5.2'
fix(freertos): Fixed SMP race condition in xStreamBufferSend() (v5.2)

See merge request espressif/esp-idf!34336
2024-10-28 13:37:57 +08:00
wangtao@espressif.com 98a65c0538 change(wifi):improve some wifi releated introduction 2024-10-28 13:37:32 +08:00
Jiang Jiang Jian 3ec3c12859 Merge branch 'docs/remove_user_guide_for_esp32-devkitm-1_migration_v5.2' into 'release/v5.2'
docs: Remove user guide for esp32-devkitm-1 migration (v5.2)

See merge request espressif/esp-idf!34321
2024-10-28 13:36:44 +08:00
Jiang Jiang Jian 582c5acf2d Merge branch 'bugfix/fix_h2_wrong_lslp_drvb_config_bug_v5.2' into 'release/v5.2'
fix(h2): fix lslp drvb config bug (v5.2)

See merge request espressif/esp-idf!34293
2024-10-28 13:36:17 +08:00
Shu Chen 9ce3654357 Merge branch 'backport/openthread_154_related_feature_v52' into 'release/v5.2'
Backport some openthread and IEEE802154 related feature(Backport v5.2)

See merge request espressif/esp-idf!34273
2024-10-28 12:13:26 +08:00
wuzhenghui 9085e0737f fix(esp_hw_support): enable all supported slow clock at pmu_init 2024-10-28 12:09:12 +08:00
Island bf1630df65 Merge branch 'bugfix/fix_assert_if_ble_sleep_init_failed_v5.2' into 'release/v5.2'
fix(ble): do not assert if ble sleep init failed (v5.2)

See merge request espressif/esp-idf!34428
2024-10-28 11:55:21 +08:00
Mahavir Jain 2ea33342b9 Merge branch 'feat/mbedtls_size_optimization_v5.2' into 'release/v5.2'
Fix the increase in build size of mbedtls while upgrading to v3.x (v5.2)

See merge request espressif/esp-idf!34253
2024-10-28 11:17:10 +08:00
Island 13ad213984 Merge branch 'refactor/ble_example_print_on_bluedroid_v5.2' into 'release/v5.2'
refactor(bt/bluedroid): Refactor the print for BLE examples (v5.2)

See merge request espressif/esp-idf!34309
2024-10-28 10:52:47 +08:00
Jin Cheng c28dfe28e9 fix(bt/bluedroid): fixed AG and HF client cannot enter/exit sniff mode 2024-10-28 10:40:46 +08:00
Jin Cheng fe85ffa673 Revert "Disable sniff mode during (e)SCO connection."
This reverts commit 39a5eb84f3.
2024-10-28 10:40:46 +08:00
Jin Cheng cfd077d403 fix(bt/controller): Fixed some controller bugs on ESP32
- Fixed access NULL in SCO frame end
      Closes https://jira.espressif.com:8443/browse/IDFGH-10796
    - Added LAP checking for Periodic Inquiry
    - Removed an inproper assertion in SCO module
    - Fixed wrong logic in key exchange when
      LMP transaction collision occurred
    - Fixed the using of wrong error code in
      the transaction collision of role switch
2024-10-28 10:37:32 +08:00
morris 0f1c5b6f06 Merge branch 'feat/i2c_port_handle_func_v5.2' into 'release/v5.2'
feat(i2c_master): Add an api for retrieveing handle via port (backport v5.2)

See merge request espressif/esp-idf!34439
2024-10-28 10:33:02 +08:00
morris d8065ec3a3 Merge branch 'bugfix/workaround_of_i2s_half_sample_rate_issue_v5.2' into 'release/v5.2'
fix(i2s): fix i2s half sample rate issue (v5.2)

See merge request espressif/esp-idf!34354
2024-10-28 10:20:30 +08:00
Anton Maklakov 1c9a9b085c Merge branch 'ci/temp_disable_sonarqube_v5.2' into 'release/v5.2'
ci: temp disable sonarqube check. keep it for migrating to codechecker (v5.2)

See merge request espressif/esp-idf!34451
2024-10-28 09:43:27 +08:00
Wang Meng Yang ff4218773d Merge branch 'feat/support_32k_osc_ble_sleep_clk_v5.2' into 'release/v5.2'
feat(ble): Support using 32k oscillator as Bluetooth sleep clock(v5.2)

See merge request espressif/esp-idf!33997
2024-10-28 09:36:28 +08:00
Nachiket Kukade 643a1c2204 fix(esp_wifi): Fix FTM issues in AP-STA mode
Add AP-STA mode support in FTM example
Update wifi libs with below changes -
- Use ex-AP's bandwidth in FTM request when connected
- Allow Bandwidth downgrade in FTM negotiation
- Use separate calibration when Initiator performs 20MHz FTM
  while in-AP is in 40MHz
2024-10-27 19:26:46 +05:30
Jiang Jiang Jian 039b49fb78 Merge branch 'change/polish_wifi_sleep_current_desc_v52' into 'release/v5.2'
change(doc): add notes for sleep current data tested in shieled box

See merge request espressif/esp-idf!34437
2024-10-25 19:11:31 +08:00
Jiang Jiang Jian 0e2f30a253 Merge branch 'fix/ws_transport_linux_signed_promotions_v5.2' into 'release/v5.2'
fix(ws_transport): Fix incorrect packet-len on linux due to int promotions of char (GitHub PR) (v5.2)

See merge request espressif/esp-idf!34147
2024-10-25 19:04:08 +08:00
Fu Hanxi 8875ada534 ci: disable sonarqube check 2024-10-25 13:03:44 +02:00
xiongweichao 5572cc901c feat(ble): Support using 32k oscillator as Bluetooth sleep clock 2024-10-25 19:03:39 +08:00
morris 1a389cc288 Merge branch 'feat/new_xmc_id_v5.2' into 'release/v5.2'
feat(spi_flash): Add new xmc chip id (backport v5.2)

See merge request espressif/esp-idf!34285
2024-10-25 18:34:58 +08:00
Roman Leonov 1618fd8a0f refactor(usb_host): Removed error in enum when stalled, added hcd_dwc no more free channels 2024-10-25 12:31:39 +02:00
Roman Leonov bb23c18edd fix(ext_port): Added port recovery delay 2024-10-25 12:30:31 +02:00
Jiang Jiang Jian 4f3981a6e7 Merge branch 'bugfix/support_cert_test_v5.2' into 'release/v5.2'
fix(phy): Add cert_test support for ESP32, ESP32-C2, ESP32-C6, ESP32-H2 and ESP32-S2(Backport v5.2)

See merge request espressif/esp-idf!34205
2024-10-25 17:58:33 +08:00
Aditi 0943aff2df fix(wpa_supplicant): Add few fixes in dpp task 2024-10-25 14:47:11 +05:30
aditi 2a4e413624 fix(wpa_supplicant): Add few fixes in btm_rrm task 2024-10-25 14:46:55 +05:30
aditi 158bd9119a fix(wpa_supplicant): Add few fixes in eloop task 2024-10-25 14:43:02 +05:30
aditi 7db5c50cc8 fix(wpa_supplicant): Add few fixes in WPS task 2024-10-25 14:42:56 +05:30
aditi 3c92d707bf fix(wpa_supplicant): Add few fixes in NAN task 2024-10-25 14:42:41 +05:30
aditi c70a8a9ab4 fix(wpa_supplicant): Add few fixes in eap client code 2024-10-25 14:42:30 +05:30
C.S.M bbf2908b54 fix(i2c_master): Fix the memory leak in the async transaction 2024-10-25 16:26:31 +08:00
C.S.M cecfd7a4a0 feat(i2c_master): Add an api for retrieveing handle via port 2024-10-25 16:26:05 +08:00
wangtao@espressif.com fc6bb3ddcf change(doc): add notes for sleep current data tested in shieled box 2024-10-25 16:09:37 +08:00
C.S.M 32e0c7f3d1 docs(spi_flash): Add migration guide for removing XMC-C suspend support 2024-10-25 15:36:58 +08:00
cjin 4250272790 fix(ble): do not assert if ble sleep init failed 2024-10-25 10:52:51 +08:00
Zhang Hai Peng 0cc06edead feat(ble/bluedroid): Support enable BLE hci log by API
(cherry picked from commit 15c895fc6a)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2024-10-24 20:13:23 +08:00
Xu Si Yu e4afe18a61 feat(openthread): allow enabling trel before getting interface 2024-10-24 18:30:44 +08:00
Xu Si Yu 9e3b0fc076 feat(openthread): support trel feature 2024-10-24 18:30:44 +08:00
zwx 938dab0a02 fix(802154): pass hardware abort reason into processing function 2024-10-24 18:30:44 +08:00
Xu Si Yu 4bf58ea0c2 fix(ieee802154): fix a bug in the usage of a macro 2024-10-24 18:30:44 +08:00
zwx d3a836d2b7 feat(ieee802154): add frame type checking for hw autoack feature 2024-10-24 18:30:44 +08:00
Xu Si Yu a22f37f20f fix(openthread): add macro for rcp init 2024-10-24 18:30:44 +08:00
Xu Si Yu ca9caf1fee feat(openthread): support vendor hook for rcp spi 2024-10-24 18:30:44 +08:00
Xu Si Yu d3e0764232 feat(openthread): update extension commands component for examples 2024-10-24 18:30:44 +08:00
chenjianhua 216cf605d3 fix(bt/bluedroid): correct the readme links for BLE periodic examples 2024-10-24 18:04:02 +08:00
chenjianhua 2c2253b7d3 refactor(bt/bluedroid): Refactor the print for BLE examples 2024-10-24 18:04:02 +08:00
chenjianhua 8c6c9b7f0c refactor(bt/bluedroid): Refactor the print for gatt_server and gatt_client example 2024-10-24 18:04:02 +08:00
Jiang Jiang Jian 2b35c55820 Merge branch 'bugfix/load_access_fault_upon_auth_v5.2' into 'release/v5.2'
fix(wifi): Add a check on hostapd instance while handling an Auth frame (Backport v5.2)

See merge request espressif/esp-idf!34121
2024-10-24 16:53:32 +08:00
Alexey Gerenkov 921133a133 Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20241016_v5.2' into 'release/v5.2'
feat(tools): update openocd version to v0.12.0-esp32-20241016 (v5.2)

See merge request espressif/esp-idf!34394
2024-10-23 22:02:28 +08:00
Sergei Silnov d395f4d5d7 Merge branch 'fix/gdbgui_py3.13_v5.2' into 'release/v5.2'
fix(tools): Print message about GDBGUI being not supported with Python 3.13 (v5.2)

See merge request espressif/esp-idf!34378
2024-10-23 19:59:45 +08:00
Island 745033e0c7 Merge branch 'docs/add_ble_get_started_eng_2024102310_v5.2' into 'release/v5.2'
Docs: Added BLE English version of BLE Get Started (v5.2)

See merge request espressif/esp-idf!34385
2024-10-23 18:55:28 +08:00
Mahavir Jain e8058df59f Merge branch 'fix/mbedtls_fs_io_dependency_on_vfs_v5.2' into 'release/v5.2'
fix(mbedtls): Fix the MBEDTLS_FS_IO dependency on vfs (v5.2)

See merge request espressif/esp-idf!34270
2024-10-23 17:34:51 +08:00
Alexey Gerenkov 6735d9a9eb feat(tools): update openocd version to v0.12.0-esp32-20241016 2024-10-23 10:05:20 +02:00
Mahavir Jain f7b34f291b Merge branch 'feature/update_mbedtls_version_to_3.6.2_v5.2' into 'release/v5.2'
feat(mbedtls): update mbedtls version to 3.6.2 (v5.2)

See merge request espressif/esp-idf!34358
2024-10-23 14:35:19 +08:00
Aditya Patwardhan 60a825e154 fix(mbedtls): Fix the MBEDTLS_FS_IO dependency on vfs
By default MBEDTLS_FS_IO option in mbedtls uses the filesystem supported
added by vfs component.
If the vfs support is disabled by user then mbedtls raises a warning
that the filesystem realted operation shall always fail
This commit fixes the behaviour by enabling respective depedency check for the
MBEDTLS_FS_IO option

Closes https://github.com/espressif/esp-idf/issues/14409
2024-10-23 11:04:13 +08:00
Island 32dce28de0 Merge branch 'bugfix/fix_ble_robust_feature_v5.2' into 'release/v5.2'
fix(ble/bluedroid): Fixed error when writing Client Supported Features characteristic (v5.2)

See merge request espressif/esp-idf!34246
2024-10-23 10:51:34 +08:00
Wei Yu Han fc841f63fd Merge branch 'docs/add_ble_get_started_eng' into 'master'
Docs: Added BLE English version of BLE Get Started

See merge request espressif/esp-idf!34013

(cherry picked from commit 35fd041288)

42601a7a docs(ble): Added ENG version of ble-introduction.rst
615282c4 docs(ble): Added ENG version of ble-device-discovery.rst
645e68f5 docs(ble): Added initial ENG version of ble-device-discovery.rst
d2d95a52 docs(ble): Added ENG version of ble-data-exchange.rst
00ca4dc7 docs(ble):Updated Details table in ble-device-discovery.rst
8e03c200 fix(ble): Removed trailing white space, and fixed some format issues
5b304485 docs(ble):Fixed a indentation in ble-data-exchange.rst
b4c51e7b docs(ble): Deleted some chinese character in ble-data-exchange.rst ENG version
d01d7efe docs(ble):Revised some expression in ENG version of BLE Get Started
a24762c5 docs(ble): Removed a trailing whitespace in ble-introduction.rst
afbe5a1f Apply 44 suggestion(s) to 4 file(s)
4ddab725 docs(ble): Fixed a description in ble-introduction.rst
203dfa03 Apply 5 suggestion(s) to 3 file(s)

Co-authored-by: Island <island@espressif.com>
2024-10-23 10:16:56 +08:00
Roland Dobai 64452a7da3 fix(tools): Print message about GDBGUI being not supported with Python 3.13 2024-10-22 16:01:02 +02:00
Sudeep Mohanty d33041da73 fix(freertos): Fixed SMP race condition in xStreamBufferSend()
This commit fixes a race condition in dual-core SMP mode where in the
xStreamBufferSend() makes the xTaskWaitingToSend NULL but it may
have already been evaluated to not be NULL by xStreamBufferReceive()
running on another core and eventually leading to a crash in tasks.c.
2024-10-22 10:06:40 +02:00
Marius Vikhammer fd63196561 Merge branch 'fix/freertos_race_cond_in_stream_buffers_v5.2' into 'release/v5.2'
fix(freertos): Fixed SMP race condition in stream_buffers.c (v5.2)

See merge request espressif/esp-idf!34224
2024-10-22 16:00:51 +08:00
nilesh.kale 52a694abb9 feat(mbedtls): update mbedtls version to 3.6.2 2024-10-22 13:23:59 +05:30
laokaiyao d444b5831b fix(i2s): fix multi-dev test failure 2024-10-22 14:52:37 +08:00
laokaiyao 22e043e4ce fix(i2s): fix i2s half sample rate issue 2024-10-22 14:38:22 +08:00
morris 416d80afc7 Merge branch 'docs/delete_user_guide_esp32_s2_and_s3_v5.2' into 'release/v5.2'
docs: Delete user guide esp32-s2-saola-1, esp32-s3-devkitc-1 and esp32-s3-devkitm-1 (v5.2)

See merge request espressif/esp-idf!34327
2024-10-22 10:41:37 +08:00
Adam Múdry 88d884d9e4 fix(sdmmc): Retry to get another RCA if the previous response was 0 2024-10-21 17:27:41 +02:00
Sergei Silnov b79d811666 Merge branch 'feat/core_components_v5.2' into 'release/v5.2'
feat: add `COMPONENT_SOURCE` property to component targets (v5.2)

See merge request espressif/esp-idf!34185
2024-10-21 22:03:03 +08:00
Martin Vychodil e9656ec84f Merge branch 'bugfix/nvs_entry_sanity_check_v5.2' into 'release/v5.2'
Bugfix/added nvs entry header sanity checks (v5.2)

See merge request espressif/esp-idf!34290
2024-10-21 21:40:00 +08:00
Zhang Shuxian 27645e20be docs: Delete user guide esp32-s2-saola-1, esp32-s3-devkitc-1 and esp32-s3-devkitm-1 2024-10-21 17:26:32 +08:00
renpeiying 05890e31b5 docs: Remove user guide for esp32-devkitm-1 migration 2024-10-21 15:36:54 +08:00
Mahavir Jain fa385dc938 Merge branch 'feat/move_crt_bundle_dummy_cert_to_rodata_v5.2' into 'release/v5.2'
Move cert bundle's dummy cert to .rodata to reduce RAM usage (v5.2)

See merge request espressif/esp-idf!34202
2024-10-21 12:42:08 +08:00
Jiang Jiang Jian e297e16938 Merge branch 'bugfix/fix_retry_assoc_auth_timeout_issue_v5.2' into 'release/v5.2'
fix(wifi): fixed association refused temporarily lead auth timeout issue(Backport v5.2)

See merge request espressif/esp-idf!34243
2024-10-21 11:39:32 +08:00
Rahul Tank b3a1af0211 Merge branch 'bugfix/fix_datalen_issue_v5.2' into 'release/v5.2'
fix(nimble): Adjust time parameter in set Data len API in case BLE 5.0 support is not present (v5.2)

See merge request espressif/esp-idf!34220
2024-10-18 18:26:25 +08:00
hongshuqing 9c999628ba fix(h2): modify wrong lslp drvb config 2024-10-18 17:01:09 +08:00
radek.tandler 03d0870430 fix(storage/nvs): Fixed hadling of inconsistent values in NVS entry header
feat(storage/nvs): Added test cases for damaged entries with correct CRC
2024-10-18 10:55:19 +02:00
Roman Leonov 4ceb7ccb80 fix(usb_host_lib): Returned task suspend 2024-10-18 10:46:53 +02:00
Roman Leonov d83c477422 refactor(usb_host/examples): Enabled external Hub support feature 2024-10-18 10:46:53 +02:00
Peter Marcisovsky 8046784118 feat(usb/host): Modifiy usb_host_lib example 2024-10-18 10:46:53 +02:00
Roman Leonov e62df280e0 feat(ext_port): Added External Port driver 2024-10-18 10:46:51 +02:00
C.S.M 80565eed9b patch(spi_flash): cleanup XMC flash chip usage according to new information 2024-10-18 16:38:18 +08:00
C.S.M 5f36c048d8 feat(spi_flash): Add new xmc chip id 2024-10-18 16:20:02 +08:00
morris ff673e8016 Merge branch 'bugfix/pcnt_pm_lock_v5.2' into 'release/v5.2'
fix(pcnt): install the pm lock upon driver installation (v5.2)

See merge request espressif/esp-idf!34214
2024-10-18 10:34:18 +08:00
Jiang Jiang Jian d43f3b936f Merge branch 'bugfix/fix_funcs_overriding_on_esp32c3_eco7_v5.2' into 'release/v5.2'
fix(bt/controller): Fixed BLE functions overriding on ESP32-C3 ECO7 (v5.2)

See merge request espressif/esp-idf!34199
2024-10-17 19:46:03 +08:00
harshal.patil db38b93c8d fix(mbedtls): Fix the increase in build size of mbedtls when upgrading to v3.x 2024-10-17 14:53:55 +05:30
morris dc45972144 Merge branch 'feat/usb_disconnect_api_backport_v5.2' into 'release/v5.2'
refactor(usb): Update HCD tests to use port power off for disconnections backport v5.2

See merge request espressif/esp-idf!33526
2024-10-17 17:00:59 +08:00
Zhang Hai Peng 60c7aa85f7 fix(ble/bluedroid): Fixed error when writing Client Supported Features characteristic
(cherry picked from commit 5126742003)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2024-10-17 16:13:27 +08:00
muhaidong 13946e1c52 fix(wifi): fixed association refused temporarily lead auth timeout issue 2024-10-17 15:13:29 +08:00
Jiang Jiang Jian 05aa79077d Merge branch 'mqtt_custom_outbox_ci_v5.2' into 'release/v5.2'
Set partition to large for c6 on custom outbox example (v5.2)

See merge request espressif/esp-idf!34171
2024-10-17 10:50:08 +08:00
Jiang Jiang Jian b53eb889ba Merge branch 'fix/priority_inv_when_remove_from_unordered_event_list_v5.2' into 'release/v5.2'
fix(freertos): Fixed priority inversion when setting event group bits (v5.2)

See merge request espressif/esp-idf!34124
2024-10-17 10:49:44 +08:00
Jiang Jiang Jian 900cb976f9 Merge branch 'backport/add_thread_curl_https_ci_case_v5.2' into 'release/v5.2'
feat(openthread): add thread curl https ci case (Backport v5.2)

See merge request espressif/esp-idf!33588
2024-10-17 10:48:54 +08:00
Jiang Jiang Jian b22f4cb3d1 Merge branch 'fix/spinlock-var-not-used-warning_v5.2' into 'release/v5.2'
fix(system): fixed warnings related to ununsed var in spinlock.h (backport v5.2)

See merge request espressif/esp-idf!33485
2024-10-17 10:48:29 +08:00
Jiang Jiang Jian 257f0316d6 Merge branch 'fix/sysview_example_tests_v5.2' into 'release/v5.2'
test(sysview): fix gdb no response error in sysview_heap_log tests (v5.2)

See merge request espressif/esp-idf!33458
2024-10-17 10:47:47 +08:00
Jiang Jiang Jian 0d12bbfdf0 Merge branch 'docs/update_startup_for_single_core_chip_v5.2' into 'release/v5.2'
docs: update startup.rst description for single-core chip support (v5.2)

See merge request espressif/esp-idf!33446
2024-10-17 10:47:11 +08:00
Jiang Jiang Jian ad32630480 Merge branch 'fix/keep-got-sections-for-riscv_v5.2' into 'release/v5.2'
feat(esp_system): drop .got* sections and add hint (v5.2)

See merge request espressif/esp-idf!33371
2024-10-17 10:46:49 +08:00
Jiang Jiang Jian e038e66620 Merge branch 'bugfix/fix_s3c3_wrong_ext32k_config_bug_v5.2' into 'release/v5.2'
fix(ext_32k): fix the external 32K issue on C3&S3 (v5.2)

See merge request espressif/esp-idf!33157
2024-10-17 10:46:10 +08:00
Jiang Jiang Jian 35d88960c0 Merge branch 'bugfix/riscv_task_wdt_cleanup_v5.2' into 'release/v5.2'
fix(wdt): changed register dump on task WDT to be more descriptive (v5.2)

See merge request espressif/esp-idf!33106
2024-10-17 10:44:23 +08:00
harshal.patil b5d25bd0b8 feat(mbedtls/esp_crt_bundle): Move dummy cert to .rodata to save 408B from dram
Co-authored-by: Hanno <h.binder@web.de>
2024-10-16 16:39:37 +05:30
Sudeep Mohanty 1f437df493 fix(freertos): Fixed SMP race condition in stream_buffers.c
This commit fixes a race condition in dual-core SMP mode where in the
xStreamBufferReceive() makes the xTaskWaitingToReceive NULL but it may
have already been evaluated to not be NULL by xStreamBufferSend()
running on another core and eventually leading to a crash in tasks.c.
2024-10-16 09:27:34 +02:00
Rahul Tank 233eb67e06 fix(nimble): Adjust Data len time in case 5.0 support is not present 2024-10-16 11:59:04 +05:30
morris 6280fbe8b6 fix(pcnt): install the pm lock upon driver installation 2024-10-16 11:33:40 +08:00
muhaidong 1a1e17a3df fix(phy): update cert_test docs 2024-10-15 15:57:41 +08:00
Mu Hai Dong 18b47c4143 Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: Jiang Jiang Jian <jack@espressif.com>
2024-10-15 15:24:05 +08:00
muhaidong d665d43d0a fix(phy): esp32s2 and esph2 support rf cert_test 2024-10-15 15:23:56 +08:00
muhaidong 45e31cc02b fix(phy): fix esp32 build fail issue
Closes https://github.com/espressif/esp-idf/issues/11972
2024-10-15 15:23:05 +08:00
xiehang 80ef98d717 fix(phy): All chip support cert_test 2024-10-15 15:21:01 +08:00
Mahavir Jain da09d3391e Merge branch 'bug/ci_test_https_server_file_serving_v5.2' into 'release/v5.2'
fix(protocols): Erased the storage partition for http_server ci test (v5.2)

See merge request espressif/esp-idf!34165
2024-10-15 13:50:33 +08:00
Chen Jian Hua 99038783d5 fix(bt/controller): Fixed BLE functions overriding on ESP32-C3 ECO7
(cherry picked from commit 020f7a6297)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2024-10-15 13:33:31 +08:00
morris b968b7aef5 Merge branch 'refactor/usb_host_add_func_ret_values_backport_5.2' into 'release/v5.2'
refactor(usb_host): USB Host add function return values description backport v5.2

See merge request espressif/esp-idf!34089
2024-10-15 10:24:16 +08:00
Marius Vikhammer b00f88c701 Merge branch 'bugfix/xtensa_startup_stack_v5.2' into 'release/v5.2'
fix(system): fixed potential double exception when booting on xtensa (v5.2)

See merge request espressif/esp-idf!33903
2024-10-15 09:45:12 +08:00
hrushikesh.bhosale 4ea78b8882 fix(protocols): Erased the storage partition for http_server ci test
Added api to erase storage partition for http_server ci test
2024-10-14 15:47:22 +05:30
Fu Hanxi 354233fc59 feat: add component_source property to component targets 2024-10-14 12:05:52 +02:00
Roland Dobai bdcdd32bb7 Merge branch 'fix/ldgen_sort_v5.2' into 'release/v5.2'
fix(ldgen): enable default name SORT in linker fragment (v5.2)

See merge request espressif/esp-idf!34075
2024-10-14 15:20:41 +08:00
Euripedes Rocha 5b57212cfd ci(mqtt): Set partition to large for c6 on custom outbox example
Example failed to build on CI for c6 target due to partition size.
2024-10-14 09:17:50 +02:00
Sean DuBois 226fde9f91 fix(ws_transport): Fix crash when reading
When parsing WS framing protocol integer promotion would cause
invalid values to be read. Acting upon these values would eventually
cause a crash

Fixes esp-protocols#645
2024-10-14 07:24:23 +02:00
Jiang Jiang Jian 8218cdd7fb Merge branch 'bugfix/mbedtls_doc_update_v5.2' into 'release/v5.2'
docs: update mbedtls guide for TLS 1.3 supported change (v5.2)

See merge request espressif/esp-idf!33994
2024-10-14 10:47:30 +08:00
morris a9d3832514 Merge branch 'refactor/lcd_i80_gpio_config_v5.2' into 'release/v5.2'
Optimize RGB LCD IRAM usage (v5.2)

See merge request espressif/esp-idf!34126
2024-10-14 10:43:38 +08:00
Jiang Jiang Jian 43ec6b477c Merge branch 'bugfix/fix_ble_handle_check_v5.2' into 'release/v5.2'
fix(ble/bluedroid): Fixed BLE handle check for GATT API (v5.2)

See merge request espressif/esp-idf!34095
2024-10-14 10:41:48 +08:00
Jiang Jiang Jian 738a7f0ba6 Merge branch 'feature/set_hp_sleep_power_mode_with_clock_src_selection_v5.2' into 'release/v5.2'
change(esp_hw_support): switch lp_cpu power mode with clock src selection to save lp_cpu working power (v5.2)

See merge request espressif/esp-idf!34112
2024-10-14 10:39:41 +08:00
Jiang Jiang Jian 90b962997a Merge branch 'bugfix/backport_supplicant_fixes_v5.2' into 'release/v5.2'
fix(wifi): Backport some fixes(v5.2)

See merge request espressif/esp-idf!33976
2024-10-14 10:38:30 +08:00
Island d4d2448b66 Merge branch 'docs/update_ble_feature_support_status_v5.2' into 'release/v5.2'
docs(ble): Updated a feature name in feature status table v5.2

See merge request espressif/esp-idf!34063
2024-10-12 14:26:29 +08:00
Island 7aa63a9c57 Merge branch 'docs/add_ble_get_started_docs_v5.2' into 'release/v5.2'
docs(ble): Added BLE Get Started (v5.2)

See merge request espressif/esp-idf!34020
2024-10-12 14:25:42 +08:00
Wei Yu Han 5797e2b262 docs(ble): Added BLE Get Started (v5.2) 2024-10-12 14:25:42 +08:00
morris bfacecf739 Merge branch 'fix/mcpwm_pm_lock_memory_leak_v5.2' into 'release/v5.2'
fix(mcpwm): fix pm_lock memory issues (v5.2)

See merge request espressif/esp-idf!34059
2024-10-12 11:49:37 +08:00
Sergei Silnov 14a1c1ac20 Merge branch 'ci/fix_macos_ccache_v5.2' into 'release/v5.2'
CI: Fix failing ccache and show ccache statistics for macOS tests (v5.2)

See merge request espressif/esp-idf!33938
2024-10-12 01:04:37 +08:00
morris 383ac197f8 refactor(lcd): optimize rgb lcd iram usage
lcd_com_mount_dma_data() doesn't need to be placed in IRAM
2024-10-11 18:57:40 +08:00
Sudeep Mohanty e431eef577 test(freertos): Added unit test for event groups to test priority inversion
This commit adds a FreeRTOS unit test to verify that event groups do not
cause priority inversion when unblocking a higher priority task.
2024-10-11 11:53:47 +02:00
Sudeep Mohanty ea92cd650a fix(freertos): Fixed priority inversion when setting event group bits
This commit fixes a priority inversion when a lower priority task set
event group bits to unblock a higher priority task but the lower
priority task continued to run.
2024-10-11 11:53:47 +02:00
Sajia eccca0a6b0 fix(wifi): Add a check on hostapd instance while handling an Auth frame 2024-10-11 15:12:14 +05:30
wuzhenghui 6a35be4e47 change(esp_hw_support): switch hp_sys default power mode with clock src selection 2024-10-11 15:47:48 +08:00
morris 2a43f1379d Merge branch 'docs/sync_psram_noinit_and_bss_description_v5.2' into 'release/v5.2'
docs(psram): sync psram noinit description (v5.2)

See merge request espressif/esp-idf!33463
2024-10-11 10:03:56 +08:00
Zhang Hai Peng 2158eb68d0 fix(ble/bluedroid): Fixed BLE handle check for GATT API
(cherry picked from commit 514155de3b)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2024-10-10 21:13:23 +08:00
Island 7a20ceee6a Merge branch 'feat/ble_mesh_v1.1_feat_disable_support_v5.2' into 'release/v5.2'
feat(ble_mesh): esp ble mesh v1.1 features enable/disable supported (v5.2)

See merge request espressif/esp-idf!33778
2024-10-10 19:09:58 +08:00
Peter Marcisovsky 7aece79530 fix(usb_host): Update log level and error poropagation 2024-10-10 12:51:06 +02:00
Peter Marcisovsky f02ee8ef5d refactor(usb_host): Fixed function return values in usb_host stack:
- updated doxygen for the whole usb_host stack
    - doxygen for test_apps is not updated
    - fixed error codes propagation problems in the usb_host stack
2024-10-10 12:51:06 +02:00
Mahavir Jain 01333b3172 feat: add compiler config for not merging const sections
Probably GCC-13.x and on-wards uses "-fmerge-constants" to merge
the const section (string/floating-point) across compilation units.
This makes it difficult to properly analyze the size output of rodata
section across libraries, the merged section (big in size) is showed
across a single library.

The config option added here can help to disable this compiler behavior
and help to provide better size analysis. It can be used during
development phase only as it increases rodata section size.
2024-10-10 15:35:54 +05:30
Marius Vikhammer 8ba7c287b0 Merge branch 'task/add_ldgen_exception_for_freertos_v5.2' into 'release/v5.2'
fix(freertos): Added freertos and ringbuf fragments to the exception list of ldgen mapping checks (v5.2)

See merge request espressif/esp-idf!33216
2024-10-10 16:27:15 +08:00
Marius Vikhammer 532b2a0b98 Merge branch 'fix/ringbuf_receives_item_not_yet_sent_v5.2' into 'release/v5.2'
fix(esp_ringbuf): Fixed a bug where in a no-split buffer received items prematurely (v5.2)

See merge request espressif/esp-idf!33650
2024-10-10 16:27:05 +08:00
Marius Vikhammer 80c3e107c0 Merge branch 'fix/assert_fail_in_xtaskdeletewithcaps_v5.2' into 'release/v5.2'
Fixed occational assert failure in vTaskDeleteWithCaps() (v5.2)

See merge request espressif/esp-idf!33686
2024-10-10 16:26:45 +08:00
Frantisek Hrbata d414eacc86 fix(ldgen): enable default name SORT in linker fragment
Currently, the `SORT` flag mandates the inclusion of at least the
`sort_by_first` argument in the grammar, despite the documentation[1]
indicating that `SORT` can be utilized without any arguments, defaulting
to sorting input sections by name. Fix this by modifying the grammar
to allow a default `SORT` and update a test accordingly.

[1] https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/
    linker-script-generation.html

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-10-10 09:12:39 +02:00
Chen Jichang be6e1d76e4 docs(psram): sync psram noinit description 2024-10-10 14:40:56 +08:00
Island b7d0eeb55a Merge branch 'ble_dev/esp32c2eco4_chip_20240903_v5.2' into 'release/v5.2'
change(ble): update c2 eco4 ld file (v5.2)

See merge request espressif/esp-idf!33668
2024-10-10 14:19:43 +08:00
morris c12e684a29 Merge branch 'feat/adapt_spi_lcd_to_lvgl_v5.2' into 'release/v5.2'
docs: update programming guide to also support quad spi lcd (v5.2)

See merge request espressif/esp-idf!34037
2024-10-10 10:31:52 +08:00
Wei Yu Han be7b5ae40b docs(ble): Updated a feature name in feature status table 2024-10-10 10:05:03 +08:00
Chen Jichang 13ae494d35 fix(mcpwm): fix pm_lock memory issues 2024-10-10 09:49:48 +08:00
Island 95ac2b18e9 Merge branch 'bugfix/fix_bleqabr24_1282_v5.2' into 'release/v5.2'
Fixed BLE scanning and initiating coexist on ESP32 (v5.2)

See merge request espressif/esp-idf!33833
2024-10-09 17:19:45 +08:00
Island c842477479 Merge branch 'bugfix/fix_bci_443_v5.2' into 'release/v5.2'
fix(bt/controller): Fixed the timeout of wake up timer when using RC OSC (v5.2)

See merge request espressif/esp-idf!33892
2024-10-09 17:18:59 +08:00
Tomas Rezucha d2a8b5e577 fix(usb/host): Correctly handle unpowered port in HUB 2024-10-09 11:16:17 +02:00
Darian Leung 62a3b50c94 refactor(usb): Remove use of usb_phy_action() from unit tests
Currently, USB Host unit tests that require a software triggered disconnection/
reconnection rely on the 'usb_phy_action()' function.

This commit replaces those calls with 'hcd_port_command()' or
'usb_host_lib_set_root_port_power()'.

Note: Also removed 'test_usb_common.h/c' as it is no longer necessary are the
function call replacements.
2024-10-09 11:16:17 +02:00
Darian Leung dc838f6123 feat(usb): Add usb_host_lib_set_root_port_power()
This commit adds the usb_host_lib_set_root_port_power() function. This provides
a public API for users to power the root port OFF or ON at runtime, thus trigger
a disconnection or allow connections respectively.

In addition, the usb_host_config_t.root_port_unpowered install configuration is
provided to allow users to install the USB Host Library without automatically
powering ON the root port.
2024-10-09 11:16:17 +02:00
Shen Weilong 09f45cbd1e change(ble): update c2 eco4 ld file 2024-10-09 17:06:34 +08:00
morris 6a56adcda1 Merge branch 'feature/usb_host_hub_support_collective_backport_p2_v5.2' into 'release/v5.2'
feat(usb_host): Hub Support Collective backport part 2/3 (v5.2)

See merge request espressif/esp-idf!31363
2024-10-09 17:03:38 +08:00
morris 73302ca332 Merge branch 'bugfix/warn_rc32k_use_v5.2' into 'release/v5.2'
fix(clk): warn the users to avoid using RC32K clock (v5.2)

See merge request espressif/esp-idf!33502
2024-10-09 17:02:54 +08:00
morris bee297a2a5 Merge branch 'bugfix/esp_ringbuf_32_bit_alignment_v5.2' into 'release/v5.2'
fix(ringbuf): allow xRingbufferCreateWithCaps to pass in non-32-bit aligned size (v5.2)

See merge request espressif/esp-idf!33521
2024-10-09 17:02:01 +08:00
Island d32aa79b67 Merge branch 'modified_ble_multi_conn_example_readme_v5.2' into 'release/v5.2'
update(ble): Modified the ble multi_conn example's readme (v5.2)

See merge request espressif/esp-idf!33992
2024-10-09 15:16:16 +08:00
Island ad8f9706ac Merge branch 'bugfix/fix_ext_conn_adv_data_check_v5.2' into 'release/v5.2'
fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(01cc408) (v5.2)

See merge request espressif/esp-idf!34002
2024-10-09 11:58:27 +08:00
Chen Jichang 941d389f28 docs(spi_lcd): update supported spi mode description
Closes https://github.com/espressif/esp-idf/issues/14605
2024-10-09 11:03:16 +08:00
Rahul Tank 24d39dea21 Merge branch 'bugfix/wifi_bt_coex_crash_v5.2' into 'release/v5.2'
fix(nimble): Fix the sequence of ll and host transport init (v5.2)

See merge request espressif/esp-idf!33962
2024-10-08 19:05:21 +08:00
Island 2a19808dff Merge branch 'feat/ble_mesh_lib_flash_size_optimized_v5.2' into 'release/v5.2'
feat(ble_mesh): ble mesh lib flash size optimized (v5.2)

See merge request espressif/esp-idf!33478
2024-10-08 18:58:14 +08:00
Zhang Hai Peng f48b694fa2 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(01cc408)
- Fixed extended connectable advertising data length check


(cherry picked from commit 8a80675b7c)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2024-10-08 15:13:33 +08:00
luoxu 8413ad1f68 feat(ble_mesh): esp ble mesh v1.1 features enable/disable supported 2024-10-08 15:03:16 +08:00
Mahavir Jain 6356e35763 docs: update mbedtls guide for TLS 1.3 supported change 2024-10-08 10:00:43 +05:30
Shen Wei Long d800b8403e update(ble): Modified the ble multi_conn example's readme
(cherry picked from commit 28ffd5fc04)

Co-authored-by: Shen Weilong <shenweilong@espressif.com>
2024-10-08 11:53:41 +08:00
Kapil Gupta 6699f1a51c fix(esp_wifi): Prevent memory overflow in WPS 2024-10-07 11:12:35 +05:30
Kapil Gupta 11ffeab864 fix(esp_wifi): Mask some error conditions in WPS
Mask some error conditions in WPS to increase the probability of
WPS success.
2024-10-07 11:12:35 +05:30
Kapil Gupta 071585dd4d fix(esp_wifi): Disable WPS timers once WPS succeed 2024-10-07 11:12:35 +05:30
Kapil Gupta 8fbd04f839 fix(esp_wifi): Allow connection with WPA mode in WPS 2024-10-07 11:12:05 +05:30
Kapil Gupta a4b226b7c1 fix(esp_wifi): Deinit WPS registrar during hostapd deinit 2024-10-07 10:24:21 +05:30
Kapil Gupta 5beab45cfe fix(esp_wifi): Added prints in btm roam for error condition 2024-10-07 10:23:40 +05:30
Aditya Patwardhan dc6657cac4 Merge branch 'fix/host_based_security_workflows_v5.2' into 'release/v5.2'
fix(security): Fix host based security workflow doc

See merge request espressif/esp-idf!33959
2024-10-03 19:34:40 +08:00
Abhinav Kudnar 0134202422 fix(nimble): Fix the sequence of ll and host transport init 2024-10-03 16:57:49 +08:00
Aditya Patwardhan b16c6f42e1 fix(security): Fix host based security workflow doc
Fix the secure boot digest burning command in
    the secure boot enablement workflow
2024-10-03 11:46:47 +05:30
Roland Dobai 2b1122a698 Merge branch 'fix/idfpy_uf2_fail_v5.2' into 'release/v5.2'
fix(uf2): Ignore ESPBAUD, ESPPORT when calling idf.py uf2[-app] (v5.2)

See merge request espressif/esp-idf!33949
2024-10-02 20:33:23 +08:00
Mahavir Jain f0ee29e4e1 Merge branch 'feat/newlib-add-sbom-exclude_cve-2024-30949_v5.2' into 'release/v5.2'
fix(newlib): sbom: add CVE-2024-30949 to cve-exclude-list (v5.2)

See merge request espressif/esp-idf!33682
2024-10-01 21:16:58 +08:00
Jan Beran 431923f23c fix(uf2): Ignore ESPBAUD, ESPPORT when calling idf.py uf2[-app] 2024-10-01 13:47:19 +02:00
Mahavir Jain aba133e842 Merge branch 'feature/update_mbedtls_version_to_3.6.1_v5.2' into 'release/v5.2'
feat(mbedtls): updated mbedtls version to 3.6.1(v5.2)

See merge request espressif/esp-idf!33914
2024-10-01 18:03:51 +08:00
Mahavir Jain 3d2c12dc0a Merge branch 'fix/coredump_sha_build_error_v5.2' into 'release/v5.2'
fix(esp-coredump): fix build error when mbedtls hardware sha disabled (v5.2)

See merge request espressif/esp-idf!33944
2024-10-01 18:02:34 +08:00
Erhan Kurubas 03e3c7c54b test(esp-coredump): add test for the soft sha config 2024-10-01 10:07:23 +02:00
Erhan Kurubas a1287b1315 fix(esp-coredump): fix build error when mbedtls hardware sha disabled 2024-10-01 10:07:23 +02:00
Alexey Lapshin 12e18c4524 fix(build): fix orphan sections warning kconfig variable 2024-10-01 12:19:04 +07:00
Peter Macko ab0b7c6c29 fix(macos): ccache: re-enable, show stats, set CCACHE_DIR, limit CCACHE_MAXSIZE 2024-09-30 18:56:20 +02:00
Jiang Jiang Jian 6531fe94ca Merge branch 'bugfix/fix_esp32c2_rom_eco1_mbedtls_issues_v5.2' into 'release/v5.2'
fix(esp_rom): Fixed esp32c2 rom eco1 mbedtls issues (v5.2)

See merge request espressif/esp-idf!33918
2024-09-30 14:18:09 +08:00
Jiang Guang Ming f8ca72cfe1 fix(esp_rom): Fixed esp32c2 rom eco1 mbedtls issues 2024-09-30 09:26:22 +08:00
nilesh.kale 2bc43825eb feat(mbedtls): updated mbedtls version to 3.6.1 2024-09-29 22:37:58 +05:30
Wang Meng Yang cae1491519 Merge branch 'feat/add_mode_chg_parem_v5.2' into 'release/v5.2'
feat(bt/bluedroid): Report sniff interval to application layer(v5.2)

See merge request espressif/esp-idf!33866
2024-09-29 14:03:27 +08:00
Marius Vikhammer 571ab51aa5 fix(system): fixed potential double exception when booting on xtensa
Due to old windows from the startup flow being present after
switching to running freertos tasks  windowoverflow exceptions
could potentially try to save windows to the startup stack.

During this overflow they also values previously saved on the
startup stack to find earlier frames' stacks.
Since the start up stack was already recycled these values were
invalid and would cause a crash.

Closes https://github.com/espressif/esp-idf/issues/14406Y
2024-09-29 10:57:56 +08:00
Island 601e35c926 Merge branch 'feat/get_ble_resolve_address_status_v5.2' into 'release/v5.2'
feat(ble/bluedroid): Support resolve BLE address for interval usage (v5.2)

See merge request espressif/esp-idf!33807
2024-09-29 10:30:04 +08:00
Wang Meng Yang fc1c79ebc1 Merge branch 'bugfix/fix_hid_cod_setting_v5.2' into 'release/v5.2'
Bugfix/fix hid cod setting[backport 5.2]

See merge request espressif/esp-idf!33338
2024-09-27 19:23:24 +08:00
Wang Meng Yang c5c198584b Merge branch 'bugfix/fix_sdp_bugs_v5.2' into 'release/v5.2'
Bugfix/fix sdp bugs[backport 5.2]

See merge request espressif/esp-idf!33603
2024-09-27 19:22:48 +08:00
Chen Jian Hua 4219bb9ea1 fix(bt/controller): Fixed ble get tx power error
(cherry picked from commit 4108a5cc4c)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2024-09-27 18:33:37 +08:00
Chen Jian Hua 6208b93dad fix(bt/controller): Fixed the timeout of wake up timer when using RC OSC
(cherry picked from commit 873708579c)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2024-09-27 18:33:34 +08:00
zhanghaipeng 73ff61bd47 fix(ble/bluedroid): Fixed BLE spelling error in word 2024-09-27 15:50:57 +08:00
zhanghaipeng a2124a0464 feat(ble/bluedroid): Add BLE memory allocation failure message 2024-09-27 15:50:46 +08:00
zhanghaipeng 31f6b3536c feat(ble/controller): Display BLE controller init status for ESP32 and ESP32C3/S3 2024-09-27 15:50:37 +08:00
zhanghaipeng 69eca1ff93 feat(ble/bluedroid): Optimize address resolution status for interval use 2024-09-27 14:47:44 +08:00
xiongweichao e5984120ac feat(bt/bluedroid): Report sniff interval to application layer 2024-09-27 14:14:02 +08:00
Jiang Jiang Jian 0a935f1c1b Merge branch 'feat/support_esp32c2_eco4_rom_systimer_hal_v5.2' into 'release/v5.2'
feat(esp_rom): support esp32c2 rev2.0(ECO4) rom systimer hal (backport v5.2)

See merge request espressif/esp-idf!33803
2024-09-27 12:16:21 +08:00
Jiang Jiang Jian 3f72cc5410 Merge branch 'feat/bringup_esp32c2_rom_mbedtls_to_formal_feature_v5.2' into 'release/v5.2'
feat(mbedtls): bringup rom mbedtls feature to formal (v5.2)

See merge request espressif/esp-idf!33801
2024-09-27 12:15:51 +08:00
Jiang Jiang Jian 609ab206a0 Merge branch 'fix/fix_clock_retention_link_context_v5.2' into 'release/v5.2'
fix(esp_hw_support): add clock retention contents for esp32c6 & esp32h2  (v5.2)

See merge request espressif/esp-idf!33607
2024-09-27 12:15:13 +08:00
Jiang Jiang Jian 4032d73c89 Merge branch 'change/support_pm_slp_iram_opt_in_normal_light_sleep_v5.2' into 'release/v5.2'
change(esp_pm): bypass cache access assertion when using ext0 or ext1(backport v5.2)

See merge request espressif/esp-idf!33146
2024-09-27 11:45:56 +08:00
Marius Vikhammer a749b2340c Merge branch 'docs/freertos_stack_size_v5.2' into 'release/v5.2'
docs(freertos): update freertos comments to reflect that stack size is in bytes (v5.2)

See merge request espressif/esp-idf!33505
2024-09-27 09:22:07 +08:00
Rahul Tank ba10acdeb0 Merge branch 'bugfix/fix_clang_compilation_issue_v5.2' into 'release/v5.2'
fix(nimble): Fix clang compilation issue (v5.2)

See merge request espressif/esp-idf!33764
2024-09-26 22:48:46 +08:00
Rahul Tank 3a3eecef02 fix(nimble): Fix clang compilation issue 2024-09-26 16:15:33 +05:30
Rahul Tank ce5f2d1283 Merge branch 'feat/send_data_len_afer_conn_v5.2' into 'release/v5.2'
feat(nimble): Set data length after connection (v5.2)

See merge request espressif/esp-idf!33695
2024-09-26 18:42:48 +08:00
Island 8f67dfdef0 Merge branch 'fix/fix_nimble_gatt_server_example_readme_v5.2' into 'release/v5.2'
docs(ble): Added BLE Get Started documentation link to README.md (v5.2)

See merge request espressif/esp-idf!33829
2024-09-26 15:47:24 +08:00
Wang Meng Yang efa437d0ec Merge branch 'bugfix/fix_some_bugs_in_avrcp_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fixed some bugs in AVRCP (Backport v5.2)

See merge request espressif/esp-idf!33578
2024-09-26 15:14:13 +08:00
Aditya Patwardhan 2aad80cd92 Merge branch 'fix/ecdsa_verify_check_hash_len_v5.2' into 'release/v5.2'
Wrap some mbedtls' ECDSA verification related APIs (v5.2)

See merge request espressif/esp-idf!33784
2024-09-26 15:13:28 +08:00
Island 76f0060cab Merge branch 'bugfix/fixed_multi_conn_example_crash_issue_5.2' into 'release/v5.2'
fix(nimble): Fixed the crash issue of examples/bluetooth/nimble/ble_multi_conn

See merge request espressif/esp-idf!33493
2024-09-26 14:52:31 +08:00
Rahul Tank 5798ec62c5 feat(nimble): Set data length after connection 2024-09-26 09:57:00 +05:30
Mahavir Jain 4fb04ce3aa Merge branch 'bugfix/add_notify_flag_for_wifi_prov_v5.2' into 'release/v5.2'
fix(wifi_prov): Add notify characteristic flag support (v5.2)

See merge request espressif/esp-idf!33184
2024-09-26 11:44:06 +08:00
Mahavir Jain b20225d06a Merge branch 'feat/support_esp32c2_eco4_rom_mbedtls_v3.6.0_lts_v5.2' into 'release/v5.2'
feat(mbedtls): support esp32c2 eco4 rom mbedtls v3.6.0 lts v5.2 (backport v5.2)

See merge request espressif/esp-idf!33421
2024-09-26 11:02:28 +08:00
Chen Jian Hua 1d4acf2617 fix(bt): Update bt lib for ESP32(3bf7ef0)
- Fixed BLE scanning and initiating coexist


(cherry picked from commit 241b90f3f0)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2024-09-26 10:33:31 +08:00
Zhang Hai Peng 8db992903a feat(ble/bluedroid): Support resolve BLE address for interval usage
(cherry picked from commit b88b511362)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2024-09-26 10:27:35 +08:00
Island 9b100a3527 Merge branch 'bugfix/fixed_c6_crash_c2_crash_issue_v5.2' into 'release/v5.2'
Bugfix/fixed c6 crash c2 crash issue (v5.2)

See merge request espressif/esp-idf!33598
2024-09-26 10:16:58 +08:00
liqigan 7f297af892 fix(esp_hid): Fixed protocol mode mapping bug
Closes https://github.com/espressif/esp-idf/issues/14232
2024-09-26 09:57:21 +08:00
liqigan 4459865257 feat(bt/bluedroid): Added definition of minor class of COD for peripheral major class
Closes https://github.com/espressif/esp-idf/issues/13622
2024-09-26 09:57:21 +08:00
liqigan 10762295c4 fix(bt/bluedroid): Fixed not deep copy service_name and user1_ptr in RAW SDP search event 2024-09-26 09:55:28 +08:00
liqigan ec88dc9881 change(bt/bluedroid): Limited SDP service discovery operation 2024-09-26 09:55:28 +08:00
liqigan 9a0f3619e8 change(bt/bluedroid): Release record data after SDP record created 2024-09-26 09:55:28 +08:00
Wei Yu Han f57dc4dec8 docs(ble): Added BLE Get Started documentation link to README.md
(cherry picked from commit 5f008828d3)

Co-authored-by: Yuhan Wei <weiyuhan@espressif.com>
2024-09-26 09:38:17 +08:00
linruihao d13e0419f0 fix(bt/bluedroid): Fixed some bugs in AVRCP 2024-09-26 09:31:06 +08:00
Wang Meng Yang c467c8ed65 Merge branch 'bugfix/exit_sniff_immed_enter_sniff_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fix the protocol stack to exit sniff mode(v5.2)

See merge request espressif/esp-idf!33398
2024-09-26 09:30:10 +08:00
Krzysztof Budzynski 1c3176c1c0 Merge branch 'docs/remove_user_guide_for_esp32_pico_kit_related_migration_v5.2' into 'release/v5.2'
docs: remove user guide for esp32-pico-kit related docs after migration (v5.2)

See merge request espressif/esp-idf!32782
2024-09-26 06:27:27 +08:00
Rahul Tank 3827dd0bee Merge branch 'bugfix/add_dummy_cb_during_deinit_v5.2' into 'release/v5.2'
fix(nimble): De-register host cb in stack deinit (v5.2)

See merge request espressif/esp-idf!33374
2024-09-26 01:30:38 +08:00
zwl 3da56074c9 fix(ble): fixed occasional crash issue in multi-connect scenarios on ESP32-C6 2024-09-26 00:04:27 +08:00
Zhao Wei Liang 981e6f93a4 fix(ble): fixed memory leak issue when using uart hci
(cherry picked from commit 4d2c44f511)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2024-09-26 00:04:27 +08:00
Zhao Wei Liang 0974ae10dd fix(ble): fixed occasional assertion issue when enabling logging on ESP32-C2
(cherry picked from commit 0ef9ecb715)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2024-09-26 00:04:27 +08:00
Zhao Wei Liang 8835ba03a6 fix(ble): fixed occasional acl data packet loss issue when using UHCI on ESP32-H2
(cherry picked from commit c929a01931)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2024-09-26 00:04:27 +08:00
morris 466acf6571 Merge branch 'bugfix/fix_batch_of_i2c_issue_v5.2' into 'release/v5.2'
fix(i2c_master): Fix an I2C issue that slave streth happen but master timeout...etc.4MR (backport v5.2)

See merge request espressif/esp-idf!33480
2024-09-25 23:29:50 +08:00
Roland Dobai 255d045cd7 Merge branch 'feat/update_tools_in_tools_json_v5.2' into 'release/v5.2'
feat(tools): Update tools: cmake, ninja, ccache (v5.2)

See merge request espressif/esp-idf!33531
2024-09-25 22:15:43 +08:00
Marius Vikhammer 1c346ddf35 Merge branch 'contrib/github_pr_14469_v5.2' into 'release/v5.2'
fix(spinlock): comparison of integer expressions of different signedness (GitHub PR) (v5.2)

See merge request espressif/esp-idf!33544
2024-09-25 20:33:01 +08:00
luoxu 856988110b feat(ble_mesh): ble mesh lib flash size optimized 2024-09-25 18:04:29 +08:00
Island 34e8a4c7bd Merge branch 'docs/optimized_ble_gattc_multi_connect_example_v5.2' into 'release/v5.2'
docs(ble/bluedroid): Optimize BLE example documentation for getting characteristic (v5.2)

See merge request espressif/esp-idf!33195
2024-09-25 17:44:54 +08:00
Island 087adbe844 Merge branch 'bugfix/fix_ble_scan_assert_1728_v5.2' into 'release/v5.2'
fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(e9ae856) (v5.2)

See merge request espressif/esp-idf!33721
2024-09-25 17:44:44 +08:00
Island ffdd8cc7b9 Merge branch 'fix/fix_length_ble_get_started_example_v5.2' into 'release/v5.2'
fix(ble): Increased the length of addr_str in ble_get_started nimble examples (v5.2)

See merge request espressif/esp-idf!33210
2024-09-25 17:42:12 +08:00
Rahul Tank b5af26ca63 Merge branch 'bugfix/fix_blufi_deinit_fail_v5.2' into 'release/v5.2'
fix(nimble): Fixed deinit sequence in blufi (v5.2)

See merge request espressif/esp-idf!33769
2024-09-25 17:40:43 +08:00
Rahul Tank 60bd1222fa Merge branch 'fix/added_a_change_to_print_address_of_advertising_instance_v5.2' into 'release/v5.2'
fix(nimble): Added a change to print address of an advertising instance (v5.2)

See merge request espressif/esp-idf!33562
2024-09-25 17:39:58 +08:00
Rahul Tank 4de20a9877 Merge branch 'bugfix/bidirectioanl_data_transfer_ble_spp_v5.2' into 'release/v5.2'
fix(nimble): Added support for bidirectional data trasfer (v5.2)

See merge request espressif/esp-idf!33413
2024-09-25 17:39:26 +08:00
Rahul Tank 07f668be14 fix(nimble): De-register host cb in stack deinit 2024-09-25 15:08:46 +05:30
Rahul Tank afc8010c0a Merge branch 'bugfix/make_cccd_flags_configurable_v5.2' into 'release/v5.2'
fix(nimble): Make CCCD flags configurable (v5.2)

See merge request espressif/esp-idf!33354
2024-09-25 17:37:16 +08:00
Island 02e71cc11c Merge branch 'bugfix/fixed_c5_ble_cache_error_240919_v5.2' into 'release/v5.2'
Bugfix/fixed c5 ble cache error 240919 (v5.2)

See merge request espressif/esp-idf!33760
2024-09-25 17:08:33 +08:00
Island beda0b5003 Merge branch 'feat/support_blecrt_242_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fixed access fault when reading BLE controller information fails (v5.2)

See merge request espressif/esp-idf!33633
2024-09-25 17:05:45 +08:00
Island a5d128b899 Merge branch 'bugfix/fix_ble_max_tx_power_on_esp32c3_v5.2' into 'release/v5.2'
fix(bt/controller): Change the max TX power to +20dBm on ESP32-C3 and ESP32-S3 (v5.2)

See merge request espressif/esp-idf!33616
2024-09-25 17:05:24 +08:00
Island 5dbb1cfc4c Merge branch 'feat/support_ble_scan_and_init_coex_on_esp32_v5.2' into 'release/v5.2'
Support BLE scanning and initiating coexist on ESP32 (v5.2)

See merge request espressif/esp-idf!33386
2024-09-25 17:05:19 +08:00
Roland Dobai f2f6a2685f Merge branch 'docs/remove_output_format_v5.2' into 'release/v5.2'
docs(size): remove -DOUTPUT_FORMAT output format option for idf.py size (v5.2)

See merge request espressif/esp-idf!33309
2024-09-25 16:53:22 +08:00
Roland Dobai 736e287c51 Merge branch 'feature/tools_fix_arm64_arm32_detection_v5.2' into 'release/v5.2'
fix(idf_tools): Fix platform detection - arm64 hardware but it's running in arm32 environment (v5.2)

See merge request espressif/esp-idf!33395
2024-09-25 16:52:58 +08:00
Marek Fiala bb8f9993d4 feat(tools): Exclude modified folders by rebuild 2024-09-25 16:52:32 +08:00
Marek Fiala 87210c5610 feat(tools): Update tools: cmake, ninja, ccache
cmake  v3.24.0 -> v3.30.2
ninja  v1.11.1 -> v1.12.1
ccache v4.8    -> v4.10.2

Closes https://github.com/espressif/esp-idf/pull/14376
2024-09-25 16:52:32 +08:00
Mahavir Jain 505625f6f7 Merge branch 'feature/add_api_to_get_last_status_code_logged_during_ota_v5.2' into 'release/v5.2'
feat(esp_https_ota): added API to get last status code logged from http resonse (v5.2)

See merge request espressif/esp-idf!33610
2024-09-25 15:38:22 +08:00
Mahavir Jain 862ae0b8cd Merge branch 'bugfix/check_bootloader_size_with_sign_v5.2' into 'release/v5.2'
fix(esptool_py): Check the size of the bootloader + signature block (v5.2)

See merge request espressif/esp-idf!33591
2024-09-25 15:35:55 +08:00
Mahavir Jain 2b2869aba4 Merge branch 'fix/add_countermeasure_for_ecdsa_peripheral_issue_v5.2' into 'release/v5.2'
feat(hal): Add countermeasure for ECDSA generate signature (v5.2)

See merge request espressif/esp-idf!33747
2024-09-25 15:35:37 +08:00
morris bed8016f1f Merge branch 'support_psram_noinit_segment_on_s3_v5.2' into 'release/v5.2'
feat(psram): add psram noinit  segment support on s2/s3/p4/c5 and bss segment on c5 (v5.2)

See merge request espressif/esp-idf!33257
2024-09-25 15:27:56 +08:00
morris f2482e7aed Merge branch 'feat/parlio_tx_support_psram_buffer_v5.2' into 'release/v5.2'
fix(parlio_tx): Fixed errors in the first transfer (v5.2)

See merge request espressif/esp-idf!33358
2024-09-25 15:25:01 +08:00
Ivan Grokhotkov 587a39ff1a Merge branch 'update/version_5_2_3' into 'release/v5.2'
Update version to 5.2.3

See merge request espressif/esp-idf!33744
2024-09-25 15:12:17 +08:00
Jiang Guang Ming 0bed1796af feat(esp_rom): support esp32c2 rev2.0(ECO4) rom systimer hal 2024-09-25 12:02:02 +08:00
Jiang Guang Ming ab38da2e62 feat(esp_rom): add esp32c2.rom.eco4.ld 2024-09-25 12:01:26 +08:00
Jiang Guang Ming 05caca8cdd feat(esp_hw_support): Support esp32c2 rev2.0 chip 2024-09-25 11:58:22 +08:00
JiangGuangMing 3bfe43fb68 feat(mbedtls): bringup rom mbedtls feature to formal 2024-09-25 11:52:35 +08:00
harshal.patil 52cf97ebd5 feat(mbedtls): Wrap mbedtls_ecdsa_read_signature to use ECDSA hardware when possible 2024-09-24 16:50:38 +05:30
harshal.patil a14ed03c11 fix(mbedtls/port): Check signature hash length before using ECDSA hardware 2024-09-24 16:50:28 +05:30
Rahul Tank 1b47d34c40 fix(nimble): Fixed deinit sequence in blufi 2024-09-24 12:20:41 +05:30
Zhao Wei Liang fd7802bae1 fix(ble): unified ble memory allocation method
(cherry picked from commit 8e4cc79a27)

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2024-09-24 12:03:28 +08:00
Aditya Patwardhan 5b6d8812d1 feat(hal): Add countermeasure for ECDSA generate signature
The ECDSA peripheral before ECO5 of esp32h2 does not perform the ECDSA
    sign operation in constant time. This allows an attacker to read the
    power signature of the ECDSA sign operation and then calculate the
    ECDSA key stored inside the eFuse. The commit adds a countermeasure
    for this attack. In this case the real ECDSA sign operation is
    masked under dummy ECDSA sign operations to hide its real power
    signature
2024-09-23 19:28:12 +05:30
Ivan Grokhotkov c9763f62dd change(version): Update version to 5.2.3 2024-09-23 14:48:14 +02:00
zhanghaipeng 7e31cdd75e fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(63eb54d)
- Fixed issue where RPA is not updated after BLE RPA timeout
2024-09-23 13:32:57 +08:00
chenjianhua 34771563b9 test(bt/bluedroid): Support to disable BLE address resolution 2024-09-23 13:32:57 +08:00
Zhang Hai Peng 1437bb1206 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(e9ae856)
- Fixed BLE scan assert in lld_scan.c 1728


(cherry picked from commit 32c7694f56)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2024-09-23 11:13:26 +08:00
Sudeep Mohanty eedc6d46c0 fix(freertos): Fixed assert failure in vTaskDeleteWithCaps
This commit fixes an assert failure in vTaskDeleteWithCaps() when
multiple un-pinned tasks are created with stack in the external memory
and such tasks delete themselves.

Closes https://github.com/espressif/esp-idf/issues/14222
2024-09-20 10:28:14 +02:00
Sudeep Mohanty 4a5fb3e250 test(freertos): Added a test for vTaskDeleteWithCaps when stack is in ext RAM
This commit adds a stress tests for creating multiple tasks with
xTaskCreateWithCaps such that the stack is allocated in external SPIRAM.
Then the tasks self-delete. This is done iteratively as stress test.
2024-09-20 10:28:14 +02:00
Alexey Lapshin bb5180f33f fix(newlib): sbom: add CVE-2024-30949 to cve-exclude-list 2024-09-20 14:55:19 +07:00
Sudeep Mohanty 2e454af5e2 fix(esp_ringbuf): Fixed a bug where in a no-split buffer received items prematurely
This commit fixes a bug in the no-split buffer which could receive an
item prematurely if the space on the buffer is acquired until the buffer
is full. The commit also adds a unit test for this scenario.

Closes https://github.com/espressif/esp-idf/issues/14568
2024-09-19 15:59:46 +02:00
Chen Jian Hua e9484c617d fix(bt/bluedroid): Fixed access fault when reading BLE controller information fails
(cherry picked from commit e4e23087ee)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2024-09-19 09:12:34 +08:00
Chen Jian Hua 2c133cb1bc feat(bt/bluedroid): Add BLE connection id param for ESP_GATTS_RESPONSE_EVT
(cherry picked from commit e4a372ab76)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2024-09-19 09:12:32 +08:00
Chen Jian Hua 3a8c97a1c9 fix(bt/controller): Change the max TX power to +20dBm on ESP32-C3 and ESP32-S3
(cherry picked from commit fe43c8f1b5)

Co-authored-by: chenjianhua <chenjianhua@espressif.com>
2024-09-18 17:34:27 +08:00
nilesh.kale c9f92ef182 feat(esp_https_ota): added API to get last status code logged from http resonse
Closes https://github.com/espressif/esp-idf/issues/14302
2024-09-18 14:58:27 +05:30
wuzhenghui f617e55e5e fix(esp_hw_support): add clock retention contents 2024-09-18 17:11:24 +08:00
Konstantin Kondrashov d6f01e03d9 fix(examples): Increases partition table offset for SBV2+FE test 2024-09-18 09:58:29 +03:00
Konstantin Kondrashov 8cf1c45496 fix(esptool_py): Check the size of the bootloader + signature block 2024-09-18 09:58:29 +03:00
yiwenxiu ca4eae5ab1 feat(openthread): add thread curl https ci case 2024-09-18 14:31:07 +08:00
shreeyash 51b80c4d16 fix(nimble): Added a change to print address of an advertising instance 2024-09-17 12:18:53 +05:30
Andste82 bd62dfb21f fix(spinlock): comparison of integer expressions of different signedness 2024-09-14 10:36:23 +03:00
Marius Vikhammer a6cce532f5 fix(wdt): changed register dump on non panic task WDT to be more descriptive
Closes https://github.com/espressif/esp-idf/issues/14400
2024-09-14 10:11:10 +08:00
Song Ruo Jing 582667d443 fix(ringbuf): allow xRingbufferCreateWithCaps to pass in non-32-bit aligned size 2024-09-13 17:24:53 +08:00
Marius Vikhammer 36ae66a5b7 docs(freertos): update freertos comments to reflect that stack size is in bytes
Closes https://github.com/espressif/esp-idf/issues/11600
2024-09-13 13:33:46 +08:00
Song Ruo Jing 6594e71d2d fix(clk): warn the users to avoid using RC32K clock 2024-09-13 11:59:58 +08:00
Yuhan Wei 052d7ef6e9 fix(ble): Increased the length of addr_str in README.md 2024-09-13 09:39:29 +08:00
Yuhan Wei 45bd7bcde9 fix(ble): Increased the length of addr_str in ble_get_started nimble examples 2024-09-13 09:39:29 +08:00
Shen Weilong f8ca5da078 fix(ble): fiexed the crash issue of examples/bluetooth/nimble/ble_multi_conn 2024-09-12 20:56:29 +08:00
Guillaume Souchere c341065ce4 fix(system): fixed warnings related to ununsed var in spinlock.h 2024-09-12 08:45:42 +02:00
David Čermák 95e16f6a72 Merge branch 'bugfix/eth_plus_wifi_doc_v5.2' into 'release/v5.2'
docs(esp_eth): added warning to not use ESP32 as ETH CLK source with WiFi (v5.2)

See merge request espressif/esp-idf!33246
2024-09-12 14:35:15 +08:00
C.S.M 1c5d32e57d fix(i2c): Fix the wrong return value of esp32,esp32s2,esp32s3 2024-09-12 11:56:51 +08:00
C.S.M 2e1928c31c fix(i2c): Fix the i2c sda/scl force out register value on some esp chips 2024-09-12 11:56:51 +08:00
C.S.M fdc5fa2931 fix(i2c): Fix possible error state in clear the bus,
Closes https://github.com/espressif/esp-idf/issues/13647
2024-09-12 11:56:51 +08:00
C.S.M 6adee5052f fix(i2c_master): Fix an I2C issue that slave streth happen but master timeout set seems doesn't work
Closes https://github.com/espressif/esp-idf/issues/14129
Closes https://github.com/espressif/esp-idf/issues/14401
2024-09-12 11:56:51 +08:00
Jiang Jiang Jian 22eadb5a76 Merge branch 'bugfix/gcmp_reason_code_v52' into 'release/v5.2'
fix(esp_wifi): Fix reason code for sta not supporting GCMP(v5.2)

See merge request espressif/esp-idf!33448
2024-09-12 11:16:34 +08:00
Jiang Jiang Jian 7bf8ae0b40 Merge branch 'bugfix/fix_missing_per_adv_sync_est_evt_v5.2' into 'release/v5.2'
fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(c66a703) (Backport v5.2)

See merge request espressif/esp-idf!33449
2024-09-12 10:45:40 +08:00
Jiang Jiang Jian efdeaba73b Merge branch 'bugfix/fix_some_ble_bugs_240826_v5.2' into 'release/v5.2'
Fixed some BLE bugs 240826 on ESP32C3 (8ce789b) (v5.2)

See merge request espressif/esp-idf!33390
2024-09-12 10:45:02 +08:00
Erhan Kurubas b5373984b1 test(sysview): fix gdb no response error in sysview_heap_log tests 2024-09-11 13:40:50 +03:00
linruihao 0f32051c65 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(c66a703)
- Fixed missing sync established event after canceling sync
2024-09-11 16:48:55 +08:00
Aditi 6f0abe238c fix(esp_wifi): Fix reason code for sta not supporting GCMP
Add fix for returning correct reason code when sta doesn't
 support GCMP to ensure consistent behaviour for all chips.
2024-09-11 14:08:32 +05:30
Linda 49a0e85acd This is a combination of 2 commits.
docs: update startup.rst description for single-core chip support
2024-09-11 10:44:39 +08:00
Jiang Guang Ming 3340050eae feat(mbedtls): support rom mbedtls threading layer 2024-09-10 10:20:29 +08:00
Jiang Guang Ming d4dea72f24 feat(mbedtls): select MBEDTLS_CMAC_C when MBEDTLS_USE_CRYPTO_ROM_IMPL enabled 2024-09-10 10:20:23 +08:00
Jiang Guang Ming 4c567bd203 feat(mbedtls): support ROM mbedtls v3.6.0 on C2 rev2.0(ECO4) 2024-09-10 10:20:14 +08:00
Jiang Guang Ming 82950845be feat(esp_rom): include rom.mbedtls.eco4.ld with C2 rev2.0(ECO4) select 2024-09-10 10:13:53 +08:00
Jiang Guang Ming 2384b3ac33 feat(esp_rom): update esp32c2.rom.mbedtls.eco4.ld 2024-09-10 10:08:03 +08:00
Jiang Guang Ming d2e04a987b feat(esp_hw_support): Support esp32c2 rev2.0 chip 2024-09-10 10:07:31 +08:00
Astha Verma baa4021d2e fix(nimble): Added support for bidirectional data trasfer 2024-09-09 18:41:16 +05:30
Jiang Jiang Jian c8c6fd1413 Merge branch 'bugfix/psram_fallback_in_wifi_osi_v5.2' into 'release/v5.2'
fix(wifi): Add PSRAM failure fallback in WiFi Queue API's (backport v5.2)

See merge request espressif/esp-idf!33346
2024-09-09 19:53:25 +08:00
Jiang Jiang Jian 7ba8821740 Merge branch 'fix/fix_some_wifi_bugs_0902_v5.2' into 'release/v5.2'
fix(wifi): fix some wifi bugs and add api to enable bss color collsion detection (v5.2)

See merge request espressif/esp-idf!33267
2024-09-09 19:52:29 +08:00
xiongweichao 804e140701 fix(bt/bluedroid): Fix the protocol stack to exit sniff mode
- Already in result mode but request change indication has not been cleared
2024-09-09 16:19:24 +08:00
chenjianhua ddda09bca7 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(8ce789b)
- Fixed BLE vendor HCI set scan perfer address command
- Support BLE vendor HCI get controller compile version command
- Fixed BLE util buffer free after controller reset
- Fixed assert when connection already exist and be connected again
2024-09-09 11:35:24 +08:00
chenjianhua e3792ff20f feat(bt): Update esp32 bt-lib(bc393dd)
- Fixed BLE vendor HCI set scan perfer address command
- Support BLE vendor HCI get controller compile version command
- Support BLE scanning and initiating coexist
2024-09-09 11:30:40 +08:00
Roman Leonov e1feca0d48 refactor(hub): Cleaned up dev_tree_node debug output, moved node freeing 2024-09-06 22:53:50 +02:00
Alexey Lapshin b746f6d6ef feat(esp_system): drop .got* sections and add hint
Closes https://github.com/espressif/esp-idf/issues/14296
2024-09-06 18:48:39 +07:00
xuxiao 062cf21381 fix(wifi): fix some wifi bugs (v5.2) 2024-09-06 19:04:21 +08:00
Anton Maklakov 76cfb388b3 fix(idf_tools): fix delimiter when the updater parsing, ' *' or ' ' 2024-09-06 17:13:01 +07:00
Anton Maklakov 04b77f56f5 fix(idf_tools): Fix platform detection for arm64 machine but arm32 environment 2024-09-06 17:10:40 +07:00
Roman Leonov 3d2edb47bb refactor(ext_hub): Prerequisites for the Ext Port Driver 2024-09-06 10:37:01 +02:00
Roman Leonov 5b346ca9d8 fix(usb_host): The Enumeration Driver, cancellation on error 2024-09-06 10:37:01 +02:00
Roman Leonov 16c3c050be docs(ext_hub): Added description for External Hub Driver 2024-09-06 10:36:57 +02:00
Roman Leonov ec6f52a717 feat(ext_hub): Added External Hub driver 2024-09-06 10:02:38 +02:00
Roman Leonov 59be21b763 fix(usb_host): Increased address map for clients and changed the uid member type 2024-09-06 10:02:37 +02:00
Tomas Rezucha 9f0ef05192 fix(enum): Returned usb_round_up_to_mps for control request of string descriptors 2024-09-06 10:02:37 +02:00
Roman Leonov 38bb90dd9a feat(hub): Added device tree nodes list and uid calculation logic 2024-09-06 10:02:37 +02:00
Roman Leonov c5ee01dd0b fix(enum): Fixed STALL on descriptor request, removed unused value 2024-09-06 10:02:37 +02:00
Roman Leonov d41dd420da docs(enum): Added description for Enumeration process (Enum Driver) 2024-09-06 10:02:37 +02:00
Roman Leonov 410a6a21c5 refactor(enum): Curved out Enumeration process from Hub Driver 2024-09-06 10:02:37 +02:00
Roman Leonov 284b978cb4 refactor(hub): Updated HUB api for ENUM driver 2024-09-06 10:02:37 +02:00
Roman Leonov 30681356d8 refactor(usbh): Updated USBH api for ENUM driver 2024-09-06 10:02:37 +02:00
Chen Jichang d34a39e9a6 fix(parlio_tx): fix error in first transfer and 1 byte transfer
On p4, the clock was configured in the wrong order causing a dropped
count on the first transmission. And gdma eof event fails to trigger
parlio_tx eof event when transmitting single byte.
2024-09-06 14:10:15 +08:00
shreeyash 8ae2cf751c fix(nimble): Make CCCD flags configurable 2024-09-06 10:52:37 +05:30
Rahul Tank 75cec307f1 fix(nimble): Add notify characteristic flag support 2024-09-05 16:19:31 +05:30
Nachiket Kukade 8e06b09d31 fix(wifi): Add PSRAM failure fallback in WiFi Queue API's 2024-09-05 14:29:19 +05:30
Jiang Jiang Jian da9536dbab Merge branch 'bugfix/fixed_assert_on_esp32c2_v5.2' into 'release/v5.2'
fix(ble): fixed crash issue during deinit host after deinit controller on ESP32-C2 (v5.2)

See merge request espressif/esp-idf!33206
2024-09-05 15:04:13 +08:00
Lou Tianhao b1c6f48c10 fix(pm): cancel cache_safe_assertion when using ext0 & ext1 2024-09-04 17:10:31 +08:00
Frantisek Hrbata 0f18942d27 docs(size): remove -DOUTPUT_FORMAT output format option for idf.py size
Setting OUTPUT_FORMAT through the CMake variable probably never
functioned and seems to be a remnant (possibly a typo in the
documentation) from the time when the -DOUTPUT_JSON=1 CMake variable was
used to specify the JSON output format, prior to the introduction of the
--format option. This removes the note regarding the option to choose
the output format using -DOUTPUT_FORMAT.

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

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-09-04 09:57:52 +02:00
zlq 4d9aa7fd25 fix(ext_32k): fix the external 32K issue on C3&S3 (v5.2) 2024-09-04 14:57:55 +08:00
Chen Jichang 3efad30654 feat(psram): add psram noinit segment support on S2/S3/P4/C5
Closes https://github.com/espressif/esp-idf/issues/14253
2024-09-03 17:42:09 +08:00
renpeiying 73d0c9a2d0 docs: Update zh_CN translation for MR32736 2024-09-02 11:41:23 +02:00
Ondrej Kosta 25b6e7412c docs(esp_eth): added warning to not use ESP32 as ETH CLK source with WiFi 2024-09-02 10:50:14 +02:00
Jiang Jiang Jian cfd8a30995 Merge branch 'bugfix/esp32_rx_sense_v5.2' into 'release/v5.2'
fix(phy): fix esp32 rx sense issue(v5.2)

See merge request espressif/esp-idf!33169
2024-08-30 17:38:29 +08:00
Sudeep Mohanty e90bb54f8b test(freertos): Added build test for function in flash with -Os optimation
This commit adds a build test for when FreeRTOS and esp_ringbuf functions
are placed in flash and the compiler optimizes for code size.
2024-08-30 09:16:52 +02:00
Sudeep Mohanty 3dc035d8d6 fix(freertos): Added freertos fragments to the exception list of ldgen mapping checks
This commit adds freertos and esp_ringbuf linker fragment sections
to the exception list of the ldgen mappings checker script.
2024-08-30 09:16:50 +02:00
Jiang Jiang Jian d8418f92ab Merge branch 'fix/clang_linker_fix_for_linux_target_v5.2' into 'release/v5.2'
fix(cmake): Fixed linker not supporting -warn_commons for linux target on MacOS (v5.2)

See merge request espressif/esp-idf!33053
2024-08-30 13:49:40 +08:00
zwl edea4da5b9 fix(ble): fixed crash issue during deinit host after deinit controller on ESP32-C2 2024-08-30 12:02:58 +08:00
Jiang Jiang Jian 3835e1d89a Merge branch 'feat/lwip_ppp_more_opts_v5.2' into 'release/v5.2'
lwip: PPP configs to enable/disable: Server side, IP header compression (v5.2)

See merge request espressif/esp-idf!33192
2024-08-30 10:45:29 +08:00
Jiang Jiang Jian d37fc13ee8 Merge branch 'fix_wrong_ap3204_id_check_v5.2' into 'release/v5.2'
fix(psram): fixed ap3204 id check (v5.2)

See merge request espressif/esp-idf!33130
2024-08-30 10:42:32 +08:00
Jiang Jiang Jian dbc7694fcb Merge branch 'feature/check_efuse_blk_after_ota_v5.2' into 'release/v5.2'
feat(bootloader): support to check efuse block revision (v5.2)

See merge request espressif/esp-idf!33137
2024-08-30 10:39:02 +08:00
Jiang Jiang Jian 378dc6d3d8 Merge branch 'bugfix/fix_wifi_bugs_240829_v5.2' into 'release/v5.2'
fix(wifi): fix wifi bugs 240829 v5.2

See merge request espressif/esp-idf!33199
2024-08-29 22:16:44 +08:00
Rahul Tank 59f8a4820e Merge branch 'bugfix/add_bluedroid_support_for_esp_ip_v5.2' into 'release/v5.2'
fix(wifi_prov): Add support for ESP IP controller chips in bluedroid (v5.2)

See merge request espressif/esp-idf!33178
2024-08-29 20:36:16 +08:00
Rahul Tank d8004c197d fix(wifi_prov): Add support for ESP IP controller chips in bluedroid 2024-08-29 15:05:37 +05:30
zhanghaipeng 243d6752ad fix(ble/bluedroid): Optimize BLE function 'esp_ble_resolve_adv_data_by_type' 2024-08-29 16:17:46 +08:00
zhanghaipeng fff9b4e779 docs(ble/bluedroid): Optimize BLE example documentation for getting characteristic 2024-08-29 16:17:46 +08:00
Nebojša Cvetković 5295cfc696 fix(bt/bluedroid): Resolve warning: unused variable 'pp' 2024-08-29 16:17:46 +08:00
David Cermak aba6b8d8f7 fix(lwip): Used dedicated IP4 address type 2024-08-29 10:01:38 +02:00
David Cermak aa49e53d5b fix(lwip): esp_netif supports esp_netif_get_netif_impl() for PPP 2024-08-29 10:01:38 +02:00
David Cermak 501a25f0c7 feat(lwip): Added PPP config option to control VJ header compression 2024-08-29 10:01:38 +02:00
David Cermak a9265db5f1 feat(lwip): Add support for PPP server
Added support PPP_SERVER option in LWIP
Added support for configuring preferred addresses of PPP endpoints.
2024-08-29 10:01:37 +02:00
sibeibei c85eb58480 fix(wifi): fix wifi bugs 240828 v5.2 2024-08-29 14:19:59 +08:00
Sudeep Mohanty 049e4af543 fix(cmake): Fixed linker not supporting -warn_commons for linux target on MacOS
This commit updates the ld linker flags to conditionally include the
-warn_commons flag when the linux target is built on MacOS. This is
because, not all versions of ld support the -warn_commons option.

Closes https://github.com/espressif/esp-idf/issues/13185
2024-08-29 11:46:38 +08:00
Jiang Jiang Jian c143e68c9f Merge branch 'feature/update-qemu-to-esp_develop_9.0.0_20240606_v5.2' into 'release/v5.2'
feat(tools): update qemu version to esp_develop_9.0.0_20240606 (v5.2)

See merge request espressif/esp-idf!31527
2024-08-29 11:46:07 +08:00
Jiang Jiang Jian 06d9071fd0 Merge branch 'fix/hfp_pcm_codec_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fix default codec type on PCM datapath for hfp_hf (backport v5.2)

See merge request espressif/esp-idf!33159
2024-08-29 10:56:44 +08:00
Jiang Jiang Jian db77e905dc Merge branch 'contrib/github_pr_14286_v5.2' into 'release/v5.2'
fix(bt): Add a parameter in the two least significant bits of Class of Device (backport v5.2)

See merge request espressif/esp-idf!33165
2024-08-29 10:30:24 +08:00
Jiang Jiang Jian 8c919e027a Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20240821_v5.2' into 'release/v5.2'
feat(tools): update openocd version to v0.12.0-esp32-20240821 (v5.2)

See merge request espressif/esp-idf!33171
2024-08-29 10:17:24 +08:00
Shu Chen 58181b61c6 Merge branch 'backport/fix_oob_issue_found_by_cid' into 'release/v5.2'
fix(802.15.4): fix oob issue for pending table(Backport v5.2)

See merge request espressif/esp-idf!33167
2024-08-28 23:29:13 +08:00
Shu Chen 2064b5e370 Merge branch 'backport/reply_NS_without_ll_opt_v5.2' into 'release/v5.2'
feat(lwip): reply the NS without LL opt(Backport v5.2)

See merge request espressif/esp-idf!33149
2024-08-28 22:12:09 +08:00
Marius Vikhammer 0b864f0ab7 Merge branch 'docs/delete_not_available_p4_documents_v5.2' into 'release/v5.2'
docs: delete unavailable document links for ESP32-P4 (v5.2)

See merge request espressif/esp-idf!33152
2024-08-28 19:21:26 +08:00
Alexey Gerenkov 3f83210435 feat(tools): update openocd version to v0.12.0-esp32-20240821 2024-08-28 13:20:09 +03:00
alanmaxwell 075849c503 fix(phy): fix esp32 rx sense issue
improve esp32 rx sense from -94 to -97 which was introduced by ea4a2c70
2024-08-28 18:05:44 +08:00
zwx b36b0a88ce fix(802.15.4): fix oob issue for pending table 2024-08-28 17:37:02 +08:00
chenqingqing dd2511c6b3 fix(bt/bluedroid): Fix default codec type on PCM datapath for hfp_hf 2024-08-28 17:00:49 +08:00
Island 4afa6b4c21 Merge branch 'docs/remove_ble_s2_sdkconfig' into 'release/v5.2'
fix(ble): Delete c5/s2 sdkconfig in BLE get_started examples

See merge request espressif/esp-idf!33093
2024-08-28 16:56:07 +08:00
chenqingqing fa11f9c7b3 fix(bt): Add a parameter in the two least significant bits of Class of Device 2024-08-28 16:49:35 +08:00
WebDust21 d3155e71ea fix(bt): Enable use of RESERVED bits in COD (GitHub PR) 2024-08-28 16:49:25 +08:00
Jiang Jiang Jian b07f445531 Merge branch 'fix/correct_esp_xt_wdt_configuration_v5.2' into 'release/v5.2'
fix(esp_system): properly exclude XTAL32K WDT from other chips (v5.2)

See merge request espressif/esp-idf!31746
2024-08-28 16:09:02 +08:00
Linda 2156303089 docs: delete unavailable document links for ESP32-P4 2024-08-28 15:58:06 +08:00
Island fc4abfabb4 Merge branch 'debug/fix_deep_sleep_wake_up_by_ble_v5.2' into 'release/v5.2'
fix(ble): fix BLE immediately  wakeup deep sleep (v5.2)

See merge request espressif/esp-idf!33096
2024-08-28 15:13:15 +08:00
zwx d092970f58 feat(lwip): reply the NS without LL opt 2024-08-28 15:01:42 +08:00
renpeiying cfed0d27dc docs: Remove User Guide for ESP32-Pico-Kit related docs after migration 2024-08-28 14:37:01 +08:00
Jiang Jiang Jian 68c10bbbfd Merge branch 'fix/fix_esp32s2_get_ack_rssi_issue_v5.2' into 'release/v5.2'
fix(wifi): fix esp32s2 get ack rssi invaild issue backport v5.2

See merge request espressif/esp-idf!33129
2024-08-28 14:34:39 +08:00
Ivan Grokhotkov 7f9c1b3e6f feat(esp_eth): enable openeth in QEMU for ESP32-S3 2024-08-28 13:51:53 +08:00
Ivan Grokhotkov b357121ec6 feat(tools): update qemu version to esp_develop_9.0.0_20240606 2024-08-28 13:51:53 +08:00
Jiang Jiang Jian e98e6dc079 Merge branch 'backport/openthread_related_feature_v52' into 'release/v5.2'
Backport some openthread related features on to release v5.2 branch(Backport v5.2)

See merge request espressif/esp-idf!33118
2024-08-28 13:50:53 +08:00
Jiang Jiang Jian 4a6154f6a3 Merge branch 'fix/spi_hd_seg_fix_iwdt_timeout_v5.2' into 'release/v5.2'
fix(spi_slave_hd): fix seg mode potential iwdt timeout when multi task call (v5.2)

See merge request espressif/esp-idf!31843
2024-08-28 13:41:55 +08:00
Jiang Jiang Jian f42dcf03b6 Merge branch 'bugfix/cache2phys_xip_v5.2' into 'release/v5.2'
fix(mmap): fixed spi_flash_cache2phys return addr in PSRAM issue (v5.2)

See merge request espressif/esp-idf!31106
2024-08-28 13:39:20 +08:00
Jiang Jiang Jian 685c25d3ac Merge branch 'fix/fix_softap_sta_example_deafult_dns_addr_v5.2' into 'release/v5.2'
fix(wifi): fix softap_sta example default dns addr invaild issue backport for 5.2

See merge request espressif/esp-idf!33132
2024-08-28 13:35:41 +08:00
laokaiyao bff6fb518e refactor(bootloader): lower down the log level to reduce the bootloader size 2024-08-28 12:12:56 +08:00
laokaiyao e5393c6e2e feat(bootloader): support to check efuse block revision
change(bootloader): remove ignore efuse check flag (temp)

change(bootloader): use int for the minimum efuse blk rev (temp)
2024-08-28 12:12:54 +08:00
laokaiyao 600aa69ade docs(chip_revision): update eFuse block revision info 2024-08-28 12:12:25 +08:00
Jiang Jiang Jian 872fd1adfd Merge branch 'bugfix/fix_wrong_typecast_spp_v5.2' into 'release/v5.2'
fix(wifi): Fix wrong typecasting of sta_info while getting SPP Caps (Backport v5.2)

See merge request espressif/esp-idf!33119
2024-08-28 10:54:06 +08:00
Jiang Jiang Jian 4c5569fc51 Merge branch 'coredump_fixes_v5.2' into 'release/v5.2'
Coredump fixes v5.2

See merge request espressif/esp-idf!33084
2024-08-28 10:49:00 +08:00
Armando 6f8da01e38 fix(psram): fixed ap3204 id check 2024-08-28 10:45:08 +08:00
Jiang Jiang Jian 9f486361d4 Merge branch 'bugfix/fix_usb_dp_pullup_disable_v5.2' into 'release/v5.2'
GPIO: correct pio_ll_pullup_dis when USB DP (backport v5.2)

See merge request espressif/esp-idf!32495
2024-08-28 10:45:06 +08:00
wangtao@espressif.com a22c8b3802 fix(wifi): fix softap_sta example default dns addr invaild issue 2024-08-28 10:44:14 +08:00
Jakob Hasse 3b330b4f2f fix(esp_system): properly exclude XTAL32K WDT from other chips
Closes https://github.com/espressif/esp-idf/issues/13955
2024-08-28 10:40:39 +08:00
wangtao@espressif.com ab68008fca fix(wifi): fix esp32s2 get ack rssi invaild issue 2024-08-28 10:31:25 +08:00
Nachiket Kukade eee82730aa fix(wifi): Fix wrong typecasting of sta_info while getting SPP Caps 2024-08-27 16:11:46 +05:30
zwx f5e6cfbaf1 feat(esp_netif): add an API to get all preferred ip6 addresses 2024-08-27 18:31:55 +08:00
zwx f4cdaf2433 feat(802.15.4): support large scale pending table size 2024-08-27 18:31:43 +08:00
Shu Chen 9ee2a361fd feat(openthread): support time sync feature on border router 2024-08-27 18:31:32 +08:00
Michael Wei c122a11653 fix(openthread): fix RCP build to pass time sync and CSL options
Closes https://github.com/espressif/esp-idf/pull/14060
2024-08-27 18:31:26 +08:00
zwx a2f763b6e3 feat(lwip): add a config to set the size of ND6 table cache 2024-08-27 18:31:11 +08:00
Jiang Jiang Jian 43098fc4de Merge branch 'bugfix/pm-165_v5.2' into 'release/v5.2'
backport v5.2: fix the issue of station fail to connect to softap caused by abnormal rf flag signal

See merge request espressif/esp-idf!33104
2024-08-27 17:17:32 +08:00
Jiang Jiang Jian 9fa101c215 Merge branch 'bugfix/ldgen_file_single_entry_v5.2' into 'release/v5.2'
fix(ldgen): fix linker script generation from a single-entry fragment file (backport v5.2)

See merge request espressif/esp-idf!33100
2024-08-27 13:46:24 +08:00
Li Shuai e388ab3240 fix(esp_wifi): fix the issue of station fail to connect to softap caused by abnormal rf flag signal 2024-08-27 13:32:29 +08:00
cjin 41502dbf64 feat(ble): add internal api to change ble slow clock source 2024-08-27 12:47:22 +08:00
Omar Chebib 063fbc872d fix(ldgen): fix linker script generation from a single-entry fragment file 2024-08-27 11:41:15 +08:00
Yuhan Wei 926e038cd9 fix(ble): Removed unsupported sdkconfig in BLE get started examples 2024-08-27 11:30:20 +08:00
cjin 466d42359c fix(ble): remove ble wakeup before entering light sleep 2024-08-27 10:27:11 +08:00
Jiang Jiang Jian 53fef80656 Merge branch 'feat/esp_netif_dns_switch_v5.2' into 'release/v5.2'
[LWIP]: Update submodule to bced058f (multi DNS + PPP/mbedTLS) (v5.2)

See merge request espressif/esp-idf!32799
2024-08-27 10:18:01 +08:00
Island a9da6b38ed Merge branch 'bugfix/fixed_c6_c2_issues_master_v5.2' into 'release/v5.2'
Bugfix/fixed c6 c2 issues master (v5.2)

See merge request espressif/esp-idf!33065
2024-08-27 10:14:32 +08:00
Jiang Jiang Jian 39a6934056 Merge branch 'bugfix/fix_esp32c6_rxappend_esp32_tbtt_delay_v5.2' into 'release/v5.2'
fix(coex): fix esp32 crash issue, fix esp32c6 rx issue

See merge request espressif/esp-idf!33074
2024-08-26 20:09:26 +08:00
zwl 93de12ee69 fix(ble): fixed ble controller issues on ESP32-H2 2024-08-26 19:41:48 +08:00
zwl 9b9c1e85d3 fix(ble): fixed ble controller issues on ESP32-C6 2024-08-26 19:41:08 +08:00
zwl 1f79c16d70 fix(ble): fixed ble controller issues on ESP32-C2 2024-08-26 19:39:33 +08:00
Erhan Kurubas 127e2e4a88 fix(coredump): fix buffer overflow inside esp_core_dump_get_summary
Closes https://github.com/espressif/esp-idf/issues/13754
2024-08-26 13:27:40 +03:00
Jiang Jiang Jian 36d2fd821f Merge branch 'bugfix/fix_work_queue_delete_on_bluedroid_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fixed work queue delete when create thread failed (v5.2)

See merge request espressif/esp-idf!33038
2024-08-26 14:55:16 +08:00
Jiang Jiang Jian 0fd45a0d0a Merge branch 'feat/collect_retention_link_definition_v5.2' into 'release/v5.2'
change(esp_hw_support): collect retention link priority definition (v5.2)

See merge request espressif/esp-idf!33069
2024-08-26 14:27:45 +08:00
liuning 0eba5a9537 fix(coex): fix esp32 crash issue, fix esp32c6 rx issue 2024-08-26 14:11:26 +08:00
Island 7dd2a470fd Merge branch 'docs/add_ble_feature_status_table_v5.2' into 'release/v5.2'
docs(ble): Added BLE feature support status (v5.2)

See merge request espressif/esp-idf!32923
2024-08-26 14:02:43 +08:00
Rahul Tank 0bb6059ae0 Merge branch 'fix/change_bt_hci_log_to_nimble_nomenclature_v5.2' into 'release/v5.2'
fix(nimble): Added BT_HCI_LOG_INCLUDED macro into esp nimble configuration according to nimble nomenclature (v5.2)

See merge request espressif/esp-idf!32955
2024-08-26 11:49:15 +08:00
wuzhenghui 69baf86cf4 change(esp_hw_support): collect retention link priority definition 2024-08-26 11:40:07 +08:00
Jiang Jiang Jian 33539d19a1 Merge branch 'bugfix/fix_ble_resolve_adv_data_v5.2' into 'release/v5.2'
fix(ble/bluedroid): Fixed memory out-of-bounds issue when parsing adv data (v5.2)

See merge request espressif/esp-idf!33024
2024-08-26 10:40:48 +08:00
Jiang Jiang Jian c9953e3fa0 Merge branch 'docs/add_nimble_get_started_v5.2' into 'release/v5.2'
feat(ble/example): Added NimBLE Get started examples (v5.2)

See merge request espressif/esp-idf!33029
2024-08-26 10:36:50 +08:00
Jiang Jiang Jian 6ca18c5466 Merge branch 'docs/delete_user_guide_esp32s2_kaluga_1_kit_v5.2' into 'release/v5.2'
docs: Delete ESP32-S2-Kaluga-Kit related user guide files (v5.2)

See merge request espressif/esp-idf!32592
2024-08-26 10:29:28 +08:00
Astha Verma 5ac254bbee fix(nimble): Added BT_HCI_LOG_INCLUDED macro according to nimble nomenclature 2024-08-24 10:59:12 +05:30
Abhik Roy 4435526e6d fix(lwip): Fixed incorrect handling of 0.0.0.0 in dns (v5.2)
LWIP submodule update: git log --oneline e8d05138..bced058f
  - dns: Fixed incorrect handling of 0.0.0.0
    (espressif/esp-lwip@bced058f)
2024-08-23 11:06:24 +02:00
David Cermak 2d5498f3ad fix(esp_netif): Remove unused leftover pppapi_set_auth() call 2024-08-23 11:05:19 +02:00
David Cermak fe82abb59b feat(lwip): Add support for PPP Auth using mbedTLS (v5.2)
LWIP submodule update (v5.2): git log --oneline 3a3d1fb3..e8d05138
  - PPP/Auth: Add mbedtls includes if lwip uses it
    (espressif/esp-lwip@e8d05138)

Closes https://github.com/espressif/esp-idf/issues/13597
2024-08-23 11:03:35 +02:00
chenjianhua 8d1cc85dd1 fix(bt/bluedroid): Fixed work queue delete when create thread failed 2024-08-23 17:01:39 +08:00
David Cermak 91f9f05d9b fix(esp_netif): Add unit test of getter/setter API for DNS servers 2024-08-23 10:51:13 +02:00
David Cermak 7931ac6f19 fix(esp_netif): Restore DNS servers per netif when setting it default(5.2)
Introducing config option `CONFIG_ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF`
to overcome LWIP limitation of using global DNS server info.
This config option enables LWIP callbacks to collect per netif DNS
server info and then restores global DNS servers of whichever network
interface is selected as default.

LWIP submodule update v5.2: git log --oneline f1746813..3a3d1fb3
  - dns: Allow storing dnsserver per netif (espressif/esp-lwip@3a3d1fb3)
  - api_msg: Fix unused local variable if LWIP_NETCONN_SEM_PER_THREAD=1
    (espressif/esp-lwip@aa4f6e78)
  - lwip: fix gcc -fanalyzer warnings (espressif/esp-lwip@4297782b)
2024-08-23 10:49:32 +02:00
Abhik Roy bde21acfb6 feat(lwip): Added multiple dns ip support (v5.2)
LWIP submodule update on v5.2: git log --oneline f7922143..f1746813
  - feat(lwip): Added multiple dns ip support (espressif/esp-lwip@f1746813)
  - api_msg: Fix crash to fail-safe error if cannot get semaphore (espressif/esp-lwip@a1bd9e44)
2024-08-23 10:43:58 +02:00
Jiang Jiang Jian ae914df9d2 Merge branch 'bugfix/fix_clkn_lost_after_modem_sleep_v5.2' into 'release/v5.2'
fix(bt/controller): Fixed bluetooth disconnect issue after modem sleep on ESP32 (v5.2)

See merge request espressif/esp-idf!33003
2024-08-23 16:07:37 +08:00
Jiang Jiang Jian a996cb232c Merge branch 'feature/gcc-fanalyzer_v5.2' into 'release/v5.2'
Fix issues found by gnu static analyzer job (v5.2)

See merge request espressif/esp-idf!32983
2024-08-23 15:17:34 +08:00
Jiang Jiang Jian f2f31efa26 Merge branch 'feature/print_panic_while_cache_fail_v5.2' into 'release/v5.2'
feat(esp_system): Print backtrace for both CPUs when cache error does not determine CPU (v5.2)

See merge request espressif/esp-idf!31131
2024-08-23 14:34:25 +08:00
Zhou Xiao aa0b5c3186 docs(ble): Replace advertising interval hex value with BLE_GAP_ADV_ITVL_MS 2024-08-23 14:18:23 +08:00
Zhou Xiao 781d3456c7 docs(ble): Improved as Weilong and Shenhang requested 2024-08-23 14:18:23 +08:00
zhouxiao 1a0c5f49aa docs(ble): Added BLE Get Started 2024-08-23 14:18:23 +08:00
Jiang Jiang Jian 2c8d533977 Merge branch 'bugfix/fix_mesh_ie_issue_from_leaf_to_root_v5.2' into 'release/v5.2'
fix(wifi/mesh): clear the rootless state in mesh ie when changing from leaf to root (v5.2)

See merge request espressif/esp-idf!32987
2024-08-23 13:50:10 +08:00
Jiang Jiang Jian a54dfc3912 Merge branch 'contrib/github_pr_13578_v5.2' into 'release/v5.2'
Make FreeRTOS configUSE_TIMERS optional in KConfig (GitHub PR) (v5.2)

See merge request espressif/esp-idf!32808
2024-08-23 13:45:34 +08:00
Jiang Jiang Jian 6facff8091 Merge branch 'fix/mmu_multicore_app_bl_v5.2' into 'release/v5.2'
fix(MMU): fixed mmap deadlock when using multicore app with unicore bootloader (v5.2)

See merge request espressif/esp-idf!32897
2024-08-23 13:45:04 +08:00
Jiang Jiang Jian 4750755bc8 Merge branch 'contrib/github_pr_14314_v5.2' into 'release/v5.2'
perf(gcm): shrink Shoup table and tune GCM loop (GitHub PR) (v5.2)

See merge request espressif/esp-idf!32997
2024-08-23 13:44:22 +08:00
linruihao 151569ac25 fix(bt/controller): Fixed bluetooth disconnect issue after modem sleep on ESP32 2024-08-23 13:42:25 +08:00
Rahul Tank ed429563ee Merge branch 'bugfix/blesmp_getlist_bond_fail_v5.2' into 'release/v5.2'
fix(nimble): Fixed blesmp getbondlist issue (v5.2)

See merge request espressif/esp-idf!32823
2024-08-23 12:42:07 +08:00
zhangyanjiao cf21dd6b8b fix(wifi/mesh): update the mesh ip_internal_network example 2024-08-23 11:35:25 +08:00
zhangyanjiao 117c85961a fix(wifi/mesh): fixed the dhcp offer send error issue when root restart multiple times
Closes https://github.com/espressif/esp-idf/issues/13212
2024-08-23 11:35:15 +08:00
zhangyanjiao 845725a60f fix(wifi/mesh): clear the rootless state in mesh ie when changing from leaf to root
Closes https://github.com/espressif/esp-idf/issues/14063
2024-08-23 11:34:47 +08:00
wanlei 7f6ff6ebd9 fix(spi_slave_hd): fix seg mode potential iwdt timeout when multi task call 2024-08-23 10:34:36 +08:00
Jiang Jiang Jian 303690e981 Merge branch 'bugfix/usleep_overflow_v5.2' into 'release/v5.2'
fix(newlib): fixed potential overflow in usleep (v5.2)

See merge request espressif/esp-idf!33002
2024-08-23 10:27:38 +08:00
zhanghaipeng 15eb5f7f85 feat(ble/controller): Support get BLE controller free heap size 2024-08-23 09:42:18 +08:00
zhanghaipeng efb16c2685 docs(blufi): Optimize documentation for Blufi example 2024-08-23 09:42:18 +08:00
zhanghaipeng 7e04b04b1c fix(ble/bluedroid): Fixed memory out-of-bounds issue when parsing adv data 2024-08-23 09:42:18 +08:00
Xiao Xufeng ce254fe470 fix(mmap): fixed spi_flash_cache2phys return addr in PSRAM issue
When SPIRAM_FETCH_INSTRUCTIONS or SPIRAM_RODATA enabled
2024-08-23 00:11:51 +08:00
shreeyash 121626ffb6 fix(nimble): Fixed blesmp getbondlist issue 2024-08-22 21:32:13 +05:30
Jiang Jiang Jian 149c0e24db Merge branch 'bugfix/fix_some_wifi_bugs_240821_v5.2' into 'release/v5.2'
fix(wifi): fix some wifi bugs 240821(Backport v5.2)

See merge request espressif/esp-idf!32994
2024-08-22 19:56:24 +08:00
Jiang Jiang Jian 2bb4804d08 Merge branch 'fix/netif_ppp_ip6_autoconfig_v5.2' into 'release/v5.2'
fix(esp_netif): Fix missing IPv6 autoconfig for PPP netifs (v5.2)

See merge request espressif/esp-idf!32178
2024-08-22 19:47:49 +08:00
Jiang Jiang Jian bf3bd01f2c Merge branch 'backport/esp_netif_get_ip6addr_should_be_valid_v52' into 'release/v5.2'
fix(esp_netif): netif should return only valid addr(Backportv5.2)

See merge request espressif/esp-idf!32160
2024-08-22 19:45:22 +08:00
Jiang Jiang Jian 9eb139ac4b Merge branch 'bugfix/fix_some_ble_bugs_cjh_v5.2' into 'release/v5.2'
Fixed some BLE bugs 240812 (backport v5.2)

See merge request espressif/esp-idf!32793
2024-08-22 19:36:25 +08:00
Jiang Jiang Jian 468213359b Merge branch 'example/ping_invalid_ip6_fix_v5.2' into 'release/v5.2'
fix(example): Fixed updating recv addr for invalid packets (v5.2)

See merge request espressif/esp-idf!32990
2024-08-22 19:35:28 +08:00
Jiang Jiang Jian cde3c50aac Merge branch 'lwip/static_ip6_public_v5.2' into 'release/v5.2'
feat(esp_netif): Added code to expose api to add and remove ipv6 address (v5.2)

See merge request espressif/esp-idf!32993
2024-08-22 19:34:55 +08:00
Jiang Jiang Jian a35678594c Merge branch 'docs/fix_typo_adc_oneshot_v5.2' into 'release/v5.2'
docs: fix a typo in adc_oneshot (v5.2)

See merge request espressif/esp-idf!33007
2024-08-22 19:31:23 +08:00
Island 6cbb83951d Merge branch 'bugfix/fix_bleqabr24_1152_v5.2' into 'release/v5.2'
Fixed BLE vendor HCI get controller status command on ESP32 (v5.2)

See merge request espressif/esp-idf!32966
2024-08-22 16:57:02 +08:00
Rahul Tank e3db40bd8e Merge branch 'feat/ble_link_estab_event_v5.2' into 'release/v5.2'
feat(nimble): BLE_GAP_EVENT_LINK_ESTAB event to ensure link is established (v5.2)

See merge request espressif/esp-idf!32259
2024-08-22 15:16:20 +08:00
Wang Meng Yang b7ff472a3f Merge branch 'fix/test_script_error_in_bt_example_v5.2' into 'release/v5.2'
Fix/test script error in bt example v5.2(backport v5.2)

See merge request espressif/esp-idf!32976
2024-08-22 11:39:30 +08:00
Linda 23956a2e62 docs: fix a typo in adc_oneshot 2024-08-22 10:19:19 +08:00
Marius Vikhammer f6a6ef641c fix(newlib): fixed potential overflow in usleep
If trying to usleep for 0xFFFF FFFF us the calculation of delay ticks would overflow
resulting in the system not sleeping at all.

Closes https://github.com/espressif/esp-idf/issues/14390
2024-08-22 09:56:06 +08:00
Yuhan Wei a1ce19c47f docs(ble): Added api-guides/ble/blufi.rst to conf_common.py 2024-08-22 09:44:33 +08:00
David Čermák 3070e0fad8 Merge branch 'fix/websocket_first_packet_v5.2' into 'release/v5.2'
fix(ws_transport): fix first fragment loosing during websocket connection (release-v5.2)

See merge request espressif/esp-idf!30432
2024-08-21 23:01:57 +08:00
zwx 997f3c15b2 fix(esp_netif): netif should return only valid addr 2024-08-21 22:59:26 +08:00
David Čermák c0f9115ef7 Merge branch 'mqtt_update_v5.2' into 'release/v5.2'
change(mqtt): Updte esp_mqtt submodule (v5.2)

See merge request espressif/esp-idf!32939
2024-08-21 22:58:20 +08:00
Richard Allen cda82f8ee8 change(mbedtls/port): optimize gcm_mult()
1) pre-shift GCM last4 to use 32-bit shift

On 32-bit architectures like Aarch32, RV32, Xtensa,
shifting a 64-bit variable by 32-bits is free,
since it changes the register representing half of the 64-bit var.
Pre-shift the last4 array to take advantage of this.

2) unroll first GCM iteration

The first loop of gcm_mult() is different from
the others. By unrolling it separately from the
others, the other iterations may take advantage
of the zero-overhead loop construct, in addition
to saving a conditional branch in the loop.
2024-08-21 18:26:08 +05:30
David Cermak 0fd8e6c7bd fix(esp_netif): Fix missing IPv6 autoconfig for PPP netifs
Closes https://github.com/espressif/esp-idf/issues/13713
2024-08-21 20:32:59 +08:00
muhaidong a9fa740cf8 fix(wifi): fix some wifi bugs 240821
1. fixed association refused temporarily issue.
2. give some information when password length mismatch authmode threshold.
3. fix reset connection fail issue.
2024-08-21 19:32:40 +08:00
Abhik Roy f30d488458 feat(esp_netif): Added preferred flag to esp_netif_add_ip6_address 2024-08-21 21:16:46 +10:00
Abhik Roy 8809589cf7 feat(esp_netif): Added code to expose api to add and remove ipv6 address 2024-08-21 21:16:46 +10:00
Abhik Roy 205772532b fix(example): Fixed updating recv addr for invalid packets for ping
Closes https://github.com/espressif/esp-idf/issues/14197
2024-08-21 20:38:09 +10:00
Island bed70a9e11 Merge branch 'feature/ble_mesh_update_document_link_v5.2' into 'release/v5.2'
feat(ble_mesh): update the link of BLE-MESH 1.1 specification and model specification(v5.2)

See merge request espressif/esp-idf!32981
2024-08-21 16:55:31 +08:00
Island b0fb1065a4 Merge branch 'fix/ble_mesh_gh_pr_13135_v5.2' into 'release/v5.2'
fix(ble_mesh): Fix OP_TIME_SET and OP_TIME_STATUS (v5.2)

See merge request espressif/esp-idf!32770
2024-08-21 16:54:55 +08:00
Island 6b36ec53e8 Merge branch 'bugfix/fixed_c2_blufi_issue_when_use_only_4.2_adv_v5.2' into 'release/v5.2'
fix(ble): fixed blufi issue on ESP32-C2 (v5.2)

See merge request espressif/esp-idf!32943
2024-08-21 15:17:57 +08:00
Suren Gabrielyan c07bc80e90 fix(ws_transport): utility functions minor improvments 2024-08-21 15:17:17 +08:00
Richard Allen c42cfe1818 fix(ws_transport): fixed server-key corruption
When first fragment is sent over HTTP during websocket
connection, defer buffering of fragment until after the
websocket server-key is validated.

This order is required because the first fragment buffering
overwrites the memory holding the server-key headers.

Fixes 2267d4b
Fixes https://github.com/espressif/esp-protocols/issues/396
PR https://github.com/espressif/esp-idf/pull/13724
2024-08-21 15:17:17 +08:00
Suren Gabrielyan 5d8bb1c72a fix(ws_transport): fix first fragment losting during websocket connection 2024-08-21 15:17:17 +08:00
Alexey Lapshin 3759f41b94 fix(usb): fix warnings found by GNU static analyzer 2024-08-21 14:05:31 +07:00
Alexey Lapshin 9760884e60 fix(wpa_supplicant): fix warnings found by GNU static analyzer 2024-08-21 14:03:48 +07:00
Alexey Lapshin 0b24bebf96 fix(vfs): fix warnings found by GNU static analyzer 2024-08-21 14:03:48 +07:00
Alexey Lapshin d0929d3f0a fix(heap): fix warnings found by GNU static analyzer 2024-08-21 14:03:48 +07:00
Alexey Lapshin acbd160cd0 fix(esp_hw_support): fix warnings found by GNU static analyzer 2024-08-21 14:02:55 +07:00
Alexey Lapshin ceb5456108 fix(esp_driver_usb_serial_jtag): fix warnings found by GNU static analyzer 2024-08-21 14:02:55 +07:00
wangjialiang 85b1c924ad feat(ble_mesh): update the link of BLE-MESH 1.1 specification and model specification 2024-08-21 14:43:32 +08:00
gongyantao fd42618e36 fix(ci): disable ci test when target is not support classic bluetooth 2024-08-21 10:01:29 +08:00
gongyantao b3bbcd3b45 fix(bt): remove redundant space in hid example path 2024-08-21 10:01:24 +08:00
Mahavir Jain 7b0f1b854c Merge branch 'fix/docs_nvs_encryption_update_v5.2' into 'release/v5.2'
docs(nvs_encryption): Updated the docs of nvs_encryption (v5.2)

See merge request espressif/esp-idf!32910
2024-08-20 22:22:31 +08:00
chenjianhua 0f1e5e4570 fix(bt): Update bt lib for ESP32(241c96c)
- Fixed BLE vendor HCI get controller status command
2024-08-20 19:31:07 +08:00
Jiang Jiang Jian 0579c688ea Merge branch 'fix/fix_wifi_bugs_07_29_v5.2' into 'release/v5.2'
fix(wifi): fix some wifi bugs and support btwt (v5.2)

See merge request espressif/esp-idf!32466
2024-08-20 19:13:01 +08:00
Krzysztof Budzynski 31e61971ac Merge branch 'docs/delete_user_guides_three_esp32_dev_boards_v5.2' into 'release/v5.2'
docs: delete user guides of ESP32-DevKitC, ESP-WROVER-KIT and ESP32-PICO-DevKitM-2 (v5.2)

See merge request espressif/esp-idf!32749
2024-08-20 18:38:07 +08:00
Rahul Tank 793f0b3b65 feat(nimble): BLE_GAP_EVENT_LINK_ESTAB event to ensure link established 2024-08-20 14:57:14 +05:30
Rahul Tank 79ceb9b9dc Merge branch 'feat/allow_connect_during_scan_v5.2' into 'release/v5.2'
feat(nimble): Add support to allow connection during scanning (v5.2)

See merge request espressif/esp-idf!32844
2024-08-20 17:11:46 +08:00
Linda d69f1e25d5 docs: delete user guides of ESP32-DevKitC, ESP-WROVER-KIT and ESP32-PICO-DevKitM-2 2024-08-20 14:45:41 +08:00
xuxiao 8971a3c724 fix(wifi): fix some wifi bugs and support btwt (v5.2) 2024-08-20 12:16:56 +08:00
Jiang Jiang Jian dead39c55d Merge branch 'bugfix/heap_corrupt_in_bt_mem_release_on_esp32_v5.2' into 'release/v5.2'
fix(bt): Fix heap corruption in the call of esp_bt_mem_release on ESP32 (v5.2)

See merge request espressif/esp-idf!32802
2024-08-20 11:39:35 +08:00
zwl f629fa88d9 fix(ble): fixed blufi issue on ESP32-C2 2024-08-19 21:48:19 +08:00
Euripedes Rocha 2c6bdbbbbf change(mqtt): Update esp_mqtt submodule
git log --oneline aa6f889fb4f6f743b3a550aa587713aabbdca1fc..cac1552e62b0474c162547b7cce345d7cd1aecfe

Detailed description of the changes:
* fix: clang analyzer unknown pragma warning
  - See merge request espressif/esp-mqtt!215
  - See commit https://github.com/espressif/esp-mqtt/commit/6bb5a5b
* fix: gcc analyzer unknown pragma warning
  - See merge request espressif/esp-mqtt!214
  - See commit https://github.com/espressif/esp-mqtt/commit/b527203
* feat: Moves deletion of expired messages to run at all states
  - Closes IDFGH-12831
  - Closes https://github.com/espressif/esp-mqtt/issues/278
  - See commit https://github.com/espressif/esp-mqtt/commit/32dada4
* fix: Handling of state in the outbox for enqueued QoS 0 messages
  - Closes IDFGH-12829
  - Closes https://github.com/espressif/esp-mqtt/issues/276
  - See commit https://github.com/espressif/esp-mqtt/commit/739cb2d
* fix: Instalation of gcovr in host tests was broken
  - See merge request espressif/esp-mqtt!211
  - See commit https://github.com/espressif/esp-mqtt/commit/6643c49
* Allow to publish using only topic alias on MQTT5
  - Closes IDFGH-12735
  - Fix: Allow to publish using only topic alias on MQTT5 (espressif/esp-mqtt@0071aca)
* refactor: replaced heap mock with Linux-compatible heap component
  - See merge request espressif/esp-mqtt!208
  - See commit https://github.com/espressif/esp-mqtt/commit/8b0b43e
* fix: gcc -fanalyzer warnings
  - See merge request espressif/esp-mqtt!209
  - See commit https://github.com/espressif/esp-mqtt/commit/8bc3bff
* fix: Use catch from component manager
  - See merge request espressif/esp-mqtt!210
  - See commit https://github.com/espressif/esp-mqtt/commit/53e0cc7
* fix: Fix host test for github ci.
  - Closes IDF-8883
  - See commit https://github.com/espressif/esp-mqtt/commit/b43d93c
2024-08-19 15:20:42 +02:00
Yuhan Wei 12b4b32bc7 docs(ble): Updated BT_DOCS and BLE_DOCS in conf_common.py 2024-08-19 17:39:27 +08:00
Yuhan Wei 3f796fbe56 docs(ble): Added api-guides/classic-bt/index.rst and overview.rst to CLASSIC_BT_DOCS in conf_common.py 2024-08-19 17:31:40 +08:00
Yuhan Wei 987a397f29 docs(ble): Updated the support status for NimBLE LE Power Control feature 2024-08-19 09:57:51 +08:00
hrushikesh.bhosale 732520205d docs(nvs_encryption): Updated the docs of nvs_encryption
Updated the documentation by changing subtype from key to
nvs_keys in nvs_encryption.rst
2024-08-18 20:03:00 +05:30
Pat Erley d05d0108d7 fix(ble_mesh): Fix OP_TIME_SET and OP_TIME_STATUS
When a user app is handling these messages, the tai_utc_delta and
time_zone_offset fields are not correctly populated.  Resolve by
properly setting the fields.
2024-08-16 20:13:34 +08:00
Michael (XIAO Xufeng) 3cd08fff66 Merge branch 'refactor/rtc_init_before_mspi_tuning_v5.2' into 'release/v5.2'
fix(startup): move rtc initialization before MSPI timing tuning to improve stability (v5.2)

See merge request espressif/esp-idf!32553
2024-08-16 19:35:27 +08:00
Xiao Xufeng 197c750067 ci(mmu): add unicore test 2024-08-16 18:09:30 +08:00
Rahul Tank a992ae6528 feat(nimble): Add support to allow connection during scanning 2024-08-16 15:06:35 +05:30
Yuhan Wei 575894ee66 docs(ble): Added BLE feature support status 2024-08-16 16:42:02 +08:00
Xiao Xufeng 52066307ed fix(MMU): fixed mmap deadlock when using multicore app with unicore bootloader
Closes https://github.com/espressif/esp-idf/issues/11617
2024-08-16 11:52:11 +08:00
Xiao Xufeng 1a111187fa fix(startup): move rtc initialization before MSPI timing tuning to improve stability 2024-08-15 20:55:11 +08:00
Jiang Jiang Jian 1bb33a31b8 Merge branch 'bugfix/avoid_offchan_ftm_retries_v5.2' into 'release/v5.2'
fix(wifi): Avoid internal retries for offchannel FTM Requests (Backport v5.2)

See merge request espressif/esp-idf!32861
2024-08-15 15:47:14 +08:00
Marius Vikhammer a610a0e249 Merge branch 'test/fix_flaky_sched_time_test_v5.2' into 'release/v5.2'
test(freertos): Fixed flaky scheduling time test (v5.2)

See merge request espressif/esp-idf!32849
2024-08-15 10:13:24 +08:00
Wang Mengyang 68bfd56616 fix(bt): Fix heap corruption in the call of esp_bt_mem_release on ESP32
Closes https://github.com/espressif/esp-idf/issues/14263
2024-08-14 19:00:37 +08:00
Wang Mengyang a932e1b512 change(bt): Perform comprehensive heap check in test_app for memory release 2024-08-14 19:00:37 +08:00
Nachiket Kukade 64e918e660 fix(wifi): Avoid internal retries for offchannel FTM Requests 2024-08-14 15:33:00 +05:30
Island 9d6583f763 Merge branch 'docs/optimized_ble_adv_data_type_v5.2' into 'release/v5.2'
docs(ble/bluedroid): Optimize BLE example for setting advertising data (v5.2)

See merge request espressif/esp-idf!32756
2024-08-14 15:53:35 +08:00
Sudeep Mohanty d430e54f91 test(freertos): Fixed flaky scheduling time test
This commit updates the scheduling time test to test for median
scheduling time values instead of average values.
2024-08-14 09:32:42 +02:00
Marius Vikhammer ea0783f07c Merge branch 'contrib/github_pr_14329_v5.2' into 'release/v5.2'
fix(ulp): Add the missing extern "C" guard to ulp_lp_core_print.h (GitHub PR) (v5.2)

See merge request espressif/esp-idf!32834
2024-08-14 12:07:58 +08:00
Wang Meng Yang b8539f660b Merge branch 'bugfix/fix_ble_channel_map_update_v5.2' into 'release/v5.2'
fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(f583012) (v5.2)

See merge request espressif/esp-idf!32582
2024-08-14 10:50:02 +08:00
Jiang Jiang Jian 166a2e002a Merge branch 'bugfix/fix_newlib_nano_float_printf_issues_v5.2' into 'release/v5.2'
fix newlib nano float printf issues (backport v5.2)

See merge request espressif/esp-idf!32512
2024-08-14 10:47:37 +08:00
Jiang Jiang Jian 3359948660 Merge branch 'fix/disable_timer_wakeup_source_with_auto_sleep_off_v5.2' into 'release/v5.2'
fix(esp_pm): disable timer wakeup source with auto light-sleep off (v5.2)

See merge request espressif/esp-idf!32619
2024-08-14 10:45:27 +08:00
andylinpersonal e2fca9afcc fix(ulp): Add the missing extern "C" guard to ulp_lp_core_print.h
This commit adds the missing extern `C` guards the ulp_lp_core_print.h
header file.

Closes https://github.com/espressif/esp-idf/pull/14329
2024-08-13 23:11:43 +02:00
Rahul Tank e70b08fb14 Merge branch 'bugfix/handle_linked_om_blufi_v5.2' into 'release/v5.2'
fix(nimble) Added change to handle linked om data at blufi layer (v5.2)

See merge request espressif/esp-idf!31975
2024-08-14 00:56:05 +08:00
Rahul Tank f8f42d469b fix(nimble) Added change to handle linked om data at blufi layer 2024-08-13 16:54:13 +05:30
Wang Meng Yang 70a42c4261 Merge branch 'fix/change_bt_example_sdkconfig_name_v5.2' into 'release/v5.2'
fix(bt): change example sdkconfig name to sdkconfig.ci.test(backport v5.2)

See merge request espressif/esp-idf!32805
2024-08-13 11:37:38 +08:00
Marius Vikhammer 6a7758b1b1 Merge branch 'fix/incorrect_critical_nesting_count_in_linux_port_v5.2' into 'release/v5.2'
fix(freertos): Fixed critical section macro in vTaskPlaceOnEventListRestricted() (v5.2)

See merge request espressif/esp-idf!32743
2024-08-13 10:57:52 +08:00
Marius Vikhammer 251b8cd860 fix(freertos): split idf_additions.c event groups to separate file 2024-08-13 10:15:40 +08:00
dvosully eafc452758 Make FreeRTOS configUSE_TIMERS optional in KConfig 2024-08-13 10:13:52 +08:00
gongyantao 2318ee78b7 fix(bt): change example sdkconfig name to sdkconfig.ci.test 2024-08-13 09:53:52 +08:00
chenjianhua cf641dab0f feat(bt/bluedroid): Report HCI error code to app when command fails 2024-08-12 20:39:31 +08:00
chenjianhua 4663f81cf7 fix(bt/bluedroid): Fixed BLE create conn cancel when conn already exist 2024-08-12 20:39:25 +08:00
chenjianhua 7e9c1c509a feat(bt/bluedroid): Add print and assert when failed to alloc memory 2024-08-12 20:39:18 +08:00
Island 2cd9da52fe Merge branch 'feat/print_the_ble_mac_when_init_5.2' into 'release/v5.2'
feat(ble): Print out the BT mac when the controller is initialized

See merge request espressif/esp-idf!32731
2024-08-12 20:15:05 +08:00
Aditya Patwardhan 726d796683 Merge branch 'fix/esp32c5_rng_random_disable_v5.2' into 'release/v5.2'
fix(bootloader): update random disable api for ESP32-C5/C6 (v5.2)

See merge request espressif/esp-idf!32762
2024-08-12 16:27:30 +08:00
Mahavir Jain de7adb43c3 Merge branch 'change/exclude_cves_v5.2' into 'release/v5.2'
change: exclude CVEs that do not impact ESP-IDF components (v5.2)

See merge request espressif/esp-idf!32660
2024-08-12 12:42:02 +08:00
Mahavir Jain 2babadab07 fix(rng): avoid clearing PMU_PERIF_I2C_RSTB in random disable API for C6
This configuration bit is required for ADC operation as well and hence
should not be cleared in the RNG API sequence.

Ideally, the ADC driver should take care of initializing this bit but
still the RNG layer change is required because of interleaved API usage
scenario described in following linked issue.

Closes https://github.com/espressif/esp-idf/issues/14124
Closes https://github.com/espressif/esp-idf/issues/14280
2024-08-12 10:08:49 +05:30
zhanghaipeng bd86aca6ca docs(ble/bluedroid): Optimize BLE example for setting advertising data 2024-08-12 11:36:55 +08:00
Island 097491b8ef Merge branch 'bugfix/fixed_c6_h2_vendor_hci_master_v5.2' into 'release/v5.2'
Bugfix/fixed c6 h2 vendor hci master (v5.2)

See merge request espressif/esp-idf!32740
2024-08-12 10:49:37 +08:00
Sudeep Mohanty 411ef4557a fix(freertos): Fixed critical section macro in vTaskPlaceOnEventListRestricted()
The vTaskPlaceOnEventListRestricted() did not use the correct macro when
exiting a kernel cirtical section. This does not affect the HW targets
but on the Linux port, this caused an issue as the critical nesting
count became negative, leading to deadlocks. This commit fixes the bug
and updates the linux port to prevent the nesting count from going
negative.
2024-08-10 09:24:19 +02:00
zwl fbfa82276a fix(bluetooth/controller): fixed get controller status vendor hci command error on ESP32C6 2024-08-10 13:06:38 +08:00
Shen Weilong 1c0a4dbfa3 feat(ble): Print out the BT mac when the controller is initialized 2024-08-09 20:53:12 +08:00
zhanghaipeng 514a50b423 feat(ble/bluedroid): Support getting BLE address type in bond list 2024-08-09 20:26:00 +08:00
zhanghaipeng 523758c30c docs(ble/bluedroid): Optimize documentation for BLE connection parameter updates 2024-08-09 20:25:31 +08:00
zhanghaipeng b4d0ba8062 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(f583012)
- Fix BLE channel map update when latency is not zero
2024-08-09 20:21:37 +08:00
chenjianhua 6b0b2874e2 feat(bt): Update bt lib for ESP32-C3 and ESP32-S3(4e58df9)
- Support enhanced BLE TX power setting and getting
2024-08-09 20:21:37 +08:00
Wang Meng Yang 876eaf8082 Merge branch 'bugfix/fix_hidh_integrity_check_bug_v5.2' into 'release/v5.2'
fix(esp_hid): Loose the check of input report length to be more compatible[backport 5.2]

See merge request espressif/esp-idf!32721
2024-08-09 19:14:20 +08:00
morris 05446f6103 Merge branch 'bugfix/uart_config_t_size_v5.2' into 'release/v5.2'
fix(uart): fix uart_config_t structure size difference in C and C++ (v5.2)

See merge request espressif/esp-idf!32471
2024-08-09 18:10:56 +08:00
Krzysztof Budzynski 6fd0768978 Merge branch 'docs/remove_user_guide_for_esp32_ethernet_migration_v5.2' into 'release/v5.2'
docs: remove user guide for esp32-ethernet-kit migration (v5.2)

See merge request espressif/esp-idf!32585
2024-08-09 16:19:46 +08:00
liqigan 900f366919 fix(esp_hid): Loose the check of input report length to be more compatible
Closes https://github.com/espressif/esp-idf/issues/14259
2024-08-09 15:53:24 +08:00
morris 7703330c46 Merge branch 'docs/fix_a_typo_v5.2' into 'release/v5.2'
docs: Fix a small typo in adc_calibration.rst (v5.2)

See merge request espressif/esp-idf!32716
2024-08-09 15:47:25 +08:00
shenmengjing 3c8eaf193b docs: Fix a small typo in adc_calibration.rst 2024-08-09 14:45:15 +08:00
Island 32fd8532f4 Merge branch 'fix/ble_mesh_github_pr_14140_v5.2' into 'release/v5.2'
fix(ble-mesh): don't use dangling pointer in nimble gatt service (v5.2)

See merge request espressif/esp-idf!32613
2024-08-09 10:33:13 +08:00
Alexey Gerenkov 703bf01751 Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20240726_v5.2' into 'release/v5.2'
feat(tools): update openocd version to v0.12.0-esp32-20240726 (v5.2)

See merge request espressif/esp-idf!32605
2024-08-08 18:12:58 +08:00
Wang Meng Yang e332e4b21b Merge branch 'fix/hfp_pcm_api_set_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Add PCM configuration about pcm frame sync signal shape (backport v5.2)

See merge request espressif/esp-idf!32482
2024-08-08 16:12:12 +08:00
morris 094872af59 Merge branch 'contrib/github_pr_14310_v5.2' into 'release/v5.2'
fix(gptimer): remove incorrect param from example (GitHub PR) (v5.2)

See merge request espressif/esp-idf!32685
2024-08-08 11:05:44 +08:00
LonerDan 500760a918 docs(gptimer): remove incorrect param from example
Fixes call to `gptimer_start` in one of the examples
which includes extra second parameter `&alarm_config`,
when the function takes only one.

Mreges https://github.com/espressif/esp-idf/pull/14310
2024-08-08 10:05:43 +08:00
Konstantin Kondrashov 271c611485 feat(esp_system): Print backtrace for both CPUs when cache error does not determine CPU 2024-08-07 19:17:52 +08:00
Rahul Tank e488d1945c Merge branch 'bugfix/fix_proxy_example_assert_v5.2' into 'release/v5.2'
fix(nimble): Fixed assert issue in proximity_sensor example (v5.2)

See merge request espressif/esp-idf!32627
2024-08-07 18:04:03 +08:00
Wang Meng Yang b564f69025 Merge branch 'feature/ble_example_pytest_v5.2' into 'release/v5.2'
add pytest for classic bt example(backport v5.2)

See merge request espressif/esp-idf!32543
2024-08-07 14:29:53 +08:00
Aditya Patwardhan a3eabcdabc Merge branch 'fix/incorrect_config_name_v5.2' into 'release/v5.2'
Fix encrypt image instead of the partition optimisation not being enabled (v5.2)

See merge request espressif/esp-idf!32640
2024-08-07 13:28:08 +08:00
Rahul Tank b7ed2b54ed Merge branch 'feat/set_data_length_enhancement_v5.2' into 'release/v5.2'
feat(nimble): Add extra handling for set data len packet event (v5.2)

See merge request espressif/esp-idf!32623
2024-08-07 13:08:17 +08:00
Shu Chen b4999cd1dd Merge branch 'backport/make_ot_task_queue_non_permanent_blocking_52' into 'release/v5.2'
fix(openthread): make ot task queue sending non-permanent blocking(Backport 5.2)

See merge request espressif/esp-idf!32631
2024-08-07 12:37:51 +08:00
Frantisek Hrbata f5168f2029 change: exclude CVEs that do not impact ESP-IDF components
cJSON:    CVE-2024-31755 - Resolved in cJSON v1.7.18
FreeRTOS: CVE-2024-28115 - Affects only ARMv7-M MPU ports, and ARMv8-M ports

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-08-06 17:23:55 +02:00
morris 8fc3d7d765 Merge branch 'feat/gpspi_flash_support_v5.2' into 'release/v5.2'
fix(spi_flash): Add external flash support on esp32c6,esp32h2(backport v5.2)

See merge request espressif/esp-idf!32533
2024-08-06 17:03:21 +08:00
harshal.patil c2a22d00ce fix(bootloader_support): Fix encrypt image instead of the partition feature not being enabled 2024-08-06 13:45:02 +05:30
Island ab0e8205a5 Merge branch 'bugfix/fixed_ble_issues_on_c6_h2_c2_0731_v5.2' into 'release/v5.2'
Bugfix/fixed ble issues on c6 h2 c2 0731 (v5.2)

See merge request espressif/esp-idf!32461
2024-08-06 16:01:25 +08:00
zwx 050030f039 fix(openthread): make ot task queue sending non-permanent blocking 2024-08-06 14:10:23 +08:00
gongyantao abb9f90d87 change(ci): remove device name check in bt example 2024-08-06 11:58:34 +08:00
gongyantao d753b2f940 fix(bt): get remote device name from eir data 2024-08-06 11:58:30 +08:00
gongyantao cf2ff00360 feat(bt/example): add ci sdkconfig for bt examples 2024-08-06 11:58:22 +08:00
wuzhenghui b752b6c5e9 fix(esp_pm): configure timer wakeup source with auto light-sleep congiguration 2024-08-06 11:04:58 +08:00
Alexey Gerenkov 3689649c63 feat(tools): update openocd version to v0.12.0-esp32-20240726 2024-08-05 22:38:42 +02:00
Ivan Grokhotkov 3883a17f54 Merge branch 'fix/fatfs_f_mount_immediately_after_formatting_v5.2' into 'release/v5.2'
fix(vfs): FATFS mount immediately after format if mount failed (v5.2)

See merge request espressif/esp-idf!32380
2024-08-05 20:32:17 +08:00
xiongweichao e9276b75c8 fix(bt/controller): Fixed disconnection issue
- Fixed the issue of disconnection caused by updating the channel map in sniff mode
2024-08-05 19:57:13 +08:00
chenqingqing 74ceb6bebc fix(bt/bluedroid): Add PCM configuration about pcm frame sync signal shape 2024-08-05 19:57:13 +08:00
Rahul Tank 89231ccaeb fix(nimble): Fixed assert issue in proximity_sensor example 2024-08-05 16:57:11 +05:30
Rahul Tank 6635bc3a3e feat(nimble): Add extra handling for set data len packet event 2024-08-05 16:52:03 +05:30
Rahul Tank 1c73a8fc56 Merge branch 'bugfix/adjust_tx_power_lvl_boundary_v5.2' into 'release/v5.2'
fix(nimble): Modify Advertising Tx power levels (v5.2)

See merge request espressif/esp-idf!32564
2024-08-05 19:14:41 +08:00
renpeiying 8782cfb8fa docs: remove user guide for esp32-ethernet-kit migration 2024-08-05 19:03:19 +08:00
C.S.M d8bd71695f fix(spi_flash): Add external flash support on esp32c6,esp32h2 2024-08-05 18:01:02 +08:00
shenmengjing ed042a84c0 docs: Delete ESP32-S2-Kaluga-Kit related user guide files 2024-08-05 16:06:52 +08:00
Mario Schlegel 588f819710 fix(ble-mesh): don't use dangling pointer in nimble gatt service 2024-08-05 15:31:08 +08:00
Rahul Tank cb815d9d0a fix(nimble): Modify Advertising Tx power levels 2024-08-05 10:56:23 +05:30
Kapil Gupta a350973f03 Merge branch 'bugfix/dpp_auth_failure_v5.2' into 'release/v5.2'
fix(wpa_supplicant):Deinit old dpp authentication data after receiving config.(v5.2)

See merge request espressif/esp-idf!32434
2024-08-04 13:44:52 +08:00
Mahavir Jain de4f8550bb Merge branch 'bugfix/null_assign_variable_v5.2' into 'release/v5.2'
fix(wifi_prov): Use calloc instead of malloc to zero initialize variable (v5.2)

See merge request espressif/esp-idf!32527
2024-08-02 22:03:19 +08:00
Island c2ac357c7a Merge branch 'bugfix/fix_ble_security_param_v5.2' into 'release/v5.2'
fix(ble/bluedroid): Fixed issue with resetting BLE security parameters during initialization (v5.2)

See merge request espressif/esp-idf!32506
2024-08-02 17:38:32 +08:00
Island 7aa475c1fc Merge branch 'bugfix/fix_ble_gattc_app_unregister_v5.2' into 'release/v5.2'
Bugfix/fix ble gattc app unregister (v5.2)

See merge request espressif/esp-idf!32439
2024-08-02 17:30:27 +08:00
Roland Dobai 01e2d28c0f Merge branch 'fix/setuptools_constraint_v5.2' into 'release/v5.2'
fix: ensure the constraint file is followed also for setuptools (v5.2)

See merge request espressif/esp-idf!32546
2024-08-02 16:54:32 +08:00
Frantisek Hrbata 0ff3e483cf fix: ensure the constraint file is followed also for setuptools
Currently, when the venv is installed or updated, we attempt to
automatically update pip and setuptools within the venv. Unfortunately,
the setuptools package is installed or updated without adhering to the
constraints file, which restricts the setuptools version due to
https://github.com/pypa/setuptools/issues/4480. Resolve this issue by
applying the constraints file to the installation and update of both pip
and setuptools.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-08-02 09:34:37 +02:00
Yuan Hong Hui 752e29d7e3 feat(bt):add pytest for classic bt example 2024-08-02 15:17:59 +08:00
Rahul Tank 916d319155 fix(wifi_prov): Use calloc instead of malloc to zero initialize variable 2024-08-02 10:36:38 +05:30
morris a536949363 Merge branch 'feature/usb_host_multi_configuration_backport_v5.2' into 'release/v5.2'
feat(usb/host): multiconfiguration support backport (v5.2)

See merge request espressif/esp-idf!32055
2024-08-02 11:44:12 +08:00
Jiang Guang Ming afd3333e8d feat(newlib): add test case for printf float 2024-08-01 20:57:28 +08:00
Rahul Tank d1ed3a8c5c Merge branch 'bugfix/add_return_value_to_rpa_to_api_v5.2' into 'release/v5.2'
fix(nimble): Add return value to RPA Timeout API (v5.2)

See merge request espressif/esp-idf!32476
2024-08-01 20:26:25 +08:00
Jiang Guang Ming 677ecf9c69 fix(esp_rom): add new rom caps ESP_ROM_HAS_NEWLIB_NANO_PRINTF_FLOAT_BUG 2024-08-01 16:24:25 +08:00
zhanghaipeng c66da69856 fix(ble/bluedroid): Fixed issue with resetting BLE security parameters during initialization 2024-08-01 16:17:59 +08:00
Marius Vikhammer f36b6a088a Merge branch 'fix/vtaskdeletewithcaps_leaks_memory_v5.2' into 'release/v5.2'
fix(freertos): Fixed memory leak issue in vTaskDeleteWithCaps() (v5.2)

See merge request espressif/esp-idf!32400
2024-08-01 14:42:59 +08:00
gaoxu cdd6807e57 fix(gpio): correct usb dp gpio pullup disable function v5.2 2024-08-01 10:58:53 +08:00
Shu Chen f926af94d2 Merge branch 'backport/fix_154_next_operation_for_multi_event_v52' into 'release/v5.2'
fix(ieee802154): refactor the next operation logic for multiple events(Backport v5.2)

See merge request espressif/esp-idf!32387
2024-07-31 20:51:34 +08:00
Rahul Tank 6d19ff68ed fix(nimble): Add return value to RPA Timeout API 2024-07-31 14:45:17 +05:30
Shu Chen f7dd52f281 Merge branch 'backport/openthread_related_bacport_to_5_2' into 'release/v5.2'
Backport some openthread related features (Backport v5.2)

See merge request espressif/esp-idf!32250
2024-07-31 17:06:15 +08:00
Song Ruo Jing 457e0818e9 fix(uart): fix uart_config_t structure size difference in C and C++ 2024-07-31 16:52:05 +08:00
zwx fa6a1b3af5 fix(ieee802154): refacted the next operation logic for multiple events 2024-07-31 16:40:48 +08:00
Shu Chen 4426adf447 Merge branch 'backport/add_ot_ts_lock_check_v52' into 'release/v5.2'
feat(openthread): add task switching lock holder check(Backport v5.2)

See merge request espressif/esp-idf!32453
2024-07-31 16:39:27 +08:00
zwl 26ef81039d fix: fixed directed adv can't be conneted when adv filter is 0x2 on ESP32C2 2024-07-31 14:38:46 +08:00
zwl 719c0b7709 fix: fixed occasional wdt issue in multi-connection scenarios on ESP32H2 2024-07-31 14:38:46 +08:00
zwx b64425f7be feat(openthread): add task switching lock holder check 2024-07-31 11:34:19 +08:00
Island 6e015274d0 Merge branch 'feat/save_ble_log_to_flash_0605_v5.2' into 'release/v5.2'
ble: save ble log to flash on ESP32C6 (v5.2)

See merge request espressif/esp-idf!32395
2024-07-31 11:29:34 +08:00
zhanghaipeng f88ac25595 fix(ble/bluedroid): Fix incorrect state issue when unregistering BLE GATTC application 2024-07-30 18:03:43 +08:00
Jiang Jiang Jian c4fc74a6de Merge branch 'bugfix/fix_beacon_timeout_issue_in_mesh_v5.2' into 'release/v5.2'
fix(wifi/mesh): fix the beacon timeout issue in mesh (v5.2)

See merge request espressif/esp-idf!32425
2024-07-30 17:38:16 +08:00
aditi 53e931cf65 fix(wpa_supplicant):Deinit old dpp authentication data after receiving config. 2024-07-30 13:54:45 +05:30
zhangyanjiao 5e2951c8e8 fix(wifi/mesh): fix the beacon timeout issue in mesh 2024-07-30 14:36:46 +08:00
morris 0caf51d303 Merge branch 'fix/esp_lcd_i2c_ng_v5.2' into 'release/v5.2'
fix(esp_lcd): Fix I2C receive without param (v5.2)

See merge request espressif/esp-idf!32413
2024-07-30 10:53:07 +08:00
Vilem Zavodny 335e8b4648 fix(esp_lcd): Fix I2C receive without param 2024-07-29 16:42:19 +08:00
morris 037f1eaa4f Merge branch 'feat/support_psram_aps3204l_v5.2' into 'release/v5.2'
psram: support APS3204L (v5.2)

See merge request espressif/esp-idf!32391
2024-07-29 16:39:03 +08:00
Sudeep Mohanty 987df81e58 fix(freertos): Fixed memory leak issue in vTaskDeleteWithCaps()
vTaskDeleteWithCaps() leaked memory when a task uses the API to delete
itself. This commit adds a fix to avoid the memory leak.

Closes https://github.com/espressif/esp-idf/issues/14222
2024-07-29 08:47:19 +02:00
Rahul Tank 5f3f68fa58 Merge branch 'bugifx/zero_initilize_variable_v5.2' into 'release/v5.2'
fix(nimble): Zero initialize variable to avoid garbage value (v5.2)

See merge request espressif/esp-idf!32367
2024-07-29 13:03:27 +08:00
zwl 7b9343d8f0 fix(ble): fixed tx memory leak issue when controller disable 2024-07-29 11:56:17 +08:00
zwl 56984e4eac fix(ble): fixed wdt issue when print key controller info on ESP32-C6 and ESP32-H2 2024-07-29 11:56:17 +08:00
zwl 6e676b0222 feat(bluetooth/controller): support switching log output mode on ESP32-C2 2024-07-29 11:56:17 +08:00
zwl 229f8ede97 feat(bluetooth/controller): support switching log output mode on ESP32-C6 and ESP32-H2 2024-07-29 11:56:17 +08:00
zwl 97fa5484a7 feat(bluetooth/controller): storage ble controller log to flash on ESP32C2 2024-07-29 11:56:16 +08:00
zwl 0898c1a5a8 feat(bluetooth/controller): storage ble controller log to flash on ESP32C6 and ESP32H2 2024-07-29 11:56:16 +08:00
Armando ce1f7abddd feat(psram): support APS3204L 2024-07-29 11:42:36 +08:00
Marius Vikhammer 8cecc2f58e Merge branch 'fix/freertos_port_assert_in_isr_bug_v5.2' into 'release/v5.2'
fix(freertos): Incorrect assert in FreeRTOS port layer when not in ISR context (v5.2)

See merge request espressif/esp-idf!32373
2024-07-29 09:53:18 +08:00
Rahul Tank d8716c5ad3 fix(nimble): Zero initialize variable to avoid garbage value 2024-07-26 21:31:23 +05:30
Adam Múdry 46ed6c869e fix(vfs): FATFS mount immediately after format if mount failed 2024-07-26 17:52:42 +02:00
Sudeep Mohanty a96f332a06 fix(freertos): Incorrect assert in FreeRTOS port layer when not in ISR context
This commit fixes an issue where in the FreeRTOS port layer would cause
the portASSERT_IF_IN_ISR() assert check to fail even when the system is
not in an interrupt context.
2024-07-26 15:15:50 +02:00
Jiang Jiang Jian dea1450d6e Merge branch 'fix/stack_overflow_in_example_spp_initiator_v5.2' into 'release/v5.2'
Fix/stack overflow in example spp initiator (backport v5.2)

See merge request espressif/esp-idf!32233
2024-07-26 18:00:20 +08:00
Jiang Jiang Jian 544d652f1a Merge branch 'bugfix/handle_no_pmkid_case_owe_v5.2' into 'release/v5.2'
Recompute keys in OWE incase of PMKID absence or mismatch (Backport v5.2)

See merge request espressif/esp-idf!32334
2024-07-26 16:53:34 +08:00
Island e79bcadd85 Merge branch 'bugfix/fix_ble_cannot_create_conn_v5.2' into 'release/v5.2'
fix(ble/bluedroid): Fixed BLE cannot create connection(v5.2)

See merge request espressif/esp-idf!32308
2024-07-26 15:44:09 +08:00
Jiang Jiang Jian 9bed8f2ca9 Merge branch 'bugfix/fix_some_ble_bugs_cjh_v5.2' into 'release/v5.2'
Fixed some BLE bugs 240723 (backport v5.2)

See merge request espressif/esp-idf!32300
2024-07-26 14:19:38 +08:00
Jiang Jiang Jian f6c6ac1d8d Merge branch 'fix/fix_get_softap_dtim_and_csa_config_err_v5.2' into 'release/v5.2'
fix(wifi):fix get softap dtim and csa config err v5.2

See merge request espressif/esp-idf!32264
2024-07-26 14:12:24 +08:00
Mahavir Jain cfb057e629 Merge branch 'bugfix/provide_random_addr_api_v5.2' into 'release/v5.2'
fix(wifi_prov): Added API to set random address (v5.2)

See merge request espressif/esp-idf!32326
2024-07-26 13:54:59 +08:00
Aditya Patwardhan 3908657624 Merge branch 'bugfix/existing_mmap_region_offset_v5.2' into 'release/v5.2'
fix(esp_mm): for existing mmap region, consider new offset for virtual addr (v5.2)

See merge request espressif/esp-idf!32113
2024-07-25 17:10:24 +08:00
Xu Si Yu 7d9b33408d feat(openthread): support restoring vendor properties of rcp 2024-07-25 15:59:58 +08:00
Xu Si Yu d894253c48 feat(openthread): support changing openthread version information 2024-07-25 15:59:58 +08:00
Xu Si Yu 35e36f2cab fix(common_components): unregister event handler if wifi disconnect and stop reconnecting 2024-07-25 15:59:58 +08:00
Xu Si Yu c9f85be415 feat(openthread): update openthread submodule 2024-07-25 15:59:58 +08:00
Jiang Jiang Jian 3cdc985cd3 Merge branch 'bugfix/fix_coex_loadprohibit_issue_v5.2' into 'release/v5.2'
fix(coex): Fixed coexist scheme phase index overflow issue (backport v5.2)

See merge request espressif/esp-idf!32295
2024-07-25 13:54:00 +08:00
Shyamal Khachane 49e42f6eca fix(esp_wifi): Handle PMKID mismatch or absence in OWE
Compute keys incase PMKID does not match or PMKID is absent in association response
2024-07-25 08:29:22 +05:30
Marius Vikhammer ff24296572 Merge branch 'fix/correct_sdmmc_pin_config_doc_v5.2' into 'release/v5.2'
sdmmc: fix pin config doc format (v5.2)

See merge request espressif/esp-idf!32329
2024-07-25 10:02:38 +08:00
Armando bdd5dc21be fix(sdmmc): fix pin config doc format 2024-07-25 09:28:30 +08:00
Rahul Tank 59aa45ad23 fix(wifi_prov): Added API to set random address 2024-07-24 20:56:35 +05:30
wangtao@espressif.com 6661f1190a fix(wifi):fix get softap dtim and csa config err 2024-07-24 17:23:47 +08:00
zhanghaipeng 07ca9246e2 fix(ble/bluedroid): Fixed BLE cannot create connection 2024-07-24 10:51:14 +08:00
zhiweijian 087d6e1938 feat(bt/controller): support mesh duplicate with extend scan 2024-07-23 18:02:14 +08:00
linruihao a3936b8001 fix(coex): Update bt lib for ESP32-C3 and ESP32-S3(e4ba7f6)
- Fixed coexist LoadProhibited issue
2024-07-23 18:02:08 +08:00
zhanghaipeng 35b4c4742b fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(abd7733)
- Fix the issue where RSSI is incorrect when latency is not zero
2024-07-23 18:02:02 +08:00
chenjianhua 3fd8f2aeb7 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(66b5cc0)
- Fixed vendor hci get controller status command
- Prevent BLE interrupt from being preempted
2024-07-23 18:01:55 +08:00
linruihao 93622c2f9b fix(coex): Fixed coexist scheme phase index overflow issue 2024-07-23 17:53:08 +08:00
Marius Vikhammer 021c03c9f2 Merge branch 'fix/lp_i2c_generates_spurious_start_cond_v5.2' into 'release/v5.2'
fix(lp-i2c): Fixed the generation of spurious I2C start with lp-i2c (v5.2)

See merge request espressif/esp-idf!32108
2024-07-23 14:40:41 +08:00
Jiang Jiang Jian aea64d17f6 Merge branch 'bugfix/wps_bug_v5.2' into 'release/v5.2'
fix(wpa_supplicant):Fix for setting wps status fail when connection fails(v5.2)

See merge request espressif/esp-idf!31220
2024-07-23 13:41:13 +08:00
Rahul Tank e92f89ca33 Merge branch 'bugfix/increase_timer_task_depth_v5.2' into 'release/v5.2'
fix(nimble): Increase Timer stack size for nimble application (v5.2)

See merge request espressif/esp-idf!32270
2024-07-22 20:10:07 +08:00
Rahul Tank c6fbdc5d4f fix(nimble): Increase Timer stack size for nimble application 2024-07-22 15:51:48 +05:30
aditi f1d5ffea3d fix(wpa_supplicant):Fix for setting wps status fail when connection fails 2024-07-22 15:26:09 +05:30
Island 615975060f Merge branch 'fix/ble_mesh_24_76_v5.2' into 'release/v5.2'
fix(ble_mesh): fixed BLEMESH24-76_v5.2

See merge request espressif/esp-idf!32227
2024-07-22 14:05:03 +08:00
Jiang Jiang Jian e7fa8872a8 Merge branch 'bugfix/remove_duplicate_fn_dpp' into 'release/v5.2'
wifi: backport some dpp fixes (v5.2)

See merge request espressif/esp-idf!32211
2024-07-22 11:25:56 +08:00
Kapil Gupta 42680d30ae fix(esp_wifi): backport some dpp fixes 2024-07-19 13:29:48 +08:00
gongyantao ea7336d027 feat(bt): add bt address printing for all bt examples 2024-07-19 11:43:18 +08:00
gongyantao 41733e33f1 fix(bt): fix uTask stack overflow in bt example spp_initiator 2024-07-19 11:43:17 +08:00
Jiang Jiang Jian f3710cf672 Merge branch 'bugfix/11r_disable_sdkconfig_v5.2' into 'release/v5.2'
fix(wifi): Ignore 11R, ENT AP when disabled in sdkconfig

See merge request espressif/esp-idf!32222
2024-07-19 10:41:51 +08:00
morris 9757709b2e Merge branch 'bugfix/rmt_memory_power_up_v5.2' into 'release/v5.2'
fix(rmt): power up memory block (v5.2)

See merge request espressif/esp-idf!32172
2024-07-19 09:47:19 +08:00
Rahul Tank b7b3e31050 Merge branch 'bugfix/reset_irk_when_all_unpair_v5.2' into 'release/v5.2'
fix(nimble): Fixed BLE security vulnerability when using fixed IRK (v5.2)

See merge request espressif/esp-idf!32157
2024-07-18 22:43:30 +08:00
Shreyas Sheth eae5bf962e fix(wifi): Ignore 11R, ENT AP when disabled in sdkconfig 2024-07-18 18:26:23 +05:30
Island e149e10261 Merge branch 'feat/support_default_tx_level_for_esp32h2_esp32c6_esp32c2_v5.2' into 'release/v5.2'
Feat/support default tx level for esp32h2 esp32c6 esp32c2 v5.2

See merge request espressif/esp-idf!32194
2024-07-18 19:33:00 +08:00
morris d9e113f877 fix(rmt): power up memory block 2024-07-18 14:41:13 +08:00
Rahul Tank af2f79e33a fix(nimble): Fixed BLE security vulnerability when using fixed IRK 2024-07-18 09:54:19 +05:30
Jiang Jiang Jian 9ff44aa660 Merge branch 'bugfix/fix_mesh_xon_request_timeout_issue_v5.2' into 'release/v5.2'
fix(wifi/mesh): fix the issue that xon request timeout constantly when root reboot (v5.2)

See merge request espressif/esp-idf!32186
2024-07-18 12:03:48 +08:00
luoxu f0bf1d3492 fix(ble_mesh): fixed BLEMESH24-76 2024-07-18 10:49:07 +08:00
zwl fde1a101ed feat(bluetooth/controller): support default tx power configurable on ESP32C2 2024-07-18 10:47:30 +08:00
zwl 582e9f8a67 feat(bluetooth/controller): support default tx power configurable on ESP32C6 and ESP32H2 2024-07-18 10:47:20 +08:00
Island d0da89f18a Merge branch 'feat/optimize_bt_porting_hci_0628_5.2' into 'release/v5.2'
Feat/optimize bt porting hci 0628 5.2

See merge request espressif/esp-idf!32133
2024-07-17 19:29:31 +08:00
zhangyanjiao 2a6f4e796c fix(wifi/mesh): fix the issue that xon request timeout constantly when root reboot
Closes https://github.com/espressif/esp-idf/issues/13212
2024-07-17 19:06:34 +08:00
Peter Marcisovsky 597451afbe refactor(usb_host): Update USB Host multiconfig public API
- previous usb_host_get_config_desc_free()
    - updated usb_host_free_config_desc()
2024-07-17 09:02:43 +02:00
Jiang Jiang Jian 487833968a Merge branch 'bugfix/ld_acl_c_3576_v5.2' into 'release/v5.2'
fix(bt/controller): Removed an improper assertion in ACL link driver (v5.2)

See merge request espressif/esp-idf!32118
2024-07-16 20:22:44 +08:00
zwl 64e872f2e3 fix(ble): fixed nimble host only build error 2024-07-16 13:20:53 +08:00
zwl b8b8abf763 feat(bluetooth/controller): update nimble host to adapt hci layer 2024-07-16 13:20:53 +08:00
zwl 1e4e2f90f5 feat(bluetooth/controller): add default cts and rts macro definition 2024-07-16 13:20:53 +08:00
zwl 56e9890ba0 feat(bluetooth/controller): adopting new HCI layer code and support UHCI on ESP32-C6 and ESP32-H2 2024-07-16 13:20:53 +08:00
zwl 3d1498cadb feat(bluetooth/controller): adopting new HCI layer code on ESP32-C2 2024-07-16 13:20:53 +08:00
zwl 6118260b63 feat(bluetooth/controller): optimize bt hci layer code 2024-07-16 13:20:53 +08:00
Jiang Jiang Jian 07dad8169e Merge branch 'bugfix/fix_some_wifi_bugs_240715_v5.2' into 'release/v5.2'
fix(wifi): fix some wifi bugs 240715(Backport v5.2)

See merge request espressif/esp-idf!32138
2024-07-16 12:49:54 +08:00
muhaidong b338abce37 fix(wifi): fix some wifi bugs 240715
1. fix disable gcmp choose pairwise cipher wrong issue
2. fix sta may join bad signal ap when set by signal
2024-07-15 21:21:58 +08:00
muhaidong 2dbaf58499 fix(wifi): fix configure gcmp failure issue 2024-07-15 21:00:55 +08:00
muhaidong 72d68ad7ce fix(wifi): fixed disable gcmp choose pairwise cipher wrong issue 2024-07-15 21:00:47 +08:00
muhaidong 96af986330 fix(wifi): annotate a rom function 2024-07-15 21:00:31 +08:00
Jin Cheng 3d8d2929a5 fix(bt/controller): Removed an improper assertion in ACL link driver
It can be triggered on peripheral SNIFF mode
when RX window is adjusted on ESP32.
2024-07-15 15:31:24 +08:00
Mahavir Jain ae9f7f32ae Merge branch 'bugfix/c5_mpi_ecc_power_mode_v5.2' into 'release/v5.2'
fix(hal): correct mpi/ecc peripheral power up sequence for ESP32-C5 (v5.2)

See merge request espressif/esp-idf!31863
2024-07-15 15:05:52 +08:00
Mahavir Jain 0ba529d267 fix(esp_mm): for existing mmap region, consider new offset for virtual addr
While returning virtual address for existing memory mapped region, newly
supplied offset from the physical address was not getting considered.

This was a regression present from ESP-IDF 5.1 release.

Added test case in spi_flash component that fails without this fix.

Closes https://github.com/espressif/esp-idf/issues/13929
2024-07-15 12:42:27 +08:00
Jiang Jiang Jian 0ccc691729 Merge branch 'docs/optimized_ble_controller_api_references_esp32_v5.2' into 'release/v5.2'
docs(ble): Revised the esp32 controller API explanations (v5.2)

See merge request espressif/esp-idf!31926
2024-07-15 10:43:25 +08:00
Jiang Jiang Jian c06cfeddb5 Merge branch 'bugfix/wps_reg_state_handling_v5.2' into 'release/v5.2'
fix(wpa_supplicant): Handle case when WPS registrar misses WSC_DONE sent by station (Backport v5.2)

See merge request espressif/esp-idf!32081
2024-07-15 10:43:01 +08:00
morris b3a6e46f55 Merge branch 'fix/usb_hs_scheduler_backport_v5.2' into 'release/v5.2'
fix(usb/host): Fix occasional ISOC scheduler skipping transfers backport to v5.2

See merge request espressif/esp-idf!32084
2024-07-14 21:06:51 +08:00
Sudeep Mohanty 2d331c0413 fix(lp-i2c): Fixed the generation of spurious I2C start with lp-i2c
This commit fixes an issue with LP I2C and RTC I2C where in the
peripherals generated a spurious I2C start condition when initialized.
This caused some sensors to not respond properly to the following read
or write request.

Closes https://github.com/espressif/esp-idf/issues/14043
Closes https://github.com/espressif/esp-idf/issues/11608
2024-07-12 17:27:43 +02:00
Island 17a18e8849 Merge branch 'feat/add_ble50_instant_v5.2' into 'release/v5.2'
Add support for BLE 5.0 instances in related events (v5.2)

See merge request espressif/esp-idf!31991
2024-07-12 14:53:00 +08:00
Sarvesh Bodakhe 6378f5539d fix(wpa_supplicant): Avoid delaying removal of wps enrollee by 10ms
This is no longer needed as eloop timers are now executed in wifi task context.
2024-07-12 12:05:30 +05:30
Sarvesh Bodakhe e2c47edafa fix(wpa_supplicant): Handle case when WPS registrar misses WSC_DONE sent by station
When registrar somehow misses the WSC_DONE sent by station and station
goes for next connection after sending deauth, make sure that softAP
disables the registrar.
2024-07-12 12:05:22 +05:30
Tomas Rezucha 440f3308ab fix(usb/host): Fix occasional ISOC scheduler skipping transfers 2024-07-12 08:18:42 +02:00
Jiang Jiang Jian d083d66872 Merge branch 'feature/sae_pk_transition_disable_v5.2' into 'release/v5.2'
fix(wifi): Fix issue of supplicant using wrong parameters to configure bss while connecting  (Backport v5.2)

See merge request espressif/esp-idf!32067
2024-07-12 13:54:00 +08:00
Sarvesh Bodakhe ad6bd842a1 fix(wifi): Fix issue of supplicant using wrong parameters to configure bss
- Ensure that wpa_supplicant's state machine registers the requirement for rsnxe
  before deciding to add rsnxe to a assoc request.

Co-authored-by: jgujarathi <jash.gujarathi@espressif.com>
2024-07-12 08:09:25 +05:30
Wei Yu Han b9b3992d42 docs(ble): Removed trailing whitespace 2024-07-12 09:13:51 +08:00
Wei Yu Han 3f36497d8a docs(ble): Revised the explanation for esp_bt_mem_release and esp_bt_controller_mem_release 2024-07-12 08:19:47 +08:00
Alexey Gerenkov ed12574848 Merge branch 'fix_coredump_build_error_v5.2' into 'release/v5.2'
fix(coredump): fix array out of the bounds error (v5.2)

See merge request espressif/esp-idf!32015
2024-07-11 20:47:03 +08:00
morris 41abb9e2aa Merge branch 'fix/usb_msc_test_backport_v5.2' into 'release/v5.2'
fix(usb/test): Update MSC device test for new console backport v5.2

See merge request espressif/esp-idf!32052
2024-07-11 17:40:49 +08:00
Peter Marcisovsky 8611a66a0f feat(usb/host): multiconfiguration support
- usb host reads device's configuration on request
    - a control transfer is sent
    - memory is allocated for a new descriptor
    - user must manually free the memory
2024-07-11 11:28:52 +02:00
Tomas Rezucha 61577616da fix(usb/test): Update MSC device test for new console 2024-07-11 11:09:12 +02:00
morris a5924567c7 Merge branch 'bugfix/usb_serial_jtag_simplify_v5.2' into 'release/v5.2'
usb-serial-jtag driver simplification (backport v5.2)

See merge request espressif/esp-idf!31957
2024-07-11 16:11:53 +08:00
Rahul Tank 8565b416c5 Merge branch 'bugfix/fix_example_menuconfig_error_v5.2' into 'release/v5.2'
fix(nimble): Update menuconfig option to consider 5.0 support (v5.2)

See merge request espressif/esp-idf!32036
2024-07-10 22:24:05 +08:00
Rahul Tank 1e56879f9c fix(nimble): Update menuconfig option to consider 5.0 support 2024-07-10 17:22:03 +05:30
Island 645a775f33 Merge branch 'bugfix/split_hci_log_in_nimble_v5.2' into 'release/v5.2'
fix(bt/nimble): split hci log in nimble (backport v5.2)

See merge request espressif/esp-idf!31999
2024-07-10 18:38:07 +08:00
zhanghaipeng 21610d3fbb fix(ble/bluedroid): Fixed BLE set adv param check 2024-07-10 12:25:05 +08:00
Wei Yu Han 58a4f153bc docs(ble): Add the parameter name data in esp_vhci_host_send_packet 2024-07-10 10:40:36 +08:00
Erhan Kurubas c3c22d5186 fix(coredump): fix array out of the bounds error
Closes https://github.com/espressif/esp-idf/issues/14117
2024-07-09 22:15:34 +02:00
zhiweijian d60a68ba26 fix(bt/nimble): split hci log in nimble 2024-07-09 16:33:33 +08:00
zhanghaipeng a7dc067f1c feat(ble/bluedroid): Support BLE50 instance in related event 2024-07-09 15:23:52 +08:00
Jiang Jiang Jian af7124f815 Merge branch 'bugfix/check_c3_efuse_error_on_ram_app_condition_v5.2' into 'release/v5.2'
bugfix(cpu_start): check c3 efuse error log on ram app condition (v5.2)

See merge request espressif/esp-idf!31045
2024-07-09 10:51:38 +08:00
Jiang Jiang Jian 031216ff3b Merge branch 'bugfix/flash_enc_write_ram_v5.2' into 'release/v5.2'
fix(spi_flash): Fix that internal RAM has no enough space to put all stuff inside (backport v5.2)

See merge request espressif/esp-idf!29656
2024-07-09 10:41:20 +08:00
Jiang Jiang Jian 728078416a Merge branch 'fix/usb_isoc_error_status_backport_v5.2' into 'release/v5.2'
fix(usb/host): Decode error flags in ISOC transfers backport to v5.2

See merge request espressif/esp-idf!31883
2024-07-09 10:40:30 +08:00
Jiang Jiang Jian 927e41f9a1 Merge branch 'contrib/github_pr_13945_v5.2' into 'release/v5.2'
fix(esp_http_client): Do not allocate client->if_name twice in esp_http_client_init. (GitHub PR) (v5.2)

See merge request espressif/esp-idf!31943
2024-07-09 10:40:05 +08:00
Jiang Jiang Jian 45aee0dac3 Merge branch 'fix/wait_efuse_idle_after_wake_v5.2' into 'release/v5.2'
fix(esp_hw_support): wait eFuse controller idle after sleep wakeup (v5.2)

See merge request espressif/esp-idf!31950
2024-07-09 10:38:57 +08:00
Jiang Jiang Jian 7f59f760e7 Merge branch 'bugfix/fix_esco_conflict_with_sniff_v5.2' into 'release/v5.2'
fix(bt/controller): Fixed some controller bugs (v5.2)

See merge request espressif/esp-idf!31953
2024-07-09 10:38:15 +08:00
Island 0250fc5cd4 Merge branch 'fix/blemesh24_61_v5.2' into 'release/v5.2'
fix/blemesh24_61 (v5.2)

See merge request espressif/esp-idf!31565
2024-07-08 20:00:06 +08:00
Jeroen Domburg 4af418c534 refactor(usb-serial-jtag): usb-serial-jtag driver simplification to fix rom print coexistence 2024-07-08 14:47:25 +08:00
linruihao 985c7f9112 fix(bt/controller): Fixed some controller bugs
- Fixed fail to establish eSCO when connected to two devices
- Changed some error log level to Debug if the error have a workaround

Closes https://github.com/espressif/esp-idf/issues/12340
2024-07-08 14:26:53 +08:00
liqigan b2607d8653 fix(bt/controller): Fixed not report HCI_Disconnection_Complete event 2024-07-08 14:26:53 +08:00
wuzhenghui 4ddeee6260 fix(esp_hw_support): wait eFuse controller idle after sleep wakeup 2024-07-08 14:14:57 +08:00
morris 4a065f8b9a Merge branch 'fix/i2c_pin_short_cut_v5.2' into 'release/v5.2'
fix(i2c_master): Modify the behavior from ISR WDT to return timeout when circut get shortcut(backport v5.2)

See merge request espressif/esp-idf!31569
2024-07-08 11:42:25 +08:00
Jiang Jiang Jian c61fe6d624 Merge branch 'change/add_some_wifi_feature_and_fix_some_bug_v5.2' into 'release/v5.2'
feat(wifi): add softap csa&dtim&wait_bcast_data setting v5.2

See merge request espressif/esp-idf!31918
2024-07-08 10:44:14 +08:00
fbp2m 975e77ed7d fix: fixed allocating if_name in client context multiple times
Do not allocate client->if_name twice in esp_http_client_init().

Signed-off-by: Harshit Malpani <harshit.malpani@espressif.com>

Closes https://github.com/espressif/esp-idf/pull/13945
2024-07-07 21:20:18 +08:00
Rahul Tank f5fc182f28 Merge branch 'bugfix/revert_extra_print_v5.2' into 'release/v5.2'
Revert "fix(nimble): Added debug print to check for skipped adv report" (v5.2)

See merge request espressif/esp-idf!31932
2024-07-06 19:28:41 +08:00
Rahul Tank e8ac1be60c Revert "fix(nimble): Added debug print to check for skipped adv report"
This reverts commit e29f31bca4.
2024-07-05 18:08:13 +05:30
Wang Ning b9c4b6414b Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: Wang Ning <wangning@espressif.com>
2024-07-05 18:08:07 +08:00
Yuhan Wei 1df6134485 docs(ble): Add the explanations to controller parameters configurable in menuconfig 2024-07-05 18:08:07 +08:00
Wang Ning 799d7bfd6d Apply 35 suggestion(s) to 1 file(s)
Co-authored-by: Wang Ning <wangning@espressif.com>
2024-07-05 18:08:07 +08:00
Yuhan Wei d18e230a9f docs(ble): Removed note in esp_bt_controller_config_t 2024-07-05 18:08:07 +08:00
Yuhan Wei fe41fba8a6 docs(ble): Replaced BT with Bluetooth 2024-07-05 18:08:07 +08:00
Yuhan Wei bbeea564da docs(ble): Removed unnecessary explanations 2024-07-05 18:08:07 +08:00
Yuhan Wei b0fb2df89d docs(ble): Added corresponding values to the controller mode 2024-07-05 18:08:07 +08:00
Yuhan Wei b80829dcd9 docs(ble): Fixed the explanation of TX power type 2024-07-05 18:08:07 +08:00
Yuhan Wei ad01b74b49 docs(ble): Added typeof for BLE sleep clock accuracy enum 2024-07-05 18:08:06 +08:00
Yuhan Wei edb4bded13 docs(ble): Added a name for BLE sleep clock accuracy enum 2024-07-05 18:08:06 +08:00
Yuhan Wei ea18f615d2 docs(ble): Revised the esp32 controller API explanations 2024-07-05 18:08:06 +08:00
Mahavir Jain 284242d609 Merge branch 'fix/c6_bootloader_rng_enable_v5.2' into 'release/v5.2'
fix(bootloader_support): Fixed pattern in RNG enable function to avoid output on IO0 (v5.2)

See merge request espressif/esp-idf!31906
2024-07-05 15:06:01 +08:00
wangtao@espressif.com cd0ffdac12 feat(wifi): add softap csa&dtim&wait_bcast_data setting and ignore err nodata v5.2 2024-07-05 14:09:33 +08:00
Jiang Jiang Jian db8df15ee7 Merge branch 'bugfix/fix_bss_color_issues_v5.2' into 'release/v5.2'
fix(bss_color):fix bss color issues(backport v5.2)

See merge request espressif/esp-idf!30991
2024-07-05 11:42:32 +08:00
Island a55fb176c4 Merge branch 'bugfix/fixed_ble_issues_on_esp32c2_esp32c6_v5.2' into 'release/v5.2'
Bugfix/fixed ble issues on esp32c2 esp32c6 (v5.2)

See merge request espressif/esp-idf!31860
2024-07-05 10:39:30 +08:00
Jiang Jiang Jian db884d7787 Merge branch 'docs/update_twt_docs_v5.2' into 'release/v5.2'
docs(wifi):update TWT docs(Backport v5.2)

See merge request espressif/esp-idf!31897
2024-07-04 19:14:51 +08:00
Jakob Hasse a45e4b3dca fix(bootloader_support): Fixed pattern in RNG enable function on C6 to avoid output on IO0 2024-07-04 11:36:44 +02:00
yinqingzhao 3fcedf6432 fix(wifi):fix some wifi bugs 2024-07-04 15:42:04 +08:00
yinqingzhao aacddac2dd docs(wifi):update TWT docs 2024-07-04 14:38:49 +08:00
C.S.M 4ce9b783f3 fix(i2c): Fix i2c not release semaphore in command send loop 2024-07-04 12:29:05 +08:00
Cao Sen Miao a44f8179de refactor(i2c): Add reset and clock control to i2c ll layer 2024-07-04 12:29:05 +08:00
Cao Sen Miao 5847ba0b9a fix(i2c_master): Fix the issue that probe cannot work properly after a general call,
Closes https://github.com/espressif/esp-idf/issues/13547
2024-07-04 12:29:05 +08:00
Cao Sen Miao 34abdaea46 fix(i2c_master): Modify the behavior from ISR WDT to return timeout when circut get shortcut,
Closes https://github.com/espressif/esp-idf/issues/13587
2024-07-04 12:29:05 +08:00
luoxu f5ae03e8f4 fix(ble_mesh): ensure the operation of adv busy is thread-safe 2024-07-04 12:13:20 +08:00
luoxu 9c7a81083c feat(ble_mesh): add cas operation for bt_mesh_atomic_val_t 2024-07-04 12:13:20 +08:00
Cao Sen Miao b150aad5d1 fix(spi_flash): Fix spi_flash counter test on CI 2024-07-04 11:18:45 +08:00
Cao Sen Miao fa50973fec fix(spi_flash): Fix that internal RAM has no enough space to put all stuff inside 2024-07-04 11:18:45 +08:00
Cao Sen Miao ec28757007 fix(spi_flash): Improve encryption write performance, Closes https://github.com/espressif/esp-idf/issues/12553 2024-07-04 11:18:45 +08:00
Jiang Jiang Jian 2c289fed2f Merge branch 'contrib/github_pr_14084_v5.2' into 'release/v5.2'
remove TLS pointer/deletion callback from correct thread (GitHub PR) (v5.2)

See merge request espressif/esp-idf!31852
2024-07-04 11:03:07 +08:00
Jiang Jiang Jian cc5fa645e6 Merge branch 'fix/suppress_c++11_invalid_suffix_on_literal_v5.2' into 'release/v5.2'
fix: Fix PRI inttypes error due to C++ invalid suffix on literal in SPIFFS (v5.2)

See merge request espressif/esp-idf!31807
2024-07-04 10:34:50 +08:00
Marius Vikhammer 2fa4d4e0b7 Merge branch 'fix/brownout_crash_v5.2' into 'release/v5.2'
fix(brownout): fixed brownout isr crashing if cache disabled (v5.2)

See merge request espressif/esp-idf!30832
2024-07-04 10:34:36 +08:00
Jiang Jiang Jian ce1735857e Merge branch 'bugfix/openthread_uart_vfs_register_v5_2' into 'release/v5.2'
fix(openthread): register uart vfs devices when they are not registered(v5.2)

See merge request espressif/esp-idf!31794
2024-07-04 10:33:25 +08:00
Jiang Jiang Jian abf8ffac59 Merge branch 'feature/ipc_noblocking_call_v5.2' into 'release/v5.2'
feat(ipc): Adds a new no blocking IPC call (v5.2)

See merge request espressif/esp-idf!28442
2024-07-03 21:00:10 +08:00
Rahul Tank 3584fb776e Merge branch 'bugfix/low_buf_count_print_v5.2' into 'release/v5.2'
fix(nimble): Added debug print to check for skipped adv report (v5.2)

See merge request espressif/esp-idf!31832
2024-07-03 16:45:53 +08:00
Tomas Rezucha 49d9fc0250 fix(usb/host): Decode error flags in ISOC transfers 2024-07-03 09:15:53 +02:00
Jiang Jiang Jian 2acb6ac33f Merge branch 'bugfix/fix_phy_cal_data_v5.2' into 'release/v5.2'
fix(phy): add phy calibration data check when mode is not none calibration v5.2

See merge request espressif/esp-idf!31816
2024-07-03 14:06:11 +08:00
Jiang Jiang Jian cb2a226659 Merge branch 'bugfix/wps_mode_change_v5.2' into 'release/v5.2'
fix(esp_wifi): Fix for issue in changing opmode when wps is enabled(v5.2)

See merge request espressif/esp-idf!30780
2024-07-02 21:20:37 +08:00
Mahavir Jain adea6829b3 fix(hal): correct the power up sequence for MPI/ECC peripherals in ESP32-C5 2024-07-02 13:36:54 +05:30
zwl b753438111 fix(ble): fixed some ble controller issues on ESP32C6 and ESP32H2 2024-07-02 15:44:27 +08:00
zwl f3b58d221d fix(ble): fixed some ble controller issues on ESP32-C2 2024-07-02 15:44:26 +08:00
aditi_lonkar 3a7408bed9 fix(esp_wifi): Fix for issue in changing opmode when wps is enabled 2024-07-02 11:25:55 +05:30
Jiang Jiang Jian 82c3a08d77 Merge branch 'lwip/if_indextoname_compolation_fix_v5.2' into 'release/v5.2'
fix(lwip): Fixed compilation error referencing undefined POSIX interface API (v5.2)

See merge request espressif/esp-idf!31406
2024-07-02 13:53:42 +08:00
Myk Melez bf7ab2249c fix(pthread): Remove TLS pointer/deletion callback from correct thread
Originally, pthread_internal_local_storage_destructor_callback was only called from pthread_exit
on the thread whose TLS is being destroyed.

In b3755b751e, pthread_internal_local_storage_destructor_callback
started being called from pthread_join and pthread_detach on a different thread (whichever one
called one of those functions).

But pthread_internal_local_storage_destructor_callback is still calling
vTaskSetThreadLocalStoragePointer and vTaskSetThreadLocalStoragePointerAndDelCallback with a NULL
xTaskToSet argument, which causes those functions to set the TLS pointer and deletion callback
for the current thread, not the thread whose TLS is being destroyed.

This commit makes pthread_internal_local_storage_destructor_callback call
vTaskSetThreadLocalStoragePointer and vTaskSetThreadLocalStoragePointerAndDelCallback
with the handle of the thread whose TLS is being destroyed.
2024-07-02 13:33:11 +08:00
Krzysztof Budzynski 16450168d6 Merge branch 'docs/migrate_esp32c3_devkitc_02_devkitm_1_user_guide_v5.2' into 'release/v5.2'
docs: Migrate user guides of ESP32-C3-DevKitM and ESP32-C3-DevKitC to esp-dev-kits (v5.2)

See merge request espressif/esp-idf!31819
2024-07-02 13:20:52 +08:00
Jiang Jiang Jian 20624257e3 Merge branch 'backport/support_eth_mac_using_esp_read_mac_v52' into 'release/v5.2'
feat(eth) configure eth mac using esp_read_mac(Backport v5.2)

See merge request espressif/esp-idf!31092
2024-07-02 10:53:14 +08:00
Jiang Jiang Jian 67466e6c6e Merge branch 'docs/delete_userguide_esp32_s2_devkitc_1_v5.2' into 'release/v5.2'
docs: Delete user guide esp32-s2-devkitc-1 (v5.2)

See merge request espressif/esp-idf!31614
2024-07-02 10:49:41 +08:00
Jiang Jiang Jian 8558a9cbe8 Merge branch 'bugfix/nan_datapath_issues_v5.2' into 'release/v5.2'
Fix issues in NAN datapath establishment (Backport v5.2)

See merge request espressif/esp-idf!30979
2024-07-02 10:47:39 +08:00
Marius Vikhammer f0b52c735d Merge branch 'fix/usb-serial-jtag-hangs-on-init_v5.2' into 'release/v5.2'
fix(console): USB Serial JTAG freezes when input received before the driver is installed (v5.2)

See merge request espressif/esp-idf!31821
2024-07-02 10:44:34 +08:00
Rahul Tank e29f31bca4 fix(nimble): Added debug print to check for skipped adv report 2024-07-01 15:33:43 +05:30
Guillaume Souchere c2683af2a6 fix(console): USB Serial JTAG freezes when input received before init
When data was sent through USB Serial JTAG before the
driver was installed, the bus was malfunctioning. This
was because the interrupt bit for data reception was cleared
regardless of whether data was received or not. Consequently,
usb_serial_jtag_isr_handler_default was not triggered and the
data was never read causing the bus to malfunction.

This commit is modifying usb_serial_jtag_driver_install to
prevent clearing USB_SERIAL_JTAG_INTR_SERIAL_OUT_RECV_PKT and
USB_SERIAL_JTAG_INTR_SERIAL_IN_EMPTY thus allowing the callback
usb_serial_jtag_isr_handler_default to trigger for possible data
exchanged prior to the call to usb_serial_jtag_driver_install.

This commit also modified the while logic in linenoiseProbe to
discard any data that doesn't match the expected chaaracter sequences
to prevent random input from interfering with evaluating whether the
terminal supports escape sequences or not.

See https://github.com/espressif/esp-idf/issues/13940
2024-07-01 09:36:18 +02:00
Linda 7a728f9169 docs: Migrate user guides of ESP32-C3-DevKitM and ESP32-C3-DevKitC to esp-dev-kits 2024-07-01 15:27:10 +08:00
chenjianxing ea4a2c70e9 fix(phy): add phy calibration data check when mode is not none calibration 2024-07-01 15:15:19 +08:00
xiaqilin 115738b91e fix(esp_phy): fix the frequency switching issue in esp32h2/esp32c6 ble/ieee802154 coex 2024-07-01 15:14:43 +08:00
Shyamal Khachane 261d09a0fe fix(esp_wifi): Fix issues in NAN datapath establishment
1. Resolve indefinite waiting while stopping NAN
2. Increase NDP response timeout to 8 DW's
3. Set NAN discovery beacon interval to 100 TU's as per Section 9.2
   of Wi-Fi Aware Specification v4.0
2024-07-01 12:12:13 +05:30
Jiang Jiang Jian a23f078905 Merge branch 'fix/docs_wifi_get_sta_list_v5.2' into 'release/v5.2'
fix(docs): tcpip_adapter: Document replacement of tcpip_adapter_get_sta_list (v5.2)

See merge request espressif/esp-idf!31171
2024-07-01 14:29:52 +08:00
Jiang Jiang Jian 5df41326bc Merge branch 'docs/add_the_description_of_gpio_wakeup_in_lightsleep_when_pd_top_v5.2' into 'release/v5.2'
docs(pm): add description for gpio_wakeup (backport v5.2)

See merge request espressif/esp-idf!31738
2024-07-01 14:29:09 +08:00
Jiang Jiang Jian b621e14e8f Merge branch 'bugfix/fix_ble_connect_fail_report_time_v5.2' into 'release/v5.2'
fix(ble/bluedroid): Fixed BLE report event when connection fails (v5.2)

See merge request espressif/esp-idf!31782
2024-07-01 14:20:24 +08:00
zhangshuxian 53a8961268 docs: Delete user guide esp32-s2-devkitc-1 2024-07-01 10:49:48 +08:00
Jiang Jiang Jian 88c6cf5cfa Merge branch 'feature/esp32c6_pu8m_in_sleep_support_v5.2' into 'release/v5.2'
feat(sleep): support 8m force pu in sleep for esp32c6 & esp32h2 (v5.2)

See merge request espressif/esp-idf!31000
2024-07-01 10:43:28 +08:00
Jiang Jiang Jian ca0a41e4ef Merge branch 'docs/delete_user_guide_esp32_s2_devkitm_1_v5.2' into 'release/v5.2'
docs: Delete user guide esp32-s2-devkitm-1 (v5.2)

See merge request espressif/esp-idf!31607
2024-07-01 10:41:27 +08:00
Jiang Jiang Jian 36e0c4898d Merge branch 'bugfix/fix_esp32_cant_tx_after_tx_timeout_v5.2' into 'release/v5.2'
fix(wifi): fix esp32 unrecoverable m f issue

See merge request espressif/esp-idf!30969
2024-07-01 10:40:27 +08:00
Jiang Jiang Jian db47876b70 Merge branch 'docs/add_missing_usb_functions_to_esp32-c3_devkit_user_guides_v5.2' into 'release/v5.2'
Docs: Added missing USB functions to ESP32-C3 DevKit User Guides (v5.2)

See merge request espressif/esp-idf!30861
2024-07-01 10:30:35 +08:00
Jiang Jiang Jian 1fcefc8188 Merge branch 'docs/update_the_translation' into 'release/v5.2'
docs: Update the CN Translation

See merge request espressif/esp-idf!30571
2024-07-01 10:29:35 +08:00
Jiang Jiang Jian 232b0145bd Merge branch 'docs/update_esp_vfs_notes_v5.2' into 'release/v5.2'
docs(vfs): update esp_vfs_register_fd api description (v5.2)

See merge request espressif/esp-idf!30426
2024-07-01 10:28:56 +08:00
Jiang Jiang Jian 7c96c00381 Merge branch 'fix/bump_esp_littlefs_to_v5.2' into 'release/v5.2'
fix(storage/littlefs): Bump version to v1.14.4 (core v2.9.1) (v5.2)

See merge request espressif/esp-idf!30357
2024-07-01 10:28:26 +08:00
Jiang Jiang Jian dfd8679d02 Merge branch 'fix/heap-trace-on-all-functions_v5.2' into 'release/v5.2'
fix(heap): Tracing of all heap_caps API functions (backport v5.2)

See merge request espressif/esp-idf!30234
2024-07-01 10:28:01 +08:00
Jiang Jiang Jian d64c77117f Merge branch 'fix/sntp_getreachability_v5.2' into 'release/v5.2'
fix(netif): Add missing SNTP get-reachablitiy API (v5.2)

See merge request espressif/esp-idf!30032
2024-07-01 10:26:30 +08:00
Adam Múdry faae7eccac fix: PRI inttypes error due to C++ invalid suffix on literal in SPIFFS 2024-06-30 23:31:50 +02:00
Rahul Tank 5767de65bd Merge branch 'bugfix/set_correct_cb_arg_v5.2' into 'release/v5.2'
fix(nimble): Pass the correct cb arg during reconnection attempt (v5.2)

See merge request espressif/esp-idf!31718
2024-06-28 20:56:33 +08:00
WanqQixiang 7158afb163 fix(openthread): register uart vfs devices when they are not registered 2024-06-28 15:59:30 +08:00
liuning af98ed245c feat(wifi, coex): update libs to support feature and fix some issue 2024-06-28 14:27:48 +08:00
zhanghaipeng 4a7bf913a0 fix(ble/bluedroid): Fixed BLE report event when connection fails 2024-06-28 12:00:39 +08:00
liuning d506580d65 feat(wifi): support coex pwr 2024-06-28 11:42:05 +08:00
Island 1022b2b447 Merge branch 'bugfix/fixed_hci_uart_error_on_esp32c6_esp32h2_v5.2' into 'release/v5.2'
feat(bluetooth/controller): Fixed the issue of unresponsiveness when using hci... (v5.2)

See merge request espressif/esp-idf!31751
2024-06-27 17:19:34 +08:00
Jiang Jiang Jian aabb3699d1 Merge branch 'bugfix/ft_scanning_failure_v52' into 'release/v5.2'
fix(esp_wifi): Fix issues in scanning and connecting to FT APs(v5.2)

See merge request espressif/esp-idf!31156
2024-06-26 20:39:13 +08:00
Island 1491b579a8 Merge branch 'bugfix/fix_some_ble_bugs_cjh_v5.2' into 'release/v5.2'
Fixed some BLE bugs 240620 (backport v5.2)

See merge request espressif/esp-idf!31647
2024-06-26 20:33:19 +08:00
zwl 57a8f0d151 feat(bluetooth/controller): Fixed the issue of unresponsiveness when using hci uart mode on ESP32-C6 and ESP32-H2 2024-06-26 17:32:52 +08:00
jgujarathi 5f8ac78e59 fix(esp_wifi): Fix issues in scanning and connecting to FT APs
- Fix issues that arise when conecting to FT APs when disconnect reason
  code 211 is reported mistakenly.
2024-06-26 12:24:55 +05:30
Lou Tianhao 81ad2d8e7b docs(pm): add description for gpio_wakeup 2024-06-26 14:08:46 +08:00
Marius Vikhammer 293f868e10 Merge branch 'fix/prompt-erased-by-backspace-in-dumbmode_v5.2' into 'release/v5.2'
fix(console): bug where backspace erases the prompt in dumb mode (backport v5.2)

See merge request espressif/esp-idf!30348
2024-06-26 12:56:49 +08:00
Jiang Jiang Jian 99df25b55a Merge branch 'bugfix/l2cap_use_wrong_handle_v5.2' into 'release/v5.2'
fix(bt/bluedroid):  Fixed the issue of using the wrong handle to handle the BTA_JV_L2CAP_READ_EVT event(v5.2)

See merge request espressif/esp-idf!31279
2024-06-26 10:49:51 +08:00
Jiang Jiang Jian c3673638cf Merge branch 'fix/add_integrity_check_when_select_temporary_key_v5.2' into 'release/v5.2'
fix(bt): add integrity check when temporary link key selected(backport v5.2)

See merge request espressif/esp-idf!31699
2024-06-26 10:48:11 +08:00
Jiang Jiang Jian dc6b400968 Merge branch 'bugfix/wpa3_init_crash_v5.2' into 'release/v5.2'
fix(wpa_supplicant): Fix wpa3 AP crash because of dangling pointer (v5.2)

See merge request espressif/esp-idf!31541
2024-06-26 10:47:05 +08:00
Jiang Jiang Jian 86232742a1 Merge branch 'bugfix/station_ic_pmf_state_v5.2' into 'release/v5.2'
fix(wifi): Disable IC_PMF variable properly when station disconnects and always clear keys in tx_cb (Backport v5.2)

See merge request espressif/esp-idf!31632
2024-06-26 10:33:43 +08:00
Guillaume Souchere 3d22330ff8 fix(heap): Tracing of all heap_caps API
This commit fixes the missing tracing on all
heap_caps_xx_prefer and heap_caps_xx_aligned
functions.
2024-06-25 11:57:09 +02:00
Guillaume Souchere 302881e6b7 fix(linenoise): Skip 0x00 to 0x1F character in dump mode
Skipping through the non printable character assures that
in dumb mode, any special keys will not lead to the cursor
movement.
2024-06-25 11:48:45 +02:00
Guillaume Souchere ac2491acc5 fix(console): bug where backspace erases the prompt in dumb mode 2024-06-25 11:48:45 +02:00
Sarvesh Bodakhe 8c58db057f fix(wifi): Fix station PMF issue
Fix issue of station PMF not getting reset when disconnecing from PMF connection
2024-06-25 13:54:45 +05:30
Mahavir Jain a1a05fe9c3 Merge branch 'fix/incorrect_console_input_decoding_wifi_prov_mgr_v5.2' into 'release/v5.2'
fix(tools/esp_prov): Fix incorrect input decoding when using console transport (v5.2)

See merge request espressif/esp-idf!31690
2024-06-25 16:24:42 +08:00
Marius Vikhammer 25fd5cf0a5 Merge branch 'fix/fsync-call-propagation-to-secondary-console_v5.2' into 'release/v5.2'
fix(console): Fsync not propagated to secondary output (backport v5.2)

See merge request espressif/esp-idf!30262
2024-06-25 16:08:14 +08:00
Island 921b8ebf44 Merge branch 'feat/optimize_bt_porting_layer_0619_v5.2' into 'release/v5.2'
Feat/optimize bt porting layer 0619 (v5.2)

See merge request espressif/esp-idf!31673
2024-06-25 14:18:41 +08:00
Jiang Jiang Jian 70d19d5730 Merge branch 'fix/trigger_system_reset_in_brownout_isr_v5.2' into 'release/v5.2'
change(esp_system): trigger digital system reset in brownout isr (v5.2)

See merge request espressif/esp-idf!31684
2024-06-25 11:50:31 +08:00
Rahul Tank e9959cd00e fix(nimble): Pass the correct cb arg during reconnection attempt 2024-06-25 08:31:11 +05:30
morris ecc1f0bd7a Merge branch 'fix/lcd_build_error_in_cpp_v5.2' into 'release/v5.2'
fix(lcd): build errors with deprecated lcd types in cpp (v5.2)

See merge request espressif/esp-idf!31677
2024-06-25 10:50:12 +08:00
Marius Vikhammer 7b3e38c217 Merge branch 'fix/ulp_riscv_i2c_multi_byte_v5.2' into 'release/v5.2'
fix(ulp-risc-v): Fixed RTC I2C multi-byte read/write issue for ULP RISC-V (v5.2)

See merge request espressif/esp-idf!31714
2024-06-25 10:27:19 +08:00
chenjianhua ba4a43e020 feat(bt/bluedroid): Add definition for the reason of BLE authentication failure 2024-06-25 00:04:14 +08:00
chenjianhua 6f21c18f5b fix(bt/bluedroid): Fixed BLE security vulnerability when using fixed IRK 2024-06-25 00:04:14 +08:00
linruihao fed97908f8 fix(bt): Overwrite a function in esp32c3 eco7 rom 2024-06-25 00:04:14 +08:00
chenjianhua ad0a988430 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(0738a61)
- Fixed BT BB interrupt allocation
- Refactor the prefix of assert print
- Fixed HCI LE set privacy mode command handle
2024-06-25 00:04:14 +08:00
chenjianhua 8334a10f6d fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(eca46a0)
- Fixed adv data buffer free after restart adv
- Fixed BLE interrupt allocation using esp API
2024-06-25 00:04:14 +08:00
Sudeep Mohanty 3ed21ca8f0 fix(ulp-risc-v): Fixed RTC I2C multi-byte read/write issue for ULP RISC-V
This commit fixes an issue where multi-byte reads and writes over the
RTC I2C peripheral got stuck on the esp32s2 and esp32s3.

Closes https://github.com/espressif/esp-idf/issues/12235
2024-06-24 17:10:49 +02:00
Mahavir Jain 018409d99b Merge branch 'fix/fix_esp_tls_client_key_parsing_v5.2' into 'release/v5.2'
fix(esp_tls): Fixed client key parsing for ECC key (v5.2)

See merge request espressif/esp-idf!31505
2024-06-24 20:34:20 +08:00
gongyantao 6c84fdcde8 fix(bt): add integrity check when temporary link key selected 2024-06-24 17:49:50 +08:00
harshal.patil 5aa74ed001 fix(tools/esp_prov): Fix incorrect input decoding when using console transport
- Closes https://github.com/espressif/esp-idf/issues/14013
2024-06-24 12:28:44 +05:30
Jiang Jiang Jian 51bd0da552 Merge branch 'bugfix/wpa3_sta_mem_leak_v5.2' into 'release/v5.2'
Fix a memory leak that occurs when SAE connection is interrupted (Backport v5.2)

See merge request espressif/esp-idf!31652
2024-06-24 14:03:45 +08:00
wuzhenghui 851c176d1b change(esp_hw_support): update xtal_freq after assume to avoid mass print in DFS 2024-06-24 13:38:10 +08:00
Marius Vikhammer 1a48173692 Merge branch 'contrib/github_pr_14010_v5.2' into 'release/v5.2'
fix(ulp): Write pin's output mode to the correct register (GitHub PR) (v5.2)

See merge request espressif/esp-idf!31596
2024-06-24 12:16:16 +08:00
wuzhenghui c239c68373 change(esp_system): trigger digital system reset in brownout isr 2024-06-24 12:03:03 +08:00
morris 8e79afe7c8 fix(i2c_lcd): using function overloading to keep esp_lcd_new_panel_io_i2c
becuase _Generic is not available in C++

Closes https://github.com/espressif/esp-idf/issues/14037
2024-06-24 11:57:40 +08:00
morris 4e7dd0ce2b fix(lcd): build errors with deprecated lcd types in cpp
Closes https://github.com/espressif/esp-idf/issues/14029
2024-06-24 11:57:40 +08:00
Rahul Tank 4570722409 Merge branch 'bugfix/free_memory_before_reattempt_v5.2' into 'release/v5.2'
fix(nimble): Clear resource before re-starting advertising (v5.2)

See merge request espressif/esp-idf!31626
2024-06-24 10:42:01 +08:00
cjin b67ff61d34 fix(ble): added c6 config check for ble light sleep 2024-06-24 10:12:51 +08:00
zwl c4a22160c7 feat(bluetooth/controller): adjust bt/porting code structure and delete redundant code 2024-06-24 10:11:52 +08:00
Jiang Jiang Jian 4fa32cffd3 Merge branch 'bugfix/wifi-6570_v5.2' into 'release/v5.2'
backport v5.2: fix the issue of wifipwr losing its clock during sleep on the esp32c6 eco1

See merge request espressif/esp-idf!31603
2024-06-24 09:58:46 +08:00
Shyamal Khachane 8b0895e7ef fix(esp_wifi): Fix a memory leak that occurs when SAE connection is interrupted
1. Free temporary data used by SAE before memsetting the same
2. Drop any received auth response that uses a different algorithm than the one currently in use
2024-06-21 11:27:42 +05:30
Rahul Tank 640be34ffa fix(nimble): Clear resource before re-starting advertising 2024-06-20 11:00:22 +05:30
Island 401816eac0 Merge branch 'feat/put_bt_interface_code_to_rom_v5.2' into 'release/v5.2'
Feat/put bt interface code to rom (v5.2)

See merge request espressif/esp-idf!31550
2024-06-20 10:37:58 +08:00
zhangshuxian e0586cf0e3 docs: Delete user guide esp32-s2-devkitm-1 2024-06-19 18:09:20 +08:00
Li Shuai 0a77c13c26 fix(wifi): fix the issue of wifipwr losing its clock during sleep on the esp32c6 eco1 2024-06-19 17:19:23 +08:00
LonerDan 0c741bc3ee fix(ulp-risc-v): Set RTC GPIO output mode in the correct register for ULP RISC-V
According to the ESP32-S2/S3 TRM, the output pin's mode is set in the RTC_GPIO_PINn_REG
by programming the RTC_GPIO_PINn_PAD_DRIVER bit. The current ULP RISC-V RTCIO driver
however, incorrectly programs the RTC_IO_TOUCH_PADn_REG register field RTC_IO_TOUCH_PADn_DRV.
This commit fixes the bug.
2024-06-19 09:01:42 +02:00
morris b63fd4eaee Merge branch 'feature/uart_sleep_retention_support_v5.2' into 'release/v5.2'
feat(uart): support uart module sleep retention on c6/h2 (v5.2)

See merge request espressif/esp-idf!31008
2024-06-19 14:59:30 +08:00
Song Ruo Jing c31e50583e fix(ci): use esp_rom_crc32_le in sleep retention frame check 2024-06-18 19:52:03 +08:00
Sergei Silnov 8e82062d41 Merge branch 'fix/idf_tools_warning_error_v5.2' into 'release/v5.2'
fix(tools): Improve the warning message from idf_tools.py about the Python environment (v5.2)

See merge request espressif/esp-idf!31512
2024-06-18 18:36:36 +08:00
Song Ruo Jing 707aebc607 feat(uart): support uart module sleep retention on c6/h2 2024-06-18 15:04:20 +08:00
Jiang Jiang Jian e55c2eede1 Merge branch 'doc/update_esp32c6_power_statics_5.2' into 'release/v5.2'
docs(lowpower): updating low-power statistics in Wi-Fi scenarios (v5.2)

See merge request espressif/esp-idf!31210
2024-06-18 10:36:01 +08:00
Jiang Jiang Jian 34daddd0f1 Merge branch 'feat/use_iterator_for_regdma_link_traverse_function_v5.2' into 'release/v5.2'
fix(esp_hw_support): use iterator for regdma_link_stats to save stack consume (v5.2)

See merge request espressif/esp-idf!31545
2024-06-18 10:35:38 +08:00
zwl 166e125144 feat(bluetooth/controller): update controller api name on ESP32-C2 2024-06-17 16:43:26 +08:00
zwl fc8a569027 feat(bluetooth/controller): update controller api name on ESP32-C6 and ESP32-H2 2024-06-17 16:43:25 +08:00
Li Shuai ab595d8d08 fix(esp_hw_support): use iterator for regdma_link_stats to save stack consume
Closes https://github.com/espressif/esp-idf/issues/13288
2024-06-17 15:55:46 +08:00
Shreyas Sheth 298bca09ec fix(wpa_supplicant): Fix wpa3 AP crash because of dangling pointer 2024-06-17 12:41:04 +05:30
Rahul Tank f81b598d10 Merge branch 'bugfix/fix_no_mem_coex_issue_v5.2' into 'release/v5.2'
fix(nimble): Added change to handle extra memory for ext adv reattempt (v5.2)

See merge request espressif/esp-idf!31503
2024-06-14 20:01:11 +08:00
Rahul Tank 9653c70e49 Merge branch 'contrib/github_pr_13951_v5.2' into 'release/v5.2'
Fix stack overflow bug for `examples/bluetooth/esp_hid_device` when using esp32s3 with nimble (GitHub PR) (v5.2)

See merge request espressif/esp-idf!31516
2024-06-14 19:58:24 +08:00
Mohammad-Mohsen Aseman-Manzar fd4df8d87f Fix stack overflow bug for examples/bluetooth/esp_hid_device when using esp32s3 with nimble
Related to https://github.com/espressif/esp-idf/commit/60354c39a9338961adce8e2fb536f83571ebd82c
2024-06-14 14:28:20 +05:30
Roland Dobai c50c61e0c7 fix(tools/idf_tools.py): Improve the warning message about the environment 2024-06-14 10:01:16 +02:00
Rahul Tank 14bd74fc84 fix(nimble): Added change to handle extra memory for ext adv reattempt 2024-06-14 12:02:58 +05:30
morris 771ae77c9b Merge branch 'bugfix/forbid_uart_suspend_auto_lightsleep_v5.2' into 'release/v5.2'
uart: Fixed issue that TX be blocked by auto-lightsleep (v5.2)

See merge request espressif/esp-idf!31108
2024-06-14 11:51:29 +08:00
Aditya Patwardhan fd6676e7d8 fix(esp_tls): Fixed client key parsing for ECC key
Client key parsing for ECC keys was failing as the
    RNG supplied to the key parsing API was uninitialized.
    This commit fixes that behaviour
2024-06-14 08:49:33 +05:30
Abhik Roy 6567f0b9b8 fix(lwip): Fixed compilation error referencing undefined POSIX interface API
Closes https://github.com/espressif/esp-idf/issues/13577
2024-06-14 13:18:03 +10:00
Island 6a4396c5fe Merge branch 'bugfix/fix_ble_evt_time_v5.2' into 'release/v5.2'
fix(ble/controller): Update esp32 bt-lib (1e63e23) (v5.2)

See merge request espressif/esp-idf!31482
2024-06-14 10:43:31 +08:00
Michael (XIAO Xufeng) e95cea579d Merge branch 'backport/shortened_uart_read_bytes_blocking_52' into 'release/v5.2'
fix(uart): remove unnecessary wait when sending message to ring buffer(backport5.2)

See merge request espressif/esp-idf!31381
2024-06-13 19:50:47 +08:00
linruihao 7c52034978 fix(bt/controller): Fixed assert issue caused by DPORT access 2024-06-13 17:36:55 +08:00
zhanghaipeng bfb458006c fix(ble/controller): Update esp32 bt-lib (1e63e23)
- Optimized GATT write and notify throughput on ESP32
- Fixed BLE connect timeout after using DTM on ESP32
- Added ke memory debug tools on ESP32
- Fixed memory leak issue when BLE SCAN and other event coexist on ESP32
2024-06-13 16:41:48 +08:00
Roland Dobai e5ffb3c57d Merge branch 'refactor/avoid_using_git_v5.2' into 'release/v5.2'
fix(tools): Avoiding crashing when Git is not present in system when acquiring IDF version (v5.2)

See merge request espressif/esp-idf!31433
2024-06-12 20:03:21 +08:00
Jiang Jiang Jian ab80ad840e Merge branch 'bugfix/fix_lp_half_world_access_v5.2' into 'release/v5.2'
fix(hal): fix LP timer / PMU LL half word access (v5.2)

See merge request espressif/esp-idf!31387
2024-06-12 17:09:45 +08:00
Marius Vikhammer 549da3580b Merge branch 'docs/fix_typo_in_low_power_mode_v5.2' into 'release/v5.2'
docs: fix some typos in api-guides/low-power-mode (v5.2)

See merge request espressif/esp-idf!31458
2024-06-12 15:05:42 +08:00
Sergei Silnov 3e45883091 Merge branch 'fix/component_manager_load_all_local_components_v5.2' into 'release/v5.2'
fix: component manager load all component dirs even set(COMPONENTS ...) (v5.2)

See merge request espressif/esp-idf!30433
2024-06-12 14:43:39 +08:00
Linda 46cf2e0756 docs: fix some typos in api-guides/low-power-mode
Closes https://github.com/espressif/esp-idf/pull/13950
2024-06-12 14:11:23 +08:00
Jakub Kocka 1d5621bca2 fix(tools): Avoid crashing when Git is used to acquire IDF version
Closes https://github.com/espressif/esp-idf/issues/13345
2024-06-11 09:39:30 +02:00
morris 3c40fb296c Merge branch 'refactor/usb_mock_classes_v5.2' into 'release/v5.2'
refactor(usb): Split test device descriptors from mock classes (v5.2)

See merge request espressif/esp-idf!31414
2024-06-11 10:41:30 +08:00
Fu Hanxi c77c218b86 fix: component manager load all component dirs even set(COMPONENTS ...) 2024-06-10 17:41:06 +08:00
Fu Hanxi a805000945 test: improve test_dependency_lock test case 2024-06-10 17:41:06 +08:00
Darian Leung ae9a280ca1 fix(usb): Make string descriptor checks in unit tests optional
Checking for an exact match for product or serial and string descriptors can
lead to test failures if the USB devices connected to the runner is changed. This
commit adds some kconfig options to make the string descriptor checks optional,
with the product and serial string checks being disabled by default.
2024-06-09 12:36:25 +08:00
Darian Leung 6ead402d15 refactor(usb): Split test device descriptors from mock class files
Previously, descriptors of the test devices were stored direclty in the mock
device files (e.g., "mock_[hid|msc].[h|c]"). This commit splits out the device
descriptors to separate files (e.g., "dev_[hid|msc].c") along with getter
functions.

Users that want to run the tests locally on a different device simply need to
update the "dev_[hid|msc].c" file for their device.
2024-06-09 12:19:53 +08:00
Darian Leung edd41c24c3 refactor(usb): Rename mock class files
- Rename "test_usb_mock_..." class files to "mock_..."
- Fixed some codespell issues
- Fixed comment spacing
2024-06-09 11:30:03 +08:00
Jiang Jiang Jian 67608c662d Merge branch 'bugfix/fix_null_data_issue_in_mesh_v5.2' into 'release/v5.2'
fix(wifi): do not send null data when scan start/done for mesh (v5.2)

See merge request espressif/esp-idf!31364
2024-06-07 19:53:42 +08:00
wuzhenghui a5e75a4cb3 fix(hal): fix PMU LL half word and byte access 2024-06-07 14:16:15 +08:00
wuzhenghui 027ede811e fix(hal): fix LP timer LL half word access 2024-06-07 14:15:47 +08:00
morris f0a69d8a0c Merge branch 'feature/usb_host_hub_support_collective_backport_v5.2' into 'release/v5.2'
refactor(usb/host): Prerequisite Refactoring For Hub Collective backport (v5.2)

See merge request espressif/esp-idf!29448
2024-06-07 13:12:51 +08:00
morris d76b2028e9 Merge branch 'feature/usb_new_phy_driver_collective_backport_v5.2' into 'release/v5.2'
refactor(usb/host): PHY driver preqrequisite refacotring collective backport (v5.2)

See merge request espressif/esp-idf!29792
2024-06-07 13:11:37 +08:00
zwx e69714c34f fix(uart): remove unnecessary wait when sending message to ring buffer 2024-06-07 11:42:35 +08:00
Roland Dobai 14c94faac5 Merge branch 'fix/stray_sections_v5.2' into 'release/v5.2'
fix(system): print warning if stray section is found while linking (v5.2)

See merge request espressif/esp-idf!30955
2024-06-06 18:05:07 +08:00
zhangyanjiao d0b7d7e75c fix(wifi): do not send null data when scan start/done for mesh
Closes https://github.com/espressif/esp-idf/issues/13786
2024-06-06 17:52:12 +08:00
Island c65d7e93e1 Merge branch 'feat/add_hci_log_record_for_nimble_v5.2' into 'release/v5.2'
Feat/add hci log record for nimble v5.2 (backport v5.2)

See merge request espressif/esp-idf!31356
2024-06-06 16:53:40 +08:00
Shu Chen 58264f5aa0 Merge branch 'backport/openthread_changes_52' into 'release/v5.2'
Backport some openthread changes to V5.2

See merge request espressif/esp-idf!31066
2024-06-06 15:31:28 +08:00
xiongweichao a3d2bf5f29 fix(bt/bluedroid): Fixed deadlock caused by not unlocking 2024-06-06 14:35:34 +08:00
xiongweichao 230dbcb62c fix(bt/bluedroid): Fixed L2CAP using wrong handle
- Fixed the issue of using the wrong handle to handle the BTA_JV_L2CAP_READ_EVT event.
- Closes https://github.com/espressif/esp-idf/issues/13847
2024-06-06 14:35:34 +08:00
zwx 77dbe953da feat(openthread): update BR lib 2024-06-06 14:18:30 +08:00
Rahul Tank 8dd9f98d91 Merge branch 'bugfix/ble_gap_unpair_error_code_v5.2' into 'release/v5.2'
fix(nimble): Added return code in ble_gap_unpair error logs (v5.2)

See merge request espressif/esp-idf!31308
2024-06-06 14:16:40 +08:00
Island 29bc80aefe Merge branch 'bugfix/esp32c2_fixed_some_ble_issues_master_v5.2' into 'release/v5.2'
Bugfix/esp32c2 fixed some ble issues master (v5.2)

See merge request espressif/esp-idf!31233
2024-06-06 14:15:01 +08:00
Abhinav Kudnar 4fc594a17f fix(nimble): Added return code in ble_gap_unpair error logs 2024-06-06 10:13:51 +05:30
Jiang Jiang Jian f23450b33f Merge branch 'bugfix/mldv6_report_memory_leak_v5.2' into 'release/v5.2'
fix(esp_netif): Fix mldv6 report memory leak in esp_netif(v5.2)

See merge request espressif/esp-idf!31063
2024-06-06 12:10:35 +08:00
Jiang Jiang Jian 786d47863c Merge branch 'bugfix/esp32h2_iomux_retention_v5.2' into 'release/v5.2'
fix(gpio): fix IO 21-27 IOMUX registers not being backed up on ESP32H2 (v5.2)

See merge request espressif/esp-idf!31191
2024-06-06 12:10:13 +08:00
Island 2c301698b8 Merge branch 'fix/ble_mesh_gatts_bugfix_v5.2' into 'release/v5.2'
BLE Mesh Gatts bugfix (v5.2)

See merge request espressif/esp-idf!30873
2024-06-06 11:58:30 +08:00
Jiang Jiang Jian e10eb71014 Merge branch 'bugfix/fix_dhcp_pool_issue_on_dhcp_server_v5.2' into 'release/v5.2'
fix(lwip): fixed the dhcp pool error on dhcp server (v5.2)

See merge request espressif/esp-idf!31267
2024-06-06 11:20:14 +08:00
zhiweijian ef9ed5143a feat(bt/nimble): support hci log for nimble 2024-06-06 09:45:47 +08:00
Roland Dobai cc9edf2085 Merge branch 'set_gdb_remotetimeout_v5.2' into 'release/v5.2'
tools(gdbinit): set remote timeout for the gdb connection (v5.2)

See merge request espressif/esp-idf!30805
2024-06-06 02:18:31 +08:00
Erhan Kurubas db8d2bc27f change(gdbinit): set remote timeout for the gdb connection 2024-06-05 21:39:55 +08:00
Roland Dobai f47e28c2c9 Merge branch 'ci/fix_macos_runner_v5.2' into 'release/v5.2'
ci: select correct python version for mac runners (v5.2)

See merge request espressif/esp-idf!31335
2024-06-05 21:38:34 +08:00
Jiang Jiang Jian 70f14cc8dd Merge branch 'bugfix/stop_tg_wdt_in_xpd_xtal_lightsleep_v5.2' into 'release/v5.2'
fix(esp_hw_support): stop tg wdt in xpd xtal lightsleep (v5.2)

See merge request espressif/esp-idf!31141
2024-06-05 19:24:12 +08:00
Jiang Jiang Jian 3e60ded7df Merge branch 'bugfix/fix_some_wifi_bugs_v5.2' into 'release/v5.2'
fix(wifi): fixed sniffer and espnow issue (v5.2)

See merge request espressif/esp-idf!31212
2024-06-05 19:23:51 +08:00
Jiang Jiang Jian a5acd57d27 Merge branch 'bugfix/pm-108_v5.2' into 'release/v5.2'
backport v5.2: fix the issue of tg0 watchdog reset caused by wifi module retention

See merge request espressif/esp-idf!31012
2024-06-05 18:51:33 +08:00
Jiang Jiang Jian 358e0d6e94 Merge branch 'bugfix/loadprohibited_after_bt_deinit_v5.2' into 'release/v5.2'
Fixed some coexist issues

See merge request espressif/esp-idf!31004
2024-06-05 18:50:56 +08:00
Jiang Jiang Jian 95dd9f119d Merge branch 'doc/add_description_for_pd_top_gpio_configuration_v5.2' into 'release/v5.2'
docs(esp_pm): Adding notes on configuring GPIOs when using PD_TOP sleep (v5.2)

See merge request espressif/esp-idf!30799
2024-06-05 18:47:54 +08:00
Fu Hanxi a3e742818e ci: improve pytest build system tests
- remove temp dirs
- remove idf-component-manager unit test
2024-06-05 10:41:41 +02:00
Fu Hanxi 0615ddbd79 ci: always cleanup idf copy in ci 2024-06-05 10:40:31 +02:00
Fu Hanxi e9a053e2dc ci: disable ccache on macos build system test 2024-06-05 10:40:26 +02:00
Fu Hanxi d4903be742 ci: ensure macos selected the correct python installed by pyenv 2024-06-05 10:40:17 +02:00
Fu Hanxi 05872cfc2d Merge branch 'fix/pytest_session_dir_v5.2' into 'release/v5.2'
ci: apply new fix in pytest-embedded 1.10 (v5.2)

See merge request espressif/esp-idf!30677
2024-06-05 16:22:44 +08:00
Xu Si Yu 6002f7caae fix(openthread): remove the empty task for openthread tasklets 2024-06-05 15:40:23 +08:00
zwx 089896eab2 feat(802154): log buffer full message in debug mode only 2024-06-05 15:40:22 +08:00
zwx 6d9235c109 fix(802.15.4): fixed ieee802154 will sleep when only pm enabled 2024-06-05 15:40:22 +08:00
zwx efd1d0fa7b fix(802.15.4): fix a risk for receive_at and ignore bit8 for the frame length 2024-06-05 15:40:22 +08:00
Xu Si Yu 78e44855ca feat(openthread): update openthread br lib 2024-06-05 15:40:22 +08:00
Jiang Jiang Jian 03c06f1e07 Merge branch 'bugfix/wps_scan_log_flood_v5.2' into 'release/v5.2'
fix(wpa_supplicant): Suppress RSN IE print to Verbose level (Backport v5.2)

See merge request espressif/esp-idf!31158
2024-06-05 15:30:51 +08:00
Jiang Jiang Jian d1b0129a3e Merge branch 'fix/assert_in_bt_controller_v5.2' into 'release/v5.2'
fix(bt): fix some issues in bluetooth controller(backport v5.2)

See merge request espressif/esp-idf!31322
2024-06-05 15:29:43 +08:00
Rahul Tank 47b00716c0 Merge branch 'bugfix/restart_advertising_if_slave_23e_v5.2' into 'release/v5.2'
fix(nimble): start advertising if disconnect due to 0x3E in slave (v5.2)

See merge request espressif/esp-idf!31033
2024-06-05 15:10:28 +08:00
Island 5da6f3fbe5 Merge branch 'bugfix/fix_ble_max_attribute_value_v5.2' into 'release/v5.2'
Bugfix/fix ble max attribute value v5.2

See merge request espressif/esp-idf!30415
2024-06-05 12:13:13 +08:00
Rahul Tank 57ec59475f fix(nimble): start advertising if disconnect due to 0x3E in slave 2024-06-05 09:22:45 +05:30
Rahul Tank 9df9c062dd Merge branch 'doc/update_readme_enc_adv_v5.2' into 'release/v5.2'
docs(nimble): Added chip information in enc_adv example README file (v5.2)

See merge request espressif/esp-idf!30774
2024-06-05 11:46:17 +08:00
Rahul Tank 6bcc67e51c Merge branch 'bugfix/disable_mbedtls_options_v5.2' into 'release/v5.2'
fix(nimble): Deselect MBEDTLS_ECP_RESTARTABLE when mbedTLS is used (v5.2)

See merge request espressif/esp-idf!30619
2024-06-05 11:45:58 +08:00
luoxu 9e2a428251 fix(ble_mesh): Create service after service register success 2024-06-05 10:58:58 +08:00
zwl 11d3a1969f ble: fixed ble some issues on esp32c6 and esp32h2 2024-06-05 10:45:21 +08:00
zwl 73dc9b18fa ble: fixed ble some issues on esp32c2 2024-06-05 10:45:21 +08:00
Island fe8937b2c6 Merge branch 'bugfix/BLEQABR23-798_v5.2' into 'release/v5.2'
bugfix(ble_mesh): Close BLEQABR23-798 (v5.2)

See merge request espressif/esp-idf!30645
2024-06-05 10:43:39 +08:00
Island 8ee5cc7aad Merge branch 'fix/ble_mesh_sar_bugfix_v5.2' into 'release/v5.2'
BLE Mesh SAR bugfix (v5.2)

See merge request espressif/esp-idf!30882
2024-06-05 10:42:58 +08:00
Island 7105dd7248 Merge branch 'bugfix/bleqabr24-549_v5.2' into 'release/v5.2'
fix(ble_mesh): fix issues in mesh deinit_v5.2

See merge request espressif/esp-idf!30541
2024-06-05 10:42:44 +08:00
Island 9ae3116af5 Merge branch 'bugfix/fixed_issues_on_esp32c6_and_esp32h2_v5.2' into 'release/v5.2'
fixed some ble issues on esp32c6 and esp32h2 (v5.2)

See merge request espressif/esp-idf!30892
2024-06-05 10:30:21 +08:00
gongyantao b0be2ff106 fix(bt): fix some issues in bluetooth controller
1: fix return incorrect link key with hci command rd_stored_link_key
2: fix the assert triggered during APB TX
3: fix role switch LMP collision bug
2024-06-05 09:10:35 +08:00
wuzhenghui 1090b496a1 fix(esp_hw_support/sleep): stop TG0/TG1 watchdog if XTAL not power down in lightsleep 2024-06-04 21:30:28 +08:00
wuzhenghui 92e3fd4e44 change(esp_hw_support/sleep): improve esp32c3 systimer stall bug workaround 2024-06-04 21:30:28 +08:00
Alexey Gerenkov 3e5964e531 Merge branch 'enable_esp32p4_sysview_examples_v5.2' into 'release/v5.2'
feat(sysview): enable esp32p4 examples (v5.2)

See merge request espressif/esp-idf!30435
2024-06-04 21:27:37 +08:00
Alexey Gerenkov f387ada008 Merge branch 'doc_update_esp32p4_jtag_v5.2' into 'release/v5.2'
Update esp32p4 jtag debugging guide (v5.2)

See merge request espressif/esp-idf!30436
2024-06-04 21:25:59 +08:00
Alexey Gerenkov 3068ae65fc Merge branch 'fix_coredump_build_error_v5.2' into 'release/v5.2'
Fix coredump build error (v5.2)

See merge request espressif/esp-idf!30463
2024-06-04 21:25:26 +08:00
Alexey Gerenkov 824d5823ba Merge branch 'coredump_sanity_check_v5.2' into 'release/v5.2'
fix(coredump): increase sanity check before get summary (v5.2)

See merge request espressif/esp-idf!30528
2024-06-04 21:21:50 +08:00
Darian Leung 36de16d97c refactor(hal/usb): Add new USB PHY related HAL API
This commit adds/updates the USB PHY related HAL APIs. The following changes
are made:

- Updated 'usb_wrap_hal.h' API
- Added 'usb_serial_jtag_hal.h' API
2024-06-04 20:35:49 +08:00
Darian Leung d944e85a57 feat(hal/usb): Update USB WRAP and USJ LL
- Added LL cap macros to distinguish feature differences between the LLs of
  different targets:
    - '..._LL_EXT_PHY_SUPPORTED' indicates whether the USB WRAP/USJ supports
      routing to an external FSLS PHY.
- Tidied up some RCC LL functions and their callers.
- Added 'usb_wrap_types.h' and 'usb_serial_jtag_types.h' to provide types used
  in LLs.
- Fixed some spelling/naming issues as part of code-spell pre-commit
2024-06-04 20:35:49 +08:00
Darian Leung 14a581939c refactor(hal/usb): Refactor usb_wrap_ll.h
This commit rewrite the 'usb_wrap_ll.h' API as follows:

- All APIs renamed from 'usb_fsls_phy_ll_...()' to 'usb_wrap_ll_...()'
- APIs now match their equivalent counter parts in 'usb_serial_jtag_ll.h'
2024-06-04 20:35:48 +08:00
Darian Leung 81f6d7abbe refactor(hal/usb): Remove usb_fsls_phy_ll.h
For targets that only contain a USJ peripheral (and not a DWC OTG), their
'usb_fsls_phy_ll.h' headers only contain a single function
('usb_fsls_phy_ll_int_jtag_enable()') whose feature is already covered by
functions in 'usb_serial_jtag_ll.h'. Thus, this header is redundant.

This commit does the following:

- Remove 'usb_fsls_phy_ll.h' for targets that only contain a USJ peripheral
- Rename 'usb_fsls_phy_[hal|ll].[h|c]' to `usb_wrap_[hal|ll].[h|c]` for targets
that contain a DWC OTG peripheral. This better reflects the underlying peripheral
that the LL header accesses.
2024-06-04 20:35:47 +08:00
Darian Leung 1739bff0b9 refactor(hal/usj): Add USB PHY related functions to USJ LL 2024-06-04 20:35:46 +08:00
Darian Leung 0b11401bc4 docs(usb): Add USBH maintainer notes 2024-06-04 20:34:58 +08:00
Darian Leung 64faf3aa9f refactor(usb/usbh): Update USBH device creation and enumeration handling
This commit updates how the USBH handles device creation and enumeration so that
upper layers (such as the Hub driver) can use the USBH API for enumeration instead
of calling the HCD.

USBH Updates:

USBH now creates unenumerated devices set to address 0 with no device/config
descriptor. A newly created device can be opened and communicated with immediately
(using control transfers). This allows the Hub driver to call the USBH instead of
the HCD. Summary of USBH changes:

- Added new APIs to add/remove a device. Devices are now created as unenumerated
and can be immediately opened and communicated with.
- Added new APIs to enumerate a device (see 'usbh_dev_set_...()' functions). Device
must be locked (see 'usbh_dev_enum_lock()') before enumeration functions can be called.
- Added UID for each device. This allows the particular USBH without needing to
use the device's handle (which implies opening the device).

Hub Driver Updates:

Hub driver now calls the USBH for enumeration. Summary of USBH changes:

- Replace all 'hcd_pipe_...()' calls with 'usbh_dev_...()' calls
- Refactored port event handling to fit with new USBH API
- Updated to use UID to uniquely identify devices without opening them

USB Host Updates:

- Reroute USBH control transfers to clients and hub driver
2024-06-04 20:34:57 +08:00
Darian Leung 9141d48b41 refactor(usb/hub): Update Hub driver port request logic 2024-06-04 20:34:57 +08:00
Darian Leung 0c8ec63c10 refactor(usb/hcd): Allow port resets with allocated pipes
This commit updates the HCD API to allow port resets to occur even if pipes
are allocated. The pipes cannot be active and the port reset will simply
restore the pipes (by reinitializing their channel registers) following the
reset.

Changes:

- Allow port resets while channels are allocated
- Remove pipe persistance API 'hcd_pipe_set_persist_reset()'
2024-06-04 20:34:56 +08:00
Darian Leung fe206dab59 refactor(usb/usbh): Rename device pool functions and ref_count
This commit renames the following APIs and variables in the USBH:

- Rename the prefix of device pool functions from 'usbh_dev_...' to
  'usbh_devs_...'.
- Rename 'ref_count' to 'open_count'. This variable tracks the number of times
  a device has been opened.
2024-06-04 20:34:55 +08:00
Darian Leung 72d6c31ac7 refactor(usb/host): Refactor USBH function grouping
This commit rearranges the USBH functions into new groupings to provide a
clearer abstraction. This is in preparation for refactoring/removing the Hub
related functions in the USBH API. This commit DOES NOT MAKE ANY BEHAVIORAL
CHANGES to the code.

Functions are now grouped into...

- USBH Processing: Functions dealing with overall USBH processing
- Device Pool: Functions that add/remove/open/close devices from the internal
               device pool
- Device: Functions that pertain to setting/getting a particular device
- Endpoints: Functions that pertain to a particular endpoint
- Transfer: Functions that pertain to sending transfers
2024-06-04 20:34:55 +08:00
Roman Leonov 32a7719177 refactor(hcd_dwc): Added mps request from hcd_dwc 2024-06-04 20:34:54 +08:00
Darian Leung 455674ae8c refactor(usb/host): Simplify USBH and Hub interaction
Previously, on a device disconnection, the USBH and Hub would the require the
following 2-way interaction:

- Hub -> usbh_hub_pass_event() -> USBH to indicate a port error
- USBH -> usbh_hub_req_cb_t -> Hub to request port recovery after the device
has been freed.

The 2-way interaction has been simplified:

- USBH now nofities upper layers of devices being freed via the
USBH_EVENT_DEV_FREE event
- Hub now handles port recovery only after a device has been freed
2024-06-04 20:34:54 +08:00
Roman Leonov 4139edba23 refactor(usb_host): Renamed hub_driver_state to root_port_state 2024-06-04 20:34:53 +08:00
Tomas Rezucha 6913f2721f feat(usb/host): Add missing sync types from USB specification 2024-06-04 20:34:52 +08:00
Roman Leonov 7ae41ebd8b feat(usb_host): Added KConfig parameter for External HUB support enable 2024-06-04 20:34:52 +08:00
Roman Leonov 2d6aae5aa3 refactor(usb_host): Added chapter11 header, refactor chapter9 header 2024-06-04 20:34:51 +08:00
Darian Leung 95e6dd3884 refactor(usb): Remove USBH control transfer callback
This commit merges the USBH control transfer callback into the USBH event
callback. This simplifies the code as the USBH now uses a single callback.
2024-06-04 20:34:50 +08:00
Darian Leung 83a629f68b refactor(usb): Update USBH event callback arguments
This commit does the following:

- Updates the USBH event callback arguments to now pass a usbh_event_data_t
which can contain different data for each event
- Updated event names
2024-06-04 20:34:50 +08:00
Wang Meng Yang 876d000b81 Merge branch 'bugfix/fix_hid_connection_failed_bug_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fix HID Device connection failed bug[backport 5.2]

See merge request espressif/esp-idf!30589
2024-06-04 19:30:23 +08:00
Wang Meng Yang 9c63a9afa8 Merge branch 'fix/assert_1024_in_rwbt_isr_v5.2' into 'release/v5.2'
fix(bt/ble): fix some issues in bluetooth controller(backport v5.2)

See merge request espressif/esp-idf!30814
2024-06-04 19:30:00 +08:00
Roland Dobai 278c9dc6fd Merge branch 'fix/gdbgui_version_check_v5.2' into 'release/v5.2'
fix(tools): Use GDGBUI arguments based on its version (v5.2)

See merge request espressif/esp-idf!31038
2024-06-04 17:26:42 +08:00
Marius Vikhammer bce25322d7 Merge branch 'docs/fix_doxygen_1_9_8_failure_v5.2' into 'release/v5.2'
docs(doxygen): fix misc issues with new version of doxygen (v5.2)

See merge request espressif/esp-idf!31187
2024-06-04 16:50:42 +08:00
Marius Vikhammer bea6dc43cb Merge branch 'refactor/cpu_interrupt_table_v5.2' into 'release/v5.2'
fix(esp_hw_support): refactor and clear reserved interrupts that are unused or not applicable anymore (backport v5.2)

See merge request espressif/esp-idf!31184
2024-06-04 16:38:15 +08:00
Marius Vikhammer 52df721bb1 Merge branch 'feature/freertos_runtime_counter_support_v5.2' into 'release/v5.2'
feat(freertos): Runtime Counter support (v5.2)

See merge request espressif/esp-idf!31135
2024-06-04 16:36:49 +08:00
Marius Vikhammer a572a86b0b Merge branch 'doc/ringbuffer_v5.2' into 'release/v5.2'
docs(esp_ringbuf): Corrected example code block (v5.2)

See merge request espressif/esp-idf!30632
2024-06-04 16:35:13 +08:00
Marius Vikhammer 88859560d1 Merge branch 'feature/console_add_sbom_file_v5.2' into 'release/v5.2'
feat(system/console): Added argtable3 SBOM manifest file for SPDX file generation for console component (v5.2)

See merge request espressif/esp-idf!30944
2024-06-04 16:34:51 +08:00
Mahavir Jain ab8ebe6f17 Merge branch 'bugfix/fix_resetting_redirect_counter_v5.2' into 'release/v5.2'
fix: reset redirect counter for using same handler (v5.2)

See merge request espressif/esp-idf!30936
2024-06-04 16:34:03 +08:00
Mahavir Jain c5909dc669 Merge branch 'feature/update_cjson_version_to_1.7.18_v5.2' into 'release/v5.2'
feat(cjson): update submodule to v1.7.18 (v5.2)

See merge request espressif/esp-idf!31015
2024-06-04 16:33:16 +08:00
Marius Vikhammer 1c4cdfe4b7 fix(brownout): fixed brownout isr crashing if cache disabled
If a brownout ISR was triggered while cache was disabled the system would panic.

This was due to a print accessing a string stored in flash
2024-06-04 16:30:05 +08:00
Marius Vikhammer 94d3c76950 Merge branch 'bugfix/lp_core_tests_race_condition_v5.2' into 'release/v5.2'
fix(lp_core_test): fixed race-condition in lp core tests (v5.2)

See merge request espressif/esp-idf!30932
2024-06-04 16:29:19 +08:00
Aditya Patwardhan d8e9aeae92 Merge branch 'update/version_5_2_2' into 'release/v5.2'
Update version to 5.2.2

See merge request espressif/esp-idf!31242
2024-06-03 15:27:20 +08:00
zhangyanjiao d4c1af3740 fix(lwip): fixed the dhcp pool error on dhcp server 2024-06-03 11:33:12 +08:00
zhangyanjiao 8c958fb8c7 docs(wifi): update the docmentation for mesh API 2024-06-03 11:29:54 +08:00
zhangyanjiao a1fa536990 fix(wifi): fixed sniffer and espnow issue
1. fix(wifi): fixed sniffer dump fcs error packets fail

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

2. fix(wifi): fixed the espnow priv parameter get error

Closes https://github.com/espressif/esp-idf/issues/13693
Closes https://github.com/espressif/esp-idf/issues/13880
2024-06-03 11:29:17 +08:00
zhanghaipeng 32ec84c6d6 fix(ble/bluedroid): Optimize BLE stack connect callback name 2024-06-02 17:16:54 +08:00
zhanghaipeng 7af45c272d fix(ble/bluedroid): Fixed BLE no data length change event 2024-06-02 17:16:45 +08:00
Aditya Patwardhan 3b8741b172 change(version): Update version to 5.2.2 2024-05-31 21:48:23 +05:50
Jiang Jiang Jian 9cf323d4c6 Merge branch 'bugfix/add_deprecated_warning_for_wpa3_ext_v5.2' into 'release/v5.2'
fix(wifi): Add back `WIFI_AUTH_WPA3_EXT_PSK` and `WIFI_AUTH_WPA3_EXT_PSK_MIXED_MODE` for v5.x (Backport v5.2)

See merge request espressif/esp-idf!31177
2024-05-31 17:46:43 +08:00
wuzhenghui 464fe67ec7 docs(lowpower): updating low-power statistics in Wi-Fi scenarios 2024-05-30 22:04:24 +08:00
Sarvesh Bodakhe f47a4796e5 fix(wifi): Add back WIFI_AUTH_WPA3_EXT_PSK and WIFI_AUTH_WPA3_EXT_PSK_MIXED_MODE
Add back above authmodes instead of merging them with WIFI_AUTH_WPA3_PSK in minor releases
during v5.x.

These authmodes will be removed from v6.0
2024-05-30 18:09:42 +05:30
luoxu 240236a7bd fix(ble_mesh): fix issues in mesh deinit 2024-05-30 20:38:10 +08:00
Song Ruo Jing 638b18a595 fix(gpio): fix IO 21-27 IOMUX registers not being backed up on ESP32H2 2024-05-30 15:07:42 +08:00
Marius Vikhammer bbe00b9ee3 docs(doxygen): fix misc issues with new version of doxygen 2024-05-30 13:42:18 +08:00
Omar Chebib 742b3a1814 fix(esp_hw_support): clear reserved interrupts that are not applicable for each target 2024-05-30 12:12:44 +08:00
Omar Chebib 35dd4e1557 refactor(esp_hw_support): changed reserved interrupt functions to be now defined per SoC 2024-05-30 11:49:13 +08:00
Li Shuai 1903fa8e0b fix(wifi): fixed the issue of tg0 watchdog reset caused by wifi module retention 2024-05-29 20:48:49 +08:00
David Cermak 26ce69c31a fix(docs): tcpip_adapter: Document replacement of tcpip_adapter_get_sta_list 2024-05-29 13:45:39 +02:00
David Cermak d750d067e5 fix(esp_netif): Prevent running esp_netif_sntp_init() multiple times
Closes https://github.com/espressif/esp-idf/issues/12854
2024-05-29 17:10:07 +08:00
David Cermak d5f086f432 fix(netif): Add missing SNTP get-reachablitiy API 2024-05-29 17:10:07 +08:00
Nachiket Kukade 4350564461 fix(wpa_supplicant): Suppress RSN IE print to Verbose level 2024-05-29 11:28:15 +05:30
Konstantin Kondrashov 22b3041f1e feat(freertos): Runtime Counter support
Closes https://github.com/espressif/esp-idf/issues/13120
2024-05-28 12:07:13 +03:00
Jiang Jiang Jian 8cd37950c7 Merge branch 'fix/fix_softap_send_mgmt_err_when_eapol_v5.2' into 'release/v5.2'
fix(wifi): fix softap send mgmt err when eapol process backport for v5.2

See merge request espressif/esp-idf!31101
2024-05-28 15:21:40 +08:00
Xiao Xufeng 7f68fe1cff fix(soc): fixed uart_periph.h not including reg.h issue
This will cause rom/uart.h can't compile.
2024-05-28 10:57:59 +08:00
Michael (XIAO Xufeng) c6d4c1a7bf feat(uart_test): add test case for uart tx blocked by auto-suspend 2024-05-28 10:57:59 +08:00
LiPeng 9b0d803237 fix(uart): Fixed issue that TX be blocked by auto-lightsleep 2024-05-28 10:57:59 +08:00
wangtao@espressif.com ee1c907d21 fix(wifi): fix softap send mgmt err when eapol process 2024-05-27 20:08:25 +08:00
zwx fc2ae79ae0 feat(eth) configure eth mac using esp_read_mac
* Closes https://github.com/espressif/esp-idf/issues/13808
2024-05-27 15:43:35 +08:00
Jiang Jiang Jian 9f4f8e24f2 Merge branch 'fix/freertos_scheduler_suspend_crit_v5.2' into 'release/v5.2'
fix(freertos/idf): Add missing critical sections to vTaskSuspendAll() (v5.2)

See merge request espressif/esp-idf!30923
2024-05-24 21:20:22 +08:00
WanqQixiang 79d32296f9 fix(esp_netif): Fix mldv6 report memory leak in esp_netif 2024-05-24 15:32:33 +08:00
Armando b5073b1e3f bugfix(cpu_start): check c3 efuse error log on ram app condition
Prior to this commit, esp_efuse_check_errors() is only called when it's
2nd stage btld app.

This commit moves this error check so under all conditions (including
ram app, pure ram app) will check this efuse error
2024-05-23 15:53:53 +08:00
luoxu c5188fa85c fix(ble_mesh): change tx/rx lock to recursive mutex to avoid dead lock 2024-05-23 15:21:46 +08:00
luoxu 4f9d065656 fix(ble_mesh): reference net_buf on correct positions 2024-05-23 15:21:40 +08:00
Roland Dobai 85b9f7612c fix(tools): Use GDGBUI arguments based on its version
Closes https://github.com/espressif/esp-idf/issues/13665
2024-05-23 07:37:59 +02:00
Jiang Jiang Jian 5ff245f7f9 Merge branch 'bugfix/esp32c6eco1_coex_ble_deinit_wifi_bcn_timeout_v5.2' into 'release/v5.2'
backport v5.2: fix the issue where deinit ble in a coexist scenario causes the wifi mac tsf counter to stop

See merge request espressif/esp-idf!30982
2024-05-23 13:32:41 +08:00
chenjianhua 54ac03217f feat(bt/bluedroid): support BLE set privacy mode 2024-05-22 19:35:48 +08:00
zhanghaipeng a0a4d653df fix(ble/bluedroid): Optimized BLE SPP example for improved compatibility 2024-05-22 19:33:55 +08:00
zhanghaipeng 4eba8c2828 feat(ble/bluedroid): Support BLE add device to resolving list 2024-05-22 19:33:55 +08:00
zhanghaipeng ed37f99e8a feat(ble/bluedroid): Support set resolvable provate address timeout by api 2024-05-22 19:33:55 +08:00
zhanghaipeng 83910d96eb fix(ble/bluedroid): Fixed BLE GATT max length of an attribute value 2024-05-22 19:33:55 +08:00
zhanghaipeng bd82e0aba8 fix(ble/bluedroid): Optimize BLE documentation comments to comply with Doxygen syntax 2024-05-22 19:33:55 +08:00
zhanghaipeng 20ed74dbdc fix(ble/bluedroid): Optimize the BLE documentation 2024-05-22 19:33:55 +08:00
Fu Hanxi 120a15b83f ci: move log dir from pytest_embedded_log to pytest-embedded 2024-05-22 16:59:01 +08:00
Fu Hanxi 899fc7cd4f ci: apply new fix in pytest-embedded 1.10 2024-05-22 16:59:01 +08:00
Fu Hanxi 9f21460e10 ci: update mypy check for python 3.12, check under python 3.8 rules 2024-05-22 16:59:01 +08:00
nilesh.kale ec226e83d2 feat(cjson): update submodule to v1.7.18
Changelog: https://github.com/DaveGamble/cJSON/releases/tag/v1.7.18
2024-05-22 13:34:43 +05:30
baohongde edc3f172cc fix(coex): Fixed some coexist issues
- Fixed crash issue in coexist callback
- Fixed coexist scheme status update issue
2024-05-22 11:51:13 +08:00
chenjianhua 0551680bfa fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(a771b7c)
- Fixed assert when starting advertising due to preemption
- Fixed RPA generation after each reboot
- Fixed RPA renew timer start and stop
2024-05-22 11:51:13 +08:00
chaijie@espressif.com 15e9809b67 feat(sleep): support 8m force pu in sleep for esp32c6/esp32h2 2024-05-22 11:35:06 +08:00
Li Shuai 541632c555 fix(wifi): fix the issue where deinit ble in a coexist scenario causes the wifi mac tsf counter to stop 2024-05-21 16:48:48 +08:00
Alexey Lapshin 5320ec20f9 fix(system): place idf's stray sections while linking 2024-05-20 14:07:06 +04:00
Xiaoyu Liu 20046f6bc4 feat(system/console): Added argtable3 SBOM manifest file in console component for SPDX file generation 2024-05-20 15:04:39 +08:00
Harshit Malpani 4dda1f6d93 fix: Add warning to enable LWIP_NETIF_LOOPBACK to use control socket API
Closes https://github.com/espressif/esp-idf/issues/13659
2024-05-20 10:44:55 +05:30
Harshit Malpani 4e4ceba9c8 fix: reset redirect counter for using same handler
Closes https://github.com/espressif/esp-idf/issues/13633
2024-05-20 10:44:53 +05:30
Marius Vikhammer d885b47eaf fix(lp_core_test): fixed race-condition in lp core tests 2024-05-20 12:00:01 +08:00
Darian Leung 89c22c63e6 refactor(freertos/idf): Add critical section requirements to function description
This commit adds a note regarding the critical section calling requires of some
internal functions.
2024-05-18 01:22:03 +08:00
Darian Leung 7c38b262fb fix(freertos/idf): Add missing critical sections to vTaskSuspendAll()
vTaskSuspendAll() requires critical sections when building for SMP. Otherwise,
it is possible for a task to switch cores in between getting the core ID and
before incremented uxSchedulerSuspended.
2024-05-18 01:22:03 +08:00
Erhan Kurubas d2dd264c64 fix(coredump): don't allow mapping of non-encrypted coredump partition 2024-05-16 21:31:02 +02:00
Erhan Kurubas d744aefcec fix(coredump): increase sanity check before get summary
Closes https://github.com/espressif/esp-idf/issues/13594
2024-05-16 21:22:41 +02:00
zwl ed939172ad ble: fixed some issues on ESP32C6 and ESP32H2 2024-05-16 17:46:12 +08:00
wangning c3152b8819 docs(esp32c3): Added missing USB functions to esp32-c3 devkit user guides 2024-05-16 10:59:20 +08:00
Rahul Tank 4a86c7a49e docs(nimble): Added chip information in ble_enc_adv README file 2024-05-15 15:34:11 +05:30
shenmengjing 6b38600578 docs: Update the CN Translation 2024-05-15 14:45:58 +08:00
Jin Cheng bcb8df2a0e fix(bt/controller): Parse out the correct packet types from Host parameters
- For HCI command HCI_Enhanced_Setup_Synchronous_Connection
2024-05-14 11:54:01 +08:00
gongyantao 369c297e23 fix(bt/ble): fix some issues in bluetooth controller
1: fix assert 1024 issue when bt tx and wifi coexist on esp32
2: fix ble scan backoff
3: parse out the correct packet types from host parameters for
   hci command hci_enhanced_setup_synchronous_connection
2024-05-14 09:59:20 +08:00
Jiang Jiang Jian 70fc0e3037 Merge branch 'fix/some_fix_for_openthread_backport_5_2' into 'release/v5.2'
Fix/some fix for openthread (backport v5.2)

See merge request espressif/esp-idf!30796
2024-05-13 22:13:32 +08:00
Jiang Jiang Jian 3b15317109 Merge branch 'bugfix/ftm_fix_wrong_compensation_v5.2' into 'release/v5.2'
Fix issue in selecting FTM compensation with external AP (Backport v5.2)

See merge request espressif/esp-idf!30761
2024-05-13 21:28:45 +08:00
Nachiket Kukade 300aa4d08c fix(esp_wifi): Fix issue in selecting FTM compensation with external AP 2024-05-13 18:01:36 +05:30
wuzhenghui b2187bc619 docs(gpio): add description for gpio_force_hold_all & gpio_force_unhold_all
Closes https://github.com/espressif/esp-idf/issues/13186
2024-05-13 16:27:49 +08:00
wuzhenghui 757573b551 docs(esp_pm): Adding notes on configuring GPIOs when using PD_TOP sleep
Closes https://github.com/espressif/esp-idf/issues/13143
2024-05-13 16:27:49 +08:00
Jiang Jiang Jian 8742f242eb Merge branch 'bugfix/fix_mesh_packet_tx_issue_v5.2' into 'release/v5.2'
fix(wifi): fix the tx issue when mesh packet lifetime remain equal to zero(v5.2)

See merge request espressif/esp-idf!30790
2024-05-13 15:46:28 +08:00
zwx 2fc047d61d feat(openthread): remove the range for some configurations 2024-05-13 15:18:34 +08:00
zwx 3e81bd22c3 feat(openthread): move iperf dependency into cli extension 2024-05-13 15:18:27 +08:00
Jiang Jiang Jian 62e909183b Merge branch 'doc/update_bt_sleep_process_v5.2' into 'release/v5.2'
docs: Update the process of Bluetooth entering sleep in the sleep_modes.rst(v5.2)

See merge request espressif/esp-idf!30730
2024-05-13 14:29:15 +08:00
zhangyanjiao 5570cd2a97 fix(wifi): fix the tx issue when mesh packet lifetime remain equal to zero 2024-05-13 10:42:39 +08:00
Jiang Jiang Jian cc5101f1eb Merge branch 'optimize/bt_make_alarm_num_configurable_v5.2' into 'release/v5.2'
optimize(ble_mesh): Make alarm number configurable (v5.2)

See merge request espressif/esp-idf!30507
2024-05-13 10:24:41 +08:00
Jiang Jiang Jian 408294ab15 Merge branch 'bugfix/fix_ble_coex_assert_v5.2' into 'release/v5.2'
Update esp32 bt-lib (4012cfb)(backport v5.2)

See merge request espressif/esp-idf!30520
2024-05-13 10:22:31 +08:00
Jiang Jiang Jian 2374ec54c4 Merge branch 'docs/sync_up_cn_trans_5.2' into 'release/v5.2'
docs:update the CN version of size.rst in release v5.2

See merge request espressif/esp-idf!30404
2024-05-13 10:19:44 +08:00
Jiang Jiang Jian 84706fe4bb Merge branch 'bugfix/gcmp_mr_regression_v5.2' into 'release/v5.2'
fix(wifi): Fix issue of wrong Rx control information of espnow packets for esp32 and esp32s2 (Backport v5.2)

See merge request espressif/esp-idf!30735
2024-05-13 10:18:02 +08:00
Island 2a9108ff1b Merge branch 'bugfix/remove_ble_func_discard_declaration_v5.2' into 'release/v5.2'
fix(ble/bluedroid): Remove BLE functions discard declaration (backport v5.2)

See merge request espressif/esp-idf!30390
2024-05-10 19:21:01 +08:00
Sarvesh Bodakhe c535addbfa fix(wifi): Fix issue of wrong Rx control information of espnow packets
Only for esp32 and esp32s2
2024-05-09 16:28:33 +05:30
Marius Vikhammer f8319f08cc Merge branch 'fix/reduce-binary-size_v5.2' into 'release/v5.2'
Reduce binary size (v5.2)

See merge request espressif/esp-idf!30656
2024-05-09 15:41:59 +08:00
Jiang Jiang Jian 83a73e994d Merge branch 'fix/fix_some_esp32c6_wifi_bugs_v5.2' into 'release/v5.2'
fix(wifi): fix some esp32c6 wifi bugs (Backport v5.2)

See merge request espressif/esp-idf!30704
2024-05-09 13:53:39 +08:00
Jiang Jiang Jian 55ea18dc9d Merge branch 'bugfix/libphy_chips_20240430_v5.2' into 'release/v5.2'
update c3 s3 c6 libphy fix coex reset and bug

See merge request espressif/esp-idf!30726
2024-05-09 11:57:21 +08:00
xuxiao 7fa676a2d6 fix(wifi): fix some esp32c6 wifi bugs (Backport v5.2) 2024-05-09 11:04:48 +08:00
xiongweichao f92665a637 docs: Update the process of Bluetooth entering sleep in the sleep_modes.rst 2024-05-09 11:03:47 +08:00
Jiang Jiang Jian 0b633e8516 Merge branch 'bugfix/update_ftm_calibration_v5.2' into 'release/v5.2'
feat(esp_wifi): Update FTM PHY Compensation with calibration

See merge request espressif/esp-idf!30724
2024-05-09 10:32:05 +08:00
liuning 4254e38bb4 update c3 s3 c6 libphy fix coex reset and bug 2024-05-08 21:12:23 +08:00
Nachiket Kukade f1c0fe8614 feat(esp_wifi): Update FTM PHY Compensation with calibration 2024-05-08 18:05:49 +05:30
Jiang Jiang Jian 1fa8d232ea Merge branch 'bugfix/wpa_wpa2_wpa3_mixed_mode_v5.2' into 'release/v5.2'
fix(wifi): Fix issue in scan when AP advertises WPA and WPA2 with SAE AKM (Backport v5.2)

See merge request espressif/esp-idf!30702
2024-05-08 20:14:26 +08:00
Jiang Jiang Jian 0cb30ed881 Merge branch 'bugfix/fix_scan_get_ap_number_issue_v5.2' into 'release/v5.2'
fix(wifi): fixed scan get ap number issue(Backport v5.2)

See merge request espressif/esp-idf!30706
2024-05-08 19:44:14 +08:00
Jiang Jiang Jian 29a04ba3d7 Merge branch 'fix/increase_26mhz_esp32c2_slow_clock_calibration_wdt_threshold_v5.2' into 'release/v5.2'
fix(esp_system): increase 26Mhz esp32c2 slow clock calibration timeout watchdog threshold (v5.2)

See merge request espressif/esp-idf!30574
2024-05-08 19:30:46 +08:00
muhaidong 637fa8abcc fix(wifi): fixed scan get ap number issue 2024-05-08 19:24:36 +08:00
Sarvesh Bodakhe e460ec8d33 fix(wifi): Fix issue in scan when AP advertises WPA and WPA2 with SAE AKM 2024-05-08 16:16:08 +05:30
Aditya Patwardhan af26dc76c8 Merge branch 'feature/update_mbedtls_to_3.6.0_v5.2' into 'release/v5.2'
feat(mbedtls): updated mbedtls version from 3.5.2 to 3.6.0 (v5.2)

See merge request espressif/esp-idf!30669
2024-05-08 12:12:49 +08:00
Aditya Patwardhan 4c7562dd4d Merge branch 'fix/esp_tls_use_64_bit_variable_for_time_v5.2' into 'release/v5.2'
fix(esp-tls): Use 64 bit variable for time instead of 32 bit (v5.2)

See merge request espressif/esp-idf!30624
2024-05-08 10:54:16 +08:00
Alexey Lapshin dcf6b54e94 fix(cxx): use __cxa_throw() stub in case exceptions disabled
Reduces binary size since the linker will drop some code due to --gc-sections.
2024-05-07 21:03:08 +04:00
Alexey Lapshin 1f3f65b40e fix(system): discard eh_frame sections if disabled in sdkconfig 2024-05-07 21:03:04 +04:00
Aditya Patwardhan ee934f7147 fix(esp-tls): Use 64 bit variable for time instead of 32 bit
Use appropriate API available on respective platform for obtaining
    time
    Closes https://github.com/espressif/esp-idf/issues/13593
2024-05-07 21:11:57 +05:30
Aditya Patwardhan 258bb60c38 Merge branch 'bugfix/nvs_enc_test_v5.2' into 'release/v5.2'
fix(tests): correct the flash write length for NVS encrypted test (v5.2)

See merge request espressif/esp-idf!30603
2024-05-07 17:00:52 +08:00
nilesh.kale 5d5113c5f9 feat(mbedtls): updated mbedtls version from 3.5.2 to 3.6.0
This MR updated MbedTLS version to latest version 3.6.0.
2024-05-07 14:16:37 +05:30
luoxu 4e5247bbcf bugfix(ble_mesh): Close BLEQABR23-798 2024-05-07 09:40:51 +08:00
Rahul Tank 12d81c1cf1 fix(nimble): Deselect MBEDTLS_ECP_RESTARTABLE when mbedTLS is used 2024-05-06 15:19:40 +05:30
Jakob Hasse 7d3eeb440b docs(esp_ringbuf): Corrected example code block
* Closes https://github.com/espressif/esp-idf/issues/13730
2024-05-06 10:15:17 +02:00
Mahavir Jain 3bc4d11dbb fix(tests): correct the flash write length for NVS encrypted test
Write only till the embedded file size in the NVS partition. Earlier
the length was kept as the whole partition size and it could result
in accessing embedded rodata beyond the MMU mapped range.
2024-05-02 19:19:50 +08:00
Mahavir Jain 771761a576 fix(tests): remove unused partition NVS bin file 2024-05-02 19:19:50 +08:00
liqigan 43aa421205 fix(bt/bluedroid): Fix HID Device connection failed bug
Closes https://github.com/espressif/esp-idf/issues/13671
2024-04-30 17:58:26 +08:00
wangjialiang b1dfff4010 feat(ble_mesh): Make alarm number configurable 2024-04-30 16:07:26 +08:00
zhiweijian 4dda86b352 fix(nt/bluedroid): Split the device name set functions
feat(bt/bluedroid): added APIs to get/set device name on BT GAP side

change(bt/bluedroid): use BT GAP APIs to set/get device name in bluetooth classic examples

change(bt/bluedroid): use BT/BLE GAP APIs to set/get device name in coexist examples
2024-04-30 12:02:56 +08:00
zhiweijian 7e97c5fb16 fix(ble/bluedroid): Remove esp_bluedroid_init() discard declaration 2024-04-30 12:02:45 +08:00
wuzhenghui a3c20bde5d fix(esp_system): increase 26Mhz esp32c2 slow clock calibration timeout watchdog threshold 2024-04-30 11:48:03 +08:00
daiziyan ffbf04ab2d docs:update the CN version of size.rst in release v5.2 2024-04-29 15:25:16 +08:00
zhanghaipeng e6414b69f5 feat(ble/bluedroid): Support BLE command status debug log 2024-04-26 17:14:07 +08:00
zhanghaipeng 3213978b45 fix(ble/controller): Update esp32 bt-lib (4012cfb)
- Fixed BLE coex assert
- Fixed BLE DTM status and tx count
2024-04-26 16:51:37 +08:00
morris 9b3ae86417 Merge branch 'bugfix/fix_gpio_etm_multi_task_v5.2' into 'release/v5.2'
fix(gpio_etm): allow one GPIO binds to multiple ETM tasks (v5.2)

See merge request espressif/esp-idf!30456
2024-04-25 16:31:22 +08:00
Marius Vikhammer eb7c381761 Merge branch 'fix/vTaskList_backports_v5.2' into 'release/v5.2'
FreeRTOS: vTaskList backports to v5.2

See merge request espressif/esp-idf!30478
2024-04-25 14:45:20 +08:00
Jiang Jiang Jian d82d7039fc Merge branch 'contrib/github_pr_13560_v5.2' into 'release/v5.2'
esp_eth: DP83848: correct link detection to use BMSR (GitHub PR) (v5.2)

See merge request espressif/esp-idf!30451
2024-04-25 11:20:37 +08:00
Jiang Jiang Jian 3d56f1b1b9 Merge branch 'feature/update-gdb-to-14.2_20240403_v5.2' into 'release/v5.2'
feat(tools): update gdb version to 14.2_20240403 (v5.2)

See merge request espressif/esp-idf!30437
2024-04-25 11:19:51 +08:00
Wang Meng Yang dc3e9531c0 Merge branch 'bugfix/bt_bss_in_extram_v5.2' into 'release/v5.2'
fix(bt): Fix missing linker symbol when ESP_ALLOW_BSS_SEG_EXTERNAL_MEMORY enabled(backport v5.2)

See merge request espressif/esp-idf!30378
2024-04-25 10:45:54 +08:00
morris 4cf7387e14 Merge branch 'fix/uart_wakeup_threshold_v5.2' into 'release/v5.2'
fix(uart): Fix mismatch wakeup rising edges required with the threshold configured (v5.2)

See merge request espressif/esp-idf!30462
2024-04-25 10:36:42 +08:00
morris bc4c826ff1 Merge branch 'bugfix/uart_bitrate_max_value_c2_v5.2' into 'release/v5.2'
fix(uart): correct C2 UART_BITRATE_MAX value (v5.2)

See merge request espressif/esp-idf!30459
2024-04-25 10:36:36 +08:00
morris 8374791fd4 Merge branch 'bugfix/gpio_drive_cap_v5.2' into 'release/v5.2'
fix(gpio): add workaround to ensure correct IO drive strength for C3 and S3 (v5.2)

See merge request espressif/esp-idf!30466
2024-04-25 10:36:31 +08:00
Michael (XIAO Xufeng) 78b6d515bb Merge branch 'bugfix/i2c_timeout_issue_v5.2' into 'release/v5.2'
fix(i2c): fix issues related to timeout and alive interval tick (backport v5.2)

See merge request espressif/esp-idf!29979
2024-04-24 23:48:32 +08:00
Erhan Kurubas 38b9e8789f ci(coredump): enable custom stack tests for riscv chips 2024-04-24 15:09:22 +03:00
Darian Leung 27e8db2ae9 fix(freertos): Fix vTaskList() parameter print order
xCoreID was previously printed as the last parameter priority to IDF v5.1, but
was changed to the third paramtere from v5.2 onwards. This commit restores the
correct ordering.

Closes https://github.com/espressif/esp-idf/issues/13675
2024-04-24 17:56:59 +08:00
Omar Chebib 70fc931dd2 fix(freertos): display tasks with no affinity as -1 during tracing
Closes https://github.com/espressif/esp-idf/issues/12858
2024-04-24 17:51:11 +08:00
Wang Mengyang 4d7f9c5d88 change(bt): Add a test for release bt .bss and .data memory to heap
1. use nimble host, initialize and then deinitialize bt stack in the test
2. support tests for different SoC targets and multiple configuration options
2024-04-24 17:24:02 +08:00
Wang Mengyang c136089f4e change(bt): Modify test_app directory layout
- Existing test app is put in a new subdirectory "basic_unit_test"
2024-04-24 17:24:02 +08:00
Wang Mengyang bb6cf16177 change(bt): Rename linker script file names and symbol names
1. rename linker files
2. support memory release in case that ESP_ALLOW_BSS_SEG_EXTERNAL_MEMORY is enabled
3. improve the implementation of memory release
2024-04-24 17:24:02 +08:00
Wang Mengyang a06844d9b1 fix(bt): Fix missing linker symbol when ESP_ALLOW_BSS_SEG_EXTERNAL_MEMORY enabled
1. Closes https://github.com/espressif/esp-idf/issues/10427
2. add two linker script to unify linker script symbols for BT libraries
3. The memory release functions have also been simplified
2024-04-24 17:24:02 +08:00
Jiang Jiang Jian 5ec51688a6 Merge branch 'fix/fix_some_esp32c6_twt_bugs_v5.2' into 'release/v5.2'
fix(wifi): fix some esp32c6 twt bugs (Backport v5.2)

See merge request espressif/esp-idf!30401
2024-04-24 17:23:05 +08:00
Song Ruo Jing 64984b7b71 fix(gpio): add workaround to ensure correct IO drive strength for C3 and S3 2024-04-24 16:58:06 +08:00
Song Ruo Jing 15962a953a fix(uart): Fix mismatch wakeup rising edges required with the threshold configured
Closes https://github.com/espressif/esp-idf/issues/12586
2024-04-24 16:25:54 +08:00
Song Ruo Jing 1ed2f223fb fix(uart): correct C2 UART_BITRATE_MAX value 2024-04-24 16:19:41 +08:00
Song Ruo Jing 373e585bb7 fix(gpio_etm): allow one GPIO binds to multiple ETM tasks 2024-04-24 16:01:34 +08:00
Karl Palsson 52702cf886 fix(esp_eth): dp83848: correct link detection to use BMSR
Reading the link state via PHYSTS was incorrect, as it only reflects the
link state bit from BMSR.  BMSR latches link down events, and are not
cleared without being read.  (See 802.3-2008 section 2, section 22.2.4.2.13)
This leads to the original DP828xx code only supporting link up, then a
single link down event.

Switch to reading the link state via BMSR, but continuing to read the
negotiation results via PHYSTS and ANLPAR.  This is inline with
LAN8720x, RTL8201, KSZ80xx phy drivers, and other opensource drivers for
the DP838xx family of devices.

Tested on a private board with a DP83825i PHY.  No publically available
boards using the original DP83848 are known of for testing.

Signed-off-by: Karl Palsson <karl.palsson@marel.com>
2024-04-24 09:48:18 +02:00
Island 5fa34283c0 Merge branch 'feat/optimzie_ble_ctrl_memory_v5.2' into 'release/v5.2'
ble: support only legacy adv and slave function on esp32c2 (v5.2)

See merge request espressif/esp-idf!30334
2024-04-24 14:18:19 +08:00
xuxiao 9897fd9c87 fix(wifi): fix some esp32c6 wifi bugs (Backport v5.2) 2024-04-24 14:15:04 +08:00
Jiang Jiang Jian 8b4177f148 Merge branch 'bugfix/mgmt_gcmp_issue_v5.2' into 'release/v5.2'
fix(wifi): Fix GCMP encryption for mgmt packets and other bugfixes (Backport v5.2)

See merge request espressif/esp-idf!30439
2024-04-24 11:06:54 +08:00
zwl 275eab4f5d ble: update sdkconfig.defaults.esp32c6 file for blufi example 2024-04-24 10:50:40 +08:00
zwl 05521c918d ble: update sdkconfig.defaults.esp32c2 file for blufi example 2024-04-24 10:50:40 +08:00
zwl e99f45b4c6 ble: optimize bt cmakelists.txt file 2024-04-24 10:50:40 +08:00
zwl a64a528cb8 ble: support only legacy adv and slave function on esp32c2 2024-04-24 10:50:40 +08:00
Shu Chen 66c164b90b Merge branch 'backport/openthread_mtd_joiner_config_52' into 'release/v5.2'
fix(openthread): backport some openthread features(backportv5.2)

See merge request espressif/esp-idf!30419
2024-04-24 10:40:17 +08:00
Jiang Jiang Jian d4e32532df Merge branch 'bugfix/optimize_hidh_connection_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fix HID Host connection bugs[backport 5.2]

See merge request espressif/esp-idf!30425
2024-04-24 10:23:45 +08:00
Jiang Jiang Jian 5aad8507cb Merge branch 'bugfix/add_workaround_for_ble_rtc_hw_issue_backport_v5.2' into 'release/v5.2'
fix(ble): add workaround for ble RTC not enabled issue (v5.2)

See merge request espressif/esp-idf!30132
2024-04-24 10:16:49 +08:00
Jiang Jiang Jian 1c09bc1675 Merge branch 'bugfix/hf_local_param_null_v5.2' into 'release/v5.2'
fix(bt/bluedroid): allocate memory for control block of HFP Audio Gateway (v5.2)

See merge request espressif/esp-idf!30440
2024-04-24 10:15:47 +08:00
Jin Cheng 89dbe5f6dc fix(bt/bluedroid): allocate memory for control block of HFP Audio Gateway in its initialization when dynamic memory is wnabled 2024-04-24 08:25:24 +08:00
Kapil Gupta 5ce43f68f3 fix(esp_wifi): Correct action frame type in send_mgmt_frame API 2024-04-24 01:52:35 +05:30
Sarvesh Bodakhe 3ba5cb9687 fix(wifi): Add bugfix to avoid RSNXE and KDE mismatch during 4-way-handshake 2024-04-24 01:48:16 +05:30
Kapil Gupta 280ec09b03 fix(wifi): Fix encryption/decryption issue for mgmt packets
* Fix issues related to mgmt packets encryption in GCMP
* Fix issue of wrong decryption of mgmt packets when PMF is enabled
* Fix softAP bug in handling of SAE Reauthentication
2024-04-24 01:48:06 +05:30
Alexey Lapshin d2e5b33e2c feat(tools): update gdb version to 14.2_20240403 2024-04-23 22:32:39 +04:00
Erhan Kurubas fca47d4385 doc(jtag): update esp32p4 jtag debugging guide 2024-04-23 20:52:11 +03:00
Erhan Kurubas 37554b7267 feat(sysview): enable esp32p4 examples 2024-04-23 20:51:01 +03:00
sonika.rathi 92be115237 docs(vfs): update esp_vfs_register_fd api description
Closes https://github.com/espressif/esp-idf/issues/11586
2024-04-23 15:24:58 +02:00
liqigan 98b744c85b fix(bt/bluedroid): Fix HID Host connection bugs
1. Fix is_orig value inconsistency for HIDH open event
2. Fix the error state for repeat connection of the same device
2024-04-23 21:04:50 +08:00
cjin ca79a7d878 bugfix(ble): workaround to avoid ble rtc not work when power up 2024-04-23 20:55:13 +08:00
Xu Si Yu d4a361bb71 feat(openthread): support openthread ephemeral key 2024-04-23 20:26:56 +08:00
Dávid Fehér d574cea5e5 fix(openthread): Fix openthread mtd joiner config
* Fix openthread-core-esp32x-mtd-config.h: OPENTHREAD_CONFIG_JOINER_ENABLE macro value

* On ESP32 MTD devices Joiner role functionality was not working even if 'Joiner enable' was checked in SDK config because 0 was defined in OPENTHREAD_CONFIG_JOINER_ENABLE macro. Value modified to 1 to resolve the issue. Tested and working on ESP32 H2 MTD device.

* Closes: https://github.com/espressif/esp-idf/pull/13473
2024-04-23 20:22:35 +08:00
Rahul Tank 2ba5320112 Merge branch 'bugfix/rpa_timeout_api_v5.2' into 'release/v5.2'
fix(nimble): Expose API to set RPA Timeout (v5.2)

See merge request espressif/esp-idf!30408
2024-04-23 20:08:21 +08:00
Jiang Jiang Jian 85e5f0e546 Merge branch 'bugfix/directed_bssid_probe_req_v52' into 'release/v5.2'
Send unicast probe requests if bssid is known during scan(v5.2)

See merge request espressif/esp-idf!30297
2024-04-23 17:14:48 +08:00
Roland Dobai f0e5c92516 Merge branch 'fix/exit_asyncio_gracefully_v5.2' into 'release/v5.2'
fix: exit gracefully when process started via asyncio is terminated (v5.2)

See merge request espressif/esp-idf!30383
2024-04-23 14:46:02 +08:00
Rahul Tank 28157cf1e2 fix(nimble): Expose API to set RPA Timeout 2024-04-23 11:24:10 +05:30
jgujarathi 0a13c60466 fix(esp_wifi): Send unicast probe requests if bssid is known during scan 2024-04-23 11:18:24 +05:30
Shu Chen 1b9597f961 Merge branch 'fix/make_eventfd_case_exit_normally_5_2' into 'release/v5.2'
fix(vfs): make case eventfd_select_block exit normally

See merge request espressif/esp-idf!29928
2024-04-23 10:07:18 +08:00
Xu Si Yu fd36f6fcac fix(ci): fix wrong path of ot sleep case 2024-04-22 20:24:05 +08:00
Xu Si Yu cea24c7137 feat(openthread): add max csmabackoffs for transmission 2024-04-22 20:24:05 +08:00
Xu Si Yu c3398f3373 fix(vfs): make case eventfd_select_block exit normally 2024-04-22 20:24:05 +08:00
Shu Chen 85315941e3 Merge branch 'fix/ieee802154_include_header_issue_v5.2' into 'release/v5.2'
Fix/ieee802154 include header issue (backport v5.2)

See merge request espressif/esp-idf!30332
2024-04-22 20:03:10 +08:00
xiaqilin 9e9aeb64be fix(ieee802154): fix ieee802154 include header file issue and unused value issue 2024-04-22 19:15:48 +08:00
xiaqilin b89f08a615 fix(ieee802154): fix ieee802154 next operation acquire lock in interrupt 2024-04-22 19:15:48 +08:00
Jiang Jiang Jian 470d5406ec Merge branch 'feat/sleep_retention_depends_power_state_management_v5.2' into 'release/v5.2'
backport v5.2: sleep retention multiple modules initialization and dependency management

See merge request espressif/esp-idf!30344
2024-04-22 19:14:10 +08:00
Frantisek Hrbata 4bc2985aa3 fix: exit gracefully when process started via asyncio is terminated
Currently when process is started through asyncio Runner and it is termited
e.g. with SIGINT(ctrl+c) a traceback is printed instead of gracefully
exit.

Exception ignored in: <function BaseSubprocessTransport.__del__ at 0x7fe980970900>
Traceback (most recent call last):
  File "/usr/lib64/python3.12/asyncio/base_subprocess.py", line 129, in __del__
    self.close()
  File "/usr/lib64/python3.12/asyncio/base_subprocess.py", line 107, in close
    proto.pipe.close()
  File "/usr/lib64/python3.12/asyncio/unix_events.py", line 568, in close
    self._close(None)
  File "/usr/lib64/python3.12/asyncio/unix_events.py", line 592, in _close
    self._loop.call_soon(self._call_connection_lost, exc)
  File "/usr/lib64/python3.12/asyncio/base_events.py", line 793, in call_soon
    self._check_closed()
  File "/usr/lib64/python3.12/asyncio/base_events.py", line 540, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed

This is caused because asyncio Runner context in asyncio.run is closing the event
loop and if exception is unhandled in coroutine(run_command) the transport is not
closed before the even loop is closed and we get RuntimeError: Event loop is closed
in the transport __del__ function because it's trying to use the closed
even loop.

Let's catch asyncio.CancelledError in case the process we are trying to
read from is terminated, print message, let the asyncio finish and exit
gracefully.

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

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-04-22 11:25:51 +02:00
Wang Meng Yang b0eef7f889 Merge branch 'bugfix/crash_after_bluedroid_deinit_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fixed controller using null pointer after bluedroid deinit(v5.2)

See merge request espressif/esp-idf!30327
2024-04-22 15:25:59 +08:00
Li Shuai f20186fe02 fix: modify some typos to ensure CI pipeline run pass 2024-04-22 12:49:34 +08:00
Li Shuai 4066844908 fix(example): fixed app partition is too small for binary size 2024-04-22 12:49:34 +08:00
xiaqilin ea3094a9a6 change(ieee802154): add sleep deinit API 2024-04-22 12:49:34 +08:00
Li Shuai 71d37432da change(esp_hw_support): use power down peripheral in light sleep option to determine TOP to off 2024-04-22 12:49:34 +08:00
Li Shuai 8f9090b351 change(esp_hw_support): add adc retention module and it is dependencies on the clock modem 2024-04-22 12:49:34 +08:00
Li Shuai 0e28063291 change(esp_hw_support): dump sleep retention context to io stream 2024-04-22 12:49:34 +08:00
Li Shuai 376b2f74ed change(ieee802154): use new sleep retention api to implement ieee802154 mac retention 2024-04-22 12:49:33 +08:00
Li Shuai 9f52809629 change(bt): use new retention api to implement BT mac and bb retention 2024-04-22 12:49:33 +08:00
Li Shuai 9c8b54b886 change(esp_hw_support): use new retention api to implement gdma retention 2024-04-22 12:49:33 +08:00
Li Shuai 4faf042c21 change(wifi): use new retention api to implement wifi mac and bb retention 2024-04-22 12:49:31 +08:00
Adam Múdry 58a69e7422 fix(storage/littlefs): Bump version to v1.14.4 (core v2.9.1)
Fixes a bug which causes DivideByZero exception when the filesystem is full
2024-04-19 12:54:40 +02:00
Li Shuai 9a51752d4d change(esp_hw_support): modify system and modem clock to support modem domain power down 2024-04-19 14:08:15 +08:00
Li Shuai e7d6748aec change(esp_hw_support): some system peripherals to use a retention module number 2024-04-18 19:26:30 +08:00
Li Shuai a2cbe3f0a3 feat(esp_hw_support): implement of sleep retention module initialize and dependency management 2024-04-18 19:26:30 +08:00
Li Shuai f66e3f031d change(esp_hw_support): modify the style of module argument from bitmap to number 2024-04-18 19:26:28 +08:00
Jiang Jiang Jian 9efa26a23f Merge branch 'feature/disable_pmk_caching_v5.2' into 'release/v5.2'
feat(esp_wifi): Provide API to disable PMK caching (v5.2)

See merge request espressif/esp-idf!30289
2024-04-18 16:58:19 +08:00
Jiang Jiang Jian 3b9d5e120e Merge branch 'doc/update_espnow_example_v5.2' into 'release/v5.2'
docs(wifi): change the magic varible from int to uint32_t on the receiving side (v5.2)

See merge request espressif/esp-idf!30307
2024-04-18 14:47:19 +08:00
Marius Vikhammer aaf3f4a7c3 Merge branch 'contrib/github_pr_13022_v5.2' into 'release/v5.2'
fix(freertos): Fix broken portable macro portTRY_ENTER_CRITICAL_SAFE() (v5.2)

See merge request espressif/esp-idf!30314
2024-04-18 11:56:33 +08:00
Mahavir Jain 082c713069 Merge branch 'fix/incorrect_connection_closure_parttool_test_v5.2' into 'release/v5.2'
ci(otatool): fix test failure caused due to closing connection incorrectly (v5.2)

See merge request espressif/esp-idf!30291
2024-04-18 11:55:17 +08:00
Li Shuai f5c8cc2bef change(esp_hw_support): rename interface name of get modules bitmap to get created modules 2024-04-18 11:41:17 +08:00
Li Shuai fd47ea34bb change(esp_hw_support): rename sleep retention module to created module 2024-04-18 11:32:04 +08:00
Island b19e27dd48 Merge branch 'bugfix/fixed_coex_asset_on_esp32c2_v5.2' into 'release/v5.2'
Bugfix/fixed coex asset on esp32c2 v5.2

See merge request espressif/esp-idf!30302
2024-04-18 10:54:20 +08:00
Jiang Jiang Jian 22fbaf65fd Merge branch 'bugfix/fixed_some_wifi_bugs_240417_v5.2' into 'release/v5.2'
fix(wifi): fixed some wifi issues 240417(Backport v5.2)

See merge request espressif/esp-idf!30315
2024-04-18 10:46:24 +08:00
Island e362358ea3 Merge branch 'bugfix/fix_ble_appearance_v5.2' into 'release/v5.2'
Fixed BLE appearance category ranges (v5.2)

See merge request espressif/esp-idf!30285
2024-04-18 10:44:18 +08:00
xiongweichao 47d542acaa fix(bt/bluedroid): Fixed crash after bluedroid deinit
hci_host_env.downstream_data_ready is set to NULL during bluedroid deinit,
causing the controller to use a null pointer when calling callback.
2024-04-18 10:27:45 +08:00
Roland Dobai ea967cf2fb Merge branch 'docs/external_flash_5.2' into 'release/v5.2'
docs(idf_py): Describe the option to configure esptool.py with --extra-args (backport to v5.2)

See merge request espressif/esp-idf!30323
2024-04-18 01:17:43 +08:00
zhanghaipeng c079772799 fix(ble/bluedroid): Fixed set BLE appearance value 2024-04-17 20:41:14 +08:00
Radim Karniš b6b04bbeff docs(idf_py): Describe the option to configure esptool.py with --extra-args 2024-04-17 14:38:44 +02:00
Island 568b693493 Merge branch 'bugfix/ble_mesh_fsm_list_init_v5.2' into 'release/v5.2'
bugfix/ble_mesh_fsm_list_init (v5.2)

See merge request espressif/esp-idf!30282
2024-04-17 20:10:01 +08:00
David Čermák 806b14dd22 Merge branch 'update_mqtt_v5.2' into 'release/v5.2'
Update Mqtt client (v5.2)

See merge request espressif/esp-idf!30273
2024-04-17 20:08:23 +08:00
muhaidong a07bce4fcc fix(wifi): fixed lmacEndFrameExchangeSequence assert issue 2024-04-17 19:16:55 +08:00
muhaidong 0e34a993d0 fix(wifi): fixed some wifi issue
1. sync multi antenna gpio register from IDF
2. fixed multicast address qos frames issue
3. fixed task watchdog got triggered by esp_wifi_stop issue
2024-04-17 19:16:24 +08:00
muhaidong 458ce7d4cf fix(wifi): fix multicast address qos frames issue 2024-04-17 19:15:46 +08:00
Andy Lin 6bcf47386d fix(freertos): Fix broken portable macro portTRY_ENTER_CRITICAL_SAFE()
This commit fixes a bug where the portTRY_ENTER_CRITICAL_SAFE() for the
Xtensa and RISC-V FreeRTOS ports were broken as it did not correctly use
the timeout parameter.

Merges: https://github.com/espressif/esp-idf/pull/13022
2024-04-17 12:26:50 +02:00
Wang Meng Yang 228f92211b Merge branch 'feat/set_get_lpclk_src_v5.2' into 'release/v5.2'
feat(ble): Added API to get low power clock source(v5.2)

See merge request espressif/esp-idf!30107
2024-04-17 18:01:47 +08:00
morris 61210271a8 Merge branch 'bugfix/improve_lp_uart_test_docs' into 'release/v5.2'
refactor(uart): add support to be able to test LP_UART port (v5.2)

See merge request espressif/esp-idf!30175
2024-04-17 17:46:48 +08:00
KonstantinKondrashov cbba78ee76 feat(ipc): Adds a new no blocking IPC call 2024-04-17 11:45:39 +03:00
KonstantinKondrashov 4f03e0241e fix(spi_flash): Fix stuck during flash operation
When a task was not pinned to a certain CPU.
2024-04-17 11:38:44 +03:00
zhangyanjiao 830464eee7 docs(wifi): update the docmentation for sniffer API
Closes https://github.com/espressif/esp-idf/issues/10740
2024-04-17 16:17:00 +08:00
zhangyanjiao 83f272ca4f docs(wifi): change the magic varible from int to uint32_t on the receiving side
Closes https://github.com/espressif/esp-idf/issues/10912
2024-04-17 16:16:49 +08:00
Rahul Tank 01902148da Merge branch 'fix/removed_termination_upon_sign_write_fail_v5.2' into 'release/v5.2'
fix(nimble): Removed Code for Termination Upon Signed Write Operation Failure (v5.2)

See merge request espressif/esp-idf!30276
2024-04-17 16:08:26 +08:00
Omar Chebib dcc7a41ad8 fix(i2c): fix issues related to timeout and alive interval tick
Fixes https://github.com/espressif/esp-idf/issues/4999

Former usage of I2C_CMD_ALIVE_INTERVAL_TICK macro overrode the ticks_to_wait
parameter when the latter was too big
2024-04-17 15:52:56 +08:00
zwl 73f6ca8ebf ble: fixed an occasional assertion issue in coexistence scenarios on ESP32C2 2024-04-17 14:59:31 +08:00
zwl cc213b7c61 ble: fixed the bt cmakelist error when use nimble host only 2024-04-17 14:59:21 +08:00
harshal.patil 42f244ae61 ci(otatool): fix test failure caused due to closing connection incorrectly 2024-04-17 10:13:35 +05:30
Kapil Gupta f9feb970b9 feat(esp_wifi): Provide API to disable PMK caching 2024-04-17 09:40:22 +05:30
luoxu 9bd8d5f860 fix(ble_mesh): rpr server and df bug fixed(10f7fdc1a9) 2024-04-17 11:09:54 +08:00
morris b60280e2cf Merge branch 'bugfix/dm9051_phy_axs_wait_v5.2' into 'release/v5.2'
fix(esp_eth): made access to PHY registers for DM9051 more robust (v5.2)

See merge request espressif/esp-idf!30279
2024-04-17 10:41:16 +08:00
Jiang Jiang Jian 8c52152369 Merge branch 'bugfix/fix_some_ble_bugs_cjh_v5.2' into 'release/v5.2'
Fixed some BT and BLE bugs 2404 (backport v5.2)

See merge request espressif/esp-idf!30258
2024-04-17 10:37:38 +08:00
morris f3ec76b75b Merge branch 'doc/auto_suspend_disabled_by_default_v5.2' into 'release/v5.2'
doc(flash): fix auto suspend enabled by default issue (v5.2)

See merge request espressif/esp-idf!30253
2024-04-17 10:03:56 +08:00
Ondrej Kosta 5c53238853 fix(esp_eth): made access to PHY registers for DM9051 more robust 2024-04-16 16:13:17 +02:00
Xiao Xufeng a255e67a84 doc(flash): fix auto suspend enabled by default issue 2024-04-16 20:49:31 +08:00
Sumeet Singh 234ad8cd1e fix(nimble): Removed code for termination upon signed write operation failure 2024-04-16 17:54:51 +05:30
Euripedes Rocha 3ba9de778e change(mqtt): Update esp-mqtt submodule
git log --oneline e6afdb4025fe018ae0add44e3c45249ea1974774..aa6f889fb4f6f743b3a550aa587713aabbdca1fc

Detailed description of the changes:
* fix: regard reason codes greater than 0x80 as failures.
  - See merge request espressif/esp-mqtt!205
  - See commit https://github.com/espressif/esp-mqtt/commit/e7b9aa5
* PR: Return on allocation failure
  - See merge request espressif/esp-mqtt!204
  - set last_retransmit to now when first connected (espressif/esp-mqtt@c06f154)
  - add return to faile_message, avoid segment fault (espressif/esp-mqtt@37478a9)
* Minor warning of unused variable
  - See merge request espressif/esp-mqtt!203
  - fix: Minor warning of unused variable (espressif/esp-mqtt@726e5f2)
* Cover the case for SOC without MAC address
  - See merge request espressif/esp-mqtt!202
  - fix: Cover the case for SOC without MAC address (espressif/esp-mqtt@5e3abd4)
* Make state and size atomic
  - See merge request espressif/esp-mqtt!199
  - feat: Make state and size atomic (espressif/esp-mqtt@891380b)
* fix: Adjust the log level on few messages to avoid cluthering the logs
  - See merge request espressif/esp-mqtt!201
  - See commit https://github.com/espressif/esp-mqtt/commit/5c17fc4
* fix: Make automatic client_id soc dependent
  - See merge request espressif/esp-mqtt!200
  - See commit https://github.com/espressif/esp-mqtt/commit/657a2ae
* Clarify data that users need to take care of lifetime.
  - See merge request espressif/esp-mqtt!197
  - docs: Clarify data that users need to take care of lifetime. (espressif/esp-mqtt@371f594)
* Update mqtt_client.h
  - See merge request espressif/esp-mqtt!198
  - add const char * to esp_mqtt_client_subscribe() generic macros (espressif/esp-mqtt@acdb66d)
* client: Report failure on timeout in mid-message timeout (GitHub PR)
  - See merge request espressif/esp-mqtt!165
  - Merges https://github.com/espressif/esp-mqtt/pull/232
  - client: Report failure on timeout in mid-message timeout (espressif/esp-mqtt@ddde502)
* fix: Move buffer initialization to set config
  - See merge request espressif/esp-mqtt!194
  - Closes https://github.com/espressif/esp-mqtt/issues/267
  - See commit https://github.com/espressif/esp-mqtt/commit/ea0df31
* Fix check for message creation when processing publish
  - See merge request espressif/esp-mqtt!195
  - fix: Deliver publish verifies if message was created only for QoS >0
        (espressif/esp-mqtt@6780056)
2024-04-16 13:43:47 +02:00
Wang Meng Yang 40d398199f Merge branch 'feature/add_api_to_send_vendor_hci_cmd_v5.2' into 'release/v5.2'
feat(bt/bluedroid): add api to send vendor hci command (backport v5.2)

See merge request espressif/esp-idf!30127
2024-04-16 17:48:20 +08:00
Jiang Jiang Jian a7d981dc5e Merge branch 'fix/gcov_fault_v5.2' into 'release/v5.2'
fix(gcov): fix exceptions on gcov task_tick_hook (v5.2)

See merge request espressif/esp-idf!30025
2024-04-16 15:47:07 +08:00
Jiang Jiang Jian 222a254e49 Merge branch 'support/esp_sleep_enable_ext1_wakeup_io_v5.2' into 'release/v5.2'
Support/esp sleep enable ext1 wakeup io(backport v5.2)

See merge request espressif/esp-idf!30243
2024-04-16 15:28:53 +08:00
Guillaume Souchere 9bd81f4d5c fix(console): Fsync not propagated to secondary output
Calls to fsync need to also be propagated to secondary
output when CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG
is enabled.

Closes https://github.com/espressif/esp-idf/issues/13162
2024-04-16 08:12:41 +02:00
chenjianhua 57de44f45b feat(bt): Update bt lib for ESP32-C3 and ESP32-S3(c23ab4c)
- Support QA test vendor HCI command and event
2024-04-16 11:33:19 +08:00
baohongde 41aa38ddf7 fix(ble/controller): Fixed LoadProhibited after bluetooth deinit 2024-04-16 11:33:11 +08:00
chenjianhua b69a5fe27c fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(5274796)
- Fixed extended uncoded and coded scan scheduling
- Add config for channel assessment and ping procedure
- Clear random address for extended advertising
- Add periodic advertising list check
- Fixed periodic advertising data setting with zero length
2024-04-16 11:33:05 +08:00
baohongde ee47bebfad feat(ble/controller): Add coexist schm for BLE 2024-04-16 11:32:54 +08:00
chenjianhua 1265a44c17 feat(bt): Update bt lib for ESP32(e314148)
- Support QA test vendor HCI command and event
2024-04-16 11:32:35 +08:00
zhanghaipeng 51f7ddc223 fix(bt/controller): Update bt lib for ESP32(5838b68)
- Fixed BLE scan assert
 - Fixed assert(10,0) in lld_pdu
 - Add BLE scan backoff in menuconfig
2024-04-16 11:32:22 +08:00
Jin Cheng 2377b40784 fix(bt/controller): Use embedded assembly to get access to DPORT registers 2024-04-16 11:32:09 +08:00
Shu Chen 01d5030d5e Merge branch 'fix/fix_ot_br_partition_table_5_2' into 'release/v5.2'
fix(openthread): increase factory app size in ot_br partition table (backport to 5.2)

See merge request espressif/esp-idf!30248
2024-04-16 10:47:03 +08:00
Shu Chen a24ebb4538 Merge branch 'feature/ot_support_mc_iperf_52' into 'release/v5.2'
feat(openthread): support managed component iperf(backport 5.2)

See merge request espressif/esp-idf!30245
2024-04-16 10:39:00 +08:00
Marius Vikhammer 62e9dfe13c Merge branch 'fix/missing-block-owner-in-heap-init-alloc_v5.2' into 'release/v5.2'
fix(heap): Add block owner to allocs in heap_caps_init() (backport v5.2)

See merge request espressif/esp-idf!30215
2024-04-16 10:19:23 +08:00
Xu Si Yu 28a6a0cc33 fix(openthread): increase factory app size in ot_br partition table 2024-04-15 20:54:56 +08:00
zwx 80409743f1 feat(openthread): support managed component iperf 2024-04-15 20:28:13 +08:00
Lou Tianhao 063ea6f1ef docs(pm): add description for ext1 2024-04-15 20:17:06 +08:00
Lou Tianhao 640ce31dae change(pm): add ext1 new api 2024-04-15 20:16:49 +08:00
gaoxu 1df5f07eee docs(uart): update lp uart uart programming guide 2024-04-15 19:39:38 +08:00
Song Ruo Jing c55a07bf57 refactor(uart): add support to be able to test LP_UART port
Increase LP_UART_EMPTY_THRESH_DEFAULT value to 4. The original value
could cause the FIFO become empty before filling next data into the FIFO
when the buadrate is high. TX_DONE interrupt would raise before actual
transmission complete in such case.
2024-04-15 19:39:30 +08:00
morris 408a16b21a Merge branch 'fix/usb_uvc_psram' into 'release/v5.2'
fix(usb/uvc): Add PSRAM private requires

See merge request espressif/esp-idf!30223
2024-04-15 15:18:35 +08:00
Jiang Jiang Jian 8096a16765 Merge branch 'bugfix/spp_crash_after_deint_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fixed SPP crash due to the connection not being disconnected before esp_spp_deinit was called(v5.2)

See merge request espressif/esp-idf!30082
2024-04-15 11:39:01 +08:00
Jiang Jiang Jian 8352be2027 Merge branch 'fix/add_phy_private_dslp_callback_v5.2' into 'release/v5.2'
fix(esp_hw_support): move deepsleep phy callback before PLL disable (v5.2)

See merge request espressif/esp-idf!30015
2024-04-15 11:38:31 +08:00
Jiang Jiang Jian 5f1187dc92 Merge branch 'bugfix/fix_coded_phy_s8_tx_issue_v5.2' into 'release/v5.2'
fix(esp_phy): fixed BLE coded phy s8 tx issue in coexistence scenarios (backport v5.2)

See merge request espressif/esp-idf!30190
2024-04-15 11:37:08 +08:00
zhiweijian a43f54ccc0 fix(ble/bluedroid): Fixed adv not restart due to disconnection reason 0x3e 2024-04-13 10:36:44 +08:00
zhiweijian 9b72c4ef54 feat(bt/common): Add bluerooth hci layer data stream record 2024-04-13 10:35:23 +08:00
zhiweijian 0efee1745c feat(bt/bluedroid): add api to setnd vendor hci command 2024-04-13 10:28:54 +08:00
Tomas Rezucha 5be1323c0a fix(usb/uvc): Add PSRAM private requires 2024-04-12 14:12:29 +02:00
Rahul Tank f9163c6d43 Merge branch 'bugfix/fix_cccd_compilation_warning_v5.2' into 'release/v5.2'
fix(nimble): Fix compilation issues when CCCD is set to 0 (v5.2)

See merge request espressif/esp-idf!30211
2024-04-12 20:06:48 +08:00
Guillaume Souchere 3e214bc2f4 fix(heap): Loop break on failed alloc
don't check for heaps_array != NULL in the loop.
The check is done after the loop since it is allowed
for the allocation to fail until finding aa ssuitable
heap.
2024-04-12 12:27:13 +02:00
Aditya Patwardhan c5649deaca Merge branch 'bugfix/howsmyssl_cert_update_v5.2' into 'release/v5.2'
fix(examples): update root certificate for howsmyssl endpoint (v5.2)

See merge request espressif/esp-idf!30203
2024-04-12 17:45:29 +08:00
Guillaume Souchere a12a681794 test(heap): Extend task tracking test with task handle check
Add a test to make sure that the task handles returned in the
task tracking information are valid task handles.

To verify that, feed the task name returned by pcTaskGetName()
using the task handle under test to xTaskGetHandle() and make
sure the task handle returned matches the one under test.
2024-04-12 09:27:41 +02:00
Guillaume Souchere 26160a217e fix(heap): Add block owner to allocs in heap_caps_init
Add the block owner field in the  memory allocated in
heap_caps_init() to avoid parsing error wheen using
the task tracking feature.

Closes https://github.com/espressif/esp-idf/issues/13467
2024-04-12 09:27:31 +02:00
Rahul Tank 2a985b3c65 fix(nimble): Fix compilation issues when CCCD is set to 0 2024-04-12 12:29:29 +05:30
Mahavir Jain d23876f3e4 Merge branch 'esp32p4/deterministic_ecdsa_support_v5.2' into 'release/v5.2'
Add operation successful check and reset dependent peripherals in ECDSA (v5.2)

See merge request espressif/esp-idf!30180
2024-04-12 14:31:43 +08:00
Rahul Tank 709b74c033 Merge branch 'bugfix/fix_cve_2024_24746_v5.2' into 'release/v5.2'
fix(nimble): Fix for Vulnerability CVE_2024_24746 (v5.2)

See merge request espressif/esp-idf!30199
2024-04-12 13:21:08 +08:00
Mahavir Jain 3e761525c3 fix(examples): update root certificate for howsmyssl endpoint
This fixes CI failure seen because of cert migration of howsmyssl
endpoint from previous "DST Root CA X3" (cross-signed) to "ISRG Root X1".
2024-04-12 11:11:44 +08:00
xiongweichao a34ff0eca3 fix(bt/bluedroid): Fix SPP crash after deinit
- The disconnection event comes up after spp disable is completed, so a null pointer is used.
2024-04-12 09:13:04 +08:00
Rahul Tank 38dd5acc71 fix(nimble): Fix for Vulnerability CVE_2024_24746 2024-04-11 20:00:49 +05:30
Rahul Tank abd21843e5 Merge branch 'feat/add_data_len_chg_evt_v5.2' into 'release/v5.2'
fix(nimble): Add support for data length change evt (v5.2)

See merge request espressif/esp-idf!30182
2024-04-11 21:11:10 +08:00
linruihao 023cbd60ac fix(esp_phy): update phylib for C3, S3, C2 and C6
- fixed BLE coded phy s8 tx issue in coexistence scenarios
- fixed ESP32-C3 and ESP32-S3 BLE RX issue
- optimize ESP32-C3 and ESP32-S3 light sleep current
2024-04-11 17:37:26 +08:00
Marius Vikhammer 9b2c0ffe79 Merge branch 'fix/log_buffer_v5.2' into 'release/v5.2'
fix(log): Fixed incorrect argument type in hexdump log functions (v5.2)

See merge request espressif/esp-idf!29776
2024-04-11 16:42:00 +08:00
harshal.patil bd826801ba fix(mbedtls/ecdsa): Fix dependant peripheral's enable and reset 2024-04-11 13:46:59 +05:30
Jiang Jiang Jian d2fb80529c Merge branch 'bugfix/config_sae_compile_error_v5.2' into 'release/v5.2'
fix(wpa_supplicant): Compile error when CONFIG_SAE is disabled (v5.2)

See merge request espressif/esp-idf!30177
2024-04-11 15:51:07 +08:00
Rahul Tank ea6520ee81 fix(nimble): Add support for data length change evt 2024-04-11 12:36:15 +05:30
harshal.patil 85186042c3 feat(hal/ecdsa): Add HAL API for operation successful check 2024-04-11 12:33:06 +05:30
Shreyas Sheth 9004c42f29 fix(wpa_supplicant): Compile error when CONFIG_SAE is disabled
Closes https://github.com/espressif/esp-idf/issues/13553
2024-04-11 11:18:50 +05:30
Rahul Tank 33c631570e Merge branch 'bugfix/fix_dtm_num_pkt_size_v5.2' into 'release/v5.2'
fix(nimble): Fix the size of num_packets in dtm event (v5.2)

See merge request espressif/esp-idf!30144
2024-04-11 13:25:03 +08:00
Aditya Patwardhan b359cd85f1 Merge branch 'feature/mbedtls_error_str_config_v5.2' into 'release/v5.2'
feat(mbedtls): add kconfig option for MBEDTLS_ERROR_C (v5.2)

See merge request espressif/esp-idf!30104
2024-04-11 11:53:24 +08:00
morris 0f505ddf8e Merge branch 'bugfix/fix_rtc_cntl_v5.2' into 'release/v5.2'
fix(rtc_cntl_reg.h): fix RTC_CNTL_SLAVE_PD_M(v5.2)

See merge request espressif/esp-idf!30171
2024-04-11 11:40:43 +08:00
zlq 27322a8597 fix(rtc_cntl_reg.h): fix RTC_CNTL_SLAVE_PD_M(v5.2) 2024-04-10 19:55:51 +08:00
Jiang Jiang Jian 7b97a3de61 Merge branch 'fix/fix_pmu_power_domain_initialize_order_v5.2' into 'release/v5.2'
fix(esp_hw_support): fix pmu power domain initialize order (v5.2)

See merge request espressif/esp-idf!30153
2024-04-10 13:57:13 +08:00
morris ec06c11a19 Merge branch 'bugfix/gptimer_alarm_config_in_sram_v5.2' into 'release/v5.2'
feat(gptimer): check the alarm config is not in flash (v5.2)

See merge request espressif/esp-idf!30134
2024-04-10 13:48:34 +08:00
wuzhenghui 8f896f07c5 fix(esp_hw_support): fix pmu power domain initialize order 2024-04-10 10:10:13 +08:00
Rahul Tank 8f175bf638 fix(nimble): Fix the size of num_packets in dtm event 2024-04-09 19:00:15 +05:30
morris 724165bd35 feat(gptimer): check the alarm config is not in flash
related to https://github.com/espressif/esp-idf/issues/13543
2024-04-09 17:29:47 +08:00
morris 69359f4dfb Merge branch 'bugfix/unsupport_partial_receive_on_esp32_v5.2' into 'release/v5.2'
fix(rmt): Fix the RMT RX filter not working correctly on esp32/s2 (v5.2)

See merge request espressif/esp-idf!30077
2024-04-09 14:28:38 +08:00
Marius Vikhammer 5753eba7c4 Merge branch 'fix/heap-calloc-fail-wrong-size_v5.2' into 'release/v5.2'
fix(heap): Wrong size propagated in alloc fail callback of heap_caps_calloc() (backport v5.2)

See merge request espressif/esp-idf!30090
2024-04-09 12:06:19 +08:00
Island c9cb9b7ab1 Merge branch 'bugfix/ble_mesh_heartbeat_filter_add_v5.2' into 'release/v5.2'
Fix(ble_mesh):fix error condition for heartbeat filter adding node address (v5.2)

See merge request espressif/esp-idf!29986
2024-04-09 12:05:27 +08:00
Rahul Tank 3d0682d49e Merge branch 'bugfix/set_correct_addr_type_v5.2' into 'release/v5.2'
fix(nimble): Set correct peer_addr during reattempt connection (v5.2)

See merge request espressif/esp-idf!30055
2024-04-08 20:36:20 +08:00
xiongweichao a5662dc290 feat(ble): Added API to get low power clock source 2024-04-08 19:25:13 +08:00
Mahavir Jain 4893ae3c11 docs: add note about newly added mbedtls config to reduce app size footprint 2024-04-08 16:02:24 +05:30
Mahavir Jain b6f5573e0f feat(mbedtls): add kconfig option for MBEDTLS_ERROR_C
Disabling this config can reduce footprint for the cases where
mbedtls_strerror() is used and hence the debug strings are getting
pulled into the application image.
2024-04-08 16:02:21 +05:30
Guillaume Souchere 29f835d2f1 fix(heap): Wrong size propagated in alloc fail callback
Propagate `n * size` as the size of the failed allocation
instead of just `size` when heap_caps_calloc() fails since
`n * size` is the actual number of bytes that the heap
component tried to allocate.
2024-04-08 08:36:43 +02:00
luoxu d93f1d55c5 fix(ble_mesh): fix error condition for heartbeat filter adding node address 2024-04-08 14:26:39 +08:00
morris 4b612be8d9 fix(rmt): fix the counting clock used by rx filter on esp32/s2
is always APB, independent to the channel clock selection

Closes https://github.com/espressif/esp-idf/issues/13510
2024-04-08 11:16:18 +08:00
Jiang Jiang Jian 9323c190c2 Merge branch 'feat/set_cpu_freq_after_pm_config_changed_v5.2' into 'release/v5.2'
fix(esp_pm): update CPU frequency immediately after updating pm_config (v5.2)

See merge request espressif/esp-idf!30072
2024-04-08 10:29:00 +08:00
wuzhenghui a9ff81a603 fix(esp_hw_support): move deepsleep phy callback before PLL disable 2024-04-07 20:36:51 +08:00
morris f2fd239471 Merge branch 'bugfix/i2c_slave_bugs_v5.2' into 'release/v5.2'
fix(i2c_slave): Fix multiple issues on i2c slave (backport v5.2)

See merge request espressif/esp-idf!30073
2024-04-07 18:38:06 +08:00
morris d56ae4caab Merge branch 'feature/support_i2c_timeout_v5.2' into 'release/v5.2'
feat(i2c_master): Add parameter to config I2C scl await time (backport v5.2)

See merge request espressif/esp-idf!30069
2024-04-07 18:36:55 +08:00
Jiang Jiang Jian 2c4128b98d Merge branch 'bugfix/wpa3_ap_ci_crash_v5.2' into 'release/v5.2'
fix(esp_wifi): Fix crash when assoc req comes before confirm is processed (v5.2)

See merge request espressif/esp-idf!29949
2024-04-07 17:25:37 +08:00
morris 9582b3cead Merge branch 'feat/add_example_usj_v5.2' into 'release/v5.2'
change(usb_serial_jtag): Add example for usb serial jtag echo (backport v5.2)

See merge request espressif/esp-idf!30019
2024-04-07 16:07:36 +08:00
Cao Sen Miao b8855fbd03 fix(i2c_slave): Fixed the isr_flags not really parse to the intr_allocate,
Closes https://github.com/espressif/esp-idf/issues/13374
2024-04-07 15:18:06 +08:00
Cao Sen Miao 3ac6c10d11 fix(i2c_slave): Fix bugs on i2c slave,
1. Fixed read data number smaller than master has sent it will fail
2. Disable interrupt when destroy bus
Closes https://github.com/espressif/esp-idf/issues/13354
2024-04-07 15:17:48 +08:00
Cao Sen Miao 7c233ebc80 feat(i2c_master): Add parameter to config I2C scl await time 2024-04-07 15:06:31 +08:00
wuzhenghui fe6f4ce916 fix(esp_pm): update CPU frequency immediately after updating pm_config
Closes https://github.com/espressif/esp-idf/issues/13492
2024-04-07 14:45:40 +08:00
Cao Sen Miao 4502621282 fix(usb_serial_jtag): Increase stack size on serial_jtag example,
Closes https://github.com/espressif/esp-idf/issues/13245
2024-04-07 11:24:30 +08:00
Rahul Tank ae152ca84e fix(nimble): Remove extra code in reattempt connection 2024-04-05 21:36:27 +05:30
Alexey Gerenkov 602573933c Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20240318_v5.2' into 'release/v5.2'
feat(tools): update openocd version to v0.12.0-esp32-20240318 (v5.2)

See merge request espressif/esp-idf!30045
2024-04-05 23:31:39 +08:00
David Čermák 0440a63cb6 Merge branch 'bugfix/eth_l2_test_conn_wait_tmo_v5.2' into 'release/v5.2'
ci(esp_eth): increased L2 test wait for connection timeout (v5.2)

See merge request espressif/esp-idf!29881
2024-04-05 15:19:08 +08:00
Alexey Gerenkov 9a6b151c41 feat(tools): update openocd version to v0.12.0-esp32-20240318 2024-04-04 22:41:19 +03:00
Mahavir Jain 8a151a51cf Merge branch 'fix/pmp_idcache_prot_c6_h2_v5.2' into 'release/v5.2'
fix(esp_hw_support): Fix the flash I/DROM region PMP protection (v5.2)

See merge request espressif/esp-idf!30022
2024-04-04 12:20:07 +08:00
Alexey Lapshin fc7a2a7af7 fix(gcov): fix exceptions on gcov task_tick_hook
Closes https://github.com/espressif/esp-idf/issues/13511
2024-04-03 15:28:18 +04:00
Laukik Hase 17ffe58051 fix(esp_hw_support): Fix the flash I/DROM region PMP protection 2024-04-03 15:48:46 +05:30
Jiang Jiang Jian c722d8aab6 Merge branch 'bugfix/aud-5252_v5.2' into 'release/v5.2'
backport v5.2: fix the issue of modem hang caused by incorrect configuration of power and isolate signals

See merge request espressif/esp-idf!30007
2024-04-03 17:40:43 +08:00
Cao Sen Miao 3bd63654c8 change(usb_serial_jtag): Add a usb_serial_jtag echo example for how to use usb_serial_jtag APIs,
Closes https://github.com/espressif/esp-idf/issues/12620,
Closes https://github.com/espressif/esp-idf/issues/12605
2024-04-03 17:10:03 +08:00
Cao Sen Miao 8b2b9140ac fix(usb_serial_jtag): Fix issue that buffer seems not flush when TX buffer is full and flush slow,
Closes https://github.com/espressif/esp-idf/issues/12628
2024-04-03 17:06:53 +08:00
Jeroen Domburg bf15a29e18 fix(driver): Add docs and driver fix for the case where a full EP does not cause the host to pickup the data 2024-04-03 17:04:59 +08:00
morris 1158811fbd Merge branch 'bugfix/fix_batch_issue_i2c_v5.2' into 'release/v5.2'
fix(i2c_master): fix bunch of I2C issues on v5.2 (backport v5.2)

See merge request espressif/esp-idf!29724
2024-04-03 17:04:39 +08:00
Marius Vikhammer a00717803a Merge branch 'bugfix/log_wrap_around_cache_generation_counter_v5.2' into 'release/v5.2'
fix(log): Fix wrap-around of cache generation counter (v5.2)

See merge request espressif/esp-idf!29938
2024-04-03 16:33:02 +08:00
Island 4c96e523a3 Merge branch 'feat/adjust_ble_log_init_order_v5.2' into 'release/v5.2'
Feat/adjust ble log init order v5.2

See merge request espressif/esp-idf!30003
2024-04-03 12:40:06 +08:00
Jiang Jiang Jian 83bd62fb7c Merge branch 'bugfix/variable_length_rsnxe_v52' into 'release/v5.2'
Expands maximum size of RSNXE IE to 255(v5.2)

See merge request espressif/esp-idf!29936
2024-04-03 11:32:57 +08:00
Li Shuai 2d0ac9208e fix(esp_hw_support): fixed modem hang caused by incorrect configuration of power and isolate signals 2024-04-03 10:43:13 +08:00
Jiang Jiang Jian d34b0242ba Merge branch 'fix/rd_stored_link_key_error_v5.2' into 'release/v5.2'
fix(bt): fix some issues in bt controller(backport v5.2)

See merge request espressif/esp-idf!29978
2024-04-03 10:29:47 +08:00
Shreyas Sheth c3f819289d fix(esp_wifi): Fix crash when assoc req comes before confirm is processed 2024-04-02 23:03:29 +05:30
Jiang Jiang Jian 2152112ff8 Merge branch 'bugfix/fix_coex_ld_issue_v5.2' into 'release/v5.2'
fix(wifi): fix coex ld issue (v5.2)

See merge request espressif/esp-idf!29915
2024-04-02 14:29:40 +08:00
Rahul Tank 8599ec33d5 Merge branch 'bugfix/revamp_reconn_scheme_v5.2' into 'release/v5.2'
fix(nimble): Cleanup code in connection reconnection implementation (v5.2)

See merge request espressif/esp-idf!29964
2024-04-02 14:26:39 +08:00
cjin 510ae698e2 feat(ble): add cca related config in c6, h2 and c2 2024-04-02 12:16:56 +08:00
cjin 27d360127d change(ble): support ble light sleep using ext 32k xtal on C2 2024-04-02 12:16:56 +08:00
zwl 2ce39a857f ble: update esp32c2 lib to 7a428d35 2024-04-02 12:16:56 +08:00
zwl b0b6d190ff ble: update esp32h2 and esp32c6 lib to 39c6e050 2024-04-02 12:16:56 +08:00
zhaoweiliang d4327c47a1 ble : adjust the log initialization sequence of ESP32C6 and ESP32H2 2024-04-02 12:16:56 +08:00
gongyantao c08a831f17 fix(bt): fix some issues in bt controller
1: fixed the incorrect timeing in reporting HCI_Link_Key_Type_Changed.
2: fixed the incorrect iv value during resuming encryption.
3: fixed the incorrect return with hci command rd_stored_link_key.
2024-04-02 09:33:51 +08:00
Jiang Jiang Jian 2c64d8d302 Merge branch 'bugfix/fix_call_to_header_event_callback_v5.2' into 'release/v5.2'
fix: Fix call to event_handler on on_header state of HTTP Client (v5.2)

See merge request espressif/esp-idf!29954
2024-04-01 19:50:34 +08:00
Rahul Tank 06d18ca0d6 fix(nimble): Change reconnection scheme 2024-04-01 16:06:55 +05:30
Harshit Malpani 8d494a8d03 Revert "fix(esp_http_client): Call event_handler after header value is received"
This reverts commit 04ac8e43db.

Fixes https://github.com/espressif/esp-idf/issues/13497
Fixes https://github.com/espressif/esp-idf/issues/13097
2024-04-01 13:18:56 +05:30
Jiang Jiang Jian a70bb45c48 Merge branch 'bugfix/sdp_remove_record_no_evt_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fixed the crash caused by using illegal pointers during SDP deinit(v5.2)

See merge request espressif/esp-idf!29942
2024-04-01 14:53:09 +08:00
Jiang Jiang Jian 77920038f6 Merge branch 'change/add_convt_from_hci_state_to_esp_state_v5.2' into 'release/v5.2'
change(bt/bluedroid): Use BTC util to convert HCI status to ESP status (v5.2)

See merge request espressif/esp-idf!29921
2024-04-01 14:39:31 +08:00
Jiang Jiang Jian c920d2ed64 Merge branch 'bugfix/esp_timer_test_fail_v5.2' into 'release/v5.2'
fix(esp_timer): Force test to go light sleep ignoring ESP_ERR_SLEEP_REJECT (v5.2)

See merge request espressif/esp-idf!29871
2024-04-01 14:39:10 +08:00
liuning cc13237746 fix(wifi): fix coex ld issue 2024-04-01 14:23:08 +08:00
Marius Vikhammer 016b27c132 Merge branch 'bugfix/coredump_switch_stack_v5.2' into 'release/v5.2'
fix(espcoredump): Reconfigure the stack guard when using custom coredump stack (backport v5.2)

See merge request espressif/esp-idf!29525
2024-04-01 12:05:21 +08:00
xiongweichao dfeeaf386e fix(bt/bluedorid): Fixed crash caused by using illegal pointer 2024-04-01 11:33:23 +08:00
xiongweichao 2da016575f fix(bt/bluedorid): Fixed no event when removing an invalid SDP record 2024-04-01 11:33:17 +08:00
Marius Vikhammer 23540fa90d Merge branch 'feature/freertos_enable_app_task_tag_v5.2' into 'release/v5.2'
feat(freertos): Add application task tag support (V5.2)

See merge request espressif/esp-idf!29587
2024-04-01 11:20:04 +08:00
Cao Sen Miao ae94c0134b fix(i2c_master): Fix issue that i2c clock got wrong after reset,
Closes https://github.com/espressif/esp-idf/issues/13397
2024-04-01 10:55:39 +08:00
Omar Chebib 0f852fcd5f fix(espcoredump): Reconfigure the stack guard when using custom coredump stack 2024-04-01 10:53:13 +08:00
Cao Sen Miao 2291ded9a1 fix(i2c): Use hardware fsm reset on esp32c6/h2/p4 2024-04-01 10:15:50 +08:00
Cao Sen Miao 90afc33cd8 fix(i2c_master): Fix issue that initialize esp32 and using i2c_master_probe issue,
and probe might failed.
Fixed I2C cannot return err code when nack detected
Closes https://github.com/espressif/esp-idf/issues/13213,
Closes https://github.com/espressif/esp-idf/issues/12929,
Closes https://github.com/espressif/esp-idf/issues/13398,
2024-04-01 10:15:47 +08:00
Cao Sen Miao 8567102be4 fix(i2c_master): Fix issue that use callback may cause memory leak,
Closes https://github.com/espressif/esp-idf/issues/12878
2024-04-01 10:15:45 +08:00
Cao Sen Miao f93ebedcb6 fix(i2c): Fix I2C synchronous transaction cost so much CPU source,
Closes https://github.com/espressif/esp-idf/issues/13137,
Closes https://github.com/espressif/esp-idf/pull/13322
2024-04-01 10:15:42 +08:00
Eric Wheeler 27690e0990 fix(i2c_master): fix deadlock on s_i2c_transaction_start failure
As pointed out in PR #13134 by @MatthiasKunnen, there is a deadlock in
`s_i2c_synchronous_transaction()` if `s_i2c_transaction_start()` should fail
because, on error, s_i2c_synchronous_transaction() returns before releasing the
lock.

This commit fixes the deadlock without any other changes.

Closes: #13387

Signed-off-by: Eric Wheeler <esp-idf@z.ewheeler.org>
2024-04-01 10:15:39 +08:00
Darian Leung 31883c9a64 feat(freertos): Add application task tag support
This commit enables support for application task tag.

- Added CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG option
- Added basic unit test
2024-03-30 17:44:38 +08:00
Konstantin Kondrashov 8efe72379d fix(log): Fix wrap-around of cache generation counter
Closes https://github.com/espressif/esp-idf/issues/6516
2024-03-29 17:31:47 +03:00
Rahul Tank 6020d08074 Merge branch 'bugfix/handle_missing_free_v5.2' into 'release/v5.2'
fix(nimble): Handle missing free in application (v5.2)

See merge request espressif/esp-idf!29887
2024-03-29 21:02:32 +08:00
jgujarathi 2417ffe69e fix(rsnxe): Expands maximum size of RSNXE IE to 255
- Allows for RSNXE IE to be processed as a variable length upto
255 bytes, changing the earlier max of 20.
2024-03-29 18:22:19 +05:30
Jiang Jiang Jian 30c6144b2f Merge branch 'bugfix/dpp_example_init_error_v5.2' into 'release/v5.2'
fix(wifi/example): Fix dpp example init error (v5.2)

See merge request espressif/esp-idf!29859
2024-03-29 19:42:57 +08:00
Jiang Jiang Jian afa39b0d02 Merge branch 'feature/sae_pk_transition_disable_v5.2' into 'release/v5.2'
feat(esp_wifi): Add support for WPA3 transition disable and more updates (Backport v5.2)

See merge request espressif/esp-idf!29885
2024-03-29 17:50:32 +08:00
Rahul Tank 064df2a1fa Merge branch 'bugfix/add_peer_addr_field_for_ext_v5.2' into 'release/v5.2'
fix(nimble): Correctly handle auto connection flag for extended connect (v5.2)

See merge request espressif/esp-idf!29785
2024-03-28 16:41:10 +08:00
Jiang Jiang Jian 7646dd575a Merge branch 'bugfix/fix_bt_cmakefile_error_on_c2_v5.2' into 'release/v5.2'
fix(bt): fixed cmakelist error on c2 (v5.2)

See merge request espressif/esp-idf!29894
2024-03-28 16:12:50 +08:00
Sarvesh Bodakhe 8e694cddcc feat(esp_wifi): Add support for WPA3 transition disable and more updates
1. Add support for SAE-PK and WPA3-Enterprise transition disable
2. Add support to handle OWE transition disable indication from AP
2. Update Wi-Fi WPA3 authmodes as per WPA Specification v3.3:
   - Merge 'WIFI_AUTH_WPA3_EXT_PSK' and 'WIFI_AUTH_WPA3_EXT_PSK_MIXED_MODE'
     into 'WIFI_AUTH_WPA3_PSK' as per specification.
4. refactor: Backport common changes in scan/connect path from 90cc6158
   - 90cc6158 adds support for Network Introduction Protocl in DPP
2024-03-28 11:38:45 +05:30
linruihao b86dd75df5 fix(bt): fixed cmakelist error on c2
Closes https://github.com/espressif/esp-idf/issues/13451
2024-03-28 12:06:26 +08:00
Rahul Tank 044ead90ce fix(nimble): Handle missing free in application 2024-03-28 08:50:43 +05:30
Jin Cheng 7c15d88e75 change(bt/bluedroid): Use BTC util to convert HCI status to ESP status 2024-03-28 10:18:11 +08:00
Konstantin Kondrashov b531376a62 fix(esp_timer): Force to go light sleep ignoring ESP_ERR_SLEEP_REJECT 2024-03-27 18:22:48 +02:00
Ondrej Kosta 2ffeffddc6 ci(esp_eth): increased L2 test wait for connection timeout 2024-03-27 12:59:41 +01:00
sparker ccc8fb8f65 fix(wifi/example): Fix dpp example init error
Set wifi mode before calling esp_supp_dpp_init.

Closes https://github.com/espressif/esp-idf/pull/12769

Signed-off-by: Shreyas Sheth <shreyas.sheth@espressif.com>
2024-03-27 11:21:11 +05:30
Jiang Jiang Jian 9da552c409 Merge branch 'feature/refactor_ftm_code_v5.2' into 'release/v5.2'
Refactor and improve FTM code (Backport v5.2)

See merge request espressif/esp-idf!29843
2024-03-27 10:34:13 +08:00
Island 4e2a52ea85 Merge branch 'bugfix/fix_ble_power_save_ci_v5.2' into 'release/v5.2'
fix(ble): fix conn error of ble power save ci test(v5.2)

See merge request espressif/esp-idf!29822
2024-03-27 10:31:06 +08:00
Jiang Jiang Jian ac44663186 Merge branch 'bugfix/dpp_auth_deinit_crash_v52' into 'release/v5.2'
Ensure dpp auth structure is deinited in dpp task context(v5.2)

See merge request espressif/esp-idf!29838
2024-03-27 10:20:17 +08:00
Nachiket Kukade 413bcd8fcd feat(esp_wifi): Refactor and improve FTM code
Enable FTM Responder mode for ESP32C6. Update wifi libs with below -

1. Break FTM State Machine code into separate functions
2. Use dynamic allocation for FTM session to save memory
3. Add API to get FTM report instead of event based mechanism
4. Add FTM Request retry and comeback support
2024-03-26 18:00:10 +05:30
Aditya Patwardhan fcb76f0671 Merge branch 'bugfix/update_disabling_hmac_jtag_method_v5.2' into 'release/v5.2'
fix(esp_hw_support): update hmac toggle method due to discrepency in ROM code (v5.2)

See merge request espressif/esp-idf!29529
2024-03-26 17:29:07 +08:00
Jiang Jiang Jian b85d778374 Merge branch 'bugfix/update_esp32p4lp_rom_ld_files_v5.2' into 'release/v5.2'
fix(esp_rom): Update esp32p4lp rom ld files (v5.2)

See merge request espressif/esp-idf!29832
2024-03-26 16:30:44 +08:00
nilesh.kale 120cb89c56 fix(esp_hw_support): update hmac toggle method due to discrepency in ROM code
Need to update the HMAC enable/disable method due to discrepancy in ROM code
across different targets for the esp_hmac_disable() API.
2024-03-26 13:22:22 +05:30
jgujarathi 6115e2500a fix(wpa_supplicant): Cancel offchannel listen operations before sending dpp fail
- Ensure that offchannel listening operations are cancelled before sending dpp
  fail events
2024-03-26 10:04:13 +05:30
jgujarathi 1830bc4d29 fix(wpa_supplicant): Ensure dpp auth structure is deinited in dpp task context
- Ensure that the dpp auth data gets deinited only in DPP task context to ensure
  that there are no concurrency issues in usage of DPP auth data.
2024-03-26 10:04:06 +05:30
Jiang Guang Ming 1be59d080a fix(esp_rom): Update esp32p4lp rom ld files 2024-03-26 11:19:36 +08:00
Jiang Jiang Jian 93f7ae7f7f Merge branch 'bugfix/wps_crash_issue_v5.2' into 'release/v5.2'
fix(wpa_supplicant): Avoid dereferencing a dangling function pointer in WPS (Backport v5.2)

See merge request espressif/esp-idf!29735
2024-03-26 10:51:58 +08:00
Jiang Jiang Jian fc56156013 Merge branch 'bugfix/fixed_some_wifi_bugs_240325_v5.2' into 'release/v5.2'
fix(wifi): fix some wifi bugs 230325(Backport v5.2)

See merge request espressif/esp-idf!29826
2024-03-26 10:37:50 +08:00
Marius Vikhammer b3a1ec3ac0 Merge branch 'bugfix/add_unaligned_check_to_mysnc_api_v5.2' into 'release/v5.2'
cache: add unaligned check to mysnc api (v5.2)

See merge request espressif/esp-idf!29817
2024-03-26 09:28:20 +08:00
Marius Vikhammer 8c5ccece57 Merge branch 'fix/freertos_task_c_add_coverity_fix_v5.2' into 'release/v5.2'
fix(freertos): Fixed an issue where accessing task lists could overrun memory (v5.2)

See merge request espressif/esp-idf!29757
2024-03-25 20:57:56 +08:00
muhaidong 5f32741958 fix(wifi): fix some wifi bugs 230325
1. limit the number of sub amsdu
2. fix recycle cache sub amsdu eb issue
3. update api esp_wifi_sta_get_rssi docs
2024-03-25 20:36:50 +08:00
Jiang Jiang Jian ed57048579 Merge branch 'bugfix/fix_some_wifi_coexist_issue_v5.2' into 'release/v5.2'
bugfix/fix some wifi coexist issue v5.2

See merge request espressif/esp-idf!29750
2024-03-25 17:53:24 +08:00
Armando b4a8bd2040 bugfix(cache): don't allow M2C direction ESP_CACHE_MSYNC_FLAG_UNALIGNED 2024-03-25 16:06:44 +08:00
cjin 50ea662fe0 fix(ble): fix ci ble powe save test addresss error 2024-03-25 15:59:26 +08:00
Island 358c9ad946 Merge branch 'bugfix/BT-3491_v5.2' into 'release/v5.2'
bugfix(ble_mesh): Avoid provisioner handling messages from nodes that have...(v5.2)

See merge request espressif/esp-idf!28049
2024-03-25 12:12:38 +08:00
Island d411856956 Merge branch 'bugfix/IDFGH-11775_v5.2' into 'release/v5.2'
bugfix(ble_mesh): fix NRF mesh(android) provisioning node failed(v5.2)

See merge request espressif/esp-idf!29739
2024-03-25 12:11:57 +08:00
Island 3139589b7c Merge branch 'bugfix/IDFGH-12353_v5.2' into 'release/v5.2'
fix(ble_mesh): Free segment tx buffers on tx reset for SAR enhancement_v5.2

See merge request espressif/esp-idf!29780
2024-03-25 12:11:50 +08:00
liuning f0e97da81e feat(coex): support to scan long time on channel, fix coexist sync issue 2024-03-25 11:52:50 +08:00
luoxu c710a583bb fix(ble_mesh): Free segment tx buffers on tx reset for SAR enhancement
Closes: https://github.com/espressif/esp-idf/issues/13384
2024-03-24 17:35:24 +08:00
luoxu 54a38a87e2 fix(ble_mesh): fix NRF mesh(android) provisioning node failed
Closes: https://github.com/espressif/esp-idf/issues/12871
2024-03-22 12:22:13 +08:00
Anton Maklakov cf7b9bed4c Merge branch 'update/qemu_release_versions_v5.2' into 'release/v5.2'
Update QEMU release versions (v5.2)

See merge request espressif/esp-idf!29756
2024-03-21 21:01:58 +08:00
Rahul Tank 7310ab3589 fix(nimble): Handle auto connection flag for extended connect 2024-03-21 14:50:39 +05:30
Jakob Hasse 4652a99e92 fix(log): Fixed incorrect argument type in hexdump log functions
Closes https://github.com/espressif/esp-idf/issues/13347
Thanks @matthew-8925
2024-03-21 15:10:53 +08:00
Mahavir Jain 3c8b37087b Merge branch 'bugfix/esp_app_format_missing' into 'release/v5.2'
fix(esp_system): Fix build when ANTI_ROLLBACK=y and PANIC_SILENT_REBOOT=y

See merge request espressif/esp-idf!29770
2024-03-21 13:51:16 +08:00
Rahul Tank a6895cef01 Merge branch 'bugfix/bonding_across_reboot_v5.2' into 'release/v5.2'
fix(nimble): Added support for deleting the oldest bonded device across reboot (v5.2)

See merge request espressif/esp-idf!29762
2024-03-21 13:29:05 +08:00
Darshan Dobariya c1c41a30ea fix(nimble): Added support for deleting the oldest bonded device across reboot (v5.2) 2024-03-21 09:37:35 +05:30
wangjialiang 436e3d3345 update invalid links in the ble mesh example documentation 2024-03-21 11:07:02 +08:00
luoxu f5777749dc bugfix(ble_mesh): Avoid provisioner handling messages from nodes that have already left the network. 2024-03-21 11:07:02 +08:00
morris 4fe7b96e76 Merge branch 'feature/parlio_tx_nonblock_queue_v5.2' into 'release/v5.2'
feat(parlio_tx): support non-blocking transaction queue (v5.2)

See merge request espressif/esp-idf!29720
2024-03-21 10:06:59 +08:00
Shu Chen 9607a1121d Merge branch 'feature/add_cli_in_openthread_sleep_example_v5.2' into 'release/v5.2'
feat(openthread): add cli in openthread sleep example (backport v5.2)

See merge request espressif/esp-idf!29597
2024-03-21 10:02:01 +08:00
Konstantin Kondrashov 00f2e33008 fix(esp_system): Fix build when ANTI_ROLLBACK=y and PANIC_SILENT_REBOOT=y
Fix a case when two options are set as
CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK=y
CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT=y

Closes https://github.com/espressif/esp-idf/issues/13417
2024-03-20 22:08:47 +02:00
Roland Dobai 1a5e528c83 Merge branch 'refactor/idf_tools_version_v5.2' into 'release/v5.2'
refactor(idf_tools): IDF version is acquired only from version or header file (backport v5.2)

See merge request espressif/esp-idf!29741
2024-03-20 20:22:22 +08:00
Rahul Tank 962d9de65e Merge branch 'bugfix/fixed_task_invokation_after_pairing_v5.2' into 'release/v5.2'
fix(nimble): Fixed the call to ble_hid_task_startup after pairing (v5.2)

See merge request espressif/esp-idf!29695
2024-03-20 17:36:43 +08:00
Roshan Bangar 24e0a124a8 fix(nimble): Fix compilation issues and Minor enhancements to esp_hid 2024-03-20 13:34:19 +05:30
Rahul Tank ec7e307a18 Merge branch 'bugfix/compilation_issue_on_disabling_security_v5.2' into 'release/v5.2'
fix(nimble): Fixed compilation issues on disabling security (v5.2)

See merge request espressif/esp-idf!29697
2024-03-20 16:00:48 +08:00
Sudeep Mohanty b32d47ab98 fix(freertos): Fixed an issue where accessing task lists could overrun memory
This commit fixes a potential issue of illegal memory access when
accessing the various task lists in FreeRTOS while fetching tasks using
the xTaskGetNext() function.
2024-03-20 08:57:02 +01:00
Espressif BOT 84f4548b98 change(tools/qemu): Update QEMU release versions 2024-03-20 13:15:49 +05:30
Martin Vychodil 4005c24ce1 Merge branch 'fix/wl_fatfsgen_safe_mode_v5.2' into 'release/v5.2'
fix(storage/fatfs): make wl_fatfsgen.py safe mode aware (v5.2)

See merge request espressif/esp-idf!29728
2024-03-20 15:16:27 +08:00
Sarvesh Bodakhe 691997af91 fix(wpa_supplicant): Improve execution flow for WPS registrar public APIs
Make sure that WPS registrar public APIs do not modify supplicant
data in application task context. Execute API functionlity in eloop
context to prevent protential race conditions.
2024-03-20 11:07:43 +05:30
Jakub Kocka 47d9b8ca50 refactor(idf_tools): IDF version is acquired only from version or header file
Closes https://github.com/espressif/esp-idf/issues/13385
2024-03-19 15:44:19 +01:00
liuning 3b86f974ea example: add custom partition table for mesh manual networking 2024-03-19 21:20:33 +08:00
liuning 58dffd9b3c feat(coex): improve Wi-Fi connecting compatibility at coexistence 2024-03-19 21:20:29 +08:00
Jiang Jiang Jian 7e36e97467 Merge branch 'bugfix/wpa3_sta_lock_crash_v5.2' into 'release/v5.2'
fix(wifi): Fix wpa3 crash for station added without sta lock (v5.2)

See merge request espressif/esp-idf!29211
2024-03-19 19:11:10 +08:00
Roshan Bangar d23ef4c6bd fix(nimble): Fixed compilation issues on disabling security 2024-03-19 15:20:19 +05:30
Sarvesh Bodakhe 34a26ed632 fix(wifi): Avoid dereferencing a dangling function pointer in WPS supplicant
Avoid dereferencing a dangling function pointer in 'eap_server_sm_deinit()'.
This issue arises when hostap unregisteres EAP methods before it removes
the server state machine for station.
2024-03-19 14:51:14 +05:30
Tomáš Rohlínek c51b2fb75f fix(storage/fatfs): make wl_fatfsgen.py safe mode aware 2024-03-19 09:29:10 +01:00
Shreyas Sheth dd1265845f fix(wifi): Fix wpa3 crash for station added without sta lock 2024-03-19 14:37:32 +08:00
Jiang Jiang Jian 06733dc407 Merge branch 'doc/update_espnow_doc_v5.2' into 'release/v5.2'
docs(wifi): Updated the LMK description in ESP-NOW (v5.2)

See merge request espressif/esp-idf!29673
2024-03-19 14:15:08 +08:00
morris 1008091a74 feat(parlio_tx): support non-blocking transaction queue 2024-03-19 12:06:44 +08:00
Jiang Jiang Jian e759833c44 Merge branch 'bugfix/cve-2023-52160_v5.2' into 'release/v5.2'
fix(wpa_supplicant): (PEAP client) Update Phase 2 auth requirements (v5.2)

See merge request espressif/esp-idf!29675
2024-03-18 11:29:31 +08:00
Jiang Jiang Jian f2e1c06b0c Merge branch 'bugfix/make_coexist_callback_safe_v5.2' into 'release/v5.2'
fix(bt/controller): Fixed some bugs in esp32 bt controller (v5.2)

See merge request espressif/esp-idf!29682
2024-03-18 11:29:15 +08:00
Mahavir Jain a2e56227cc Merge branch 'fix/gdbstub_enables_freertos_task_wrapper_v5.2' into 'release/v5.2'
fix(freertos): Updated dependency list for CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER option (v5.2)

See merge request espressif/esp-idf!29681
2024-03-18 11:11:39 +08:00
linruihao e416552e46 fix(bt/controller): Fixed some bugs in esp32 bt controller
1. fixed crash issue in coexist callback
2. fixed wrong LMP message send when expect peer device increase tx power to max
2024-03-15 19:08:45 +08:00
Sudeep Mohanty bc310e088b fix(freertos): Updated dependency list for CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER option
This commit updates the dependency for
CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER to be dependent explicitly on
CONFIG_ESP_SYSTEM_PANIC_GDBSTUB or CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME
instead of CONFIG_ESP_GDBSTUB_ENABLED which caused FreeRTOS Task
Function Wrappers to be enabled even if the esp_gdbstub component was
part of the build.
2024-03-15 10:54:25 +01:00
Kapil Gupta b761052e6b fix(wpa_supplicant): (PEAP client) Update Phase 2 auth requirements
The previous PEAP client behavior allowed the server to skip Phase 2
authentication with the expectation that the server was authenticated
during Phase 1 through TLS server certificate validation. Various PEAP
specifications are not exactly clear on what the behavior on this front
is supposed to be and as such, this ended up being more flexible than
the TTLS/FAST/TEAP cases. However, this is not really ideal when
unfortunately common misconfiguration of PEAP is used in deployed
devices where the server trust root (ca_cert) is not configured or the
user has an easy option for allowing this validation step to be skipped.

Change the default PEAP client behavior to be to require Phase 2
authentication to be successfully completed for cases where TLS session
resumption is not used and the client certificate has not been
configured. Those two exceptions are the main cases where a deployed
authentication server might skip Phase 2 and as such, where a more
strict default behavior could result in undesired interoperability
issues. Requiring Phase 2 authentication will end up disabling TLS
session resumption automatically to avoid interoperability issues.

Allow Phase 2 authentication behavior to be configured with a new phase1
configuration parameter option:
'phase2_auth' option can be used to control Phase 2 (i.e., within TLS
tunnel) behavior for PEAP:
 * 0 = do not require Phase 2 authentication
 * 1 = require Phase 2 authentication when client certificate
   (private_key/client_cert) is no used and TLS session resumption was
   not used (default)
 * 2 = require Phase 2 authentication in all cases
2024-03-15 13:21:59 +05:30
zhangyanjiao 7727b7f693 docs(wifi): Updated the LMK description in ESP-NOW
Closes https://github.com/espressif/esp-idf/issues/12976
2024-03-15 15:05:10 +08:00
Jiang Jiang Jian 08299f5f9b Merge branch 'bugfix/fix_maximum_value_of_config_rtc_clk_cal_cycles_bug_v5.2' into 'release/v5.2'
ESP All Chip: fixed the maximum value of config RTC_CLK_CAL_SYCLES bug (v5.2)

See merge request espressif/esp-idf!29648
2024-03-15 11:10:38 +08:00
Jiang Jiang Jian 9beb67dedf Merge branch 'bugfix/fix_s3_bbpll_cali_fail_bug_v5.2' into 'release/v5.2'
fix: fix s3 bbpll calibration fail bug (v5.2)

See merge request espressif/esp-idf!29644
2024-03-15 11:10:11 +08:00
Jiang Jiang Jian 80cfe30b29 Merge branch 'bugfix/fix_fastmem_slowmem_lost_data_bug_v5.2' into 'release/v5.2'
[C3/S3]Fix sleep fast_mem & slow_mem may lost bug (v5.2)

See merge request espressif/esp-idf!29640
2024-03-15 11:09:38 +08:00
Marius Vikhammer 85ac17e5ba Merge branch 'bugfix/rom_systimer_config_v5.2' into 'release/v5.2'
fix(rom): fixed systimer always using ROM implementation (v5.2)

See merge request espressif/esp-idf!29605
2024-03-15 10:09:52 +08:00
Shu Chen fd4b09f283 Merge branch 'backport5.2/openthread_2024_3_14' into 'release/v5.2'
openthread modifications backport to 5.2

See merge request espressif/esp-idf!29654
2024-03-15 10:08:44 +08:00
Xu Si Yu 6cdf728ce8 feat(openthread): support configuring indicator color of openthread device 2024-03-14 17:20:37 +08:00
Xu Si Yu 698a7705b8 fix(vfs): fix eventfd select 2024-03-14 17:20:31 +08:00
zwx 298682913c fix(openthread): using atomic variable for buffer count 2024-03-14 17:20:26 +08:00
zwx 2c06ea4039 feat(openthread): enable RCP uart configuration for BR by default 2024-03-14 17:20:20 +08:00
Xu Si Yu 57bd2488af feat(openthread): add different led color for openthread devices 2024-03-14 17:19:58 +08:00
Jiang Jiang Jian 22c682b52e Merge branch 'feat/move_ag_cb_malloc_to_btc_v5.2' into 'release/v5.2'
feat(bt/bluedroid): Moved the memory allocation of HF AG control blocks to BTC module (v5.2)

See merge request espressif/esp-idf!29631
2024-03-14 17:02:20 +08:00
hongshuqing 7771d72d7c fix: fix_maximum_value_of_config_rtc_clk_cal_cycle_bug 2024-03-14 16:11:20 +08:00
hongshuqing 4200246df3 fix: fix s3 bbpll cali fail bug 2024-03-14 15:45:31 +08:00
chaijie@espressif.com c7660fe26d fix: fix sleep fast_mem & slow_mem may lost bug 2024-03-14 15:03:41 +08:00
Jiang Jiang Jian bc26c82f01 Merge branch 'bugfix/fix_phy_pll_track_corner_case_backport_52' into 'release/v5.2'
fix(phy): fix pll track when enabling and disabling PHY frequently(Backport v5.2)

See merge request espressif/esp-idf!29388
2024-03-14 14:15:01 +08:00
Jiang Jiang Jian bd55386769 Merge branch 'bugfix/fix_the_spiram_malloc_issue_in_wifi_mesh_v5.2' into 'release/v5.2'
fix(wifi): fixed the spiram malloc issue in wifi mesh (v5.2)

See merge request espressif/esp-idf!29629
2024-03-14 13:55:42 +08:00
Jin Cheng 85403d2e5e feat(bt/bluedroid): Moved the memory allocation of HF AG control blocks to BTC module 2024-03-14 10:52:27 +08:00
morris 48944645f1 Merge branch 'bugfix/flash_mxic_chip_v5.2' into 'release/v5.2'
fix(spi_flash): Fix MXIC chip flash size detected wrong (backport v5.2)

See merge request espressif/esp-idf!29610
2024-03-14 10:45:13 +08:00
zhangyanjiao 1a4234c0e1 fix(wifi): fixed the spiram malloc issue in wifi mesh
Closes https://github.com/espressif/esp-idf/issues/13285
2024-03-14 10:28:32 +08:00
Rahul Tank 374a03f210 Merge branch 'contrib/github_pr_13034_v5.2' into 'release/v5.2'
docs(nimble): Fixed typo in examples/bluetooth/nimble/blehr/README (GitHub PR) (v5.2)

See merge request espressif/esp-idf!29615
2024-03-13 23:37:12 +08:00
Mahavir Jain 9c49c40daa Merge branch 'fix/aes_gcm_coverity_reports_v5.2' into 'release/v5.2'
fix(mbedtls/aes-gcm): Fix null pointer derefernce coverity reports (v5.2)

See merge request espressif/esp-idf!29577
2024-03-13 21:17:48 +08:00
Rahul Tank a253028107 Merge branch 'feature/add_doc_for_p4_v5.2' into 'release/v5.2'
docs(nimble): Added gpio configuration table for esp32p4 (v5.2)

See merge request espressif/esp-idf!29599
2024-03-13 20:37:24 +08:00
Mahavir Jain 4e57c2bf6f Merge branch 'ci/fix_pre_encrytped_ota_failure_in_ci_v5.2' into 'release/v5.2'
ci: Fix pre_encrypted_ota example failure in CI (v5.2)

See merge request espressif/esp-idf!29604
2024-03-13 20:17:56 +08:00
Alex Verschoot aa2d885139 Update README.md
Fix typo
2024-03-13 17:09:18 +05:30
Cao Sen Miao ac2d88912d fix(spi_flash): Fix MXIC chip flash size detected wrong,
Closes https://github.com/espressif/esp-idf/issues/12222
2024-03-13 18:44:24 +08:00
Marius Vikhammer 387f48aa9a fix(rom): fixed systimer always using ROM implementation 2024-03-13 17:25:39 +08:00
Harshit Malpani 15e9343a20 ci: Fix pre_encrypted_ota example failure in CI 2024-03-13 14:49:27 +05:30
Roshan Bangar bbd4266328 docs(nimble): Added gpio configuration table for esp32p4 2024-03-13 14:02:40 +05:30
xiaqilin 729f45db61 feat(openthread): add cli in openthread sleep example 2024-03-13 14:57:26 +08:00
harshal.patil c97d3aed45 fix(mbedtls/aes-gcm): Fix null pointer derefernce coverity reports
- Also fixed a tcp_transport report
2024-03-13 11:42:03 +05:30
Island 1097ed0fcf Merge branch 'bugfix/ble_update_lib_20240306_v5.2' into 'release/v5.2'
update lib on release/v5.2

See merge request espressif/esp-idf!29437
2024-03-13 14:02:33 +08:00
Rahul Tank 69dc6f386c Merge branch 'bugfix/reconnect_host_based_v5.2' into 'release/v5.2'
fix(nimble): Added ble_host_rpa_enabled flag for address resoultion for esp32 (v5.2)

See merge request espressif/esp-idf!29569
2024-03-13 12:25:29 +08:00
Marius Vikhammer 2456b833b5 Merge branch 'docs/esp_event_doc_fix_v5.2' into 'release/v5.2'
docs(esp_event): Fixed mistake in API docs (v5.2)

See merge request espressif/esp-idf!29563
2024-03-13 11:21:30 +08:00
zwl a72d10a4e2 ble(update):
Update h2 lib to d0218de8
Update c6 lib to d0218de8
2024-03-13 10:33:23 +08:00
Marius Vikhammer a61d79966b Merge branch 'docs/fix_spiram_mistake_v5.2' into 'release/v5.2'
docs(heap): Fixed mistake in the heap allocator docs (v5.2)

See merge request espressif/esp-idf!29588
2024-03-13 10:33:02 +08:00
Jakob Hasse a0bb3e8fdf docs(heap): Fixed mistake in the heap allocator docs
Closes https://github.com/espressif/esp-idf/issues/13353
2024-03-13 09:46:48 +08:00
Marius Vikhammer a8d3034a3c Merge branch 'docs/remove_ulp_deep_sleep_example_v5.2' into 'release/v5.2'
docs(deep_sleep): removed mentions of ULP in deep sleep example readme (v5.2)

See merge request espressif/esp-idf!29574
2024-03-13 09:06:07 +08:00
Darshan Dobariya 4d4d86be51 fix(nimble): Added ble_host_rpa_enabled flag for address resoultion for esp32 2024-03-12 16:33:46 +05:30
Rahul Tank 464a62b516 Merge branch 'bugfix/fix_strict_prototype_hid_v5.2' into 'release/v5.2'
fix(nimble): Address compilation errors when strict-prototype is enabled (v5.2)

See merge request espressif/esp-idf!29540
2024-03-12 18:50:57 +08:00
Marius Vikhammer 38142889a5 docs(deep_sleep): removed mentions of ULP in deep sleep example readme
Updated readme to reflect that ULP is no longer a part of this examples
functionality.

Closes https://github.com/espressif/esp-idf/issues/13340
2024-03-12 16:12:04 +08:00
Roland Dobai f18329b15f Merge branch 'feature/export_bat_exit_codes_v5.2' into 'release/v5.2'
feat(tools): produce correct err code in install/export .bat scripts (v5.2)

See merge request espressif/esp-idf!29544
2024-03-12 15:11:51 +08:00
Jiang Jiang Jian 61a5631b51 Merge branch 'feat/modify_iperf_sdkconfig_to_improve_iperf_performance_v5.2' into 'release/v5.2'
feat(example): modify iperf sdkconfig to imporve iperf performance(backport v5.1)

See merge request espressif/esp-idf!29534
2024-03-12 13:54:39 +08:00
Jiang Jiang Jian 39854bebd3 Merge branch 'fix/xtensa-memset-memcpy_inlining_v5.2' into 'release/v5.2'
fix(tools): do not use builtin memcpy/memset/strcpy on xtensa chips (v5.2)

See merge request espressif/esp-idf!29503
2024-03-12 10:58:34 +08:00
Jiang Jiang Jian 1d526b4d10 Merge branch 'coredump_refactoring_v5.2' into 'release/v5.2'
Coredump refactoring (v5.2)

See merge request espressif/esp-idf!29501
2024-03-12 10:58:07 +08:00
Jiang Jiang Jian daa6a0d5c2 Merge branch 'bugfix/fix_some_ble_bugs_cjh_v5.2' into 'release/v5.2'
Fixed some BLE bugs 2403 (backport v5.2)

See merge request espressif/esp-idf!29465
2024-03-12 10:53:56 +08:00
Jakob Hasse 8cc9921651 docs(esp_event): Fixed mistake in API docs
Closes https://github.com/espressif/esp-idf/issues/13346
2024-03-12 10:33:04 +08:00
morris c7d2134d7b Merge branch 'fix/usb_msc_disconnect_v5.2' into 'release/v5.2'
fix(usb/host): Fixed crash on MSC disk disconnection

See merge request espressif/esp-idf!29507
2024-03-11 21:16:17 +08:00
Shu Chen 64cbabffd4 Merge branch 'backport5.2/openthread_example_configurations' into 'release/v5.2'
fix(openthread): configurations for openthread examples(backport 5.2)

See merge request espressif/esp-idf!29535
2024-03-11 20:50:35 +08:00
Marek Fiala e9bb0da852 feat(tools): produce correct err code in export/install .bat scripts
Plus unify labels to begin with underscore
2024-03-11 09:47:57 +01:00
Rahul Tank 74e4fbba06 fix(nimble): Address compilation errors when strict-prototype is enabled 2024-03-11 13:50:25 +05:30
Xu Si Yu dd9ba05c49 fix(openthread): configurations for openthread examples 2024-03-11 14:14:43 +08:00
xuxiao 8eea1ee804 feat(example): modify iperf sdkconfig to imporve iperf performance 2024-03-11 14:08:02 +08:00
Jiang Jiang Jian 2d818bbfe5 Merge branch 'docs/rf_coexistence_api_guides_support_esp32c2_v5.2' into 'release/v5.2'
Docs: RF coexistence api guides support esp32c2 (v5.2)

See merge request espressif/esp-idf!29213
2024-03-11 10:40:40 +08:00
Jiang Jiang Jian 20762c4524 Merge branch 'pytest/support_io_wakeup_test_v5.2' into 'release/v5.2'
Pytest/support io wakeup test (backport v5.2)

See merge request espressif/esp-idf!28657
2024-03-11 10:39:22 +08:00
Jiang Jiang Jian 78d9e6390d Merge branch 'bugfix/fix_sleep_cache_safe_assertion_v5.2' into 'release/v5.2'
fix(esp_hw_support): fix cache safe check function (v5.2)

See merge request espressif/esp-idf!29247
2024-03-11 10:38:26 +08:00
Jiang Jiang Jian 4024dce2b4 Merge branch 'bugfix/ip101_reset_timing_v5.2' into 'release/v5.2'
fix(esp_eth): ip101-specific reset_hw to match reset timings from datasheet (v5.2)

See merge request espressif/esp-idf!29011
2024-03-11 10:37:03 +08:00
Jiang Jiang Jian 54ca68e79f Merge branch 'feature/mmd_access_v5.2' into 'release/v5.2'
esp_eth: Add functions to access PHY using MDIO (v5.2)

See merge request espressif/esp-idf!28839
2024-03-11 10:36:51 +08:00
Jiang Jiang Jian 3f9d7edd72 Merge branch 'feature/ble_mesh_example_light_driver_v5.2' into 'release/v5.2'
feat: replace lightdriver, and support more chips in ble mesh examples(backport v5.2)

See merge request espressif/esp-idf!28919
2024-03-11 10:36:34 +08:00
Jiang Jiang Jian bd2e42b87d Merge branch 'ci/bridge_pytest_v5.2' into 'release/v5.2'
ci(esp_eth): run iperf over longer period for SPI ETH bridge (v5.2)

See merge request espressif/esp-idf!29267
2024-03-11 10:34:24 +08:00
Jiang Jiang Jian a258fa9a59 Merge branch 'fix/fix_curses_py312' into 'release/v5.2'
Fix Access Violation Error on Windows with Python 3.12

See merge request espressif/esp-idf!29289
2024-03-11 10:33:38 +08:00
Jiang Jiang Jian afe0e318c1 Merge branch 'bugfix/nvs_lock_initi_and_multipage_blob_v5.2' into 'release/v5.2'
Bugfix/nvs Improved handling of BLOB during unreliable power environment and concurrent data access scenarios (v5.2)

See merge request espressif/esp-idf!29320
2024-03-11 10:32:21 +08:00
Jiang Jiang Jian f2da2e8b77 Merge branch 'bugfix/eth_link_reset_v5.2' into 'release/v5.2'
fix(esp_eth): Fixed Ethernet link reset when Ethernet is stopped (v5.2)

See merge request espressif/esp-idf!29328
2024-03-11 10:31:09 +08:00
Jiang Jiang Jian 0a83a253ca Merge branch 'bugfix/sdspi_acmd41_arg_v5.2' into 'release/v5.2'
fix(sdmmc): fixes for card initialization (ACMD41) (v5.2)

See merge request espressif/esp-idf!29376
2024-03-11 10:30:52 +08:00
zwx 9da4043cba fix(phy): fix pll track when enabling and disabling PHY frequently 2024-03-11 10:30:22 +08:00
Jiang Jiang Jian 8f89b32938 Merge branch 'update/bump_littlefs_to_1.14.2_v5.2' into 'release/v5.2'
feat: LittleFS bump version to 1.14.2 (v5.2)

See merge request espressif/esp-idf!29453
2024-03-11 10:29:25 +08:00
Jiang Jiang Jian 2ac4df6e47 Merge branch 'feat/newlib-add-aligned-alloc_v5.2' into 'release/v5.2'
feat(newlib): Add definition of aligned_alloc to heap.c (backport v5.2)

See merge request espressif/esp-idf!29470
2024-03-11 10:23:23 +08:00
Jiang Jiang Jian a15fd9846b Merge branch 'fix/bbpll_usb_link_error_backport5.2' into 'release/v5.2'
fix(esp_phy): Allow WiFi/USB interference workaround option only on supported targets (backport v5.2)

See merge request espressif/esp-idf!29481
2024-03-11 10:22:26 +08:00
Jiang Jiang Jian 8def30a57b Merge branch 'bugfix/fix_some_ble_bugs_240310_v5.2' into 'release/v5.2'
Bugfix/fix some ble bugs 240310 v5.2(backport v5.2)

See merge request espressif/esp-idf!29521
2024-03-11 10:21:25 +08:00
zhanghaipeng c2b4a872cb fix(ble/bluedroid): Fixed BLE crash when repeatedly initialize and deinitialize host 2024-03-10 20:01:04 +08:00
zhanghaipeng 8bab1037bb fix(ble/bluedroid): Fixed BLE BLE periodic advertising parameter check 2024-03-10 20:00:49 +08:00
Mahavir Jain bf17be96b4 Merge branch 'fix/support_gcm_soft_fallback_for_non_aes_ciphers_v5.2' into 'release/v5.2'
fix(mbedtls/gcm): Add support for software fallback for non-AES ciphers in a GCM operation (v5.2)

See merge request espressif/esp-idf!29250
2024-03-08 22:51:58 +08:00
Rahul Tank 259e2ba975 Merge branch 'bugfix/expose_baud_rate_in_menu_v5.2' into 'release/v5.2'
fix(nimble): Exposed the baud rate for hci uart in menuconfig (v5.2)

See merge request espressif/esp-idf!29488
2024-03-08 22:51:30 +08:00
Rahul Tank 909e7fcc3b Merge branch 'features/uart_host_only_tut_v5.2' into 'release/v5.2'
docs(nimble): Improved documentation for uart host only example (v5.2)

See merge request espressif/esp-idf!29490
2024-03-08 22:50:01 +08:00
Rahul Tank 1f8e365608 Merge branch 'bugfix/gap_connect_failed_with_0x0d_v5.2' into 'release/v5.2'
fix(nimble): Revise the help section for the Kconfig macro BLE_RPA_TIMEOUT (v5.2)

See merge request espressif/esp-idf!29492
2024-03-08 22:43:42 +08:00
Jan Beran eca7d88db5 fix(menuconfig): Prevent Access violation on Windows with Python 3.12
Closes https://github.com/espressif/esp-idf/issues/13232
2024-03-08 13:11:25 +01:00
radek.tandler 36092067a0 fix(nvs): Fixed Page::findItem performance degradation caused by wrong condition before hash map use
The condition enabling use of hash map when page is searched for Item was modified
to correct the bug introduced by commit addressing delete of any BLOB_INDEX Items.
This correction returns the performance of findItem to the state before previous change.
2024-03-08 12:57:58 +01:00
Rahul Tank 61f8f1905f Merge branch 'feat/read_multiple_variable_length_v5.2' into 'release/v5.2'
feat(nimble): read multiple variable length characteristics (v5.2)

See merge request espressif/esp-idf!29128
2024-03-08 19:40:21 +08:00
Tomas Rezucha 6f46cd332e fix(usb/host): Fixed crash on MSC disk disconnection 2024-03-08 12:09:48 +01:00
Alexey Lapshin df5d0be767 fix(tools): do not use builtin memcpy/memset/strcpy on xtensa chips
Closes https://github.com/espressif/esp-idf/issues/13228
2024-03-08 13:17:42 +04:00
Island 35630f5e52 Merge branch 'bugfix/fix_ble_max_reconnect_v5.2' into 'release/v5.2'
fix(ble/bluedroid): Update maximum BLE reconnection attempts configuration(backport v5.2)

See merge request espressif/esp-idf!29224
2024-03-08 16:48:22 +08:00
Erhan Kurubas ba28b5a599 refactor(espcoredump): simplify uart/flash write flow 2024-03-08 09:28:07 +01:00
Erhan Kurubas 4544d37078 refactor(espcoredump): replace uart and flash callbacks with aliases 2024-03-08 09:16:11 +01:00
Erhan Kurubas 0077c1234f refactor(espcoredump): keep checksum context in coredump stack 2024-03-08 09:12:09 +01:00
Guillaume Souchere 2fe12978a0 feat(newlib): Add definition of aligned_alloc to heap.c
Add the definition of aligned_alloc to the list of
definitions provided by heap.c.

Note that memalign (strictly equivalent) to aligned_alloc
is already defined in heap.c.
2024-03-08 07:48:34 +01:00
Abhinav Kudnar 756efd4829 fix(nimble): Revise the help section for the Kconfig macro BLE_RPA_TIMEOUT 2024-03-08 11:35:34 +05:30
Roshan Bangar e28a335ef6 docs(nimble): Improved documentation for uart host only example 2024-03-08 10:32:37 +05:30
Roshan Bangar d1ee48208f fix(nimble): Exposed the baud rate for hci uart in menuconfig 2024-03-08 10:26:45 +05:30
Marius Vikhammer 9e5c30baff Merge branch 'bugfix/reset_reasons_v5.2' into 'release/v5.2'
Update reset reasons for C6, H2, P4 and C5 (v5.2)

See merge request espressif/esp-idf!29180
2024-03-08 09:42:36 +08:00
Marius Vikhammer 028093efe6 Merge branch 'fix/esp_system_requires_esp_gdbstub_v5.2' into 'release/v5.2'
fix(esp_system): Updated the CMakeLists.txt to add requirement for esp_gdbstub component (v5.2)

See merge request espressif/esp-idf!29473
2024-03-08 09:18:52 +08:00
Sumeet Singh e5665a198a feat(nimble): read multiple variable length characteristics (v5.2) 2024-03-07 19:48:21 +05:30
Rahul Tank deacd79736 Merge branch 'bugfix/handle_callout_free_in_deinit_v5.2' into 'release/v5.2'
fix(nimble): Handle memory leak in callout deinit (v5.2)

See merge request espressif/esp-idf!29459
2024-03-07 22:02:25 +08:00
Rahul Tank d9be451649 Merge branch 'bugfix/add_esp_timer_get_expiry_time_v5.2' into 'release/v5.2'
fix(nimble): Add support for esp_timer_get_expiry_time to nimble porting layer (v5.2)

See merge request espressif/esp-idf!29462
2024-03-07 21:49:00 +08:00
Tomas Rezucha bbb549c830 fix(esp_phy): Allow WiFi/USB interference workaround option only on supported targets
"Enable USB when phy init" Kconfig option would call esp_phy function
`phy_bbpll_en_usb()` that is not implemented for all targets.
Selecting this option for unsupported target results in linking error.

The necessity of this workaround is now defined soc_caps.h rather than
in the Kconfig.

Closes https://github.com/espressif/esp-idf/issues/12185
2024-03-07 12:47:39 +01:00
mofeifei 8dfbb9e816 docs: update cn trans fatal-errors 2024-03-07 09:29:28 +01:00
Sudeep Mohanty 33271be13b fix(esp_system): Updated the conditions for the GDBStub on Panic Kconfig option
This commit updates the Panic handler behavior Kconfig setting to make
the GDBStub on Panic (CONFIG_ESP_SYSTEM_PANIC_GDBSTUB) option to be only
available when esp_gdbstub is part of the component list of the build.

Closes https://github.com/espressif/esp-idf/issues/13218
2024-03-07 09:29:28 +01:00
Shu Chen 6c1542e151 Merge branch 'fix/openthread_alarm_timer_overflow_v5.2' into 'release/v5.2'
fix(openthread): fix openthread_alarm_timer_overflow (backport v5.2)

See merge request espressif/esp-idf!29390
2024-03-07 15:09:03 +08:00
Rahul Tank 9682d3b355 fix(nimble): Add support for esp_timer_get_expiry_time to nimble porting layer 2024-03-07 11:23:22 +05:30
Rahul Tank 2476315a3b fix(nimble): Handle memory leak in callout deinit 2024-03-07 11:14:40 +05:30
chenjianhua 4ff5528a23 feat(bt/bluedroid): Add ext adv and privacy status check 2024-03-07 12:31:42 +08:00
thekurtovic d406bf02b5 fix(bt/bluedroid): Fixed "reprot" typo in esp_ble_gap_ext_adv_reprot_t 2024-03-07 12:31:36 +08:00
Raghu Saxena 119af9f78f fix(bt/example): Use correct struct type 2024-03-07 12:31:31 +08:00
Joshua cb8a1eb219 fix(bt/blufi): Fixed BluFi module link error(C++ hybrid compilation) 2024-03-07 12:31:25 +08:00
chenjianhua 94c0684fdb fix(bt/bluedroid): Fixed crash when calculating GATTS database hash 2024-03-07 12:31:19 +08:00
chenjianhua 9cc713cd06 fix(bt): Update bt lib for ESP32(5ea2fca)
- Fixed HCI command status event sending for disconnect command
- Fixed LE transmitter test command param check
2024-03-07 12:30:57 +08:00
Jin Cheng e852e0a106 fix(bt/controller): Fixed 3 esp32 bt controller bugs
update esp32 bt-lib (952debf4)

1. Increased the length of queue for coexist requestions
2. fix(bt/controller): Cleared BT SNIFF when no connections exists
3. fix(bt/controller): Corrected a typo in coex module
2024-03-07 12:30:41 +08:00
chenjianhua 15fe8086ee fix(bt): Update bt lib for ESP32(2de69f3)
- Fixed HCI command status event send when LLCP busy
2024-03-07 12:29:41 +08:00
Rahul Tank 391c3a1ce9 Merge branch 'bugfix/addr_resol_for_esp32_v5.2' into 'release/v5.2'
fix(nimble): Added the check to prevent address resolution in case of identity addr for esp32(v5.2)

See merge request espressif/esp-idf!29333
2024-03-07 11:52:39 +08:00
Wang Meng Yang dd70bf2f0a Merge branch 'change/reduce_usage_of_iram_when_bt_in_single_mode_v5.2' into 'release/v5.2'
change(bt/bluedroid): Redirect app functions in controller based on the bluetooth mode(backport v5.2)

See merge request espressif/esp-idf!29225
2024-03-07 11:24:14 +08:00
morris 8bf27c103c Merge branch 'bugfix/fix_flash_encryption_rom_c3_v5.2' into 'release/v5.2'
fix(spi_flash): Fix issue that flash encryption failed while rom_impl config is enabled(backport v5.2)

See merge request espressif/esp-idf!29350
2024-03-07 10:07:25 +08:00
morris 344db9a7e7 Merge branch 'feature/usb_hs_periodic_scheduler_v5.2' into 'release/v5.2'
feat(usb/host): Update ISOC scheduler for HS endpoints (backport 5.2)

See merge request espressif/esp-idf!29399
2024-03-07 10:03:20 +08:00
morris 8b99b2deb0 Merge branch 'contrib/github_pr_13025_v5.2' into 'release/v5.2'
Missing include for rom/uart.h (GitHub PR) (v5.2)

See merge request espressif/esp-idf!29360
2024-03-07 10:02:45 +08:00
morris 78637971e5 Merge branch 'contrib/github_pr_13294_v5.2' into 'release/v5.2'
Flush rgb lcd PSRAM framebuffers after allocation (GitHub PR) (v5.2)

See merge request espressif/esp-idf!29393
2024-03-07 10:02:04 +08:00
morris 6fe8a34ff8 Merge branch 'bugfix/usb_host_usbh_callback_misses_action_v5.2' into 'release/v5.2'
fix(usb): Fix bug where usbh_process() misses an event (v5.2)

See merge request espressif/esp-idf!29364
2024-03-07 10:01:51 +08:00
Island c630c0493a Merge branch 'bugfix/ble_update_lib_20240223_v5.2' into 'release/v5.2'
update lib on release/v5.2

See merge request espressif/esp-idf!29210
2024-03-07 09:42:14 +08:00
Adam Múdry 1cc16ab128 feat: LittleFS bump version to 1.14.2 2024-03-07 01:35:03 +01:00
Roland Dobai 335b970868 Merge branch 'enable_flash_elf_sha_tests_v5.2' into 'release/v5.2'
Enable SHA256 coredump flash integrity verification for all targets (v5.2)

See merge request espressif/esp-idf!29038
2024-03-07 02:51:07 +08:00
Rahul Tank 94bec845ea Merge branch 'bugfix/increase_reattempt_conn_count_v5.2' into 'release/v5.2'
fix(nimble): Increase range of reattempt connection count (v5.2)

See merge request espressif/esp-idf!29340
2024-03-06 22:54:03 +08:00
Abhinav Kudnar a92b18c37e fix(nimble): Added check to prevent addr resolution for identity addr 2024-03-06 20:22:15 +05:30
Roland Dobai c36c0c34a1 Merge branch 'register_gcov_tick_hook_once_v5.2' into 'release/v5.2'
fix(gcov): avoid multiple tick hook registration (v5.2)

See merge request espressif/esp-idf!29272
2024-03-06 22:49:33 +08:00
Rahul Tank c0faa8fa94 Merge branch 'bugfix/move_countv5.2' into 'release/v5.2'
fix(nimble): Fix compilation issue in nimble for -O2 flag (v5.2)

See merge request espressif/esp-idf!29072
2024-03-06 22:49:03 +08:00
Marius Vikhammer 9fe886edcd Merge branch 'bugfix/freertos_tick_hook_build_issue_v5.2' into 'release/v5.2'
fix(freertos/idf): Fix build error when CONFIG_FREERTOS_USE_TICK_HOOK is enabled (v5.2)

See merge request espressif/esp-idf!29434
2024-03-06 20:16:22 +08:00
Roland Dobai 0993dfb880 Merge branch 'fix/py_dep_check_v5.2' into 'release/v5.2'
fix(tools): catch more general errors in python dependency checker (v5.2)

See merge request espressif/esp-idf!29163
2024-03-06 20:16:15 +08:00
Roland Dobai 0c4d864823 Merge branch 'feat/bump_up_pre_commit_hook_v5.2' into 'release/v5.2'
fix: Bump up pre-commit hooks version (v5.2)

See merge request espressif/esp-idf!29252
2024-03-06 20:15:56 +08:00
Roland Dobai 729e5cb126 Merge branch 'fix/idf_tools_diff_python_dir_v5.2' into 'release/v5.2'
fix(tools): Add additional Python environment checks (v5.2)

See merge request espressif/esp-idf!29382
2024-03-06 20:15:29 +08:00
Erhan Kurubas 5ba3b99f2b feat(coredump): use SHA ROM functions for all targets except ESP32
For ESP32, continue using mbedtls due to a required ROM patch for the SHA implementation.
For other targets, we can now leverage the ROM functions.
2024-03-06 13:08:09 +01:00
Marius Vikhammer 57249447a7 Merge branch 'bugfix/esp_intr_free_v5.2' into 'release/v5.2'
fix(esp_hw_support): Fix esp_intr_free when task has no core affinity (v5.2)

See merge request espressif/esp-idf!29193
2024-03-06 19:58:30 +08:00
Mahavir Jain 8c6ce09982 Merge branch 'fix/pmp_idcache_reg_prot_v5.2' into 'release/v5.2'
fix(esp_hw_support): Fix the I/DCACHE region PMP protection (v5.2)

See merge request espressif/esp-idf!29356
2024-03-06 19:55:11 +08:00
Mahavir Jain c83dc69938 Merge branch 'refactor/protocomm_public_hdr_v5.2' into 'release/v5.2'
refactor(protocomm): Make the protocomm `proto-c` headers public (v5.2)

See merge request espressif/esp-idf!29358
2024-03-06 19:54:25 +08:00
Mahavir Jain 00f130621f Merge branch 'bugfix/encrypted_flash_write_safe_addr_v5.2' into 'release/v5.2'
fix(spi_flash): check for safe write address in encrypted flash API (v5.2)

See merge request espressif/esp-idf!29204
2024-03-06 19:53:53 +08:00
Mahavir Jain 64dcc3cee1 Merge branch 'bugfix/host_security_workflow_docs_update_v5.2' into 'release/v5.2'
fix(docs): correct the UART ROM DL mode disable section for ESP32 (v5.2)

See merge request espressif/esp-idf!29308
2024-03-06 19:53:43 +08:00
Marius Vikhammer 93ec3acfce Merge branch 'fix/console_none_build_issues_v5.2' into 'release/v5.2'
fix(console): Fix build issues when CONFIG_ESP_CONSOLE_NONE is enabled (v5.2)

See merge request espressif/esp-idf!29338
2024-03-06 19:52:20 +08:00
Marius Vikhammer eb8e894147 Merge branch 'staging/espcoredump_move_strings_flash_v5.2' into 'release/v5.2'
change(espcoredump): save RAM space by placing constants in flash (backport v5.2)

See merge request espressif/esp-idf!29190
2024-03-06 19:51:21 +08:00
Roland Dobai 53e2f9096d Merge branch 'update/version_5_2_1' into 'release/v5.2'
Update version to 5.2.1

See merge request espressif/esp-idf!29429
2024-03-06 17:55:38 +08:00
Darian Leung c15484ec58 change(freertos): Test tick and idle hooks in options test
Add CONFIG_FREERTOS_USE_TICK_HOOK and CONFIG_FREERTOS_USE_IDLE_HOOK to
sdkconfig.ci.freertos_options to ensure those options are tested.
2024-03-06 13:52:51 +08:00
Darian Leung e4eaa28b82 fix(freertos/idf): Fix build error when CONFIG_FREERTOS_USE_TICK_HOOK is enabled
Closes https://github.com/espressif/esp-idf/issues/13297
2024-03-06 13:52:13 +08:00
Roland Dobai a322e6bdad change(version): Update version to 5.2.1 2024-03-05 16:58:26 +01:00
Roland Dobai 99daa62628 Merge branch 'ci/full_fetch_while_check_version_v5.2' into 'release/v5.2'
ci: use full fetch while checking git tags (v5.2)

See merge request espressif/esp-idf!29427
2024-03-05 23:46:50 +08:00
Fu Hanxi 112488fbcf ci: use full fetch while checking git tags 2024-03-05 15:40:01 +01:00
Tomas Rezucha e3f811b5b8 feat(usb/host): Update ISOC scheduler for HS endpoints
USB-OTG uses 'sched_info' field of HCTSIZ register to schedule transactions
in USB microframes.
2024-03-04 10:00:35 +01:00
Markus Ebner 05ff8169f7 fix(esp_lcd): Flush rgb lcd PSRAM framebuffers after allocation
Flush PSRAM framebuffers after allocation to avoid visual corruption.

Merges https://github.com/espressif/esp-idf/pull/13294
Closes https://github.com/espressif/esp-idf/issues/13293
2024-03-04 15:55:04 +08:00
Marius Vikhammer 7ec8266e77 Merge branch 'bugfix/serial_jtag_v5.2' into 'release/v5.2'
fix(usb_serial_jtag): Fix issue that boot failed on esp32c3 (for v5.2)

See merge request espressif/esp-idf!29381
2024-03-04 15:20:20 +08:00
xiaqilin b98b548f01 fix(openthread): fix openthread alarm timer calculation remaining_us overflow issue 2024-03-04 15:14:08 +08:00
Cao Sen Miao 194b616c36 fix(usb_serial_jtag): Fix issue that boot failed on esp32c3,
Closes https://github.com/espressif/esp-idf/issues/13197
2024-03-04 10:19:47 +08:00
Roland Dobai 88867e66d1 fix(tools): Add additional Python installation checks
Warn if IDF_PYTHON_ENV_PATH set to a suspicious path with
different ESP-IDF version and/or Python version.

Fail if the virtual environment was created for a different ESP-IDF
version.

Closes https://github.com/espressif/esp-idf/issues/13196
2024-03-01 15:58:06 +01:00
Ivan Grokhotkov f8dde8cebf fix(sdmmc): extend the maximum number of retries of ACMD41
According to the application note in SD Card Physical Specification:

> The host shall set ACMD41 timeout more than 1 second to abort repeat
of issuing ACMD41 when the card does not indicate ready. The timeout
count starts from the first ACMD41 which is set voltage window
in the argument.

Previously, the timeout was exactly one second, and this caused
certain larger-capacity cards to "time out", because they couldn't
finish initialization process in time.
2024-03-01 10:49:44 +01:00
Ivan Grokhotkov 516a4ba28d fix(sdmmc): use correct argument for ACMD41 in SPI mode
ACMD41 argument is different between SD mode and SPI mode.
In SPI mode, the only non-zero bit may be the HCS bit. Unlike the SD
mode, the bits reflecting the host's OCR should be zero.
Previously, we used to set these bits the same way as for the SD mode.
This has caused certain cards to fail initializing, apparently their
controllers have checked the ACMD41 argument more strictly and refused
to finish initialization, resulting in an error such as

    sdmmc_common: sdmmc_init_ocr: send_op_cond (1) returned 0x107

(Note that this error may have other causes than the one fixed in
this commit. For example, if the card doesn't have a sufficient and
stable power supply, it may also fail to complete the internal
initialization process, and will never clear the busy flag in R1
response.)

Closes https://github.com/espressif/esp-idf/issues/6686
Closes https://github.com/espressif/esp-idf/issues/10542
2024-03-01 10:49:43 +01:00
Ricardo Quesada 206f843e82 fix(uart): add missing include for rom/uart.h
Without this include it fails to compile with this error:

```
esp/esp-idf-v5.2/components/esp_rom/include/esp32/rom/uart.h:262:32: error: implicit declaration of function 'UART_STATUS_REG' [-Werror=implicit-function-declaration]
  262 |         status = READ_PERI_REG(UART_STATUS_REG(uart_no));
```

Merges https://github.com/espressif/esp-idf/pull/13025
2024-03-01 14:36:43 +08:00
Laukik Hase 8582b27f1d refactor(protocomm): Make the protocomm proto-c headers public 2024-03-01 10:26:23 +05:30
Laukik Hase 4a7cda8cb0 feat(tools/test_apps): Add violation tests for the flash I/DROM region
- For SoCs supporting PMP
2024-03-01 10:25:08 +05:30
Laukik Hase 68442ecaa0 refactor(esp_hw_support): Remove redundant PMP entry for ROM region
- The ROM text and data sections share the address range
    (see SOC_I/DROM_MASK_LOW - SOC_I/DROM_MASK_HIGH).
  - Initially, we had two PMP entries for this address range - one marking the
    region as RX and the other as R.
  - However, the latter entry is redundant as the former locks the PMP settings.
  - We can divide the ROM region into text and data sections later when we
    define boundaries marking these regions from the ROM.
2024-03-01 10:25:07 +05:30
Laukik Hase a56fc41215 fix(esp_hw_support): Fix the I/DCACHE region PMP protection 2024-03-01 10:25:07 +05:30
Jiang Jiang Jian 4f6cca6f08 Merge branch 'bugfix/fix_c2_disconnect_reason_code_wrong_issue_v5.2' into 'release/v5.2'
fix(wifi): fix esp32c2 disconnect reason code wrong issue(Backport v5.2)

See merge request espressif/esp-idf!29346
2024-03-01 10:56:35 +08:00
Cao Sen Miao 355df44822 fix(spi_flash): Fix issue that flash encryption failed while rom_impl config is enabled
The issue is `esp_flash_write_encryped` function in ROM on ESP32C3, ESP32S3
calls legacy implementation, which uses old configuration. And this causes
write fails.
The solution in this commit is to compile and link this function(and related)
in IRAM instead of the ROM one.
The IRAM cost increases around 1.2KB after the fix
2024-03-01 10:38:27 +08:00
muhaidong d005e71acd fix(wifi): fix esp32c2 disconnect reason code wrong issue 2024-02-29 19:21:18 +08:00
Rahul Tank c410322070 fix(nimble): Increase range of reattempt connection count 2024-02-29 15:57:28 +05:30
Darian Leung 6bacffff21 change(console): Add build test for no console output
This commit adds a build test to test the scenario where both the primary and
secondary console outputs are disabled by Kconfig.
2024-02-29 17:39:34 +08:00
Darian Leung 1f73689c50 fix(console): Fix build issues when CONFIG_ESP_CONSOLE_NONE is enabled
This commit fixes the following build issues when CONFIG_ESP_CONSOLE_NONE is
enabled:

- esp_console_repl.c will have 'defined but unused' warnings on various console
functions.
- esp_console_repl.c does not use "TAG" when CONFIG_ESP_CONSOLE_NONE is
enabled, leading to a "defined by not used" warning.

Closes https://github.com/espressif/esp-idf/issues/12984
2024-02-29 17:36:41 +08:00
Darian Leung 50282f1e7a fix(usb): Fix bug where usbh_process() misses an event
This commit fixes a bug where if multiple concurrent USBH API calls trigger
multiple events on the same device, some events will be lost. As a result,
those lost events don't get processed by the subsequent usbh_process() call.
2024-02-29 16:02:30 +08:00
Ondrej Kosta ed304d5173 fix(esp_eth): Fixed Ethernet link reset when Ethernet is stopped 2024-02-28 15:47:56 +01:00
radek.tandler c4eaf86516 fix(nvs): Improved lockig mechanism for initialization phase 2024-02-28 12:37:21 +01:00
radek.tandler e51277fbc7 fix(nvs): eraseMultiPageBlob to robustly delete all related BLOB_DATA records and respect VER_ANY 2024-02-28 12:37:21 +01:00
radek.tandler 7938bbf3c0 fix(nvs): corrected findItem to return BLOB_DATA when chunkIndex = CHUNK_ANY 2024-02-28 12:37:21 +01:00
radek.tandler 2fc1fabcee fix(nvs): added check and erase of mismatched BLOB_DATA on init 2024-02-28 12:37:21 +01:00
Ivan Grokhotkov 4746554954 fix(nvs): prevent out of bounds write if blob data is inconsistent 2024-02-28 12:37:21 +01:00
Mahavir Jain 016575ccda fix(docs): correct the UART ROM DL mode disable section for ESP32 2024-02-28 08:33:35 +05:30
Erhan Kurubas 1bebd2d8d2 fix(gcov): avoid multiple tick hook registration 2024-02-26 13:56:33 +01:00
Ondrej Kosta 2ceb122ee2 ci(esp_eth): run iperf over longer period for SPI ETH bridge 2024-02-26 12:28:15 +01:00
wuzhenghui df6a32f305 fix(esp_hw_support): fix cache safe check function 2024-02-26 17:42:14 +08:00
Jan Beran 88e3e64348 fix: Bump up pre-commit hooks version 2024-02-26 10:34:39 +01:00
harshal.patil 0f7c9a29a2 ci(mbedtls/gcm): Added test to verify software fallback for non-AES cipher GCM operations 2024-02-26 14:29:20 +05:30
harshal.patil ca4f560f2b fix(mbedtls/gcm): Add support for software fallback for non-AES ciphers in a GCM operation
- Even if the config MBEDTLS_HARDWARE_AES is enabled, we now support fallback
to software implementation of GCM operations when non-AES ciphers are used.
2024-02-26 14:29:18 +05:30
gongyantao c365c5db2a change(bt/bluedroid): Redirect app functions in controller based on the bluetooth mode 2024-02-23 18:57:53 +08:00
zwl a055ee6da6 bugfix(ble) : fixed some ble issues on ESP32-C2 2024-02-23 18:02:57 +08:00
linruihao 1143fea119 docs: update rf coexistenct api guides
1. support esp32c2
2. fix inconsistency between CN and EN docs of rf coexistence
3. adjust the visibility of some contents based on soc_caps
2024-02-23 16:20:18 +08:00
linruihao 3d5852131b fix(esp_coex): add support_coexistence soc_caps for esp32c2 and esp32h2 2024-02-23 16:15:45 +08:00
zhanghaipeng 4521a50db5 fix(ble/bluedroid): Update maximum BLE reconnection attempts configuration 2024-02-23 15:57:45 +08:00
zwl f04e4f99e6 ble(update):
Update c2 lib to 79be7ec9
Update h2 lib to c6f7cb08
Update c6 lib to c6f7cb08
2024-02-23 14:08:03 +08:00
Mahavir Jain 72ba89f191 fix(spi_flash): check for safe write address in encrypted flash API 2024-02-23 12:42:31 +08:00
Jiang Jiang Jian a328e1a08f Merge branch 'bugfix/fixed_some_wifi_bugs_240222_v5.2' into 'release/v5.2'
fix(wifi): fixed some wifi bugs 240222 v5.2 (Backport v5.2)

See merge request espressif/esp-idf!29185
2024-02-23 00:18:45 +08:00
Darshan Dobariya 80a1f5e18c fix(nimble): Fix compilation issue in nimble for -O2 flag (v5.2) 2024-02-22 21:36:12 +05:30
Rahul Tank e573b7cee1 Merge branch 'bugfix/remove_namespace_variable_name_v5.2' into 'release/v5.2'
fix(nimble): update variable name to avoid using keyword (v5.2)

See merge request espressif/esp-idf!28973
2024-02-22 23:58:10 +08:00
Lou Tianhao f0ae83d056 change(pm): use old ext1 api for pytest 2024-02-22 20:06:28 +08:00
Jiang Jiang Jian 8e1cd38970 Merge branch 'c6_auto_dbias_master_hsq_v5.2' into 'release/v5.2'
ESP32C6: Active & sleep dbg and dbias get from efuse to fix the voltage (v5.2)

See merge request espressif/esp-idf!28729
2024-02-22 20:04:08 +08:00
KonstantinKondrashov 2f707291eb fix(esp_hw_support): Fix esp_intr_free when taks has no core affinity
Closes https://github.com/espressif/esp-idf/issues/12608
2024-02-22 13:00:34 +02:00
Omar Chebib f10d734f30 change(espcoredump): save RAM space by placing constants in flash
All the log messages of espcoredump component used to be in DRAM, which would
lower the available RAM space for the user application. Since the cache is always
enabled after an exception, constants can be put in flash.
2024-02-22 18:45:52 +08:00
Peter Dragun 24615ef848 fix(tools): catch more general errors in python dependency checker 2024-02-22 10:23:41 +01:00
Jiang Jiang Jian 2fc023ef95 Merge branch 'bugfix/cannot_jump_range_v5.2' into 'release/v5.2'
fix(temperature_sensor): Cannot switch the range smmothly on esp32h2(backport v5.2)

See merge request espressif/esp-idf!29152
2024-02-22 16:53:41 +08:00
muhaidong 20a3c78034 fix(wifi): fixed some wifi issues
1. fix(wifi/mesh): wait for child disconnect when mesh deinit
2. fix(wifi): fix wifi stop cost too much time
3. fix(clk): clear all lpclk source at clk init
4. fix(wifi): fixed scan and home channel change issues
5. fix(wifi):fix issues that in mplen clear and esp_wifi_set_mode
6. fix(wifi): fix qos encapsulated eapol issue
7. fix(wifi): fixed dhcp offer and dhcp ack data rates
8. fix(wifi): fix lmac_stop_hw_txq issue
2024-02-22 15:36:14 +08:00
morris 383a1e8697 Merge branch 'feat/oled_example_use_new_i2c_master_driver_v5.2' into 'release/v5.2'
feat(i2c_lcd): use new i2c master driver in oled example (v5.2)

See merge request espressif/esp-idf!29178
2024-02-22 15:27:57 +08:00
Jiang Jiang Jian 3f730f2453 Merge branch 'feature/add_fall_back_dns_config_in_menuconfig_v5.2' into 'release/v5.2'
feat(lwip): add fall back dns config in menuconfig (v5.2)

See merge request espressif/esp-idf!29154
2024-02-22 15:21:51 +08:00
muhaidong 1aca617c33 fix(wifi): fix some wifi issues
1. fix qos encapsulated eapol issue
2. fixed dhcp offer and dhcp ack data rates
2024-02-22 15:11:10 +08:00
muhaidong faf0de3b55 fix(example): fixed app partion is too small for binary size 2024-02-22 15:11:00 +08:00
zhangyanjiao 8a6c2fe68f fix(wifi): fixed scan and home channel change issues
1. update scan ap number when clear scan ap records
2. fixed the old_snd filed error in WIFI_EVENT_HOME_CHANNEL_CHANGE event

Closes https://github.com/espressif/esp-idf/issues/13051
2024-02-22 15:09:09 +08:00
liuning 27e3d41026 fix(clk): clear all lpclk source at clk init 2024-02-22 15:07:59 +08:00
hongshuqing b3a73d5b63 feat(pmu): set fix voltage to different mode for esp32c6 2024-02-22 14:49:01 +08:00
Marius Vikhammer e930ff0b1f fix(system): update reset reasons for C6 and H2 2024-02-22 12:37:49 +08:00
Jiang Jiang Jian 77f5391037 Merge branch 'feat/add_test_api_for_sec_v5.2' into 'release/v5.2'
Feat/add test api for sec v5.2

See merge request espressif/esp-idf!29169
2024-02-22 12:20:47 +08:00
Jiang Jiang Jian 9dcc8c9e7d Merge branch 'bugfix/update_spp_doc_v5.2' into 'release/v5.2'
docs(bt/bluedroid): update API documents of SPP (v5.2)

See merge request espressif/esp-idf!29170
2024-02-22 12:20:12 +08:00
morris aa7d73c8a4 feat(i2c_lcd): use new i2c master driver in oled example
Closes https://github.com/espressif/esp-idf/issues/13201
2024-02-22 12:01:30 +08:00
Jiang Jiang Jian 12ae1c19d2 Merge branch 'bugfix/fix_coex_lib_circular_dependency_v5.2' into 'release/v5.2'
fix(esp_coex): fix circular dependency issue on esp32 (v5.2)

See merge request espressif/esp-idf!29155
2024-02-22 11:45:50 +08:00
Island 95b5f1290e Merge branch 'bugfix/ble_mesh_pb_adv_compile_error_v5.2' into 'release/v5.2'
fix(ble_mesh): Fix compiling error when PB-ADV is disabled (v5.2)

See merge request espressif/esp-idf!29151
2024-02-22 11:34:02 +08:00
Jiang Jiang Jian b0fc0210df Merge branch 'bugfix/fix_ble_free_all_crash_issue_5.2' into 'release/v5.2'
fix(ble): Fixed the free_all crash on esp32c6 and esp32h2

See merge request espressif/esp-idf!29161
2024-02-22 11:33:22 +08:00
Abhik Roy 2d03df48b0 fix(lwip): Fixed debug format, added ci test config
Detailed description of the changes:
  - lwip_debug: Fixed string format error in ip6 and napt (espressif/esp-lwip@f5c43549)
  - dns: fix init with only ipv4 enabled (espressif/esp-lwip@5aab73d7)
2024-02-22 11:30:39 +08:00
morris 56c7df9fbd Merge branch 'feat/usb_host_set_device_config_v5.2' into 'release/v5.2'
USB Host: Add enumeration callback filter (backport v5.2)

See merge request espressif/esp-idf!28550
2024-02-22 11:07:43 +08:00
Jiang Jiang Jian 1cd164b8fa Merge branch 'bugfix/fix_some_wifi_bugs_240221_v5.2' into 'release/v5.2'
fix(lwip): fixed some wifi bugs(Backport v5.2)

See merge request espressif/esp-idf!29147
2024-02-22 11:06:56 +08:00
Jiang Jiang Jian 527ce5eb3b Merge branch 'bugfix/spi_eth_recv_alloc_v5.2' into 'release/v5.2'
fix(esp_eth): improved SPI Ethernet _alloc_recv_buf error handling (v5.2)

See merge request espressif/esp-idf!29081
2024-02-22 11:05:26 +08:00
Jiang Jiang Jian 4bf00b2ce2 Merge branch 'bugfix/one_byte_receive_v5.2' into 'release/v5.2'
fix(i2c_master): Fix bug on esp32 that read one byte data fails(backport v5.2)

See merge request espressif/esp-idf!28634
2024-02-22 10:57:52 +08:00
Jin Cheng 5b6fbea041 docs(bt/bluedroid): update API documents of SPP 2024-02-22 09:52:53 +08:00
Jin Cheng 7560b70244 feat(bt/bluedroid): Added an event to notify the encryption mode to applicaiton layer 2024-02-22 09:51:48 +08:00
Jin Cheng fdd1f41836 feat(bt/bluedroid): Added report for the type of link key in ESP_BT_GAP_AUTH_CMPL_EVT 2024-02-22 09:51:48 +08:00
Roland Dobai 61db22a55a Merge branch 'feature/esp32p4_coredump_support_v5.2' into 'release/v5.2'
feat(coredump): add esp32p4 chip support and doc update (v5.2)

See merge request espressif/esp-idf!28391
2024-02-22 02:41:58 +08:00
Rahul Tank e6d7705a67 fix(nimble): update variable name to avoid using keyword (v5.2) 2024-02-21 23:40:18 +05:30
Rahul Tank a707ab946f Merge branch 'bugfix/missing_controller_disabled_guard_v5.2' into 'release/v5.2'
fix(nimble): Fixes related to nimble host only (v5.2)

See merge request espressif/esp-idf!29138
2024-02-22 02:08:42 +08:00
Erhan Kurubas fdc6099961 feat(esp-coredump): add esp32p4 chip support and doc update 2024-02-21 21:26:39 +08:00
Jiang Jiang Jian 34ec96ef23 Merge branch 'feature/spi_eth_no_int_v5.2' into 'release/v5.2'
feat(esp_eth): added SPI Ethernet module polling mode (v5.2)

See merge request espressif/esp-idf!29044
2024-02-21 20:43:46 +08:00
Jiang Jiang Jian 923546b103 Merge branch 'bugfix/fix_double_free_coc_v5.2' into 'release/v5.2'
fix(nimble): Removed double free of packet (v5.2)

See merge request espressif/esp-idf!29031
2024-02-21 20:37:34 +08:00
Jiang Jiang Jian 25290a6c67 Merge branch 'fix/examples_format_sd_card_disable_v5.2' into 'release/v5.2'
fix(examples): Disable formatting SD cards in storage examples by default (v5.2)

See merge request espressif/esp-idf!29003
2024-02-21 20:36:16 +08:00
Jiang Jiang Jian 6e7029016f Merge branch 'bugfix/bunch_tsens_v5.2' into 'release/v5.2'
fix(temperature_sensor): Fix the value is incorrect if disable and enable again (backport v5.2)

See merge request espressif/esp-idf!28626
2024-02-21 20:33:38 +08:00
Jiang Jiang Jian 001b8ff92d Merge branch 'fix/fatfs_sdmmc_triming_v5.2' into 'release/v5.2'
fix(storage/fatfs): check whether sdcard supports trimming (v5.2)

See merge request espressif/esp-idf!28335
2024-02-21 20:26:22 +08:00
Michael (XIAO Xufeng) db3aa57a9b Merge branch 'bugfix/workaround_reset_eof_counter_c3_v5.2' into 'release/v5.2'
fix(adc): workaround to fix adc continuous get less results on c3 (v5.2)

See merge request espressif/esp-idf!29136
2024-02-21 20:08:57 +08:00
ShenWeilong 03da41e7d7 fix(ble): Fixed the free_all crash on esp32c6 and esp32h2 2024-02-21 20:05:48 +08:00
Peter Marcisovsky fac5596767 feat(docs): added usb host enumeration filter description
- CN and EN docs
2024-02-21 12:34:15 +01:00
Peter Marcisovsky d786f187e9 feat(us/host): set device cfg during enumeration
- user callback funciton to set device configuration
      as a part of usb_host_install
    - callback provides device descriptor of a device being enumerated
    - user can set which cfg descriptor the USB device will be set with
    - user can filter device enumeration
    - Kconfig menu to enable callback function
    - usb_host_lib example demonstration
2024-02-21 12:34:04 +01:00
Roshan Bangar 821185d6ec fix(nimble): fixed missing controller disabled guard in esp_nimble_deinit 2024-02-21 16:59:58 +05:30
Rahul Tank 9feab17051 Merge branch 'bugfix/signed_write_fix_v5.2' into 'release/v5.2'
fix(nimble): message to be signed is corrected in signed write (v5.2)

See merge request espressif/esp-idf!29121
2024-02-21 19:22:00 +08:00
linruihao b5a2054070 fix(esp_coex): fix circular dependency issue on esp32
Closes https://github.com/espressif/esp-idf/issues/13113
2024-02-21 19:14:53 +08:00
xueyunfei aa21e87cd9 feat(lwip): add fall back dns config in menuconfig 2024-02-21 19:07:01 +08:00
Cao Sen Miao 4df78f9cff fix(temperature_sensor): Cannot switch the range smmothly on esp32h2 2024-02-21 18:51:29 +08:00
Liu Linyan 63ba58e9a8 fix(ble_mesh): Fix compiling error when PB-ADV is disabled
Closes https://github.com/espressif/esp-idf/issues/13203
2024-02-21 18:46:49 +08:00
Cao Sen Miao 715ee3576e fix(i2c_master): Fix bug on esp32 that read one byte data fails 2024-02-21 18:42:21 +08:00
mofeifei 3e6adac5bf docs: update cn trans usb_host.rst 2024-02-21 11:33:07 +01:00
Roman Leonov 8d6167a9ab feat(docs): added USB Host Stack Configuration description 2024-02-21 11:33:07 +01:00
Ondrej Kosta 4df9fa5b50 fix(esp_eth): improved SPI Ethernet _alloc_recv_buf error handling 2024-02-21 10:07:12 +01:00
muhaidong d0afffe8c9 fix(wifi): fix esp_wifi_scan_start memory leakage issue
Closes https://github.com/espressif/esp-idf/issues/10693
2024-02-21 16:32:31 +08:00
muhaidong ffd01bf73b fix(lwip): fix log format resulting in compilation failue issue
Closes https://github.com/espressif/esp-idf/issues/12982
2024-02-21 16:32:14 +08:00
muhaidong fb9db0b7ea fix(wifi): fix smart config bssid set issue 2024-02-21 16:31:53 +08:00
MinZai97 fde5e93ab5 feat: replace lightdriver, and support more chips in ble mesh examples 2024-02-21 15:32:58 +08:00
Jiang Jiang Jian 4a3f224fe1 Merge branch 'bugfix/esp32c2_eap_auth_v5.2' into 'release/v5.2'
fix(wifi): Added low heap usage Kconfig option for eap enterprise (v5.2)

See merge request espressif/esp-idf!28824
2024-02-21 14:31:32 +08:00
Sumeet Singh 2e1e17524e fix(nimble): message to be signed is corrected in signed write (v5.2) 2024-02-21 11:45:55 +05:30
gaoxu 94ef39472b fix(adc): workaround to fix adc continuous get less results on c3 2024-02-21 13:38:46 +08:00
Marius Vikhammer 0c8b9f75f4 Merge branch 'feature/breathe_faster_v5.2' into 'release/v5.2'
feat(docs): use a faster fork of breathe-doc/breathe (v5.2)

See merge request espressif/esp-idf!28346
2024-02-21 12:01:48 +08:00
Cao Sen Miao c5759b6d2b fix(tsens): 300us delay in phy cause extra power consumption 2024-02-21 11:58:30 +08:00
Cao Sen Miao b69ac0fb27 fix(tsens,adc): Fix issue that disable adc will make temperature sensor crash,
Closes https://github.com/espressif/esp-idf/issues/12921
2024-02-21 11:58:26 +08:00
Cao Sen Miao 84e44e230b fix(temperature_sensor): Fix the value is incorrect if disable and enable again
Closes https://github.com/espressif/esp-idf/issues/12864
2024-02-21 11:58:22 +08:00
Mahavir Jain c05940a0fb Merge branch 'ci/test_limit_main_cleanup_v5.2' into 'release/v5.2'
ci(test_apps): limit dependencies for misc test_apps (v5.2)

See merge request espressif/esp-idf!29135
2024-02-21 11:44:05 +08:00
Jiang Jiang Jian 7e9a9b35ea Merge branch 'bugfix/mbo_api_flag_v5.2' into 'release/v5.2'
fix(wpa_supplicant):Add MBO config flag for mbo apis(v5.2)

See merge request espressif/esp-idf!28698
2024-02-21 11:08:09 +08:00
Jiang Jiang Jian 8a0132aacf Merge branch 'bugfix/ble_mesh_ble_advtype_v5.2' into 'release/v5.2'
ble_mesh: update ble mesh ble adv type(backport v5.2)

See merge request espressif/esp-idf!28916
2024-02-21 11:05:21 +08:00
Jiang Jiang Jian 62dbf69c0a Merge branch 'bugfix/ble_mesh_deinit_reinit_v5.2' into 'release/v5.2'
feat: ble mesh: improve ble mesh deinit when nimble enable(backport v5.2)

See merge request espressif/esp-idf!28926
2024-02-21 11:04:04 +08:00
Jiang Jiang Jian 7a9b686174 Merge branch 'bugfix/struct_init_order_blemesh_v5.2' into 'release/v5.2'
ble_mesh: example: fix the structure init order to meet C++ requirements(backport v5.2)

See merge request espressif/esp-idf!28928
2024-02-21 11:01:01 +08:00
Marius Vikhammer f1561c6bc9 Merge branch 'contrib/github_pr_12867_v5.2' into 'release/v5.2'
fix(esp32): Removed rogue semicolon in #define in esp_smartconfig.h (GitHub PR) (v5.2)

See merge request espressif/esp-idf!29111
2024-02-21 11:00:38 +08:00
Jiang Jiang Jian 3c7c5829b7 Merge branch 'h2_auto_dbias_master_hsq_v5.2' into 'release/v5.2'
ESP32H2: Active & sleep dbias get from efuse to fix the voltage (v5.2)

See merge request espressif/esp-idf!28714
2024-02-21 10:49:16 +08:00
Ivan Grokhotkov 4eaefbab43 feat(docs): use a faster fork of breathe-doc/breathe
See https://github.com/breathe-doc/breathe/discussions/962
2024-02-21 10:44:24 +08:00
Marius Vikhammer da6412b216 Merge branch 'bugfix/bootloader_custom_rtc_data_crc_v5.2' into 'release/v5.2'
fix(bootloader): add legacy retained memory CRC calculation (backport v5.2)

See merge request espressif/esp-idf!28937
2024-02-21 10:43:50 +08:00
Jiang Jiang Jian 683ec8053d Merge branch 'feature/littlefs_example_bump_version_lower_idf_version_v5.2' into 'release/v5.2'
feat: LittleFS example bump version to 1.13.0 (v5.2)

See merge request espressif/esp-idf!28479
2024-02-21 10:43:47 +08:00
Lou Tianhao 901c5624d3 change(pm): change CMakeLists for wakeup pytest 2024-02-21 10:42:39 +08:00
Lou Tianhao 229a974252 change(pm): change test_io_wakeup 2024-02-21 10:42:39 +08:00
Lou Tianhao 0cdaf0008d feat(pm): add test_io_wakeup 2024-02-21 10:42:39 +08:00
Marius Vikhammer bab0fa8a03 ci(test_apps): limit dependencies for misc test_apps
Only pull in direct dependencies for the test apps, reducing build time
as well making it possible for CI to determine if the test should run or not
when dependencies are changed.
2024-02-21 09:34:29 +08:00
Aditya Patwardhan 546e9e0b6e Merge branch 'bugfix/anti_rollback_check_regression_v5.2' into 'release/v5.2'
fix(bootloader_support): check the secure version only for app image (v5.2)

See merge request espressif/esp-idf!29127
2024-02-20 23:30:04 +08:00
Simon H 7e9fdf598e fix(esp_wifi): Remove semicolon from SMARTCONFIG_START_CONFIG_DEFAULT
Removed rogue semicolon from SMARTCONFIG_START_CONFIG_DEFAULT() macro. This
fixes build issues when this macro is used via C++ brace initialization.

Closes https://github.com/espressif/esp-idf/pull/12867

[Darian Leung: Updated commit message]
Signed-off-by: Darian Leung <darian@espressif.com>
2024-02-20 19:43:12 +08:00
morris 7fafe4a9f4 Merge branch 'feature/usb_host_collective_backport_v5.2' into 'release/v5.2'
USB Host: Collective backport to v5.2

See merge request espressif/esp-idf!28095
2024-02-20 18:51:26 +08:00
Marius Vikhammer 98cbd1fd72 Merge branch 'docs/esp_event_minor_update_v5.2' into 'release/v5.2'
fix(docs): Minor update to esp_event.rst for improved user experience (v5.2)

See merge request espressif/esp-idf!29122
2024-02-20 18:26:11 +08:00
Marius Vikhammer 08a50af080 Merge branch 'bugfix/heap_task_includes_v5.2' into 'release/v5.2'
fix(heap): fixed missing include in esp_heap_task_info.h (v5.2)

See merge request espressif/esp-idf!29116
2024-02-20 18:24:30 +08:00
Mahavir Jain b2cdc06789 fix(bootloader_support): check the secure version only for app image
Secure version in the image header is only available for the application
image. However, for certain security workflows, bootloader verifies
itself (own image) and hence the secure version check during that must be
avoided.

Regression introduced in recent commit-id: 3305cb4d

Tested that both secure boot and flash-enc workflows work correctly
with the anti-rollback scenario.
2024-02-20 14:45:27 +05:30
Shu Chen dbbe2cf173 Merge branch 'backport5.2/openthread_backport' into 'release/v5.2'
some openthread changes backport to release/v5.2

See merge request espressif/esp-idf!28637
2024-02-20 17:01:36 +08:00
Marius Vikhammer cb270eebd6 Merge branch 'bugfix/remove_o0_bootloader_v5.2' into 'release/v5.2'
fix(build): remove CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE option from c6, h2 and p4 (v5.2)

See merge request espressif/esp-idf!28752
2024-02-20 16:52:33 +08:00
Sudeep Mohanty 7801d5bad0 fix(docs): Minor update to esp_event.rst for improved user experience
This commit adds semicolons in c-code blocks in esp_event.rst for
improved user experience when directly copying and pasting code.

Closes https://github.com/espressif/esp-idf/issues/13156
2024-02-20 07:52:19 +01:00
Jiang Jiang Jian 5cb1e9f6f4 Merge branch 'feat/support_get_bluedroid_status_v5.2' into 'release/v5.2'
Support get status of bluedroid host (backport v5.2)

See merge request espressif/esp-idf!28881
2024-02-20 14:33:46 +08:00
aditi_lonkar a3ba6b299d fix(wpa_supplicant):Add MBO config flag for mbo apis 2024-02-20 13:54:20 +08:00
Rahul Tank 768bd4750d Merge branch 'feat/ble_gap_dev_auth_v5.2' into 'release/v5.2'
feat(nimble): Authorize or deauthorize a BLE device for a connection (v5.2)

See merge request espressif/esp-idf!29079
2024-02-20 12:38:35 +08:00
Marius Vikhammer 6b1413c3e9 fix(heap): fixed missing include in esp_heap_task_info.h
Would fail to compile if esp_heap_task_info.h was included without/before freertos includes
2024-02-20 12:04:45 +08:00
morris 1156370c00 Merge branch 'bugfix/fix_adc_reset_issue_on_legacy_v5.2' into 'release/v5.2'
fix(adc): fix adc continuous get less results beacuse do not reset apb clk(legacy) (v5.2)

See merge request espressif/esp-idf!28332
2024-02-20 11:25:00 +08:00
zwx fff9980a5b feat(openthread): disable the rx on when idle in coex scenario 2024-02-20 10:41:10 +08:00
zwx cb04df5ddf fix(openthread): fix RCP handle timeout crashing issue
* update openthread upstream
2024-02-20 10:41:00 +08:00
zwx a64744883d fix(openthread): support uart ISR in IRAM 2024-02-20 10:32:10 +08:00
zwx 3a9bf62ed6 fix(802154): fix pending tx will be delayed issue 2024-02-20 10:32:00 +08:00
Shu Chen bec90ce050 docs(ieee802154): add migration note for the receive done handler feature 2024-02-20 10:31:29 +08:00
Shu Chen c923dd4df4 feat(ieee802154): make the receive done handler feature mandatory 2024-02-20 10:31:29 +08:00
Shu Chen 1085fece61 feat(ieee802154): remove the ieee802154 lib submodule 2024-02-20 10:31:29 +08:00
xieqinan fdd3f2d734 feat(zigbee): Updated Zigbee examples to align with esp-zigbee-lib v1.0.9 2024-02-20 10:31:29 +08:00
zwx 51bc01b557 feat(openthread): support openthread radio caps rx on when idle 2024-02-20 10:31:29 +08:00
xiaqilin dfb75ff2ac fix(ieee802154): add next operation in ieee802154 test when rx abort by tx ack coex 2024-02-20 10:31:29 +08:00
zwx f978fc10c0 feat(802.15.4): introduce pending tx while rx feature 2024-02-20 10:31:29 +08:00
zwx 4184b48aa8 feat(openthread): integrate console command with ot command 2024-02-20 10:31:29 +08:00
Xu Si Yu 06cca86017 feat(openthread): add menuconfig for openthread address query 2024-02-20 10:31:29 +08:00
Xu Si Yu 4ddb253788 fix(openthread): set spinel frame buffer to member variables 2024-02-20 10:31:29 +08:00
Xu Si Yu 936bba8073 feat(openthread): support esp openthread radio spinel 2024-02-20 10:31:29 +08:00
Xu Si Yu 0e95c6cd60 fix(ci): increase inspection time of openthread sleepy device case 2024-02-20 10:31:29 +08:00
Xu Si Yu 4d65903602 feat(ci): add a case for openthread border router meshcop 2024-02-20 10:31:29 +08:00
Darshan Dobariya d9de786520 feat(nimble): Authorize or deauthorize a BLE device for a connection (v5.2) 2024-02-19 16:27:45 +05:30
Rahul Tank e0944287f3 Merge branch 'bugfix/backport_ble_nimble_fixes_5.2' into 'release/v5.2'
fix(nimble) : Bugfix/backport ble nimble fixes 5.2

See merge request espressif/esp-idf!29098
2024-02-19 18:04:35 +08:00
Darian Leung 471fe41828 refactor(soc): Remove soc/usb_types.h
This header has been removed for the following reasons:

- Header is misplaced. 'xxx_types.h' headers should be placed in the 'hal'
component.
- The 'usb_xxx_endpoint_t' should be placed in the 'xxx_struct.h' header.
2024-02-19 15:45:04 +08:00
Darian Leung b07a43e630 refactor(soc): Rename usb_otg_periph to usb_dwc_periph
- Renamed usb_otg_periph.h/c to usb_dwc_periph.h/c to match naming convention
of other DWC OTG related files
- Added compatibility header for usb_otg_periph.h
2024-02-19 15:45:04 +08:00
Darian Leung 50b3a35c52 refactor(soc): Deprecate usb pin mappings
usb_pins.h and usb_periph.h/c lists mappings of USB DWC signals to GPIOs used
to connect to external FSLS PHYs. However, those signals can be routed to any
GPIOs via the GPIO matrix. Thus, these mapping are meaningless and have been
deprecated.
2024-02-19 15:45:03 +08:00
Darian Leung 86fb02efa4 refactor(hal): Remove usb_hal and usb_ll
This commit removes some legacy USB related HAL and LL files that are no longer
used.
2024-02-19 15:45:03 +08:00
Tomas Rezucha f57ef07e14 feat(usb/host): Calculate FIFO sizes based on USB configuration 2024-02-19 15:45:02 +08:00
Darian Leung 2f6e45c79b refactor(usb): Deprecate CONFIG_USB_OTG_SUPPORTED, use SOC_USB_OTG_SUPPORTED instead
Previously, USB build dependencies used the CONFIG_USB_OTG_SUPPORTED. However,
they could depend on `soc_caps.h` instead.
2024-02-19 15:45:02 +08:00
Darian Leung f0219b73f9 refactor(hal/usb): Rename usb_fsls_phy API to match header/source names
Note: Also fixed some formatting issues in usb_wrap_struct.h
2024-02-19 15:45:02 +08:00
Darian Leung f2ede42191 refactor(hal/usb): Rename usb_phy files to usb_fsls_phy
This commit renames USB PHY related HAL files from "usb_phy_xxx" to
"usb_fsls_phy_xxx" since they are only designed to support Full-Speed/Low-Speed
Serial USB PHYs. This renmaing is done to accommodate future USB PHYs that use
other PHY interfaces (e.g., UTMI, ULPI etc).
2024-02-19 15:45:01 +08:00
Darian Leung c1f0823795 refactor(hal/usb): Remove usage of old USB OTG config macros 2024-02-19 15:45:01 +08:00
Darian Leung d08b90c5cc refactor(soc/host): Update USB OTG struct fields
This commit updates the "*_struct.h" files for the USB OTG peripheral:

- Added/removed some missing/non-existing register fields
- Added "reserved" place holders for registers that are missing due to IP
configuration.
- Added "usb_dwc_cfg.h" listing the USB OTG IP configuration for each target.
- Updated LL/HAL according to register field updates. Also tidied up the include
directives in those headers.
2024-02-19 15:45:00 +08:00
Darian Leung bf9706dc31 refactor(hal/usb): Fix USB OTG compilation dependency
Update "hal/CMakeLists.txt" so that USB OTG related HAL files depend on
the "SOC_USB_OTG_SUPPORTED" capability.
2024-02-19 15:45:00 +08:00
Darian Leung 3964fb2d04 refactor(usb/host): reformat code with astyle_py 2024-02-19 15:45:00 +08:00
Tomas Rezucha 1e2c271bd0 fix(usb/host): Correctly parse bInterval field in HighSpeed EP descriptors
For LS and FS interrupt endpoint: interval = bInterval
For isochronous and HS interrupt endpoint: interval = 2^(bInterval-1)
2024-02-19 15:44:59 +08:00
Tomas Rezucha 0ce4aa114e fix(usb/host): Correctly parse MPS fields in HighSpeed EP descriptors
Bits [11,12] in HighSpeed periodic endpoints specify
the number of additional transaction opportunities per microframe
2024-02-19 15:44:59 +08:00
Island 1c2a6712e3 Merge branch 'bugfix/ble_update_lib_20240125_v5.2' into 'release/v5.2'
Bugfix/ble update lib 20240125 v5.2

See merge request espressif/esp-idf!28710
2024-02-19 15:29:25 +08:00
Island d4dd0d4201 Merge branch 'bugfix/fix_some_ble_issue_v5.2' into 'release/v5.2'
Bugfix/fix some ble issue v5.2(backport v5.2)

See merge request espressif/esp-idf!28617
2024-02-19 15:19:24 +08:00
gaoxu 7ab43c0fbd fix(adc): fix adc continuous get less results beacuse do not reset apb clk(legacy) 2024-02-19 15:02:30 +08:00
Kapil Gupta 3d8fd79a10 fix(wifi): add low memory options for eap enterprise 2024-02-19 14:33:55 +08:00
Sumeet Singh d9561b8fc7 fix(nimble): Out of order messages during SMP causing DOS vulerability (v5.2) 2024-02-19 09:27:55 +05:30
Rahul Tank bc3dcdfc0d fix(nimble): Merge hci_common.h file for all chips 2024-02-19 09:27:09 +05:30
Roshan Bangar 012506114e feat(nimble): Nimble Host only mode over uart 2024-02-19 09:26:34 +05:30
SumeetSingh19 e23a61a47a feat(nimble): client presentation and aggregate format descriptor support 2024-02-19 09:24:34 +05:30
SumeetSingh19 c0f48a19fc feat(nimble): signed write support 2024-02-19 09:24:30 +05:30
SumeetSingh19 7d6f5fa71d feat(nimble): additional AD types for advertisements 2024-02-19 09:24:26 +05:30
SumeetSingh19 16acdf1bbb feat(nimble): authorization permission on gatt read and write 2024-02-19 09:24:21 +05:30
SumeetSingh19 e16882f0cd fix(nimble): allow auto connection and observer role 2024-02-19 09:24:14 +05:30
Jiang Jiang Jian 7e6e769aed Merge branch 'bugfix/ble_bug_backport_20240205' into 'release/v5.2'
Bugfix/ble bug backport 20240205 (backport v5.2)

See merge request espressif/esp-idf!28901
2024-02-19 11:07:29 +08:00
Jiang Jiang Jian 8ab1027fee Merge branch 'bugfix/fix_ble_tx_2m_problem_causing_by_phy_wifi_enable_set_v5.2' into 'release/v5.2'
fix(esp_phy): Fixed BLE TX 2M problem causing by phy_wifi_enable_set() (backport v5.2)

See merge request espressif/esp-idf!28762
2024-02-19 11:04:45 +08:00
Jiang Jiang Jian 65d127da88 Merge branch 'feature/supplicant_bss_extmem_v5.2' into 'release/v5.2'
WiFi: Add support to move supplicant BSS to external memory (v5.2)

See merge request espressif/esp-idf!28743
2024-02-19 11:04:24 +08:00
Jiang Jiang Jian e8548e7a1a Merge branch 'bugfix/fix_pmk_invalid_wpa_or_wpa2_connect_fail_issue_v5.2' into 'release/v5.2'
fix(wifi): fix pmk invalid lead same ssid wpa and wpa2 connect fail issue(Backport v5.2)

See merge request espressif/esp-idf!28666
2024-02-19 11:03:52 +08:00
Jiang Jiang Jian 6bfe219bb1 Merge branch 'ci/enable_ip101_jobs_v5.2' into 'release/v5.2'
ci(esp_eth): enabled Ethernet ip101 jobs (v5.2)

See merge request espressif/esp-idf!28613
2024-02-19 11:02:42 +08:00
Jiang Jiang Jian be718f6849 Merge branch 'ble_dev/added_ble_power_save_pytest_v5.2' into 'release/v5.2'
Added pytest case for BLE power save example v5.2

See merge request espressif/esp-idf!28596
2024-02-19 11:02:06 +08:00
Jiang Jiang Jian 4f5c87a294 Merge branch 'fix/ble_mesh_reject_node_reset_v5.2' into 'release/v5.2'
fix(ble_mesh): reject node-reseting when provision link is active (v5.2)

See merge request espressif/esp-idf!28235
2024-02-19 11:00:18 +08:00
Jiang Jiang Jian 5a557bb595 Merge branch 'bugfix/lan8720_ci_speed_v5.2' into 'release/v5.2'
feat(esp_eth): added ioctl option to read/write PHY registers - v5.2

See merge request espressif/esp-idf!27098
2024-02-19 10:59:46 +08:00
Jiang Jiang Jian bc7ef70189 Merge branch 'ci/new-known_failure_cases_workflow(v5.2)' into 'release/v5.2'
ci: change known_failure_cases workflow(v5.2)

See merge request espressif/esp-idf!27967
2024-02-19 10:59:16 +08:00
Jiang Jiang Jian 2b084b1f6b Merge branch 'feature/support_gdma_retention_v5.2' into 'release/v5.2'
feature: support gdma retention in pd_top lightsleep (v5.2)

See merge request espressif/esp-idf!29090
2024-02-19 10:56:16 +08:00
morris 4bd5fa28b4 Merge branch 'change/usb_host_minor_optimizations_v5.2' into 'release/v5.2'
change(usb/host): Remove unecessary features (v5.2)

See merge request espressif/esp-idf!27593
2024-02-19 10:41:44 +08:00
Darian Leung b7c3f01ac8 change(usb/host): Remove some handler function event flags
This commit removes internal event flags in the USB Host Library event handling
functions (i.e., usb_host_lib_handle_events() and usb_host_client_handle_events()).

Previously, these flags were added to reduce the number of times semaphores
were given. However, these flags were removed as the performance gain is
negligible and made the logic more complicated.

For usb_host_client_handle_events(), the following flags were removed:

- Remove 'events_pending' flag. The semaphore is now always given
- Remove 'blocked' flag. The 'handling_events' flag is already sufficient
- Critical sections are now shortened due to simplication of semaphore usage.

For usb_host_lib_handle_events(), the following flags were removed:

- Remove 'process_pending' flag. The semaphore is now always given
- Renamed 'blocked' flag to 'handling_events'
2024-02-19 06:57:31 +08:00
Darian Leung d9de61cbad change(usb/host): Remove data buffer headers from URBs
This commit removes the ability to reserve a header in the data buffer of an
allocated URB. The header was required for a now defunct implementation of a
synchronous USB Host library API. Thus, headers are no longer required in
URB data buffers.
2024-02-19 06:57:30 +08:00
morris 8d2c1a6265 Merge branch 'bugfix/fix_integral_div_calc_in_hal_util_v5.2' into 'release/v5.2'
fix(hal_utils): add division range check in integral algorithm (v5.2)

See merge request espressif/esp-idf!28628
2024-02-18 16:08:17 +08:00
wuzhenghui eeed231304 ci: enable hardware crypto module for powersave tests 2024-02-18 15:57:19 +08:00
wuzhenghui 2cd8335818 feat(esp_hw_support): support gdma register context sleep retention 2024-02-18 15:57:15 +08:00
Roland Dobai 9e9ff8f17c Merge branch 'ci/pre_commit_sbom_validation_v5.2' into 'release/v5.2'
ci: add sbom validation using pre-commit's post-commit stage (v5.2)

See merge request espressif/esp-idf!28228
2024-02-18 15:35:22 +08:00
Roland Dobai ab9ee3002f Merge branch 'fix/kconfig_check_pre_commit_v5.2' into 'release/v5.2'
Tools: Fix KConfig files checks in pre-commit hook (backport v5.2)

See merge request espressif/esp-idf!28303
2024-02-18 15:34:59 +08:00
Roland Dobai 6b590a7ae2 Merge branch 'update/kconfig_pre-commit_version_v5.2' into 'release/v5.2'
ci(pre-commit): Update esp-idf-kconfig version (backport v5.2)

See merge request espressif/esp-idf!28513
2024-02-18 15:34:33 +08:00
Roland Dobai 7ab6811a39 Merge branch 'fix/runtool_crcrlf_v5.2' into 'release/v5.2'
fix: save RunTool command output with correct line endings (v5.2)

See merge request espressif/esp-idf!28677
2024-02-18 15:34:14 +08:00
Roland Dobai 2193e441c2 Merge branch 'fix/harden_hints_parsing_v5.2' into 'release/v5.2'
fix: harden input parsing in component_requirements hint module (v5.2)

See merge request espressif/esp-idf!28708
2024-02-18 15:34:04 +08:00
Roland Dobai 2719ecbec4 Merge branch 'feature/python-reorder-imports-instead-isort_v5.2' into 'release/v5.2'
feat: Use python-reorder-imports instead of isort (v5.2)

See merge request espressif/esp-idf!28731
2024-02-18 15:33:45 +08:00
Roland Dobai 202c60bf6b Merge branch 'bugfix/kconcheck_file_checks_v5.2' into 'release/v5.2'
Bugfix/kconcheck file checks v5.2

See merge request espressif/esp-idf!28976
2024-02-18 15:33:12 +08:00
Roland Dobai 04ce3affe9 Merge branch 'coredump_traverse_state_lists_v5.2' into 'release/v5.2'
Improve the probability of accessing healthy TCBs (v5.2)

See merge request espressif/esp-idf!28662
2024-02-18 15:32:18 +08:00
Roland Dobai 0d3486b07d Merge branch 'fix/gdbgui_py311_v5.2' into 'release/v5.2'
Tools: Fix support of gdbgui on Unix with Python 3.11 (v5.2)

See merge request espressif/esp-idf!28313
2024-02-18 15:31:50 +08:00
InfiniteYuan e8d7ecaec8 feat: ble mesh: improve ble mesh deinit when nimble enable 2024-02-18 11:35:47 +08:00
morris 6717fa0304 Merge branch 'bugfix/fix_modbus_tcp_slave_examples_use_events_v52' into 'release/v5.2'
fix(examples/modbus): fix modbus slave examples may process event flags incorrectly (Backport v5.2)

See merge request espressif/esp-idf!28246
2024-02-18 11:31:36 +08:00
Alex Lisitsyn 97d87072fc fix(examples/modbus): fix modbus slave examples may process event flags incorrectly (Backport v5.2) 2024-02-18 11:31:36 +08:00
morris 81dc597d1f Merge branch 'bugfix/fix_incorrect_regbase_name_of_i2s_v5.2' into 'release/v5.2'
fix(i2s): fixed incorrect reg base name on C3 (v5.2)

See merge request espressif/esp-idf!28629
2024-02-18 11:29:42 +08:00
morris cc60b86324 Merge branch 'bugfix/fix_wrong_dcache_0_size_issue_on_s2_v5.2' into 'release/v5.2'
fix(cache): fix wrong dcache size 0 configuration issue on s2 (v5.2)

See merge request espressif/esp-idf!28289
2024-02-18 11:24:52 +08:00
morris c647b3fddb Merge branch 'bugfix/i2c_eeprom_init_goto_use_after_free_v5.2' into 'release/v5.2'
fix: i2c_eeprom_init use after free when error (v5.2)

See merge request espressif/esp-idf!28478
2024-02-18 11:02:30 +08:00
Marius Vikhammer 0810501755 Merge branch 'bugfix/soft_uart_send_dummy_byte_v5.2' into 'release/v5.2'
fix(peripheral_drivers/dedicated_gpio): Remove dummy byte from the emulate_uart_send routine (backport v5.2)

See merge request espressif/esp-idf!28686
2024-02-18 11:00:58 +08:00
morris a65db35c13 Merge branch 'bugfix/bod_threshold_v5.2' into 'release/v5.2'
fix(bod): Fix BOD threshold value on ESP32H2(backport v5.2)

See merge request espressif/esp-idf!28622
2024-02-18 11:00:47 +08:00
morris 9875bee9d8 Merge branch 'bugfix/fix_wrong_dcache_0_size_issue_on_s2_v5.2' into 'release/v5.2'
fix(cache): fix wrong dcache size 0 configuration issue on s2 (v5.2)

See merge request espressif/esp-idf!28289
2024-02-18 10:58:20 +08:00
morris eae7bba46f Merge branch 'feature/usb_hs_support_v5.2' into 'release/v5.2'
feat(usb/host): Add High Speed enumeration types (backport v5.2)

See merge request espressif/esp-idf!28058
2024-02-18 10:57:33 +08:00
morris df558f4f39 Merge branch 'feature/bytes_encoder_config_update_v5.2' into 'release/v5.2'
feat(rmt): support update bytes encoder configurations at runtime (v5.2)

See merge request espressif/esp-idf!28381
2024-02-18 10:54:54 +08:00
morris 18d0413087 Merge branch 'contrib/github_pr_12963_v5.2' into 'release/v5.2'
fix misformatted link (GitHub PR) (v5.2)

See merge request espressif/esp-idf!28754
2024-02-18 10:53:44 +08:00
morris 715df99f8c Merge branch 'contrib/github_pr_12908_v5.2' into 'release/v5.2'
spi_lcd: add flag to control the DC level in cmd/param/data phase separately (GitHub PR) (v5.2)

See merge request espressif/esp-idf!28240
2024-02-18 10:53:28 +08:00
morris 9961629d58 Merge branch 'feature/rmt_encoder_memory_allocator_v5.2' into 'release/v5.2'
feat(rmt): added a help function for allocating encoder memory (v5.2)

See merge request espressif/esp-idf!28790
2024-02-18 10:52:39 +08:00
morris de6aecf2ab Merge branch 'contrib/github_pr_13020_v5.2' into 'release/v5.2'
fix (esp_lcd): Don't assume panels are 16bit in VSYNC restart logic (GitHub PR) (v5.2)

See merge request espressif/esp-idf!28810
2024-02-18 10:52:27 +08:00
morris 48e3103c8c Merge branch 'bugfix/mcpwm_reset_generator_gpio_v5.2' into 'release/v5.2'
fix(mcpwm): reset GPIO used by generator after delete (v5.2)

See merge request espressif/esp-idf!28831
2024-02-18 10:51:52 +08:00
Marius Vikhammer 2c0d846eaf Merge branch 'bugfix/rtc_i2c_not_in_od_mode_v5.2' into 'release/v5.2'
fix(ulp_riscv): Updated RTC I2C to use open-drain IOs (v5.2)

See merge request espressif/esp-idf!28931
2024-02-18 10:47:55 +08:00
Marius Vikhammer 709d8ef685 Merge branch 'fix/heap-trace-hash-map-remove_v5.2' into 'release/v5.2'
fix(heap): prevent double traversal of hashmap in map_find_and_remove (backport v5.2)

See merge request espressif/esp-idf!28062
2024-02-18 10:47:04 +08:00
Marius Vikhammer 47b7e61dc3 Merge branch 'contrib/github_pr_12785_v5.2' into 'release/v5.2'
Provide ulp_adc_deinit() API to fix ADC1 handle leakage (GitHub PR) (v5.2)

See merge request espressif/esp-idf!28455
2024-02-18 10:41:30 +08:00
Marius Vikhammer 6b6ca2d1ca Merge branch 'bugfix/linenoise_calculates_negative_prompt_len_v5.2' into 'release/v5.2'
fix(console): Fixed linenoise prompt length calculation (v5.2)

See merge request espressif/esp-idf!28526
2024-02-18 10:40:37 +08:00
Marius Vikhammer 0d48a7cda4 fix(build): remove CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE option from c6, h2 and p4
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE doesnt really have many use cases, but it will
force us to keep increasing bootloader segment sizes just to allow for building this options.

Deprecate this config for new chips.
2024-02-18 10:40:27 +08:00
Marius Vikhammer 228c9a7538 Merge branch 'bugfix_lp_i2c_not_in_od_mode_v5.2' into 'release/v5.2'
fix(lp_i2c): Fixed an issue where the LP_I2C IO lines were not in open-drain mode (v5.2)

See merge request espressif/esp-idf!28770
2024-02-18 10:39:56 +08:00
Marius Vikhammer b79cfdfb7d Merge branch 'docs/add_cannonical_url_v5.2' into 'release/v5.2'
docs(build): add cannonical stable url to all docs (v5.2)

See merge request espressif/esp-idf!28847
2024-02-18 10:39:46 +08:00
Wang Meng Yang 3de398b8c4 Merge branch 'doc/update_bluedroid_init_migration_v5.2' into 'release/v5.2'
doc(bt/bluedroid): Update migration docs for new version of API for Bluedroid host stack initialization[backport 5.2]

See merge request espressif/esp-idf!28600
2024-02-18 10:01:29 +08:00
Wang Meng Yang e368a7ab69 Merge branch 'bugfix/a2dp_sink_example_v5.2' into 'release/v5.2'
fix(bt/bluedroid): corrected the strings of A2DP audio states (v5.2)

See merge request espressif/esp-idf!28276
2024-02-18 09:55:15 +08:00
Wang Meng Yang 9e984cd49e Merge branch 'bugfix/no_wakeup_sleep_v5.2' into 'release/v5.2'
fix(ble): Fixed Bluetooth not waking up due to clock drift(v5.2)

See merge request espressif/esp-idf!28720
2024-02-18 09:53:01 +08:00
Wang Meng Yang ee4fdf8447 Merge branch 'bugfix/spp_disc_connect_btqabr2023_156_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fixed SPP connection failure(v5.2)

See merge request espressif/esp-idf!28524
2024-02-18 09:50:25 +08:00
Wang Meng Yang 406e11bea2 Merge branch 'bugfix/fix_dangling_pointer_in_remove_bond_list_section_v5.2' into 'release/v5.2'
fix(bt/bluedroid): fix dangling pointer issue when logging removed section (backport v5.2)

See merge request espressif/esp-idf!28961
2024-02-18 09:45:39 +08:00
Rahul Tank 93ea06fe3e Merge branch 'bugfix/address_resolution_v5.2' into 'release/v5.2'
fix(nimble): Added support for address resolution during inquiry (v5.2)

See merge request espressif/esp-idf!28517
2024-02-17 09:35:55 +08:00
Darshan Dobariya 6ce28ee59b fix(nimble): Added support for address resolution during inquiry. 2024-02-16 20:51:24 +05:30
Rahul Tank 8b08d11e4f Merge branch 'feature/gatt_caching_support_v5.2' into 'release/v5.2'
feat(nimble): Gatt caching support (v5.2)

See merge request espressif/esp-idf!28511
2024-02-16 23:10:39 +08:00
Roshan Bangar c1efc55584 feat(nimble): Gatt caching support 2024-02-16 18:15:56 +05:30
Rahul Tank 99552ebd15 Merge branch 'bugfix/handle_task_lock_v5.2' into 'release/v5.2'
fix(nimble): Remove unwanted task lock check when HS_DEBUG is enabled (v5.2)

See merge request espressif/esp-idf!28417
2024-02-16 20:41:19 +08:00
Mahavir Jain b43aa0404a Merge branch 'fix/build_failure_when_hardware_gcm_is_disabled_v5.2' into 'release/v5.2'
fix(mbedtls/gcm): Fix build failure when config `MBEDTLS_HARDWARE_GCM` is disabled (v5.2)

See merge request espressif/esp-idf!29067
2024-02-16 18:22:01 +08:00
Rahul Tank 600bd44c72 fix(nimble): Remove unwanted task lock check when HS_DEBUG is enabled 2024-02-16 15:33:24 +05:30
Rahul Tank 8b1c532754 Merge branch 'bugfix/reattempt_conn_feat_extended_v5.2' into 'release/v5.2'
fix(nimble): Support for reattempt connection in ext connect (v5.2)

See merge request espressif/esp-idf!28305
2024-02-16 17:58:17 +08:00
Mahavir Jain 1181f59158 Merge branch 'fix/packed-attribute-definition' into 'release/v5.2'
fix(esp_attr): Remove semiclon from PACKED attribute

See merge request espressif/esp-idf!29021
2024-02-16 15:06:07 +08:00
harshal.patil 5862b981ed fix(mbedtls/gcm): Avoid using GCM hardware when config MBEDTLS_HARDWARE_GCM is disabled 2024-02-16 11:54:39 +05:30
harshal.patil 38f13b15d3 fix(mbedtls/gcm): Fix build failure when config MBEDTLS_HARDWARE_GCM is disabled 2024-02-16 11:54:37 +05:30
Rahul Tank 71932c99fc fix(nimble): Support for reattempt connection in ext connect 2024-02-16 11:32:15 +05:30
Rahul Tank 2d36710ca1 Merge branch 'bugfix/enable_addr_resol_across_reboot_v5.2' into 'release/v5.2'
fix(nimble): Enable address resolution across reboot (v5.2)

See merge request espressif/esp-idf!28214
2024-02-16 14:01:14 +08:00
Mahavir Jain d7f19c4a37 Merge branch 'bugfix/ota_anti_rollback_checks_2_v5.2' into 'release/v5.2'
feat(bootloader_support): Read secure_version under sha256 protection (v5.2)

See merge request espressif/esp-idf!29059
2024-02-16 13:55:13 +08:00
Mahavir Jain 585f9a0fc0 Merge branch 'bugfix/fix_esp_http_client_build_failure_with_wifi_v5.2' into 'release/v5.2'
fix: fix esp_http_client_example build failure (v5.2)

See merge request espressif/esp-idf!28760
2024-02-16 13:51:00 +08:00
Mahavir Jain 3549a154b0 Merge branch 'bugfix/fix_http_auth_without_qop_v5.2' into 'release/v5.2'
fix(esp_http_client): Fix http digest auth without qop (v5.2)

See merge request espressif/esp-idf!28757
2024-02-16 13:50:46 +08:00
Mahavir Jain 4beadd4c57 Merge branch 'feat/flash_enc_encrypt_app_image_of_size_image_length_v5.2' into 'release/v5.2'
feat(bootloader_support): Encrypt only the app image instead of the whole partition (v5.2)

See merge request espressif/esp-idf!28265
2024-02-16 13:49:01 +08:00
Mahavir Jain 51d2f67f02 Merge branch 'bugfix/fix_http_client_error_v5.2' into 'release/v5.2'
esp_http_client: Fix reset errno to 0 before call esp_transport_read(backport v5.2)

See merge request espressif/esp-idf!28329
2024-02-16 13:48:43 +08:00
Mahavir Jain 1bd76ee0da Merge branch 'bugfix/update_jtag_disabling_api_v5.2' into 'release/v5.2'
fix(esp_hw_support): fix API esp_hmac_disable_jtag() to disable JTAG (v5.2)

See merge request espressif/esp-idf!28492
2024-02-16 13:48:36 +08:00
Mahavir Jain 360ecf5613 Merge branch 'feature/update_mbedtls_v5.2' into 'release/v5.2'
feat(mbedtls): updated mbedtls version from 3.5.0 to 3.5.2 (v5.2)

See merge request espressif/esp-idf!28892
2024-02-16 13:48:28 +08:00
Mahavir Jain cc2db3d190 Merge branch 'bugfix/soc_cpu_subsys_region_v5.2' into 'release/v5.2'
fix(soc): change debug addr range to CPU subsystem range (v5.2)

See merge request espressif/esp-idf!28671
2024-02-16 13:47:49 +08:00
Bogdan Kolendovskyy 0c20e3bda8 fix(esp_eth): ip101-specific reset_hw to match reset timings from datasheet
IP101 requires 10ms reset assertion time and 10ms post-reset delay to properly initialize.
2024-02-15 15:38:42 +01:00
Mahavir Jain 4c95aa445d fix(ota): additional checks for secure version in anti-rollback case
Some additional checks related to secure version of the application in
anti-rollback case have been added to avoid any attempts to boot lower
security version but valid application (e.g., passive partition image).

- Read secure_version under sha256 protection

- First check has been added in the bootloader to ensure correct secure
  version after application verification and loading stage. This check
  happens before setting up the flash cache mapping and handling over
  the final control to application. This check ensures that application
  was not swapped (e.g., to lower security version but valid image) just
  before the load stage in bootloader.

- Second check has been added in the application startup code to ensure
  that currently booting app has higher security version than the one
  programmed in the eFuse for anti-rollback scenario. This will ensure
  that only the legit application boots-up on the device for
  anti-rollback case.
2024-02-15 15:08:26 +02:00
Ondrej Kosta 79d34bf5d5 feat(esp_eth): added SPI Ethernet module polling mode
Closes https://github.com/espressif/esp-idf/issues/12682
2024-02-14 10:05:22 +01:00
Bogdan Kolendovskyy 8c9657063a esp_eth: Add functions to access PHY using MDIO
Specifically:
  - Set/get address
  - Read/write data at address with specified MDIO access function
  - Read/write both address and data with a single call
2024-02-13 12:49:08 +01:00
Rahul Tank 6f15d6cb1f fix(nimble): Removed double free of packet 2024-02-13 14:38:57 +05:30
Guillaume Souchere 8fbc34a356 fix(esp_attr): Remove semiclon from PACKED attribute
When the macro was introduced, a semicolon was added at the end
of the definition and merged like that in v5.2 release. The semicolon
was then removed in master but the change was never backported in v5.2.

This commit removes the semicolon to the definition of the PATCKED_ATTR
macro in v5.2.

Closes https://github.com/espressif/esp-idf/issues/13149
2024-02-12 09:51:10 +01:00
Adam Múdry aeb4711393 fix(examples): Disable formatting SD cards in storage examples by default 2024-02-08 14:22:30 +01:00
Jakub Kocka 8a6fe49314 fix: Fixed KConfig files that were not succesfully checked 2024-02-07 15:09:35 +01:00
Jakub Kocka 80be245982 docs(kconfig): Updated config name lenght 2024-02-07 13:31:50 +01:00
gongyantao 72a8b4e6e8 fix(bt/bluedroid): fix dangling pointer issue when logging remove section 2024-02-07 14:57:28 +08:00
InfiniteYuan ecedff9884 ble_mesh: example: fix the structure init order to meet C++ requirements
Closes https://github.com/espressif/esp-idf/issues/8110
2024-02-07 10:09:20 +08:00
InfiniteYuan b2dcd46063 ble_mesh: stack: fix the structure init order to meet C++ requirements 2024-02-07 10:09:20 +08:00
morris cc649ea869 Merge branch 'contrib/github_pr_12998_v5.2' into 'release/v5.2'
fix(twai): TWAI_GENERAL_CONFIG_DEFAULT initialize controller_id (GitHub PR) (v5.2)

See merge request espressif/esp-idf!28572
2024-02-06 21:30:26 +08:00
Omar Chebib e10cbd108b fix(bootloader): add legacy retained memory CRC calculation
* Closes https://github.com/espressif/esp-idf/issues/12849

In former versions of ESP-IDF, the user custom memory data in the retained memory
was taken into account during the CRC calculation. This was changed in a later
commit, the custom memory was ignored, therefore this can seen as a breaking change.
This commit gives the possibility to choose between the former (legacy) or
new way of calculating the CRC.
2024-02-06 16:15:24 +08:00
Sudeep Mohanty b8139a609b fix(ulp_riscv): Updated RTC I2C to use open-drain IOs
This commit updates the RTC I2C driver in the ULP RISC-V to initialize
all I2C IOs in open-drain mode.
2024-02-06 08:41:55 +01:00
InfiniteYuan af72c4b94f ble_mesh: update ble mesh ble adv type 2024-02-06 14:14:57 +08:00
morris 5c30cc24fd fix(rgb_lcd): relax the check for the data line GPIO
There are a bunch of cases you might want some pins not exposed.

Eg.

  * Reading say 8 bit data and outputting the top 5 bits, discarding the rest by not mapping those data pins to output pins

 * Not using hsync/vsync because sync data is embedded within the data bits for more timing flexibility (eg. interlacing).

 * Using the LCD module as a high speed parallel data output bus, with no need for sync/control pins.

Removing this validation makes these cases work.

Merges https://github.com/espressif/esp-idf/pull/13103
2024-02-06 10:31:33 +08:00
zhiweijian c924e0cfe4 feat(ble/controller): Add API to get BLE controller status on ESP32 2024-02-05 16:02:07 +08:00
zhiweijian 68d2915377 Fixed xQueueSemaphoreTask assert when deinit host during scan 2024-02-05 16:01:29 +08:00
nilesh.kale 7d358754a2 feat(mbedtls): updated mbedtls version from 3.5.0 to 3.5.2
This updates the submodule mbedtls to its latest version 3.5.2.
2024-02-05 12:50:27 +05:30
chenjianhua 024bccbc58 feat(bt/bluedroid): Support get status of bluedroid host 2024-02-04 16:30:15 +08:00
chenjianhua fc8d80dfab fix(bt/example): Fixed UART HCI when flow control is off on ESP32C3 2024-02-04 16:30:04 +08:00
chenjianhua 7af929f825 feat(bt/bluedroid): Make the max number of bond device to be configurable 2024-02-04 16:28:57 +08:00
zhanghaipeng d0e94733f0 fix(ble/controller): Fixed tx count in direct test mode on ESP32-C3 and ESP32-S3
- Fixed tx count in direct test mode on ESP32-C3 and ESP32-S3
- fixed modem sleep enter failed sometimes
2024-02-04 14:43:05 +08:00
chenjianhua 861318b138 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(91980c2)
- Fixed scheduling when modem sleep wakeup delayed
- Fixed IRQ FIFO overflow when enter critical
- Fixed clock sync timeout for modem sleep
- Fixed directed adv with RPA when privacy disabled
- Fixed instant passed for connection update and PHY update
2024-02-04 14:42:57 +08:00
Marius Vikhammer e0355cd6a8 docs(build): add cannonical stable url to all docs 2024-02-02 10:36:19 +08:00
morris d4db16058d fix(mcpwm): reset GPIO used by generator after delete
Closes https://github.com/espressif/esp-idf/issues/12980
2024-02-01 17:47:55 +08:00
Brian Whitman ab8ab03537 fix(rgb_lcd): don't assume 16 bit width on panels for restart logic
Merges https://github.com/espressif/esp-idf/pull/13020
2024-01-31 18:52:27 +08:00
laokaiyao 03fb722ca5 fix(hal_utils): add division range check in integral algorithm 2024-01-31 12:06:43 +08:00
morris 5ad9e6b87f feat(rmt): added a help function for allocating encoder memory
The encoder memory location should respect the RMT_MEM_ALLOC_CAPS,
which is affected by some Kconfig options, like ISR_IRAM_SAFE

Closes https://github.com/espressif/esp-idf/issues/13032
2024-01-30 17:03:41 +08:00
xiongweichao 0a0aaa23e0 fix(ble): Fixed macro definition error for 136K clock drift 2024-01-30 15:37:59 +08:00
xiongweichao 028f174467 fix(ble): Fixed Bluetooth not waking up due to clock drift 2024-01-30 15:37:44 +08:00
Wu Meng Shi ed4bf92b8e fix(ble_mesh): Reject node reset when provisioning link is active 2024-01-30 10:44:13 +08:00
Sudeep Mohanty a05e40bfe3 fix(lp_i2c): Fixed an issue where the LP_I2C IO lines were not in open-drain mode
This commit fixes an issue where in the LP I2C IO lines were not
initialized in open-drain mode.

Closes https://github.com/espressif/esp-idf/issues/12969
2024-01-29 09:48:16 +01:00
igor.udot dc0f41f7be ci: change known_failure_cases workflow 2024-01-29 15:36:33 +08:00
zhiweijian 49eab1da5c fix(esp_phy): Fixed BLE TX 2M problem causing by phy_wifi_enable_set()
1. Fixed BLE 2M phy TX problem causing by phy_wifi_enable_set() on ESP32-C3 and ESP32-S3
2. Fixed BLE CCA bug on ESP32-C2
3. Fixed wifi boot bug at low temp on ESP32-C6
4. Fixed BLE and WIFI could not receive packets after entering light sleep for a long time on ESP32-C3, ESP32-S3, ESP32-C2 and ESP32-C6
2024-01-29 14:08:46 +08:00
Harshit Malpani 9e472f582b fix: fix esp_http_client_example build failure
Fixed the build failure of esp_http_client_example for ESP32-C6 when
build with Wi-Fi enabled
2024-01-29 11:35:59 +05:30
Mahavir Jain e173895618 fix(soc): change debug addr range to CPU subsystem range
For C6/H2/P4/C5, there is no SoC specific debug range. Instead the same
address range is part of CPU Subsystem range which contains debug mode
specific code and interrupt config registers (CLINT, PLIC etc.).

For now the PMP entry is provided with RWX permission for both machine
and user mode but we can save this entry and allow the access to only
machine mode for this range.

For P4/C5 case, this PMP entry can have RW permission as the debug mode
specific code is not present in this memory range.
2024-01-29 13:57:04 +08:00
Harshit Malpani 302661ed5f fix(esp_http_client): Fix http digest auth without qop
Closes https://github.com/espressif/esp-idf/issues/12962
2024-01-29 11:00:58 +05:30
Gabor Kiss-Vamosi 7598f31cdd fix misformatted link 2024-01-29 13:14:54 +08:00
Kapil Gupta d900eed440 fix(wifi): Add support to move supplicant BSS to external memory 2024-01-27 10:40:54 +05:30
Erhan Kurubas 054f33b386 feat(coredump): improve the probability of accessing healthy TCBs 2024-01-26 22:55:16 +08:00
laokaiyao 66d7410051 fix(i2s): fixed incorrect reg base name on C3
Closes https://github.com/espressif/esp-idf/issues/12643
2024-01-26 18:44:38 +08:00
Jan Beran f90e5e04e0 feat: Use python-reorder-imports instead of isort 2024-01-26 09:51:55 +01:00
zhanghaipeng cc254d8ff3 feat(bt/bluedroid): Support ext adv aux option 2024-01-26 16:21:27 +08:00
zhanghaipeng 62b84e3169 fix(bt/bluedroid): Fix BLE malloc internal wrapper fail 2024-01-26 16:21:27 +08:00
Zeke Gustafson 29e1ca5ddd feat(ble/bluedroid): Add getter for BLE GAP callback 2024-01-26 16:21:27 +08:00
Zeke Gustafson 5ed6abc5e2 feat(ble/bluedroid): Add getter for BLE GATTS callback 2024-01-26 16:21:27 +08:00
zhanghaipeng 9b2e0a2a01 feat(ble/bluedroid): Add getter for BLE GATTC calllback 2024-01-26 16:21:27 +08:00
zhanghaipeng 217ed6c1bf docs(ble/bluedroid): Optimize documentation for BLE duplicate scan 2024-01-26 16:21:27 +08:00
zhanghaipeng 48abf362c0 fix(ble/bluedroid): Fix dangling pointer issue in deletion of bonded devices 2024-01-26 16:21:27 +08:00
zhanghaipeng 14bb24c3ab fix(ble/bluedroid): Fix BLE background connection log level 2024-01-26 16:21:27 +08:00
morris 4ecc978bd6 Merge branch 'fix/i2s_multi_dev_test_fix_v5.2' into 'release/v5.2'
fix(i2s): multi_dev test update to use non_boot_ctrl gpio (v5.2)

See merge request espressif/esp-idf!28701
2024-01-26 16:12:51 +08:00
hongshuqing 9373d53ce7 feat(pmu): set fix voltage to different mode for esp32h2
h2 remove include
2024-01-26 11:36:57 +08:00
KonstantinKondrashov 64b1bd6cb2 feat(efuse): Adds new efuses for esp32c6 2024-01-26 11:36:57 +08:00
KonstantinKondrashov bc6072c754 feat(efuse): Adds new efuse for esp32h2 2024-01-26 11:36:56 +08:00
zwl fdcd6783d7 Update ble lib to eb473dda on ESP32-C6 and ESP32-H2 2024-01-25 20:38:49 +08:00
zwl 410db7f812 feat(ble): add ble controller version output on ESP32-C6 and ESP32-H2 2024-01-25 20:38:43 +08:00
zwl de5644f88c feat(ble): add ble controller status check api on ESP32-C6 and ESP32-H2 2024-01-25 20:38:34 +08:00
zwl f096b66d71 fix(ble): fixed build error when disable sm feature 2024-01-25 20:38:28 +08:00
luomanruo 7503cf2176 Update C6 H2 lib to bb9d578e 2024-01-25 20:38:19 +08:00
Frantisek Hrbata 2b2a838518 fix: harden input parsing in component_requirements hint module
Currently we silently ignore when the original component is not found
in a hope we can provide at least some meaningful hint. As it turned
out it's not true. Instead of providing misleading hint, just return
error. This adds several checks for situations, which should not happen,
but when they do it should be easier to identify the root cause of the
problem.

For example when hint module received malformed output with extra new
lines, e.g. caused by a bug in RunTool, it wrongly reported the original
component as source component.

This should also fix the tests on Windows.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-01-25 13:37:17 +01:00
wanlei 59d25c4d62 fix(i2s): multi_dev test update to use non_boot_ctrl gpio 2024-01-25 16:44:58 +08:00
Omar Chebib 1d283490d3 fix(peripheral_drivers/dedicated_gpio): Remove dummy byte from the emulate_uart_send routine
Let the user application decide for when to send the dummy byte instead of
hardcoding it from the assembly routine.
2024-01-25 10:52:04 +08:00
Frantisek Hrbata 306ea38038 fix: save RunTool command output with correct line endings
Currently RunTool reads command's output with asyncio read, which
returns bytes. This is decoded into python's string and the output already
contains OS specific line endings, which on Windows is CRLF. Problem is
that the command output is saved by using python's text stream/file,
which replaces LF, native python's line ending, with OS specific line ending.
On Windows, and in this particular case, the CRLF from the command output is
translated into CRCRLF and saved in the commands output file. When this
file is read in again, e.g. for hint modules, the CRCRLF is replaced
with LFLF. Again the file is open as text file. Meaning a new emply line
is added.

Fix this by opening the output file with "newline=''", which prevents
this translation. We already have the OS specific line ending in the
command's output.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-01-24 11:07:21 +01:00
muhaidong afe5afd1ba fix(wifi): fix pmk invalid lead same ssid wpa and wpa2 connect fail issue 2024-01-24 10:48:19 +08:00
Cao Sen Miao 6e31efce7f fix(bod): Fix BOD threshold value on ESP32H2 2024-01-23 09:57:59 +08:00
Ondrej Kosta 9048372138 ci(esp_eth): enabled Ethernet ip101 jobs 2024-01-22 13:52:24 +01:00
liqigan c6a2bdbfa1 docs(bt/bluedroid): Update migration docs for new version of API for Bluedroid host stack initialization 2024-01-22 14:19:39 +08:00
Jiang Jiang Jian 11eaf41b37 Merge branch 'bugfix/fix_scan_request_ifs_error_v5.2' into 'release/v5.2'
Fixed BLE scan request ifs time error in coexistence scenarios on ESP32(backport v5.2)

See merge request espressif/esp-idf!28574
2024-01-22 11:01:08 +08:00
cjin cf2c7a433d feat(ble): added pytest for ble power save example 2024-01-22 10:45:27 +08:00
xiongweichao 5ad9e404dc fix(ble): Fixed the issue of being unable to enter light sleep
- Fixed the issue where light sleep cannot be entered when external 32k XTAL does not exist
2024-01-22 10:45:27 +08:00
Island c54555bb01 Merge branch 'bugfix/ble_update_lib_20231229_v5.2' into 'release/v5.2'
update lib on release/v5.2

See merge request espressif/esp-idf!28189
2024-01-22 10:37:49 +08:00
Island 2710c37d51 Merge branch 'bugfix/fix_ble_robost_cashing_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fix BLE robost cashing config(backport v5.2)

See merge request espressif/esp-idf!28201
2024-01-22 10:33:25 +08:00
Island 9156cb085f Merge branch 'bugfix/fix_ble_memory_leak_v5.2' into 'release/v5.2'
fix(ble/bluedroid): Fix ble memory leak when gattc config off(backport v5.2)

See merge request espressif/esp-idf!28495
2024-01-22 10:33:16 +08:00
Island 0c5d2c261d Merge branch 'bugfix/ble_check_adv_data_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fix ble adv data check to avoid memory overflow(backport v5.2)

See merge request espressif/esp-idf!28405
2024-01-22 10:33:00 +08:00
Jiang Jiang Jian 15341d51c2 Merge branch 'bugfix/change_default_value_for_ip_ttl_5.2' into 'release/v5.2'
Fix(lwip):bugfix for change default value for ip ttl 5.2

See merge request espressif/esp-idf!28401
2024-01-19 16:38:39 +08:00
luomanruo 86d6781f68 change(ble): npl count is zero if nimble host is not used
change(ble): added npl eventq put to front

change(ble): added cache safe check in ble power save example

ble(update):
    Update c2 lib to 91b81332
    Update h2 lib to 620fbe79
    Update c6 lib to 620fbe79

fix(ble): fix stack overflow disable at sleep

Revert "change(ble): added ble cca en and thresh option"

This reverts commit 71901499b9.
2024-01-19 16:14:55 +08:00
Jiang Jiang Jian f4e96ada37 Merge branch 'bugfix/fix_systick_lost_in_esp32_dfs_v5.2' into 'release/v5.2'
fix(esp_pm): safely check ccompare validity in DFS update_ccompare (v5.2)

See merge request espressif/esp-idf!28561
2024-01-19 15:10:55 +08:00
Mahavir Jain 5f74ed7419 Merge branch 'feat/add_ble_support_in_local_ctrl_example_v5.2' into 'release/v5.2'
fix(examples): Fix encoding issue in esp_local_ctrl's proto script (v5.2)

See merge request espressif/esp-idf!28127
2024-01-19 11:43:57 +08:00
Mahavir Jain 35e025f8e3 Merge branch 'bugfix/fix_dynamic_mbedtls_crash_v5.2' into 'release/v5.2'
mbedtls: Fix enable dynamic mbedtls will occur heap corruption when server support TLS renegotiation(backport v5.2)

See merge request espressif/esp-idf!28326
2024-01-19 11:42:35 +08:00
Mahavir Jain 9699f27723 Merge branch 'feat/update_cjson_v1_7_17_v5.2' into 'release/v5.2'
feat(cJSON): update submodule to v1.7.17 (v5.2)

See merge request espressif/esp-idf!28348
2024-01-19 11:42:11 +08:00
Jiang Jiang Jian 5408580c41 Merge branch 'bugfix/esp32h2_wakeup_i2c_fail_v5.2' into 'release/v5.2'
fix(esp_phy): fix esp32h2 wakeup i2c fail (backport v5.2)

See merge request espressif/esp-idf!28539
2024-01-19 11:16:16 +08:00
wuzhenghui 3f75f037c0 fix(esp_pm): safely check ccompare validity in DFS update_ccompare 2024-01-19 11:12:22 +08:00
linruihao df1bf06665 fix(esp_coex): Fixed potential BLE scan request ifs timer error bug 2024-01-18 22:36:59 +08:00
zhiweijian 3a429b0310 Fixed BLE scan request ifs timer error in coexistence scenarios 2024-01-18 22:36:48 +08:00
Nebojša Cvetković 24b3a4ee45 fix(twai): TWAI_GENERAL_CONFIG_DEFAULT initialize controller_id
Fix for C++ warning `-Wmissing-field-initializers`
Closes https://github.com/espressif/esp-idf/pull/12998
2024-01-18 20:06:30 +08:00
Jiang Jiang Jian b8bb11402a Merge branch 'bugfix/fix_mac_bb_pd_iwdt_timeout_v5.2' into 'release/v5.2'
fix(ble): fixed interrupt timeout in MAC_BB_PD callback (v5.2)

See merge request espressif/esp-idf!28464
2024-01-18 19:41:19 +08:00
Jiang Jiang Jian 43c854c278 Merge branch 'bugfix/add_disconnect_reason_codes_doc_v5.2' into 'release/v5.2'
docs(wifi): Add documentation for ESP defined disconnect reasoncodes(v5.2)

See merge request espressif/esp-idf!28162
2024-01-18 11:26:05 +08:00
Jiang Jiang Jian 1eb6d90278 Merge branch 'bugfix/fix_crash_issue_when_mesh_deinit_v5.2' into 'release/v5.2'
fix(wifi): fix the crash and malloc fail issue (v5.2)

See merge request espressif/esp-idf!28531
2024-01-18 11:14:52 +08:00
Michael (XIAO Xufeng) e1dfdf26bc Merge branch 'bugfix/recalib_bbpll_before_tuning_v5.2' into 'release/v5.2'
fix(bbpll): fix bbpll may not lock or not stable bug for stop early (ESP32C2/S3/C6/H2) (v5.2)

See merge request espressif/esp-idf!28284
2024-01-17 21:30:10 +08:00
xiaqilin 5a64cdecce fix(esp_phy): fix esp32h2 wakeup i2c fail 2024-01-17 18:48:48 +08:00
zhangyanjiao 69aeebb986 fix(wifi): fix the crash and malloc fail issue
1. fix(wifi/mesh): fix the crash issue when mesh deinit
2. fix(wifi):fix when ap recv auth in sa query porcess will memset psq issue
2024-01-17 16:57:44 +08:00
Sudeep Mohanty 47cd6cd23c fix(console): Fixed linenoise prompt length calculation
This commit fixes a potential issue where in the prompt length used
for the linenoise based console could be calculated as a negative
integer, leading to a console hang.

Closes https://github.com/espressif/esp-idf/issues/4924
2024-01-17 09:42:01 +01:00
xueyunfei 9b555497ca Fix(lwip):bugfix for change default value for ip ttl 2024-01-17 16:37:57 +08:00
zhanghaipeng b1dee3e510 fix(ble/bluedroid): Fix ble memory leak when gattc config off 2024-01-17 15:20:21 +08:00
xiongweichao 773845be66 fix(bt/bluedroid): Fixed SPP connection failure
The connection failure is caused by the BTU and application layer status being out of sync.
2024-01-17 15:13:00 +08:00
Jakub Kocka 55f2d9c1ec ci(pre-commit): Update esp-idf-kconfig version 2024-01-16 13:35:21 +01:00
Jiang Jiang Jian 676917955e Merge branch 'bugfix/some_wifi_fixes_v5.2' into 'release/v5.2'
fix(wifi): backport some wifi changes to v5.2

See merge request espressif/esp-idf!28367
2024-01-16 18:43:38 +08:00
harshal.patil eebdd3f391 feat(bootloader_support): Encrypt only the app image instead of the whole partition
Currently, when flash encryption is enabled, the whole partition gets encrypted.
This can be optimised by encrypting only the app image instead of encrypting the whole partition.

Closes https://github.com/espressif/esp-idf/issues/12576
2024-01-16 14:12:14 +05:30
harshal.patil 4573271d2b fix(bootloader_support): Fix image_length calculation when secure boot v1 is enabled
Fixed the value of the image_length field of the image metadata populated by esp_image_verfiy()
to include the size of the signature sector when Secure Boot V1 is enabled.
2024-01-16 14:12:13 +05:30
morris 414306bd37 feat(rmt): support update bytes encoder configurations at runtime
Closes https://github.com/espressif/esp-idf/issues/12775
2024-01-16 15:59:11 +08:00
morris 977a90b245 Merge branch 'fix/i2c_test_app_change_gpio_v5.2' into 'release/v5.2'
fix(i2c): test app change gpio (v5.2)

See merge request espressif/esp-idf!28483
2024-01-16 15:43:00 +08:00
nilesh.kale 8e5347abd5 fix(esp_hw_support): fix API esp_hmac_disable_jtag() to disable JTAG
After ets_hmac_disable(), invalidating JTAG register process is ineffective.
So, added call to enable hmac begore invalidating JTAG REG.
And similarly disabled it after invalidation.
2024-01-16 12:24:21 +05:30
wanlei af966596d4 fix(i2c): test app change gpio 2024-01-16 11:10:36 +08:00
Adam Múdry 23e9daa239 feat: LittleFS bump version to 1.13.0 2024-01-15 14:35:17 +01:00
Adam Múdry 481b63fa6d fix: i2c_eeprom_init use after free when error 2024-01-15 13:25:11 +01:00
linruihao 0b6c7e6aad fix(ble): fixed interrupt timeout in MAC_BB_PD callback 2024-01-15 16:16:41 +08:00
jgujarathi 40c03f95f8 docs(esp_wifi): Add docs for additional authmode incompatible situation
- Adds documentation for additional situations where authmode incompatible disconnect
  reason code will be reported
2024-01-15 11:24:37 +05:30
Kapil Gupta ffd46a32f7 docs(wifi): Add documentation for ESP defined disconnect reasoncodes 2024-01-15 11:24:15 +05:30
Marius Vikhammer 0a2199d81b change(ulp): added test for ulp adc init/deinit 2024-01-15 11:10:28 +08:00
paul 58dd50120f fix(ulp_adc): Provide ulp_adc_deinit() API to fix ADC1 handle leakage 2024-01-15 11:10:28 +08:00
Li Shuai d1a363a7f8 fix(example): fixed app partition is too small for binary size 2024-01-11 16:51:06 +08:00
Sarvesh Bodakhe aa2451eb88 fix(esp_wifi): Add support for WPA3 + WPA3_EXT_PSK mixed mode and minor bugfixes
- Add support for WPA3 + WPA3_EXT_PSK mixed mode
- Improvements in scan and connect path as per specifications along with
  minor bugfixes
- When AP advertises all PSK modes (WPA, WPA2 and WPA3), make sure that
  station treats it as WPA2_WPA3_PSK mixed mode.

Closes https://github.com/espressif/esp-idf/issues/12517
2024-01-11 16:51:06 +08:00
liuning f759073049 fix(pm): fix no sleep null after data sent (33290e79) 2024-01-11 16:51:06 +08:00
jgujarathi 7c05e2f291 fix(esp_wifi): Report authmode incompatible WPA AP scanned and we require PMF
- Report the authmode incompatible if the scanned AP is in WPA mode and we require PMF
  according to sta config
2024-01-11 16:51:06 +08:00
zhanghaipeng 09475c744f fix(bt/bluedroid): Fix ble adv data check to avoid memory overflow 2024-01-11 16:33:35 +08:00
Jiang Jiang Jian e8a5fdcff3 Merge branch 'feat/max_ver_c3_199_v5.2' into 'release/v5.2'
feat(soc): Increase max supported version of C3 to 1.99 (v5.2)

See merge request espressif/esp-idf!26822
2024-01-11 14:15:49 +08:00
Jiang Jiang Jian ffe6458c30 Merge branch 'backport5.2/fix_ot_br_pcb_ttl' into 'release/v5.2'
fix(openthread): update lib to set raw pcb ttl value (backport v5.2)

See merge request espressif/esp-idf!28220
2024-01-11 14:15:01 +08:00
Jiang Jiang Jian be39aabe00 Merge branch 'fix/esp32h2_rssi_positive_issue_5.2' into 'release/v5.2'
Fix/esp32h2 rssi positive issue 5.2

See merge request espressif/esp-idf!28271
2024-01-11 14:14:29 +08:00
Jiang Jiang Jian eae8973711 Merge branch 'bugfix/increase_btu_task_stack_size_v5.2' into 'release/v5.2'
fix(bt/bludroid): Increase BTU task stack size(backport v5.2)

See merge request espressif/esp-idf!28323
2024-01-11 14:13:30 +08:00
Jiang Jiang Jian 62a4b70b44 Merge branch 'feature/support_hw_trigger_regdma_when_pu_top_v5.2' into 'release/v5.2'
fix(pm): trigger regdma retention by PMU when TOP is not power down on esp32H2 (backport v5.2)

See merge request espressif/esp-idf!28341
2024-01-11 14:12:24 +08:00
Jiang Jiang Jian 581fa1b688 Merge branch 'ci/temp_disable_jobs_v5.2' into 'release/v5.2'
ci: remove ip101 jobs and twai_std jobs (v5.2)

See merge request espressif/esp-idf!28377
2024-01-11 13:45:17 +08:00
Fu Hanxi f317bb15fd ci: remove ip101 jobs and twai_std jobs 2024-01-10 10:27:51 +01:00
Harshit Malpani 49fd283364 feat(cjson): update submodule to v1.7.17
Changelog: https://github.com/DaveGamble/cJSON/releases/tag/v1.7.17
2024-01-09 12:12:39 +05:30
Lou Tianhao 745a1f492e feat(pm): support PMU trigger regdma when PU TOP 2024-01-08 21:23:28 +08:00
Tomáš Rohlínek 871476ad8a fix(storage/fatfs): check whether sdcard supports triming
Closes https://github.com/espressif/esp-idf/issues/12912
2024-01-08 09:34:40 +01:00
Harshit Malpani c784a6915b fix(esp_http_client): Add test case in esp_http_client example
Add a test case in esp_http_client example to test HTTP_METHOD_HEAD
with async mode
2024-01-08 15:39:12 +08:00
jim 38499caa35 esp_http_client: Fix reset errno to 0 before call esp_transport_read
Closes https://github.com/espressif/esp-idf/issues/9020
2024-01-08 15:39:07 +08:00
jim 5a234cf642 mbedtls: Fix enable dynamic mbedtls will occur heap corruption when server support TLS renegotiation 2024-01-08 14:23:32 +08:00
linruihao 07f9c7664d fix(bt/bludroid): Increase BTU task stack size 2024-01-08 11:35:24 +08:00
Roland Dobai 33a62c86d3 fix(gdbgui): Fix support of gdbgui on Unix with Python 3.11
Closes https://github.com/espressif/esp-idf/issues/12764
2024-01-05 18:51:50 +01:00
xiaqilin 2d66984b09 fix(sleep): fix the issue of asymmetry in suspend/resume cache when skipping sleep. 2024-01-05 19:26:46 +08:00
Jakub Kocka a6a15ad9a4 fix: KConfig files checks in pre-commit hook 2024-01-05 12:00:02 +01:00
xiaqilin dea2d77712 fix(esp_phy): fix esp32h2 sleep wakeup issue 2024-01-05 17:22:59 +08:00
Armando 60a9527a71 fix(cache): fix wrong dcache size 0 configuration issue on s2
Closes https://github.com/espressif/esp-idf/issues/12711
2024-01-05 10:38:41 +08:00
Xiao Xufeng ea45c22a5c fix(rtc): fixed bbpll not calibrated from bootloader issue 2024-01-05 10:24:49 +08:00
chaijie@espressif.com 016b63dacf fix(bbpll): fix bbpll calibration may stop early bug(ESP32C2/S3/C6/H2) 2024-01-05 03:22:44 +08:00
Jin Cheng 595d8b512f fix(bt/bluedroid): corrected the strings of A2DP audio states 2024-01-04 17:53:04 +08:00
zwl 53921e8104 fix(ble): fixed rssi inaccuracy issue on ESP32-H2 2024-01-04 15:14:05 +08:00
xiaqilin c9ead16682 fix(ieee802154): fix the issue of not receiving packets when RSSI is positive in esp32h2 2024-01-04 15:13:49 +08:00
Michael (XIAO Xufeng) 39dd85639a feat(soc): Increase max supported version of C3 to 1.99 2024-01-04 15:08:31 +08:00
Marius Vikhammer a45478abc6 Merge branch 'feature/freertos_idf_smp_changes_doc_v5.2' into 'release/v5.2'
Docs: Update IDF FreeRTOS 10.5.1 docs and add migration notes (v5.2)

See merge request espressif/esp-idf!28227
2024-01-04 11:20:53 +08:00
Marius Vikhammer a69e92864f Merge branch 'docs/update_sys_docs_p4_v5.2' into 'release/v5.2'
docs(esp32p4): update misc docs for esp32p4 (v5.2)

See merge request espressif/esp-idf!27820
2024-01-04 11:20:25 +08:00
Marius Vikhammer b5785b41eb docs(esp32p4): update misc docs for esp32p4 2024-01-03 18:26:55 +08:00
Kit Sczudlo 65bc495632 feat(spi_lcd): control DC level for cmd, param, color phase separately
Closes https://github.com/espressif/esp-idf/issues/10635
Merges https://github.com/espressif/esp-idf/pull/12908
2024-01-03 17:24:47 +08:00
Frantisek Hrbata 713546e8bd ci: add sbom validation using pre-commit's post-commit stage
With 09ba070b7e ("fix: allow to use older pre-commit hook version")
and b93cc581a5 ("fix: set default pre-commit hook stages to pre-commit..")
we set the default pre-commit hook stage to commit/pre-commit, which avoids
running the pre-commit plugins/hooks multiple times for different stages.
Unfortunately this also affects "pre-commit run" used in CI and
now it runs only plugins which are by default using the
commit/pre-commit stage. Meaning the sbom validation, which uses
post-commit, is not run at all. This adds an explicit pre-commit command
for validate-sbom-manifest plugin, which needs to be started in
post-commit stage.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-01-02 16:10:28 +01:00
mofeifei 53be71f8f2 docs: Update cn trans for freertos docs 2024-01-02 22:51:25 +08:00
Darian Leung 95a5d3ff36 docs(freertos/idf): Add IDF FreeRTOS upgarde migration notes for v5.2 2024-01-02 22:51:25 +08:00
Darian Leung 912f6c527c docs(freertos/idf): Update IDF FreeRTOS documentation
This commit updates the IDF FreeRTOS documentation as follows:

- Update terminology ("CPU" to "Core", "ESP-IDF FreeRTOS" to "IDF FreeRTOS")
- Fixed some inconsistent formatting
- Rearranged some sub sections
- Updated section regarding single-core mode to be coherent with v10.5.1 update.
2024-01-02 22:51:24 +08:00
Xu Si Yu baf258e3e6 fix(openthread): update lib to set raw pcb ttl value 2024-01-02 17:05:16 +08:00
Rahul Tank 586862e9b2 fix(nimble): Enable address resolution across reboot 2024-01-02 14:03:29 +05:30
zhanghaipeng 951e3b2b8c fix(bt/bluedroid): Optimize ble remove all bonded devices function 2023-12-30 20:40:47 +08:00
zhanghaipeng e9c1d5c4b6 fix(bt/bluedroid): Update ble ibeacon example document 2023-12-30 20:40:36 +08:00
zhanghaipeng 48226735d1 fix(bt/bluedroid): Update ble gattc gatts coex example 2023-12-30 20:40:21 +08:00
zhanghaipeng f4c6faa943 fix(bt/bluedroid): Fix BLE robost cashing config 2023-12-30 20:13:26 +08:00
Jiang Jiang Jian bd18b8ba6a Merge branch 'bugfix/fix_ble_app_unregister_no_event_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fix ble app unregister no event(backport v5.2)

See merge request espressif/esp-idf!28167
2023-12-29 11:08:20 +08:00
Jiang Jiang Jian 086294e3b3 Merge branch 'bugfix/fix_ble_recorrect_enable_bug_v5.2' into 'release/v5.2'
fix(ble/controller): Fixed BLE recorrect enable bug and fixed BLE bb isr enable by default (backport v5.2)

See merge request espressif/esp-idf!28121
2023-12-29 10:57:47 +08:00
Jiang Jiang Jian b85b15a3c4 Merge branch 'bugfix/fix_gatts_stop_race_condition_v5.2' into 'release/v5.2'
fix(nimble): Handled race condition for conn variables being set to NULL (v5.2)

See merge request espressif/esp-idf!28168
2023-12-29 10:57:29 +08:00
Jiang Jiang Jian 1ff54dde9a Merge branch 'bugfix/wifi_backport_v5.2' into 'release/v5.2'
fix(esp_wifi): Cover additional situations for reporting new reason codes

See merge request espressif/esp-idf!28182
2023-12-29 10:55:36 +08:00
zhiweijian 8477ec19f5 fix(ble/controller): Fixed BLE recorrect enable bug and fixed BLE bb isr enable by default 2023-12-29 02:00:22 +08:00
muhaidong fd9a55a775 fix(wifi): fix beacon was unexpectedly freed issue 2023-12-29 00:05:39 +08:00
jgujarathi 239a6da000 fix(esp_wifi): Cover additional situations for reporting new reason codes
- WIFI_REASON_NO_AP_FOUND_W_COMPATIBLE_SECURITY will be reported for the following
  reasons
  -- AP has PMF required but station is not configured for pmf capable/required.
  -- Station has PMF required but AP is not configured for pmf capable/required.
  -- The AP is using unsupported group management/pairwise ciphers
  -- OWE not enabled by station for found OWE AP
  -- AP RSNXE parsing failed in supplicant
  -- AP is in Independent BSS mode
2023-12-29 00:03:50 +08:00
Jiang Jiang Jian 9694fe3c2a Merge branch 'bugfix/nan_crash_sched_bcn_v5.2' into 'release/v5.2'
Fix crash while stopping NAN (Backport v5.2)

See merge request espressif/esp-idf!28178
2023-12-28 23:52:57 +08:00
Jiang Jiang Jian 36a7c4ca66 Merge branch 'backport/add_dynamic_iram_check_for_ot_sleep_v52' into 'release/v5.2'
fix(pm): fix extra retention function to iram(Backportv5.2)

See merge request espressif/esp-idf!28135
2023-12-28 22:55:08 +08:00
Jiang Jiang Jian 0e03d101e2 Merge branch 'backport/ieee802154_receive_done_handler_v52' into 'release/v5.2'
fix(ieee802154): introduce a receive done handler feature(backportV5.2)

See merge request espressif/esp-idf!28132
2023-12-28 22:54:58 +08:00
Jiang Jiang Jian 50cb3a4435 Merge branch 'backport/fix_ble_prepare_write_v5.2' into 'release/v5.2'
Backport/fix ble prepare write v5.2

See merge request espressif/esp-idf!27910
2023-12-28 22:54:18 +08:00
Shyamal Khachane 06086d3a36 fix(esp_wifi): Fix crash while stopping NAN
Also fix inconsistent NAN macro values
2023-12-28 18:43:13 +05:30
zwx 1fdb0e1871 feat(openthread): add dynamic iram check for ot sleepy example 2023-12-28 17:47:30 +08:00
zwx 61379f09cd fix(pm): fix extra retention function to iram
* Also remove unused function on H2
2023-12-28 17:47:30 +08:00
Rahul Tank 9b50d7d60f fix(nimble): Handled race condition for conn variables being set to NULL 2023-12-28 15:11:56 +05:30
Guillaume Souchere 490df3a348 fix(heap): prevent double traversal of hashmap in map_find_and_remove
Remove the use of SLIST_REMOVE in map_find_and_remove to prevent the hashmap
list to be traversed twice in the function.

Closes https://github.com/espressif/esp-idf/issues/12820
2023-12-28 17:38:12 +08:00
Jiang Jiang Jian 796065f6fb Merge branch 'contrib/github_pr_12813_v5.2' into 'release/v5.2'
fix(esp32): Fixed declaration issue (GitHub PR) (v5.2)

See merge request espressif/esp-idf!28081
2023-12-28 17:37:20 +08:00
zwx e86e0f3dc8 fix(ieee802154): introduce a receive done handler feature 2023-12-28 17:34:51 +08:00
zhanghaipeng 915cb63bb1 fix(bt/bluedroid): Fix ble app unregister no event 2023-12-28 17:32:45 +08:00
Jiang Jiang Jian 33756fd210 Merge branch 'bugfix/fix_ble_phy_tx_ifs_v5.2' into 'release/v5.2'
Bugfix/fix ble phy tx ifs v5.2

See merge request espressif/esp-idf!28151
2023-12-28 16:59:49 +08:00
Jiang Jiang Jian 194343e056 Merge branch 'bugfix/clear_lp_sw_trigger_int_before_sleep_v5.2' into 'release/v5.2'
feat(ulp): add api to get lp_cpu wakeup cause and clear wakeup source at startup(v5.2)

See merge request espressif/esp-idf!28146
2023-12-28 14:49:14 +08:00
zhanghaipeng c4d3d74e39 fix(phy): Fix ble tx ifs time for ESP32 2023-12-28 14:08:01 +08:00
zhanghaipeng fb0c9550d8 fix(bt/bluedroid): Fix prepare write for BLE example 2023-12-27 22:03:48 +08:00
zhanghaipeng f18d887a6d fix(bt/bluedroid): Fix BLE prepare write 2023-12-27 22:03:48 +08:00
Jiang Jiang Jian c30d9829d3 Merge branch 'bugfix/wait_tvsl_after_non_pd_top_lightsleep_v5.2' into 'release/v5.2'
fix(esp_hw_support/sleep): wait flash ready after non-pd_top lightsleep for esp32c6 (v5.2)

See merge request espressif/esp-idf!28144
2023-12-27 19:34:37 +08:00
wuzhenghui 6d238cdba2 feat(ulp): add api to get lp_cpu wakeup cause and clear wakeup source at startup
Closes https://github.com/espressif/esp-idf/issues/12651
2023-12-27 19:12:16 +08:00
Island 5c24c70ed8 Merge branch 'feat/ble_mesh_miscellaneous_update_v5.2' into 'release/v5.2'
feat(ble_mesh): Miscellaneous updates for mesh kconfig, relay related(v5.2)

See merge request espressif/esp-idf!28030
2023-12-27 17:50:12 +08:00
wuzhenghui fcb9cf8b93 change(esp_hw_support/sleep): rename ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY
1. Rename ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY to ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY
2. Set ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY visible for all targets
2023-12-27 15:35:00 +08:00
wuzhenghui 83b6c79f93 fix(esp_hw_support/sleep): wait flash ready after non-pd_top lightsleep for esp32c6 2023-12-27 15:34:55 +08:00
Jiang Jiang Jian 14d88e5e5e Merge branch 'bugfix/add_ble_fixes' into 'release/v5.2'
fix(nimble): Add ble fixes in nimble (v5.2)

See merge request espressif/esp-idf!28112
2023-12-27 10:30:46 +08:00
Jiang Jiang Jian 7823f6c996 Merge branch 'bugfix/crash_in_btc_hf_init_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Avoided crash of LoadProhibited during HFP AG deinitialization (v5.2)

See merge request espressif/esp-idf!28115
2023-12-27 10:26:19 +08:00
Jiang Jiang Jian bdce46f1e3 Merge branch 'fix/add_malloc_cap_8bit_for_vfs_select' into 'release/v5.2'
fix(vfs): add MALLOC_CAP_8BIT for vfs select(Backport v5.2)

See merge request espressif/esp-idf!27720
2023-12-26 19:03:26 +08:00
harshal.patil 8e4fa20695 fix(examples): Fix encoding issue in esp_local_ctrl's proto script 2023-12-26 14:02:50 +05:30
Jiang Jiang Jian bb45925dff Merge branch 'bugfix/fix_memory_leak_in_c3_s3_controller_v5.2' into 'release/v5.2'
Fixed memory leak in ESP32C3 and ESP32S3 controller (Backport v5.2)

See merge request espressif/esp-idf!28037
2023-12-26 16:18:28 +08:00
Roshan Bangar 962b105be5 fix(nimble): Added periodic_adv_enh soc_caps for c2, h2 2023-12-26 10:09:12 +05:30
Rahul Tank ce6b508c4f fix(nimble): Add VSC support for setting chan select algo 2023-12-26 10:08:52 +05:30
Jin Cheng f30d282d66 fix(bt/bluedroid): Disabled Sniff Subrating temporarily as it did not work well 2023-12-26 11:48:04 +08:00
Jin Cheng daed0d9f3a fix(bt/bluedroid): Changed the default air mode to invalid value 2023-12-26 11:48:04 +08:00
Jin Cheng 09db8a96f0 fix(bt/bluedroid): Removed redundant operation of SCO clean up 2023-12-26 11:48:04 +08:00
Jin Cheng fe277d5b13 fix(bt/bluedroid): Corrected the definitions of HF Client callback events 2023-12-26 11:48:04 +08:00
Jin Cheng 659ae0ce9e fix(bt/bluedroid): Avoided crash of LoadProhibited during HFP AG deinitialization
Move the release of the control blocks from the start
of deinitialization to the profile disabled event.
2023-12-26 11:48:04 +08:00
Jin Cheng 77430f3e2d fix(bt/bluedroid): Added dynamic memory allocation for HFP control blocks 2023-12-26 11:48:04 +08:00
linruihao 125a784983 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(9129dec) 2023-12-26 10:58:58 +08:00
Jiang Jiang Jian 21f33f6e2a Merge branch 'feature/hogp_example_support_v5.2' into 'release/v5.2'
feat(nimble): Added HID over Gatt Profile Support (v5.2)

See merge request espressif/esp-idf!28024
2023-12-26 10:49:36 +08:00
Jiang Jiang Jian a80717fbd5 Merge branch 'feature/support_suspend_on_120m_v5.2' into 'release/v5.2'
feat(spi_flash): Enable auto suspend on when flash works under 120M (backport v5.2)

See merge request espressif/esp-idf!27951
2023-12-26 10:42:32 +08:00
Jiang Jiang Jian 690d1a032e Merge branch 'bugfix/u32_reg_tsens_v5.2' into 'release/v5.2'
fix(tempertuer_sensor): Fix regs on temperature sensor is not volatile due to GCC bug(backport v5.2)

See merge request espressif/esp-idf!27947
2023-12-26 10:41:45 +08:00
Jiang Jiang Jian bf0a5fe7f4 Merge branch 'fix/spi_lcd_example_fix_border_pixel_display_v5.2' into 'release/v5.2'
fix(spi_master): fixed lcd example block border pixel issue (v5.2)

See merge request espressif/esp-idf!27919
2023-12-26 10:40:05 +08:00
Jiang Jiang Jian e79f46c044 Merge branch 'fix/bump_precommit_esp_idf_sbom_v5.2' into 'release/v5.2'
fix: bump esp-idf-sbom to v0.13.0 in pre-commit (v5.2)

See merge request espressif/esp-idf!27878
2023-12-26 10:39:24 +08:00
Jiang Jiang Jian 23e7663119 Merge branch 'bugfix/coredump_detect_v5.2' into 'release/v5.2'
tools: idf.py: fix detection of raw core dump file (v5.2)

See merge request espressif/esp-idf!27840
2023-12-26 10:38:43 +08:00
Jiang Jiang Jian 17f2bceeb7 Merge branch 'contrib/github_pr_12637_v5.2' into 'release/v5.2'
Dockerfile with variable depth parameter (GitHub PR) (v5.2)

See merge request espressif/esp-idf!27827
2023-12-26 10:37:48 +08:00
Jiang Jiang Jian 000c70b3a1 Merge branch 'docs/fix_dash_encoding_v5.2' into 'release/v5.2'
docs(programming_guide): turned off smartquotes (v5.2)

See merge request espressif/esp-idf!27818
2023-12-26 10:36:38 +08:00
Jiang Jiang Jian 17654970e9 Merge branch 'tools/use_recommended_tool_priority_backport_v_5_2' into 'release/v5.2'
fix(idf_tools): Opt for the recommended tool in tools.json rather than the supported one (v5.2)

See merge request espressif/esp-idf!27796
2023-12-26 10:35:56 +08:00
Jiang Jiang Jian c3b7aa76d9 Merge branch 'change/add_scl_check_v5.2' into 'release/v5.2'
change(i2c): Add check for scl frequency for master_bus_add_device(backport v5.2)

See merge request espressif/esp-idf!27662
2023-12-26 10:34:00 +08:00
Jiang Jiang Jian 5b110971ac Merge branch 'contrib/github_pr_12683_v5.2' into 'release/v5.2'
fix(tools): fix path delimiter in gdbinit for Windows (v5.2)

See merge request espressif/esp-idf!27574
2023-12-26 10:32:58 +08:00
Jiang Jiang Jian 0d8ca93e8d Merge branch 'feature/update-gdb-to-12.1_20231023_v5.2' into 'release/v5.2'
feat(tools): update gdb version to 12.1_20231023 (v5.2)

See merge request espressif/esp-idf!27376
2023-12-26 10:32:07 +08:00
Jiang Jiang Jian c70dde1420 Merge branch 'bugfix/connect_after_scan_v5.2' into 'release/v5.2'
fix(conn): Change second connect delay time to 730 (v5.2)

See merge request espressif/esp-idf!27836
2023-12-26 10:30:48 +08:00
Island 90e21c4404 Merge branch 'bugfix/fix_ble_clear_white_list_v5.2' into 'release/v5.2'
Fixed add(remove) RPA to(from) white list on ESP32C3(backport v5.2)

See merge request espressif/esp-idf!27797
2023-12-26 10:28:32 +08:00
Jiang Jiang Jian 9d2d1e2d39 Merge branch 'bugfix/ieee802154_deinit_v5.2' into 'release/v5.2'
Bugfix/ieee802154 deinit (Backport v5.2)

See merge request espressif/esp-idf!27974
2023-12-25 20:39:20 +08:00
Jiang Jiang Jian 99d10ca3d2 Merge branch 'change/change_regdma_power_issue_macro_v5.2' into 'release/v5.2'
change(pm): change macro SOC_PM_RETENTION_HAS_REGDMA_POWER_BUG (backport v5.2)

See merge request espressif/esp-idf!27992
2023-12-25 20:38:48 +08:00
Jiang Jiang Jian 03211c7024 Merge branch 'docs/Separate_low-power_documents_v5.2' into 'release/v5.2'
docs:separate low power documents (backport v5.2)

See merge request espressif/esp-idf!28022
2023-12-25 20:37:53 +08:00
Jiang Jiang Jian 3139ae0f0e Merge branch 'backport/openthread_related_feature_v52' into 'release/v5.2'
Backport some openthread related features (backport v5.2)

See merge request espressif/esp-idf!28053
2023-12-25 20:37:03 +08:00
Jiang Jiang Jian 0b9b16cb77 Merge branch 'bugfix/put_extra_link_retention_in_iram_5.2' into 'release/v5.2'
fix(pm): place extra link opt in iram(backport v5.2)

See merge request espressif/esp-idf!27899
2023-12-25 20:36:34 +08:00
Jiang Jiang Jian 40f7adaf3b Merge branch 'bugfix/doc_changes_v52' into 'release/v5.2'
Use `@file` for file documentation and resolved few doc build warnings(v5.2)

See merge request espressif/esp-idf!28002
2023-12-25 20:35:34 +08:00
Jiang Jiang Jian 0af120ae17 Merge branch 'fix/btc_config_lock_error_v5.2' into 'release/v5.2'
fix(bt/bluedroid): fixed btc_config_lock error (backport v5.2)

See merge request espressif/esp-idf!28069
2023-12-25 20:34:34 +08:00
Jiang Jiang Jian 4efa9ca1db Merge branch 'bugfix/fix_establish_two_sco_fail_v5.2' into 'release/v5.2'
fix(bt/controller): Fixed establish two sco connections failed (Backport v5.2)

See merge request espressif/esp-idf!28100
2023-12-25 20:34:09 +08:00
Jiang Jiang Jian ede660ce4b Merge branch 'optimize/When_psram_is_enable_the_number_of_ooseq_is_not_limited_5.2' into 'release/v5.2'
optimize(lwip):when psram is enable the number of ooseq is not limited 5.2

See merge request espressif/esp-idf!27944
2023-12-25 20:32:13 +08:00
Jiang Jiang Jian 1fb7a2ca58 Merge branch 'fix/build_error_in_compiler_performance_mode_v5.2' into 'release/v5.2'
fix(bt/bluedroid): fixed build error when compiler in performace mode (backport v5.2)

See merge request espressif/esp-idf!27863
2023-12-25 20:31:50 +08:00
Island c8b5789267 Merge branch 'bugfix/ble_stack_disable_v5.2' into 'release/v5.2'
Bugfix/ble stack disable v5.2(backport v5.2)

See merge request espressif/esp-idf!27651
2023-12-25 18:33:25 +08:00
Island 5592d28f9e Merge branch 'bugfix/ble_update_lib_20231219_v5.2' into 'release/v5.2'
update lib on release/v5.2

See merge request espressif/esp-idf!28000
2023-12-25 18:32:52 +08:00
zwx d5076b5749 feat(ieee802154): rf enable and disable refactor 2023-12-25 10:56:11 +08:00
xiaqilin f183419d94 fix(ieee802154): fix ieee802154 mac deinit and config ieee802154_enable 2023-12-25 10:56:11 +08:00
linruihao 4a6a10044d fix(bt/controller): Fixed establish two sco connections failed 2023-12-25 10:41:01 +08:00
zwl 1ff3eaafe9 fixed(ble): fixed an assertion issue when stopping periodic adv on ESP32C6 and ESP32H2 2023-12-22 15:31:29 +08:00
schottj 7b32ba0763 fix(app_update): fixed undeclared variable 'ret' in esp_ota_ops.c 2023-12-22 12:30:57 +05:30
cjin 82d53440a4 change(ble): added ble cca en and thresh option 2023-12-22 14:34:30 +08:00
luomanruo f75b4b1636 ble: support for selecting CSA#2 by menuconfig
ble(fix): fixed event receiving on host side without returning event buffer to pool
2023-12-22 14:34:30 +08:00
luomanruo ae21032e9d ble(update):
Update c2 lib to 7c6c9d53
Update h2 lib to 0ecb36f0
Update c6 lib to 0ecb36f0
2023-12-22 14:33:32 +08:00
Island 4e09c6e346 Merge branch 'bugfix/ble_update_lib_20231201_v5.2' into 'release/v5.2'
update lib on release/v5.2

See merge request espressif/esp-idf!27588
2023-12-22 14:11:06 +08:00
morris 0056ab449e Merge branch 'bugfix/gdma_legacy_macro_back_again_v5.2' into 'release/v5.2'
fix(gdma): reserve the SOC_GDMA_PAIRS_PER_GROUP (v5.2)

See merge request espressif/esp-idf!28054
2023-12-22 13:44:36 +08:00
Mahavir Jain c6bf363f14 Merge branch 'fix/nvs_encr_flash_enc_dependency_v5.2' into 'release/v5.2'
fix(nvs_flash): Remove the forceful selection of NVS_ENCRYPTION with flash encryption (v5.2)

See merge request espressif/esp-idf!27838
2023-12-22 11:50:59 +08:00
gongyantao 5515c890ed fix(bt/bluedroid): fixed btc_config_lock error 2023-12-22 11:30:26 +08:00
Mo Fei Fei d1efa0d869 docs(nvs_flash): Update CN translation for nvs_encryption.rst 2023-12-21 19:22:56 +05:30
Laukik Hase 6a216ca839 fix(nvs_flash): Remove the forceful selection of NVS_ENCRYPTION with flash encryption
- This change will introduce a breaking change for SoCs with the HMAC
  peripheral. Turning on flash encryption will no longer enable NVS
  encryption automatically.

Closes https://github.com/espressif/esp-idf/issues/12549
2023-12-21 19:22:56 +05:30
Tomas Rezucha 9b40d39120 refactor(usb/host): Move FIFO size configuration to HAL layer
The logic of calculating FIFO sizes is DWC OTG specific.
We move it to the HAL layer to provide better abstraction in the HDC layer.
2023-12-21 10:34:56 +01:00
Tomas Rezucha 71cd4df75a refactor(usb/host): Make private hal types USB_DWC specific 2023-12-21 10:34:46 +01:00
Tomas Rezucha 42277ac868 feat(usb/host): Add High Speed enumeration types 2023-12-21 10:33:49 +01:00
morris b893744fd1 fix(gdma): reserve the SOC_GDMA_PAIRS_PER_GROUP
Closes https://github.com/espressif/esp-idf/issues/12798
2023-12-21 15:17:54 +08:00
Xu Si Yu f29d324691 fix(openthread): allow setting netif_idx of udp pcb to no_index 2023-12-21 15:02:06 +08:00
Xu Si Yu dd83f65e5c fix(coex): 802.15.4 coex break notification 2023-12-21 15:01:55 +08:00
Xu Si Yu 6b8740ae8d feat(ieee802154): add tx/rx report for IEEE802.15.4 debug 2023-12-21 15:01:44 +08:00
Xu Si Yu 01808d0cfb feat(openthread): modification of uart and spi spinel based on openthread 41ef807 2023-12-21 15:01:31 +08:00
zwx 9ae095fc20 fix(openthread): fix openthread SPI tx timeout issue 2023-12-21 15:00:45 +08:00
zwx d1f8299726 fix(openthread): add netif check when call udp api for ot 2023-12-21 15:00:09 +08:00
zwx 0375c9bca0 fix(openthread): fix ot netif destroy netif order issue 2023-12-21 14:59:16 +08:00
Mahavir Jain 692d15abbe Merge branch 'fix/wrong_order_of_includes_in_esp_tls_v5.2' into 'release/v5.2'
fix(esp-tls): Fix missing header files in esp_tls_errors.h header file (v5.2)

See merge request espressif/esp-idf!27703
2023-12-20 20:44:31 +08:00
Jiang Jiang Jian b4a612345b Merge branch 'bugfix/fix_beacon_eb_memory_leak_issue_v5.2' into 'release/v5.2'
fix(wifi): fix beacon eb memory leak issue(Backport v5.2)

See merge request espressif/esp-idf!27924
2023-12-20 16:53:44 +08:00
luoxu fb98bb40f3 feat(ble_mesh): Miscellaneous updates for mesh kconfig, relay related 2023-12-20 15:16:57 +08:00
Marius Vikhammer cff4d95568 docs(programming_guide): turned off smartquotes
Sphinx would "smartly" format e.g. double dashes into typographically correct entities,
i.e. a long dash unicode character.

This doesnt always work well for our docs were sometimes a double dash could be a python
argument, which when copied would no longer work.
2023-12-20 13:09:17 +08:00
Roshan Bangar a58af467fc feat(nimble): added HID over Gatt profile support 2023-12-20 09:58:26 +05:30
Krzysztof Budzynski 15f1425f67 Apply 2 suggestion(s) to 2 file(s) 2023-12-20 11:10:35 +08:00
wangtao@espressif.com 0d60862933 docs:Separate low-power documents 2023-12-20 11:10:13 +08:00
Frantisek Hrbata c50a84f218 fix: bump esp-idf-sbom to v0.13.0 in pre-commit
v0.13.0 contains fix for the submodule hash validation. Let's
bump its version in pre-commit, so the fix is used.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-12-19 15:15:34 +01:00
luomanruo 5c729436d6 ble(fix): Fixed crash issue when reset event queue 2023-12-19 17:35:34 +08:00
luomanruo 96a3926e22 ble(fix): clear event queue when init event queue
ble: update log module on ESP32C2, ESP32H2 and ESP32C6
2023-12-19 17:35:34 +08:00
luomanruo c4444d1385 ble(update):
Update c2 lib to 47a787f0
Update h2 lib to 73452eac
Update c6 lib to 73452eac
2023-12-19 17:35:34 +08:00
Vikram Dattu 504c6a09e1 fix(docs): fixed doxygen warnings in few headers
- non-matching arguments in `i2c_types.h` and `esp_wifi_crypto_types.h`
 - Fixed unended `@cond` macro in `esp_err.h`
2023-12-19 13:12:28 +05:30
Vikram Dattu 2b475022c5 fix(esp_srp): Use @file for file documentation and missing doc
Using @brief for file description wrongly associates the documentation to an API.
Correct way to add file description is to use `@file` and then `@brief`. Corrected the same.

- Also added missing doc for esp_srp_handle_t
2023-12-19 13:12:11 +05:30
jgujarathi 13c548cefa fix(esp_wifi): Correct wifi lib docs for esp_wifi_crypto_types.h
- Wifi lib changes for docs of some APIs in esp_wifi_crypto_types.h
2023-12-19 13:11:49 +05:30
zhangyanjiao 1427e14b72 feat(wifi): add wifi channel change event
Closes https://github.com/espressif/esp-idf/issues/12538
2023-12-19 13:11:01 +05:30
alanmaxwell 424bf120a3 feat(wifi): support dump 802.11 ACK frame for CSI 2023-12-19 13:10:49 +05:30
zhanghaipeng 90c51d25e0 fix(bt/bluedroid): Fix ble gattc deregister 2023-12-19 12:02:07 +08:00
zhanghaipeng 81bc017ff6 fix(bt/bluedroid): Fix ble adv and scan status when deinit bluedroid 2023-12-19 12:02:07 +08:00
Lou Tianhao 7b5799830c change(pm): change macro SOC_PM_RETENTION_HAS_REGDMA_POWER_BUG 2023-12-19 11:52:25 +08:00
daiziyan 579bda6b49 docs: add CN trans for idf-docker-image.rst 2023-12-18 17:37:20 +08:00
timoxd7 ae2120cdcd feat(docker): Add Dockerfile argument for variable clone depth
Closes https://github.com/espressif/esp-idf/pull/12637
2023-12-18 17:37:20 +08:00
Roland Dobai e49823f10c Merge branch 'ci/backport_master_changes_v5.2' into 'release/v5.2'
Ci/backport master changes v5.2

See merge request espressif/esp-idf!27841
2023-12-18 17:32:10 +08:00
Cao Sen Miao e3a854769a feat(spi_flash): Enable auto suspend on when flash works under 120M 2023-12-15 16:57:53 +08:00
Cao Sen Miao 3d42ac21fa fix(tempertuer_sensor): Fix regs on temperature sensor is not volatile due to GCC bug 2023-12-15 16:36:43 +08:00
Aditya Patwardhan ff8a6a5bf9 Merge branch 'fix/esp32s3_soc_drom_high_addr_v5.2' into 'release/v5.2'
fix(soc): esp32s3/Fix the DROM_HIGH_ADDR (v5.2)

See merge request espressif/esp-idf!27821
2023-12-15 15:48:17 +08:00
Xue yun fei cf4c2ea576 optimize(lwip):when psram is enable the number of ooseq is not limited 2023-12-15 14:10:54 +08:00
muhaidong 608d575172 fix(wifi): fix beacon eb memory leak issue 2023-12-14 18:10:30 +08:00
wanlei 0da6bb8825 fix(spi_master): fixed lcd example block border pixel issue 2023-12-14 17:14:35 +08:00
cjin bff4001473 fix(pm): place extra link opt in iram 2023-12-14 11:19:05 +08:00
GuyBrush 8b68b39198 fix(tools): fix path delimiter in gdbinit for Windows
Merges https://github.com/espressif/esp-idf/pull/12683

Signed-off-by: Alexey Lapshin <alexey.lapshin@espressif.com>
2023-12-13 09:26:40 +00:00
gongyantao 9edbb98a2c fix(bt/bluedroid): fixed build error when compiler in performace mode
Closes https://github.com/espressif/esp-idf/issues/12751
2023-12-12 19:04:19 +08:00
Aleksei Apaseev 786c23bcfa fix(idf_tools): Opt for the recommended tool in tools.json rather than the supported one 2023-12-12 14:25:25 +08:00
Jiang Jiang Jian 41ca90905e Merge branch 'bugfix/fix_esp32h2_system_retention_restore_backup_v5.2' into 'release/v5.2'
fix(esp_hw_support): fix esp32h2 system link restore override cpu clk configuration(v5.2)

See merge request espressif/esp-idf!27810
2023-12-11 20:40:53 +08:00
Marius Vikhammer 4435437501 ci(docs): revert git strategy change for deploy docs 2023-12-11 11:34:04 +01:00
Peter Dragun 9effe1aba6 fix(tools): idf.py: fix detection of raw core dump file
When idf.py coredump-debug is launched with '--core' argument, it
tries to determine the file format (raw, elf, b64). To detect the
'raw' core dump the code checked if the version word matched one of
the known values.
However, the version word also contains the chip ID in the high
half-word, so the check failed for anything other than the ESP32.
The detection of core file format has been moved to esp-coredump
package in version 1.9.0, including the fix for chip ID.

Reported in https://github.com/espressif/esp-idf/issues/10852
2023-12-11 11:17:54 +01:00
Aleksei Apaseev 8dcf3e5f80 ci: Upload report about modified files and components to s3 bucket 2023-12-11 11:15:45 +01:00
Fu Hanxi 8ce0b8bf73 ci: fix upload failed job log script 2023-12-11 11:15:08 +01:00
Chen Yudong ceb9e42058 ci: fix fetch git diff from pipeline schedules 2023-12-11 11:14:48 +01:00
Chen Yudong 6947dd533a ci: fix fetch_from_mirror_url_if_exists 2023-12-11 11:14:43 +01:00
Aleksei Apaseev e6a4ad3d55 ci: Move upload artifacts execution of build and target_test stages to the after script section 2023-12-11 11:13:56 +01:00
igor udot (horw) 21b06f43bf ci: added build log artifacts for linux 2023-12-11 11:12:14 +01:00
Aleksei Apaseev 911ad39808 ci: Upload artifacts of target stage jobs to s3 bucket 2023-12-11 11:12:02 +01:00
Fu Hanxi 651f60e663 ci: improve check pylint get files command 2023-12-11 11:11:39 +01:00
ding huan 129bc8b7ff fix(conn): Change second connect delay time to 730 2023-12-11 16:35:24 +08:00
Jiang Jiang Jian 6a34106488 Merge branch 'contrib/github_pr_12559_v5.2' into 'release/v5.2'
fix(spi): correct macro REG_SPI_BASE(i) for all targets (GitHub PR) (v5.2)

See merge request espressif/esp-idf!27708
2023-12-11 16:01:48 +08:00
Jiang Jiang Jian ff14e382a4 Merge branch 'bugfix/some_wifi_fixes_v5.2' into 'release/v5.2'
fix(wifi): fix some wifi issues

See merge request espressif/esp-idf!27736
2023-12-11 16:00:29 +08:00
Jiang Jiang Jian 499625be33 Merge branch 'save_twdt_to_coredump_v5.2' into 'release/v5.2'
feat(coredump): save twdt panic output to coredump elf file (v5.2)

See merge request espressif/esp-idf!27756
2023-12-11 14:51:33 +08:00
Aditya Patwardhan ebcb490aa9 fix(soc): esp32s3/Fix the DROM_DROM_HIGH limit
Previously the DROM_HIGH_ADDR for esp32s3 was 0x3D000000, which
    convers only 16 MB of address range. But esp32s3 supports 32 MB
    external memory. So this address should be 0x3E000000
2023-12-11 12:17:12 +05:30
wuzhenghui 613c17bc2f fix(esp_hw_support): fix esp32h2 system link restore override cpu clk configuration 2023-12-11 11:24:00 +08:00
Jiang Jiang Jian a2b96227ac Merge branch 'bugfix/fix_rtc_us_to_cycle_div_zero_in_deepsleep_v5.2' into 'release/v5.2'
fix(esp_hw_support/sleep): fix rtc_time_us_to_slowclk div zero in deepsleep process (backport v5.2)

See merge request espressif/esp-idf!27763
2023-12-11 10:57:19 +08:00
Jiang Jiang Jian 1ef5c02c37 Merge branch 'feature/reinitialize_icg_map_in_modem_module_enable_v5.2' into 'release/v5.2'
fix(esp_hw_support): re-initialize icg map in modem_clock_module_enable (backport v5.2)

See merge request espressif/esp-idf!27765
2023-12-11 10:56:45 +08:00
Anton Maklakov aefe0722a0 Merge branch 'feature/qemu-esp-develop-8.1.3-20231206_v5.2' into 'release/v5.2'
feat(tools): update qemu to esp-develop-8.1.3-20231206 (v5.2)

See merge request espressif/esp-idf!27784
2023-12-11 10:52:09 +08:00
Anton Maklakov 96ba61f89f Merge branch 'ci/git_strategy_optimization_v5.2' into 'release/v5.2'
ci: optimize git strategy (v5.2)

See merge request espressif/esp-idf!27793
2023-12-11 10:27:36 +08:00
Ivan Grokhotkov 985cc9318a Merge branch 'feature/storage_nvs_find_key_v5.2' into 'release/v5.2'
feat(nvs_flash): Added function nvs_find_key (v5.2)

See merge request espressif/esp-idf!27806
2023-12-11 10:11:54 +08:00
Ivan Grokhotkov 8f79c54242 Merge branch 'feature/update_strorage_test_config_v5.2' into 'release/v5.2'
feat(storage): update config for app tests (v5.2)

See merge request espressif/esp-idf!27805
2023-12-11 10:11:29 +08:00
radek.tandler 6949092234 feat(nvs_flash): Added function nvs_find_key
Closes https://github.com/espressif/esp-idf/issues/12155
2023-12-09 09:12:31 +01:00
Tomáš Rohlínek ad25a90d6a feat(storage): minimize platforms for tests 2023-12-09 09:01:21 +01:00
Tomáš Rohlínek d5dc04693d feat(storage): add dependencies for tests 2023-12-09 09:01:21 +01:00
Tomáš Rohlínek aca0d3ad17 feat(storage): update config for app tests 2023-12-09 09:01:21 +01:00
Roland Dobai a36d8bc742 Merge branch 'fix/coredump_port_v5.2' into 'release/v5.2'
fix(tools/coredump): do not detect port when core file is used (v5.2)

See merge request espressif/esp-idf!27670
2023-12-08 21:29:39 +08:00
liuning 3fdbfb2069 fix(wifi): fix disconnected abnormal sleep 2023-12-08 13:08:55 +00:00
muhaidong 87cc516338 fix(wifi): fix psram enabled but initialized fail issue
Closes https://github.com/espressif/esp-idf/issues/11971
2023-12-08 13:08:55 +00:00
zhangyanjiao c26660e504 fix(wifi/mesh): fix connection and opmoode error in mesh
1. fix the bug that station can't found AP when the authmode is WPA
2. fix wifi mode error when mesh start after station has connected to router

Closes https://github.com/espressif/esp-idf/issues/12646
2023-12-08 13:08:55 +00:00
Jiang Jiang Jian da169340f9 Merge branch 'bugfix/fix_dhcp_server_can_not_restore_address_pool_issue_5.2' into 'release/v5.2'
fix(dhcp server):dhcp server can not restore address pool 5.2

See merge request espressif/esp-idf!27740
2023-12-08 21:05:00 +08:00
chenjianhua f727b7b25d fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(65db61f)
- Fixed remove and clear white list
2023-12-08 19:49:57 +08:00
Fu Hanxi 0fe3ec63a0 ci: optimize git strategy 2023-12-08 11:00:19 +01:00
Roland Dobai 7778ab2759 Merge branch 'feat/manifest_check_v5.2' into 'release/v5.2'
feat: use esp-idf-sbom pre-commit plugin (v5.2)

See merge request espressif/esp-idf!27748
2023-12-08 16:54:23 +08:00
Ivan Grokhotkov fdf04b3198 feat(tools): update qemu to esp-develop-8.1.3-20231206
https://github.com/espressif/qemu/releases/tag/esp-develop-8.1.3-20231206
2023-12-08 15:35:26 +07:00
wuzhenghui debcb50fd2 fix(esp_hw_support): re-initialize icg map in modem_clock_module_enable 2023-12-08 14:18:45 +08:00
wuzhenghui 7b3c08e37a fix(esp_hw_support/sleep): fix rtc_time_us_to_slowclk div zero in deepsleep process
Closes https://github.com/espressif/esp-idf/issues/12695
2023-12-08 13:59:52 +08:00
Jiang Jiang Jian db15c0e183 Merge branch 'fix/coexist_reg_esp32c6_set_default_value_v5.2' into 'release/v5.2'
fix(esp_coex): fix esp32c6 coex reg reset issue (backport v5.2)

See merge request espressif/esp-idf!27739
2023-12-08 11:14:58 +08:00
Marius Vikhammer a5dc34f416 Merge branch 'refactor/soc_caps_multiple_cores_v5.2' into 'release/v5.2'
change(docs): Update multicore tags to SOC_CPU_HAS_MULTIPLE_CORES (v5.2)

See merge request espressif/esp-idf!27743
2023-12-08 10:56:26 +08:00
Erhan Kurubas d9d388dae7 feat(coredump): save twdt panic output to coredump elf file 2023-12-07 15:21:24 +01:00
Jiang Jiang Jian 97594d2076 Merge branch 'backport/add_config_to_set_custom_mac_as_base_mac_v5_2' into 'release/v5.2'
feat(mac): Add a configuration to set custom MAC as base MAC(Backport V5.2)

See merge request espressif/esp-idf!27738
2023-12-07 21:03:51 +08:00
Jiang Jiang Jian 0a1e5846c7 Merge branch 'bugfix/fix_sm_inject_return_value_v5.2' into 'release/v5.2'
fix(nimble): Added change to return success for API execution (v5.2)

See merge request espressif/esp-idf!27725
2023-12-07 21:03:34 +08:00
Frantisek Hrbata a6cbcb91d2 feat: use esp-idf-sbom pre-commit plugin
Currently sbom manifest is checked only in .gitmodules and
this check is done in pre-commit and also in CI. Meaning it's running
three times(pre-commit before push if user has it enabled, in CI
as there is the pre-commit run again and again with test in CI). Since
esp-idf-sbom contains a full manifest validation support and pre-commit
plugin for it, let's use it. This removes all the current sbom testing
and replaces it with a signle pre-commit plugin which validates all
manifests files(sbom.yml, idf_component.yml, .gitmodules and also
referenced manifests) in repository. Note that this checks all
manifests, not only ones which were modified. The check is reasonably
fast though, so it should not cause any problem. The reason for
validating all manifest files is that we want to make sure that the sbom
information in .gitmodules is updated too and that the hash
recorded in .gitmodules is up-to-date. Meaning submodule update
would not trigger this plugin, because no manifest was changed.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-12-07 13:22:47 +01:00
Darian Leung 3c8cccc73b change(docs): Update multicore tags to SOC_HP_CPU_HAS_MULTIPLE_CORES
Previously, documentation sections that were only meant for multicore ESP
targets would use tags that depend on CONFIG_FREERTOS_UNICORE. This is not
ideal as project configuration can be changed by the user.

This commit updates those tags to use SOC_HP_CPU_HAS_MULTIPLE_CORES which is
always defined in multicore targets regardless of project configuration.
2023-12-07 17:59:44 +08:00
Darian Leung a7e2ea76d8 change(soc): Add SOC_HP_CPU_HAS_MULTIPLE_CORES
This commit adds a the SOC_HP_CPU_HAS_MULTIPLE_CORES convenience macro to
soc_caps.h. This is a convenience boolean cap to represent whether or not the
target has multiple cores, and is intended to be used when writing docs for
multiple targets.
2023-12-07 17:53:18 +08:00
Marius Vikhammer 8005821b09 Merge branch 'change/deprecate_legacy_xtensa_include_path_v5.2' into 'release/v5.2'
change(xtensa): Deprecate legacy include paths (v5.2)

See merge request espressif/esp-idf!27673
2023-12-07 17:27:38 +08:00
Island 1f2d548fbb Merge branch 'backport/fix_ble_menuconfig_v5.2' into 'release/v5.2'
Backport/fix ble menuconfig v5.2(backport v5.2)

See merge request espressif/esp-idf!27498
2023-12-07 16:25:30 +08:00
xueyunfei 841339c012 fix(dhcp server):dhcp server can not restore address pool 2023-12-07 15:18:45 +08:00
morris 1fb97c1718 Merge branch 'bugfix/fix_adc_continuous_do_not_rst_apb_clk_v5.2' into 'release/v5.2'
fix(adc): fix adc continuous get less results beacuse do not reset apb clk (v5.2)

See merge request espressif/esp-idf!27600
2023-12-07 15:11:26 +08:00
xiaqilin 39a383981d fix(esp_coex): fix esp32c6 coex reg reset issue 2023-12-07 15:07:06 +08:00
morris 61bd19b446 Merge branch 'bugfix/fix_adc_cali_error_after_light_sleep_wake_on_h2_v5.2' into 'release/v5.2'
adc: fix calibration error when waking up from light sleep on H2 and enable test (v5.2)

See merge request espressif/esp-idf!27602
2023-12-07 14:29:55 +08:00
morris 4e5757f1ab Merge branch 'refactor/uart_read_bytes_from_ringbuf_v5.2' into 'release/v5.2'
change(uart): improved the internal logic of uart_read_bytes (v5.2)

See merge request espressif/esp-idf!27701
2023-12-07 14:23:05 +08:00
zwx 0d4d3c103f feat(mac): Add a configuration to set custom MAC as base MAC 2023-12-07 14:14:55 +08:00
Rahul Tank f8736aed36 fix(nimble): Added change to return success for API execution 2023-12-07 09:40:12 +05:30
Mahavir Jain 37bf8dff6b Merge branch 'fix/esp32p4-memory-layout_v5.2' into 'release/v5.2'
fix(heap): Update the heap memory layout on esp32p4 target (backport v5.2)

See merge request espressif/esp-idf!27097
2023-12-07 11:52:14 +08:00
Jiang Jiang Jian 90d69b38b2 Merge branch 'bugfix/bod_reset_c6_h2_v5.2' into 'release/v5.2'
fix(bod): Reset brownout in configuration to avoid RF cannot be enabled again(backport v5.2)

See merge request espressif/esp-idf!27722
2023-12-07 10:51:29 +08:00
Jiang Jiang Jian f32321e6a5 Merge branch 'bugfix/authcomplete_failure_v5.2' into 'release/v5.2'
fix(nimble): Fixed authcomplete failure caused by a mismatch in the c1 value (v5.2)

See merge request espressif/esp-idf!27619
2023-12-07 10:47:52 +08:00
Jiang Jiang Jian 968b15d380 Merge branch 'fix/rng_register_prefix_discrepency_newer_targets_v5.2' into 'release/v5.2'
Fix: RNG register prefix discrepancy for ESP32C6 and ESP32H2 (v5.2)

See merge request espressif/esp-idf!27683
2023-12-07 10:46:15 +08:00
zwx e951cebfa2 fix(vfs): add MALLOC_CAP_8BIT for vfs select 2023-12-07 10:46:01 +08:00
Jiang Jiang Jian fdd8d4284f Merge branch 'bugfix/fix_uart_disabled_in_driver_cause_restart_stuck_v5.2' into 'release/v5.2'
fix(esp_system): fix uart clock disabled in driver cause esp_restart stuck (backport v5.2)

See merge request espressif/esp-idf!27693
2023-12-07 10:35:07 +08:00
Cao Sen Miao 191466d824 fix(bod): Reset brownout in configuration to avoid RF cannot be enabled again 2023-12-06 19:46:44 +08:00
Island 56563f7092 Merge branch 'bugfix/fix_some_ble_bugs_v5.2' into 'release/v5.2'
Fixed some BLE bugs (backport v5.2)

See merge request espressif/esp-idf!27694
2023-12-06 19:21:22 +08:00
wanlei 572a66b62e fix(spi): correct some signals and dummy bits docs 2023-12-06 16:05:36 +08:00
TD-er a4bfa19ebd fix(spi): Correct REG_SPI_BASE(i) macro for all targets
The existing formula can never match these registers.

Closes https://github.com/espressif/esp-idf/pull/12559
Closes https://github.com/espressif/esp-idf/pull/12562
2023-12-06 14:44:26 +08:00
Alexey Gerenkov a3cee541d3 Merge branch 'save_isr_ctx_to_coredump_v5.2' into 'release/v5.2'
feat(coredump): save isr context to coredump elf file (v5.2)

See merge request espressif/esp-idf!27453
2023-12-06 13:57:05 +08:00
Jiang Jiang Jian bdb0756cdb Merge branch 'bugfix/dpp_deinit_memleak_v52' into 'release/v5.2'
Fix a memory leak in dpp deinit path(v5.2)

See merge request espressif/esp-idf!27680
2023-12-06 13:22:28 +08:00
Harshit Malpani 6595897d2d fix(esp-tls): Add headers in esp_tls_errors.h header file
Closes https://github.com/espressif/esp-idf/issues/12541
2023-12-06 10:19:41 +05:30
Guillaume Souchere 66759438a9 fix(heap): Update the heap memory layout on esp32p4 target
- fix the value of SOC_ROM_STACK_START in soc.h
- Update the memory usage of ROM bootloader appendix in bootloader.ld
- Update the soc_memory_regions table to minimize the number of regions
  created after the startup stack is added back as a heap.
2023-12-06 04:48:00 +00:00
Marius Vikhammer 56a6cad52c Merge branch 'fix/esp_hw_support_remove_unused_include_dirs_v5.2' into 'release/v5.2'
fix(esp_hw_support): Removed nonexistent include directories from cmake (v5.2)

See merge request espressif/esp-idf!27606
2023-12-06 12:09:03 +08:00
Song Ruo Jing be27966ce9 change(uart): improved the internal logic of uart_read_bytes
Ringbuffer usage becomes more efficient with the use of xRingbufferReceiveUpTo

Closes https://github.com/espressif/esp-idf/issues/12386
2023-12-06 11:39:31 +08:00
Island e2b18f2c2c Merge branch 'bugfix/BLEQABR23-35_v5.2' into 'release/v5.2'
fix(ble_mesh): avoid ble_mesh packet collision by using random adv interval(v5.2)

See merge request espressif/esp-idf!27486
2023-12-06 11:06:47 +08:00
Jiang Jiang Jian e19be79e4f Merge branch 'fix/usb_host_soc_caps_backport_v5.2' into 'release/v5.2'
USB host soc caps (backport v5.2)

See merge request espressif/esp-idf!27401
2023-12-06 10:55:49 +08:00
Jiang Jiang Jian a5b9169a7e Merge branch 'contrib/github_pr_12460_v5.2' into 'release/v5.2'
fixing OTA write up to SPI_FLASH_SEC_SIZE margins (GitHub PR) (v5.2)

See merge request espressif/esp-idf!27643
2023-12-06 10:52:24 +08:00
Jiang Jiang Jian 2d8fb1604f Merge branch 'bugfix/IDFGH-11398_v5.2' into 'release/v5.2'
bugfix(ble_mesh): Fixed incorrect RPR Client unicast address was obtained(154b4fcc)(v5.2)

See merge request espressif/esp-idf!27565
2023-12-06 10:51:12 +08:00
wuzhenghui d07bd19ba6 fix(esp_system): fix uart clock disabled in driver cause esp_restart stuck 2023-12-06 10:36:48 +08:00
chenjianhua 6139b362a0 fix(bt): Update bt lib for ESP32(fa43201)
- Fixed assert for instant passed workaround
- Fixed scan evt timeout
- Fixed random address setting when scanning
2023-12-06 10:35:55 +08:00
shangke 6a08a13e70 fix(bt/controller): Fixed some HCI commands parameter 2023-12-06 10:35:32 +08:00
chenjianhua 70c7f3725f fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(b8f0db9)
- Fixed assert when llcp instant passed
2023-12-06 10:35:21 +08:00
chenjianhua b586575970 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(70ab55f)
- Fixed assert for instant passed workaround
- Fixed add RPA to white list
- Fixed AES encryption for RPA resolution
2023-12-06 10:35:11 +08:00
chenjianhua 7c3a604e27 fix(bt/bluedroid): Fixed add RPA to white list 2023-12-06 10:34:57 +08:00
Roman Leonov bc2ef597a4 fix(usb/host): remove bInterval verification during pipe opening for INTR and ISOC EPs 2023-12-05 16:44:53 +01:00
Tomas Rezucha 4cf3acb594 fix(usb/host): Do not abort on string descriptor overflow
Some devices return full LANGID table, even if short LANGID table was requested.
No memory overflow occurs, because we have allocated enough memory for transfers to the
default pipe. So we can ignore the error and continue with string desc fetching.
2023-12-05 16:44:53 +01:00
Darian Leung af4991fb39 refactor(hal/usb_dwc): Add DWC OTG configuration values
This commit adds a subset of the DWC OTG configuration values to the
'usb_dwc_ll.h' file. Only relevant configuration values have been added.

Some DWC OTG releated constants have also been moved from 'usb_dwc_hal.h'
to 'usb_dwc_ll.h' and renamed.
2023-12-05 16:44:53 +01:00
Darian Leung e9c617fa19 refactor(soc): SOC_USB_PERIPH_NUM option
This commit refactors SOC_USB_PERIPH_NUM as follows:

- Renamed to SOC_USB_OTG_PERIPH_NUM to avoid confusion with USB Serial JTAG
- Updated to unsigned integer "1U"
- Updated some build rules to depend on SOC_USB_OTG_SUPPORTED instead
2023-12-05 16:44:46 +01:00
harshal.patil a168fde297 fix(soc/esp32h2): Fix llperi_rng_data field discrepancy 2023-12-05 21:08:33 +05:30
harshal.patil 8558aa4414 fix(soc/esp32c6): Fix llperi_rng_data field discrepancy 2023-12-05 21:08:32 +05:30
jgujarathi 72176eee5d fix(wpa_supplicant): Move concurrent wps and dpp check to before creating task
- Move the check for checking concurrent wps and dpp check to before creating
  task rather than after.
2023-12-05 18:57:33 +05:30
jgujarathi 3da789bae6 fix(wpa_supplicant): Fix a crash in esp_wifi_wps_disable
- Fixes a crash observed in esp_wifi_wps_disable when wps process
  is ongoing, caused due to concurrency issues in cancelling timers.
2023-12-05 18:57:25 +05:30
jgujarathi 34795220d2 fix(wpa_supplicant): Add support for a dpp authentication timeout
- Adds support for a 1 second dpp authentication timeout.
2023-12-05 18:57:17 +05:30
jgujarathi 357e0e144b fix(wpa_supplicant): Restructuring DPP init method to ensure cleanup
- Restructuring DPP init function to ensure cleanup of variables in case of
  init failure
2023-12-05 18:57:09 +05:30
jgujarathi 58f1bde9ef fix(wpa_supplicant): Fix location of clearing up dpp global variables
- Fix location of cleaing up dpp global variables to ensure that there are
  no concurrency issues.
2023-12-05 18:57:02 +05:30
jgujarathi f9c8db8f94 fix(wpa_supplicant): Fix a memory leak in dpp deinit path
- Ensures that the auth information of dpp gets freed when there is
  dpp gets deinited.
2023-12-05 18:56:52 +05:30
aditi_lonkar 6a92a3582e fix(esp_wifi):Fix WDT when esp_supp_dpp_start_listen called multiple times 2023-12-05 18:56:30 +05:30
zhangyanjiao 609d25482b fix(wifi): fix the crash issue when clear scan ap list 2023-12-05 18:54:15 +05:30
zhangyanjiao 36cbbdcf65 feat(wifi): add new api to get one scan ap record 2023-12-05 18:54:06 +05:30
Darian Leung a75cf3effd change(xtensa): Add migration guide for depreacted include paths 2023-12-05 18:37:33 +08:00
Darian Leung b85e6d3dd8 change(xtensa): Deprecate ".../xtensa_timer.h" include path
This commit deprecates the "freertos/xtensa_timer.h" and "xtensa/xtensa_timer.h"
include paths. Users should use "xtensa_timer.h" instead.

- Replace legacy include paths
- Removed some unnecessary includes of "xtensa_timer.h"
- Add warning to compatibility header
2023-12-05 18:04:52 +08:00
Darian Leung 555bd367e1 change(xtensa): Deprecate ".../xtensa_context.h" include path
This commit deprecates the "freertos/xtensa_context.h" and "xtensa/xtensa_context.h"
include paths. Users should use "xtensa_context.h" instead.

- Replace legacy include paths
- Removed some unnecessary includes of "xtensa_api.h"
- Add warning to compatibility header
2023-12-05 18:04:52 +08:00
Darian Leung c2e134b775 change(xtensa): Deprecate ".../xtensa_api.h" include path
This commit deprecates the "freertos/xtensa_api.h" and "xtensa/xtensa_api.h"
include paths. Users should use "xtensa_api.h" instead.

- Replace legacy include paths
- Removed some unnecessary includes of "xtensa_api.h"
- Replaced some calls with "esp_cpu_..." equivalents
- Add warning to compatibility header
2023-12-05 18:04:52 +08:00
Darshan Dobariya 7cdddd47aa fix(nimble): Fixed authcomplete failure caused by a mismatch in the c1 value (v5.2) 2023-12-05 14:22:42 +05:30
Peter Dragun ffd3a58ff9 fix(tools/coredump): do not detect port when core file is used
Closes https://github.com/espressif/esp-idf/issues/12673
2023-12-05 09:52:19 +01:00
Marius Vikhammer bf816394d4 Merge branch 'bugfix/import_lib_example_url_v5.2' into 'release/v5.2'
fix(build-system/example): Removed dead URL for downloading tinyxml2 (v5.2)

See merge request espressif/esp-idf!27660
2023-12-05 15:27:19 +08:00
Cao Sen Miao 1625943486 change(i2c): Add check for scl frequency for master_bus_add_device
Closes https://github.com/espressif/esp-idf/issues/12598
2023-12-05 13:36:39 +08:00
Marius Vikhammer 52eab870e5 fix(build-system/example): Updated dead URL for downloading tinyxml2
The import_lib example contained a fallback mirror for downloading tinyxml2 sources
but this link was dead. If this mirror was used it would cause the build to fail.
2023-12-05 12:32:22 +08:00
Jiang Jiang Jian ffbbf0cebf Merge branch 'feature/add_fatfs_sbom_v5.2' into 'release/v5.2'
feat(storage/fatfs): add sbom file manifest for FatFs (v5.2)

See merge request espressif/esp-idf!27479
2023-12-05 12:03:17 +08:00
Tomas Rohlinek a635d11b4a feat(storage/fatfs): add sbom file manifest for FatFs (v5.2) 2023-12-05 12:03:17 +08:00
Jiang Jiang Jian df43d670a1 Merge branch 'change/freertos_remove_xcoreid_for_single_core_v5.2' into 'release/v5.2'
change(freertos/idf): Remove xCoreID from TCB in single-core builds (v5.2)

See merge request espressif/esp-idf!27617
2023-12-05 12:01:09 +08:00
Jiang Jiang Jian 7a3efab6a7 Merge branch 'backport/router_forwarding_flag_set_v52' into 'release/v5.2'
feat(lwip): support NA router farwording flag set(Backport v5.2)

See merge request espressif/esp-idf!27631
2023-12-05 11:59:54 +08:00
Jiang Jiang Jian 6388f3f13c Merge branch 'bugfix/nan_sd_dp_timer_fixes_v5.2' into 'release/v5.2'
Fix NAN service discovery, datapath and timer bugs (Backport v5.2)

See merge request espressif/esp-idf!27530
2023-12-05 11:29:16 +08:00
Jiang Jiang Jian eb848eaa6b Merge branch 'bugfix/remove_rpa_rec_v5.2' into 'release/v5.2'
fix(nimble): Handled the deletion of RPA mapping.(v5.2)

See merge request espressif/esp-idf!27320
2023-12-05 11:16:12 +08:00
Jiang Jiang Jian c7b527bd27 Merge branch 'bugfix/alarm_args_double_free_v5.2' into 'release/v5.2'
Bugfix/alarm args double free v5.2

See merge request espressif/esp-idf!27537
2023-12-05 11:14:13 +08:00
Martin Vychodil aba5fdcdcd Merge branch 'fix/fatfsgen_construct_v5.2' into 'release/v5.2'
fix(tools): Fix fatfsgen construct dependency (v5.2)

See merge request espressif/esp-idf!27653
2023-12-05 07:29:32 +08:00
Roland Dobai fc95a892ab 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:21:10 +01:00
kohait00 4c1c9373e9 fix(app_update): avoid erasing an extra sector than the actual required size
OTA update used to fail if `firmware_size == partition_size`, because the code was trying to
erase one additional sector beyond the space reserved for the firmware partition.

This commit fixes the problem and OTA update can work if the firmware
size exactly matches the allocated partition size.

Closes https://github.com/espressif/esp-idf/pull/12460
2023-12-04 18:42:44 +05:30
Island 3081c8b5ea Merge branch 'bugfix/BLEQABR23-811_v5.2' into 'release/v5.2'
bugfix(ble_mesh): Enable CONFIG_BT_NIMBLE_VS_SUPPORT when using the duplicate...(v5.2)

See merge request espressif/esp-idf!27567
2023-12-04 19:48:29 +08:00
zwx afbbaaf417 feat(lwip): support NA router farwording flag set
* Update submodule: git log --oneline
  4a8286ab8bcf983f22421e3d4be650837b5eb277..542ba2997f6cc14fe9c3d781bf9b0d890cd70bb1
- fix router forwarding flag set (espressif/esp-lwip@542ba299)
2023-12-04 16:22:24 +08:00
Darian Leung 913550f62c fix(freertos/idf): Fix invalid xCoreID arguments in single-core
IDF FreeRTOS v10.5.1 no longer accepts out of range xCoreID arguments in
"PinnedToCore" task creation functions when building for single-core. This
commit fixes those violations through ESP-IDF.
2023-12-04 15:03:58 +08:00
Darian Leung ee0ee4887f change(freertos/idf): Remove xCoreID TCB member for single-core
This commit does the following:

- removes the xCoreID member from the TCB when building for single-core
- xCoreID is no longer hard set to 0 when calling "PinnedToCore" task creation
functions in single-core
- Tidy up or add missing xCoreID asserts for functions that take xCoreID as an
argument:
    - Functions that set/query a variable of a particular core will call
      taskVALID_CORE_ID() to ensure ) 0 <= xCoreID < configNUMBER_OF_CORES
    - Task creation functions that accept xCoreID also call taskVALID_CORE_ID()
      but also allow tskNO_AFFINITY.
- Fix TaskStatus_t
    - Remove xCoreID from TaskStatus_t if configTASKLIST_INCLUDE_COREID is not
      defined.
    - Set xCoreID to 0 when calling vTaskGetInfo() in single-core builds
2023-12-04 15:03:55 +08:00
Darian Leung 63fee6c23a refactor(freertos/idf): Refactor yield and affinity macros
This commit refactors the following macros so that calling them no longer
requires referencing pxTCB->xCoreID.

- taskIS_YIELD_REQUIRED()
- taskIS_YIELD_REQUIRED_USING_PRIORITY()
- taskIS_AFFINITY_COMPATIBLE()
2023-12-04 14:59:37 +08:00
zhanghaipeng 633dd89d4a feat(bt/bluedroid): Support ble create sync report disable and filter duplicate 2023-12-04 14:40:58 +08:00
Mahavir Jain c9f1d3e8be Merge branch 'fix/aes_mpi_interrupt_allocation_workflow_for_aes_gcm_v5.2' into 'release/v5.2'
fix(mbedtls/aes): fix AES interrupt allocation for AES-GCM operations (v5.2)

See merge request espressif/esp-idf!27578
2023-12-04 14:09:43 +08:00
Jakob Hasse e3653aaa98 fix(esp_hw_support): Removed unused include directories from cmake
* Closes https://github.com/espressif/esp-idf/issues/12700
2023-12-04 12:59:51 +08:00
Marius Vikhammer 0818b1fca1 Merge branch 'feature/misc_core_build_tests_p4_v5.2' into 'release/v5.2'
ci(system): fixed and enabled misc system build tests (v5.2)

See merge request espressif/esp-idf!27476
2023-12-04 12:16:58 +08:00
gaoxu 44f266693a fix(adc): restore cali registers after light sleep wake up on H2 and enable test 2023-12-04 12:03:49 +08:00
gaoxu 35844b3d09 ci(adc): add a test that adc continuous read after restarting 2023-12-04 11:56:24 +08:00
gaoxu ca3bcb18b0 fix(adc): fix adc continuous get less results beacuse do not reset apb clk 2023-12-04 11:56:24 +08:00
Jiang Jiang Jian 8c86ccc2c6 Merge branch 'bugfix/lwip_dns_docs_v5.2' into 'release/v5.2'
fix(lwip): Document DNS limitation in lwIP (v5.2)

See merge request espressif/esp-idf!27558
2023-12-04 11:05:15 +08:00
Jiang Jiang Jian 7ee2470603 Merge branch 'fix/esp_vfs_fat_sdcard_format_workbuf_leak_v5.2' into 'release/v5.2'
fix: esp_vfs_fat_sdcard_format workbuf memory leak (v5.2)

See merge request espressif/esp-idf!27503
2023-12-04 11:03:21 +08:00
Jiang Jiang Jian 821d82f04e Merge branch 'support/add_srp_salt_ver_gen_api_v5.2' into 'release/v5.2'
Generate Salt and verifier pair for given username and password (v5.2)

See merge request espressif/esp-idf!27360
2023-12-04 11:00:50 +08:00
Jiang Jiang Jian 4e0459f112 Merge branch 'feature/refactor_some_coexist_sections_v5.2' into 'release/v5.2'
Feature/refactor some coexist sections v5.2

See merge request espressif/esp-idf!27365
2023-12-04 10:46:16 +08:00
Shu Chen 3c43fb0707 Merge branch 'backport5.2/ot_examples_config' into 'release/v5.2'
fix(openthread): openthread examples config (backport v5.2)

See merge request espressif/esp-idf!27554
2023-12-03 17:31:52 +08:00
Abhinav Kudnar fb4e56e9a3 fix(nimble): Handled the deletion of RPA mapping. 2023-12-01 17:54:11 +05:30
Roland Dobai 60e439db60 Merge branch 'feature/docker_git_safe_dirs_v5.2' into 'release/v5.2'
feat(docker): allow to add dirs into git's safe.directory (v5.2)

See merge request espressif/esp-idf!27557
2023-12-01 19:04:54 +08:00
harshal.patil b94656115e fix(mbedtls/aes): fix AES interrupt allocation for AES-GCM operations 2023-12-01 16:34:49 +05:30
zhanghaipeng 068a364a6b fix(bt/bluedroid): Fix BLE SMP register log level 2023-12-01 17:05:23 +08:00
luoxu 134fd6b8d8 bugfix(ble_mesh): Enable CONFIG_BT_NIMBLE_VS_SUPPORT when using the duplicate scan feature on the NimBLE host. 2023-12-01 16:48:31 +08:00
luoxu d3a78fef1b bugfix(ble_mesh): Fixed incorrect RPR Client unicast address was obtained(154b4fcc) 2023-12-01 16:04:09 +08:00
Mahavir Jain 3ca40da386 Merge branch 'bugfix/fix_http_client_async_mode_v5.2' into 'release/v5.2'
fix(esp_http_client): Fix esp_http_client async mode (v5.2)

See merge request espressif/esp-idf!27513
2023-12-01 15:38:16 +08:00
David Cermak b05cfb4eb1 fix(lwip): Document DNS limitation in lwIP
* Add a note that DNS server config is global in lwIP
* Add a section about defining LWIP config macros from CMake
* Mention the DNS limitation in ESP-IDF additions to lwIP
* Update CN for lwIP DNS limitation

Co-Authored-By: Wang Ziyan <wangziyan@espressif.com>
2023-12-01 08:19:26 +01:00
Island 2110f6b037 Merge branch 'update/ble_mesh_put_lib_in_submodule_v5.2' into 'release/v5.2'
fix(ble_mesh): Put Mesh 1.1 lib files in submodule (v5.2)

See merge request espressif/esp-idf!27549
2023-12-01 15:17:17 +08:00
mofeifei 1ef33e12a4 docs: update cn trans idf-docker-image 2023-12-01 08:09:05 +01:00
Frantisek Hrbata 720985250b feat(docker): allow to add paths into git's safe.directory
With 8959555cee7e[1] ("setup_git_directory(): add an owner check for the top..")
git added an ownership check of the git directory and refuses to
run any git commands, even parsing the config file, if the git directory
is not owned by the current user. The "fatal: detected dubious ownership in repository"
is reported.

This fixes CVE-2022-24765[2], which allows to compromise user account. On a
multi-user system or e.g. on a shared file system, one user may create a "rogue"
git repository with e.g. core.fsmonitor set to an arbitrary command. Other user
may unwillingly execute this command by running e.g. git-diff or
git-status within the "rogue" git repository, which may be in one of the parent
directories. If e.g. PS1 is set to display information about a git
repository in CWD, as suggested in Git in Bash[3], the user do not need to run
any git command to trigger this, just entering some subdirectory under
this "rogue" git repository is enough, because the git command will be
started transparently through the script used in PS1. The core.fsmonitor
can be set to arbitrary command. It's purpose is to help git to identify changed files
and speed up the scanning for changed files.

rogue
├── .git     # owned by user1
└── dir1     # owned by user2
    ├── dir2 # owned by user2
    └── .git # owned by user2

user1 sets core.fsmonitor for git repository in rogue directory
$ git config --add core.fsmonitor "bash -c 'rm -rf \$HOME'"

user2 enters dir1 and runs e.g. git diff and triggers the core.fsmonitor command.

The ownership check may cause problems when running git commands in
ESP-IDF Docker container. For example user may run the container as
root, but the mounted project may be owned by a particular user.

In this case git will refuse to execute any git command within the
"/project" directory, because it's not owned by root. To overcome this,
git allows to set safe.directories, for which the ownership check is
skipped. The security check may be completely disabled by setting
safe.directories to "*". This solution was proposed in PR 12636[4], but
it would allow make it possible to exploit this vulnerability again.

This fix allows user to specify git's safe.directory in IDF_GIT_SAFE_DIR
environmental variable, which may be set during container startup.

The IDF_GIT_SAFE_DIR has same format as PATH and multiple directories can be
specified by using a ":" separator. To entirely disable this git security check
within the container, user may set IDF_GIT_SAFE_DIR='*'. This might be
heplfull in CI.

Closes https://github.com/espressif/esp-idf/pull/12636

[1] - https://github.com/git/git/commit/8959555cee7ec045958f9b6dd62e541affb7e7d9
[2] - https://nvd.nist.gov/vuln/detail/cve-2022-24765
[3] - https://git-scm.com/book/en/v2/Appendix-A%3A-Git-in-Other-Environments-Git-in-Bash
[4] - https://github.com/espressif/esp-idf/pull/12636

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-12-01 08:09:05 +01:00
Rahul Tank dc835a0918 Merge branch 'bugfix/add_legacy_adv_clear_vsc_v5.2' into 'release/v5.2'
fix(nimble): Add support for VSC to clear legacy adv memory (v5.2)

See merge request espressif/esp-idf!27470
2023-12-01 15:03:45 +08:00
Jiang Jiang Jian 264284e0de Merge branch 'doc/change_deepsleep_example_readme_v5.2' into 'release/v5.2'
Doc/change deepsleep example readme v5.2

See merge request espressif/esp-idf!27446
2023-12-01 14:01:07 +08:00
liuning 2482c4a025 feat(coex): apply struct for coex version 2023-12-01 06:00:34 +00:00
liuning 0d0265f6f3 feat(coex): rename coexist sections 2023-12-01 06:00:34 +00:00
Island eba1baa63d Merge branch 'bugfix/ble_update_lib_20231124_v5.2' into 'release/v5.2'
ble(update):Update c2 lib to 79ed4e8a,Update h2 lib to 9a237426,Update c6 lib to 9a237426

See merge request espressif/esp-idf!27394
2023-12-01 13:58:27 +08:00
Xu Si Yu 4f33ef4e11 fix(openthread): add eventfd nums for spi interface 2023-12-01 11:59:48 +08:00
Shu Chen 0d55c89950 fix(openthread): remove invalid configs from ot examples 2023-12-01 11:59:38 +08:00
Liu Linyan ba7b323c3e fix(ble_mesh): Use submodule for mesh 1.1 lib files 2023-12-01 10:00:37 +08:00
Liu Linyan e58ed21fbf fix(ble_mesh): Remove the orginal mesh 1.1 lib files 2023-12-01 10:00:30 +08:00
Roland Dobai 026fb6e292 Merge branch 'fix/monitor_print_filter_v5.2' into 'release/v5.2'
fix(tools/monitor): fix PRINT_FILTER env variable usage (v5.2)

See merge request espressif/esp-idf!27417
2023-12-01 00:08:49 +08:00
morris 587b4b32f8 Merge branch 'bugfix/uart_custom_console_v5.2' into 'release/v5.2'
fix(console): enable to select UART1 port for console output (v5.2)

See merge request espressif/esp-idf!27506
2023-11-30 21:46:22 +08:00
Jin Cheng d28751ee7f fix(bt/bluedroid): Set the alarm_arg to NULL after releasing to avoid double free in L2CAP layer 2023-11-30 19:58:38 +08:00
Jin Cheng 7a335421e1 fix(bt/bluedroid): Set the alarm_arg to NULL after releasing to avoid double free in BTC layer 2023-11-30 19:58:02 +08:00
Shyamal Khachane 9f65fa31e2 fix(esp_wifi): Fix NAN service discovery, datapath and timer bugs
1. Fix crash while cancelling NAN service
2. Avoid possible crash scenarios while forming datapath
3. Modify peer records structure thus fixing issues in datapath establishment
4. Fix timer out of bound issue causing "No timer handle" warning
5. Fix miscellaneous service discovery and datapath issues
2023-11-30 16:34:19 +05:30
Mu Hai Dong dd295049a9 fix(wifi): free beacon eb when softap destroy 2023-11-30 16:28:37 +05:30
Ondrej Kosta b5cfc9400c ci(esp_eth): addressed LAN8720 errata in CI test 2023-11-30 09:29:37 +00:00
Ondrej Kosta a82879367a feat(esp_eth): added ioctl option to read/write PHY registers
LAN87xx: Added extra delay after setting PHY speed
2023-11-30 09:29:37 +00:00
Ondrej d554768528 ci(esp_eth): make additional Ethernet chips test as nightly run 2023-11-30 09:29:37 +00:00
Shu Chen b807b6ebf3 Merge branch 'fix/ieee802154_sleep_config_v5.2' into 'release/v5.2'
fix(ieee802154): fix ieeee802154 sleep enable configuration dependency issue (backport v5.2)

See merge request espressif/esp-idf!27467
2023-11-30 16:53:12 +08:00
Harshit Malpani e4ecfc2133 fix(esp_http_client): Fix esp_http_client async mode
Closes https://github.com/espressif/esp-idf/issues/12358
2023-11-30 12:04:31 +05:30
Rahul Tank 99a923fa0f fix(nimble): Add support for VSC to clear legacy adv memory
Legacy adv does not have an API for clear adv memory in controller.
 Added VSC for same.
2023-11-30 09:10:06 +05:30
Rahul Tank 40d48108b1 Merge branch 'bugfix/cts_handle_invalid_year_val_v5.2' into 'release/v5.2'
fix(nimble): Handled invalid write on year value in Current Time Service (v5.2)

See merge request espressif/esp-idf!27461
2023-11-30 11:38:36 +08:00
Song Ruo Jing 55ed548cc6 fix(console): enable to select UART1 port for console output
This feature was only enabled for esp32, esp32s2, esp32s3 previously.
Now, enabling this feature for all targets.
2023-11-30 11:26:09 +08:00
zhanghaipeng 3d2daa08cc fix(bt/bluedroid): Fix bluedroid menuconfig 2023-11-30 10:42:04 +08:00
zhanghaipeng 804f939ed0 docs(bt/bluedroid): Update ble example document 2023-11-30 10:41:48 +08:00
Adam Múdry d465ed93f6 fix: esp_vfs_fat_sdcard_format workbuf memory leak 2023-11-29 16:16:58 +01:00
Aditya Patwardhan c90d14c979 Merge branch 'fix/cleanup_deleted_menuconfig_option_entries_v5.2' into 'release/v5.2'
fix(mbedtls): Fix menuconfig option entries (v5.2)

See merge request espressif/esp-idf!27463
2023-11-29 21:20:55 +08:00
luoxu afab071f51 bugfix(ble_mesh): Supplementary configuration options that should be enabled. 2023-11-29 19:19:18 +08:00
Liu Linyan d680a3949b fix(ble_mesh): Support using random adv interval for mesh packets 2023-11-29 19:19:18 +08:00
Marius Vikhammer faf6bc933e ci(system): fixed and enabled misc system build tests 2023-11-29 16:59:15 +08:00
Martin Vychodil 6fcfe379bc Merge branch 'feature/expose_unload_partitions_v5.2' into 'release/v5.2'
refactor(esp_partition): Expose function for unloading partitions (v5.2)

See merge request espressif/esp-idf!27425
2023-11-29 16:34:26 +08:00
Martin Vychodil e089cb3d4d Merge branch 'fix/fatfs_formatting_wrong_volume_v5.2' into 'release/v5.2'
Fix: FATFS formatting wrong partition (v5.2)

See merge request espressif/esp-idf!27372
2023-11-29 16:32:24 +08:00
xiaqilin 2555d5cb12 fix(ieee802154): fix ieeee802154 sleep enable configuration dependency issue 2023-11-29 13:44:59 +08:00
Aditya Patwardhan c1779ff8b7 fix(mbedtls): Removed redundant menuconfig entry 2023-11-29 09:50:12 +05:30
Roshan Bangar 1437d00487 fix(nimble): Handled invalid write on year value in Current Time Service 2023-11-29 09:49:53 +05:30
Jiang Jiang Jian 1a9f3b22f4 Merge branch 'bugfix/fix_wifi_deinit_s_wifi_modem_sleep_lock_v5.2' into 'release/v5.2'
fix(wifi): fix wifi deinit s_wifi_modem_sleep_lock

See merge request espressif/esp-idf!27451
2023-11-29 12:15:59 +08:00
Erhan Kurubas 567bc462f0 feat(coredump): save isr context to coredump elf file 2023-11-28 18:19:03 +01:00
liuning a9b1a27c9a fix(wifi): fix wifi deinit s_wifi_modem_sleep_lock 2023-11-28 20:57:02 +08:00
Lou Tianhao 09a3d068d9 docs(pm):add uart wakeup description when pd top 2023-11-28 19:39:53 +08:00
Lou Tianhao 70e83a5871 docs(pm):add gpio wakeup description when pd top 2023-11-28 19:39:53 +08:00
Lou Tianhao e849809f4b docs(pm):change_deepsleep_example_readme 2023-11-28 19:39:53 +08:00
morris bc38841c11 Merge branch 'bugfix/i80_lcd_tx_param_check_enhancement_v5.2' into 'release/v5.2'
fix(i80_lcd): enhance the check of a valid data phase (v5.2)

See merge request espressif/esp-idf!27427
2023-11-28 18:33:19 +08:00
Rahul Tank f40318c6c7 Merge branch 'bugfix/fix_duplicate_exception_vsc_5.2' into 'release/v5.2'
fix(nimble): Fix the parameters in duplicate exception list vsc command(v5.2)

See merge request espressif/esp-idf!27405
2023-11-28 15:49:51 +08:00
Rahul Tank 4122499997 Merge branch 'feature/current_time_service_v5.2' into 'release/v5.2'
feat(nimble): Added Example support for Current Time Service (v5.2)

See merge request espressif/esp-idf!26975
2023-11-28 14:00:21 +08:00
Mahavir Jain ef5acffcbb Merge branch 'fix/memory_leak_in_nvs_flash_v5.2' into 'release/v5.2'
fix(nvs_flash): Fix the memory leak in the nvs_flash test app (v5.2)

See merge request espressif/esp-idf!27422
2023-11-28 13:26:00 +08:00
morris 1f79b5045d fix(i80_lcd): enhance the check of a valid data phase
in case the user passes a (uint8_t){0x00} parameter with the perameter size
set to zero
2023-11-28 09:57:02 +08:00
Adam Múdry 74c0234f72 refactor(esp_partition): Expose function for unloading partitions
Closes https://github.com/espressif/esp-idf/issues/12625
2023-11-27 19:49:59 +01:00
harshal.patil 330f3edf11 fix(nvs_flash): Fix the memory leak in the nvs_flash test app
The leak is now reduced by allocating the AES interrupt and
loading the partitions in the test setup instead of in the tests itself.
2023-11-27 17:25:14 +05:30
Shang Zhou 63ea519cbe docs: Update CN translation for api-guides/tools/idf-monitor.rst 2023-11-27 09:32:41 +01:00
Peter Dragun c71ee4f78a fix(tools/monitor): fix PRINT_FILTER env variable usage 2023-11-27 09:32:41 +01:00
Roland Dobai 5c74467a5d Merge branch 'fix/astyle_pyyaml_cython_v5.2' into 'release/v5.2'
fix(ci): bump astyle version to v1.0.5 in .pre-commit-config.yaml (v5.2)

See merge request espressif/esp-idf!27398
2023-11-27 16:16:46 +08:00
Rahul Tank 8150abfb67 fix(nimble): Fix the parameters in duplicate exception list vsc command 2023-11-27 08:52:27 +05:30
Rahul Tank 4bedb8372b feat(nimble): Added example support for Current Time Service 2023-11-27 08:43:00 +05:30
Rahul Tank 170055603e Merge branch 'bugfix/fix_dangling_pointer_compilation_warning_v5.2' into 'release/v5.2'
fix(nimble): Fix dangling pointer error during compilation (v5.2)

See merge request espressif/esp-idf!27160
2023-11-27 10:49:05 +08:00
Rahul Tank 634ce1e425 fix(nimble): Fix dangling pointer error during compilation 2023-11-26 12:36:26 +05:30
Frantisek Hrbata b74bdaceee fix(ci): bump astyle version to v1.0.5 in .pre-commit-config.yaml
pyyaml have problem with newer cython(3.0), this was fixed in pyyaml
6.0.1, which requires cython<3.0. The pyyaml dependency in astyle
was fixed in v1.0.5, but the pre-commit config is still useing v1.0.2.
As a result the pre-commit hooks installation of astyle can fail
on pyyaml. Fix this by bumping the astyle version for pre-commit.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-11-24 14:32:51 +01:00
Martin Vychodil b780287e3b Merge branch 'backport/uart_select_malloc_5.2' into 'release/v5.2'
fix(vfs): fix uart malloc when locates ISR context in IRAM(Backport 5.2)

See merge request espressif/esp-idf!27383
2023-11-24 20:49:48 +08:00
luomanruo 8a64c4c404 ble: update rom.ld file 2023-11-24 20:33:49 +08:00
luomanruo c6c42d0b5c ble: update sdkconfig_version on ESP32C2, ESP32H2 and ESP32C6 2023-11-24 20:20:20 +08:00
luomanruo 9ead485ffd ble(fix): fix RX issue on ESP32-C2 2023-11-24 19:41:35 +08:00
luomanruo 6abe369115 ble:
Update c2 lib to 79ed4e8a
Update h2 lib to 9a237426
Update c6 lib to 9a237426
2023-11-24 19:21:13 +08:00
zwx be96274ea3 fix(vfs): fix uart malloc when locates ISR context in IRAM 2023-11-24 16:09:14 +08:00
Alexey Lapshin f28c47e4af feat(tools): update gdb version to 12.1_20231023 2023-11-24 11:12:09 +04:00
Jiang Jiang Jian a9f7ea3566 Merge branch 'bugfix/ble_gap_unpair_oldest_peer_fix_v5.2' into 'release/v5.2'
fix(nimble): Fixed ble_gap_unpair_oldest_peer to prevent writing to invalid memory (v5.2)

See merge request espressif/esp-idf!27315
2023-11-24 12:24:43 +08:00
Jiang Jiang Jian f0e1a1f35f Merge branch 'bugfix/ble_update_lib_1110_5.2' into 'release/v5.2'
Bugfix/ble update lib 1110 5.2

See merge request espressif/esp-idf!27062
2023-11-24 10:13:30 +08:00
Adam Múdry c77b2fcd5d fix(storage): FATFS WL function formatting wrong partition
Closes https://github.com/espressif/esp-idf/issues/12542

Co-authored-by: Tony Stuart <anthonyfstuart@gmail.com>
2023-11-23 22:45:36 +01:00
Jiang Jiang Jian 8cc8a1108d Merge branch 'bugfix/authmode_incompatible_reason_code_v52' into 'release/v5.2'
Expand situations for REASON_NO_AP_FOUND_WITH_COMPATIBLE_SECURITY(v5.2)

See merge request espressif/esp-idf!27341
2023-11-23 19:40:25 +08:00
Vikram Dattu 541b665b9f feat(provisioning): Generate Salt and verifier pair for given username and password
This commit adds a new feature to generate a salt and verifier pair for a given username and
password during the provisioning process. This is useful in scenarios where the pairing pin is
randomly generated and shown via some interface such as a display or console.

- Uses the provided username and password to generate a salt and verifier pair
- Adds support for dev mode where the pin/password can still be read from flash
2023-11-23 14:25:53 +05:30
Vikram Dattu ee65ea9fb7 refactor(esp_srp): Expose esp_srp.h and add API docs
- Also added missing `protocomm_security2` reference in `protocomm.rst`
2023-11-23 14:25:53 +05:30
Mahavir Jain 7add372f37 Merge branch 'bugfix/return_code_of_ota_finish_api_v5.2' into 'release/v5.2'
fix(esp_https_ota): fix return code of esp_https_ota_finish API (v5.2)

See merge request espressif/esp-idf!27334
2023-11-23 16:30:16 +08:00
Jiang Jiang Jian 263d186a5f Merge branch 'bugfix/fix_wifi_init_reentrant_issue_v5.2' into 'release/v5.2'
fix(wifi): fix wifi init reentrant issue

See merge request espressif/esp-idf!27176
2023-11-23 15:28:26 +08:00
Marius Vikhammer b7ac980fbc Merge branch 'backport/add_docs_for_coex_v52' into 'release/v5.2'
feat(docs) Add RF Coexist docs for H2

See merge request espressif/esp-idf!27237
2023-11-23 13:57:40 +08:00
darshan 80f3916f0f fix(nimble): Fixed ble_gap_unpair_oldest_peer to prevent writing to invalid memory 2023-11-23 10:54:31 +05:30
liuning 7faa087670 fix(wifi): fix wifi init reentrant issue 2023-11-23 10:37:16 +08:00
Shu Chen d0dab67955 Merge branch 'fix/esp32c6_sleep_pll_issue_v5.2' into 'release/v5.2'
fix(pm): add mac/bb power down/up prepare for fix esp32c6 pll issue (backport v5.2)

See merge request espressif/esp-idf!27313
2023-11-23 02:31:14 +08:00
Martin Vychodil 004e93764f Merge branch 'bugfix/uart_vfs_select_in_iram_v5.2' into 'release/v5.2'
fix: add UART VFS select callback in IRAM when CONFIG_UART_ISR_IN_IRAM is enabled (v5.2)

See merge request espressif/esp-idf!27297
2023-11-22 22:43:24 +08:00
Roland Dobai f41d1b09f8 Merge branch 'contrib/github_pr_12558_v5.2' into 'release/v5.2'
Fix: esptool_py incorrectly assumed target name equals binary name (GitHub PR) (v5.2)

See merge request espressif/esp-idf!27268
2023-11-22 22:41:20 +08:00
jgujarathi 83d9e81789 fix(esp_wifi): Expand situations for REASON_NO_AP_FOUND_WITH_COMPATIBLE_SECURITY
- Fixes issue with connecting and discovering WEP APs
- Expands the reasons for trigerring a disconnect using
  REASON_NO_AP_FOUND_WITH_COMPATIBLE_SECURITY
-- SAE-PK configured as compulsory in sta config but disabled for the AP
-- SAE-H2e configured as compulsory in sta config but disabled for an AP
that has authmode as WPA3-PSK or WPA3-WPA2-PSK.
-- Open AP found but we have set password or enabled enterprise mode.
-- SAE HnP set in config and AP supports H2E only
-- WPA3-EXT-PSK AP but H2E disabled in config
2023-11-22 19:10:29 +05:30
Harshit Malpani e202aa3b9f fix(esp_https_ota): fix return code of esp_https_ota_finish API
Closes https://github.com/espressif/esp-idf/issues/12635
2023-11-22 17:09:47 +05:30
Jiang Jiang Jian c23973dfa7 Merge branch 'test/ctrl_acl_u_pkt_type_v5.2' into 'release/v5.2'
feat(bt/bluedroid): Added an API to specify data types for ACL-U traffic (v5.2)

See merge request espressif/esp-idf!27128
2023-11-22 17:17:22 +08:00
Jiang Jiang Jian 8495745471 Merge branch 'fix/remove_deprecated_bt_example_sdkfonfigs_v5.2' into 'release/v5.2'
ci(bt/bluedroid): remove configs that are not in effect (backport v5.2)

See merge request espressif/esp-idf!27281
2023-11-22 17:17:12 +08:00
zwx 323f128228 feat(docs): Add RF Coexist docs for H2 2023-11-22 16:58:54 +08:00
xiaqilin 6ffc6a40a7 fix(pm): add mac/bb power down/up prepare for fix esp32c6 pll issue
* switch root clk src to PLL for modem reg opt and added callback
* register power_down/power_up callback in ieee802154 driver for esp32c6
* remove software regdma opt in bt
2023-11-22 11:58:02 +08:00
Jiang Jiang Jian c7a270f83d Merge branch 'feature/support_ext1_clear_spec_pins_v5.2' into 'release/v5.2'
fix(pm/ext1): fix c6 h2 lp_aon_ll_ext1_set_wakeup_pins func

See merge request espressif/esp-idf!27285
2023-11-22 11:35:02 +08:00
Jiang Jiang Jian 93b2c4640b Merge branch 'bugfix/coex_deprecate_config_rename_v5.2' into 'release/v5.2'
fix(esp_coex): Fix deprecated configuration options not rename to new one (Backport v5.2)

See merge request espressif/esp-idf!27091
2023-11-22 11:33:20 +08:00
Rahul Tank ecd894a4bd Merge branch 'feature/get_whitelist_size_v5.2' into 'release/v5.2'
feat(nimble): Added API to retrieve the size of the controller's white list (v5.2)

See merge request espressif/esp-idf!26953
2023-11-22 11:15:19 +08:00
sonika.rathi 45d801d815 fix(vfs/uart): add UART VFS select callback in IRAM
UART VFS select callback is placed in IRAM when CONFIG_UART_ISR_IN_IRAM is enabled
2023-11-21 10:26:25 +01:00
Jin Cheng 15b27b1749 feat(bt/bluedroid): Added an API to specify data types for ACL-U traffic 2023-11-21 08:09:24 +00:00
Jiang Jiang Jian 26aa680b5b Merge branch 'bugfix/add_par_check_in_ag_cind_res_v5.2' into 'release/v5.2'
Bugfix/add par check in ag cind res v5.2

See merge request espressif/esp-idf!27256
2023-11-21 16:08:09 +08:00
luomanruo b7b042f45d ble(fix): deinit crash issue 2023-11-21 15:07:37 +08:00
zwl 8f44bee739 fix(ble): fixed ble occasional rx exception issue 2023-11-21 15:06:23 +08:00
luomanruo e785f453f4 ci(ble/bluedroid): Add notes in sdkconfig.defaults 2023-11-21 15:06:23 +08:00
luomanruo 533b82aae1 ble: update controller log module 2023-11-21 15:06:23 +08:00
luomanruo 17c72d85e4 ble: update c6 h2 lib to 5b1dfd2b, c2 lib to db4e1fb2 2023-11-21 15:06:23 +08:00
luomanruo 564e5c9429 ble(fix): Fixed the issue of not returning memory to the memory pool after deinit callout
ble(fix): Fixed the issue of not returning memory to the memory pool after deinit callout
2023-11-21 15:06:23 +08:00
darshan fb6ba3f337 feat(nimble): Added API to retrieve the size of the controller's white list (v5.2) 2023-11-21 12:34:55 +05:30
Jiang Jiang Jian f04854bb4a Merge branch 'docs/update_nan_docs_v5.2' into 'release/v5.2'
Fix inconsistency in NAN documentation (Backport v5.2)

See merge request espressif/esp-idf!27267
2023-11-21 11:48:31 +08:00
Lou Tianhao d7ae1665f1 fix(pm/ext1): fix c6 h2 lp_aon_ll_ext1_set_wakeup_pins func 2023-11-21 11:31:53 +08:00
Jiang Jiang Jian ba8afdbf81 Merge branch 'bugfix/fix_incorrect_irk_set_v5.2' into 'release/v5.2'
fix(nimble): Fixed issue of incorrect IRK being set (v5.2)

See merge request espressif/esp-idf!27249
2023-11-21 11:16:45 +08:00
Jiang Jiang Jian feda32be06 Merge branch 'bugfix/newlib_test_correct_assertions_v5.2' into 'release/v5.2'
fix(newlib,ci): wrong floating point number handling in tests (v5.2)

See merge request espressif/esp-idf!27089
2023-11-21 11:15:50 +08:00
Jiang Jiang Jian df7ba090f3 Merge branch 'bugfix/esp32h2_ecdsa_hardware_k_v5.2' into 'release/v5.2'
fix(esp32h2): program use_hardware_k efuse bit for ECDSA key purpose (v5.2)

See merge request espressif/esp-idf!27234
2023-11-21 11:13:37 +08:00
Jiang Jiang Jian c73141a9c2 Merge branch 'bugfix/rmt_tx_check_owner_v5.2' into 'release/v5.2'
fix(rmt): reenable dma owner check (v5.2)

See merge request espressif/esp-idf!27260
2023-11-21 11:12:06 +08:00
gongyantao 98261d38cc ci(bt/bluedroid): remove configs that are not in effect 2023-11-21 10:09:15 +08:00
Wang Meng Yang b1bba5fdd3 Merge branch 'bugfix/spp_deinit_crash_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fix the crash of invalid access to released resources (v5.2)

See merge request espressif/esp-idf!27250
2023-11-21 09:59:01 +08:00
Frantisek Hrbata bb29c6e55d feat(ci): add test for custom cmake CMAKE_EXECUTABLE_SUFFIX
Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-11-20 10:48:47 +01:00
Arno Moonen aaf398617c fix(build): fix build failure if CMAKE_EXECUTABLE_SUFFIX is set
From: Arno Moonen <arno.moonen@airios.eu>

Follows original message from Arno Moonen <arno.moonen@airios.eu>

While integrating the ESP-IDF into our existing CMake structure,
I've come across quite some hurdles. Most I've been able to fix
in our CMake files, however this one I could not.

Most of the targets created by the esptool_py component assume
that the EXECUTABLE IDF build property (which contains the name
of the CMake executable target) always equals the name of the
created binary.

This is however not always true. For instance, in our setup we use
CMAKE_EXECUTABLE_SUFFIX_C and CMAKE_EXECUTABLE_SUFFIX_CXX in our
toolchain file (both set to .elf). If we do add_executable(my_app),
the target binary file would actually be my_app.elf.

In order to fix this, I've updated it to use the TARGET_FILE generated
expression. That way we also no longer need the EXECUTABLE_DIR IDF build
property here.

I've fixed this on v5.0.1 (as that's the ESP-IDF version I'm currently
trying to integrate), but I assume it should be easy to apply the same
fix to newer versions and the master branch as well.

Note that this problem might exist in multiple places where EXECUTABLE
is being used. While going through the ESP-IDF code base, I even noticed
that a few places actually already seem to use the TARGET_FILE expression.
To be honest the property name might be somewhat confusing as well, as it
is actually the executable target.

Closes https://github.com/espressif/esp-idf/pull/12558
2023-11-20 10:48:47 +01:00
Shyamal Khachane 782eaa3c7e docs(esp_wifi): Fix inconsistency in NAN documentation 2023-11-20 15:07:45 +05:30
Jiang Jiang Jian d4b4fe85af Merge branch 'feature/support_for_32_and_128_bit_custom_uuids_v5.2' into 'release/v5.2'
feat(bt/bluedroid): Add new APIs for 32 and 128-bit UUIDs (backport v5.2)

See merge request espressif/esp-idf!27229
2023-11-20 17:00:47 +08:00
morris 40093b34eb fix(rmt): enable dma owner check
Closes https://github.com/espressif/esp-idf/issues/12564
2023-11-20 14:55:34 +08:00
Jin Cheng 78a3ecb7ff fix(bt/bluedroid): corrected the API documents of profile HFP and A2DP 2023-11-20 11:58:13 +08:00
Jin Cheng 135987b339 fix(bt/bluedroid): Added some argument check in APIs of HFP AG 2023-11-20 11:57:58 +08:00
Mahavir Jain e67e9cca57 Merge branch 'fix/aes_mpi_interrupt_allocation_workflow_v5.2' into 'release/v5.2'
fix(mbedtls): move interrupt allocation during initialization phase (v5.2)

See merge request espressif/esp-idf!27203
2023-11-20 10:54:20 +08:00
morris ea21b8b700 Merge branch 'bugfix/mcpwm_fault_trigger_test_v5.2' into 'release/v5.2'
fix(mcpwm): fault trigger test forget connect timer and operator (v5.2)

See merge request espressif/esp-idf!27239
2023-11-20 10:52:03 +08:00
Rahul Tank 600c7c8828 fix(nimble): Fixed issue of incorrect IRK being set 2023-11-20 08:21:50 +05:30
morris 8abcc07d1f fix(mcpwm): fault trigger test forget connect timer and operator 2023-11-17 16:34:40 +08:00
Mahavir Jain bad8adfd59 docs(ecdsa): add a note about TRNG dependency for ECDSA peripheral 2023-11-17 07:13:53 +00:00
Mahavir Jain f207ce15df fix(api-docs): include in the ECDSA APIs for doxygen build 2023-11-17 07:13:53 +00:00
Mahavir Jain 2882b6f68b docs: add ECDSA peripheral chapter for H2/P4
- Add ECDSA peripheral chapter and instructions to program efuse key block
- Update security guide for ECDSA peripheral mention for device identity
- Link with ESP-TLS guide about using ECDSA peripheral in TLS connection
2023-11-17 07:13:53 +00:00
Mahavir Jain f434d21f4a fix(ecdsa): remove unused k_mode from the ECDSA HAL/LL API
For ESP32-H2 case, the hardware k mode is always enforced through
efuse settings (done in startup code).

For ESP32-P4 case, the software k mode is not supported in the peripheral
itself and code was redundant.
2023-11-17 07:13:53 +00:00
Mahavir Jain d3b4acf7a0 fix(esp32h2): program use_hardware_k efuse bit for ECDSA key purpose
In ESP32-H2, the ECDSA peripheral by default uses the TRNG (hardware)
generated k value but it can be overridden to software supplied k.
This can happen through by overriding the `ECDSA_SOFTWARE_SET_K` bit
in the configuration register. Even though the HAL API is not exposed
for this but still it could be achieved by direct register
programming. And for this scenario, if sufficiently random k is not
supplied by the software then it could posses a security risk.

In this change, we are unconditionally programming the efuse
`ESP_EFUSE_ECDSA_FORCE_USE_HARDWARE_K` bit during startup security
checks itself. Additionally, same is ensured in the `esp_efuse_write_key`
API as well. This always enforces the hardware k mode in the ECDSA
peripheral and ensures strongest possible security.
2023-11-17 07:13:53 +00:00
Jiang Jiang Jian 35013d90a3 Merge branch 'bugfix/fix_onebyte_watchpoint_setting_v5.2' into 'release/v5.2'
fix(riscv): supports 1 byte and larger than 64byte range watchpoint setting (v5.2)

See merge request espressif/esp-idf!27214
2023-11-17 13:49:30 +08:00
Jiang Jiang Jian 57bbfd423a Merge branch 'fix/heap-task-tracking_v5.2' into 'release/v5.2'
fix(heap): Fix bugs in heap task tracking (backport v5.2)

See merge request espressif/esp-idf!27042
2023-11-17 12:47:52 +08:00
Marius Vikhammer 3d591c57c0 Merge branch 'feature/add_run_time_counter_type_option_v5.2' into 'release/v5.2'
feat(freertos/idf): Add configRUN_TIME_COUNTER_TYPE option (v5.2)

See merge request espressif/esp-idf!26848
2023-11-17 11:25:37 +08:00
Jiang Jiang Jian 9d694e40ed Merge branch 'bugfix/clear_ulp_wake_intr_in_wake_source_enable_v5.2' into 'release/v5.2'
fix(esp_hw_support): clear all type ULP wakeup intr status at ulp wakeup source enable (backport v5.2)

See merge request espressif/esp-idf!27187
2023-11-17 11:04:23 +08:00
Jiang Jiang Jian 1cdca25776 Merge branch 'bugfix/fix_lightsleep_current_leakage_on_usj_pad_v5.2' into 'release/v5.2'
fix(esp_hw_support): fix lightsleep current leakage on usb pad (backport v5.2)

See merge request espressif/esp-idf!27199
2023-11-17 10:47:31 +08:00
Jin Cheng 0e61201243 fix(bt/bluedroid): Fix the crash of invalid access to released resources
It is caused by the delayed timer is alarmed after esp_spp_deinit.
2023-11-17 10:37:28 +08:00
Jiang Jiang Jian 7f0f299e66 Merge branch 'bugfix/fix_dhcp_subnet_option_api_dos_not_work_issue_5.2' into 'release/v5.2'
Fix(dhcps):fix dhcp subnet option api dos not work issue 5.2

See merge request espressif/esp-idf!27210
2023-11-17 10:33:51 +08:00
Jiang Jiang Jian fc11d2ae72 Merge branch 'bugfix/secure_boot_v2_docs_v5.2' into 'release/v5.2'
fix(docs): correct the target specific macros for secure boot v2 guide (v5.2)

See merge request espressif/esp-idf!27169
2023-11-17 10:31:57 +08:00
Jiang Jiang Jian 7f8fe9569c Merge branch 'bugfix/fix_some_ble_bugs_v5.2' into 'release/v5.2'
Fixed some BLE bugs (backport v5.2)

See merge request espressif/esp-idf!27195
2023-11-17 10:30:27 +08:00
Jiang Jiang Jian bf8a6ef490 Merge branch 'bugfix/fix_psram_access_faild_after_pd_cpu_wakeup_v5.2' into 'release/v5.2'
fix(esp_pm): fix psram access failed after pd_cpu wakeup if uart driver driven console is used (backport v5.2)

See merge request espressif/esp-idf!27050
2023-11-17 10:29:03 +08:00
Jiang Jiang Jian f8ee9b334c Merge branch 'bugfix/freertos_define_list_volatile_v5.2' into 'release/v5.2'
fix(freertos/idf): Define configLIST_VOLATILE for list elements (v5.2)

See merge request espressif/esp-idf!27096
2023-11-17 10:28:44 +08:00
Jiang Jiang Jian 47ddba60d7 Merge branch 'bugfix/generate_new_irk_across_reboot_v5.2' into 'release/v5.2'
fix(nimble): Generate a new unique IRK for every chip. (v5.2)

See merge request espressif/esp-idf!27116
2023-11-17 10:28:22 +08:00
Jiang Jiang Jian 2fa1e2b23a Merge branch 'bugfix/wifi_backport_v5.2' into 'release/v5.2'
fix(esp_wifi): backport some wifi fixes to v5.2

See merge request espressif/esp-idf!27185
2023-11-17 04:43:10 +08:00
Jiang Jiang Jian f0869bb354 Merge branch 'bugfix/dpp_config_memset_v5.2' into 'release/v5.2'
Wi-Fi: Fixed some DPP issues (v5.2)

See merge request espressif/esp-idf!27191
2023-11-16 20:37:28 +08:00
Jiang Jiang Jian 89c3bebad4 Merge branch 'bugfix/move_fe_32m_to_adc_fe_common_clock_v5.2' into 'release/v5.2'
fix(esp_hw_support): move fe_32m to fe/adc common clock (backport v5.2)

See merge request espressif/esp-idf!27057
2023-11-16 20:36:58 +08:00
wuzhenghui 600986cf49 fix(riscv): supports 1 byte and larger than 64byte range watchpoint setting 2023-11-16 20:23:57 +08:00
wuzhenghui 4379d26f65 change(soc): rename SOC_CPU_WATCHPOINT_SIZE to SOC_CPU_WATCHPOINT_MAX_REGION_SIZE 2023-11-16 20:23:57 +08:00
xueyunfei 30ecc4ce72 Fix(dhcps):fix dhcp subnet option api dos not work issue 2023-11-16 20:17:42 +08:00
harshal.patil 9bf48e77f0 fix(mbedtls): move interrupt allocation during initialization phase 2023-11-16 16:16:57 +05:30
wuzhenghui b7f1aa5292 fix(esp_hw_support): fix lightsleep current leakage on usb-phy controlled pad 2023-11-16 17:18:43 +08:00
chenjianhua d65f8a5fc6 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(2758518)
- Fixed power state setting when entering modem sleep
2023-11-16 16:31:25 +08:00
chenjianhua 34d964bf38 Update bt lib for ESP32-C3 and ESP32-S3(f817304)
- Support get the range of TX power level
- Support clear legacy adv using vendor hci
2023-11-16 16:31:18 +08:00
chenjianhua 48b4693eae update esp32 bt-lib (6458728)
- Modify mesh proxy solic uuid to 0x18590303
- Support get the range of TX power level
- Support clear legacy adv using vendor hci
2023-11-16 16:29:47 +08:00
chenjianhua 9ecfa6af81 feat(bt/bluedroid): support clear legacy advertising 2023-11-16 16:29:32 +08:00
morris 43f2476aac Merge branch 'bugfix/esp32s3_usb_otg_console_without_efuse_v5.2' into 'release/v5.2'
fix(console): switch USB PHY to OTG when OTG is used for console (v5.2)

See merge request espressif/esp-idf!27134
2023-11-16 16:29:09 +08:00
Kapil Gupta 476f83c602 fix(wifi): Disallow DPP and WPS concurrency 2023-11-16 12:34:23 +05:30
Kapil Gupta ab93a6bd5b fix(wpa_supplicant): memzero wifi config before sending config event 2023-11-16 12:34:10 +05:30
wuzhenghui 79dd7a350e ci(ulp_test): fix fake sleep of the maincore in ulp pytest cases 2023-11-16 11:47:20 +08:00
wuzhenghui adc8351458 fix(esp_hw_support): clear all type ULP wakeup intr status at ulp wakeup source enable 2023-11-16 11:47:20 +08:00
Marius Vikhammer 681439b85a Merge branch 'change/freertos_local_crit_section_macro_v5.2' into 'release/v5.2'
change(freertos/idf): Refactor thread safety convenience macros (v5.2)

See merge request espressif/esp-idf!26997
2023-11-16 11:23:25 +08:00
Sarvesh Bodakhe 8baaeb2fa3 fix(wifi): fix bug in 'esp_wifi_deauthenticate_internal' and other improvements 2023-11-16 11:13:45 +08:00
Sarvesh Bodakhe eb51374615 fix(wpa_supplicant): Add some bugfixes in wpa_supplicant
1) Add parameter to configure reason code of deauth frame
2) Add logs to indicate MIC failure 4-Way-Handshake
3) Process RSNXE capabilities only if AP advertises them
2023-11-16 11:13:26 +08:00
zhangyanjiao 00484dc8a7 feat(wifi/vendor): get more wifi information in csi rx callback 2023-11-16 11:11:26 +08:00
zhangyanjiao 539c4d8cd0 doc(Wi-Fi/Vendor): Update comments for wifi_csi_info_t 2023-11-16 11:09:52 +08:00
xueyunfei f5b7b148f1 Fix(esp_wifi): Add the missing header file to the wifi header files. 2023-11-16 11:09:38 +08:00
jgujarathi b62d63b767 fix(esp_wifi): Add more descriptive reasons for disconnect
Adds 3 more ddisconnect reasons in case of No AP found.
1. REASON_NO_AP_FOUND_IN_RSSI_THRESHOLD : AP rejected because it did
   not meet rssi threshold.

2. REASON_NO_AP_FOUND_IN_AUTHMODE THRESHOLD : AP rejected because it
   did not meet security threshold.

3. REASON_NO_AP_FOUND_WITH_COMPATIBLE_ SECURITY : AP rejected because
   of incompatible security configuration. These situations could include
   -- bss offerring WEP, but our password is not WEP compliant,
   -- Encrypted AP bss but we have no password config set.
   -- AP is Enterprise but we have not setup enterprise config and vice versa

    Closes https://github.com/espressif/esp-idf/issues/5957
2023-11-16 11:08:55 +08:00
muhaidong de36cb7904 fix(wifi): sta not pmf capable when ap requires should reject profile 2023-11-16 11:07:48 +08:00
zhangyanjiao 07245bf43a fix(wifi/mesh): fix the IE crypto disable error and update doc 2023-11-16 11:03:59 +08:00
muhaidong 2b6feac67c change(wifi): update esp_coexist_internal.h and esp_modem_wrapper.h 2023-11-16 11:03:44 +08:00
muhaidong 6cabcc8206 docs(esp_mesh): update esp_mesh_internal.h 2023-11-16 11:03:32 +08:00
muhaidong 6bf448ddc8 update(wifi): update esp_wifi_crypto_types.h 2023-11-16 11:03:08 +08:00
muhaidong 868d52dcd1 update(esp_coexist): update esp coexist header file 2023-11-16 11:02:56 +08:00
muhaidong 22c5a4befc fix(wifi): add esp_wifi and esp_coexist header files to Doxyfile 2023-11-16 11:02:40 +08:00
muhaidong d8b2b9e77f esp_supplicant: remove wpa supplicant ROM source code copyrights 2023-11-16 11:02:30 +08:00
linruihao 7b27e4e66a fix(esp_coex): Fix deprecated configuration options not rename to new one 2023-11-16 02:59:00 +00:00
wuzhenghui 4175c60a21 fix(esp_hw_support): move fe_32m to fe/adc common clock 2023-11-16 02:58:16 +00:00
Jakob Hasse 592b1660a0 fix(newlib,ci): wrong floating point number handling in tests 2023-11-16 02:57:41 +00:00
Guillaume Souchere 5740323822 fix(heap): Add missing test for heap task tracking config
- Add sdkconfig.ci.task_tracking that runs generic tests
with heap task tracking enabled.
- Add task_tracking.c that includes a test checking that
a created task that allocates memory is added to the list
of task tracked by the heap task tracking feature.
2023-11-16 02:57:15 +00:00
Guillaume Souchere 4824325fe4 fix(heap): Fix bugs in heap task tracking
Update task tracking feature to fix bugs introduced when
decoupling task tracking from heap poisoning.

Closes https://github.com/espressif/esp-idf/issues/12498
Closes https://github.com/espressif/esp-idf/issues/12493
2023-11-16 02:57:15 +00:00
wuzhenghui c570105f36 fix(esp_pm): fix psram access faild after pd_cpu wakeup 2023-11-16 02:55:06 +00:00
wuzhenghui 841d75b3a3 change(esp_pm): improve POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP description
Rename PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP to PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP
and improve the description for it
2023-11-16 02:55:06 +00:00
Darian Leung 2d07e3a6dc change(freertos): Update real_time_stats example to use configRUN_TIME_COUNTER_TYPE
This commit updates the real_time_stats example to use the configurable
configRUN_TIME_COUNTER_TYPE. The CONFIG_FREERTOS_RUN_TIME_COUNTER_TYPE_U64 is
enabled by the example by default to demonstrate its usage.

Note: Also cleaned up redundant configs in sdkconfig.ci
2023-11-16 10:16:00 +08:00
Darian Leung d0aa950fa6 feat(freertos/idf): Add configRUN_TIME_COUNTER_TYPE option
This commit adds a Kconfig option for configRUN_TIME_COUNTER_TYPE

Closes https://github.com/espressif/esp-idf/issues/11973
2023-11-16 10:16:00 +08:00
Marius Vikhammer 7bbe4eae46 Merge branch 'feature/freertos_add_valid_core_id_macro_v5.2' into 'release/v5.2'
feat(freertos/idf): Add taskVALID_CORE_ID() macro (v5.2)

See merge request espressif/esp-idf!27180
2023-11-16 10:08:17 +08:00
Marius Vikhammer 2f694bee0a Merge branch 'bugfix/esp32p4_fpu_check_v5.2' into 'release/v5.2'
fix(riscv): fix a bug in FPU exception handling (backport v5.2)

See merge request espressif/esp-idf!27172
2023-11-16 09:39:22 +08:00
Jiang Jiang Jian 293f5631bb Merge branch 'bugfix/fix_deinit_init_wifi_scan_fail_issue_v5.2' into 'release/v5.2'
Bugfix/fix deinit init wifi scan fail issue v5.2(Backport v5.2)

See merge request espressif/esp-idf!27065
2023-11-16 04:12:15 +08:00
Darian Leung 7391b59f54 feat(freertos/idf): Add taskVALID_CORE_ID() macro
This commit adds a taskVALID_CORE_ID() macro, similar to the one offered in
Amazon SMP FreeRTOS.

- Various functions have been updated to use that macro
- Removed some unecessary static asserts of CONFIG_FREERTOS_NO_AFFINITY and
added casting.
- Uncrustify changes
2023-11-15 22:05:54 +08:00
Omar Chebib e5155c2a54 fix(riscv): fix a bug in FPU exception handling
On the ESP32-P4, it is possible to have an exception because of an FPU instruction
while EXT_ILL CSR is not zero and its FPU bit is not set.
2023-11-15 18:58:30 +08:00
Sudeep Mohanty 2c0cea641a fix(freertos/idf): Define configLIST_VOLATILE for list elements
It was noticed that when high level compiler optimizations are enabled,
the compiler optimizes some list manupulation code. This commit enables
the configLIST_VOLATILE for list elements to prevent the compiler from
optimizing out essential kernel code.
2023-11-15 10:04:33 +00:00
Mahavir Jain b4f6edecbc fix(docs): correct the target specific macros for secure boot v2 guide
It appears that target specific or'ing is not supported through the
docs build. Actual text rendering on the docs site was still using
"default" field from the custom macro, rather than using target
specific.
2023-11-15 15:34:12 +05:30
morris ab3bb3d414 Merge branch 'bugfix/fix_adc_read_zero_h2_new_v5.2' into 'release/v5.2'
ADC: fix adc raw data get 0 because of signal delay on ESP32H2 v5.2

See merge request espressif/esp-idf!27114
2023-11-15 14:31:52 +08:00
Marius Vikhammer e1b6713f8f Merge branch 'docs/h2_programming_guide_cleanup_v5.2' into 'release/v5.2'
docs(esp32h2): updated misc docs with esp32h2 content (v5.2)

See merge request espressif/esp-idf!27145
2023-11-15 11:37:38 +08:00
Marius Vikhammer 1efaf83ef4 docs(esp32h2): updated misc docs with esp32h2 content 2023-11-15 09:54:05 +08:00
Ivan Grokhotkov 8fe15a26d5 fix(console): switch USB PHY to OTG when OTG is used for console
On ESP32-S3 with the default efuse settings, USB PHY is connected to
the USB_SERIAL_JTAG peripheral. If USB OTG peripheral is used for the
console, we need to additionally switch the PHY to USB OTG, otherwise
we won't get any output.

Closes https://github.com/espressif/esp-idf/issues/12437
2023-11-14 14:19:14 +01:00
Ivan Grokhotkov 11a92e3dbd Merge branch 'fix/fatfs_missing_release_v5.2' into 'release/v5.2'
fix(storage/fatfs): add missing lock release introduced by IMMEDIATE_FSYNC (v5.2)

See merge request espressif/esp-idf!26956
2023-11-14 20:14:01 +08:00
muhaidong 42aaf57419 fix(adc): rename ADC_ATTEN_DB_11 to ADC_ATTEN_DB_12 in test_adc.c 2023-11-14 19:31:05 +08:00
muhaidong 05a4a77b52 change(hal): remove useless code from periph_ll_wifi_bt_module_enable_clk 2023-11-14 19:29:03 +08:00
muhaidong 9583c45947 fix(wifi): fix deinit init wifi scan fail issue 2023-11-14 19:29:03 +08:00
Marius Vikhammer 4d0d0f5d10 Merge branch 'revert/freertos_same_priority_preemption_disabled_v5.2' into 'release/v5.2'
Revert "fix(freertos/idf): Add workaround for same priority preemption in xTaskIncrementTick()" (v5.2)

See merge request espressif/esp-idf!26926
2023-11-14 15:35:05 +08:00
Marius Vikhammer 5e65545320 Merge branch 'feature/frertos_idle_task_name_suffix_v5.2' into 'release/v5.2'
fix(freertos/idf): Updated IDLE task names for each core to have the coreID as a suffix (v5.2)

See merge request espressif/esp-idf!26892
2023-11-14 15:33:54 +08:00
gaoxu 0b0d474cab fix(adc): fix h2 adc oneshot read zero and add delay after getting done signal v5.2 2023-11-14 14:41:08 +08:00
Rahul Tank 78784a60c0 fix(nimble): Generate a new unique Local IRK for each chip 2023-11-14 10:38:25 +05:30
Roland Dobai 3ab9a2fd71 Merge branch 'coredump-gdb-timeout_v5.2' into 'release/v5.2'
fix(coredump-info): set default gdb timeout as 3 seconds (v5.2)

See merge request espressif/esp-idf!27104
2023-11-14 03:52:16 +08:00
Roland Dobai 6e187ee0af Merge branch 'fix/ci_autocomplete_v5.2' into 'release/v5.2'
Tools, CI: Improve autocomplete tests (v5.2)

See merge request espressif/esp-idf!27036
2023-11-14 02:43:55 +08:00
Erhan Kurubas 94c27b976d fix(coredump-info): set default gdb timeout as 3 seconds 2023-11-13 15:34:24 +01:00
Jiang Jiang Jian 8da85639a2 Merge branch 'bugfix/build_error_when_enable_ag_and_hf_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fix build error when both of the HFP roles are enabled (v5.2)

See merge request espressif/esp-idf!27076
2023-11-13 16:03:12 +08:00
morris 621acc4d75 Merge branch 'feature/rmt_receive_in_isr_v5.2' into 'release/v5.2'
feat(rmt): support calling rmt_receive in ISR callback (v5.2)

See merge request espressif/esp-idf!26996
2023-11-13 12:22:33 +08:00
Marius Vikhammer 99f06b7c56 Merge branch 'ci/docs_no_download_artifacts_v5.2' into 'release/v5.2'
ci(docs): stop build docs jobs from downloading artifacts (v5.2)

See merge request espressif/esp-idf!26973
2023-11-13 11:55:25 +08:00
Rahul Tank fe3d0955af Merge branch 'bugfix/remove_bond_v5.2' into 'release/v5.2'
fix(nimble): Handled IRK/LTK deletion based on key availability(v5.2)

See merge request espressif/esp-idf!27027
2023-11-11 15:47:05 +08:00
Abhinav Kudnar c56f226e51 fix(nimble): Handled IRK/LTK deletion based on key availability 2023-11-11 11:43:12 +05:30
Wang Mengyang 9036037a36 fix(bt/bluedroid): Fix build error when both of the HFP roles are enabled and also CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY is set to true 2023-11-10 21:08:01 +08:00
Tomáš Rohlínek fbf4b7f705 fix(storage/fatfs): add missing lock release introduced by IMMEDIATE_FSYNC 2023-11-10 12:49:48 +01:00
Rahul Tank 89b27577d6 Merge branch 'bugfix/pairing_when_enc_with_no_key_fails_v5.2' into 'release/v5.2'
fix(nimble): Initate pairing if encryption fails with reason no pin or key missing (v5.2)

See merge request espressif/esp-idf!27016
2023-11-10 14:39:20 +08:00
Roland Dobai 498e41d93e ci(fix): Improve the stability of the autocomplete tests 2023-11-09 14:09:17 +01:00
Jiang Jiang Jian 340195ba79 Merge branch 'bugfix/add_config_for_tcp_ooseq_5.2' into 'release/v5.2'
Fix(lwip):bugfix for add config for tcp ooseq bufs 5.2

See merge request espressif/esp-idf!27000
2023-11-09 15:31:48 +08:00
Rahul Tank db5e8805ed fix(nimble): Initate pairing if encryption fails with reason no pin or key missing 2023-11-09 11:49:51 +05:30
Jiang Jiang Jian 9b5be39b0f Merge branch 'feature/protocomm_update_params_v5.2' into 'release/v5.2'
fix(protocomm): added Protocomm BLE Event Structure and Event Handling (v5.2)

See merge request espressif/esp-idf!26898
2023-11-09 12:16:52 +08:00
Jiang Jiang Jian 9cd791b6ca Merge branch 'backport/fix_ble_scan_rsp_v5.2' into 'release/v5.2'
Backport/fix ble scan rsp v5.2(backport v5.2)

See merge request espressif/esp-idf!27008
2023-11-09 12:16:19 +08:00
Jiang Jiang Jian 4331ae783a Merge branch 'feature/support_adc_calibration_on_h2_v5.2' into 'release/v5.2'
adc_cali: supported adc calibration v1 on ESP32H2 (v5.2)

See merge request espressif/esp-idf!26962
2023-11-09 12:14:40 +08:00
Jiang Jiang Jian e0286e24c8 Merge branch 'bugfix/lp_active_slow_clock_domain_default_power_down_v5.2' into 'release/v5.2'
backport v5.2: In the LP ACTIVE state, the slow clock power domain is by default in a powered-off state

See merge request espressif/esp-idf!26998
2023-11-09 12:14:24 +08:00
Island 441b0f1ea0 Merge branch 'test/ble_mesh_sar_enh_v5.2' into 'release/v5.2'
update(ble_mesh): Miscellaneous updates/fixes and support SAR enhancement (v5.2)

See merge request espressif/esp-idf!26986
2023-11-09 11:34:01 +08:00
morris be39a0d2aa Merge branch 'bugfix/fix_adc_read_zero_h2_v5.2' into 'release/v5.2'
ADC: fix adc raw data get 0 because of signal delay on ESP32H2(v5.2)

See merge request espressif/esp-idf!26933
2023-11-09 10:10:45 +08:00
zhanghaipeng 82052a0fc4 fix(bt/bluedroid): Fix ble keysize check 2023-11-08 19:45:38 +08:00
zhanghaipeng 41be2013fd fix(bt/bluedroid): Fix ble adv report evt type 2023-11-08 19:45:29 +08:00
Island 1ae8347bf4 Merge branch 'backport/fix_ble_remove_bond_list_v5.2' into 'release/v5.2'
fix(bt/bluedroid): Fix BLE remove bond list status(backport v5.2)

See merge request espressif/esp-idf!26978
2023-11-08 19:39:59 +08:00
xueyunfei 0402fdeba1 Fix(lwip):bugfix for add config for tcp ooseq bufs 2023-11-08 16:45:48 +08:00
Li Shuai 2a968da432 change(Power Management): the xpd_xtal32k value depends on system slow clock source config option when pmu initialize 2023-11-08 14:55:14 +08:00
Darian Leung a442a6b65c refactor(freertos/idf): Update thread safety convenience macros
This commit refactors some of the thread safety convenience macros by removing
some repeated definitions and keeping them all in "freertos_idf_additions_priv.h"
2023-11-08 14:53:28 +08:00
Darian Leung 1d9a155fd7 fix(freertos/idf): Fix xEventGroupGetBitsFromISR() critical section
Adds missing critical section to xEventGroupGetBitsFromISR() that is required
in dual-core SMP.
2023-11-08 14:53:28 +08:00
morris 02cacc6e05 Merge branch 'bugfix/fix_wrong_adc_attenuation_name_v5.2' into 'release/v5.2'
fix(adc): rename ADC_ATTEN_DB_11 to ADC_ATTEN_DB_12 (v5.2)

See merge request espressif/esp-idf!26966
2023-11-08 14:50:30 +08:00
morris f8268a2848 Merge branch 'docs/i2c_ng_docs_v5.2' into 'release/v5.2'
docs(I2C): Add new programming guide for new I2C driver (backport v5.2)

See merge request espressif/esp-idf!26994
2023-11-08 14:49:57 +08:00
morris 2e8cc61af7 feat(rmt): support calling rmt_receive in ISR callback 2023-11-08 14:32:26 +08:00
Cao Sen Miao 9d3d9d16f0 docs(i2c): Modify some variables in I2C driver for good docs 2023-11-08 10:48:48 +08:00
Jiang Jiang Jian 83aeb7bbb2 Merge branch 'bugfix/fixed_ble_disconnect_under_temp_change_v5.2' into 'release/v5.2'
fix(ble): fixed ble disconnection issue under temperature change

See merge request espressif/esp-idf!26829
2023-11-08 10:39:29 +08:00
Cao Sen Miao 614aed7409 docs(i2c): Add new programming guide for new I2C driver 2023-11-08 09:57:25 +08:00
Rahul Tank 477e19f71c Merge branch 'bugfix/validate_random_address_v5.2' into 'release/v5.2'
fix(nimble): Added check to validate allowed random address (v5.2)

See merge request espressif/esp-idf!26927
2023-11-08 00:21:50 +08:00
zwl 7c33c24fe4 fix(ble): fixed ble disconnection issue under temperature change 2023-11-07 20:57:58 +08:00
Liu Linyan d9876ffd53 feat(ble_mesh): Support Bluetooth Mesh SAR enhancement 2023-11-07 19:13:09 +08:00
Liu Linyan f57acc21d6 fix(ble_mesh): Miscellaneous updates and fixes 2023-11-07 19:13:04 +08:00
Liu Linyan 48960337b8 update(ble_mesh): Remove useless mesh lib copy script 2023-11-07 19:13:00 +08:00
zhanghaipeng 28a8e77021 fix(bt/bluedroid): Fix BLE remove bond list status 2023-11-07 15:57:54 +08:00
Jiang Jiang Jian 66992aca7a Merge branch 'ci/remove_unused_integration_test_files_v5.2' into 'release/v5.2'
ci: remove unused integration test files (v5.2)

See merge request espressif/esp-idf!26798
2023-11-07 15:32:34 +08:00
Armando f01a40afe2 fix(adc): rename ADC_ATTEN_DB_11 to ADC_ATTEN_DB_12
By design, it's 12 dB. There're errors among chips, so the actual
attenuation will be 11dB more or less
2023-11-07 14:11:10 +08:00
Marius Vikhammer 03e31dd0ba Merge branch 'bugfix/freertos_psram_stack_v5.2' into 'release/v5.2'
bugfix(freertos): Fixed task creation function for PSRAM stack (v5.2)

See merge request espressif/esp-idf!26949
2023-11-07 12:58:03 +08:00
Jiang Jiang Jian 42db3c8660 Merge branch 'bugfix/fix_fragment_bug_v5.2' into 'release/v5.2'
fix(wifi): fix fragment bug and esp32c6 issues (v5.2)

See merge request espressif/esp-idf!26955
2023-11-07 12:04:34 +08:00
Marius Vikhammer 1f9d4c5c5c ci(docs): stop build docs jobs from downloading artifacts 2023-11-07 11:45:21 +08:00
morris a2b9004203 Merge branch 'contrib/github_pr_12523_v5.2' into 'release/v5.2'
fix: assert failed in example uart_async_rxtxtasks (GitHub PR) (v5.2)

See merge request espressif/esp-idf!26951
2023-11-07 10:46:43 +08:00
gaoxu 1b07551997 docs(adc): added adc calibration doc on h2 2023-11-07 09:30:56 +08:00
xuxiao 02045155ae fix(wifi): fix esp32c6 rxctrl info is not correct 2023-11-06 19:16:56 +08:00
zhangyanjiao 86a62e1de9 fix(wifi): fix rate check error in fragment 2023-11-06 19:16:14 +08:00
Jiang Jiang Jian d709fdfd12 Merge branch 'bugfix/fix_wifi_enabled_macro_v5.2' into 'release/v5.2'
Bugfix/fix wifi enabled macro (v5.2)

See merge request espressif/esp-idf!26775
2023-11-06 17:53:34 +08:00
Ngai-Fung Yip 90f7b0d321 fix: assert failed in example uart_async_rxtxtasks 2023-11-06 15:56:52 +08:00
Jakob Hasse 8c7ee8482e fix(freertos): Fixed prvTaskCreateDynamicPinnedToCoreWithCaps
* The function was based on an outdated IDF/FreeRTOS
  combination which didn't always require zero-ing
  the TCB. This has been changed in the current
  IDF/FreeRTOS combination, leading to crashes.
  Unconditionally zero-ing the TCB fixes this problem.
2023-11-06 15:33:40 +08:00
Jiang Jiang Jian 793de30863 Merge branch 'bugfix/increase_esp32h2_slow_clock_calibration_wdt_threshold_v5.2' into 'release/v5.2'
fix(esp_system): increase esp32h2 slow clock calibration timeout watchdog threshold(backport v5.2)

See merge request espressif/esp-idf!26921
2023-11-06 11:34:24 +08:00
Jiang Jiang Jian ff4c82a32d Merge branch 'bugfix/disable_fastpbkdf2_hardwaredisable_v5.2' into 'release/v5.2'
fix(wpa_supplicant): implement sha1_finish for fastpbkdf2 (v5.2)

See merge request espressif/esp-idf!26877
2023-11-06 11:32:23 +08:00
Jiang Jiang Jian 172b7e45b8 Merge branch 'bugfix/hal_memcpy_v5.2' into 'release/v5.2'
fix(hal): Fix incorrect behavior of hal_memcpy (v5.2)

See merge request espressif/esp-idf!26909
2023-11-06 11:32:07 +08:00
Mahavir Jain 6e2c0de765 Merge branch 'fix/netif_sntp_examples_v5.2' into 'release/v5.2'
fix(examples): Fix usage of SNTP netif API in examples (v5.2)

See merge request espressif/esp-idf!26916
2023-11-06 11:06:05 +08:00
gaoxu 7f3221aa09 feat(adc_cali): Add ADC calibration support for ESP32H2 2023-11-06 10:57:36 +08:00
Rahul Tank e9df6d89af fix(nimble): Added check to validate allowed random address 2023-11-04 09:17:03 +05:30
Sudeep Mohanty 29cfa2d472 Revert "fix(freertos/idf): Add workaround for same priority preemption in xTaskIncrementTick()"
This reverts commit 6c6a6ad44a.
2023-11-03 15:00:24 +01:00
alanmaxwell ce5cd8bf75 fix(phy): Fix ESP32C6 rx pkts fail in light sleep mode 2023-11-03 21:18:18 +08:00
alanmaxwell 5a43831006 fix(wifi): Fix bug using CONFIG_WIFI_ENABLED macro 2023-11-03 21:18:18 +08:00
Jiang Jiang Jian 5bf1070143 Merge branch 'bugfix/backport_wifi_fixes_v5.2' into 'release/v5.2'
fix(wifi): optimize wifi bin size and fix some issue

See merge request espressif/esp-idf!26894
2023-11-03 21:08:39 +08:00
Jiang Jiang Jian a25673efb2 Merge branch 'backport/add_ot_radio_stats_enable_config_5_2' into 'release/v5.2'
Backport/backport some openthread features(backportV5.2)

See merge request espressif/esp-idf!26886
2023-11-03 20:58:37 +08:00
Jiang Jiang Jian 04ead4c281 Merge branch 'feat/add_support_for_host_only_mode_v5.2' into 'release/v5.2'
Feat/add support for host only mode v5.2

See merge request espressif/esp-idf!26881
2023-11-03 20:57:33 +08:00
Jiang Jiang Jian bfa65bfd0d Merge branch 'bugfix/remove_iram_attr_from_ceva_files_v5.2' into 'release/v5.2'
fix(nimble): remove IRAM_ATTR from npl_os_freertos.c file (v5.2)

See merge request espressif/esp-idf!26838
2023-11-03 20:57:13 +08:00
Jiang Jiang Jian 1ae6dad0d8 Merge branch 'bugfix/fix_compilation_issue_v5.2' into 'release/v5.2'
fix(wpa_supplicant): Fix compilation issue in EAP disabled (v5.2)

See merge request espressif/esp-idf!26876
2023-11-03 20:54:46 +08:00
Jiang Jiang Jian cd33e77e0f Merge branch 'bugfix/supplicant_tls_fix_v5.2' into 'release/v5.2'
fix(wpa_supplicant): Correct iv lenght passed in mbedtls_cipher_set_iv() (v5.2)

See merge request espressif/esp-idf!26845
2023-11-03 20:54:13 +08:00
Jiang Jiang Jian 5171308939 Merge branch 'fix/exception_was_unhandled_for_bt_spp_vfs_acceptor_v5.2' into 'release/v5.2'
fix(bt/bluedroid): fix LoadProhibited error in spp vfs acceptor example (backport v5.2)

See merge request espressif/esp-idf!26860
2023-11-03 20:49:32 +08:00
Roland Dobai bcf2ef7ddd Merge branch 'bugfix/docker_safe_repo_v5.2' into 'release/v5.2'
fix(docker): set esp-idf repo as safe directory (v5.2)

See merge request espressif/esp-idf!26803
2023-11-03 20:02:49 +08:00
Chen Yudong 3c67e1ba01 ci: add label rules for integration test
fix typo
2023-11-03 19:21:34 +08:00
Chen Yudong 4400846c61 ci: remove unused integration test files 2023-11-03 19:21:30 +08:00
wuzhenghui 3207599b6d fix(esp_system): increase esp32h2 slow clock calibration timeout watchdog threshold 2023-11-03 19:08:28 +08:00
David Cermak 6077c3f70c fix(examples): Fix usage of SNTP netif API in examples 2023-11-03 11:18:32 +01:00
Island 3d37631967 Merge branch 'bugfix/ble_update_lib_1027_5.2' into 'release/v5.2'
Bugfix/ble update lib 1027 5.2

See merge request espressif/esp-idf!26831
2023-11-03 17:53:23 +08:00
Wang Meng Yang 8a12837745 Merge branch 'feature/include_hf_and_ag_in_single_build_v5.2' into 'release/v5.2'
Feature/include hf and ag in single build v5.2

See merge request espressif/esp-idf!26873
2023-11-03 16:00:21 +08:00
KonstantinKondrashov b6ad8703ce fix(hal): Fix incorrect behavior of hal_memcpy
Closes https://github.com/espressif/esp-idf/issues/12489
2023-11-03 15:47:39 +08:00
Shu Chen 8ab97bb37d Merge branch 'bugfix/esp32c6_phy_coex_sleep_issue_v5.2' into 'release/v5.2'
fix(esp_phy): update esp32c6 libphy for coex zb rx and sleep bug (backport v5.2)

See merge request espressif/esp-idf!26884
2023-11-03 14:16:49 +08:00
darshan 83f4025a92 fix(protocomm): added Protocomm BLE Event Structure and Event Handling 2023-11-03 11:42:30 +05:30
Kapil Gupta e3c2ee1ba9 fix(wpa_supplicant): implement sha1_finish for fastpbkdf2 2023-11-03 06:04:50 +00:00
morris 85ba4189f8 Merge branch 'bugfix/fix_pdm_rx_high_pass_cut_off_coeff_v5.2' into 'release/v5.2'
bugfix(i2s): fix pdm rx high pass filter cut off coeff (v5.2)

See merge request espressif/esp-idf!26836
2023-11-03 13:46:12 +08:00
liuning 93efb9e351 fix(rom): fix wifi rom ld 2023-11-03 10:20:49 +08:00
Kapil Gupta 89dcaf4ae5 fix(esp_wifi): Drop fragmented AMPDU(fixCVE-2020-26142) 2023-11-03 10:17:41 +08:00
alanmaxwell 1dd7ece5d3 fix(wifi): optimize wifi bin size and fix some issue
1.Optimize bin size for STA only mode
2.Change fragment threshold to 256
3.Support fragment for LR mode
4.Fix ampdu duration issue
5.Fix rx fragment fail in Open mode.
2023-11-03 10:17:26 +08:00
Kapil Gupta 7a701fbc85 fix(esp_wifi): Fix key install issue in PTK renew 2023-11-03 10:16:48 +08:00
Shreyas Sheth e8d43b03a1 fix(wifi): wpa3 softap fix deauth when assoc req recv before sae is finished 2023-11-03 10:15:55 +08:00
Sarvesh Bodakhe 8f8f7ddb45 fix(esp_wifi): Fix issue of station disconnecting immediately when AP RSSI is zero 2023-11-03 10:14:47 +08:00
Island deceda36ac Merge branch 'backport/fix_ble_bugs_v5.2' into 'release/v5.2'
Backport/fix ble bugs v5.2(backport v5.2)

See merge request espressif/esp-idf!26795
2023-11-03 09:12:32 +08:00
Sudeep Mohanty 33e0f11ef4 fix(freertos/idf): Updated IDLE task names for each core to have the coreID as a suffix
This commit updates the IDLE task names for each core by concatenating
the respective coreIDs to the task names.

Closes https://github.com/espressif/esp-idf/issues/12204
2023-11-02 16:38:16 +01:00
morris 7c93afb8bd Merge branch 'bugfix/rmt_stop_issue_v5.2' into 'release/v5.2'
fix(rmt): a disabled channel may pick up a pending transaction (v5.2)

See merge request espressif/esp-idf!26778
2023-11-02 23:00:07 +08:00
morris 1a3a74c26c Merge branch 'bugfix/32bit_addr_naming_v5.2' into 'release/v5.2'
bugfix(spi_flash): Fix wrong naming on 32bit address (backport v5.2)

See merge request espressif/esp-idf!26833
2023-11-02 21:46:48 +08:00
Shu Chen 0582b4a25f Merge branch 'backport5.2/bugfix/fix_c6_wrong_reg_offset' into 'release/v5.2'
fix(coex): fix esp32c6 wrong reg offset(backport v5.2)

See merge request espressif/esp-idf!26768
2023-11-02 20:47:34 +08:00
zwx 57e59a47c1 feat(openthread): Add deep sleep support for SED 2023-11-02 20:19:00 +08:00
zwx 23c0565a95 feat(openthread): add config for radio statistic feature 2023-11-02 20:18:54 +08:00
xiaqilin 462d57e18f fix(esp_phy): update esp32c6 libphy for coex zb rx and sleep bug 2023-11-02 19:37:28 +08:00
Kapil Gupta 94c38470ac fix(wpa_supplicant): Fix compilation issue in EAP disabled 2023-11-02 16:17:18 +05:30
Jin Cheng b05df37981 feat(bt/bluedroid): Support to build HID Host and HID Device in single binary 2023-11-02 17:32:55 +08:00
Wang Mengyang 8b8c3d6204 feat(bt/bluedroid): Support to build HFP Audio Gateway and Hands Free Unit in single binary 2023-11-02 17:32:48 +08:00
gongyantao 22108bbeb4 fix(bt/bluedroid): fix loadprohibited error in spp vfs acceptor example 2023-11-02 11:47:21 +08:00
morris 8dda17e3a3 fix(rmt): a disabled channel may pick up a pending transaction
because in the trans_done interrupt, the driver didn't check the channel FSM
2023-11-02 11:30:42 +08:00
Jin Cheng 59e504ef27 feat(bt/bluedroid): Added bt_discovery based host only example 2023-11-02 11:10:35 +08:00
Jin Cheng b9ed6f722b feat(bt/bluedroid): Added mode to use BlueDroid host only without Bluetooth Controller 2023-11-02 11:10:24 +08:00
laokaiyao f03448ca94 fix(i2s): fix pdm rx high pass filter cut off coeff 2023-11-02 10:10:14 +08:00
Kapil Gupta ba274216b9 fix(wpa_supplicant): Correct iv lenght passed in mbedtls_cipher_set_iv() 2023-11-01 18:02:18 +05:30
Rahul Tank e758c819d9 fix(nimble): remove IRAM_ATTR from npl_os_freertos.c file 2023-11-01 17:36:44 +05:30
Cao Sen Miao 5fb2277aaa bugfix(spi_flash): Fix wrong naming on 32bit address 2023-11-01 18:15:13 +08:00
luomanruo 3b7e220519 ble: update c2 lib to 6ed444f2 2023-11-01 17:25:24 +08:00
luomanruo e3d72eada7 ble: update c2 rom.ld 2023-11-01 17:25:17 +08:00
cjin 20ca1c0dfa change(ble): added option for msys buffer source 2023-11-01 17:25:09 +08:00
luomanruo caaf3fbe69 ble: update c6 h2 lib to 5bd7cb83, c2 lib to 1d31e175 2023-11-01 17:25:01 +08:00
Frantisek Hrbata 113c22c1fc fix(tools/docker): set esp-idf repo as safe directory
In our docker docs[1] we recommend to start docker as a non-root user. This has
a side effect, because the esp-idf repo in docker image is owned by
root. Git by default refuses even to parse a config file if the repo is
owned by other than current user. As a result the version detection in
cmake fails[2] and the app version is set to "HEAD-HASH-NOTFOUND".
This adds esp-idf repo to the system git config as a safe one.

[1] https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/
    tools/idf-docker-image.html#building-a-project-with-cmake
[2] https://github.com/espressif/esp-idf/issues/12389#issuecomment-1764268773

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

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-10-31 16:23:54 +01:00
zhanghaipeng 0de2c5092b feat(bt/bluedroid): Display BLE permission check handle in error trace 2023-10-31 19:45:10 +08:00
zhanghaipeng 1ea656f3d9 fix(bt/bluedroid): Fix max BLE gattc notify number to improve compatibility 2023-10-31 19:44:36 +08:00
zhanghaipeng a2e4a3581b feat(bt/bluedroid): Support BLE gattc notify registration number 2023-10-31 19:42:48 +08:00
zhanghaipeng b68c026adb fix(bt/bluedroid): Fix key size check in BLE smp 2023-10-31 19:42:34 +08:00
zhanghaipeng 855f95e588 fix(bt/bluedroid): Optimize compatibility with Android 10 and later devices 2023-10-31 19:42:23 +08:00
zhanghaipeng 1276247696 feat(bt/bluedroid): Support hid device control point 2023-10-31 19:42:13 +08:00
zhanghaipeng cb1765de81 fix(bt/bluedroid): Optimize compatibility with IOS and MACOS devices 2023-10-31 19:42:01 +08:00
Xu Si Yu 7385079984 fix(coex): fix esp32c6 wrong reg offset 2023-10-31 15:41:08 +08:00
morris 868737e022 Merge branch 'bugfix/i2c_ll_read_write_fifo_by_index_v5.2' into 'release/v5.2'
fix(i2c): read write FIFO memory by volatile (v5.2)

See merge request espressif/esp-idf!26737
2023-10-31 10:15:20 +08:00
morris 80997d5860 fix(i2c): read write FIFO memory by volatile 2023-10-30 10:34:43 +08:00
Ivan Grokhotkov 2b0d48f84d Merge branch 'maint/release_v5.2_codeowners' into 'release/v5.2'
change(gitlab): simplify approvals for backports (v5.2)

See merge request espressif/esp-idf!26703
2023-10-27 17:49:57 +08:00
Ivan Grokhotkov dec0bc482c change(gitlab): simplify approvals for backports (v5.2) 2023-10-26 16:00:52 +02:00
14944 changed files with 958160 additions and 2382504 deletions
-4
View File
@@ -1,4 +0,0 @@
[codespell]
skip = build,*.yuv,components/fatfs/src/*,alice.txt,*.rgb,components/wpa_supplicant/*,components/esp_wifi/*,*.pem,*/COPYING*,docs/sphinx-known-warnings.txt
ignore-words-list = ser,dout,rsource,fram,inout,shs,ans,aci,unstall,unstalling,hart,wheight,wel,ot,fane,assertIn,registr,oen,parms
write-changes = true
+165
View File
@@ -0,0 +1,165 @@
[flake8]
select =
# Full lists are given in order to suppress all errors from other plugins
# Full list of pyflakes error codes:
F401, # module imported but unused
F402, # import module from line N shadowed by loop variable
F403, # 'from module import *' used; unable to detect undefined names
F404, # future import(s) name after other statements
F405, # name may be undefined, or defined from star imports: module
F406, # 'from module import *' only allowed at module level
F407, # an undefined __future__ feature name was imported
F601, # dictionary key name repeated with different values
F602, # dictionary key variable name repeated with different values
F621, # too many expressions in an assignment with star-unpacking
F622, # two or more starred expressions in an assignment (a, *b, *c = d)
F631, # assertion test is a tuple, which are always True
F701, # a break statement outside of a while or for loop
F702, # a continue statement outside of a while or for loop
F703, # a continue statement in a finally block in a loop
F704, # a yield or yield from statement outside of a function
F705, # a return statement with arguments inside a generator
F706, # a return statement outside of a function/method
F707, # an except: block as not the last exception handler
F721, F722, # doctest syntax error syntax error in forward type annotation
F811, # redefinition of unused name from line N
F812, # list comprehension redefines name from line N
F821, # undefined name name
F822, # undefined name name in __all__
F823, # local variable name referenced before assignment
F831, # duplicate argument name in function definition
F841, # local variable name is assigned to but never used
F901, # raise NotImplemented should be raise NotImplementedError
# Full list of pycodestyle violations:
E101, # indentation contains mixed spaces and tabs
E111, # indentation is not a multiple of four
E112, # expected an indented block
E113, # unexpected indentation
E114, # indentation is not a multiple of four (comment)
E115, # expected an indented block (comment)
E116, # unexpected indentation (comment)
E121, # continuation line under-indented for hanging indent
E122, # continuation line missing indentation or outdented
E123, # closing bracket does not match indentation of opening bracket's line
E124, # closing bracket does not match visual indentation
E125, # continuation line with same indent as next logical line
E126, # continuation line over-indented for hanging indent
E127, # continuation line over-indented for visual indent
E128, # continuation line under-indented for visual indent
E129, # visually indented line with same indent as next logical line
E131, # continuation line unaligned for hanging indent
E133, # closing bracket is missing indentation
E201, # whitespace after '('
E202, # whitespace before ')'
E203, # whitespace before ':'
E211, # whitespace before '('
E221, # multiple spaces before operator
E222, # multiple spaces after operator
E223, # tab before operator
E224, # tab after operator
E225, # missing whitespace around operator
E226, # missing whitespace around arithmetic operator
E227, # missing whitespace around bitwise or shift operator
E228, # missing whitespace around modulo operator
E231, # missing whitespace after ',', ';', or ':'
E241, # multiple spaces after ','
E242, # tab after ','
E251, # unexpected spaces around keyword / parameter equals
E261, # at least two spaces before inline comment
E262, # inline comment should start with '# '
E265, # block comment should start with '# '
E266, # too many leading '#' for block comment
E271, # multiple spaces after keyword
E272, # multiple spaces before keyword
E273, # tab after keyword
E274, # tab before keyword
E275, # missing whitespace after keyword
E301, # expected 1 blank line, found 0
E302, # expected 2 blank lines, found 0
E303, # too many blank lines
E304, # blank lines found after function decorator
E305, # expected 2 blank lines after end of function or class
E306, # expected 1 blank line before a nested definition
E401, # multiple imports on one line
E402, # module level import not at top of file
E501, # line too long (82 > 79 characters)
E502, # the backslash is redundant between brackets
E701, # multiple statements on one line (colon)
E702, # multiple statements on one line (semicolon)
E703, # statement ends with a semicolon
E704, # multiple statements on one line (def)
E711, # comparison to None should be 'if cond is None:'
E712, # comparison to True should be 'if cond is True:' or 'if cond:'
E713, # test for membership should be 'not in'
E714, # test for object identity should be 'is not'
E721, # do not compare types, use 'isinstance()'
E722, # do not use bare except, specify exception instead
E731, # do not assign a lambda expression, use a def
E741, # do not use variables named 'l', 'O', or 'I'
E742, # do not define classes named 'l', 'O', or 'I'
E743, # do not define functions named 'l', 'O', or 'I'
E901, # SyntaxError or IndentationError
E902, # IOError
W191, # indentation contains tabs
W291, # trailing whitespace
W292, # no newline at end of file
W293, # blank line contains whitespace
W391, # blank line at end of file
W503, # line break before binary operator
W504, # line break after binary operator
W505, # doc line too long (82 > 79 characters)
W601, # .has_key() is deprecated, use 'in'
W602, # deprecated form of raising exception
W603, # '<>' is deprecated, use '!='
W604, # backticks are deprecated, use 'repr()'
W605, # invalid escape sequence 'x'
W606, # 'async' and 'await' are reserved keywords starting with Python 3.7
# Full list of flake8 violations
E999, # failed to compile a file into an Abstract Syntax Tree for the plugins that require it
# Full list of mccabe violations
C901 # complexity value provided by the user
ignore =
E221, # multiple spaces before operator
E231, # missing whitespace after ',', ';', or ':'
E241, # multiple spaces after ','
W503, # line break before binary operator
W504 # line break after binary operator
max-line-length = 160
show_source = True
statistics = True
exclude =
.git,
__pycache__,
# submodules
components/bootloader/subproject/components/micro-ecc/micro-ecc,
components/bt/host/nimble/nimble,
components/cmock/CMock,
components/json/cJSON,
components/mbedtls/mbedtls,
components/openthread/openthread,
components/unity/unity,
components/spiffs/spiffs,
# autogenerated scripts
components/protocomm/python/constants_pb2.py,
components/protocomm/python/sec0_pb2.py,
components/protocomm/python/sec1_pb2.py,
components/protocomm/python/sec2_pb2.py,
components/protocomm/python/session_pb2.py,
components/wifi_provisioning/python/wifi_ctrl_pb2.py,
components/wifi_provisioning/python/wifi_scan_pb2.py,
components/wifi_provisioning/python/wifi_config_pb2.py,
components/wifi_provisioning/python/wifi_constants_pb2.py,
components/esp_local_ctrl/python/esp_local_ctrl_pb2.py,
per-file-ignores =
# Sphinx conf.py files use star imports to setup config variables
docs/conf_common.py: F405
@@ -95,26 +95,6 @@ body:
render: plain
validations:
required: false
- type: textarea
id: diag
attributes:
label: Diagnostic report archive.
description: |
Diagnostic report for ESP-IDF created using [idf.py diag](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-diag.html) or [esp-idf-diag](https://github.com/espressif/esp-idf-diag). The `idf.py diag` command is available beginning with ESP-IDF version 5.5. For older versions, you may want to consider using the `esp-idf-diag` command.
In your project directory, execute the following command:
Using `idf.py diag`
1. idf.py diag
Using `esp-idf-diag`
1. pip install esp-idf-diag
2. esp-idf-diag create
Once the report is generated, the tool will guide you with the next steps.
placeholder: Please attach the diagnostic report zip file here.
validations:
required: false
- type: textarea
id: more-info
attributes:
+1 -21
View File
@@ -26,7 +26,7 @@ body:
id: chip_revision
attributes:
label: Espressif SoC revision.
description: On which Espressif SoC revision does your application run on? Run `esptool chip-id` to find it.
description: On which Espressif SoC revision does your application run on? Run `esptool chip_id` to find it.
placeholder: ex. ESP32-C3 (QFN32) (revision v0.3)
validations:
required: true
@@ -123,26 +123,6 @@ body:
render: plain
validations:
required: false
- type: textarea
id: diag
attributes:
label: Diagnostic report archive.
description: |
Diagnostic report for ESP-IDF created using [idf.py diag](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-diag.html) or [esp-idf-diag](https://github.com/espressif/esp-idf-diag). The `idf.py diag` command is available beginning with ESP-IDF version 5.5. For older versions, you may want to consider using the `esp-idf-diag` command.
In your project directory, execute the following command:
Using `idf.py diag`
1. idf.py diag
Using `esp-idf-diag`
1. pip install esp-idf-diag
2. esp-idf-diag create
Once the report is generated, the tool will guide you with the next steps.
placeholder: Please attach the diagnostic report zip file here.
validations:
required: false
- type: textarea
id: more-info
attributes:
+5
View File
@@ -0,0 +1,5 @@
# Transpiled JavaScript (if any)
dist
# Installed dependencies
node_modules
+47
View File
@@ -0,0 +1,47 @@
# DangerJS pull request automatic review tool - GitHub
## Implementation
The main development is done in Espressif Gitlab project.
Espressif [GitHub project espressif/esp-idf](https://github.com/espressif/esp-idf) is only a public mirror.
Therefore, all changes and updates to DangerJS files (`.github/dangerjs`) must be made via MR in the **Gitlab** repository by Espressif engineer.
When adding a new Danger rule or updating existing one, might be a good idea to test it on the developer's fork of GitHub project. This way, the new feature can be tested using a GitHub action without concern of damaging Espressif's GitHub repository.
Danger for Espressif GitHub is implemented in TypeScript. This makes the code more readable and robust than plain JavaScript.
Compilation to JavaScript code (using `tsc`) is not necessary; Danger handles TypeScript natively.
A good practice is to store each Danger rule in a separate module, and then import these modules into the main Danger file `.github/dangerjs/dangerfile.ts` (see how this is done for currently present modules when adding a new one).
If the Danger module (new check/rule) uses an external NPM module (e.g. `axios`), be sure to add this dependency to `.github/dangerjs/package.json` and also update `.github/dangerjs/package-lock.json`.
In the GitHub action, `danger` is not installed globally (nor are its dependencies) and the `npx` call is used to start the `danger` checks in CI.
## Adding new Danger rule
For local development you can use following strategy
#### Install dependencies
```sh
cd .github/dangerjs
npm install
```
(If the IDE still shows compiler/typing errors, reload the IDE window.)
#### Add new code as needed or make updates
#### Test locally
Danger rules can be tested locally (without running the GitHub action pipeline).
To do this, you have to first export the ENV variables used by Danger in the local terminal:
```sh
export GITHUB_TOKEN='**************************************'
```
Then you can call Danger by:
```sh
cd .github/dangerjs
danger pr https://github.com/espressif/esp-idf/pull/<number_of_pull_request>
```
The result will be displayed in your terminal.
+48
View File
@@ -0,0 +1,48 @@
import { DangerResults } from "danger";
declare const results: DangerResults;
declare const message: (message: string, results?: DangerResults) => void;
declare const markdown: (message: string, results?: DangerResults) => void;
// Import modules with danger rules
// (Modules with checks are stored in ".github/dangerjs/<module_name>.ts". To import them, use path relative to "dangerfile.ts")
import prCommitsTooManyCommits from "./prCommitsTooManyCommits";
import prDescription from "./prDescription";
import prTargetBranch from "./prTargetBranch";
import prInfoContributor from "./prInfoContributor";
import prCommitMessage from "./prCommitMessage";
async function runDangerRules(): Promise<void> {
// Message to contributor about review and merge process
const prInfoContributorMessage: string = await prInfoContributor();
markdown(prInfoContributorMessage);
// Run danger checks
prCommitsTooManyCommits();
prDescription();
prTargetBranch();
prCommitMessage();
// Add success log if no issues
const dangerFails: number = results.fails.length;
const dangerWarns: number = results.warnings.length;
const dangerInfos: number = results.messages.length;
if (!dangerFails && !dangerWarns && !dangerInfos) {
return message("Good Job! All checks are passing!");
}
// Add retry link
addRetryLink();
}
runDangerRules();
function addRetryLink(): void {
const serverUrl: string | undefined = process.env.GITHUB_SERVER_URL;
const repoName: string | undefined = process.env.GITHUB_REPOSITORY;
const runId: string | undefined = process.env.GITHUB_RUN_ID;
const retryLinkUrl: string = `${serverUrl}/${repoName}/actions/runs/${runId}`;
const retryLink: string = `<sub>:repeat: You can re-run automatic PR checks by retrying the <a href="${retryLinkUrl}">DangerJS action</a></sub>`;
markdown(retryLink);
}
+1999
View File
File diff suppressed because it is too large Load Diff
+18
View File
@@ -0,0 +1,18 @@
{
"name": "dangerjs-github",
"description": "GitHub PR reviewing with DangerJS",
"main": "dangerfile.ts",
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"axios": "^1.3.3",
"danger": "^11.2.3",
"request": "^2.88.2",
"sync-request": "^6.1.0",
"typescript": "^5.0.3"
},
"devDependencies": {
"@types/node": "^18.15.11"
}
}
+67
View File
@@ -0,0 +1,67 @@
import { DangerDSLType, DangerResults } from "danger";
declare const danger: DangerDSLType;
declare const warn: (message: string, results?: DangerResults) => void;
interface Commit {
message: string;
}
/**
* Check if commit messages are sufficiently descriptive (not too short).
*
* Search for commit messages that appear to be automatically generated or temporary messages and report them.
*
* @dangerjs WARN
*/
export default function (): void {
const prCommits: Commit[] = danger.git.commits;
const detectRegexes: RegExp[] = [
/^Merge pull request #\d+ from .*/i, // Automatically generated message by GitHub
/^Merged .+:.+ into .+/i, // Automatically generated message by GitHub
/^Automatic merge by GitHub Action/i, // Automatically generated message by GitHub
/^Merge branch '.*' of .+ into .+/i, // Automatically generated message by GitHub
/^Create\s[a-zA-Z0-9_.-]+(\.[a-zA-Z0-9]{1,4})?(?=\s|$)/, // Automatically generated message by GitHub using UI
/^Delete\s[a-zA-Z0-9_.-]+(\.[a-zA-Z0-9]{1,4})?(?=\s|$)/, // Automatically generated message by GitHub using UI
/^Update\s[a-zA-Z0-9_.-]+(\.[a-zA-Z0-9]{1,4})?(?=\s|$)/, // Automatically generated message by GitHub using UI
/^Initial commit/i, // Automatically generated message by GitHub
/^WIP.*/i, // Message starts with prefix "WIP"
/^Cleaned.*/i, // Message starts "Cleaned", , probably temporary
/^Test:.*/i, // Message starts with "test" prefix, probably temporary
/clean ?up/i, // Message contains "clean up", probably temporary
/^[^A-Za-z0-9\s].*/, // Message starts with special characters
];
let partMessages: string[] = [];
for (const commit of prCommits) {
const commitMessage: string = commit.message;
const commitMessageTitle: string = commit.message.split("\n")[0];
// Check if the commit message matches any regex from "detectRegexes"
if (detectRegexes.some((regex) => commitMessage.match(regex))) {
partMessages.push(
`- the commit message \`${commitMessageTitle}\` appears to be a temporary or automatically generated message`
);
continue;
}
// Check if the commit message is not too short
const shortCommitMessageThreshold: number = 20; // commit message is considered too short below this number of characters
if (commitMessage.length < shortCommitMessageThreshold) {
partMessages.push(
`- the commit message \`${commitMessageTitle}\` may not be sufficiently descriptive`
);
}
}
// Create report
if (partMessages.length) {
partMessages.sort();
let dangerMessage = `\nSome issues found for the commit messages in this MR:\n${partMessages.join(
"\n"
)}
\nPlease consider updating these commit messages.`;
warn(dangerMessage);
}
}
@@ -0,0 +1,19 @@
import { DangerDSLType, DangerResults } from "danger";
declare const danger: DangerDSLType;
declare const message: (message: string, results?: DangerResults) => void;
/**
* Check if pull request has not an excessive numbers of commits (if squashed)
*
* @dangerjs INFO
*/
export default function (): void {
const tooManyCommitThreshold: number = 2; // above this number of commits, squash commits is suggested
const prCommits: number = danger.github.commits.length;
if (prCommits > tooManyCommitThreshold) {
return message(
`You might consider squashing your ${prCommits} commits (simplifying branch history).`
);
}
}
+19
View File
@@ -0,0 +1,19 @@
import { DangerDSLType, DangerResults } from "danger";
declare const danger: DangerDSLType;
declare const warn: (message: string, results?: DangerResults) => void;
/**
* Check if pull request has has a sufficiently accurate description
*
* @dangerjs WARN
*/
export default function (): void {
const prDescription: string = danger.github.pr.body;
const shortPrDescriptionThreshold: number = 100; // Description is considered too short below this number of characters
if (prDescription.length < shortPrDescriptionThreshold) {
return warn(
"The PR description looks very brief, please check if more details can be added."
);
}
}
+58
View File
@@ -0,0 +1,58 @@
import { DangerDSLType } from "danger";
declare const danger: DangerDSLType;
interface Contributor {
login?: string;
}
const authorLogin = danger.github.pr.user.login;
const messageKnownContributor: string = `
***
👋 **Hi ${authorLogin}**, thank you for your another contribution to \`espressif/esp-idf\` project!
If the change is approved and passes the tests in our internal git repository, it will appear in this public Github repository on the next sync.
***
`;
const messageFirstContributor: string = `
***
👋 **Welcome ${authorLogin}**, thank you for your first contribution to \`espressif/esp-idf\` project!
📘 Please check [Contributions Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/contribute/index.html#contributions-guide) for the contribution checklist, information regarding code and documentation style, testing and other topics.
🖊️ Please also make sure you have **read and signed** the [Contributor License Agreement for espressif/esp-idf project](https://cla-assistant.io/espressif/esp-idf).
#### Pull request review and merge process you can expect
Espressif develops the ESP-IDF project in an internal repository (Gitlab). We do welcome contributions in the form of bug reports, feature requests and pull requests via this public GitHub repository.
1. An internal issue has been created for the PR, we assign it to the relevant engineer
2. They review the PR and either approve it or ask you for changes or clarifications
3. Once the Github PR is approved, we synchronize it into our internal git repository
4. In the internal git repository we do the final review, collect approvals from core owners and make sure all the automated tests are passing
- At this point we may do some adjustments to the proposed change, or extend it by adding tests or documentation.
5. If the change is approved and passes the tests it is merged into the \`master\` branch
6. On next sync from the internal git repository merged change will appear in this public Github repository
***
`;
/**
* Check whether the author of the pull request is known or a first-time contributor, and add a message to the PR with information about the review and merge process.
*/
export default async function (): Promise<string> {
const contributors = await danger.github.api.repos.listContributors({
owner: danger.github.thisPR.owner,
repo: danger.github.thisPR.repo,
});
const contributorsData: Contributor[] = contributors.data;
const knownContributors: (string | undefined)[] = contributorsData.map(
(contributor: Contributor) => contributor.login
);
if (knownContributors.includes(authorLogin)) {
return messageKnownContributor;
} else {
return messageFirstContributor;
}
}
+19
View File
@@ -0,0 +1,19 @@
import { DangerDSLType, DangerResults } from "danger";
declare const danger: DangerDSLType;
declare const fail: (message: string, results?: DangerResults) => void;
/**
* Check if the target branch is "master"
*
* @dangerjs FAIL
*/
export default function (): void {
const prTargetBranch: string = danger.github?.pr?.base?.ref;
if (prTargetBranch !== "master") {
return fail(`
The target branch for this pull request should be \`master\`.\n
If you would like to add this feature to the release branch, please state this in the PR description and we will consider backporting it.
`);
}
}
+17
View File
@@ -0,0 +1,17 @@
{
"compilerOptions": {
"module": "commonjs",
"moduleResolution": "node",
"esModuleInterop": true,
"target": "es6",
"noImplicitAny": true,
"noUnusedParameters": true,
"strictNullChecks": true,
"sourceMap": true,
"removeComments": true,
"outDir": "./dist"
},
"include": [
"./*.ts"
]
}
+15
View File
@@ -0,0 +1,15 @@
version: 2
updates:
- package-ecosystem: "all"
directory: "/"
schedule:
interval: "weekly"
ignore:
- directory: ".gitlab/dangerjs"
patterns:
- "package-lock.json"
- directory: ".github/dangerjs"
patterns:
- "package-lock.json"
# Disable "version updates" (keep only "security updates")
open-pull-requests-limit: 0
+17 -8
View File
@@ -9,19 +9,28 @@ permissions:
contents: write
jobs:
pull-request-style-linter:
danger-check:
runs-on: ubuntu-latest
defaults:
run:
working-directory: .github/dangerjs
steps:
- name: Check out PR head
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: DangerJS pull request linter
uses: espressif/shared-github-dangerjs@v1
- name: Setup NodeJS environment
uses: actions/setup-node@v3
with:
node-version: 18
cache: npm
cache-dependency-path: .github/dangerjs/package-lock.json
- name: Install DangerJS dependencies
run: npm install
- name: Run DangerJS
run: npx danger ci --failOnErrors -v
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
instructions-gitlab-mirror: 'true'
instructions-contributions-file: 'CONTRIBUTING.md'
instructions-cla-link: 'https://cla-assistant.io/espressif/esp-idf'
+3 -1
View File
@@ -60,7 +60,9 @@ jobs:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set up QEMU for multiarch builds
uses: docker/setup-qemu-action@v2
uses: docker/setup-qemu-action@v3
with:
image: tonistiigi/binfmt:qemu-v7.0.0-28
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build and push
+2 -3
View File
@@ -12,13 +12,12 @@ jobs:
name: Sync Issue Comments to Jira
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v2
- name: Sync issue comments to JIRA
uses: espressif/sync-jira-actions@v1
uses: espressif/github-actions/sync_issues_to_jira@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
JIRA_PASS: ${{ secrets.JIRA_PASS }}
JIRA_PROJECT: IDFGH
JIRA_URL: ${{ secrets.JIRA_URL }}
JIRA_USER: ${{ secrets.JIRA_USER }}
WEBHOOK_URL: ${{ secrets.JIRA_ISSUE_COMMENT_WEBHOOK_URL }}
+2 -3
View File
@@ -12,13 +12,12 @@ jobs:
name: Sync issues to Jira
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v2
- name: Sync GitHub issues to Jira project
uses: espressif/sync-jira-actions@v1
uses: espressif/github-actions/sync_issues_to_jira@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
JIRA_PASS: ${{ secrets.JIRA_PASS }}
JIRA_PROJECT: IDFGH
JIRA_URL: ${{ secrets.JIRA_URL }}
JIRA_USER: ${{ secrets.JIRA_USER }}
WEBHOOK_URL: ${{ secrets.JIRA_ISSUE_COMMENT_WEBHOOK_URL }}
+1 -1
View File
@@ -15,7 +15,7 @@ jobs:
name: Sync PRs to Jira
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v2
- name: Sync PRs to Jira project
uses: espressif/github-actions/sync_issues_to_jira@master
with:
+1 -1
View File
@@ -11,7 +11,7 @@ jobs:
(github.event.label.name == 'PR-Sync-Rebase') ||
(github.event.label.name == 'PR-Sync-Update')
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v2
- name: Sync approved PRs to internal codebase
uses: espressif/github-actions/github_pr_to_internal_pr@master
env:
+2 -4
View File
@@ -14,7 +14,7 @@ jobs:
SKIP: "cleanup-ignore-lists" # Comma-separated string of ignored pre-commit check IDs
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v2
- name: Fetch head and base refs
# This is necessary for pre-commit to check the changes in the PR branch
run: |
@@ -23,7 +23,7 @@ jobs:
- name: Set up Python environment
uses: actions/setup-python@master
with:
python-version: "3.10"
python-version: v3.8
- name: Install python packages
run: |
pip install pre-commit
@@ -40,5 +40,3 @@ jobs:
echo ""
exit 1
fi
# Run pre-commit for PowerShell scripts check
pre-commit run --hook-stage manual check-powershell-scripts --from-ref base_ref --to-ref pr_ref --show-diff-on-failure
+5 -6
View File
@@ -8,11 +8,10 @@ on:
jobs:
release_zips:
name: Create release zip file
runs-on: ubuntu-24.04
runs-on: ubuntu-20.04
steps:
- name: Create a recursive clone source zip
uses: espressif/release-zips-action@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
release_project_name: ESP-IDF
git_extra_args: --shallow-since="1 year ago"
uses: espressif/github-actions/release_zips@master
env:
RELEASE_PROJECT_NAME: ESP-IDF
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-35
View File
@@ -1,35 +0,0 @@
name: Vulnerability scan
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
jobs:
vulnerability-scan:
strategy:
# We don't want to run all jobs in parallel, because this would
# overload NVD and we would get 503
max-parallel: 1
matrix:
# References/branches which should be scanned for vulnerabilities are
# defined in the VULNERABILITY_SCAN_REFS variable as json list.
# For example: ['master', 'release/v5.2', 'release/v5.1', 'release/v5.0', 'release/v4.4']
ref: ${{ fromJSON(vars.VULNERABILITY_SCAN_REFS) }}
name: Vulnerability scan
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
ref: ${{ matrix.ref }}
- name: Vulnerability scan
env:
SBOM_CHECK_LOCAL_DB: ${{ vars.SBOM_CHECK_LOCAL_DB }}
SBOM_MATTERMOST_WEBHOOK: ${{ secrets.SBOM_MATTERMOST_WEBHOOK }}
NVDAPIKEY: ${{ secrets.NVDAPIKEY }}
uses: espressif/esp-idf-sbom-action@master
with:
ref: ${{ matrix.ref }}
+24 -21
View File
@@ -24,6 +24,18 @@ GPATH
# cache dir
.cache/
# Components Unit Test Apps files
components/**/build/
components/**/build_*_*/
components/**/sdkconfig
components/**/sdkconfig.old
# Example project files
examples/**/build/
examples/**/build_esp*_*/
examples/**/sdkconfig
examples/**/sdkconfig.old
# Doc build artifacts
docs/_build/
docs/doxygen_sqlite3.db
@@ -32,24 +44,16 @@ docs/doxygen_sqlite3.db
docs/_static/DejaVuSans.ttf
docs/_static/NotoSansSC-Regular.otf
# Components Unit Test Apps files
components/**/build/
components/**/build_*_*/
components/**/sdkconfig
components/**/sdkconfig.old
components/**/test_apps/wifi_nvs_config/nvs_data_suffix.csv
# Example project files
examples/**/build/
examples/**/build_*_*/
examples/**/sdkconfig
examples/**/sdkconfig.old
# Unit test app files
tools/unit-test-app/build
tools/unit-test-app/build_*_*/
tools/unit-test-app/sdkconfig
tools/unit-test-app/sdkconfig.old
tools/unit-test-app/build
tools/unit-test-app/build_*_*/
tools/unit-test-app/output
tools/unit-test-app/test_configs
# Unit Test CMake compile log folder
log_ut_cmake
# test application build files
tools/test_apps/**/build/
@@ -57,8 +61,7 @@ tools/test_apps/**/build_*_*/
tools/test_apps/**/sdkconfig
tools/test_apps/**/sdkconfig.old
TEST_LOGS/
build_summary_*.xml
TEST_LOGS
# gcov coverage reports
*.gcda
@@ -66,6 +69,8 @@ build_summary_*.xml
coverage.info
coverage_report/
test_multi_heap_host
# VS Code Settings
.vscode/
@@ -98,10 +103,8 @@ managed_components
pytest-embedded/
# legacy one
pytest_embedded_log/
app_info_*.txt
size_info*.txt
XUNIT_RESULT*.xml
.manifest_sha
list_job_*.txt
size_info.txt
# clang config (for LSP)
.clangd
+7 -9
View File
@@ -3,31 +3,29 @@ workflow:
# Disable those non-protected push triggered pipelines
- if: '$CI_COMMIT_REF_NAME != "master" && $CI_COMMIT_BRANCH !~ /^release\/v/ && $CI_COMMIT_TAG !~ /^v\d+\.\d+(\.\d+)?($|-)/ && $CI_COMMIT_TAG !~ /^qa-test/ && $CI_PIPELINE_SOURCE == "push"'
when: never
# merged result pipelines
- if: $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA
# when running merged result pipelines, CI_COMMIT_SHA represents the temp commit it created.
# Please use PIPELINE_COMMIT_SHA at all places that require a commit sha of the original commit.
- if: $CI_OPEN_MERGE_REQUESTS != null
variables:
PIPELINE_COMMIT_SHA: $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA
# else
- if: $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA == null || $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA == ""
IS_MR_PIPELINE: 1
- if: $CI_OPEN_MERGE_REQUESTS == null
variables:
PIPELINE_COMMIT_SHA: $CI_COMMIT_SHA
IS_MR_PIPELINE: 0
- when: always
# Place the default settings in `.gitlab/ci/common.yml` instead
include:
- '.gitlab/ci/danger.yml'
- '.gitlab/ci/common.yml'
- '.gitlab/ci/rules.yml'
- '.gitlab/ci/upload_cache.yml'
- '.gitlab/ci/docs.yml'
- '.gitlab/ci/static-code-analysis.yml'
- '.gitlab/ci/pre_commit.yml'
- '.gitlab/ci/pre_check.yml'
- '.gitlab/ci/build.yml'
- '.gitlab/ci/integration_test.yml'
- '.gitlab/ci/host-test.yml'
- '.gitlab/ci/target-test.yml'
- '.gitlab/ci/deploy.yml'
- '.gitlab/ci/post_deploy.yml'
- '.gitlab/ci/retry_failed_jobs.yml'
- '.gitlab/ci/test-win.yml'
+1 -246
View File
@@ -2,250 +2,5 @@
#
# https://docs.gitlab.com/ee/user/project/code_owners.html#the-syntax-of-code-owners-files
#
# If more than one rule matches a given file, the latest rule is used.
# The file should be generally kept sorted, except when it is necessary
# to use a different order due to the fact above. In that case, use
# '# sort-order-reset' comment line to reset the sort order.
#
# Recipes for a few common cases:
#
# 1. Specific directory with all its contents:
#
# /components/app_trace/
#
# Note the trailing slash!
#
# 2. File with certain extension in any subdirectory of a certain directory:
#
# /examples/**/*.py
#
# This includes an *.py files in /examples/ directory as well.
#
# 3. Contents of a directory with a certain name, anywhere in the tree:
#
# test_*_host/
#
# Will match everything under components/efuse/test_efuse_host/,
# components/heap/test_multi_heap_host/, components/lwip/test_afl_host/, etc.
#
# 4. Same as above, except limited to a specific place in the tree:
#
# /components/esp32*/
#
# Matches everything under /components/esp32, /components/esp32s2, etc.
# Doesn't match /tools/some-test/components/esp32s5.
#
# 5. Specific file:
#
# /tools/tools.json
#
# 6. File with a certain name anywhere in the tree
#
# .gitignore
#
* @esp-idf-codeowners/other
/.* @esp-idf-codeowners/tools
/.codespellrc @esp-idf-codeowners/ci
/.github/workflows/ @esp-idf-codeowners/ci
/.gitlab-ci.yml @esp-idf-codeowners/ci
/.gitlab/ci/ @esp-idf-codeowners/ci
/.idf_build_apps.toml @esp-idf-codeowners/ci
/.idf_ci.toml @esp-idf-codeowners/ci
/.pre-commit-config.yaml @esp-idf-codeowners/ci
/.vale.ini @esp-idf-codeowners/docs
/CMakeLists.txt @esp-idf-codeowners/build-config
/COMPATIBILITY*.md @esp-idf-codeowners/peripherals
/CONTRIBUTING.md @esp-idf-codeowners/docs
/Kconfig @esp-idf-codeowners/build-config
/README*.md @esp-idf-codeowners/docs
/ROADMAP*.md @esp-idf-codeowners/docs
/SUPPORT_POLICY*.md @esp-idf-codeowners/docs
/add_path.sh @esp-idf-codeowners/tools
/conftest.py @esp-idf-codeowners/ci
/export.* @esp-idf-codeowners/tools
/install.* @esp-idf-codeowners/tools
/pytest.ini @esp-idf-codeowners/ci
/ruff.toml @esp-idf-codeowners/tools
/sdkconfig.rename @esp-idf-codeowners/build-config
/sonar-project.properties @esp-idf-codeowners/ci
# sort-order-reset
/components/app_trace/ @esp-idf-codeowners/debugging
/components/app_update/ @esp-idf-codeowners/system @esp-idf-codeowners/app-utilities
/components/bootloader*/ @esp-idf-codeowners/system @esp-idf-codeowners/security
/components/bootloader_support/bootloader_flash/ @esp-idf-codeowners/peripherals
/components/bt/ @esp-idf-codeowners/bluetooth
/components/cmock/ @esp-idf-codeowners/system
/components/console/ @esp-idf-codeowners/system @esp-idf-codeowners/app-utilities/console
/components/cxx/ @esp-idf-codeowners/system
/components/driver/ @esp-idf-codeowners/peripherals
/components/efuse/ @esp-idf-codeowners/system
/components/esp_adc/ @esp-idf-codeowners/peripherals
/components/esp_app_format/ @esp-idf-codeowners/system @esp-idf-codeowners/app-utilities
/components/esp_blockdev/ @esp-idf-codeowners/storage
/components/esp_bootloader_format/ @esp-idf-codeowners/system @esp-idf-codeowners/app-utilities
/components/esp_coex/ @esp-idf-codeowners/wifi @esp-idf-codeowners/bluetooth @esp-idf-codeowners/ieee802154
/components/esp_common/ @esp-idf-codeowners/system
/components/esp_driver_*/ @esp-idf-codeowners/peripherals
/components/esp_driver_sdmmc/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/storage
/components/esp_eth/ @esp-idf-codeowners/network
/components/esp_event/ @esp-idf-codeowners/system
/components/esp_gdbstub/ @esp-idf-codeowners/debugging
/components/esp_hal_*/ @esp-idf-codeowners/peripherals
/components/esp_hid/ @esp-idf-codeowners/bluetooth
/components/esp_http_client/ @esp-idf-codeowners/app-utilities
/components/esp_http_server/ @esp-idf-codeowners/app-utilities
/components/esp_https_ota/ @esp-idf-codeowners/app-utilities
/components/esp_https_server/ @esp-idf-codeowners/app-utilities
/components/esp_hw_support/ @esp-idf-codeowners/system @esp-idf-codeowners/peripherals
/components/esp_hw_support/lowpower/ @esp-idf-codeowners/power-management
/components/esp_hw_support/usb_phy/ @esp-idf-codeowners/peripherals/usb
/components/esp_lcd/ @esp-idf-codeowners/peripherals
/components/esp_libc/ @esp-idf-codeowners/system @esp-idf-codeowners/toolchain
/components/esp_local_ctrl/ @esp-idf-codeowners/app-utilities
/components/esp_mm/ @esp-idf-codeowners/peripherals
/components/esp_netif/ @esp-idf-codeowners/network
/components/esp_netif_stack/ @esp-idf-codeowners/network
/components/esp_partition/ @esp-idf-codeowners/storage
/components/esp_phy/ @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi @esp-idf-codeowners/ieee802154
/components/esp_pm/ @esp-idf-codeowners/power-management @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi @esp-idf-codeowners/system
/components/esp_psram/ @esp-idf-codeowners/peripherals
/components/esp_psram/system_layer/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/system
/components/esp_ringbuf/ @esp-idf-codeowners/system
/components/esp_rom/ @esp-idf-codeowners/system @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi
/components/esp_security/ @esp-idf-codeowners/security
/components/esp_system/ @esp-idf-codeowners/system
/components/esp_tee/ @esp-idf-codeowners/security
/components/esp_timer/ @esp-idf-codeowners/system
/components/esp-tls/ @esp-idf-codeowners/app-utilities
/components/esp_usb_cdc_rom_console/ @esp-idf-codeowners/system @esp-idf-codeowners/peripherals/usb
/components/esp_vfs_*/ @esp-idf-codeowners/storage
/components/esp_vfs_console/ @esp-idf-codeowners/storage @esp-idf-codeowners/system
/components/esp_wifi/ @esp-idf-codeowners/wifi
/components/espcoredump/ @esp-idf-codeowners/debugging
/components/esptool_py/ @esp-idf-codeowners/tools
/components/fatfs/ @esp-idf-codeowners/storage
/components/freertos/ @esp-idf-codeowners/system
/components/hal/ @esp-idf-codeowners/peripherals
/components/hal/test_apps/crypto/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/security
/components/hal/test_apps/tee/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/security
/components/heap/ @esp-idf-codeowners/system
/components/http_parser/ @esp-idf-codeowners/app-utilities
/components/idf_test/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/system
/components/ieee802154/ @esp-idf-codeowners/ieee802154
/components/linux/ @esp-idf-codeowners/system
/components/log/ @esp-idf-codeowners/system
/components/lwip/ @esp-idf-codeowners/lwip
/components/mbedtls/ @esp-idf-codeowners/app-utilities/mbedtls @esp-idf-codeowners/security
/components/mqtt/ @esp-idf-codeowners/network
/components/nvs_flash/ @esp-idf-codeowners/storage
/components/nvs_sec_provider/ @esp-idf-codeowners/storage @esp-idf-codeowners/security
/components/openthread/ @esp-idf-codeowners/ieee802154
/components/partition_table/ @esp-idf-codeowners/system
/components/perfmon/ @esp-idf-codeowners/debugging
/components/protobuf-c/ @esp-idf-codeowners/app-utilities
/components/protocomm/ @esp-idf-codeowners/app-utilities/provisioning
/components/pthread/ @esp-idf-codeowners/system
/components/riscv/ @esp-idf-codeowners/system
/components/rt/ @esp-idf-codeowners/system
/components/sdmmc/ @esp-idf-codeowners/storage
/components/soc/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/system
/components/spi_flash/ @esp-idf-codeowners/peripherals
/components/spiffs/ @esp-idf-codeowners/storage
/components/tcp_transport/ @esp-idf-codeowners/network
/components/ulp/ @esp-idf-codeowners/system
/components/unity/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/system
/components/vfs/ @esp-idf-codeowners/storage
/components/wear_levelling/ @esp-idf-codeowners/storage
/components/wpa_supplicant/ @esp-idf-codeowners/wifi @esp-idf-codeowners/app-utilities/mbedtls
/components/xtensa/ @esp-idf-codeowners/system
/docs/ @esp-idf-codeowners/docs
/docs/docs_not_updated/ @esp-idf-codeowners/all-maintainers
/docs/**/api-guides/tools/ @esp-idf-codeowners/tools
/docs/en/api-guides/core_dump.rst @esp-idf-codeowners/debugging
/docs/**/api-guides/wifi* @esp-idf-codeowners/wifi
/docs/**/api-guides/esp-wifi-mesh.rst @esp-idf-codeowners/wifi
/docs/en/api-guides/jtag-debugging/ @esp-idf-codeowners/debugging
/docs/**/api-reference/bluetooth/ @esp-idf-codeowners/bluetooth
/docs/**/api-reference/network/ @esp-idf-codeowners/network @esp-idf-codeowners/wifi
/docs/**/api-reference/peripherals/ @esp-idf-codeowners/peripherals
/docs/**/api-reference/peripherals/usb* @esp-idf-codeowners/peripherals @esp-idf-codeowners/peripherals/usb
/docs/**/api-reference/peripherals/usb*/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/peripherals/usb
/docs/**/api-reference/protocols/ @esp-idf-codeowners/network @esp-idf-codeowners/app-utilities
/docs/**/api-reference/provisioning/ @esp-idf-codeowners/app-utilities/provisioning
/docs/**/api-reference/storage/ @esp-idf-codeowners/storage
/docs/**/api-reference/system/ @esp-idf-codeowners/system
/docs/**/security/ @esp-idf-codeowners/security
/docs/**/migration-guides/ @esp-idf-codeowners/docs @esp-idf-codeowners/all-maintainers
/docs/**/contribute/install-pre-commit-hook.rst @esp-idf-codeowners/ci @esp-idf-codeowners/tools
/examples/README.md @esp-idf-codeowners/docs @esp-idf-codeowners/ci
/examples/**/*.py @esp-idf-codeowners/ci @esp-idf-codeowners/tools
/examples/bluetooth/ @esp-idf-codeowners/bluetooth
/examples/build_system/ @esp-idf-codeowners/build-config
/examples/common_components/ @esp-idf-codeowners/system @esp-idf-codeowners/wifi @esp-idf-codeowners/lwip @esp-idf-codeowners/network
/examples/custom_bootloader/ @esp-idf-codeowners/system
/examples/cxx/ @esp-idf-codeowners/system
/examples/ethernet/ @esp-idf-codeowners/network
/examples/get-started/ @esp-idf-codeowners/system
/examples/ieee802154/ @esp-idf-codeowners/ieee802154
/examples/lowpower/ @esp-idf-codeowners/power-management @esp-idf-codeowners/system
/examples/mesh/ @esp-idf-codeowners/wifi
/examples/network/ @esp-idf-codeowners/network @esp-idf-codeowners/wifi
/examples/openthread/ @esp-idf-codeowners/ieee802154
/examples/peripherals/ @esp-idf-codeowners/peripherals
/examples/peripherals/usb/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/peripherals/usb
/examples/phy/ @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi @esp-idf-codeowners/ieee802154
/examples/protocols/ @esp-idf-codeowners/network @esp-idf-codeowners/app-utilities
/examples/security/ @esp-idf-codeowners/security
/examples/storage/ @esp-idf-codeowners/storage
/examples/system/ @esp-idf-codeowners/system
/examples/system/ota/ @esp-idf-codeowners/app-utilities
/examples/wifi/ @esp-idf-codeowners/wifi
/examples/zigbee/ @esp-idf-codeowners/ieee802154
/tools/ @esp-idf-codeowners/tools
/tools/ble/ @esp-idf-codeowners/app-utilities
/tools/bt/ @esp-idf-codeowners/bluetooth
/tools/ci/ @esp-idf-codeowners/ci
/tools/cmake/ @esp-idf-codeowners/build-config
/tools/cmake/toolchain-*.cmake @esp-idf-codeowners/toolchain
/tools/esp_app_trace/ @esp-idf-codeowners/debugging
/tools/gdb_panic_server.py @esp-idf-codeowners/debugging
/tools/kconfig*/ @esp-idf-codeowners/build-config
/tools/ldgen/ @esp-idf-codeowners/build-config
/tools/mass_mfg/ @esp-idf-codeowners/app-utilities
/tools/mocks/ @esp-idf-codeowners/system
/tools/test_apps/ @esp-idf-codeowners/ci
/tools/test_apps/README.md @esp-idf-codeowners/docs @esp-idf-codeowners/ci
## Note: owners here should be the same as the owners for the same example subdir, above
/tools/test_apps/build_system/ @esp-idf-codeowners/build-config
/tools/test_apps/components/test_utils/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/system
/tools/test_apps/configs/ @esp-idf-codeowners/system
/tools/test_apps/linux_compatible/ @esp-idf-codeowners/system
/tools/test_apps/phy/ @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi @esp-idf-codeowners/ieee802154
/tools/test_apps/protocols/ @esp-idf-codeowners/network @esp-idf-codeowners/app-utilities
/tools/test_apps/security/ @esp-idf-codeowners/security
/tools/test_apps/storage/ @esp-idf-codeowners/storage
/tools/test_apps/system/ @esp-idf-codeowners/system
/tools/test_apps/**/*.py @esp-idf-codeowners/ci @esp-idf-codeowners/tools
/tools/test_build_system/ @esp-idf-codeowners/tools @esp-idf-codeowners/build-config
/tools/tools.json @esp-idf-codeowners/tools @esp-idf-codeowners/toolchain @esp-idf-codeowners/debugging
# sort-order-reset
/components/**/test_apps/**/*.py @esp-idf-codeowners/ci @esp-idf-codeowners/tools
# ignore lists
/tools/ci/check_copyright_config.yaml @esp-idf-codeowners/all-maintainers
/tools/ci/check_copyright_ignore.txt @esp-idf-codeowners/all-maintainers
/tools/ci/mypy_ignore_list.txt @esp-idf-codeowners/tools
* @esp-idf-codeowners/all-maintainers
+71 -4
View File
@@ -145,11 +145,11 @@ check if there's a suitable `.if-<if-anchor-you-need>` anchor
1. if there is, create a rule following [`rules` Template Naming Rules](#rules-template-naming-rules).For detail information, please refer to [GitLab Documentation `rules-if`](https://docs.gitlab.com/ee/ci/yaml/README.html#rulesif). Here's an example.
```yaml
.rules:patterns:clang_tidy:
.rules:patterns:python-files:
rules:
- <<: *if-protected
- <<: *if-dev-push
changes: *patterns-c-files
changes: *patterns-python-files
```
2. if there isn't
@@ -250,9 +250,76 @@ We're using the latest version of [idf-build-apps][idf-build-apps]. Please refer
In ESP-IDF CI, there's a few more special rules are additionally supported to disable the check app dependencies feature:
- Add MR labels `BUILD_AND_TEST_ALL_APPS`
- Pipeline variable `IDF_CI_SELECT_ALL_PYTEST_CASES=1`
- Run in protected branches
## Upload/Download Artifacts to Internal Minio Server
Please refer to the documentation [here](https://docs.espressif.com/projects/idf-ci/en/latest/guides/cli.html)
### Users Without Access to Minio
If you don't have access to the internal Minio server, you can still download the artifacts from the shared link in the job log.
The log will look like this:
```shell
Pipeline ID : 587355
Job name : build_clang_test_apps_esp32
Job ID : 40272275
Created archive file: 40272275.zip, uploading as 587355/build_dir_without_map_and_elf_files/build_clang_test_apps_esp32/40272275.zip
Please download the archive file includes build_dir_without_map_and_elf_files from [INTERNAL_URL]
```
### Users With Access to Minio
#### Env Vars for Minio
Minio takes these env vars to connect to the server:
- `IDF_S3_SERVER`
- `IDF_S3_ACCESS_KEY`
- `IDF_S3_SECRET_KEY`
- `IDF_S3_BUCKET`
#### Artifacts Types and File Patterns
The artifacts types and corresponding file patterns are defined in tools/ci/artifacts_handler.py, inside `ArtifactType` and `TYPE_PATTERNS_DICT`.
#### Upload
```shell
python tools/ci/artifacts_handler.py upload
```
will upload the files that match the file patterns to minio object storage with name:
`<pipeline_id>/<artifact_type>/<job_name>/<job_id>.zip`
For example, job 39043328 will upload these four files:
- `575500/map_and_elf_files/build_pytest_examples_esp32/39043328.zip`
- `575500/build_dir_without_map_and_elf_files/build_pytest_examples_esp32/39043328.zip`
- `575500/logs/build_pytest_examples_esp32/39043328.zip`
- `575500/size_reports/build_pytest_examples_esp32/39043328.zip`
#### Download
You may run
```shell
python tools/ci/artifacts_handler.py download --pipeline_id <pipeline_id>
```
to download all files of the pipeline, or
```shell
python tools/ci/artifacts_handler.py download --pipeline_id <pipeline_id> --job_name <job_name_or_pattern>
```
to download all files with the specified job name or pattern, or
```shell
python tools/ci/artifacts_handler.py download --pipeline_id <pipeline_id> --job_name <job_name_or_pattern> --type <artifact_type> <artifact_type> ...
```
to download all files with the specified job name or pattern and artifact type(s).
You may check all detailed documentation with `python tools/ci/artifacts_handler.py download -h`
+416 -191
View File
@@ -1,15 +1,18 @@
.build_template:
stage: build
extends:
- .after_script:build:ccache-show-stats:upload-failed-job-logs
- .after_script:build:ccache-show-stats
image: $ESP_ENV_IMAGE
tags: [build, shiny]
tags:
- build
# build only on shiny servers since shiny storage server is at the same location
- shiny
variables:
# Enable ccache for all build jobs. See configure_ci_environment.sh for more ccache related settings.
IDF_CCACHE_ENABLE: "1"
dependencies: []
.build_cmake_clang_template:
.build_cmake_template:
extends:
- .build_template
- .before_script:build
@@ -21,7 +24,7 @@
- pipeline_variables
artifacts:
paths:
# The other artifacts patterns are defined under .idf_ci.toml
# The other artifacts patterns are defined under tools/ci/artifacts_handler.py
# Now we're uploading/downloading the binary files from our internal storage server
#
# keep the log file to help debug
@@ -29,25 +32,313 @@
# keep the size info to help track the binary size
- size_info.txt
- "**/build*/size.json"
expire_in: 1 week
when: always
expire_in: 4 days
script:
# CI specific options start from "--parallel-count xxx". could ignore when running locally
- run_cmd python tools/ci/ci_build_apps.py $TEST_DIR -v
-t $IDF_TARGET
--copy-sdkconfig
--parallel-count ${CI_NODE_TOTAL:-1}
--parallel-index ${CI_NODE_INDEX:-1}
--extra-preserve-dirs
examples/bluetooth/esp_ble_mesh/ble_mesh_console
examples/bluetooth/hci/controller_hci_uart_esp32
examples/wifi/iperf
--modified-components ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
# for detailed documents, please refer to .gitlab/ci/README.md#uploaddownload-artifacts-to-internal-minio-server
- python tools/ci/artifacts_handler.py upload
.build_cmake_clang_template:
extends:
- .build_cmake_template
variables:
IDF_TOOLCHAIN: clang
TEST_BUILD_OPTS_EXTRA: ""
TEST_DIR: tools/test_apps/system/cxx_pthread_bluetooth
script:
# CI specific options start from "--parallel-count xxx". could ignore when running locally
- run_cmd idf-build-apps build
-p tools/test_apps/system/clang_build_test
- run_cmd python tools/ci/ci_build_apps.py $TEST_DIR -v
-t $IDF_TARGET
--copy-sdkconfig
--parallel-count ${CI_NODE_TOTAL:-1}
--parallel-index ${CI_NODE_INDEX:-1}
--modified-components ${MR_MODIFIED_COMPONENTS}
--modified-files ${MR_MODIFIED_FILES}
--modified-components ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
$TEST_BUILD_OPTS_EXTRA
- python tools/ci/artifacts_handler.py upload
.build_pytest_template:
extends:
- .build_cmake_template
script:
# CI specific options start from "--parallel-count xxx". could ignore when running locally
- run_cmd python tools/ci/ci_build_apps.py $TEST_DIR -v
-t $IDF_TARGET
-m \"not host_test\"
--pytest-apps
--parallel-count ${CI_NODE_TOTAL:-1}
--parallel-index ${CI_NODE_INDEX:-1}
--collect-app-info "list_job_${CI_JOB_NAME_SLUG}.txt"
--modified-components ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
- python tools/ci/artifacts_handler.py upload
.build_pytest_no_jtag_template:
extends:
- .build_cmake_template
script:
# CI specific options start from "--parallel-count xxx". could ignore when running locally
- run_cmd python tools/ci/ci_build_apps.py $TEST_DIR -v
-t $IDF_TARGET
-m \"not host_test and not jtag\"
--pytest-apps
--parallel-count ${CI_NODE_TOTAL:-1}
--parallel-index ${CI_NODE_INDEX:-1}
--collect-app-info "list_job_${CI_JOB_NAME_SLUG}.txt"
--modified-components ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
- python tools/ci/artifacts_handler.py upload
.build_pytest_jtag_template:
extends:
- .build_cmake_template
script:
# CI specific options start from "--parallel-count xxx". could ignore when running locally
- run_cmd python tools/ci/ci_build_apps.py $TEST_DIR -v
-t $IDF_TARGET
-m \"not host_test and jtag\"
--pytest-apps
--parallel-count ${CI_NODE_TOTAL:-1}
--parallel-index ${CI_NODE_INDEX:-1}
--collect-app-info "list_job_${CI_JOB_NAME_SLUG}.txt"
--modified-components ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
- python tools/ci/artifacts_handler.py upload
build_pytest_examples_esp32:
extends:
- .build_pytest_no_jtag_template
- .rules:build:example_test-esp32
parallel: 6
variables:
IDF_TARGET: esp32
TEST_DIR: examples
build_pytest_examples_esp32s2:
extends:
- .build_pytest_no_jtag_template
- .rules:build:example_test-esp32s2
parallel: 3
variables:
IDF_TARGET: esp32s2
TEST_DIR: examples
build_pytest_examples_esp32s3:
extends:
- .build_pytest_no_jtag_template
- .rules:build:example_test-esp32s3
parallel: 4
variables:
IDF_TARGET: esp32s3
TEST_DIR: examples
build_pytest_examples_esp32c3:
extends:
- .build_pytest_no_jtag_template
- .rules:build:example_test-esp32c3
parallel: 4
variables:
IDF_TARGET: esp32c3
TEST_DIR: examples
build_pytest_examples_esp32c2:
extends:
- .build_pytest_no_jtag_template
- .rules:build:example_test-esp32c2
parallel: 2
variables:
IDF_TARGET: esp32c2
TEST_DIR: examples
build_pytest_examples_esp32c6:
extends:
- .build_pytest_no_jtag_template
- .rules:build:example_test-esp32c6
parallel: 2
variables:
IDF_TARGET: esp32c6
TEST_DIR: examples
build_pytest_examples_esp32h2:
extends:
- .build_pytest_no_jtag_template
- .rules:build:example_test-esp32h2
parallel: 2
variables:
IDF_TARGET: esp32h2
TEST_DIR: examples
build_pytest_examples_jtag: # for all targets
extends:
- .build_pytest_jtag_template
- .rules:build:example_test
variables:
IDF_TARGET: all
TEST_DIR: examples
build_pytest_components_esp32:
extends:
- .build_pytest_template
- .rules:build:component_ut-esp32
parallel: 5
variables:
IDF_TARGET: esp32
TEST_DIR: components
build_pytest_components_esp32s2:
extends:
- .build_pytest_template
- .rules:build:component_ut-esp32s2
parallel: 4
variables:
IDF_TARGET: esp32s2
TEST_DIR: components
build_pytest_components_esp32s3:
extends:
- .build_pytest_template
- .rules:build:component_ut-esp32s3
parallel: 4
variables:
IDF_TARGET: esp32s3
TEST_DIR: components
build_pytest_components_esp32c3:
extends:
- .build_pytest_template
- .rules:build:component_ut-esp32c3
parallel: 4
variables:
IDF_TARGET: esp32c3
TEST_DIR: components
build_pytest_components_esp32c2:
extends:
- .build_pytest_template
- .rules:build:component_ut-esp32c2
parallel: 3
variables:
IDF_TARGET: esp32c2
TEST_DIR: components
build_pytest_components_esp32c6:
extends:
- .build_pytest_template
- .rules:build:component_ut-esp32c6
parallel: 3
variables:
IDF_TARGET: esp32c6
TEST_DIR: components
build_pytest_components_esp32h2:
extends:
- .build_pytest_template
- .rules:build:component_ut-esp32h2
parallel: 4
variables:
IDF_TARGET: esp32h2
TEST_DIR: components
build_only_components_apps:
extends:
- .build_cmake_template
- .rules:build:component_ut
parallel: 5
script:
- set_component_ut_vars
# CI specific options start from "--parallel-count xxx". could ignore when running locally
- run_cmd python tools/ci/ci_build_apps.py $COMPONENT_UT_DIRS -v
-t all
--parallel-count ${CI_NODE_TOTAL:-1}
--parallel-index ${CI_NODE_INDEX:-1}
--modified-components ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
- python tools/ci/artifacts_handler.py upload
build_pytest_test_apps_esp32:
extends:
- .build_pytest_template
- .rules:build:custom_test-esp32
variables:
IDF_TARGET: esp32
TEST_DIR: tools/test_apps
build_pytest_test_apps_esp32s2:
extends:
- .build_pytest_template
- .rules:build:custom_test-esp32s2
variables:
IDF_TARGET: esp32s2
TEST_DIR: tools/test_apps
build_pytest_test_apps_esp32s3:
extends:
- .build_pytest_template
- .rules:build:custom_test-esp32s3
parallel: 2
variables:
IDF_TARGET: esp32s3
TEST_DIR: tools/test_apps
build_pytest_test_apps_esp32c3:
extends:
- .build_pytest_template
- .rules:build:custom_test-esp32c3
variables:
IDF_TARGET: esp32c3
TEST_DIR: tools/test_apps
build_pytest_test_apps_esp32c2:
extends:
- .build_pytest_template
- .rules:build:custom_test-esp32c2
variables:
IDF_TARGET: esp32c2
TEST_DIR: tools/test_apps
build_pytest_test_apps_esp32c6:
extends:
- .build_pytest_template
- .rules:build:custom_test-esp32c6
variables:
IDF_TARGET: esp32c6
TEST_DIR: tools/test_apps
build_pytest_test_apps_esp32h2:
extends:
- .build_pytest_template
- .rules:build:custom_test-esp32h2
variables:
IDF_TARGET: esp32h2
TEST_DIR: tools/test_apps
build_only_tools_test_apps:
extends:
- .build_cmake_template
- .rules:build:custom_test
parallel: 9
script:
# CI specific options start from "--parallel-count xxx". could ignore when running locally
- run_cmd python tools/ci/ci_build_apps.py tools/test_apps -v
-t all
--parallel-count ${CI_NODE_TOTAL:-1}
--parallel-index ${CI_NODE_INDEX:-1}
--modified-components ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
- python tools/ci/artifacts_handler.py upload
######################
# build_template_app #
######################
.build_template_app_template:
extends:
- .build_template
@@ -59,12 +350,12 @@
BUILD_LOG_CMAKE: "${LOG_PATH}/cmake_@t_@w.txt"
BUILD_COMMAND_ARGS: ""
artifacts:
when: always
paths:
- log_template_app/*
- size_info.txt
- build_template_app/**/size.json
expire_in: 1 week
when: always
script:
# Set the variable for 'esp-idf-template' testing
- ESP_IDF_TEMPLATE_GIT=${ESP_IDF_TEMPLATE_GIT:-"https://github.com/espressif/esp-idf-template.git"}
@@ -83,48 +374,100 @@ fast_template_app:
- .build_template_app_template
- .rules:build:target_test
stage: pre_check
tags: [fast_run, shiny]
variables:
BUILD_COMMAND_ARGS: "-p"
#------------------------------------------------------------------------------
#######################
# gnu_static_analyzer #
#######################
gcc_static_analyzer:
build_examples_cmake_esp32:
extends:
- .build_template_app_template
- .rules:build:target_test
stage: pre_check
tags: [build, shiny]
- .build_cmake_template
- .rules:build:example_test-esp32
parallel: 8
variables:
CI_CCACHE_DISABLE: 1
ANALYZING_APP: "examples/get-started/hello_world"
script:
- echo "CONFIG_COMPILER_STATIC_ANALYZER=y" >> ${ANALYZING_APP}/sdkconfig.defaults
- idf-build-apps build -p ${ANALYZING_APP}
IDF_TARGET: esp32
TEST_DIR: examples
build_examples_cmake_esp32s2:
extends:
- .build_cmake_template
- .rules:build:example_test-esp32s2
parallel: 7
variables:
IDF_TARGET: esp32s2
TEST_DIR: examples
build_examples_cmake_esp32s3:
extends:
- .build_cmake_template
- .rules:build:example_test-esp32s3
parallel: 11
variables:
IDF_TARGET: esp32s3
TEST_DIR: examples
build_examples_cmake_esp32c2:
extends:
- .build_cmake_template
- .rules:build:example_test-esp32c2
parallel: 7
variables:
IDF_TARGET: esp32c2
TEST_DIR: examples
build_examples_cmake_esp32c3:
extends:
- .build_cmake_template
- .rules:build:example_test-esp32c3
parallel: 9
variables:
IDF_TARGET: esp32c3
TEST_DIR: examples
build_examples_cmake_esp32c6:
extends:
- .build_cmake_template
- .rules:build:example_test-esp32c6
parallel: 11
variables:
IDF_TARGET: esp32c6
TEST_DIR: examples
build_examples_cmake_esp32h2:
extends:
- .build_cmake_template
- .rules:build:example_test-esp32h2
parallel: 9
variables:
IDF_TARGET: esp32h2
TEST_DIR: examples
build_examples_cmake_esp32p4:
extends:
- .build_cmake_template
- .rules:build:example_test-esp32p4
parallel: 4
variables:
IDF_TARGET: esp32p4
TEST_DIR: examples
########################################
# Clang Build Apps Without Tests Cases #
########################################
build_clang_test_apps_esp32:
extends:
- .build_cmake_clang_template
- .rules:build
- .rules:build:custom_test-esp32
variables:
IDF_TARGET: esp32
build_clang_test_apps_esp32s2:
extends:
- .build_cmake_clang_template
- .rules:build
- .rules:build:custom_test-esp32s2
variables:
IDF_TARGET: esp32s2
build_clang_test_apps_esp32s3:
extends:
- .build_cmake_clang_template
- .rules:build
- .rules:build:custom_test-esp32s3
variables:
IDF_TARGET: esp32s3
@@ -132,80 +475,48 @@ build_clang_test_apps_esp32s3:
extends:
- .build_cmake_clang_template
variables:
# https://reviews.llvm.org/D90108.
# GNU 'as' lets .weak override .globl since binutils-gdb
# https://github.com/bminor/binutils-gdb/commit/5ca547dc2399a0a5d9f20626d4bf5547c3ccfddd (1996)
# while MC lets the last directive win (PR38921).
# For RISCV chips we use integrated assembler by default, so suppress this warning to pass CI pipeline.
TEST_BUILD_OPTS_EXTRA: "--ignore-warning-str 'changed binding to STB_WEAK'"
# For RISCV clang generates '.linker-options' sections of type 'llvm_linker_options' in asm files.
# See (https://llvm.org/docs/Extensions.html#linker-options-section-linker-options).
# Binutils gas ignores them with warning.
# TODO: LLVM-112, Use integrated assembler.
TEST_BUILD_OPTS_EXTRA: "--ignore-warning-str 'Warning: unrecognized section type'"
build_clang_test_apps_esp32c3:
extends:
- .build_clang_test_apps_riscv
- .rules:build
- .rules:build:custom_test-esp32c3
variables:
IDF_TARGET: esp32c3
build_clang_test_apps_esp32c2:
extends:
- .build_clang_test_apps_riscv
- .rules:build
- .rules:build:custom_test-esp32c2
variables:
IDF_TARGET: esp32c2
build_clang_test_apps_esp32c6:
extends:
- .build_clang_test_apps_riscv
- .rules:build
- .rules:build:custom_test-esp32c6
# TODO: c6 builds fail in master due to missing headers
allow_failure: true
variables:
IDF_TARGET: esp32c6
build_clang_test_apps_esp32c5:
extends:
- .build_clang_test_apps_riscv
- .rules:build
variables:
IDF_TARGET: esp32c5
build_clang_test_apps_esp32h2:
extends:
- .build_clang_test_apps_riscv
- .rules:build
variables:
IDF_TARGET: esp32h2
build_clang_test_apps_esp32p4:
extends:
- .build_clang_test_apps_riscv
- .rules:build
variables:
IDF_TARGET: esp32p4
######################
# Build System Tests #
######################
.test_build_system_template:
stage: host_test
extends:
- .build_template
- .rules:build:check
dependencies: # set dependencies to null to avoid missing artifacts issue
needs:
- job: fast_template_app
artifacts: false
optional: true
artifacts:
reports:
junit: XUNIT_RESULT.xml
paths:
- XUNIT_RESULT.xml
- test_build_system
expire_in: 1 week
when: always
script:
- ${IDF_PATH}/tools/ci/test_configure_ci_environment.sh
- cd ${IDF_PATH}/tools/test_build_system
- run_cmd idf-ci gitlab download-known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
- python ${IDF_PATH}/tools/ci/get_known_failure_cases_file.py
- pytest
--cleanup-idf-copy
--parallel-count ${CI_NODE_TOTAL:-1}
@@ -214,68 +525,39 @@ build_clang_test_apps_esp32p4:
--junitxml ${CI_PROJECT_DIR}/XUNIT_RESULT.xml
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
.test_build_system_macos_template_extension:
tags:
- macos
variables:
PYENV_VERSION: "3.10"
# CCACHE_DIR: "/cache/idf_ccache". On macOS, you cannot write to this folder due to insufficient permissions.
CCACHE_DIR: "" # ccache will use "$HOME/Library/Caches/ccache".
# Workaround for a bug in Parallels executor where CI_PROJECT_DIR is not an absolute path,
# but a relative path to the build directory (builds/espressif/esp-idf instead of ~/builds/espressif/esp-idf.
# GitLab sets the project dir to this template `<builds_dir>/<namespace>/<project_name>`
IDF_PATH: "/Users/espressif/builds/espressif/esp-idf"
.test_build_system_minimal_cmake_template:
extends: .test_build_system_template
variables:
INSTALL_EXTRA_TOOLS: cmake@3.22.1
script:
- MINIMAL_SUPPORTED_CMAKE_VERSION=$(echo "${INSTALL_EXTRA_TOOLS}" | sed -n 's/.*cmake@\([0-9.]*\).*/\1/p')
- export PATH=$(echo "$PATH" | sed -E "s|/tools/cmake/[0-9.]+|/tools/cmake/${MINIMAL_SUPPORTED_CMAKE_VERSION}|")
- ACTUAL_CMAKE_VERSION=$(cmake --version | head -n1 | awk '{print $3}')
- |
if [ "${ACTUAL_CMAKE_VERSION}" != "${MINIMAL_SUPPORTED_CMAKE_VERSION}" ]; then
echo "ERROR: Wrong minimal CMake version! Detected: ${ACTUAL_CMAKE_VERSION}, but should be: ${MINIMAL_SUPPORTED_CMAKE_VERSION}"
exit 1
fi
- ${IDF_PATH}/tools/ci/test_configure_ci_environment.sh
- cd ${IDF_PATH}/tools/test_build_system
- run_cmd idf-ci gitlab download-known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
- pytest
-k cmake
--cleanup-idf-copy
--parallel-count ${CI_NODE_TOTAL:-1}
--parallel-index ${CI_NODE_INDEX:-1}
--work-dir ${CI_PROJECT_DIR}/test_build_system
--junitxml ${CI_PROJECT_DIR}/XUNIT_RESULT.xml
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
pytest_build_system:
extends: .test_build_system_template
parallel: 3
artifacts:
paths:
- XUNIT_RESULT.xml
- test_build_system
when: always
expire_in: 2 days
reports:
junit: XUNIT_RESULT.xml
pytest_build_system_macos:
extends:
- .test_build_system_template
- .test_build_system_macos_template_extension
- .before_script:build:macos
- .after_script:build:macos:upload-failed-job-logs:ccache-show-stats
- .rules:build:macos
tags:
- macos_shell
parallel: 3
pytest_build_system_minimal_cmake:
extends: .test_build_system_minimal_cmake_template
pytest_build_system_macos_minimal_cmake:
extends:
- .test_build_system_minimal_cmake_template
- .test_build_system_macos_template_extension
- .before_script:build:macos
- .after_script:build:macos:upload-failed-job-logs:ccache-show-stats
- .rules:build:macos
artifacts:
paths:
- XUNIT_RESULT.xml
- test_build_system
when: always
expire_in: 2 days
reports:
junit: XUNIT_RESULT.xml
variables:
INSTALL_EXTRA_TOOLS: ninja cmake@3.22.1
PYENV_VERSION: "3.8"
# CCACHE_DIR: "/cache/idf_ccache". On macOS, you cannot write to this folder due to insufficient permissions.
CCACHE_DIR: "" # ccache will use "$HOME/Library/Caches/ccache".
build_docker:
extends:
@@ -284,11 +566,17 @@ build_docker:
stage: host_test
needs: []
image: espressif/docker-builder:1
tags: [shiny, dind]
tags:
- build_docker_amd64_brno
variables:
DOCKER_TMP_IMAGE_NAME: "idf_tmp_image"
script:
- export DOCKER_BUILD_ARGS="--build-arg IDF_CLONE_URL=${CI_REPOSITORY_URL} --build-arg IDF_CLONE_BRANCH_OR_TAG=${CI_COMMIT_REF_NAME} --build-arg IDF_CHECKOUT_REF=${CI_COMMIT_TAG:-$CI_COMMIT_SHA} --build-arg IDF_CLONE_SHALLOW=1 --build-arg IDF_GITHUB_ASSETS=${INTERNAL_GITHUB_ASSETS}"
- export LOCAL_CI_REPOSITORY_URL=$CI_REPOSITORY_URL
- if [ -n "$LOCAL_GITLAB_HTTPS_HOST" ]; then export LOCAL_CI_REPOSITORY_URL="https://gitlab-ci-token:${CI_JOB_TOKEN}@${LOCAL_GITLAB_HTTPS_HOST}/${CI_PROJECT_PATH}"; fi
- if [ -n "$LOCAL_GIT_MIRROR" ]; then export LOCAL_CI_REPOSITORY_URL="${LOCAL_GIT_MIRROR}/${CI_PROJECT_PATH}"; fi
- echo "Using repository at $LOCAL_CI_REPOSITORY_URL"
- export DOCKER_BUILD_ARGS="--build-arg IDF_CLONE_URL=${LOCAL_CI_REPOSITORY_URL} --build-arg IDF_CLONE_BRANCH_OR_TAG=${CI_COMMIT_REF_NAME} --build-arg IDF_CHECKOUT_REF=${CI_COMMIT_TAG:-$PIPELINE_COMMIT_SHA}"
# Build
- docker build --tag ${DOCKER_TMP_IMAGE_NAME} ${DOCKER_BUILD_ARGS} tools/docker/
# We can't mount $PWD/examples/get-started/blink into the container, see https://gitlab.com/gitlab-org/gitlab-ce/issues/41227.
# The workaround mentioned there works, but leaves around directories which need to be cleaned up manually.
@@ -301,69 +589,6 @@ build_template_app:
- .build_template_app_template
- .rules:build
stage: host_test
dependencies: # set dependencies to null to avoid missing artifacts issue
needs:
- job: fast_template_app
artifacts: false
####################
# Dynamic Pipeline #
####################
generate_build_child_pipeline:
extends:
- .build_template
tags: [fast_run, shiny]
dependencies: # set dependencies to null to avoid missing artifacts issue
needs:
- pipeline_variables
- job: baseline_manifest_sha
optional: true
artifacts:
paths:
- build_child_pipeline.yml
- test_related_apps.txt
- non_test_related_apps.txt
expire_in: 1 week
when: always
script:
- run_cmd python tools/ci/dynamic_pipelines/scripts/generate_build_child_pipeline.py
build_child_pipeline:
stage: build
needs:
- job: fast_template_app
optional: true
artifacts: false
- pipeline_variables
- generate_build_child_pipeline
variables:
MR_MODIFIED_COMPONENTS: $MR_MODIFIED_COMPONENTS
MR_MODIFIED_FILES: $MR_MODIFIED_FILES
PARENT_PIPELINE_ID: $CI_PIPELINE_ID
# https://gitlab.com/gitlab-org/gitlab/-/issues/214340
inherit:
variables: false
trigger:
include:
- artifact: build_child_pipeline.yml
job: generate_build_child_pipeline
strategy: depend
generate_disabled_apps_report:
extends:
- .build_template
tags: [fast_run, shiny]
dependencies: # set dependencies to null to avoid missing artifacts issue
needs:
- pipeline_variables
- job: baseline_manifest_sha
optional: true
artifacts:
paths:
- disabled_report.html
expire_in: 1 week
when: always
script:
- pip install dominate idf-build-apps
- run_cmd python tools/ci/gen_disabled_report.py --output disabled_report.html --verbose --enable-preview-targets
- echo "Report generated at https://${CI_PAGES_HOSTNAME}:${CI_SERVER_PORT}/-/esp-idf/-/jobs/${CI_JOB_ID}/artifacts/disabled_report.html"
+59 -116
View File
@@ -12,15 +12,14 @@ stages:
- test_deploy
- deploy
- post_deploy
- retry_failed_jobs
variables:
# System environment
# System environment
# Common parameters for the 'make' during CI tests
MAKEFLAGS: "-j5 --no-keep-going"
# GitLab-CI environment
# GitLab-CI environment
# Thanks to pack-objects cache, clone strategy should behave faster than fetch
# so we pick "clone" as default git strategy
# Shiny runners by default remove the CI_PROJECT_DIR every time at the beginning of one job
@@ -30,14 +29,17 @@ variables:
# - set GIT_STRATEGY: "clone" to shiny runners
# - set GIT_STRATEGY: "fetch" to brew runners
GIT_STRATEGY: clone
GIT_DEPTH: 1
GIT_SUBMODULE_STRATEGY: none # here we use cache for submodules, so we don't need to fetch them every time
# we will download archive for each submodule instead of clone.
# we don't do "recursive" when fetch submodule as they're not used in CI now.
GIT_SUBMODULE_STRATEGY: none
# since we're using merged-result pipelines, the last commit should work for most cases
GIT_DEPTH: 1
# --no-recurse-submodules: we use cache for submodules
# --prune --prune-tags: in case remote branch or tag is force pushed
GIT_FETCH_EXTRA_FLAGS: "--no-recurse-submodules --prune --prune-tags"
# we're using .cache folder for caches
GIT_CLEAN_FLAGS: -ffdx -e .cache/
LATEST_GIT_TAG: v6.0-dev
LATEST_GIT_TAG: v5.2.6
SUBMODULE_FETCH_TOOL: "tools/ci/ci_fetch_submodule.py"
# by default we will fetch all submodules
@@ -52,10 +54,16 @@ variables:
CHECKOUT_REF_SCRIPT: "$CI_PROJECT_DIR/tools/ci/checkout_project_ref.py"
# Docker images
ESP_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/esp-env-v6.0:3"
ESP_IDF_DOC_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/esp-idf-doc-env-v6.0:2-1"
TARGET_TEST_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/target-test-env-v6.0:2"
ESP_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/esp-env-v5.2:2"
ESP_IDF_DOC_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/esp-idf-doc-env-v5.2:2-1"
QEMU_IMAGE: "${CI_DOCKER_REGISTRY}/qemu-v5.2:2-20230522"
TARGET_TEST_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/target-test-env-v5.2:2"
SONARQUBE_SCANNER_IMAGE: "${CI_DOCKER_REGISTRY}/sonarqube-scanner:5"
PRE_COMMIT_IMAGE: "${CI_DOCKER_REGISTRY}/esp-idf-pre-commit:1"
# target test repo parameters
TEST_ENV_CONFIG_REPO: "https://gitlab-ci-token:${BOT_TOKEN}@${CI_SERVER_HOST}:${CI_SERVER_PORT}/qa/ci-test-runner-configs.git"
# cache python dependencies
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
@@ -66,7 +74,7 @@ variables:
CI_PYTHON_CONSTRAINT_BRANCH: ""
# Update the filename for a specific ESP-IDF release. It is used only with CI_PYTHON_CONSTRAINT_BRANCH.
CI_PYTHON_CONSTRAINT_FILE: "espidf.constraints.v6.0.txt"
CI_PYTHON_CONSTRAINT_FILE: "espidf.constraints.v5.2.txt"
# Set this variable to repository name of a Python tool you wish to install and test in the context of ESP-IDF CI.
# Keep the variable empty when not used.
@@ -77,34 +85,16 @@ variables:
# This is used only if CI_PYTHON_TOOL_REPO is not empty.
CI_PYTHON_TOOL_BRANCH: ""
# Set this variable to Clang toolchain distro URL to be used.
# NOTE: We have separate toolchains for Xtensa and RISCV, therefore jobs for one arch will fail.
# This is OK as far as we use CI_CLANG_DISTRO_URL for pre-release tests purposes only.
# Keep the variable empty when not used.
CI_CLANG_DISTRO_URL: ""
# Set this variable to specify the file name for the known failure cases.
KNOWN_FAILURE_CASES_FILE_NAME: "master.txt"
KNOWN_FAILURE_CASES_FILE_NAME: "5.2.txt"
IDF_CI_BUILD: 1
# ccache settings
# some settings need to set in .gitlab-ci.yml as it takes effect while start-up the job
# https://ccache.dev/manual/latest.html#_configuring_ccache
# host mapping volume to share ccache between runner concurrent jobs
CCACHE_DIR: "/cache/idf_ccache"
CCACHE_MAXSIZE: "50G"
FF_USE_NEW_BASH_EVAL_STRATEGY: "true"
FORCE_COLOR: "1" # rich print with color
################################################
# `before_script` and `after_script` Templates #
################################################
.common_before_scripts: &common-before_scripts |
source tools/ci/utils.sh
is_based_on_commits $REQUIRED_ANCESTOR_COMMITS
if [[ -n "$IDF_DONT_USE_MIRRORS" ]]; then
@@ -120,12 +110,7 @@ variables:
source tools/ci/configure_ci_environment.sh
# add extra python packages
export PYTHONPATH="$IDF_PATH/tools:$IDF_PATH/tools/ci:$IDF_PATH/tools/esp_app_trace:$IDF_PATH/components/partition_table:$IDF_PATH/tools/ci/python_packages:$PYTHONPATH"
# minio configuration
# added here since the precedence of variables in gitlab-ci.yml is lower than project settings
export IDF_S3_SERVER="$IDF_S3_NEW_SERVER"
export IDF_S3_ACCESS_KEY="$IDF_S3_NEW_ACCESS_KEY"
export PYTHONPATH="$IDF_PATH/tools:$IDF_PATH/tools/esp_app_trace:$IDF_PATH/components/partition_table:$IDF_PATH/tools/ci/python_packages:$PYTHONPATH"
.setup_tools_and_idf_python_venv: &setup_tools_and_idf_python_venv |
# must use after setup_tools_except_target_test
@@ -142,47 +127,36 @@ variables:
if [[ -n "$IDF_DONT_USE_MIRRORS" ]]; then
export IDF_MIRROR_PREFIX_MAP=
fi
# Optimize pip install
if echo "${CI_RUNNER_TAGS}" | grep "shiny"; then
export PIP_INDEX_URL="${PIP_INDEX_URL_SHINY}"
fi
if [[ "$(uname -m)" == "x86_64" ]] || [[ "$(uname -m)" == "aarch64" ]]; then
export IDF_PIP_WHEELS_URL=""
fi
# install.sh
if [[ "${CI_JOB_STAGE}" != "target_test" ]]; then
section_start "running_install_sh" "Running install.sh"
if [[ "${CI_JOB_STAGE}" == "build_doc" ]]; then
run_cmd bash install.sh --enable-ci --enable-docs
else
run_cmd bash install.sh --enable-ci
fi
section_end "running_install_sh"
# install latest python packages
# target test jobs
if [[ "${CI_JOB_STAGE}" == "target_test" ]]; then
run_cmd bash install.sh --enable-ci --enable-pytest
elif [[ "${CI_JOB_STAGE}" == "build_doc" ]]; then
run_cmd bash install.sh --enable-ci --enable-docs
elif [[ "${CI_JOB_STAGE}" == "build" ]]; then
run_cmd bash install.sh --enable-ci --enable-pytest
else
section_start "install_python_env" "Install Python environment, skip required tools check"
run_cmd python tools/idf_tools.py install-python-env --features ci,test-specific
export IDF_SKIP_TOOLS_CHECK=1
section_end "install_python_env"
if ! echo "${CI_JOB_NAME}" | egrep ".*pytest.*"; then
run_cmd bash install.sh --enable-ci
else
run_cmd bash install.sh --enable-ci --enable-pytest
fi
fi
if [[ ! -z "$INSTALL_EXTRA_TOOLS" ]]; then
section_start "installing_optional_tools" "Install optional tools ${INSTALL_EXTRA_TOOLS}"
$IDF_PATH/tools/idf_tools.py --non-interactive install $INSTALL_EXTRA_TOOLS
section_end "installing_optional_tools"
fi
# Install esp-clang if necessary (esp-clang is separately installed)
if [[ "$IDF_TOOLCHAIN" == "clang" && -z "$CI_CLANG_DISTRO_URL" ]]; then
# Install esp-clang if necessary
if [[ "$IDF_TOOLCHAIN" == "clang" ]]; then
$IDF_PATH/tools/idf_tools.py --non-interactive install esp-clang
fi
section_start "source_export" "Source export.sh"
source ./export.sh
section_end "source_export"
# Since the version 3.21 CMake passes source files and include dirs to ninja using absolute paths.
# Needed for pytest junit reports.
$IDF_PATH/tools/idf_tools.py --non-interactive install cmake
# Custom clang toolchain
if [[ "$IDF_TOOLCHAIN" == "clang" && ! -z "$CI_CLANG_DISTRO_URL" ]]; then
source ./export.sh
# Custom clang
if [[ ! -z "$CI_CLANG_DISTRO_URL" ]]; then
echo "Using custom clang from ${CI_CLANG_DISTRO_URL}"
wget $CI_CLANG_DISTRO_URL
ARCH_NAME=$(basename $CI_CLANG_DISTRO_URL)
@@ -214,15 +188,13 @@ variables:
rm -rf ${CI_PYTHON_TOOL_REPO}
fi
info "setup tools and python venv done"
.show_ccache_statistics: &show_ccache_statistics |
# Show ccache statistics if enabled globally
test "$CI_CCACHE_STATS" == 1 && test -n "$(which ccache)" && ccache --show-stats -vv || true
test "$CI_CCACHE_STATS" == 1 && test -n "$(which ccache)" && ccache --show-stats || true
.upload_failed_job_log_artifacts: &upload_failed_job_log_artifacts |
if [ $CI_JOB_STATUS = "failed" ]; then
run_cmd idf-ci gitlab upload-artifacts --type log
python tools/ci/artifacts_handler.py upload --type logs
fi
.before_script:minimal:
@@ -236,13 +208,12 @@ variables:
# Ensure pyenv and PYENV_VERSION installed
- eval "$(pyenv init -)"
- *common-before_scripts
# remove idf-env.json, since it may contains enabled "features"
- rm -f $IDF_TOOLS_PATH/idf-env.json
# On macOS, these tools need to be installed
- export IDF_TOOLS_PATH="${HOME}/.espressif_runner_${CI_RUNNER_ID}_${CI_CONCURRENT_ID}"
- $IDF_PATH/tools/idf_tools.py --non-interactive install cmake ninja
# This adds tools (compilers) and the version-specific Python environment to PATH
- *setup_tools_and_idf_python_venv
- fetch_submodules
variables:
INSTALL_EXTRA_TOOLS: cmake ninja
.after_script:build:macos:upload-failed-job-logs:ccache-show-stats:
after_script:
@@ -264,17 +235,7 @@ variables:
.after_script:build:ccache-show-stats:
after_script:
- source tools/ci/utils.sh
- section_start "ccache_show_stats" "Show ccache statistics"
- *show_ccache_statistics
- section_end "ccache_show_stats"
.after_script:build:ccache-show-stats:upload-failed-job-logs:
after_script:
- source tools/ci/utils.sh
- section_start "ccache_show_stats" "Show ccache statistics"
- *show_ccache_statistics
- section_end "ccache_show_stats"
- *upload_failed_job_log_artifacts
##############################
@@ -311,8 +272,8 @@ variables:
git remote add origin "${CI_REPOSITORY_URL}"
fi
.git_checkout_ci_commit_sha: &git_checkout_ci_commit_sha |
git checkout $CI_COMMIT_SHA
.git_checkout_fetch_head: &git_checkout_fetch_head |
git checkout FETCH_HEAD
git clean ${GIT_CLEAN_FLAGS}
# git diff requires two commits, with different CI env var
@@ -331,35 +292,27 @@ variables:
- *git_init
- *git_fetch_from_mirror_url_if_exists
- |
# Store the diff output in a temporary file
TEMP_FILE=$(mktemp)
# merged results pipelines, by default
if [[ -n $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA ]]; then
git fetch origin $CI_MERGE_REQUEST_TARGET_BRANCH_SHA
git fetch origin $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA
git diff --name-only $CI_MERGE_REQUEST_TARGET_BRANCH_SHA...$CI_MERGE_REQUEST_SOURCE_BRANCH_SHA > "$TEMP_FILE"
GIT_DIFF_OUTPUT=$(cat "$TEMP_FILE")
git fetch origin $CI_COMMIT_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
git fetch origin $CI_MERGE_REQUEST_DIFF_BASE_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
git fetch origin $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
export GIT_DIFF_OUTPUT=$(git diff --name-only $CI_MERGE_REQUEST_DIFF_BASE_SHA $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA)
# merge request pipelines, when the mr got conflicts
elif [[ -n $CI_MERGE_REQUEST_DIFF_BASE_SHA ]]; then
git fetch origin $CI_MERGE_REQUEST_DIFF_BASE_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
git fetch origin $CI_COMMIT_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
git diff --name-only $CI_MERGE_REQUEST_DIFF_BASE_SHA $CI_COMMIT_SHA > "$TEMP_FILE"
GIT_DIFF_OUTPUT=$(cat "$TEMP_FILE")
export GIT_DIFF_OUTPUT=$(git diff --name-only $CI_MERGE_REQUEST_DIFF_BASE_SHA $CI_COMMIT_SHA)
# other pipelines, like the protected branches pipelines
elif [[ "$CI_COMMIT_BEFORE_SHA" != "0000000000000000000000000000000000000000" ]]; then
git fetch origin $CI_COMMIT_BEFORE_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
git fetch origin $CI_COMMIT_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
git diff --name-only $CI_COMMIT_BEFORE_SHA $CI_COMMIT_SHA > "$TEMP_FILE"
GIT_DIFF_OUTPUT=$(cat "$TEMP_FILE")
export GIT_DIFF_OUTPUT=$(git diff --name-only $CI_COMMIT_BEFORE_SHA $CI_COMMIT_SHA)
else
# pipeline source could be web, scheduler, etc.
git fetch origin $CI_COMMIT_SHA --depth=2 ${GIT_FETCH_EXTRA_FLAGS}
git diff --name-only $CI_COMMIT_SHA~1 $CI_COMMIT_SHA > "$TEMP_FILE"
GIT_DIFF_OUTPUT=$(cat "$TEMP_FILE")
export GIT_DIFF_OUTPUT=$(git diff --name-only $CI_COMMIT_SHA~1 $CI_COMMIT_SHA)
fi
- *git_checkout_ci_commit_sha
- *git_checkout_fetch_head
- *common-before_scripts
- *setup_tools_and_idf_python_venv
- add_gitlab_ssh_keys
@@ -373,7 +326,7 @@ variables:
- *git_init
- *git_fetch_from_mirror_url_if_exists
- git fetch origin "${CI_COMMIT_SHA}" --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
- *git_checkout_ci_commit_sha
- *git_checkout_fetch_head
- *common-before_scripts
- *setup_tools_and_idf_python_venv
- add_gitlab_ssh_keys
@@ -386,15 +339,11 @@ default:
cache:
# pull only for most of the use cases since it's cache dir.
# Only set "push" policy for "upload_cache" stage jobs
- key: pip-cache-${LATEST_GIT_TAG}
fallback_keys:
- pip-cache
- key: pip-cache
paths:
- .cache/pip
policy: pull
- key: submodule-cache-${LATEST_GIT_TAG}
fallback_keys:
- submodule-cache
- key: submodule-cache
paths:
- .cache/submodule_archives
policy: pull
@@ -403,12 +352,6 @@ default:
- *setup_tools_and_idf_python_venv
- add_gitlab_ssh_keys
- fetch_submodules
# gitlab bug, setting them here doesn't work
# - expire_in: https://gitlab.com/gitlab-org/gitlab/-/issues/404563
# - when: https://gitlab.com/gitlab-org/gitlab/-/issues/440672
# artifacts:
# expire_in: 1 week
# when: always
retry:
max: 2
when:
-17
View File
@@ -1,17 +0,0 @@
# External DangerJS
include:
- project: espressif/shared-ci-dangerjs
ref: master
file: danger.yaml
run-danger-mr-linter:
stage: pre_check
variables:
GIT_STRATEGY: none # no repo checkout
ENABLE_CHECK_AREA_LABELS: 'true'
ENABLE_CHECK_DOCS_TRANSLATION: 'true'
ENABLE_CHECK_UPDATED_CHANGELOG: 'false'
before_script: []
cache: []
tags:
- dangerjs
+3 -6
View File
@@ -2,18 +2,15 @@
# - extra_default_build_targets:
# besides of the SUPPORTED_TARGETS in IDF,
# enable build for the specified targets by default as well.
# !!! DEPRECATED: use `additional_build_targets` in .idf_build_apps.toml instead
#
# - bypass_check_test_targets:
# suppress the check_build_test_rules check-test-script warnings for the specified targets
#
# This file should ONLY be used during bringup. Should be reset to empty after the bringup process
extra_default_build_targets:
- esp32p4
bypass_check_test_targets:
- esp32h21
- esp32h4
- esp32c5
- esp32p4
#
# These lines would
# - enable the README.md check for esp32c6. Don't forget to add the build jobs in .gitlab/ci/build.yml
+118 -13
View File
@@ -1,3 +1,18 @@
.all_targets: &all_targets
- esp32
- esp32s2
- esp32s3
- esp32c3
- esp32c2
- esp32c6
- esp32h2
- esp32p4
.target_test: &target_test
- example_test
- custom_test
- component_ut
##############
# Build Jobs #
##############
@@ -27,13 +42,13 @@
"build:macos":
labels:
# - build
- build
- macos
- macos_test # for backward compatibility
# patterns:
# - build_system
# - build_macos
# - downloadable-tools
patterns:
- build_system
- build_macos
- downloadable-tools
# ---------------------------
# Add patterns to build rules
@@ -50,6 +65,104 @@
included_in:
- build:check
# ---------------
# Build Test Jobs
# ---------------
"build:{0}-{1}":
matrix:
- *target_test
- *all_targets
labels:
- build
patterns:
- build_components
- build_system
- build_target_test
- downloadable-tools
included_in:
- "build:{0}"
- build:target_test
####################
# Target Test Jobs #
####################
"test:{0}-{1}":
matrix:
- *target_test
- *all_targets
labels: # For each rule, use labels <test_type> and <test_type>-<target>
- "{0}"
- "{0}_{1}"
- target_test
patterns: # For each rule, use patterns <test_type> and build-<test_type>
- "{0}"
- "build-{0}"
included_in: # Parent rules
- "build:{0}"
- "build:{0}-{1}"
- build:target_test
# -------------
# Special Cases
# -------------
# To reduce the specific runners' usage.
# Do not create these jobs by default patterns on development branches
# Can be triggered by labels or related changes
"test:{0}-{1}-{2}":
matrix:
- *target_test
- *all_targets
- - wifi # pytest*wifi*
- ethernet # pytest*ethernet*
- sdio # pytest*sdio*
- usb # USB Device & Host tests
- adc # pytest*adc*
- i154
- flash_multi
- ecdsa
- nvs_encr_hmac
patterns:
- "{0}-{1}-{2}"
- "{0}-{2}"
- "target_test-{2}"
labels:
- "{0}_{1}"
- "{0}"
- target_test
included_in:
- "build:{0}-{1}"
- "build:{0}"
- build:target_test
# For example_test*flash_encryption_wifi_high_traffic jobs
# set `INCLUDE_NIGHTLY_RUN` variable when triggered on development branches
"test:example_test-{0}-include_nightly_run-rule":
matrix:
- - esp32
- esp32c3
specific_rules:
- "if-example_test-ota-include_nightly_run-rule"
included_in:
- "build:example_test-{0}"
- "build:example_test"
- build:target_test
# For i154 runners
"test:example_test-i154":
patterns:
- "example_test-i154"
- "target_test-i154"
labels:
- target_test
- example_test
included_in:
- "build:example_test-esp32s3"
- "build:example_test-esp32c6"
- "build:example_test-esp32h2"
- "build:example_test"
- build:target_test
"test:host_test":
labels:
- host_test
@@ -68,11 +181,3 @@
"labels:nvs_coverage": # host_test
labels:
- nvs_coverage
"labels:windows_pytest_build_system":
labels:
- windows
specific_rules:
- if-schedule-test-build-system-windows
patterns:
- build_system_win
+10 -14
View File
@@ -3,6 +3,7 @@
image: $ESP_ENV_IMAGE
tags: [ deploy ]
# Check this before push_to_github
check_submodule_sync:
extends:
- .deploy_job_template
@@ -11,7 +12,8 @@ check_submodule_sync:
tags: [ brew, github_sync ]
retry: 2
variables:
GIT_STRATEGY: fetch # use brew local mirror first
# for brew runners, we always set GIT_STRATEGY to fetch
GIT_STRATEGY: fetch
SUBMODULES_TO_FETCH: "none"
PUBLIC_IDF_URL: "https://github.com/espressif/esp-idf.git"
dependencies: []
@@ -30,37 +32,31 @@ push_to_github:
extends:
- .deploy_job_template
- .before_script:minimal
- .rules:protected:deploy
- .rules:push_to_github
needs:
# submodule must be synced before pushing to github
- check_submodule_sync
tags: [ brew, github_sync ]
variables:
GIT_STRATEGY: fetch # use brew local mirror first
GIT_DEPTH: 0 # github needs full record of commits
# for brew runners, we always set GIT_STRATEGY to fetch
GIT_STRATEGY: fetch
# github also need full record of commits
GIT_DEPTH: 0
script:
- add_github_ssh_keys
- git remote remove github &>/dev/null || true
- git remote add github git@github.com:espressif/esp-idf.git
- tools/ci/push_to_github.sh
environment:
name: push_to_github_production
deployment_tier: production
url: "https://github.com/espressif/esp-idf"
deploy_update_SHA_in_esp-dockerfiles:
extends:
- .deploy_job_template
- .before_script:minimal
- .rules:protected:deploy
- .rules:protected-no_label-always
dependencies: []
variables:
GIT_DEPTH: 2
tags: [build, shiny]
tags: [ shiny, build ]
script:
- 'curl --header "PRIVATE-TOKEN: ${ESPCI_SCRIPTS_TOKEN}" -o create_MR_in_esp_dockerfile.sh $GITLAB_HTTP_SERVER/api/v4/projects/1260/repository/files/create_MR_in_esp_dockerfile%2Fcreate_MR_in_esp_dockerfile.sh/raw\?ref\=master'
- chmod +x create_MR_in_esp_dockerfile.sh
- ./create_MR_in_esp_dockerfile.sh
environment:
name: deploy_update_SHA_in_esp-dockerfiles_production
deployment_tier: production
+33 -22
View File
@@ -4,11 +4,11 @@
- "**/*.rst"
- "CONTRIBUTING.rst"
- "**/soc_caps.h"
- "**/Kconfig*"
.patterns-docs-partial: &patterns-docs-partial
- "components/**/*.h"
- "components/**/CMakeLists.txt"
- "components/**/Kconfig*"
- "components/**/CMakeList.txt"
- "components/**/sdkconfig*"
- "tools/tools.json"
- "tools/idf_tools.py"
@@ -19,9 +19,12 @@
.patterns-docs-preview: &patterns-docs-preview
- "docs/**/*"
.if-protected-check: &if-protected-check
.if-protected: &if-protected
if: '($CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_BRANCH =~ /^release\/v/ || $CI_COMMIT_TAG =~ /^v\d+\.\d+(\.\d+)?($|-)/)'
.if-protected-no_label: &if-protected-no_label
if: '($CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_BRANCH =~ /^release\/v/ || $CI_COMMIT_TAG =~ /^v\d+\.\d+(\.\d+)?($|-)/) && $BOT_TRIGGER_WITH_LABEL == null'
.if-qa-test-tag: &if-qa-test-tag
if: '$CI_COMMIT_TAG =~ /^qa-test/'
@@ -38,7 +41,7 @@
rules:
- <<: *if-qa-test-tag
when: never
- <<: *if-protected-check
- <<: *if-protected
- <<: *if-label-build_docs
- <<: *if-label-docs_full
- <<: *if-dev-push
@@ -58,10 +61,10 @@
check_readme_links:
extends:
- .pre_check_template
tags: ["amd64", "brew"]
tags: ["build", "amd64", "internet"]
allow_failure: true
rules:
- <<: *if-protected-check
- <<: *if-protected
- <<: *if-dev-push
changes: *patterns-example-readme
script:
@@ -85,15 +88,13 @@ check_docs_lang_sync:
artifacts: false
optional: true
script:
- if [ -n "${BREATHE_ALT_INSTALL_URL_PY39}" ]; then
pip uninstall -y breathe && pip install -U ${BREATHE_ALT_INSTALL_URL_PY39};
fi
- if [ -n "${BREATHE_ALT_INSTALL_URL}" ]; then pip uninstall -y breathe && pip install -U ${BREATHE_ALT_INSTALL_URL}; fi
- cd docs
- build-docs -t $DOCTGT -bs $DOC_BUILDERS -l $DOCLANG build
parallel:
matrix:
- DOCLANG: ["en", "zh_CN"]
DOCTGT: ["esp32", "esp32s2", "esp32s3", "esp32c3", "esp32c2", "esp32c6", "esp32c61", "esp32c5", "esp32h2", "esp32h4", "esp32h21", "esp32p4"]
DOCTGT: ["esp32", "esp32s2", "esp32s3", "esp32c3", "esp32c2", "esp32c6", "esp32h2", "esp32p4"]
check_docs_gh_links:
image: $ESP_IDF_DOC_ENV_IMAGE
@@ -138,6 +139,19 @@ build_docs_html_partial:
- DOCLANG: "zh_CN"
DOCTGT: "esp32p4"
build_docs_pdf:
extends:
- .build_docs_template
- .doc-rules:build:docs-full
artifacts:
when: always
paths:
- docs/_build/*/*/latex/*
expire_in: 4 days
allow_failure: true # TODO IDFCI-2216
variables:
DOC_BUILDERS: "latex"
.deploy_docs_template:
image: $ESP_IDF_DOC_ENV_IMAGE
variables:
@@ -148,8 +162,8 @@ build_docs_html_partial:
GIT_DEPTH: 0
stage: test_deploy
tags:
- brew
- amd64
- deploy
- shiny
script:
# ensure all tags are fetched, need to know the latest/stable tag for the docs
- git fetch --tags --prune
@@ -171,6 +185,8 @@ deploy_docs_preview:
optional: true
- job: build_docs_html_full
optional: true
- job: build_docs_pdf
optional: true
variables:
TYPE: "preview"
# older branches use DOCS_DEPLOY_KEY, DOCS_SERVER, DOCS_SERVER_USER, DOCS_PATH for preview server so we keep these names for 'preview'
@@ -179,21 +195,19 @@ deploy_docs_preview:
DOCS_DEPLOY_SERVER_USER: "$DOCS_SERVER_USER"
DOCS_DEPLOY_PATH: "$DOCS_PATH"
DOCS_DEPLOY_URL_BASE: "https://$DOCS_PREVIEW_SERVER_URL/docs/esp-idf"
environment:
name: deploy_docs_preview
deployment_tier: staging
url: "https://$DOCS_PREVIEW_SERVER_URL/docs/esp-idf"
# stage: post_deploy
deploy_docs_production:
# The DOCS_PROD_* variables used by this job are "Protected" so these branches must all be marked "Protected" in Gitlab settings
extends:
- .deploy_docs_template
- .rules:protected:deploy
rules:
- <<: *if-protected-no_label
stage: post_deploy
dependencies: # set dependencies to null to avoid missing artifacts issue
needs: # ensure runs after push_to_github succeeded
- build_docs_html_full
- build_docs_pdf
- job: push_to_github
artifacts: false
variables:
@@ -204,15 +218,12 @@ deploy_docs_production:
DOCS_DEPLOY_PATH: "$DOCS_PROD_PATH"
DOCS_DEPLOY_URL_BASE: "https://docs.espressif.com/projects/esp-idf"
DEPLOY_STABLE: 1
environment:
name: deploy_docs_production
deployment_tier: production
url: "https://docs.espressif.com/projects/esp-idf"
check_doc_links:
extends:
- .build_docs_template
- .rules:protected:deploy
rules:
- <<: *if-protected-no_label
stage: post_deploy
needs:
- job: deploy_docs_production
+104 -157
View File
@@ -2,7 +2,8 @@
extends: .rules:test:host_test
stage: host_test
image: $ESP_ENV_IMAGE
tags: [build, shiny]
tags:
- host_test
dependencies: # set dependencies to null to avoid missing artifacts issue
# run host_test jobs immediately, only after upload cache
needs:
@@ -13,27 +14,12 @@
optional: true
artifacts: false
- pipeline_variables
artifacts:
expire_in: 1 week
when: always
check_public_headers:
extends:
- .host_test_template
- .rules:build:check
test_nvs_on_host:
extends: .host_test_template
script:
- IDF_TARGET=esp32 python tools/ci/check_public_headers.py --jobs 4 --prefix xtensa-esp32-elf-
- IDF_TARGET=esp32s2 python tools/ci/check_public_headers.py --jobs 4 --prefix xtensa-esp32s2-elf-
- IDF_TARGET=esp32s3 python tools/ci/check_public_headers.py --jobs 4 --prefix xtensa-esp32s3-elf-
- IDF_TARGET=esp32c3 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32c2 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32c6 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32c5 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32h2 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32p4 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32c61 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32h21 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32h4 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- cd components/nvs_flash/test_nvs_host
- make test
test_nvs_coverage:
extends:
@@ -41,10 +27,11 @@ test_nvs_coverage:
- .rules:labels:nvs_coverage
artifacts:
paths:
- components/nvs_flash/host_test/nvs_host_test/coverage_report
- components/nvs_flash/test_nvs_host/coverage_report
expire_in: 1 week
script:
- cd components/nvs_flash/host_test/nvs_host_test
- idf.py build coverage
- cd components/nvs_flash/test_nvs_host
- make coverage_report
# the 'long' host tests take approx 11 hours on our current runners. Adding some margin here for possible CPU contention
timeout: 18 hours
@@ -63,6 +50,23 @@ test_ldgen_on_host:
variables:
LC_ALL: C.UTF-8
test_reproducible_build:
extends: .host_test_template
script:
- ./tools/ci/test_reproducible_build.sh
artifacts:
when: on_failure
paths:
- "**/sdkconfig"
- "**/build*/*.bin"
- "**/build*/*.elf"
- "**/build*/*.map"
- "**/build*/flasher_args.json"
- "**/build*/*.bin"
- "**/build*/bootloader/*.bin"
- "**/build*/partition_table/*.bin"
expire_in: 1 week
test_spiffs_on_host:
extends: .host_test_template
script:
@@ -77,15 +81,36 @@ test_fatfsgen_on_host:
- ./test_wl_fatfsgen.py
- ./test_fatfsparse.py
test_multi_heap_on_host:
extends: .host_test_template
script:
- cd components/heap/test_multi_heap_host
- ./test_all_configs.sh
test_certificate_bundle_on_host:
extends: .host_test_template
script:
- cd components/mbedtls/esp_crt_bundle/test_gen_crt_bundle/
- ./test_gen_crt_bundle.py
test_gdbstub_on_host:
extends: .host_test_template
script:
- cd components/esp_gdbstub/test_gdbstub_host
- make test
test_idf_py:
extends: .host_test_template
variables:
LC_ALL: C.UTF-8
script:
- cd ${IDF_PATH}/tools/test_idf_py
- ./test_idf_py.py
- ./test_hints.py
# Test for create virtualenv. It must be invoked from Python, not from virtualenv.
# Use docker image system python without any extra dependencies
test_cli_installer:
test_idf_tools:
extends:
- .host_test_template
- .before_script:minimal
@@ -94,6 +119,7 @@ test_cli_installer:
paths:
- tools/tools.new.json
- tools/test_idf_tools/test_python_env_logs.txt
expire_in: 1 week
image:
name: $ESP_ENV_IMAGE
entrypoint: [""] # use system python3. no extra pip package installed
@@ -101,13 +127,11 @@ test_cli_installer:
# Tools must be downloaded for testing
# We could use "idf_tools.py download all", but we don't want to install clang because of its huge size
# cmake@version that is supported
- python3 ${IDF_PATH}/tools/idf_tools.py download required qemu-riscv32 qemu-xtensa cmake cmake@3.22.1
- python3 ${IDF_PATH}/tools/idf_tools.py download required qemu-riscv32 qemu-xtensa cmake cmake@3.16.3
- cd ${IDF_PATH}/tools/test_idf_tools
- python3 -m pip install jsonschema
- python3 ./test_idf_tools.py -v
- python3 ./test_idf_tools_python_env.py
# It runs at the end because it modifies dependencies
- IDF_TEST_MAY_BREAK_DEPENDENCIES=1 python3 ./test_idf_tools.py -v TestSystemDependencies.test_commands_when_nodeps
.test_efuse_table_on_host_template:
extends: .host_test_template
@@ -117,6 +141,7 @@ test_cli_installer:
when: on_failure
paths:
- components/efuse/${IDF_TARGET}/esp_efuse_table.c
expire_in: 1 week
script:
- cd ${IDF_PATH}/components/efuse/
- ./efuse_table_gen.py -t "${IDF_TARGET}" ${IDF_PATH}/components/efuse/${IDF_TARGET}/esp_efuse_table.csv
@@ -159,6 +184,7 @@ test_logtrace_proc:
paths:
- tools/esp_app_trace/test/logtrace/output
- tools/esp_app_trace/test/logtrace/.coverage
expire_in: 1 week
script:
- cd ${IDF_PATH}/tools/esp_app_trace/test/logtrace
- ./test.sh
@@ -170,48 +196,42 @@ test_sysviewtrace_proc:
paths:
- tools/esp_app_trace/test/sysview/output
- tools/esp_app_trace/test/sysview/.coverage
expire_in: 1 week
script:
- cd ${IDF_PATH}/tools/esp_app_trace/test/sysview
- ./test.sh
test_tools:
test_mkdfu:
extends: .host_test_template
variables:
LC_ALL: C.UTF-8
script:
- cd ${IDF_PATH}/tools/test_mkdfu
- ./test_mkdfu.py
test_autocomplete:
extends:
- .host_test_template
artifacts:
when: on_failure
paths:
- ${IDF_PATH}/*.out
- ${IDF_PATH}/XUNIT_*.xml
reports:
junit: ${IDF_PATH}/XUNIT_*.xml
variables:
LC_ALL: C.UTF-8
INSTALL_EXTRA_TOOLS: "qemu-xtensa qemu-riscv32" # for test_idf_qemu.py
expire_in: 1 week
script:
- ${IDF_PATH}/tools/ci/test_autocomplete.py
test_detect_python:
extends:
- .host_test_template
script:
- stat=0
- run_cmd idf-ci gitlab download-known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
- cd ${IDF_PATH}/tools/ci/test_autocomplete
- run_cmd pytest --noconftest test_autocomplete.py --junitxml=${IDF_PATH}/XUNIT_AUTOCOMP.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME} || stat=1
- cd ${IDF_PATH}/tools/test_idf_py
- run_cmd pytest --noconftest test_idf_py.py --junitxml=${IDF_PATH}/XUNIT_IDF_PY.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME} || stat=1
- run_cmd pytest --noconftest test_hints.py --junitxml=${IDF_PATH}/XUNIT_HINTS.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME} || stat=1
- run_cmd pytest --noconftest test_idf_qemu.py --junitxml=${IDF_PATH}/XUNIT_IDF_PY_QEMU.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME} || stat=1
- cd ${IDF_PATH}/tools/test_bsasm
- run_cmd pytest --noconftest test_bsasm.py --junitxml=${IDF_PATH}/XUNIT_BSASM.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME} || stat=1
- cd ${IDF_PATH}/tools/test_mkdfu
- run_cmd pytest --noconftest test_mkdfu.py --junitxml=${IDF_PATH}/XUNIT_MKDFU.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME} || stat=1
- cd ${IDF_PATH}/tools/test_idf_size
- run_cmd pytest --noconftest test_idf_size.py --junitxml=${IDF_PATH}/XUNIT_IDF_SIZE.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME} || stat=1
- cd ${IDF_PATH}/tools/test_idf_diag
- run_cmd pytest --noconftest test_idf_diag.py --junitxml=${IDF_PATH}/XUNIT_IDF_DIAG.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME} || stat=1
- cd ${IDF_PATH}
- shellcheck -s sh tools/detect_python.sh || stat=1
- shellcheck -s bash tools/detect_python.sh || stat=1
- shellcheck -s dash tools/detect_python.sh || stat=1
- shellcheck -s sh tools/detect_python.sh
- shellcheck -s bash tools/detect_python.sh
- shellcheck -s dash tools/detect_python.sh
- "bash -c '. tools/detect_python.sh && echo Our Python: ${ESP_PYTHON?Python is not set}'"
- "dash -c '. tools/detect_python.sh && echo Our Python: ${ESP_PYTHON?Python is not set}'"
- "zsh -c '. tools/detect_python.sh && echo Our Python: ${ESP_PYTHON?Python is not set}'"
- "fish -c 'source tools/detect_python.fish && echo Our Python: $ESP_PYTHON'"
- exit "$stat"
test_split_path_by_spaces:
extends: .host_test_template
@@ -219,9 +239,15 @@ test_split_path_by_spaces:
- cd ${IDF_PATH}/tools
- python -m unittest split_paths_by_spaces.py
test_mqtt_on_host:
extends: .host_test_template
script:
- cd ${IDF_PATH}/components/mqtt/esp-mqtt/host_test
- idf.py build
- LSAN_OPTIONS=verbosity=1:log_threads=1 build/host_mqtt_client_test.elf
test_transport_on_host:
extends: .host_test_template
allow_failure: true # IDFCI-2781 [v5.5, v5.4] test_transport_on_host fails on ubuntu 24.04
script:
- cd ${IDF_PATH}/components/tcp_transport/host_test
- idf.py build
@@ -262,140 +288,61 @@ test_pytest_qemu:
extends:
- .host_test_template
- .before_script:build
image: $QEMU_IMAGE
artifacts:
when: always
paths:
- XUNIT_RESULT.xml
- pytest-embedded/
- "**/build*/*.bin"
reports:
junit: XUNIT_RESULT.xml
expire_in: 1 week
allow_failure: true # IDFCI-1752
parallel:
matrix:
- IDF_TARGET: "esp32"
INSTALL_EXTRA_TOOLS: "qemu-xtensa"
# Skip Clang + Xtensa tests due to bootloader size issue
IDF_TOOLCHAIN: [gcc]
- IDF_TARGET: "esp32c3"
INSTALL_EXTRA_TOOLS: "qemu-riscv32"
IDF_TOOLCHAIN: [gcc, clang]
- IDF_TARGET: [esp32, esp32c3]
script:
- run_cmd idf-ci build run
--build-system cmake
- run_cmd python tools/ci/ci_build_apps.py . -vv
--target $IDF_TARGET
--pytest-apps
-m qemu
--modified-files ${MR_MODIFIED_FILES}
- run_cmd idf-ci gitlab download-known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
--collect-app-info "list_job_${CI_JOB_NAME_SLUG}.txt"
--modified-components ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
- python tools/ci/get_known_failure_cases_file.py
- run_cmd pytest
--target $IDF_TARGET
-m qemu
--embedded-services idf,qemu
--junitxml=XUNIT_RESULT.xml
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
--qemu-extra-args \"-global driver=timer.$IDF_TARGET.timg,property=wdt_disable,value=true\"
--app-info-filepattern \"list_job_*.txt\"
test_pytest_linux:
extends:
- .host_test_template
- .before_script:build
artifacts:
when: always
paths:
- XUNIT_RESULT.xml
- pytest-embedded/
- "**/build*/build_log.txt"
reports:
junit: XUNIT_RESULT.xml
expire_in: 1 week
script:
- run_cmd idf-ci build run
--build-system cmake
-p components -p examples -p tools/test_apps
- run_cmd python tools/ci/ci_build_apps.py components examples tools/test_apps -vv
--target linux
--only-test-related
--modified-files ${MR_MODIFIED_FILES}
- run_cmd idf-ci gitlab download-known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
--pytest-apps
-m host_test
--collect-app-info "list_job_${CI_JOB_NAME_SLUG}.txt"
--modified-components ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
- python tools/ci/get_known_failure_cases_file.py
- run_cmd pytest
--target linux
--embedded-services idf
-m host_test
--junitxml=XUNIT_RESULT.xml
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
test_pytest_macos:
extends:
- .host_test_template
- .before_script:build:macos
tags:
- macos
artifacts:
paths:
- XUNIT_RESULT.xml
- pytest-embedded/
- "**/build*/build_log.txt"
reports:
junit: XUNIT_RESULT.xml
variables:
PYENV_VERSION: "3.10"
# Workaround for a bug in Parallels executor where CI_PROJECT_DIR is not an absolute path,
# but a relative path to the build directory (builds/espressif/esp-idf instead of ~/builds/espressif/esp-idf.
# GitLab sets the project dir to this template `<builds_dir>/<namespace>/<project_name>`
IDF_PATH: "/Users/espressif/builds/espressif/esp-idf"
script:
- run_cmd idf-ci build run
-p components -p examples -p tools/test_apps
--build-system cmake
--target linux
--only-test-related
-m macos
--modified-files ${MR_MODIFIED_FILES}
- run_cmd idf-ci gitlab download-known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
- run_cmd pytest
--target linux
-m macos
--junitxml=XUNIT_RESULT.xml
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
test_idf_build_apps_load_soc_caps:
extends: .host_test_template
script:
- python tools/ci/check_soc_headers_load_in_idf_build_apps.py
test_nvs_gen_check:
extends: .host_test_template
artifacts:
paths:
- XUNIT_RESULT.xml
- components/nvs_flash/nvs_partition_tool
reports:
junit: XUNIT_RESULT.xml
variables:
LC_ALL: C.UTF-8
script:
- cd ${IDF_PATH}/components/nvs_flash/nvs_partition_tool
- pytest --noconftest test_nvs_gen_check.py --junitxml=XUNIT_RESULT.xml
test_esp_rom:
extends: .host_test_template
artifacts:
paths:
- XUNIT_RESULT.xml
reports:
junit: XUNIT_RESULT.xml
script:
- cd ${IDF_PATH}/components/esp_rom/
- pytest --noconftest test_esp_rom.py --junitxml=XUNIT_RESULT.xml
make_sure_soc_caps_compatible_in_idf_build_apps:
extends:
- .host_test_template
- .rules:dev-push
artifacts:
paths:
- new.json
- base.json
when: always
when: manual
script:
- python tools/ci/idf_build_apps_dump_soc_caps.py new.json
- git fetch --depth=1 origin $CI_MERGE_REQUEST_DIFF_BASE_SHA
- git checkout -f $CI_MERGE_REQUEST_DIFF_BASE_SHA
- git checkout $CI_COMMIT_SHA -- tools/ci/idf_build_apps_dump_soc_caps.py
- python tools/ci/idf_build_apps_dump_soc_caps.py base.json
- diff new.json base.json
--app-info-filepattern \"list_job_*.txt\"
+2 -5
View File
@@ -34,7 +34,8 @@ gen_integration_pipeline:
image: ${CI_INTEGRATION_ASSIGN_ENV}
stage: assign_test
cache: []
tags: [fast_run, shiny]
tags:
- assign_test
variables:
SUBMODULES_TO_FETCH: "none"
GIT_LFS_SKIP_SMUDGE: 1
@@ -46,7 +47,6 @@ gen_integration_pipeline:
paths:
- idf-integration-ci/child_pipeline/
expire_in: 2 weeks
when: always
script:
- add_gitlab_ssh_keys
- retry_failed git clone ${CI_GEN_INTEGRATION_PIPELINE_REPO} idf-integration-ci
@@ -60,9 +60,6 @@ child_integration_test_pipeline:
stage: assign_test
needs:
- gen_integration_pipeline
variables:
IDF_S3_SERVER: $IDF_S3_NEW_SERVER
IDF_S3_ACCESS_KEY: $IDF_S3_NEW_ACCESS_KEY
trigger:
include:
- artifact: idf-integration-ci/child_pipeline/pipeline.yml
-32
View File
@@ -1,32 +0,0 @@
.post_deploy_template:
stage: post_deploy
image: $ESP_ENV_IMAGE
generate_failed_jobs_report:
extends:
- .post_deploy_template
tags: [build, shiny]
when: always
dependencies: [] # Do not download artifacts from the previous stages
artifacts:
expire_in: 2 week
when: always
paths:
- job_report.html
script:
- python tools/ci/dynamic_pipelines/scripts/generate_report.py --report-type job
sync_support_status:
extends:
- .post_deploy_template
- .rules:master:push
tags: [ brew, github_sync ]
needs:
- push_to_github
cache: []
before_script: []
script:
- curl --fail --request POST --form token="$IDF_STATUS_TRIG_TOKEN" --form ref="$IDF_STATUS_BRANCH" --form "variables[UPLOAD_TO_S3]=true" "$IDF_STATUS_TRIG_URL"
environment:
name: sync_support_status_production
deployment_tier: production
+83 -78
View File
@@ -1,15 +1,55 @@
.pre_check_template:
stage: pre_check
image: $ESP_ENV_IMAGE
tags: [build, shiny]
dependencies: # set dependencies to null to avoid missing artifacts issue
tags:
- host_test
dependencies: []
check_pre_commit:
extends:
- .pre_check_template
- .before_script:minimal
image: $PRE_COMMIT_IMAGE
needs:
- pipeline_variables
script:
- fetch_submodules
- pre-commit run --files $MODIFIED_FILES
- pre-commit run --hook-stage post-commit validate-sbom-manifest
check_MR_style_dangerjs:
extends:
- .pre_check_template
image: node:18.15.0-alpine3.16
variables:
DANGER_GITLAB_API_TOKEN: ${ESPCI_TOKEN}
DANGER_GITLAB_HOST: ${GITLAB_HTTP_SERVER}
DANGER_GITLAB_API_BASE_URL: ${GITLAB_HTTP_SERVER}/api/v4
DANGER_JIRA_USER: ${DANGER_JIRA_USER}
DANGER_JIRA_PASSWORD: ${DANGER_JIRA_PASSWORD}
cache:
# pull only for most of the use cases since it's cache dir.
# Only set "push" policy for "upload_cache" stage jobs
key:
files:
- .gitlab/dangerjs/package-lock.json
paths:
- .gitlab/dangerjs/node_modules/
policy: pull
before_script:
- cd .gitlab/dangerjs
- npm install --no-progress --no-update-notifier # Install danger dependencies
script:
- npx danger ci --failOnErrors -v
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
check_version:
# Don't run this for feature/bugfix branches, so that it is possible to modify
# esp_idf_version.h in a branch before tagging the next version.
extends:
- .pre_check_template
- .rules:protected:check
- .rules:protected
tags: [ brew, github_sync ]
variables:
# need a full clone to get the latest tag
@@ -24,8 +64,7 @@ check_version:
check_api_usage:
extends: .pre_check_template
script:
- python -m pip install ast-grep-cli # use ast-grep to describe customized lint rules
- ast-grep scan
- tools/ci/check_examples_rom_header.sh
- tools/ci/check_api_violation.sh
- tools/ci/check_examples_extra_component_dirs.sh
@@ -43,9 +82,6 @@ check_blobs:
- IDF_TARGET=esp32c2 $IDF_PATH/components/esp_wifi/test_md5/test_md5.sh
- IDF_TARGET=esp32c3 $IDF_PATH/components/esp_wifi/test_md5/test_md5.sh
- IDF_TARGET=esp32c6 $IDF_PATH/components/esp_wifi/test_md5/test_md5.sh
- IDF_TARGET=esp32c5 $IDF_PATH/components/esp_wifi/test_md5/test_md5.sh
- IDF_TARGET=esp32c61 $IDF_PATH/components/esp_wifi/test_md5/test_md5.sh
- IDF_TARGET=esp32_host $IDF_PATH/components/esp_wifi/test_md5/test_md5.sh
# Check if Coexistence library header files match between IDF and the version used when compiling the libraries
- IDF_TARGET=esp32 $IDF_PATH/components/esp_coex/test_md5/test_md5.sh
- IDF_TARGET=esp32s2 $IDF_PATH/components/esp_coex/test_md5/test_md5.sh
@@ -54,11 +90,23 @@ check_blobs:
- IDF_TARGET=esp32c3 $IDF_PATH/components/esp_coex/test_md5/test_md5.sh
- IDF_TARGET=esp32c6 $IDF_PATH/components/esp_coex/test_md5/test_md5.sh
- IDF_TARGET=esp32h2 $IDF_PATH/components/esp_coex/test_md5/test_md5.sh
- IDF_TARGET=esp32c5 $IDF_PATH/components/esp_coex/test_md5/test_md5.sh
- IDF_TARGET=esp32c61 $IDF_PATH/components/esp_coex/test_md5/test_md5.sh
# Check if Wi-Fi, PHY, BT blobs contain references to specific symbols
- bash $IDF_PATH/tools/ci/check_blobs.sh
check_public_headers:
extends:
- .pre_check_template
- .rules:build:check
script:
- IDF_TARGET=esp32 python tools/ci/check_public_headers.py --jobs 4 --prefix xtensa-esp32-elf-
- IDF_TARGET=esp32s2 python tools/ci/check_public_headers.py --jobs 4 --prefix xtensa-esp32s2-elf-
- IDF_TARGET=esp32s3 python tools/ci/check_public_headers.py --jobs 4 --prefix xtensa-esp32s3-elf-
- IDF_TARGET=esp32c3 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32c2 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32c6 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32h2 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32p4 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
check_chip_support_components:
extends:
- .pre_check_template
@@ -71,7 +119,7 @@ check_chip_support_components:
expire_in: 1 week
script:
- python tools/ci/check_soc_headers_leak.py
- find ${IDF_PATH}/components/soc/**/include/soc/ ${IDF_PATH}/components/soc/**/register/soc/ -name "*_struct.h" -print0 | xargs -0 -n1 ./tools/ci/check_soc_struct_headers.py
- find ${IDF_PATH}/components/soc/*/include/soc/ -name "*_struct.h" -print0 | xargs -0 -n1 ./tools/ci/check_soc_struct_headers.py
- tools/ci/check_esp_memory_utils_headers.sh
check_esp_err_to_name:
@@ -112,92 +160,49 @@ check_version_tag:
script:
- (git cat-file -t $CI_COMMIT_REF_NAME | grep tag) || (echo "ESP-IDF versions must be annotated tags." && exit 1)
check_artifacts_expire_time:
extends: .pre_check_template
script:
# check if we have set expire time for all artifacts
- python tools/ci/check_artifacts_expire_time.py
check_test_scripts_build_test_rules:
extends:
- .pre_check_template
- .before_script:build
script:
# requires basic pytest dependencies
# required pytest related packages
- run_cmd bash install.sh --enable-pytest
- python tools/ci/check_build_test_rules.py check-test-scripts examples/ tools/test_apps components
check_configure_ci_environment_parsing:
extends:
- .pre_check_template
- .before_script:build
- .rules:build
script:
- cd tools/ci
- python -m unittest ci_build_apps.py
pipeline_variables:
extends:
- .pre_check_template
- .before_script:fetch:git_diff
tags: [fast_run, shiny]
tags:
- build
script:
# MODIFIED_FILES is a list of files that changed, could be used everywhere
- MODIFIED_FILES=$(echo "$GIT_DIFF_OUTPUT" | xargs)
- echo "MODIFIED_FILES=$MODIFIED_FILES" >> pipeline.env
# MR_MODIFIED_FILES and MR_MODIFIED_COMPONENTS are semicolon separated lists that is used in MR only
# for non MR pipeline, these are empty lists
- echo "MODIFIED_COMPONENTS=$(run_cmd python tools/ci/ci_get_mr_info.py components --modified-files $MODIFIED_FILES | xargs)" >> pipeline.env
- |
if [ -z "$CI_MERGE_REQUEST_IID" ]; then
echo "MR_MODIFIED_FILES=\"\"" >> pipeline.env
echo "MR_MODIFIED_COMPONENTS=\"\"" >> pipeline.env
else
MR_MODIFIED_FILES=$(echo "$GIT_DIFF_OUTPUT" | tr '\n' ';')
echo "MR_MODIFIED_FILES=\"$MR_MODIFIED_FILES\"" >> pipeline.env
MR_MODIFIED_COMPONENTS=$(run_cmd python tools/ci/ci_get_mr_info.py components --modified-files $MODIFIED_FILES | tr '\n' ';')
echo "MR_MODIFIED_COMPONENTS=\"$MR_MODIFIED_COMPONENTS\"" >> pipeline.env
fi
- |
if [ -n "$PIPELINE_COMMIT_SHA" ]; then
echo "PIPELINE_COMMIT_SHA=$PIPELINE_COMMIT_SHA" >> pipeline.env
if echo "$CI_MERGE_REQUEST_LABELS" | egrep "(^|,)BUILD_AND_TEST_ALL_APPS(,|$)"; then
echo "BUILD_AND_TEST_ALL_APPS=1" >> pipeline.env
fi
- echo "OOCD_DISTRO_URL_ARMHF=$OOCD_DISTRO_URL_ARMHF" >> pipeline.env
- echo "OOCD_DISTRO_URL_ARM64=$OOCD_DISTRO_URL_ARM64" >> pipeline.env
- run_cmd idf-ci gitlab pipeline-variables >> pipeline.env
- cat pipeline.env
- run_cmd idf-ci gitlab upload-artifacts --type env
- python tools/ci/artifacts_handler.py upload --type modified_files_and_components_report
artifacts:
reports:
dotenv: pipeline.env
paths:
- pipeline.env
expire_in: 1 week
when: always
baseline_manifest_sha:
extends:
- .pre_check_template
- .rules:dev-push
tags: [fast_run, shiny]
script:
- |
# merged results pipelines, by default
# diff between target-branch-head and merged-result-head
if [ -n "$CI_MERGE_REQUEST_TARGET_BRANCH_SHA" ]; then
git fetch origin $CI_MERGE_REQUEST_TARGET_BRANCH_SHA --depth=1
git checkout FETCH_HEAD
idf-build-apps dump-manifest-sha \
--manifest-files $(find . -name ".build-test-rules.yml" | xargs) \
--output .manifest_sha
# merge request pipelines, when the mr got conflicts
# diff between diff-base-sha and merge-request-head
elif [ -n "$CI_MERGE_REQUEST_DIFF_BASE_SHA" ]; then
git fetch origin $CI_MERGE_REQUEST_DIFF_BASE_SHA --depth=1
git checkout FETCH_HEAD
idf-build-apps dump-manifest-sha \
--manifest-files $(find . -name ".build-test-rules.yml" | xargs) \
--output .manifest_sha
# other pipelines, like the protected branches pipelines
# not triggered in this job
fi
artifacts:
paths:
- .manifest_sha
expire_in: 1 week
when: always
redundant_pass_job:
extends:
- .pre_check_template
tags: [shiny, fast_run]
cache: []
variables:
GIT_STRATEGY: none
before_script: []
script:
- echo "This job is redundant to ensure the 'retry_failed_jobs' job can exist and not be skipped"
expire_in: 4 days
-58
View File
@@ -1,58 +0,0 @@
.check_pre_commit_template:
extends:
- .before_script:minimal
stage: pre_check
image: "${CI_DOCKER_REGISTRY}/esp-idf-pre-commit:2"
tags: [pre-commit]
variables:
# Both shiny and brew runners can pick this job
GIT_STRATEGY: fetch
GIT_DEPTH: 1
SUBMODULES_TO_FETCH: "all"
needs:
- pipeline_variables
script:
- fetch_submodules
- pre-commit run --files $MODIFIED_FILES
- pre-commit run --hook-stage post-commit validate-sbom-manifest
check_pre_commit:
extends:
- .check_pre_commit_template
rules:
- if: '($CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_BRANCH =~ /^release\/v/) && $CI_PIPELINE_SOURCE == "push"'
when: never
- when: on_success
cache:
- key: submodule-cache-${LATEST_GIT_TAG}
paths:
- .cache/submodule_archives
policy: pull
check_powershell:
extends:
- .before_script:minimal
stage: pre_check
image: docker:latest
services:
- docker:dind
tags:
- dind
- amd64
- brew # faster "apk add"
needs:
- pipeline_variables
variables:
# brew runners always use fetch
GIT_STRATEGY: fetch
GIT_DEPTH: 1
SUBMODULES_TO_FETCH: "none"
rules:
- changes:
- "*.ps1"
- ".gitlab/ci/pre_commit.yml"
script:
- apk add python3
- apk add py3-pip
- pip install pre-commit --break-system-packages
- pre-commit run --hook-stage manual check-powershell-scripts --files $MODIFIED_FILES
-15
View File
@@ -1,15 +0,0 @@
retry_failed_jobs:
stage: retry_failed_jobs
tags: [shiny, fast_run]
allow_failure: true
image: $ESP_ENV_IMAGE
dependencies: null
before_script: []
cache: []
extends: []
script:
- echo "Retrieving and retrying all failed jobs for the pipeline..."
- python tools/ci/python_packages/gitlab_api.py retry_failed_jobs $CI_MERGE_REQUEST_PROJECT_ID --pipeline_id $CI_PIPELINE_ID
when: manual
needs:
- redundant_pass_job
+2253 -87
View File
File diff suppressed because it is too large Load Diff
+21 -82
View File
@@ -6,8 +6,8 @@ clang_tidy_check:
artifacts:
paths:
- clang_tidy_reports/
expire_in: 1 week
when: always
expire_in: 1 day
variables:
IDF_TOOLCHAIN: clang
script:
@@ -16,84 +16,23 @@ clang_tidy_check:
--limit-file tools/ci/static-analysis-rules.yml
--xtensa-include-dir
#
## build stage
## Sonarqube related jobs put here for this reason:
## Here we have two jobs. code_quality_check and code_quality_report.
##
## code_quality_check will analyze the code changes between your MR and
## code repo stored in sonarqube server. The analysis result is only shown in
## the comments under this MR and won't be transferred to the server.
##
## code_quality_report will analyze and transfer both of the newly added code
## and the analysis result to the server.
##
## Put in the front to ensure that the newly merged code can be stored in
## sonarqube server ASAP, in order to avoid reporting unrelated code issues
#.sonar_scan_template:
# stage: build
# extends: .pre_check_template
# # full clone since this image does not support fetch --shallow-since-cutoff
# # shiny runners are used for full clone
# tags: [build, shiny]
# image: $SONARQUBE_SCANNER_IMAGE
# before_script:
# - source tools/ci/utils.sh
# - export PYTHONPATH="$CI_PROJECT_DIR/tools:$CI_PROJECT_DIR/tools/ci/python_packages:$PYTHONPATH"
# - fetch_submodules
# # Exclude the submodules, all paths ends with /**
# - submodules=$(get_all_submodules)
# # get all exclude paths specified in tools/ci/sonar_exclude_list.txt | ignore lines start with # | xargs | replace all <space> to <comma>
# - custom_excludes=$(cat $CI_PROJECT_DIR/tools/ci/sonar_exclude_list.txt | grep -v '^#' | xargs | sed -e 's/ /,/g')
# # Exclude the report dir as well
# - export EXCLUSIONS="$custom_excludes,$submodules"
# - export SONAR_SCANNER_OPTS="-Xmx2048m"
# variables:
# GIT_DEPTH: 0
# REPORT_PATTERN: clang_tidy_reports/**/*.txt
# artifacts:
# paths:
# - $REPORT_PATTERN
# expire_in: 1 week
# when: always
# dependencies: # Here is not a hard dependency relationship, could be skipped when only python files changed. so we do not use "needs" here.
# - clang_tidy_check
#
#code_quality_check:
# extends:
# - .sonar_scan_template
# - .rules:patterns:static-code-analysis-preview
# allow_failure: true # it's using exit code to indicate the code analysis result,
# # we don't want to block ci when critical issues founded
# script:
# - export CI_MERGE_REQUEST_COMMITS=$(python ${CI_PROJECT_DIR}/tools/ci/ci_get_mr_info.py commits --src-branch ${CI_COMMIT_REF_NAME} | tr '\n' ',')
# # test if this branch have merge request, if not, exit 0
# - test -n "$CI_MERGE_REQUEST_IID" || exit 0
# - test -n "$CI_MERGE_REQUEST_COMMITS" || exit 0
# - sonar-scanner
# -Dsonar.analysis.mode=preview
# -Dsonar.branch.name=$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
# -Dsonar.cxx.clangtidy.reportPath=$REPORT_PATTERN
# -Dsonar.exclusions=$EXCLUSIONS
# -Dsonar.gitlab.ci_merge_request_iid=$CI_MERGE_REQUEST_IID
# -Dsonar.gitlab.commit_sha=$CI_MERGE_REQUEST_COMMITS
# -Dsonar.gitlab.merge_request_discussion=true
# -Dsonar.gitlab.ref_name=$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
# -Dsonar.host.url=$SONAR_HOST_URL
# -Dsonar.login=$SONAR_LOGIN
#
#code_quality_report:
# extends:
# - .sonar_scan_template
# - .rules:protected:check
# allow_failure: true # it's using exit code to indicate the code analysis result,
# # we don't want to block ci when critical issues founded
# script:
# - sonar-scanner
# -Dsonar.branch.name=$CI_COMMIT_REF_NAME
# -Dsonar.cxx.clangtidy.reportPath=$REPORT_PATTERN
# -Dsonar.exclusions=$EXCLUSIONS
# -Dsonar.gitlab.commit_sha=$PIPELINE_COMMIT_SHA
# -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME
# -Dsonar.host.url=$SONAR_HOST_URL
# -Dsonar.login=$SONAR_LOGIN
check_pylint:
extends:
- .pre_check_template
- .rules:patterns:python-files
needs:
- pipeline_variables
artifacts:
when: always
reports:
codequality: pylint.json
expire_in: 1 week
script:
- |
if [ -n "$CI_MERGE_REQUEST_IID" ]; then
export files=$(echo "$GIT_DIFF_OUTPUT" | grep ".py$" | xargs);
else
export files=$(git ls-files "*.py" | xargs);
fi
- if [ -z "$files" ]; then echo "No python files found"; exit 0; fi
- run_cmd pylint --exit-zero --load-plugins=pylint_gitlab --output-format=gitlab-codeclimate:pylint.json $files
File diff suppressed because it is too large Load Diff
-138
View File
@@ -1,138 +0,0 @@
# Host tests
.host_test_win_template:
extends: .rules:test:host_test
stage: host_test
image: $ESP_ENV_IMAGE
tags: [windows-build, brew]
dependencies: # set dependencies to null to avoid missing artifacts issue
# run host_test jobs immediately, only after upload cache
needs:
- job: upload-pip-cache
optional: true
artifacts: false
- job: upload-submodules-cache
optional: true
artifacts: false
variables:
GIT_STRATEGY: fetch # use brew local mirror first
before_script:
- if ($env:IDF_DONT_USE_MIRRORS) {
$env:IDF_MIRROR_PREFIX_MAP = ""
}
after_script: []
test_cli_installer_win:
rules:
- when: never
extends:
- .host_test_win_template
- .rules:labels:windows_pytest_build_system
allow_failure: true
artifacts:
when: on_failure
paths:
- tools/tools.new.json
- tools/test_idf_tools/test_python_env_logs.txt
expire_in: 1 week
variables:
IDF_PATH: "$CI_PROJECT_DIR"
timeout: 3h
script:
# Tools must be downloaded for testing
# cmake@version that is supported
- python ${IDF_PATH}\tools\idf_tools.py download required qemu-riscv32 qemu-xtensa cmake cmake@3.22.1
- cd ${IDF_PATH}\tools\test_idf_tools
- python -m pip install jsonschema
- python .\test_idf_tools.py
- python .\test_idf_tools_python_env.py
test_tools_win:
extends:
- .host_test_win_template
- .rules:labels:windows_pytest_build_system
parallel: 4
artifacts:
paths:
- ${IDF_PATH}/*.out
- ${IDF_PATH}/XUNIT_*.xml
reports:
junit: ${IDF_PATH}/XUNIT_*.xml
expire_in: 1 week
when: always
variables:
LC_ALL: C.UTF-8
PYTHONPATH: "$PYTHONPATH;$IDF_PATH\\tools;$IDF_PATH\\tools\\esp_app_trace;$IDF_PATH\\components\\partition_table;$IDF_PATH\\tools\\ci\\python_packages"
script:
- python -m pip install jsonschema
- .\install.ps1 --enable-ci
- .\export.ps1
- python "${SUBMODULE_FETCH_TOOL}" -s "all"
- cd ${IDF_PATH}/tools/test_idf_py
- idf-ci gitlab download-known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
- pytest --parallel-count ${CI_NODE_TOTAL} --parallel-index ${CI_NODE_INDEX} --junitxml=${IDF_PATH}/XUNIT_RESULT.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
# Build tests
.test_build_system_template_win:
stage: host_test
variables:
# Enable ccache for all build jobs. See configure_ci_environment.sh for more ccache related settings.
IDF_CCACHE_ENABLE: "1"
PYTHONPATH: "$PYTHONPATH;$IDF_PATH\\tools;$IDF_PATH\\tools\\esp_app_trace;$IDF_PATH\\components\\partition_table;$IDF_PATH\\tools\\ci\\python_packages"
before_script: []
after_script: []
timeout: 4 hours
script:
- .\install.ps1 --enable-ci
- . .\export.ps1
- python "${SUBMODULE_FETCH_TOOL}" -s "all"
- cd ${IDF_PATH}\tools\test_build_system
- idf-ci gitlab download-known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
- pytest --parallel-count ${CI_NODE_TOTAL} --parallel-index ${CI_NODE_INDEX} --junitxml=${CI_PROJECT_DIR}\XUNIT_RESULT.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
pytest_build_system_win:
extends:
- .test_build_system_template_win
- .rules:labels:windows_pytest_build_system
parallel: 6
needs: []
tags: [windows-build, brew]
artifacts:
paths:
- XUNIT_RESULT.xml
- test_build_system
expire_in: 2 days
reports:
junit: XUNIT_RESULT.xml
when: always
pytest_build_system_win_minimal_cmake:
extends:
- .test_build_system_template_win
- .rules:labels:windows_pytest_build_system
needs: []
tags: [windows-build, brew]
artifacts:
paths:
- XUNIT_RESULT.xml
- test_build_system
expire_in: 2 days
reports:
junit: XUNIT_RESULT.xml
when: always
variables:
MINIMAL_CMAKE_VERSION: "3.22.1"
script:
- .\install.ps1 --enable-ci
- . .\export.ps1
- python ${IDF_PATH}\tools\idf_tools.py install cmake@${MINIMAL_CMAKE_VERSION}
- $Env:PATH = "$Env:USERPROFILE\.espressif\tools\cmake\${MINIMAL_CMAKE_VERSION}\bin;$Env:PATH"
- |
$actualVersion = (& cmake --version).Split()[2]
if ($actualVersion -ne $Env:MINIMAL_CMAKE_VERSION) {
Write-Error "ERROR: Wrong CMake version! Detected: $actualVersion, but expected: $Env:MINIMAL_CMAKE_VERSION"
exit 1
}
- python "${SUBMODULE_FETCH_TOOL}" -s "all"
- cd ${IDF_PATH}\tools\test_build_system
- idf-ci gitlab download-known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
- pytest -k cmake --junitxml=${CI_PROJECT_DIR}\XUNIT_RESULT.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
+29 -5
View File
@@ -10,18 +10,18 @@ upload-pip-cache:
extends:
- .upload_cache_template
- .before_script:minimal
- .rules:upload-python-cache
- .rules:patterns:python-cache
tags:
- $GEO
- cache
cache:
key: pip-cache-${LATEST_GIT_TAG}
key: pip-cache
paths:
- .cache/pip
policy: push
script:
- rm -rf .cache/pip # clear old packages
- bash install.sh --enable-ci --enable-test-specific
- bash install.sh --enable-ci --enable-pytest
parallel:
matrix:
- GEO: [ 'shiny', 'brew' ]
@@ -30,12 +30,12 @@ upload-submodules-cache:
extends:
- .upload_cache_template
- .before_script:minimal
- .rules:upload-submodule-cache
- .rules:patterns:submodule
tags:
- $GEO
- cache
cache:
key: submodule-cache-${LATEST_GIT_TAG}
key: submodule-cache
paths:
- .cache/submodule_archives
policy: push
@@ -48,3 +48,27 @@ upload-submodules-cache:
parallel:
matrix:
- GEO: [ 'shiny', 'brew' ]
upload-danger-npm-cache:
stage: upload_cache
image: node:18.15.0-alpine3.16
extends:
- .rules:patterns:dangerjs
tags:
- $GEO
- cache
cache:
key:
files:
- .gitlab/dangerjs/package-lock.json
paths:
- .gitlab/dangerjs/node_modules/
policy: push
before_script:
- echo "Skip before scripts ...."
script:
- cd .gitlab/dangerjs
- npm install --no-progress --no-update-notifier
parallel:
matrix:
- GEO: [ 'shiny', 'brew' ]
+172
View File
@@ -0,0 +1,172 @@
const {
minimumSummaryChars,
maximumSummaryChars,
maximumBodyLineChars,
allowedTypes,
} = require("./mrCommitsConstants.js");
const { gptStandardModelTokens } = require("./mrCommitsConstants.js");
const { ChatPromptTemplate } = require("langchain/prompts");
const { SystemMessagePromptTemplate } = require("langchain/prompts");
const { LLMChain } = require("langchain/chains");
const { ChatOpenAI } = require("langchain/chat_models/openai");
const openAiTokenCount = require("openai-gpt-token-counter");
module.exports = async function () {
let outputDangerMessage = `\n\nPerhaps you could use an AI-generated suggestion for your commit message. Here is one `;
let mrDiff = await getMrGitDiff(danger.git.modified_files);
const mrCommitMessages = getCommitMessages(danger.gitlab.commits);
const inputPrompt = getInputPrompt();
const inputLlmTokens = getInputLlmTokens(
inputPrompt,
mrDiff,
mrCommitMessages
);
console.log(`Input tokens for LLM: ${inputLlmTokens}`);
if (inputLlmTokens >= gptStandardModelTokens) {
mrDiff = ""; // If the input mrDiff is larger than 16k model, don't use mrDiff, use only current commit messages
outputDangerMessage += `(based only on your current commit messages, git-diff of this MR is too big (${inputLlmTokens} tokens) for the AI models):\n\n`;
} else {
outputDangerMessage += `(based on your MR git-diff and your current commit messages):\n\n`;
}
// Generate AI commit message
let generatedCommitMessage = "";
try {
const rawCommitMessage = await createAiGitMessage(
inputPrompt,
mrDiff,
mrCommitMessages
);
generatedCommitMessage = postProcessCommitMessage(rawCommitMessage);
} catch (error) {
console.error("Error in generating AI commit message: ", error);
outputDangerMessage +=
"\nCould not generate commit message due to an error.\n";
}
// Append closing statements ("Closes https://github.com/espressif/esp-idf/issues/XXX") to the generated commit message
let closingStatements = extractClosingStatements(mrCommitMessages);
if (closingStatements.length > 0) {
generatedCommitMessage += "\n\n" + closingStatements;
}
// Add the generated git message, format to the markdown code block
outputDangerMessage += `\n\`\`\`\n${generatedCommitMessage}\n\`\`\`\n`;
outputDangerMessage +=
"\n**NOTE: AI-generated suggestions may not always be correct, please review the suggestion before using it.**"; // Add disclaimer
return outputDangerMessage;
};
async function getMrGitDiff(mrModifiedFiles) {
const fileDiffs = await Promise.all(
mrModifiedFiles.map((file) => danger.git.diffForFile(file))
);
return fileDiffs.map((fileDiff) => fileDiff.diff.trim()).join(" ");
}
function getCommitMessages(mrCommits) {
return mrCommits.map((commit) => commit.message);
}
function getInputPrompt() {
return `You are a helpful assistant that creates suggestions for single git commit message, that user can use to describe all the changes in their merge request.
Use git diff: {mrDiff} and users current commit messages: {mrCommitMessages} to get the changes made in the commit.
Output should be git commit message following the conventional commit format.
Output only git commit message in desired format, without comments and other text.
Do not include the closing statements ("Closes https://....") in the output.
Here are the strict rules you must follow:
- Avoid mentioning any JIRA tickets (e.g., "Closes JIRA-123").
- Be specific. Don't use vague terms (e.g., "some checks", "add new ones", "few changes").
- The commit message structure should be: <type><(scope/component)>: <summary>
- Types allowed: ${allowedTypes.join(", ")}
- If 'scope/component' is used, it must start with a lowercase letter.
- The 'summary' must NOT end with a period.
- The 'summary' must be between ${minimumSummaryChars} and ${maximumSummaryChars} characters long.
If a 'body' of commit message is used:
- Each line must be no longer than ${maximumBodyLineChars} characters.
- It must be separated from the 'summary' by a blank line.
Examples of correct commit messages:
- With scope and body:
fix(freertos): Fix startup timeout issue
This is a text of commit message body...
- adds support for wifi6
- adds validations for logging script
- Without scope and body:
ci: added target test job for ESP32-Wifi6`;
}
function getInputLlmTokens(inputPrompt, mrDiff, mrCommitMessages) {
const mrCommitMessagesTokens = openAiTokenCount(mrCommitMessages.join(" "));
const gitDiffTokens = openAiTokenCount(mrDiff);
const promptTokens = openAiTokenCount(inputPrompt);
return mrCommitMessagesTokens + gitDiffTokens + promptTokens;
}
async function createAiGitMessage(inputPrompt, mrDiff, mrCommitMessages) {
const chat = new ChatOpenAI({ engine: "gpt-3.5-turbo", temperature: 0 });
const chatPrompt = ChatPromptTemplate.fromPromptMessages([
SystemMessagePromptTemplate.fromTemplate(inputPrompt),
]);
const chain = new LLMChain({ prompt: chatPrompt, llm: chat });
const response = await chain.call({
mrDiff: mrDiff,
mrCommitMessages: mrCommitMessages,
});
return response.text;
}
function postProcessCommitMessage(rawCommitMessage) {
// Split the result into lines
let lines = rawCommitMessage.split("\n");
// Format each line
for (let i = 0; i < lines.length; i++) {
let line = lines[i].trim();
// If the line is longer than maximumBodyLineChars, split it into multiple lines
if (line.length > maximumBodyLineChars) {
let newLines = [];
while (line.length > maximumBodyLineChars) {
let lastSpaceIndex = line.lastIndexOf(
" ",
maximumBodyLineChars
);
newLines.push(line.substring(0, lastSpaceIndex));
line = line.substring(lastSpaceIndex + 1);
}
newLines.push(line);
lines[i] = newLines.join("\n");
}
}
// Join the lines back into a single string with a newline between each one
return lines.join("\n");
}
function extractClosingStatements(mrCommitMessages) {
let closingStatements = [];
mrCommitMessages.forEach((message) => {
const lines = message.split("\n");
lines.forEach((line) => {
if (line.startsWith("Closes")) {
closingStatements.push(line);
}
});
});
return closingStatements.join("\n");
}
+56
View File
@@ -0,0 +1,56 @@
let outputStatuses = [];
/**
* Logs the status of a rule with padded formatting and stores it in the `outputStatuses` array.
* If the rule already exists in the array, its status is updated.
* @param message The name of the rule
* @param status The output (exit) status of the rule
*/
function recordRuleExitStatus(message, status) {
// Check if the rule already exists in the array
const existingRecord = outputStatuses.find(
(rule) => rule.message === message
);
if (existingRecord) {
// Update the status of the existing rule
existingRecord.status = status;
} else {
// If the rule doesn't exist, add it to the array
outputStatuses.push({ message, status });
}
}
/**
* Displays all the rule output statuses stored in the `outputStatuses` array.
* Filters out any empty lines, sorts them alphabetically, and prints the statuses
* with a header and separator.
* These statuses are later displayed in CI job tracelog.
*/
function displayAllOutputStatuses() {
const lineLength = 100;
const sortedStatuses = outputStatuses.sort((a, b) =>
a.message.localeCompare(b.message)
);
const formattedLines = sortedStatuses.map((statusObj) => {
const paddingLength =
lineLength - statusObj.message.length - statusObj.status.length;
const paddedMessage = statusObj.message.padEnd(
statusObj.message.length + paddingLength,
"."
);
return `${paddedMessage} ${statusObj.status}`;
});
console.log(
"DangerJS checks (rules) output states:\n" + "=".repeat(lineLength + 2)
);
console.log(formattedLines.join("\n"));
console.log("=".repeat(lineLength + 2));
}
module.exports = {
displayAllOutputStatuses,
recordRuleExitStatus,
};
+51
View File
@@ -0,0 +1,51 @@
const { displayAllOutputStatuses } = require("./configParameters.js");
/*
* Modules with checks are stored in ".gitlab/dangerjs/<module_name>". To import them, use path relative to "dangerfile.js"
*/
async function runChecks() {
// Checks for merge request title
require("./mrTitleNoDraftOrWip.js")();
// Checks for merge request description
require("./mrDescriptionLongEnough.js")();
require("./mrDescriptionReleaseNotes.js")();
await require("./mrDescriptionJiraLinks.js")();
// Checks for documentation
await require("./mrDocsTranslation.js")();
// Checks for MR commits
require("./mrCommitsTooManyCommits.js")();
await require("./mrCommitsCommitMessage.js")();
require("./mrCommitsEmail.js")();
// Checks for MR code
require("./mrSizeTooLarge.js")();
// Checks for MR area labels
await require("./mrAreaLabels.js")();
// Checks for Source branch name
require("./mrSourceBranchName.js")();
// Show DangerJS individual checks statuses - visible in CI job tracelog
displayAllOutputStatuses();
// Add success log if no issues
if (
results.fails.length === 0 &&
results.warnings.length === 0 &&
results.messages.length === 0
) {
return message("🎉 Good Job! All checks are passing!");
}
}
runChecks();
// Add retry link
const retryLink = `${process.env.DANGER_GITLAB_HOST}/${process.env.CI_PROJECT_PATH}/-/jobs/${process.env.CI_JOB_ID}`;
markdown(
`***\n#### :repeat: You can enforce automatic MR checks by retrying the [DangerJS job](${retryLink})\n***`
);
+27
View File
@@ -0,0 +1,27 @@
const { recordRuleExitStatus } = require("./configParameters.js");
/**
* Check if MR has area labels (light blue labels)
*
* @dangerjs WARN
*/
module.exports = async function () {
const ruleName = "Merge request area labels";
const projectId = 103; // ESP-IDF
const areaLabelColor = /^#d2ebfa$/i; // match color code (case-insensitive)
const projectLabels = await danger.gitlab.api.Labels.all(projectId); // Get all project labels
const areaLabels = projectLabels
.filter((label) => areaLabelColor.test(label.color))
.map((label) => label.name); // Filter only area labels
const mrLabels = danger.gitlab.mr.labels; // Get MR labels
if (!mrLabels.some((label) => areaLabels.includes(label))) {
recordRuleExitStatus(ruleName, "Failed");
return warn(
`Please add some [area labels](${process.env.DANGER_GITLAB_HOST}/espressif/esp-idf/-/labels) to this MR.`
);
}
// At this point, the rule has passed
recordRuleExitStatus(ruleName, "Passed");
};
+165
View File
@@ -0,0 +1,165 @@
const {
minimumSummaryChars,
maximumSummaryChars,
maximumBodyLineChars,
allowedTypes,
} = require("./mrCommitsConstants.js");
const { recordRuleExitStatus } = require("./configParameters.js");
/**
* Check that commit messages are based on the Espressif ESP-IDF project's rules for git commit messages.
*
* @dangerjs WARN
*/
module.exports = async function () {
const ruleName = "Commit messages style";
const mrCommits = danger.gitlab.commits;
const lint = require("@commitlint/lint").default;
const lintingRules = {
// rule definition: [(0-1 = off/on), (always/never = must be/mustn't be), (value)]
"body-max-line-length": [1, "always", maximumBodyLineChars], // Max length of the body line
"footer-leading-blank": [1, "always"], // Always have a blank line before the footer section
"footer-max-line-length": [1, "always", maximumBodyLineChars], // Max length of the footer line
"subject-max-length": [1, "always", maximumSummaryChars], // Max length of the "Summary"
"subject-min-length": [1, "always", minimumSummaryChars], // Min length of the "Summary"
"scope-case": [1, "always", "lower-case"], // "scope/component" must start with lower-case
"subject-full-stop": [1, "never", "."], // "Summary" must not end with a full stop (period)
"subject-empty": [1, "never"], // "Summary" is mandatory
"type-case": [1, "always", "lower-case"], // "type/action" must start with lower-case
"type-empty": [1, "never"], // "type/action" is mandatory
"type-enum": [1, "always", allowedTypes], // "type/action" must be one of the allowed types
"body-leading-blank": [1, "always"], // Always have a blank line before the body section
};
// Switcher for AI suggestions (for poor messages)
let generateAISuggestion = false;
// Search for the messages in each commit
let issuesAllCommitMessages = [];
for (const commit of mrCommits) {
const commitMessage = commit.message;
const commitMessageTitle = commit.title;
let issuesSingleCommitMessage = [];
let reportSingleCommitMessage = "";
// Check if the commit message contains any Jira ticket references
const jiraTicketRegex = /[A-Z0-9]+-[0-9]+/g;
const jiraTicketMatches = commitMessage.match(jiraTicketRegex);
if (jiraTicketMatches) {
const jiraTicketNames = jiraTicketMatches.join(", ");
issuesSingleCommitMessage.push(
`- probably contains Jira ticket reference (\`${jiraTicketNames}\`). Please remove Jira tickets from commit messages.`
);
}
// Lint commit messages with @commitlint (Conventional Commits style)
const result = await lint(commit.message, lintingRules);
for (const warning of result.warnings) {
// Custom messages for each rule with terminology used by Espressif conventional commits guide
switch (warning.name) {
case "subject-max-length":
issuesSingleCommitMessage.push(
`- *summary* appears to be too long`
);
break;
case "type-empty":
issuesSingleCommitMessage.push(
`- *type/action* looks empty`
);
break;
case "type-case":
issuesSingleCommitMessage.push(
`- *type/action* should start with a lowercase letter`
);
break;
case "scope-empty":
issuesSingleCommitMessage.push(
`- *scope/component* looks empty`
);
break;
case "scope-case":
issuesSingleCommitMessage.push(
`- *scope/component* should be lowercase without whitespace, allowed special characters are \`_\` \`/\` \`.\` \`,\` \`*\` \`-\` \`.\``
);
break;
case "subject-empty":
issuesSingleCommitMessage.push(`- *summary* looks empty`);
generateAISuggestion = true;
break;
case "subject-min-length":
issuesSingleCommitMessage.push(
`- *summary* looks too short`
);
generateAISuggestion = true;
break;
case "subject-case":
issuesSingleCommitMessage.push(
`- *summary* should start with a capital letter`
);
break;
case "subject-full-stop":
issuesSingleCommitMessage.push(
`- *summary* should not end with a period (full stop)`
);
break;
case "type-enum":
issuesSingleCommitMessage.push(
`- *type/action* should be one of [${allowedTypes
.map((type) => `\`${type}\``)
.join(", ")}]`
);
break;
default:
issuesSingleCommitMessage.push(`- ${warning.message}`);
}
}
if (issuesSingleCommitMessage.length) {
reportSingleCommitMessage = `- the commit message \`"${commitMessageTitle}"\`:\n${issuesSingleCommitMessage
.map((message) => ` ${message}`) // Indent each issue by 2 spaces
.join("\n")}`;
issuesAllCommitMessages.push(reportSingleCommitMessage);
}
}
// Create report
if (issuesAllCommitMessages.length) {
issuesAllCommitMessages.sort();
const basicTips = [
`- correct format of commit message should be: \`<type/action>(<scope/component>): <summary>\`, for example \`fix(esp32): Fixed startup timeout issue\``,
`- allowed types are: \`${allowedTypes}\``,
`- sufficiently descriptive message summary should be between ${minimumSummaryChars} to ${maximumSummaryChars} characters and start with upper case letter`,
`- avoid Jira references in commit messages (unavailable/irrelevant for our customers)`,
`- follow this [commit messages guide](${process.env.DANGER_GITLAB_HOST}/espressif/esp-idf/-/wikis/dev-proc/Commit-messages)`,
];
let dangerMessage = `\n**Some issues found for the commit messages in this MR:**\n${issuesAllCommitMessages.join(
"\n"
)}
\n***
\n**Please consider updating these commit messages** - here are some basic tips:\n${basicTips.join(
"\n"
)}
\n \`TIP:\` You can install commit-msg pre-commit hook (\`pre-commit install -t pre-commit -t commit-msg\`) to run this check when committing.
\n***
`;
if (generateAISuggestion) {
// Create AI generated suggestion for git commit message based of gitDiff and current commit messages
const AImessageSuggestion =
await require("./aiGenerateGitMessage.js")();
dangerMessage += AImessageSuggestion;
}
recordRuleExitStatus(ruleName, "Failed");
return warn(dangerMessage);
}
// At this point, the rule has passed
recordRuleExitStatus(ruleName, "Passed");
};
+16
View File
@@ -0,0 +1,16 @@
module.exports = {
gptStandardModelTokens: 4096,
minimumSummaryChars: 20,
maximumSummaryChars: 72,
maximumBodyLineChars: 100,
allowedTypes: [
"change",
"ci",
"docs",
"feat",
"fix",
"refactor",
"remove",
"revert",
],
};
+23
View File
@@ -0,0 +1,23 @@
const { recordRuleExitStatus } = require("./configParameters.js");
/**
* Check if the author is accidentally making a commit using a personal email
*
* @dangerjs INFO
*/
module.exports = function () {
const ruleName = 'Commits from outside Espressif';
const mrCommitAuthorEmails = danger.gitlab.commits.map(commit => commit.author_email);
const mrCommitCommitterEmails = danger.gitlab.commits.map(commit => commit.committer_email);
const emailPattern = /.*@espressif\.com/;
const filteredEmails = [...mrCommitAuthorEmails, ...mrCommitCommitterEmails].filter((email) => !emailPattern.test(email));
if (filteredEmails.length) {
recordRuleExitStatus(ruleName, "Failed");
return message(
`Some of the commits were authored or committed by developers outside Espressif: ${filteredEmails.join(', ')}. Please check if this is expected.`
);
}
// At this point, the rule has passed
recordRuleExitStatus(ruleName, 'Passed');
};
@@ -0,0 +1,22 @@
const { recordRuleExitStatus } = require("./configParameters.js");
/**
* Check if MR has not an excessive numbers of commits (if squashed)
*
* @dangerjs INFO
*/
module.exports = function () {
const ruleName = 'Number of commits in merge request';
const tooManyCommitThreshold = 2; // above this number of commits, squash commits is suggested
const mrCommits = danger.gitlab.commits;
if (mrCommits.length > tooManyCommitThreshold) {
recordRuleExitStatus(ruleName, "Passed (with suggestions)");
return message(
`You might consider squashing your ${mrCommits.length} commits (simplifying branch history).`
);
}
// At this point, the rule has passed
recordRuleExitStatus(ruleName, 'Passed');
};
+238
View File
@@ -0,0 +1,238 @@
const { recordRuleExitStatus } = require("./configParameters.js");
/** Check that there are valid JIRA links in MR description.
*
* This check extracts the "Related" section from the MR description and
* searches for JIRA ticket references in the format "Closes [JIRA ticket key]".
*
* It then extracts the closing GitHub links from the corresponding JIRA tickets and
* checks if the linked GitHub issues are still in open state.
*
* Finally, it checks if the required GitHub closing links are present in the MR's commit messages.
*
*/
module.exports = async function () {
const ruleName = 'Jira ticket references';
const axios = require("axios");
const mrDescription = danger.gitlab.mr.description;
const mrCommitMessages = danger.gitlab.commits.map(
(commit) => commit.message
);
const jiraTicketRegex = /[A-Z0-9]+-[0-9]+/;
let partMessages = []; // Create a blank field for future records of individual issues
// Parse section "Related" from MR Description
const sectionRelated = extractSectionRelated(mrDescription);
if (
!sectionRelated.header || // No section Related in MR description or ...
!jiraTicketRegex.test(sectionRelated.content) // no Jira links in section Related
) {
recordRuleExitStatus(ruleName, 'Passed (with suggestions)');
return message(
"Please consider adding references to JIRA issues in the `Related` section of the MR description."
);
}
// Get closing (only) JIRA tickets
const jiraTickets = findClosingJiraTickets(sectionRelated.content);
for (const ticket of jiraTickets) {
ticket.jiraUIUrl = `https://jira.espressif.com:8443/browse/${ticket.ticketName}`;
if (!ticket.correctFormat) {
partMessages.push(
`- closing ticket \`${ticket.record}\` seems to be in the wrong format (or inaccessible to Jira DangerBot).. The correct format is for example \`- Closes JIRA-123\`.`
);
}
// Get closing GitHub issue links from JIRA tickets
const closingGithubLink = await getGitHubClosingLink(ticket.ticketName);
if (closingGithubLink) {
ticket.closingGithubLink = closingGithubLink;
} else if (closingGithubLink === null) {
partMessages.push(
`- the Jira issue number [\`${ticket.ticketName}\`](${ticket.jiraUIUrl}) seems to be invalid (please check if the ticket number is correct)`
);
continue; // Handle unreachable JIRA tickets; skip the following checks
} else {
continue; // Jira ticket have no GitHub closing link; skip the following checks
}
// Get still open GitHub issues
const githubIssueStatusOpen = await isGithubIssueOpen(
ticket.closingGithubLink
);
ticket.isOpen = githubIssueStatusOpen;
if (githubIssueStatusOpen === null) {
// Handle unreachable GitHub issues
partMessages.push(
`- the GitHub issue [\`${ticket.closingGithubLink}\`](${ticket.closingGithubLink}) does not seem to exist on GitHub (referenced from JIRA ticket [\`${ticket.ticketName}\`](${ticket.jiraUIUrl}) )`
);
continue; // skip the following checks
}
// Search in commit message if there are all GitHub closing links (from Related section) for still open GH issues
if (ticket.isOpen) {
if (
!mrCommitMessages.some((item) =>
item.includes(`Closes ${ticket.closingGithubLink}`)
)
) {
partMessages.push(
`- please add \`Closes ${ticket.closingGithubLink}\` to the commit message`
);
}
}
}
// Create report / DangerJS check feedback if issues with Jira links found
if (partMessages.length) {
createReport();
}
// At this point, the rule has passed
recordRuleExitStatus(ruleName, 'Passed');
// ---------------------------------------------------------------
/**
* This function takes in a string mrDescription which contains a Markdown-formatted text
* related to a Merge Request (MR) in a GitLab repository. It searches for a section titled "Related"
* and extracts the content of that section. If the section is not found, it returns an object
* indicating that the header and content are null. If the section is found but empty, it returns
* an object indicating that the header is present but the content is null. If the section is found
* with content, it returns an object indicating that the header is present and the content of the
* "Related" section.
*
* @param {string} mrDescription - The Markdown-formatted text related to the Merge Request.
* @returns {{
* header: string | boolean | null,
* content: string | null
* }} - An object containing the header and content of the "Related" section, if present.
*/
function extractSectionRelated(mrDescription) {
const regexSectionRelated = /## Related([\s\S]*?)(?=## |$)/;
const sectionRelated = mrDescription.match(regexSectionRelated);
if (!sectionRelated) {
return { header: null, content: null }; // Section "Related" is missing
}
const content = sectionRelated[1].replace(/(\r\n|\n|\r)/gm, ""); // Remove empty lines
if (!content.length) {
return { header: true, content: null }; // Section "Related" is present, but empty
}
return { header: true, content: sectionRelated[1] }; // Found section "Related" with content
}
/**
* Finds all JIRA tickets that are being closed in the given sectionRelatedcontent.
* The function searches for lines that start with - Closes and have the format Closes [uppercase letters]-[numbers].
* @param {string} sectionRelatedcontent - A string that contains lines with mentions of JIRA tickets
* @returns {Array} An array of objects with ticketName property that has the correct format
*/
function findClosingJiraTickets(sectionRelatedcontent) {
let closingTickets = [];
const lines = sectionRelatedcontent.split("\n");
for (const line of lines) {
if (!line.startsWith("- Closes")) {
continue; // Not closing-type ticket, skip
}
const correctJiraClosingLinkFormat = new RegExp(
`^- Closes ${jiraTicketRegex.source}$`
);
const matchedJiraTicket = line.match(jiraTicketRegex);
if (matchedJiraTicket) {
if (!correctJiraClosingLinkFormat.test(line)) {
closingTickets.push({
record: line,
ticketName: matchedJiraTicket[0],
correctFormat: false,
});
} else {
closingTickets.push({
record: line,
ticketName: matchedJiraTicket[0],
correctFormat: true,
});
}
}
}
return closingTickets;
}
/**
* This function takes a JIRA issue key and retrieves the description from JIRA's API.
* It then searches the description for a GitHub closing link in the format "Closes https://github.com/owner/repo/issues/123".
* If a GitHub closing link is found, it is returned. If no GitHub closing link is found, it returns null.
* @param {string} jiraIssueKey - The key of the JIRA issue to search for the GitHub closing link.
* @returns {Promise<string|null>} - A promise that resolves to a string containing the GitHub closing link if found,
* or null if not found.
*/
async function getGitHubClosingLink(jiraIssueKey) {
let jiraDescription = "";
// Get JIRA ticket description content
try {
const response = await axios({
url: `https://jira.espressif.com:8443/rest/api/latest/issue/${jiraIssueKey}`,
auth: {
username: process.env.DANGER_JIRA_USER,
password: process.env.DANGER_JIRA_PASSWORD,
},
});
jiraDescription = response.data.fields.description
? response.data.fields.description
: ""; // if the Jira ticket has an unfilled Description, the ".description" property is missing in API response - in that case set "jiraDescription" to an empty string
} catch (error) {
return null;
}
// Find GitHub closing link in description
const regexClosingGhLink =
/Closes\s+(https:\/\/github.com\/\S+\/\S+\/issues\/\d+)/;
const closingGithubLink = jiraDescription.match(regexClosingGhLink);
if (closingGithubLink) {
return closingGithubLink[1];
} else {
return false; // Jira issue has no GitHub closing link in description
}
}
/**
* Check if a GitHub issue linked in a merge request is still open.
*
* @param {string} link - The link to the GitHub issue.
* @returns {Promise<boolean>} A promise that resolves to a boolean indicating if the issue is open.
* @throws {Error} If the link is invalid or if there was an error fetching the issue.
*/
async function isGithubIssueOpen(link) {
const parsedUrl = new URL(link);
const [owner, repo] = parsedUrl.pathname.split("/").slice(1, 3);
const issueNumber = parsedUrl.pathname.split("/").slice(-1)[0];
try {
const response = await axios.get(
`https://api.github.com/repos/${owner}/${repo}/issues/${issueNumber}`
);
return response.data.state === "open"; // return True if GitHub issue is open
} catch (error) {
return null; // GET request to issue fails
}
}
function createReport() {
partMessages.sort();
let dangerMessage = `Some issues found for the related JIRA tickets in this MR:\n${partMessages.join(
"\n"
)}`;
recordRuleExitStatus(ruleName, "Failed");
return warn(dangerMessage);
}
};
@@ -0,0 +1,24 @@
const { recordRuleExitStatus } = require("./configParameters.js");
/**
* Check if MR Description has accurate description".
*
* @dangerjs WARN
*/
module.exports = function () {
const ruleName = "Merge request sufficient description";
const mrDescription = danger.gitlab.mr.description;
const descriptionChunk = mrDescription.match(/^([^#]*)/)[1].trim(); // Extract all text before the first section header (i.e., the text before the "## Release notes")
const shortMrDescriptionThreshold = 50; // Description is considered too short below this number of characters
if (descriptionChunk.length < shortMrDescriptionThreshold) {
recordRuleExitStatus(ruleName, "Failed");
return warn(
"The MR description looks very brief, please check if more details can be added."
);
}
// At this point, the rule has passed
recordRuleExitStatus(ruleName, "Passed");
};
@@ -0,0 +1,103 @@
const { recordRuleExitStatus } = require("./configParameters.js");
/**
* Check if MR Description contains mandatory section "Release notes"
*
* Extracts the content of the "Release notes" section from the GitLab merge request description.
*
* @dangerjs WARN (if section missing, is empty or wrong markdown format)
*/
module.exports = function () {
const ruleName = 'Merge request Release Notes section';
const mrDescription = danger.gitlab.mr.description;
const wiki_link = `${process.env.DANGER_GITLAB_HOST}/espressif/esp-idf/-/wikis/rfc/How-to-write-release-notes-properly`;
const regexSectionReleaseNotes = /## Release notes([\s\S]*?)(?=## |$)/;
const regexValidEntry = /^\s*[-*+]\s+.+/;
const regexNoReleaseNotes = /no release note/i;
const sectionReleaseNotes = mrDescription.match(regexSectionReleaseNotes);
if (!sectionReleaseNotes) {
recordRuleExitStatus(ruleName, "Failed");
return warn(`The \`Release Notes\` section seems to be missing. Please check if the section header in MR description is present and in the correct markdown format ("## Release Notes").\n\nSee [Release Notes Format Rules](${wiki_link}).`);
}
const releaseNotesLines = sectionReleaseNotes[1].replace(/<!--[\s\S]*?-->/g, '')
const lines = releaseNotesLines.split("\n").filter(s => s.trim().length > 0);
let valid_entries_found = 0;
let no_release_notes_found = false;
let violations = [];
lines.forEach((line) => {
if (line.match(regexValidEntry)) {
valid_entries_found++;
const error_msg = check_entry(line);
if (error_msg) {
violations.push(error_msg);
}
} else if (line.match(regexNoReleaseNotes)) {
no_release_notes_found = true;
}
});
let error_output = [];
if (violations.length > 0) {
error_output = [...error_output, 'Invalid release note entries:', violations.join('\n')];
}
if (no_release_notes_found) {
if (valid_entries_found > 0) {
error_output.push('`No release notes` comment shows up when there is valid entry. Remove bullets before comments in release notes section.');
}
} else {
if (!valid_entries_found) {
error_output.push('The `Release Notes` section seems to have no valid entries. Add bullets before valid entries, or add `No release notes` comment to suppress this error if you mean to have no release notes.');
}
}
if (error_output.length > 0) {
// Paragraphs joined by double `\n`s.
error_output = [...error_output, `See [Release Notes Format Guide](${wiki_link}).`].join('\n\n');
recordRuleExitStatus(ruleName, "Failed");
return warn(error_output);
}
// At this point, the rule has passed
recordRuleExitStatus(ruleName, 'Passed');
};
function check_entry(entry) {
const entry_str = `- \`${entry}\``;
const indent = " ";
if (entry.match(/no\s+release\s+note/i)) {
return [entry_str, `${indent}- \`No release notes\` comment shouldn't start with bullet.`].join('\n');
}
// Remove a leading escaping backslash of the special characters, https://www.markdownguide.org/basic-syntax/#characters-you-can-escape
const escapeCharRegex = /\\([\\`*_{}[\]<>()+#-.!|])/g;
entry = entry.replace(escapeCharRegex, '$1');
const regex = /^(\s*)[-*+]\s+\[([^\]]+)\]\s+(.*)$/;
const match = regex.exec(entry);
if (!match) {
return [entry_str, `${indent}- Please specify the [area] to which the change belongs (see guide). If this line is just a comment, remove the bullet.`].join('\n');
}
// area is in match[2]
const description = match[3].trim();
let violations = [];
if (match[1]) {
violations.push(`${indent}- Release note entry should start from the beginning of line. (Nested release note not allowed.)`);
}
if (!/^[A-Z0-9]/.test(description)) {
violations.push(`${indent}- Release note statement should start with a capital letter or digit.`);
}
if (violations.length > 0) {
return [entry_str, ...violations].join('\n');
}
return null;
}
+280
View File
@@ -0,0 +1,280 @@
const { recordRuleExitStatus } = require("./configParameters.js");
/**
* Check the documentation files in this MR.
*
* Generate an object with all docs/ files found in this MR with paths to their EN/CN versions.
*
* For common files (both language versions exist in this MR), compare the lines of both files.
* Ignore if the CN file is only a single line file with an "include" reference to the EN version.
*
* For files that only have a CN version in this MR, add a message to the message that an EN file also needs to be created.
*
* For a file that only has an EN version in this MR, try loading its CN version from the target Gitlab branch.
* If its CN version doesn't exist in the repository or it does exist,
* but its contents are larger than just an "include" link to the EN version (it's a full-size file),
* add a message to the report
*
* Create a compiled report with the docs/ files issues found and set its severity (WARN/INFO).
* Severity is based on the presence of "needs translation: ??" labels in this MR
*
* @dangerjs WARN (if docs translation issues in the MR)
* @dangerjs INFO (if docs translation issues in the MR and the user has already added translation labels).
* Adding translation labels "needs translation: XX" automatically notifies the Documentation team
*
* @dangerjs WARN (if there are no docs issues in MR, but translation labels have been added anyway)
*
*/
module.exports = async function () {
const ruleName = 'Documentation translation';
let partMessages = []; // Create a blank field for future records of individual issues
const pathProject = "espressif/esp-idf";
const regexIncludeLink = /\.\.\sinclude::\s((\.\.\/)+)en\//;
const allMrFiles = [
...danger.git.modified_files,
...danger.git.created_files,
...danger.git.deleted_files,
];
const docsFilesMR = parseMrDocsFiles(allMrFiles); // Create single object of all doc files in MR with names, paths and groups
// Both versions (EN and CN) of document found changed in this MR
for (const file of docsFilesMR.bothFilesInMr) {
file.contentEn = await getContentFileInMR(file.fileEnPath); // Get content of English file
file.linesEn = file.contentEn.split("\n").length; // Get number of lines of English file
file.contentCn = await getContentFileInMR(file.fileCnPath); // Get content of Chinese file
file.linesCn = file.contentCn.split("\n").length; // Get number of lines of English file
// Compare number of lines in both versions
if (file.linesEn !== file.linesCn) {
// Check if CN file is only link to EN file
if (!regexIncludeLink.test(file.contentCn)) {
// if not just a link ...
partMessages.push(
`- please synchronize the EN and CN version of \`${file.fileName}\`. [\`${file.fileEnPath}\`](${file.fileUrlRepoEN}) has ${file.linesEn} lines; [\`${file.fileCnPath}\`](${file.fileUrlRepoCN}) has ${file.linesCn} lines.`
);
}
}
}
// Only Chinese version of document found changed in this MR
for (const file of docsFilesMR.onlyCnFilesInMr) {
partMessages.push(
`- file \`${file.fileEnPath}\` doesn't exist in this MR or in the GitLab repo. Please add \`${file.fileEnPath}\` into this MR.`
);
}
// Only English version of document found in this MR
for (const file of docsFilesMR.onlyEnFilesInMr) {
const targetBranch = danger.gitlab.mr.target_branch;
file.contentCn = await getContentFileInGitlab(
file.fileCnPath,
targetBranch
); // Try to fetch CN file from target branch of Gitlab repository and store content
if (file.contentCn) {
// File found on target branch in Gitlab repository
if (!regexIncludeLink.test(file.contentCn)) {
// File on Gitlab master is NOT just an ..include:: link to ENG version
file.fileUrlRepoMasterCN = `${process.env.DANGER_GITLAB_HOST}/${pathProject}/-/blob/${targetBranch}/${file.fileCnPath}`;
partMessages.push(
`- file \`${file.fileCnPath}\` was not updated in this MR, but found unchanged full document (not just link to EN) in target branch of Gitlab repository [\`${file.fileCnPath}\`](${file.fileUrlRepoMasterCN}). Please update \`${file.fileCnPath}\` into this MR.`
);
}
} else {
// File failed to fetch, probably does not exist in the target branch
partMessages.push(
`- file \`${file.fileCnPath}\` probably doesn't exist in this MR or in the GitLab repo. Please add \`${file.fileCnPath}\` into this MR.`
);
}
}
// Create a report with found issues with documents in MR
createReport();
// At this point, the rule has passed
recordRuleExitStatus(ruleName, 'Passed');
/**
* Generates an object that represents the relationships between files in two different languages found in this MR.
*
* @param {string[]} docsFilesEN - An array of file paths for documents in English.
* @param {string[]} docsFilesCN - An array of file paths for documents in Chinese.
* @returns {Object} An object with the following properties:
* - bothFilesInMr: An array of objects that represent files that found in MR in both languages. Each object has the following properties:
* - fileName: The name of the file.
* - fileEnPath: The path to the file in English.
* - fileCnPath: The path to the file in Chinese.
* - fileUrlRepoEN: The URL link to MR branch path to the file in English.
* - fileUrlRepoCN: The URL link to MR branch path to the file in Chinese.
* - onlyCnFilesInMr: An array of objects that represent files that only found in MR in English. Each object has the following properties:
* - fileName: The name of the file.
* - fileEnPath: The path to the file in English.
* - fileCnPath: The FUTURE path to the file in Chinese.
* - fileUrlRepoEN: The URL link to MR branch path to the file in English.
* - fileUrlRepoCN: The URL link to MR branch path to the file in Chinese.
* - onlyEnFilesInMr: An array of objects that represent files that only found in MR in Chinese. Each object has the following properties:
* - fileName: The name of the file.
* - fileEnPath: The FUTURE path to the file in English.
* - fileCnPath: The path to the file in Chinese.
* - fileUrlRepoEN: The URL link to MR branch path to the file in English.
* - fileUrlRepoCN: The URL link to MR branch path to the file in Chinese.
*/
function parseMrDocsFiles(allMrFiles) {
const path = require("path");
const mrBranch = danger.gitlab.mr.source_branch;
const docsEnFilesMrPath = allMrFiles.filter((file) =>
file.startsWith("docs/en")
); // Filter all English doc files in MR
const docsCnFilesMrPath = allMrFiles.filter((file) =>
file.startsWith("docs/zh_CN")
); // Filter all Chinese doc files in MR
const docsEnFileNames = docsEnFilesMrPath.map((filePath) =>
path.basename(filePath)
); // Get (base) file names for English docs
const docsCnFileNames = docsCnFilesMrPath.map((filePath) =>
path.basename(filePath)
); // Get (base) file names for Chinese docs
const bothFileNames = docsEnFileNames.filter((fileName) =>
docsCnFileNames.includes(fileName)
); // Get file names that are common to both English and Chinese docs
const onlyEnFileNames = docsEnFileNames.filter(
(fileName) => !docsCnFileNames.includes(fileName)
); // Get file names that are only present in English version
const onlyCnFileNames = docsCnFileNames.filter(
(fileName) => !docsEnFileNames.includes(fileName)
); // Get file names that are only present in Chinese version
return {
bothFilesInMr: bothFileNames.map((fileName) => {
const fileEnPath =
docsEnFilesMrPath[docsEnFileNames.indexOf(fileName)];
const fileCnPath =
docsCnFilesMrPath[docsCnFileNames.indexOf(fileName)];
return {
fileName,
fileEnPath,
fileCnPath,
fileUrlRepoEN: `${process.env.DANGER_GITLAB_HOST}/${pathProject}/-/blob/${mrBranch}/${fileEnPath}`,
fileUrlRepoCN: `${process.env.DANGER_GITLAB_HOST}/${pathProject}/-/blob/${mrBranch}/${fileCnPath}`,
};
}),
onlyEnFilesInMr: onlyEnFileNames.map((fileName) => {
const fileEnPath =
docsEnFilesMrPath[docsEnFileNames.indexOf(fileName)];
const fileCnPath = fileEnPath.replace("en", "zh_CN"); // Generate future CN file path
return {
fileName,
fileEnPath,
fileCnPath,
fileUrlRepoEN: `${process.env.DANGER_GITLAB_HOST}/${pathProject}/-/blob/${mrBranch}/${fileEnPath}`,
fileUrlRepoCN: `${process.env.DANGER_GITLAB_HOST}/${pathProject}/-/blob/${mrBranch}/${fileCnPath}`,
};
}),
onlyCnFilesInMr: onlyCnFileNames.map((fileName) => {
const fileCnPath =
docsCnFilesMrPath[docsCnFileNames.indexOf(fileName)];
const fileEnPath = fileCnPath.replace("zh_CN", "en"); // Generate future EN file path
return {
fileName,
fileEnPath,
fileCnPath,
fileUrlRepoEN: `${process.env.DANGER_GITLAB_HOST}/${pathProject}/-/blob/${mrBranch}/${fileEnPath}`,
fileUrlRepoCN: `${process.env.DANGER_GITLAB_HOST}/${pathProject}/-/blob/${mrBranch}/${fileCnPath}`,
};
}),
};
}
/**
* Retrieves the contents of a file from GitLab using the GitLab API.
*
* @param {string} filePath - The path of the file to retrieve.
* @param {string} branch - The branch where the file is located.
* @returns {string|null} - The contents of the file, with any trailing new lines trimmed, or null if the file cannot be retrieved.
*/
async function getContentFileInGitlab(filePath, branch) {
const axios = require("axios");
const encFilePath = encodeURIComponent(filePath);
const encBranch = encodeURIComponent(branch);
const urlApi = `${process.env.DANGER_GITLAB_API_BASE_URL}/projects/${danger.gitlab.mr.project_id}/repository/files/${encFilePath}/raw?ref=${encBranch}`;
try {
const response = await axios.get(urlApi, {
headers: {
"Private-Token": process.env.DANGER_GITLAB_API_TOKEN,
},
});
return response.data.trim(); // Trim trailing new line
} catch (error) {
return null;
}
}
/**
* Retrieves the contents of a file in a DangerJS merge request object.
*
* @param {string} filePath - The path of the file to retrieve.
* @returns {string|null} - The contents of the file, with any trailing new lines trimmed, or null if the file cannot be retrieved.
*/
async function getContentFileInMR(filePath) {
try {
const content = await danger.git.diffForFile(filePath);
const fileContentAfter = content.after.trim(); // Trim trailing new lines
return fileContentAfter;
} catch (error) {
console.error(`Error while getting file content MR: ${error}`);
return null;
}
}
/**
* Creates a compiled report for found documentation issues in the current MR and alerts the Documentation team if there are any "needs translation" labels present.
*
* Report if documentation labels have been added by mistake.
*/
function createReport() {
const mrLabels = danger.gitlab.mr.labels; // Get MR labels
const regexTranslationLabel = /needs translation:/i;
const translationLabelsPresent = mrLabels.some((label) =>
regexTranslationLabel.test(label)
); // Check if any of MR labels are "needs translation: XX"
// No docs issues found in MR, but translation labels have been added anyway
if (!partMessages.length && translationLabelsPresent) {
recordRuleExitStatus(ruleName, "Failed");
return warn(
`Please remove the \`needs translation: XX\` labels. For documents that need to translate from scratch, Doc team will translate them in the future. For the current stage, we only focus on updating exiting EN and CN translation to make them in sync.`
);
}
// Docs issues found in this MR
partMessages.sort();
let dangerMessage = `Some of the documentation files in this MR seem to have translations issues:\n${partMessages.join(
"\n"
)}\n`;
if (partMessages.length) {
if (!translationLabelsPresent) {
dangerMessage += `
\nWhen synchronizing the EN and CN versions, please follow the [Documentation Code](https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/contribute/documenting-code.html#standardize-document-format). The total number of lines of EN and CN should be same.\n
\nIf you have difficulty in providing translation, you can contact Documentation team by adding <kbd>needs translation: CN</kbd> or <kbd>needs translation: EN</kbd> labels into this MR and retrying Danger CI job. The documentation team will be automatically notified and will help you with the translations before the merge.\n`;
recordRuleExitStatus(ruleName, "Failed");
return warn(dangerMessage); // no "needs translation: XX" labels in MR; report issues as warn
} else {
dangerMessage += `\nTranslation labels <kbd>needs translation: CN</kbd> or <kbd>needs translation: EN</kbd> were added - this will automatically notify the Documentation team to help you with translation issues.`;
recordRuleExitStatus(ruleName, 'Passed (with suggestions)');
return message(dangerMessage); // "needs translation: XX" labels were found in MR and Docs team was notified; report issues as info
}
}
}
};
+22
View File
@@ -0,0 +1,22 @@
const { recordRuleExitStatus } = require("./configParameters.js");
/**
* Check if MR is too large (more than 1000 lines of changes)
*
* @dangerjs INFO
*/
module.exports = async function () {
const ruleName = "Merge request size (number of changed lines)";
const bigMrLinesOfCodeThreshold = 1000;
const totalLines = await danger.git.linesOfCode();
if (totalLines > bigMrLinesOfCodeThreshold) {
recordRuleExitStatus(ruleName, "Passed (with suggestions)");
return message(
`This MR seems to be quite large (total lines of code: ${totalLines}), you might consider splitting it into smaller MRs`
);
}
// At this point, the rule has passed
recordRuleExitStatus(ruleName, "Passed");
};
+31
View File
@@ -0,0 +1,31 @@
const { recordRuleExitStatus } = require("./configParameters.js");
/**
* Throw Danger WARN if branch name contains more than one slash or uppercase letters
*
* @dangerjs INFO
*/
module.exports = function () {
const ruleName = "Source branch name";
const sourceBranch = danger.gitlab.mr.source_branch;
// Check if the source branch name contains more than one slash
const slashCount = (sourceBranch.match(/\//g) || []).length;
if (slashCount > 1) {
recordRuleExitStatus(ruleName, "Failed");
return warn(
`The source branch name \`${sourceBranch}\` contains more than one slash. This can cause troubles with git sync. Please rename the branch.`
);
}
// Check if the source branch name contains any uppercase letters
if (sourceBranch !== sourceBranch.toLowerCase()) {
recordRuleExitStatus(ruleName, "Failed");
return warn(
`The source branch name \`${sourceBranch}\` contains uppercase letters. This can cause troubles on case-insensitive file systems (macOS). Please use only lowercase letters.`
);
}
// At this point, the rule has passed
recordRuleExitStatus(ruleName, "Passed");
};
+31
View File
@@ -0,0 +1,31 @@
const { recordRuleExitStatus } = require("./configParameters.js");
/**
* Check if MR Title contains prefix "WIP: ...".
*
* @dangerjs WARN
*/
module.exports = function () {
const ruleName = 'Merge request not in Draft or WIP state';
const mrTitle = danger.gitlab.mr.title;
const regexes = [
{ prefix: "WIP", regex: /^WIP:/i },
{ prefix: "W.I.P", regex: /^W\.I\.P/i },
{ prefix: "[WIP]", regex: /^\[WIP/i },
{ prefix: "[W.I.P]", regex: /^\[W\.I\.P/i },
{ prefix: "(WIP)", regex: /^\(WIP/i },
{ prefix: "(W.I.P)", regex: /^\(W\.I\.P/i },
];
for (const item of regexes) {
if (item.regex.test(mrTitle)) {
recordRuleExitStatus(ruleName, "Failed");
return warn(
`Please remove the \`${item.prefix}\` prefix from the MR name before merging this MR.`
);
}
}
// At this point, the rule has passed
recordRuleExitStatus(ruleName, "Passed");
};
+2745
View File
File diff suppressed because it is too large Load Diff
+12
View File
@@ -0,0 +1,12 @@
{
"name": "dangerjs-esp-idf",
"description": "Merge request automatic linter",
"main": "dangerfile.js",
"dependencies": {
"danger": "^11.2.3",
"axios": "^1.3.3",
"langchain": "^0.0.53",
"openai-gpt-token-counter": "^1.0.3",
"@commitlint/lint": "^13.1.0"
}
}
@@ -13,20 +13,3 @@
<!-- Either state release notes or write "No release notes" -->
<!-- ## Breaking change notes --><!-- Optional -->
<!-- ## Dynamic Pipeline Configuration
```yaml
Test Case Filters:
# Only run tests that match the given substring expression (modified files/components will be ignored):
# Please use a list of strings.
# This will run the test cases filtered like `pytest -k "(<list_item_1>) or (<list_item_2>) or ...`
# The fast pipeline will fail at the final stage.
# For example:
- test_sdm and not sdmmc
- test_hello_world
# This example will include all tests containing 'test_hello_world' in the name,
# and include all tests containing 'test_sdm' but not 'sdmmc' in the name.
``` --><!-- Optional -->
<!-- Don't remove the next line - assigns the MR author as the assignee -->
/assign me
@@ -10,7 +10,8 @@ _This entire section can be deleted if all items are checked._
* [ ] All related links, including JIRA, backport, submodule MR, are mentioned in the `Related` subsection.
* [ ] Any GitHub issues are linked inside the git commit message and corresponding release notes
* [ ] Add label for the area this MR is part of
* [ ] For documentation updates, check if label `needs translation:CN` or `needs translation:EN` have been added when the other language version still needs the update. Don't add such labels if the document updated has never been translated before and requires translation from scratch.
* [ ] For documentation updates, check if label `Docs` and `needs translation:CN` or `needs translation:EN` have been added when the other language version still needs the update. Skip adding the label if the document is not yet translated.
* [ ] Check if documents requiring translation fall under get-started section. If yes, add the labels mentioned above. Then the documentation team will assign a translator for you. Please inform the translator to prepare translation once your MR is ready to merge. The translation should be included in your MR to get it merged. For more information, see documentation workflow in Wiki.
* [ ] Any necessary "needs backport" labels are added
* [ ] Check if this is a breaking change. If it is, add notes to the `Breaking change notes` subsection below
* [ ] Release note entry if this is a new public feature, or a fix for an issue introduced in the previous release.
@@ -41,7 +42,7 @@ _For other small/non-public changes, which are not expected to be in the release
_Don't touch the subsection titles below, they will be parsed by scripts._
## Release notes <!-- Mandatory -->
## Release notes (Mandatory)
_Changes made in this MR that should go into the **Release Notes** should be listed here. Please use **past tense** and *specify the area (see maintainers page of IDF internal wiki)*. If there is a subscope, include it and separate with slash (`/`). Minor changes can go to the descriptions above without a release notes entry._
@@ -60,6 +61,3 @@ _If there are any breaking changes, please mention it here. Talking about (1) wh
_Please strictly follow the breaking change restriction, which means, if there is a breaking change but you are merging to non-major versions, you have to separate the breaking part out to another MR for a major version. The breaking change subsection is only accepted in MRs merging to major versions._
* [VFS/UART] Now vfs_uart_set_rts_cts accept one more instance argument, to support configuration to different ports.
<!-- Don't remove the next line - assigns the MR author as the assignee -->
/assign me
+15 -6
View File
@@ -46,6 +46,19 @@
sbom-description = Wear-leveled SPI flash file system for embedded devices
sbom-hash = 0dbb3f71c5f6fae3747a9d935372773762baf852
[submodule "components/json/cJSON"]
path = components/json/cJSON
url = ../../DaveGamble/cJSON.git
sbom-version = 1.7.18
sbom-cpe = cpe:2.3:a:cjson_project:cjson:{}:*:*:*:*:*:*:*
sbom-supplier = Person: Dave Gamble
sbom-url = https://github.com/DaveGamble/cJSON
sbom-description = Ultralightweight JSON parser in ANSI C
sbom-hash = 8f2beb57ddad1f94bed899790b00f46df893ccac
sbom-cve-exclude-list = CVE-2024-31755 Resolved in v1.7.18
sbom-cve-exclude-list = CVE-2023-26819 Resolved in commit a328d65ad490b64da8c87523cbbfe16050ba5bf6
sbom-cve-exclude-list = CVE-2023-53154 Resolved in v1.7.18
[submodule "components/mbedtls/mbedtls"]
path = components/mbedtls/mbedtls
url = ../../espressif/mbedtls.git
@@ -71,11 +84,11 @@
[submodule "components/unity/unity"]
path = components/unity/unity
url = ../../ThrowTheSwitch/Unity.git
sbom-version = v2.6.0-RC1
sbom-version = v2.4.3-51-g7d2bf62b7e6a
sbom-supplier = Organization: ThrowTheSwitch community <http://www.throwtheswitch.org>
sbom-url = https://github.com/ThrowTheSwitch/Unity
sbom-description = Simple Unit Testing for C
sbom-hash = bf560290f6020737eafaa8b5cbd2177c3956c03f
sbom-hash = 7d2bf62b7e6afaf38153041a9d53c21aeeca9a25
[submodule "components/bt/host/nimble/nimble"]
path = components/bt/host/nimble/nimble
@@ -122,10 +135,6 @@
path = components/bt/controller/lib_esp32c6/esp32c6-bt-lib
url = ../../espressif/esp32c6-bt-lib.git
[submodule "components/bt/controller/lib_esp32c5/esp32c5-bt-lib"]
path = components/bt/controller/lib_esp32c5/esp32c5-bt-lib
url = ../../espressif/esp32c5-bt-lib.git
[submodule "components/heap/tlsf"]
path = components/heap/tlsf
url = ../../espressif/tlsf.git
-68
View File
@@ -1,68 +0,0 @@
config_rules = [
'sdkconfig.ci=default',
'sdkconfig.ci.*=',
'=default',
]
extra_pythonpaths = [
'$IDF_PATH/tools/ci/python_packages',
'$IDF_PATH/tools/ci',
'$IDF_PATH/tools',
]
build_system = "idf_ci_local.app:IdfCMakeApp"
recursive = true
check_warnings = true
keep_going = true
copy_sdkconfig = true
ignore_warning_files = [
'$IDF_PATH/tools/ci/ignore_build_warnings.txt',
]
build_dir = "build_@t_@w"
build_log_filename = "build_log.txt"
size_json_filename = "size_${CI_JOB_ID}.json"
verbose = 1 # INFO
additional_build_targets = [
'esp32h21',
'esp32h4',
]
# collect
collect_app_info_filename = "app_info_${CI_JOB_NAME_SLUG}.txt"
junitxml = "build_summary_${CI_JOB_NAME_SLUG}.xml"
# manifest
check_manifest_rules = true
manifest_rootpath = "$IDF_PATH"
manifest_filepatterns = [
'**/.build-test-rules.yml',
]
# dependency-driven build
deactivate_dependency_driven_build_by_components = [
'cxx',
'esp_common',
'esp_hw_support',
'esp_rom',
'esp_system',
'esp_timer',
'freertos',
'hal',
'heap',
'log',
'esp_libc',
'riscv',
'soc',
'xtensa',
]
deactivate_dependency_driven_build_by_filepatterns = [
# tools
'tools/cmake/**/*',
'tools/tools.json',
# ci
'tools/ci/ignore_build_warnings.txt',
]
-106
View File
@@ -1,106 +0,0 @@
preserve_non_test_related_apps = false
exclude_dirs = [
'tools/test_mkdfu',
'tools/test_idf_size',
'tools/test_idf_py',
'tools/test_idf_diag',
'tools/test_bsasm',
'tools/ci/test_autocomplete',
'tools/test_build_system',
]
[local_runtime_envs]
EXTRA_CFLAGS = "-Werror -Werror=deprecated-declarations -Werror=unused-variable -Werror=unused-but-set-variable -Werror=unused-function -Wstrict-prototypes"
EXTRA_CXXFLAGS = "-Werror -Werror=deprecated-declarations -Werror=unused-variable -Werror=unused-but-set-variable -Werror=unused-function"
LDGEN_CHECK_MAPPING = "1"
IDF_CI_BUILD = "1"
[gitlab]
[gitlab.build_pipeline]
workflow_name = "build_child_pipeline"
presigned_json_job_name = 'generate_pytest_build_report'
job_tags = ['build', 'shiny']
job_template_name = '.dynamic_build_template'
job_template_jinja = '' # write in tools/ci/dynamic_pipelines/templates/.dynamic_jobs.yml
pre_yaml_jinja = """
include:
- .gitlab/ci/common.yml
- tools/ci/dynamic_pipelines/templates/.dynamic_jobs.yml
- tools/ci/dynamic_pipelines/templates/test_child_pipeline.yml
"""
yaml_jinja = """
{{ settings.gitlab.build_pipeline.pre_yaml_jinja }}
workflow:
name: {{ settings.gitlab.build_pipeline.workflow_name }}
rules:
- when: always
{{ jobs }}
""" # simplified since we included the tools/ci/dynamic_pipelines/templates/test_child_pipeline.yml
[gitlab.test_pipeline]
job_template_name = '.dynamic_target_test_template'
job_template_jinja = '' # write in tools/ci/dynamic_pipelines/templates/.dynamic_jobs.yml
pre_yaml_jinja = """
include:
- .gitlab/ci/common.yml
- tools/ci/dynamic_pipelines/templates/.dynamic_jobs.yml
- tools/ci/dynamic_pipelines/templates/generate_target_test_report.yml
"""
[gitlab.artifacts.s3.debug]
bucket = "idf-artifacts"
patterns = [
'**/build*/bootloader/*.map',
'**/build*/bootloader/*.elf',
'**/build*/*.map',
'**/build*/*.elf',
# customized
'**/build*/esp_tee/*.map',
'**/build*/esp_tee/*.elf',
'**/build*/gdbinit/*',
]
[gitlab.artifacts.s3.flash]
bucket = "idf-artifacts"
patterns = [
'**/build*/bootloader/*.bin',
'**/build*/*.bin',
'**/build*/partition_table/*.bin',
'**/build*/flasher_args.json',
'**/build*/flash_project_args',
'**/build*/config/sdkconfig.json',
'**/build*/sdkconfig',
'**/build*/project_description.json',
# customized
'**/build*/esp_tee/*.bin',
]
[gitlab.artifacts.s3.log]
bucket = "idf-artifacts"
patterns = [
'**/build*/build_log.txt',
'**/build*/size*.json',
]
[gitlab.artifacts.s3.junit]
bucket = "idf-artifacts"
patterns = [
'XUNIT_RESULT_*.xml',
]
[gitlab.artifacts.s3.env]
bucket = "idf-artifacts"
patterns = [
'pipeline.env',
]
[gitlab.artifacts.s3.longterm]
bucket = "longterm"
if_clause = '"$CI_COMMIT_REF_NAME" == "master"'
patterns = [
'**/build*/size.json',
]
+1 -1
View File
@@ -1,7 +1,7 @@
[mypy]
# Specifies the Python version used to parse and check the target program
python_version = 3.10
python_version = 3.9
# Disallows defining functions without type annotations or with incomplete type annotations
# True => enforce type annotation in all function definitions
+53 -61
View File
@@ -1,15 +1,9 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
default_stages: [pre-commit]
default_stages: [commit]
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: "v0.9.7"
hooks:
- id: ruff-format
- id: ruff
args: [ "--fix", "--show-fixes" ]
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
@@ -20,7 +14,6 @@ repos:
# 2 - any file matching *test*/*expected* (for host tests, if possible use this naming pattern always)
# 3 - any directory named 'testdata'
# 4 - protobuf auto-generated files
# 5 - COPYING files
exclude: &whitespace_excludes |
(?x)^(
.+\.(md|rst|map|bin)|
@@ -29,11 +22,7 @@ repos:
.*_pb2.py|
.*.pb-c.h|
.*.pb-c.c|
.*.yuv|
.*.rgb|
.*.gray|
.*COPYING.*|
docs/sphinx-known-warnings\.txt
.*.yuv
)$
- id: end-of-file-fixer
exclude: *whitespace_excludes
@@ -47,10 +36,21 @@ repos:
- id: no-commit-to-branch
name: Do not use uppercase letters in the branch name
args: ['--pattern', '^[^A-Z]*[A-Z]']
- repo: https://github.com/codespell-project/codespell
rev: v2.3.0
- repo: https://github.com/PyCQA/flake8
rev: 5.0.4
hooks:
- id: codespell
- id: flake8
args: ['--config=.flake8', '--tee', '--benchmark']
- repo: https://github.com/asottile/reorder-python-imports
rev: v3.12.0
hooks:
- id: reorder-python-imports
name: Reorder Python imports
args: [--py38-plus]
exclude: >
(?x)^(
.*_pb2.py
)$
- repo: local
hooks:
- id: check-executables
@@ -65,6 +65,18 @@ repos:
language: python
pass_filenames: false
always_run: true
- id: check-kconfigs
name: Validate Kconfig files
entry: tools/ci/check_kconfigs.py
language: python
additional_dependencies:
- esp-idf-kconfig>=1.5.0,<2.0.0
files: '^Kconfig$|Kconfig.*$'
- id: check-deprecated-kconfigs-options
name: Check if any Kconfig Options Deprecated
entry: tools/ci/check_deprecated_kconfigs.py
language: python
files: 'sdkconfig\.ci$|sdkconfig\.rename$|sdkconfig.*$'
- id: cmake-lint
name: Check CMake Files Format
entry: cmakelint --linelength=120 --spaces=4 --filter=-whitespace/indent
@@ -80,13 +92,20 @@ repos:
always_run: true
files: '\.gitlab/CODEOWNERS'
pass_filenames: false
- id: check-rules-yml
name: Check rules.yml all rules have at lease one job applied, all rules needed exist
entry: tools/ci/check_rules_yml.py
language: python
files: '\.gitlab/ci/.+\.yml|\.gitlab-ci.yml|\.gitmodules'
pass_filenames: false
additional_dependencies:
- PyYAML == 5.3.1
- id: check-generated-rules
name: Check rules are generated (based on .gitlab/ci/dependencies/dependencies.yml)
entry: tools/ci/generate_rules.py
language: python
files: '\.gitlab/ci/dependencies/.+|\.gitlab/ci/.*\.yml|.gitlab-ci.yml'
files: '\.gitlab/ci/dependencies/.+|\.gitlab/ci/.*\.yml'
pass_filenames: false
require_serial: true
additional_dependencies:
- PyYAML == 5.3.1
- id: mypy-check
@@ -97,7 +116,6 @@ repos:
- 'mypy-extensions'
- 'types-setuptools'
- 'types-PyYAML'
- 'types-requests'
exclude: >
(?x)^(
.*_pb2.py
@@ -144,52 +162,42 @@ repos:
require_serial: true
additional_dependencies:
- PyYAML == 5.3.1
- idf-build-apps~=2.13
- id: sort-yaml-files
name: sort yaml files
entry: tools/ci/sort_yaml.py
- idf_build_apps~=1.0
- id: sort-build-test-rules-ymls
name: sort .build-test-rules.yml files
entry: tools/ci/check_build_test_rules.py sort-yaml
language: python
files: '\.build-test-rules\.yml$|known_generate_test_child_pipeline_warnings\.yml$'
files: '\.build-test-rules\.yml'
additional_dependencies:
- PyYAML == 5.3.1
- ruamel.yaml
- id: sort-yaml-test
name: sort yaml test
entry: python -m unittest tools/ci/sort_yaml.py
- id: check-build-test-rules-path-exists
name: check path in .build-test-rules.yml exists
entry: tools/ci/check_build_test_rules.py check-exist
language: python
files: 'tools/ci/sort_yaml\.py$'
additional_dependencies:
- ruamel.yaml
- PyYAML == 5.3.1
always_run: true
pass_filenames: false
require_serial: true
- id: cleanup-ignore-lists
name: Remove non-existing patterns from ignore lists
entry: tools/ci/cleanup_ignore_lists.py
language: python
always_run: true
require_serial: true
- id: gitlab-yaml-linter
name: Check gitlab yaml files
entry: tools/ci/gitlab_yaml_linter.py
language: python
files: '\.gitlab-ci\.yml|\.gitlab/ci/.+\.yml|\.gitmodules'
pass_filenames: false
additional_dependencies:
- PyYAML == 5.3.1
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.1
hooks:
- id: file-contents-sorter
files: "tools/ci/(\
executable-list\\.txt\
|mypy_ignore_list\\.txt\
|check_copyright_ignore\\.txt\
|exclude_check_tools_files\\.txt\
)"
files: 'tools\/ci\/(executable-list\.txt|mypy_ignore_list\.txt|check_copyright_ignore\.txt)'
- repo: https://github.com/espressif/check-copyright/
rev: v1.1.1
rev: v1.0.3
hooks:
- id: check-copyright
args: ['--ignore', 'tools/ci/check_copyright_ignore.txt', '--config', 'tools/ci/check_copyright_config.yaml']
- repo: https://github.com/espressif/conventional-precommit-linter
rev: v1.10.0
rev: v1.2.1
hooks:
- id: conventional-precommit-linter
stages: [commit-msg]
@@ -210,24 +218,8 @@ repos:
name: shellcheck dash (export.sh)
args: ['--shell', 'dash', '-x']
files: 'export.sh'
- repo: https://github.com/espressif/esp-pwsh-check
rev: v1.0.1
hooks:
- id: check-powershell-scripts
stages: [manual]
- repo: https://github.com/espressif/esp-idf-sbom.git
rev: v0.13.0
hooks:
- id: validate-sbom-manifest
stages: [post-commit]
- repo: https://github.com/sphinx-contrib/sphinx-lint
rev: v0.9.1
hooks:
- id: 'sphinx-lint'
name: Lint rST files in docs folder using Sphinx Lint
files: ^(docs/en|docs/zh_CN)/.*\.(rst|inc)$
- repo: https://github.com/espressif/esp-idf-kconfig.git
rev: v3.2.0
hooks:
- id: check-kconfig-files
- id: check-deprecated-kconfig-options
+641
View File
@@ -0,0 +1,641 @@
[MAIN]
# Analyse import fallback blocks. This can be used to support both Python 2 and
# 3 compatible code, which means that the block might have code that exists
# only in one or another interpreter, leading to false positives when analysed.
analyse-fallback-blocks=no
# Clear in-memory caches upon conclusion of linting. Useful if running pylint
# in a server-like mode.
clear-cache-post-run=no
# Load and enable all available extensions. Use --list-extensions to see a list
# all available extensions.
#enable-all-extensions=
# In error mode, messages with a category besides ERROR or FATAL are
# suppressed, and no reports are done by default. Error mode is compatible with
# disabling specific errors.
#errors-only=
# Always return a 0 (non-error) status code, even if lint errors are found.
# This is primarily useful in continuous integration scripts.
#exit-zero=
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code.
extension-pkg-allow-list=
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code. (This is an alternative name to extension-pkg-allow-list
# for backward compatibility.)
extension-pkg-whitelist=
# Return non-zero exit code if any of these messages/categories are detected,
# even if score is above --fail-under value. Syntax same as enable. Messages
# specified are enabled, while categories only check already-enabled messages.
fail-on=
# Specify a score threshold under which the program will exit with error.
fail-under=10
# Interpret the stdin as a python script, whose filename needs to be passed as
# the module_or_package argument.
#from-stdin=
# Files or directories to be skipped. They should be base names, not paths.
ignore=CVS
# Add files or directories matching the regular expressions patterns to the
# ignore-list. The regex matches against paths and can be in Posix or Windows
# format. Because '\\' represents the directory delimiter on Windows systems,
# it can't be used as an escape character.
ignore-paths=
# Files or directories matching the regular expression patterns are skipped.
# The regex matches against base names, not paths. The default value ignores
# Emacs file locks
ignore-patterns=^\.#
# List of module names for which member attributes should not be checked
# (useful for modules/projects where namespaces are manipulated during runtime
# and thus existing member attributes cannot be deduced by static analysis). It
# supports qualified module names, as well as Unix pattern matching.
ignored-modules=
# Python code to execute, usually for sys.path manipulation such as
# pygtk.require().
#init-hook=
# Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the
# number of processors available to use, and will cap the count on Windows to
# avoid hangs.
jobs=1
# Control the amount of potential inferred values when inferring a single
# object. This can help the performance when dealing with large functions or
# complex, nested conditions.
limit-inference-results=100
# List of plugins (as comma separated values of python module names) to load,
# usually to register additional checkers.
load-plugins=
# Pickle collected data for later comparisons.
persistent=yes
# Minimum Python version to use for version dependent checks. Will default to
# the version used to run pylint.
py-version=3.8
# Discover python modules and packages in the file system subtree.
recursive=no
# Add paths to the list of the source roots. Supports globbing patterns. The
# source root is an absolute path or a path relative to the current working
# directory used to determine a package namespace for modules located under the
# source root.
source-roots=
# When enabled, pylint would attempt to guess common misconfiguration and emit
# user-friendly hints instead of false-positive error messages.
suggestion-mode=yes
# Allow loading of arbitrary C extensions. Extensions are imported into the
# active Python interpreter and may run arbitrary code.
unsafe-load-any-extension=no
# In verbose mode, extra non-checker-related info will be displayed.
#verbose=
[BASIC]
# Naming style matching correct argument names.
argument-naming-style=snake_case
# Regular expression matching correct argument names. Overrides argument-
# naming-style. If left empty, argument names will be checked with the set
# naming style.
#argument-rgx=
# Naming style matching correct attribute names.
attr-naming-style=snake_case
# Regular expression matching correct attribute names. Overrides attr-naming-
# style. If left empty, attribute names will be checked with the set naming
# style.
#attr-rgx=
# Bad variable names which should always be refused, separated by a comma.
bad-names=foo,
bar,
baz,
toto,
tutu,
tata
# Bad variable names regexes, separated by a comma. If names match any regex,
# they will always be refused
bad-names-rgxs=
# Naming style matching correct class attribute names.
class-attribute-naming-style=any
# Regular expression matching correct class attribute names. Overrides class-
# attribute-naming-style. If left empty, class attribute names will be checked
# with the set naming style.
#class-attribute-rgx=
# Naming style matching correct class constant names.
class-const-naming-style=UPPER_CASE
# Regular expression matching correct class constant names. Overrides class-
# const-naming-style. If left empty, class constant names will be checked with
# the set naming style.
#class-const-rgx=
# Naming style matching correct class names.
class-naming-style=PascalCase
# Regular expression matching correct class names. Overrides class-naming-
# style. If left empty, class names will be checked with the set naming style.
#class-rgx=
# Naming style matching correct constant names.
const-naming-style=UPPER_CASE
# Regular expression matching correct constant names. Overrides const-naming-
# style. If left empty, constant names will be checked with the set naming
# style.
#const-rgx=
# Minimum line length for functions/classes that require docstrings, shorter
# ones are exempt.
docstring-min-length=-1
# Naming style matching correct function names.
function-naming-style=snake_case
# Regular expression matching correct function names. Overrides function-
# naming-style. If left empty, function names will be checked with the set
# naming style.
#function-rgx=
# Good variable names which should always be accepted, separated by a comma.
good-names=i,
j,
k,
ex,
Run,
_
# Good variable names regexes, separated by a comma. If names match any regex,
# they will always be accepted
good-names-rgxs=
# Include a hint for the correct naming format with invalid-name.
include-naming-hint=no
# Naming style matching correct inline iteration names.
inlinevar-naming-style=any
# Regular expression matching correct inline iteration names. Overrides
# inlinevar-naming-style. If left empty, inline iteration names will be checked
# with the set naming style.
#inlinevar-rgx=
# Naming style matching correct method names.
method-naming-style=snake_case
# Regular expression matching correct method names. Overrides method-naming-
# style. If left empty, method names will be checked with the set naming style.
#method-rgx=
# Naming style matching correct module names.
module-naming-style=snake_case
# Regular expression matching correct module names. Overrides module-naming-
# style. If left empty, module names will be checked with the set naming style.
#module-rgx=
# Colon-delimited sets of names that determine each other's naming style when
# the name regexes allow several styles.
name-group=
# Regular expression which should only match function or class names that do
# not require a docstring.
no-docstring-rgx=^_
# List of decorators that produce properties, such as abc.abstractproperty. Add
# to this list to register other decorators that produce valid properties.
# These decorators are taken in consideration only for invalid-name.
property-classes=abc.abstractproperty
# Regular expression matching correct type alias names. If left empty, type
# alias names will be checked with the set naming style.
#typealias-rgx=
# Regular expression matching correct type variable names. If left empty, type
# variable names will be checked with the set naming style.
#typevar-rgx=
# Naming style matching correct variable names.
variable-naming-style=snake_case
# Regular expression matching correct variable names. Overrides variable-
# naming-style. If left empty, variable names will be checked with the set
# naming style.
#variable-rgx=
[CLASSES]
# Warn about protected attribute access inside special methods
check-protected-access-in-special-methods=no
# List of method names used to declare (i.e. assign) instance attributes.
defining-attr-methods=__init__,
__new__,
setUp,
asyncSetUp,
__post_init__
# List of member names, which should be excluded from the protected access
# warning.
exclude-protected=_asdict,_fields,_replace,_source,_make,os._exit
# List of valid names for the first argument in a class method.
valid-classmethod-first-arg=cls
# List of valid names for the first argument in a metaclass class method.
valid-metaclass-classmethod-first-arg=mcs
[DESIGN]
# List of regular expressions of class ancestor names to ignore when counting
# public methods (see R0903)
exclude-too-few-public-methods=
# List of qualified class names to ignore when counting class parents (see
# R0901)
ignored-parents=
# Maximum number of arguments for function / method.
max-args=5
# Maximum number of attributes for a class (see R0902).
max-attributes=7
# Maximum number of boolean expressions in an if statement (see R0916).
max-bool-expr=5
# Maximum number of branch for function / method body.
max-branches=12
# Maximum number of locals for function / method body.
max-locals=15
# Maximum number of parents for a class (see R0901).
max-parents=7
# Maximum number of public methods for a class (see R0904).
max-public-methods=20
# Maximum number of return / yield for function / method body.
max-returns=6
# Maximum number of statements in function / method body.
max-statements=50
# Minimum number of public methods for a class (see R0903).
min-public-methods=2
[EXCEPTIONS]
# Exceptions that will emit a warning when caught.
overgeneral-exceptions=builtins.BaseException,builtins.Exception
[FORMAT]
# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
expected-line-ending-format=
# Regexp for a line that is allowed to be longer than the limit.
ignore-long-lines=^\s*(# )?<?https?://\S+>?$
# Number of spaces of indent required inside a hanging or continued line.
indent-after-paren=4
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
# tab).
indent-string=' '
# Maximum number of characters on a single line.
max-line-length=160
# Maximum number of lines in a module.
max-module-lines=1000
# Allow the body of a class to be on the same line as the declaration if body
# contains single statement.
single-line-class-stmt=no
# Allow the body of an if to be on the same line as the test if there is no
# else.
single-line-if-stmt=no
[IMPORTS]
# List of modules that can be imported at any level, not just the top level
# one.
allow-any-import-level=
# Allow explicit reexports by alias from a package __init__.
allow-reexport-from-package=no
# Allow wildcard imports from modules that define __all__.
allow-wildcard-with-all=no
# Deprecated modules which should not be used, separated by a comma.
deprecated-modules=
# Output a graph (.gv or any supported image format) of external dependencies
# to the given file (report RP0402 must not be disabled).
ext-import-graph=
# Output a graph (.gv or any supported image format) of all (i.e. internal and
# external) dependencies to the given file (report RP0402 must not be
# disabled).
import-graph=
# Output a graph (.gv or any supported image format) of internal dependencies
# to the given file (report RP0402 must not be disabled).
int-import-graph=
# Force import order to recognize a module as part of the standard
# compatibility libraries.
known-standard-library=
# Force import order to recognize a module as part of a third party library.
known-third-party=enchant
# Couples of modules and preferred modules, separated by a comma.
preferred-modules=
[LOGGING]
# The type of string formatting that logging methods do. `old` means using %
# formatting, `new` is for `{}` formatting.
logging-format-style=old
# Logging modules to check that the string format arguments are in logging
# function parameter format.
logging-modules=logging
[MESSAGES CONTROL]
# Only show warnings with the listed confidence levels. Leave empty to show
# all. Valid levels: HIGH, CONTROL_FLOW, INFERENCE, INFERENCE_FAILURE,
# UNDEFINED.
confidence=HIGH,
CONTROL_FLOW,
INFERENCE,
INFERENCE_FAILURE,
UNDEFINED
# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifiers separated by comma (,) or put this
# option multiple times (only on the command line, not in the configuration
# file where it should appear only once). You can also use "--disable=all" to
# disable everything first and then re-enable specific checks. For example, if
# you want to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use "--disable=all --enable=classes
# --disable=W".
disable=raw-checker-failed,
bad-inline-option,
locally-disabled,
file-ignored,
suppressed-message,
useless-suppression,
deprecated-pragma,
use-symbolic-message-instead,
missing-function-docstring, # Modified since here, include this line
missing-class-docstring,
missing-module-docstring,
wrong-import-order,
invalid-name,
too-few-public-methods,
too-many-locals,
ungrouped-imports, # since we have isort in pre-commit
no-name-in-module, # since we have flake8 to check this
too-many-instance-attributes,
# Enable the message, report, category or checker with the given id(s). You can
# either give multiple identifier separated by comma (,) or put this option
# multiple time (only on the command line, not in the configuration file where
# it should appear only once). See also the "--disable" option for examples.
enable=c-extension-no-member
[METHOD_ARGS]
# List of qualified names (i.e., library.method) which require a timeout
# parameter e.g. 'requests.api.get,requests.api.post'
timeout-methods=requests.api.delete,requests.api.get,requests.api.head,requests.api.options,requests.api.patch,requests.api.post,requests.api.put,requests.api.request
[MISCELLANEOUS]
# List of note tags to take in consideration, separated by a comma.
notes=FIXME,
XXX,
TODO
# Regular expression of note tags to take in consideration.
notes-rgx=
[REFACTORING]
# Maximum number of nested blocks for function / method body
max-nested-blocks=5
# Complete name of functions that never returns. When checking for
# inconsistent-return-statements if a never returning function is called then
# it will be considered as an explicit return statement and no message will be
# printed.
never-returning-functions=sys.exit,argparse.parse_error
[REPORTS]
# Python expression which should return a score less than or equal to 10. You
# have access to the variables 'fatal', 'error', 'warning', 'refactor',
# 'convention', and 'info' which contain the number of messages in each
# category, as well as 'statement' which is the total number of statements
# analyzed. This score is used by the global evaluation report (RP0004).
evaluation=max(0, 0 if fatal else 10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10))
# Template used to display messages. This is a python new-style format string
# used to format the message information. See doc for all details.
msg-template=
# Set the output format. Available formats are text, parseable, colorized, json
# and msvs (visual studio). You can also give a reporter class, e.g.
# mypackage.mymodule.MyReporterClass.
#output-format=
# Tells whether to display a full report or only the messages.
reports=no
# Activate the evaluation score.
score=yes
[SIMILARITIES]
# Comments are removed from the similarity computation
ignore-comments=yes
# Docstrings are removed from the similarity computation
ignore-docstrings=yes
# Imports are removed from the similarity computation
ignore-imports=yes
# Signatures are removed from the similarity computation
ignore-signatures=yes
# Minimum lines number of a similarity.
min-similarity-lines=4
[SPELLING]
# Limits count of emitted suggestions for spelling mistakes.
max-spelling-suggestions=4
# Spelling dictionary name. No available dictionaries : You need to install
# both the python package and the system dependency for enchant to work..
spelling-dict=
# List of comma separated words that should be considered directives if they
# appear at the beginning of a comment and should not be checked.
spelling-ignore-comment-directives=fmt: on,fmt: off,noqa:,noqa,nosec,isort:skip,mypy:
# List of comma separated words that should not be checked.
spelling-ignore-words=
# A path to a file that contains the private dictionary; one word per line.
spelling-private-dict-file=
# Tells whether to store unknown words to the private dictionary (see the
# --spelling-private-dict-file option) instead of raising a message.
spelling-store-unknown-words=no
[STRING]
# This flag controls whether inconsistent-quotes generates a warning when the
# character used as a quote delimiter is used inconsistently within a module.
check-quote-consistency=no
# This flag controls whether the implicit-str-concat should generate a warning
# on implicit string concatenation in sequences defined over several lines.
check-str-concat-over-line-jumps=no
[TYPECHECK]
# List of decorators that produce context managers, such as
# contextlib.contextmanager. Add to this list to register other decorators that
# produce valid context managers.
contextmanager-decorators=contextlib.contextmanager
# List of members which are set dynamically and missed by pylint inference
# system, and so shouldn't trigger E1101 when accessed. Python regular
# expressions are accepted.
generated-members=
# Tells whether to warn about missing members when the owner of the attribute
# is inferred to be None.
ignore-none=yes
# This flag controls whether pylint should warn about no-member and similar
# checks whenever an opaque object is returned when inferring. The inference
# can return multiple potential results while evaluating a Python object, but
# some branches might not be evaluated, which results in partial inference. In
# that case, it might be useful to still emit no-member and other checks for
# the rest of the inferred objects.
ignore-on-opaque-inference=yes
# List of symbolic message names to ignore for Mixin members.
ignored-checks-for-mixins=no-member,
not-async-context-manager,
not-context-manager,
attribute-defined-outside-init
# List of class names for which member attributes should not be checked (useful
# for classes with dynamically set attributes). This supports the use of
# qualified names.
ignored-classes=optparse.Values,thread._local,_thread._local,argparse.Namespace
# Show a hint with possible names when a member name was not found. The aspect
# of finding the hint is based on edit distance.
missing-member-hint=yes
# The minimum edit distance a name should have in order to be considered a
# similar match for a missing member name.
missing-member-hint-distance=1
# The total number of similar names that should be taken in consideration when
# showing a hint for a missing member.
missing-member-max-choices=1
# Regex pattern to define which classes are considered mixins.
mixin-class-rgx=.*[Mm]ixin
# List of decorators that change the signature of a decorated function.
signature-mutators=
[VARIABLES]
# List of additional names supposed to be defined in builtins. Remember that
# you should avoid defining new builtins when possible.
additional-builtins=
# Tells whether unused global variables should be treated as a violation.
allow-global-unused-variables=yes
# List of names allowed to shadow builtins
allowed-redefined-builtins=
# List of strings which can identify a callback function by name. A callback
# name must start or end with one of those strings.
callbacks=cb_,
_cb
# A regular expression matching the name of dummy variables (i.e. expected to
# not be used).
dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_
# Argument names that match this expression will be ignored.
ignored-argument-names=_.*|^ignored_|^unused_
# Tells whether we should check for unused import in __init__ files.
init-import=no
# List of qualified module names which can have objects that can redefine
# builtins.
redefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io
+21
View File
@@ -0,0 +1,21 @@
# .readthedocs.yml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
# Required
version: 2
# Optionally build your docs in additional formats such as PDF and ePub
formats:
- pdf
# Optionally set the version of Python and requirements required to build your docs
python:
version: 2.7
install:
- requirements: docs/requirements.txt
# We need to list all the submodules included in documenation build by DOxygen
submodules:
include:
- components/mqtt/esp-mqtt
+82 -101
View File
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.22)
cmake_minimum_required(VERSION 3.16)
project(esp-idf C CXX ASM)
if(CMAKE_CURRENT_LIST_DIR STREQUAL CMAKE_SOURCE_DIR)
@@ -13,51 +13,12 @@ endif()
# Add the following build specifications here, since these seem to be dependent
# on config values on the root Kconfig.
if(BOOTLOADER_BUILD)
if(CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE)
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
list(APPEND compile_options "-Oz")
else()
list(APPEND compile_options "-Os")
endif()
if(CMAKE_C_COMPILER_ID MATCHES "GNU")
list(APPEND compile_options "-freorder-blocks")
if(CONFIG_IDF_TARGET_ARCH_XTENSA)
list(APPEND compile_options "-mno-target-align")
endif()
endif()
elseif(CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG)
list(APPEND compile_options "-Og")
if(CMAKE_C_COMPILER_ID MATCHES "GNU" AND NOT CONFIG_IDF_TARGET_LINUX)
list(APPEND compile_options "-fno-shrink-wrap") # Disable shrink-wrapping to reduce binary size
endif()
elseif(CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF)
list(APPEND compile_options "-O2")
endif()
elseif(ESP_TEE_BUILD)
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
list(APPEND compile_options "-Oz")
else()
list(APPEND compile_options "-Os")
list(APPEND compile_options "-freorder-blocks")
endif()
else()
if(NOT BOOTLOADER_BUILD)
if(CONFIG_COMPILER_OPTIMIZATION_SIZE)
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
list(APPEND compile_options "-Oz")
else()
list(APPEND compile_options "-Os")
endif()
list(APPEND compile_options "-Os")
if(CMAKE_C_COMPILER_ID MATCHES "GNU")
list(APPEND compile_options "-freorder-blocks")
if(CONFIG_IDF_TARGET_ARCH_XTENSA)
list(APPEND compile_options "-mno-target-align")
endif()
endif()
elseif(CONFIG_COMPILER_OPTIMIZATION_DEBUG)
list(APPEND compile_options "-Og")
@@ -70,6 +31,24 @@ else()
list(APPEND compile_options "-O2")
endif()
else() # BOOTLOADER_BUILD
if(CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE)
list(APPEND compile_options "-Os")
if(CMAKE_C_COMPILER_ID MATCHES "GNU")
list(APPEND compile_options "-freorder-blocks")
endif()
elseif(CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG)
list(APPEND compile_options "-Og")
if(CMAKE_C_COMPILER_ID MATCHES "GNU" AND NOT CONFIG_IDF_TARGET_LINUX)
list(APPEND compile_options "-fno-shrink-wrap") # Disable shrink-wrapping to reduce binary size
endif()
elseif(CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE)
list(APPEND compile_options "-O0")
elseif(CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF)
list(APPEND compile_options "-O2")
endif()
endif()
if(CONFIG_COMPILER_CXX_EXCEPTIONS)
@@ -109,13 +88,15 @@ if(CMAKE_C_COMPILER_ID MATCHES "Clang")
list(APPEND compile_options "-Wno-char-subscripts")
# Clang seems to notice format string issues which GCC doesn't.
list(APPEND compile_options "-Wno-format-security")
# Logic bug in essl component
list(APPEND compile_options "-Wno-tautological-overlap-compare")
# Some pointer checks in mDNS component check addresses which can't be NULL
list(APPEND compile_options "-Wno-tautological-pointer-compare")
# Similar to the above, in tcp_transport
list(APPEND compile_options "-Wno-pointer-bool-conversion")
# mbedTLS md5.c triggers this warning in md5_test_buf (false positive)
list(APPEND compile_options "-Wno-string-concatenation")
# multiple cases of implicit conversions between unrelated enum types
# multiple cases of implict convertions between unrelated enum types
list(APPEND compile_options "-Wno-enum-conversion")
# When IRAM_ATTR is specified both in function declaration and definition,
# it produces different section names, since section names include __COUNTER__.
@@ -140,10 +121,8 @@ if(CMAKE_C_COMPILER_ID MATCHES "Clang")
list(APPEND compile_options "-Wno-c2x-extensions")
# warning on xMPU_SETTINGS for esp32s2 has size 0 for C and 1 for C++
list(APPEND compile_options "-Wno-extern-c-compat")
if(NOT (CONFIG_IDF_TARGET_LINUX AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin"))
# warning: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1
list(APPEND compile_options "-Wno-single-bit-bitfield-constant-conversion")
endif()
# warning: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1
list(APPEND compile_options "-Wno-single-bit-bitfield-constant-conversion")
endif()
# More warnings may exist in unit tests and example projects.
@@ -171,20 +150,50 @@ if(CONFIG_COMPILER_DUMP_RTL_FILES)
list(APPEND compile_options "-fdump-rtl-expand")
endif()
if(CMAKE_C_COMPILER_ID MATCHES "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER 15.0)
list(APPEND c_compile_options "-fzero-init-padding-bits=all" "-fno-malloc-dce")
endif()
idf_build_set_property(GDBINIT_FILES_PREFIX_MAP "${BUILD_DIR}/gdbinit/prefix_map")
file(MAKE_DIRECTORY "${BUILD_DIR}/gdbinit")
file(WRITE "${BUILD_DIR}/gdbinit/prefix_map" "")
if(CONFIG_COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD_CONSTEXPR)
list(APPEND cxx_compile_options "-D_GLIBCXX20_CONSTEXPR=__attribute__((cold)) constexpr")
list(APPEND cxx_compile_options "-D_GLIBCXX23_CONSTEXPR=__attribute__((cold)) constexpr")
elseif(CONFIG_COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD)
list(APPEND cxx_compile_options "-D_GLIBCXX20_CONSTEXPR=__attribute__((cold))")
list(APPEND cxx_compile_options "-D_GLIBCXX23_CONSTEXPR=__attribute__((cold))")
endif()
if(NOT ${CMAKE_C_COMPILER_VERSION} VERSION_LESS 8.0.0)
if(CONFIG_COMPILER_HIDE_PATHS_MACROS)
list(APPEND compile_options "-fmacro-prefix-map=${CMAKE_SOURCE_DIR}=.")
list(APPEND compile_options "-fmacro-prefix-map=${IDF_PATH}=/IDF")
endif()
__generate_prefix_map(prefix_map_compile_options)
list(APPEND compile_options ${prefix_map_compile_options})
if(CONFIG_APP_REPRODUCIBLE_BUILD)
idf_build_set_property(DEBUG_PREFIX_MAP_GDBINIT "${BUILD_DIR}/prefix_map_gdbinit")
list(APPEND compile_options "-fdebug-prefix-map=${IDF_PATH}=/IDF")
list(APPEND compile_options "-fdebug-prefix-map=${PROJECT_DIR}=/IDF_PROJECT")
list(APPEND compile_options "-fdebug-prefix-map=${BUILD_DIR}=/IDF_BUILD")
# component dirs
idf_build_get_property(python PYTHON)
idf_build_get_property(idf_path IDF_PATH)
idf_build_get_property(component_dirs BUILD_COMPONENT_DIRS)
execute_process(
COMMAND ${python}
"${idf_path}/tools/generate_debug_prefix_map.py"
"${BUILD_DIR}"
"${component_dirs}"
OUTPUT_VARIABLE result
RESULT_VARIABLE ret
)
if(NOT ret EQUAL 0)
message(FATAL_ERROR "This is a bug. Please report to https://github.com/espressif/esp-idf/issues")
endif()
spaces2list(result)
list(LENGTH component_dirs length)
math(EXPR max_index "${length} - 1")
foreach(index RANGE ${max_index})
list(GET component_dirs ${index} folder)
list(GET result ${index} after)
list(APPEND compile_options "-fdebug-prefix-map=${folder}=${after}")
endforeach()
endif()
endif()
if(CONFIG_COMPILER_DISABLE_GCC12_WARNINGS)
list(APPEND compile_options "-Wno-address"
@@ -198,31 +207,10 @@ if(CONFIG_COMPILER_DISABLE_GCC13_WARNINGS)
"-Wno-dangling-reference")
endif()
if(CONFIG_COMPILER_DISABLE_GCC14_WARNINGS)
list(APPEND compile_options "-Wno-calloc-transposed-args")
endif()
if(CONFIG_COMPILER_DISABLE_GCC15_WARNINGS)
list(APPEND c_compile_options "-Wno-unterminated-string-initialization")
list(APPEND c_compile_options "-Wno-header-guard")
list(APPEND cxx_compile_options "-Wno-self-move")
list(APPEND cxx_compile_options "-Wno-template-body")
list(APPEND cxx_compile_options "-Wno-dangling-reference")
list(APPEND cxx_compile_options "-Wno-defaulted-function-deleted")
endif()
if(CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS)
if(NOT CMAKE_C_COMPILER_ID MATCHES "Clang")
idf_build_replace_option_from_property(COMPILE_OPTIONS "-Werror" "-Werror=all")
endif()
endif()
# GCC-specific options
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
list(APPEND compile_options "-fstrict-volatile-bitfields")
if(CONFIG_COMPILER_STATIC_ANALYZER)
list(APPEND compile_options "-fanalyzer")
endif()
list(APPEND compile_options "-fstrict-volatile-bitfields"
)
endif()
if(CONFIG_ESP_SYSTEM_USE_EH_FRAME)
@@ -230,13 +218,6 @@ if(CONFIG_ESP_SYSTEM_USE_EH_FRAME)
list(APPEND link_options "-Wl,--eh-frame-hdr")
endif()
if(CONFIG_ESP_SYSTEM_USE_FRAME_POINTER)
list(APPEND compile_options "-fno-omit-frame-pointer")
if(CMAKE_C_COMPILER_ID MATCHES "GNU")
list(APPEND compile_options "-mno-omit-leaf-frame-pointer")
endif()
endif()
list(APPEND link_options "-fno-lto")
if(CONFIG_IDF_TARGET_LINUX AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
@@ -275,9 +256,9 @@ else()
endif()
# SMP FreeRTOS user provided minimal idle hook. This allows the user to provide
# their own copy of vApplicationPassiveIdleHook()
if(CONFIG_FREERTOS_USE_PASSIVE_IDLE_HOOK)
list(APPEND link_options "-Wl,--wrap=vApplicationPassiveIdleHook")
# their own copy of vApplicationMinimalIdleHook()
if(CONFIG_FREERTOS_USE_MINIMAL_IDLE_HOOK)
list(APPEND link_options "-Wl,--wrap=vApplicationMinimalIdleHook")
endif()
# Placing jump tables in flash would cause issues with code that required
@@ -299,6 +280,15 @@ if(COMPILER_RT_LIB_NAME)
list(APPEND link_options "-rtlib=${CONFIG_COMPILER_RT_LIB_NAME}")
endif()
# For the transition period from 32-bit time_t to 64-bit time_t,
# auto-detect the size of this type and set corresponding variable.
include(CheckTypeSize)
check_type_size("time_t" TIME_T_SIZE)
if(TIME_T_SIZE)
idf_build_set_property(TIME_T_SIZE ${TIME_T_SIZE})
else()
message(FATAL_ERROR "Failed to determine sizeof(time_t)")
endif()
idf_build_set_property(COMPILE_OPTIONS "${compile_options}" APPEND)
idf_build_set_property(C_COMPILE_OPTIONS "${c_compile_options}" APPEND)
@@ -328,12 +318,3 @@ foreach(component_target ${build_component_targets})
endif()
set(__idf_component_context 0)
endforeach()
# Run component validation checks after all components have been processed
# Only run validation for the main project, not subprojects like bootloader
idf_build_get_property(bootloader_build BOOTLOADER_BUILD)
idf_build_get_property(esp_tee_build ESP_TEE_BUILD)
if(NOT bootloader_build AND NOT esp_tee_build)
include("${CMAKE_CURRENT_LIST_DIR}/tools/cmake/component_validation.cmake")
__component_validation_run_checks()
endif()
+21 -67
View File
@@ -8,9 +8,9 @@ This document describes the compatibility between ESP-IDF releases and Espressif
NOTE: This document on release branches may be out-of-date. Check the [Compatibility file on master](https://github.com/espressif/esp-idf/blob/master/COMPATIBILITY.md) for the most accurate information.
See [Compatibility Advisory for Chip Revision Numbering Scheme](https://www.espressif.com/sites/default/files/advisory_downloads/AR2022-005%20Compatibility%20Advisory%20for%20Chip%20Revision%20Numbering%20%20Scheme.pdf) on the versioning of Espressif SoC revisions.
See [Compatibility Advisory for Chip Revision Numbering Scheme](https://www.espressif.com.cn/sites/default/files/advisory_downloads/AR2022-005%20Compatibility%20Advisory%20for%20Chip%20Revision%20Numbering%20%20Scheme.pdf) on the versioning of Espressif SoC revisions.
You can run `esptool chip-id` to detect the series and revision of an SoC. See [SoC Errata](https://www.espressif.com/en/support/documents/technical-documents?keys=errata) for more on how to distinguish between chip revisions, and the improvements provided by chip revisions. And run `idf.py --version` to know the version of current ESP-IDF.
You can run `esptool chip_id` to detect the series and revision of an SoC. See [SoC Errata](https://www.espressif.com.cn/en/support/documents/technical-documents?keys=errata) for more on how to distinguish between chip revisions, and the improvements provided by chip revisions. And run `idf.py --version` to know the version of current ESP-IDF.
## ESP-IDF Support for Different Chip Revisions
@@ -52,93 +52,47 @@ Supported since ESP-IDF v4.2.
| Release branch | Recommended | Required |
|------------------------|-------------|----------|
| release/v4.2 | v4.2.3+ | v4.2 |
| release/v4.3 | v4.3.3+ | v4.3 |
| release/v4.4 | v4.4.6+ | v4.4 |
| release/v5.0 | v5.0.4+ | v5.0 |
| release/v5.1 | v5.1.2+ | v5.1 |
| release/v5.2 and above | v5.2+ | v5.2 |
| release/v4.2 | v4.2.3 | v4.2.3 |
| release/v4.3 | v4.3.3 | v4.3.3 |
| release/v4.4 | v4.4.6 | v4.4.1 |
| release/v5.0 | v5.0.4 | v5.0 |
| release/v5.1 | v5.1.2 | v5.1 |
| release/v5.2 and above | v5.2 | v5.2 |
### ESP32-C3
#### v0.2 - v0.4
#### v0.2, v0.3
Supported since ESP-IDF v4.3.
#### v1.1
#### v0.4
| Release branch | Recommended | Required |
|------------------------|-------------|----------|
| release/v4.2 | EOL | EOL |
| release/v4.3 | v4.3.7+ | v4.3.7 |
| release/v4.4 | v4.4.7+ | v4.4.7 |
| release/v5.0 | v5.0.5+ | v5.0.5 |
| release/v5.1 | v5.1.3+ | v5.1.3 |
| release/v5.2 and above | v5.2+ | v5.2 |
To be added.
### ESP32-S3
#### v0.1, v0.2
#### v0.1
Supported since ESP-IDF v4.4.
#### v0.2
To be added.
### ESP32-C2 & ESP8684
#### v1.0, v1.1
#### v1.0
Supported since ESP-IDF v5.0.
#### v1.2
#### v1.1
| Release branch | Recommended | Required |
|------------------------|-------------|----------|
| release/v5.0 | v5.0.7+ | v5.0 |
| release/v5.1 | v5.1.4+ | v5.1 |
| release/v5.2 | v5.2.2+ | v5.2 |
| release/v5.3 and above | v5.3+ | v5.3 |
#### v2.0
| Release branch | Recommended | Required |
|------------------------|-------------|----------|
| release/v5.0 | v5.0.8+ | v5.0.8 |
| release/v5.1 | v5.1.5+ | v5.1.5* |
| release/v5.2 | v5.2.4+ | v5.2.4 |
| release/v5.3 | v5.3.2+ | v5.3.2* |
| release/v5.4 and above | v5.4+ | v5.4 |
Note: IDF v5.1.5 and v5.3.2 are compatible with C2 v2.0. However the chip revision check hasn't been updated on these releases. Enable `ESP32C2_REV2_DEVELOPMENT` config to bypass the outdated check.
### ESP32-C6
#### v0.0, v0.1
Supported since ESP-IDF v5.1.
#### v0.2
| Release branch | Recommended | Required |
|------------------------|-------------|----------|
| release/v5.1 | v5.1.5+ | v5.1 |
| release/v5.2 | v5.2.4+ | v5.2 |
| release/v5.3 | v5.3.2+ | v5.3 |
| release/v5.4 and above | v5.4+ | v5.4 |
### ESP32-H2
#### v0.1, v0.2
Supported since ESP-IDF v5.1.
To be added.
#### v1.2
| Release branch | Recommended | Required |
|------------------------|-------------|----------|
| release/v5.1 | v5.1.6+ | v5.1.6 |
| release/v5.2 | v5.2.5+ | v5.2.5 |
| release/v5.3 | v5.3.3+ | v5.3.3 |
| release/v5.4 | v5.4.1+ | v5.4.1 |
| release/v5.5 and above | v5.5+ | v5.5 |
To be added.
## What If the ESP-IDF Version Is Lower than the `Required` Version?
+20 -67
View File
@@ -10,7 +10,7 @@
有关乐鑫芯片版本的编码方式,请参考 [关于芯片版本 (Chip Revision) 编码方式的兼容性公告](https://www.espressif.com/sites/default/files/advisory_downloads/AR2022-005%20%E5%85%B3%E4%BA%8E%E8%8A%AF%E7%89%87%E7%89%88%E6%9C%AC%E7%BC%96%E7%A0%81%E6%96%B9%E5%BC%8F%20%28Chip%20Revision%29%20%E7%9A%84%E5%85%BC%E5%AE%B9%E6%80%A7%E5%85%AC%E5%91%8A.pdf)。
运行 `esptool chip-id` 可查看芯片系列及其版本。有关区分芯片版本及版本改进内容的更多信息,请参考 [芯片勘误表](https://www.espressif.com.cn/zh-hans/support/documents/technical-documents?keys=%E5%8B%98%E8%AF%AF%E8%A1%A8)。运行 `idf.py --version` 可查看当前的 ESP-IDF 版本。
运行 `esptool chip_id` 可查看芯片系列及其版本。有关区分芯片版本及版本改进内容的更多信息,请参考 [芯片勘误表](https://www.espressif.com.cn/zh-hans/support/documents/technical-documents?keys=%E5%8B%98%E8%AF%AF%E8%A1%A8)。运行 `idf.py --version` 可查看当前的 ESP-IDF 版本。
## ESP-IDF 对各芯片版本的支持
@@ -50,95 +50,48 @@
#### v1.0
| 发布分支 | 推荐版本 | 需求版本 |
| 发布分支 | 推荐版本 | 需求版本 |
|------------------------|-------------|----------|
| release/v4.2 | v4.2.3+ | v4.2 |
| release/v4.3 | v4.3.3+ | v4.3 |
| release/v4.4 | v4.4.6+ | v4.4 |
| release/v5.0 | v5.0.4+ | v5.0 |
| release/v5.1 | v5.1.2+ | v5.1 |
| release/v5.2 及以上 | v5.2+ | v5.2 |
| release/v4.2 | v4.2.3 | v4.2.3 |
| release/v4.3 | v4.3.3 | v4.3.3 |
| release/v4.4 | v4.4.6 | v4.4.1 |
| release/v5.0 | v5.0.4 | v5.0 |
| release/v5.1 | v5.1.2 | v5.1 |
| release/v5.2 及以上 | v5.2 | v5.2 |
### ESP32-C3
#### v0.2 - v0.4
#### v0.2 v0.3
从 ESP-IDF v4.3 开始支持。
#### v1.1
#### v0.4
| 发布分支 | 推荐版本 | 需求版本 |
|------------------------|-------------|----------|
| release/v4.2 | EOL | EOL |
| release/v4.3 | v4.3.7+ | v4.3.7 |
| release/v4.4 | v4.4.7+ | v4.4.7 |
| release/v5.0 | v5.0.5+ | v5.0.5 |
| release/v5.1 | v5.1.3+ | v5.1.3 |
| release/v5.2 及以上 | v5.2+ | v5.2 |
待更新。
### ESP32-S3
#### v0.1, v0.2
#### v0.1
从 ESP-IDF v4.4 开始支持。
#### v0.2
待更新。
### ESP32-C2 & ESP8684
#### v1.0, v1.1
#### v1.0
从 ESP-IDF v5.0 开始支持。
#### v1.2
#### v1.1
| 发布分支 | 推荐版本 | 需求版本 |
|------------------------|-------------|----------|
| release/v5.0 | v5.0.7+ | v5.0 |
| release/v5.1 | v5.1.4+ | v5.1 |
| release/v5.2 | v5.2.2+ | v5.1 |
| release/v5.3 及以上 | v5.3+ | v5.3 |
#### v2.0
| 发布分支 | 推荐版本 | 需求版本 |
|------------------------|-------------|----------|
| release/v5.0 | v5.0.8+ | v5.0.8 |
| release/v5.1 | v5.1.5+ | v5.1.5* |
| release/v5.2 | v5.2.4+ | v5.2.4 |
| release/v5.3 | v5.3.2+ | v5.3.2* |
| release/v5.4 及以上 | v5.4+ | v5.4 |
提示: IDF v5.1.5 及 v5.3.2 与 C2 v2.0 兼容,但芯片版本检查尚未在这些发布版本更新。使能 `ESP32C2_REV2_DEVELOPMENT` 选项来跳过这些过时的检查。
### ESP32-C6
#### v0.0, v0.1
从 ESP-IDF v5.1 开始支持。
#### v0.2
| 发布分支 | 推荐版本 | 需求版本 |
|------------------------|-------------|----------|
| release/v5.1 | v5.1.5+ | v5.1 |
| release/v5.2 | v5.2.4+ | v5.2 |
| release/v5.3 | v5.3.2+ | v5.3 |
| release/v5.4 及以上 | v5.4+ | v5.4 |
### ESP32-H2
#### v0.1, v0.2
从 ESP-IDF v5.1 开始支持。
待更新。
#### v1.2
| 发布分支 | 推荐版本 | 需求版本 |
|------------------------|-------------|----------|
| release/v5.1 | v5.1.6+ | v5.1.6 |
| release/v5.2 | v5.2.5+ | v5.2.5 |
| release/v5.3 | v5.3.3+ | v5.3.3 |
| release/v5.4 | v5.4.1+ | v5.4.1 |
| release/v5.5 及以上 | v5.5+ | v5.5 |
待更新。
## 如果 ESP-IDF 版本低于 `需求版本` 会出现什么情况?
+12 -134
View File
@@ -22,6 +22,7 @@ mainmenu "Espressif IoT Development Framework Configuration"
config IDF_ENV_BRINGUP
bool
default "y" if IDF_TARGET_ESP32P4
help
- This option is ONLY used when doing new chip bringup.
- This option will only enable necessary hw / sw settings for running
@@ -48,10 +49,6 @@ mainmenu "Espressif IoT Development Framework Configuration"
bool
default "y" if IDF_TOOLCHAIN="clang"
config IDF_TOOLCHAIN_GCC
bool
default "y" if IDF_TOOLCHAIN="gcc"
config IDF_TARGET_ARCH_RISCV
bool
default "n"
@@ -79,6 +76,10 @@ mainmenu "Espressif IoT Development Framework Configuration"
string
default "$IDF_INIT_VERSION"
config IDF_TARGET_LINUX
bool
default "y" if IDF_TARGET="linux"
config IDF_TARGET_ESP32
bool
default "y" if IDF_TARGET="esp32"
@@ -113,12 +114,6 @@ mainmenu "Espressif IoT Development Framework Configuration"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
config IDF_TARGET_ESP32C5
bool
default "y" if IDF_TARGET="esp32c5"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
config IDF_TARGET_ESP32P4
bool
default "y" if IDF_TARGET="esp32p4"
@@ -130,27 +125,6 @@ mainmenu "Espressif IoT Development Framework Configuration"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
config IDF_TARGET_ESP32C61
bool
default "y" if IDF_TARGET="esp32c61"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
config IDF_TARGET_ESP32H21
bool
default "y" if IDF_TARGET="esp32h21"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
select IDF_ENV_BRINGUP
select IDF_ENV_FPGA if ESP32H21_SELECTS_REV_MP
config IDF_TARGET_ESP32H4
bool
default "y" if IDF_TARGET="esp32h4"
select IDF_TARGET_ARCH_RISCV
select IDF_ENV_BRINGUP
select IDF_ENV_FPGA if ESP32H4_SELECTS_REV_MP
config IDF_TARGET_LINUX
bool
default "y" if IDF_TARGET="linux"
@@ -165,10 +139,6 @@ mainmenu "Espressif IoT Development Framework Configuration"
default 0x000D if IDF_TARGET_ESP32C6
default 0x0010 if IDF_TARGET_ESP32H2
default 0x0012 if IDF_TARGET_ESP32P4
default 0x0017 if IDF_TARGET_ESP32C5
default 0x0014 if IDF_TARGET_ESP32C61
default 0x0019 if IDF_TARGET_ESP32H21
default 0x001C if IDF_TARGET_ESP32H4
default 0xFFFF
@@ -219,10 +189,10 @@ mainmenu "Espressif IoT Development Framework Configuration"
When loading the BIN with UART, the ROM will jump to ram and run the app after finishing the ROM
startup code, so there's no additional startup initialization required. You can use the
`load-ram` in esptool to load the generated .bin file into ram and execute.
`load_ram` in esptool.py to load the generated .bin file into ram and execute.
Example:
esptool --chip {chip} -p {port} -b {baud} --no-stub load-ram {app.bin}
esptool.py --chip {chip} -p {port} -b {baud} --no-stub load_ram {app.bin}
Recommended sdkconfig.defaults for building loadable ELF files is as follows.
CONFIG_APP_BUILD_TYPE_RAM is required, other options help reduce application
@@ -230,7 +200,7 @@ mainmenu "Espressif IoT Development Framework Configuration"
CONFIG_APP_BUILD_TYPE_RAM=y
CONFIG_VFS_SUPPORT_TERMIOS=
CONFIG_LIBC_NEWLIB_NANO_FORMAT=y
CONFIG_NEWLIB_NANO_FORMAT=y
CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y
CONFIG_ESP_DEBUG_STUBS_ENABLE=
CONFIG_ESP_ERR_TO_NAME_LOOKUP=
@@ -340,8 +310,8 @@ mainmenu "Espressif IoT Development Framework Configuration"
help
This option sets compiler optimization level (gcc -O argument) for the app.
- The "Debug" setting will add the -Og flag to CFLAGS.
- The "Size" setting will add the -Os flag to CFLAGS (-Oz with Clang).
- The "Debug" setting will add the -0g flag to CFLAGS.
- The "Size" setting will add the -0s flag to CFLAGS.
- The "Performance" setting will add the -O2 flag to CFLAGS.
- The "None" setting will add the -O0 flag to CFLAGS.
@@ -362,7 +332,7 @@ mainmenu "Espressif IoT Development Framework Configuration"
config COMPILER_OPTIMIZATION_DEBUG
bool "Debug (-Og)"
config COMPILER_OPTIMIZATION_SIZE
bool "Optimize for size (-Os with GCC, -Oz with Clang)"
bool "Optimize for size (-Os)"
config COMPILER_OPTIMIZATION_PERF
bool "Optimize for performance (-O2)"
config COMPILER_OPTIMIZATION_NONE
@@ -405,18 +375,6 @@ mainmenu "Espressif IoT Development Framework Configuration"
endchoice # assertions
config COMPILER_ASSERT_NDEBUG_EVALUATE
bool "Enable the evaluation of the expression inside assert(X) when NDEBUG is set"
default n
help
When NDEBUG is set, assert(X) will not cause code to trigger an assertion.
With this option set, assert(X) will still evaluate the expression X, though
the result will never cause an assertion. This means that if X is a function
then the function will be called.
This is not according to the standard, which states that the assert(X) should
be replaced with ((void)0) if NDEBUG is defined.
choice COMPILER_FLOAT_LIB_FROM
prompt "Compiler float lib source"
default COMPILER_FLOAT_LIB_FROM_RVFPLIB if ESP_ROM_HAS_RVFPLIB
@@ -573,20 +531,6 @@ mainmenu "Espressif IoT Development Framework Configuration"
This option can be enabled for RISC-V targets only.
config COMPILER_DISABLE_DEFAULT_ERRORS
bool "Disable errors for default warnings"
default "n"
help
Enable this option if you do not want default warnings to be considered as errors,
especially when updating IDF.
This is a temporary flag that could help to allow upgrade while having
some time to address the warnings raised by those default warnings.
Alternatives are:
1) fix code (preferred),
2) remove specific warnings,
3) do not consider specific warnings as error.
config COMPILER_DISABLE_GCC12_WARNINGS
bool "Disable new warnings introduced in GCC 12"
default "n"
@@ -601,20 +545,6 @@ mainmenu "Espressif IoT Development Framework Configuration"
Enable this option if use GCC 13 or newer, and want to disable warnings which don't appear with
GCC 12.
config COMPILER_DISABLE_GCC14_WARNINGS
bool "Disable new warnings introduced in GCC 14"
default "n"
help
Enable this option if use GCC 14 or newer, and want to disable warnings which don't appear with
GCC 13.
config COMPILER_DISABLE_GCC15_WARNINGS
bool "Disable new warnings introduced in GCC 15"
default "n"
help
Enable this option if use GCC 15 or newer, and want to disable warnings which don't appear with
GCC 14.
config COMPILER_DUMP_RTL_FILES
bool "Dump RTL files during compilation"
help
@@ -651,7 +581,7 @@ mainmenu "Espressif IoT Development Framework Configuration"
choice COMPILER_ORPHAN_SECTIONS
prompt "Orphan sections handling"
default COMPILER_ORPHAN_SECTIONS_ERROR
default COMPILER_ORPHAN_SECTIONS_PLACE
depends on !IDF_TARGET_LINUX
help
If the linker finds orphan sections, it attempts to place orphan sections after sections of the same
@@ -659,11 +589,6 @@ mainmenu "Espressif IoT Development Framework Configuration"
That means that orphan sections could placed between sections defined in IDF linker scripts.
This could lead to corruption of the binary image. Configure the linker action here.
config COMPILER_ORPHAN_SECTIONS_ERROR
bool "Fail if orphan sections found"
help
Fails the link step with an error if orphan sections are detected.
config COMPILER_ORPHAN_SECTIONS_WARNING
bool "Place with warning"
help
@@ -675,51 +600,9 @@ mainmenu "Espressif IoT Development Framework Configuration"
Places orphan sections without a warning/error message.
endchoice
config COMPILER_STATIC_ANALYZER
bool "Enable compiler static analyzer"
default "n"
depends on IDF_TOOLCHAIN_GCC
help
Enable compiler static analyzer. This may produce false-positive results and increases compile time.
choice COMPILER_CXX_GLIBCXX_CONSTEXPR
prompt "Define _GLIBCXX_CONSTEXPR"
default COMPILER_CXX_GLIBCXX_CONSTEXPR_NO_CHANGE
depends on IDF_TOOLCHAIN_GCC && !IDF_TARGET_LINUX
help
Modify libstdc++ _GLIBCXX20_CONSTEXPR and _GLIBCXX23_CONSTEXPR definitions to provide size
optimizations. The total size optimization depends on the application's structure.
There is no robust way to determine which option would be better in a particular case.
Please try all available options to find the best size optimization.
config COMPILER_CXX_GLIBCXX_CONSTEXPR_NO_CHANGE
bool "No change"
help
Use default _GLIBCXX20_CONSTEXPR and _GLIBCXX23_CONSTEXPR defined in libstdc++
config COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD_CONSTEXPR
bool "_GLIBCXX2X_CONSTEXPR=__attribute__((cold)) constexpr"
help
Define _GLIBCXX20_CONSTEXPR=__attribute__((cold)) constexpr
Define _GLIBCXX23_CONSTEXPR=__attribute__((cold)) constexpr
config COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD
bool "_GLIBCXX2X_CONSTEXPR=__attribute__((cold))"
help
Define _GLIBCXX20_CONSTEXPR=__attribute__((cold)).
Define _GLIBCXX23_CONSTEXPR=__attribute__((cold)).
endchoice
endmenu # Compiler Options
menu "Component config"
comment "!!! MINIMAL_BUILD is enabled !!!"
depends on "${IDF_MINIMAL_BUILD}"
comment "Only common components and those transitively required by the main component are listed"
depends on "${IDF_MINIMAL_BUILD}"
comment "If a component configuration is missing, please add it to the main component's requirements"
depends on "${IDF_MINIMAL_BUILD}"
source "$COMPONENT_KCONFIGS_SOURCE_FILE"
endmenu
@@ -737,9 +620,4 @@ mainmenu "Espressif IoT Development Framework Configuration"
- CONFIG_ESPTOOLPY_FLASHFREQ_120M && CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_DTR
- CONFIG_SPIRAM_SPEED_120M && CONFIG_SPIRAM_MODE_OCT
- CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH
- CONFIG_ESP_WIFI_EAP_TLS1_3
- CONFIG_ESP_WIFI_ENABLE_ROAMING_APP
- CONFIG_USB_HOST_EXT_PORT_RESET_ATTEMPTS
- CONFIG_LIBC_PICOLIBC
- CONFIG_GDMA_ENABLE_WEIGHTED_ARBITRATION
- CONFIG_I3C_MASTER_ENABLED
+11 -14
View File
@@ -15,19 +15,16 @@ ESP-IDF is the development framework for Espressif SoCs supported on Windows, Li
The following table shows ESP-IDF support of Espressif SoCs where ![alt text][preview] and ![alt text][supported] denote preview status and support, respectively. The preview support is usually limited in time and intended for beta versions of chips. Please use an ESP-IDF release where the desired SoC is already supported.
|Chip | v5.1 | v5.2 | v5.3 | v5.4 | v5.5 | v6.0 | |
|:----------- |:---------------------: |:---------------------: |:---------------------: | :---------------------: | :-------------------: | :--------------------: |:------------------------------------------------------------------- |
|ESP32 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-S2 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-C3 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-S3 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |[Announcement](https://www.espressif.com/en/news/ESP32_S3) |
|ESP32-C2 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |[Announcement](https://www.espressif.com/en/news/ESP32-C2) |
|ESP32-C6 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |[Announcement](https://www.espressif.com/en/news/ESP32_C6) |
|ESP32-H2 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |[Announcement](https://www.espressif.com/en/news/ESP32_H2) |
|ESP32-P4 | | | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |[Announcement](https://www.espressif.com/en/news/ESP32-P4) |
|ESP32-C5 | | | | | ![alt text][supported] | ![alt text][supported] |[Announcement](https://www.espressif.com/en/news/ESP32-C5) |
|ESP32-C61 | | | | | ![alt text][supported] | ![alt text][supported] |[Announcement](https://www.espressif.com/en/products/socs/esp32-c61) |
|ESP32-H4 | | | | | | ![alt text][preview] |[Announcement](https://www.espressif.com/en/news/ESP32-H4) |
|Chip | v4.3 | v4.4 | v5.0 | v5.1 | v5.2 | |
|:----------- | :---------------------:| :---------------------:| :---------------------:| :--------------------: | :--------------------: | :----------------------------------------------------------|
|ESP32 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-S2 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-C3 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-S3 | | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | [Announcement](https://www.espressif.com/en/news/ESP32_S3) |
|ESP32-C2 | | | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | [Announcement](https://www.espressif.com/en/news/ESP32-C2) |
|ESP32-C6 | | | | ![alt text][supported] | ![alt text][supported] | [Announcement](https://www.espressif.com/en/news/ESP32_C6) |
|ESP32-H2 | | | | ![alt text][supported] | ![alt text][supported] | [Announcement](https://www.espressif.com/en/news/ESP32_H2) |
|ESP32-P4 | | | | | ![alt text][preview] | [Announcement](https://www.espressif.com/en/news/ESP32-P4) |
[supported]: https://img.shields.io/badge/-supported-green "supported"
[preview]: https://img.shields.io/badge/-preview-orange "preview"
@@ -83,7 +80,7 @@ See the Getting Started guide links above for a detailed setup guide. This is a
## Flashing the Project
When the build finishes, it will print a command line to use `esptool` to flash the chip. However you can also do this automatically by running:
When the build finishes, it will print a command line to use esptool.py to flash the chip. However you can also do this automatically by running:
`idf.py -p PORT flash`
+12 -15
View File
@@ -15,19 +15,16 @@ ESP-IDF 是乐鑫官方推出的物联网开发框架,支持 Windows、Linux
下表总结了乐鑫芯片在 ESP-IDF 各版本中的支持状态,其中 ![alt text][supported] 代表已支持,![alt text][preview] 代表目前处于预览支持状态。预览支持状态通常有时间限制,而且仅适用于测试版芯片。请确保使用与芯片相匹配的 ESP-IDF 版本。
|芯片 | v5.1 | v5.2 | v5.3 | v5.4 | v5.5 | v6.0 | |
|:----------- | :-------------------: | :--------------------: | :--------------------: | :--------------------: | :-------------------: | :-------------------: |:------------------------------------------------------------------------- |
|ESP32 |![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |![alt text][supported] | |
|ESP32-S2 |![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |![alt text][supported] | |
|ESP32-C3 |![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |![alt text][supported] | |
|ESP32-S3 |![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32_S3) |
|ESP32-C2 |![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32-C2) |
|ESP32-C6 |![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32_C6) |
|ESP32-H2 |![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32_H2) |
|ESP32-P4 | | | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32-P4) |
|ESP32-C5 | | | | | ![alt text][supported] |![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32-C5) |
|ESP32-C61 | | | | | ![alt text][supported] |![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/products/socs/esp32-c61) |
|ESP32-H4 | | | | | |![alt text][preview] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32-H4) |
|芯片 | v4.3 | v4.4 | v5.0 | v5.1 | v5.2 | |
|:----------- | :---------------------:| :---------------------:| :---------------------:| :--------------------: | :--------------------: | :-------------------------------------------------------------- |
|ESP32 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-S2 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-C3 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-S3 | | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32_S3) |
|ESP32-C2 | | | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32-C2) |
|ESP32-C6 | | | | ![alt text][supported] | ![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32_C6) |
|ESP32-H2 | | | | ![alt text][supported] | ![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32_H2) |
|ESP32-P4 | | | | | ![alt text][preview] | [芯片发布公告](https://www.espressif.com/en/news/ESP32-P4) |
[supported]: https://img.shields.io/badge/-%E6%94%AF%E6%8C%81-green "supported"
[preview]: https://img.shields.io/badge/-%E9%A2%84%E8%A7%88-orange "preview"
@@ -83,7 +80,7 @@ ESP-IDF 中的子模块采用相对路径([详见 .gitmodules 文件](.gitmodu
## 烧写项目
当构建结束,终端会打印出一条命令行,告知如何使用 `esptool` 工具烧写项目到芯片中。但你也可以运行下面这条命令来自动烧写:
当构建结束,终端会打印出一条命令行,告知如何使用 esptool.py 工具烧写项目到芯片中。但你也可以运行下面这条命令来自动烧写:
`idf.py -p PORT flash`
@@ -124,7 +121,7 @@ ESP-IDF 中的子模块采用相对路径([详见 .gitmodules 文件](.gitmodu
* 最新版的文档:https://docs.espressif.com/projects/esp-idf/ ,该文档是由本仓库 [docs 目录](docs) 构建得到。
* [初学者指南:主要概念和资源](https://www.bilibili.com/video/BV1114y1r7du/)
* [初学者指南:主要概念和资源](https://www.bilibili.com/video/BV1114y1r7du/)
* 可以前往 [esp32.com 论坛](https://esp32.com/) 提问,挖掘社区资源。
-130
View File
@@ -1,130 +0,0 @@
# ESP-IDF Project Roadmap2025
* [中文版](./ROADMAP_CN.md)
This document outlines the goals of ESP-IDF project and is shared for the convenience of our customers. It is important to clarify that this document is not a binding commitment to our customers. Instead, its primary purpose is to offer a clear roadmap and direction for the project's development. By openly sharing this information, we aim to enhance our customers' understanding, promote transparency and ensure alignment with the overarching objectives of the ESP-IDF project.
## Project Overview
### Project Goals
In both minor and major releases, we integrate new chip support to enhance our product range. By expanding the chip matrix, we broaden the scope of our offerings, catering to a wider audience with diverse needs. This proactive approach ensures that our products remain at the forefront of technological advancements, consistently meeting and exceeding customer expectations.
Furthermore, we prioritize bugfix releases for active branches, focusing on improving the stability and performance of products already in production. By addressing bugs promptly, we aim to enhance the overall user experience and provide tangible benefits to customers relying on our solutions. This proactive maintenance strategy reflects our commitment to delivering reliable, high-quality products to our valued customer base.
Below are the main objectives that ESP-IDF project/teams would like to implement in 2025.
- New Chip Support
- Add support for ESP32-C5
- Add support for ESP32-C61
- More Minor/Major Releases
- Release IDF v5.5 in the middle of 2025
- Release IDF v6.0 at the end of 2025
- More Bugfix Releases
- Release v5.0.8 and v5.0.9 before ESP-IDF v5.0 goes End of Life in May 2025
- Release v5.1.6 and v5.1.7 before ESP-IDF v5.1 goes End of Life in December 2025
- Do more bugfix releases for IDF v5.2 and IDF v5.3 before release/5.2 and release/5.3 enter maintenance period
- Do more bug fixes releases for release/5.4 and release/5.5, and push the two releases to be more stable and production-ready
- Major Changes
- We plan to upgrade MbedTLS to v4.x series in IDF v6.0. In addition, we will also be migrating to newer PSA crypto API as part of this upgrade. Please note that this may involve some breaking changes on the application side for the crypto API usage.
Please note that support status of previous silicones could be found on [ESP-IDF Release and SoC Compatibility](https://github.com/espressif/esp-idf#esp-idf-release-and-soc-compatibility).
### Roadmap Details
The ESP-IDF project prioritizes consistent maintenance and updates to ensure our customers remain at the forefront of technological advancements. Our commitment to ongoing development ensures that customers continuously benefit from the latest innovations in the field.
Moreover, we are dedicated to empowering our customers to leverage newly implemented features and enhanced functionalities through iterative improvements. Our steadfast commitment to pushing boundaries ensures that clients not only keep pace with evolving technology but also extract optimal value from the cutting-edge capabilities of our products.
Below are the main roadmap details for functional areas inside ESP-IDF.
- New Chip Support
- Add the initial support for the mass production version of ESP32-C5 in ESP-IDF v5.5, refer to [ESP32-C5 Support Status](https://github.com/espressif/esp-idf/issues/14021)
- Add the initial support for the mass production version of ESP32-C61 in ESP-IDF v5.5, refer to [ESP32-C61 Support Status](https://developer.espressif.com/pages/chip-support-status/esp32c61/#esp-idf)
- Bugfix releases
- Do bugfix releases v5.0.8 and v5.0.9 and stop maintaining ESP-IDF v5.0 in May 2025
- Do bugfix releases v5.1.6 and v5.1.7 and stop maintaining ESP-IDF v5.1 in December 2025
- Release bugfix IDF v5.2.4, IDF v5.2.5 and IDF v5.2.6 in 2025, and push release/5.2 to maintenance period from February 2025
- Release bugfix IDF v5.3.3 and IDF v5.3.4 in 2025, and push release/5.3 to maintenance period from July 2025
- Do more bug fixes releases for release/5.4 (IDF v5.4.1, IDF v5.4.2, IDF v5.4.3) and release/5.5 (IDF v5.5.1, IDF v5.5.2), and push releases to be more stable and more production-ready
## ESP-IDF Planning information
For the full list of ESP-IDF releases, please visit https://github.com/espressif/esp-idf/releases
All the information provided here is subject to change without notice, due to business reasons and other factors.
### ESP-IDF Major Releases
```mermaid
timeline
title ESP-IDF Major Releases
section 2025 Q1 <br> Major Release Planning
No version planned : N/A
section 2025 Q2 <br> Major Release Planning
No version planned : N/A
section 2025 Q3 <br> Major Release Planning
No version planned : N/A
section 2025 Q4 <br> Major Release Planning
v6.0-beta1 : 2025/11/13
v6.0-beta2 : 2025/12/05
v6.0-RC1 : 2026/01/14
v6.0-RC2 : 2026/02/06
v6.0 : 2026/02/13
```
### ESP-IDF Minor Releases
```mermaid
timeline
title ESP-IDF Minor Releases
section 2025 Q1 <br> Minor Release Planning
No version planned : N/A
section 2025 Q2 <br> Minor Release Planning
v5.5-beta1 : 2025/05/14
v5.5-beta2 : 2025/06/04
section 2025 Q3 <br> Minor Release Planning
v5.5-RC1 : 2025/07/07
v5.5-RC2 : 2025/07/28
v5.5 : 2025/08/04
section 2025 Q4 <br> Minor Release Planning
No version planned : N/A
```
### ESP-IDF Bugfix Releases
```mermaid
timeline
title ESP-IDF Bugfix Releases
section 2025 Q1 <br> Bugfix Release Planning
v5.0.8 : 2025/01/14
v5.1.6 : 2025/02/18
v5.2.4 : 2025/02/23
v5.2.5 : 2025/02/28
v5.4.1 : 2025/03/27
v5.3.3 : 2025/04/04
section 2025 Q2 <br> Bugfix Release Planning
v5.0.9 : 2025/05/16
v5.4.2 : 2025/06/30
section 2025 Q3 <br> Bugfix Release Planning
v5.3.4 : 2025/08/03
v5.2.6 : 2025/09/04
v5.5.1 : 2025/09/11
v5.4.3 : 2025/10/08
section 2025 Q4 <br> Bugfix Release Planning
v5.5.2 : 2025/11/12
v5.1.7 : 2026/01/06
```
-130
View File
@@ -1,130 +0,0 @@
# ESP-IDF 项目路线图 2025
* [English Version](./ROADMAP.md)
本文档概述了 ESP-IDF 项目的年度计划,方便客户据此规划自己的项目周期。需要说明的是该文档并不是我们对客户的约束性承诺。相反,其主要目的是为客户提供 ESP-IDF 项目开发的路线图和方向。通过公开这些信息,我们希望增进客户对 ESP-IDF 项目的理解,提高透明度,并确保与 ESP-IDF 项目的总体目标保持一致。
## 项目总览
### 项目目标
在 ESP-IDF 的主要版本和次要版本中,我们一般会增加对新芯片的支持,以扩展我们的产品线。通过扩展芯片矩阵,拓宽我们的产品范围,并满足广泛受众的各种需求。这样便能保证我们的产品始终处于技术进步的前沿,不断满足客户的需求并超越客户的期望。
此外,ESP-IDF 各活跃分支的 Bugfix 版本发布也是我们项目的重中之重,着力提升已量产产品的稳定性和性能。通过及时解决问题,我们期待提升用户的整体体验,切实惠及使用乐鑫解决方案的客户。通过积极维护 ESP-IDF 的各活跃分支,我们践行了对宝贵的客户群提供可靠、高质量产品的承诺。
以下是 ESP-IDF 项目在 2025 年计划实现的主要目标。
* 新芯片支持
* 增加对 ESP32-C5 芯片的支持
* 增加对 ESP32-C61 芯片的支持
* 发布更多的次要和主要版本
* 在 2025 年中发布 IDF v5.5
* 在 2025 年底发布 IDF v6.0
* 发布更多 bugfix 版本
* 在 2025 年 5 月底 IDF v5.0 停止维护之前,发布 IDF v5.0.8 和 IDF v5.0.9
* 在 2025 年 12 月底 IDF v5.1 停止维护之前,发布 IDF v5.1.6 和 IDF v5.1.7
* 在 release/5.2 分支和 release/5.3 分支进入维护周期之前,发布更多 bugfix 版本
* release/5.4 分支和 release/5.5 分支发布更多 bugfix 版本,使这两个分支更加稳定和产品化
* 重大变更
* 我们计划在 IDF v6.0 中将 MbedTLS 版本升级到 v4.x。另外,我们还会在升级中迁移到更新版的 PSA 加密 API,但请注意,这可能会导致应用程序端在使用加密 API 时出现一些非兼容性更新。
请注意,获取之前芯片的支持状态,请参阅 [ESP-IDF 发布和 SoC 兼容性](https://github.com/espressif/esp-idf/blob/master/README_CN.md#esp-idf-与乐鑫芯片)。
### 路线图细节
ESP-IDF 项目重视持续维护和更新,确保我们的客户始终处于技术进步的前沿。我们承诺持续进行开发,并将该领域的最新创新成果呈现给客户。
此外,我们也在给客户赋能,客户通过迭代改进便能接触到新开发的功能和更高的性能。我们在突破技术界限方面的坚定承诺,使客户不仅能接触到最新的技术,还能从我们产品的尖端功能中获取最大价值。
以下是 ESP-IDF 路线图的主要信息。
* 新芯片支持
* 在 ESP-IDF v5.4 中为 ESP32-C5 提供预览支持,并在 ESP-IDF v5.5 中为 ESP32-C5 提供完整支持,参考 [ESP32-C5 支持状态](https://github.com/espressif/esp-idf/issues/14021)
* 在 ESP-IDF v5.4 中增加对 ESP32-C61 早期样品的预览支持,并在 IDF v5.5 中增加对 ESP32-C61 量产版本的完整支持,参考 [ESP32-C61 支持状态](https://developer.espressif.com/pages/chip-support-status/esp32c61/#esp-idf)
* Bugfix 版本发布
* 发布 Bugfix 版本 IDF v5.0.8 和 IDF v5.0.9,并在 2025 年 5 月底停止维护 ESP-IDF v5.0
* 发布 Bugfix 版本 IDF v5.1.6 和 IDF v5.1.7,并在 2025 年 12 月底停止维护 ESP-IDF v5.1
* 发布 Bugfix 版本 IDF v5.2.4IDF v5.2.5 和 IDF v5.2.6release/5.2 分支自 2025 年 2 月进入维护周期
* 发布 Bugfix 版本 IDF v5.3.3 和 IDF v5.3.4release/5.3 分支自 2025 年 7 月进入维护周期
* release/5.4 分支发布更多 bugfix 版本,包括 IDF v5.4.1、IDF v5.4.2、IDF v5.4.3release/5.5 分支发布更多 bugfix 版本,包括 IDF v5.5.1、IDF v5.5.2。通过发布这些 Bugfix 版本,使 release/5.4 分支和 release/5.5 分支更加稳定和产品化。
## ESP-IDF 发布计划
获取 ESP-IDF 的完整发布列表,请访问 https://github.com/espressif/esp-idf/releases
此处提供的所有信息均可因业务原因及其他因素而在没有通知的情况下进行更改。
### ESP-IDF 主要版本发布
```mermaid
timeline
title ESP-IDF Major Releases
section 2025 Q1 <br> Major Release Planning
No version planned : N/A
section 2025 Q2 <br> Major Release Planning
No version planned : N/A
section 2025 Q3 <br> Major Release Planning
No version planned : N/A
section 2025 Q4 <br> Major Release Planning
v6.0-beta1 : 2025/11/13
v6.0-beta2 : 2025/12/05
v6.0-RC1 : 2026/01/14
v6.0-RC2 : 2026/02/06
v6.0 : 2026/02/13
```
### ESP-IDF 次要版本发布
```mermaid
timeline
title ESP-IDF Minor Releases
section 2025 Q1 <br> Minor Release Planning
No version planned : N/A
section 2025 Q2 <br> Minor Release Planning
v5.5-beta1 : 2025/05/14
v5.5-beta2 : 2025/06/04
section 2025 Q3 <br> Minor Release Planning
v5.5-RC1 : 2025/07/07
v5.5-RC2 : 2025/07/28
v5.5 : 2025/08/04
section 2025 Q4 <br> Minor Release Planning
No version planned : N/A
```
### ESP-IDF Bugfix 版本发布
```mermaid
timeline
title ESP-IDF Bugfix Releases
section 2025 Q1 <br> Bugfix Release Planning
v5.0.8 : 2025/01/14
v5.1.6 : 2025/02/18
v5.2.4 : 2025/02/23
v5.2.5 : 2025/02/28
v5.4.1 : 2025/03/27
v5.3.3 : 2025/04/04
section 2025 Q2 <br> Bugfix Release Planning
v5.0.9 : 2025/05/16
v5.4.2 : 2025/06/30
section 2025 Q3 <br> Bugfix Release Planning
v5.3.4 : 2025/08/03
v5.2.6 : 2025/09/04
v5.5.1 : 2025/09/11
v5.4.3 : 2025/10/08
section 2025 Q4 <br> Bugfix Release Planning
v5.5.2 : 2025/11/12
v5.1.7 : 2026/01/06
```
+3 -3
View File
@@ -10,7 +10,7 @@ The core components are organized into two groups.
The first group (referred to as `G0`) includes `hal`, `arch` (where `arch` is either `riscv` or `xtensa` depending on the chip), `esp_rom`, `esp_common`, and `soc`. This group contains information about and provides low-level access to the underlying hardware. In the case of `esp_common`, it contains hardware-agnostic code and utilities. These components may have dependencies on each other within the group, but outside dependencies should be minimized. The reason for this approach is that these components are fundamental, and many other components may require them. Ideally, the dependency relationship only goes one way, making it easier for this group to be usable in other projects.
The second group (referred to as `G1`) operates at a higher level than the first group. `G1` includes the components `esp_hw_support`, `esp_system`, `esp_libc`, `spi_flash`, `freertos`, `log`, and `heap`. Like the first group, circular dependencies within this group are allowed, and these components can have dependencies on the first group. G1 components represent essential software mechanisms for building other components.
The second group (referred to as `G1`) operates at a higher level than the first group. `G1` includes the components `esp_hw_support`, `esp_system`, `newlib`, `spi_flash`, `freertos`, `log`, and `heap`. Like the first group, circular dependencies within this group are allowed, and these components can have dependencies on the first group. G1 components represent essential software mechanisms for building other components.
## Descriptions
@@ -40,7 +40,7 @@ Example:
#### `esp_common`
Contains hardware-agnostic definitions, constants, macros, utilities, 'pure' and/or algorithmic functions that is usable by all other components (that is, barring there being a more appropriate component to put them in).
Contains hardware-agnostic definitions, constants, macros, utilities, 'pure' and/or algorithmic functions that is useable by all other components (that is, barring there being a more appropriate component to put them in).
Example:
@@ -85,7 +85,7 @@ Logging library.
Heap implementation.
#### `esp_libc`
#### `newlib`
Some functions n the standard library are implemented here, especially those needing other `G1` components.
+83 -15
View File
@@ -9,8 +9,13 @@ set(srcs
"app_trace_util.c"
"host_file_io.c")
if(CONFIG_ESP_DEBUG_STUBS_ENABLE)
list(APPEND srcs "debug_stubs.c")
if(CONFIG_APPTRACE_GCOV_ENABLE)
if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
list(APPEND srcs
"gcov/gcov_rtio.c")
else()
fail_at_build_time(app_trace "Only GNU compiler can link with Gcov library")
endif()
endif()
set(include_dirs "include")
@@ -18,21 +23,20 @@ set(include_dirs "include")
set(priv_include_dirs "private_include" "port/include")
if(CONFIG_APPTRACE_MEMBUFS_APPTRACE_PROTO_ENABLE)
list(APPEND srcs "app_trace_membufs_proto.c")
endif()
list(APPEND srcs
"app_trace_membufs_proto.c")
if(CONFIG_APPTRACE_DEST_JTAG)
if(CONFIG_IDF_TARGET_ARCH_XTENSA)
list(APPEND srcs "port/xtensa/port_jtag.c")
list(APPEND srcs
"port/xtensa/port.c")
endif()
if(CONFIG_IDF_TARGET_ARCH_RISCV)
list(APPEND srcs "port/riscv/port_jtag.c")
list(APPEND srcs
"port/riscv/port.c")
endif()
endif()
if(CONFIG_APPTRACE_DEST_UART)
list(APPEND srcs "port/port_uart.c")
endif()
list(APPEND srcs
"port/port_uart.c")
if(CONFIG_APPTRACE_SV_ENABLE)
list(APPEND include_dirs
@@ -51,14 +55,78 @@ endif()
if(CONFIG_HEAP_TRACING_TOHOST)
list(APPEND srcs "heap_trace_tohost.c")
if(CONFIG_IDF_TARGET_ARCH_XTENSA)
set_source_files_properties(heap_trace_tohost.c PROPERTIES COMPILE_FLAGS -Wno-frame-address)
endif()
set_source_files_properties(heap_trace_tohost.c
PROPERTIES COMPILE_FLAGS
-Wno-frame-address)
endif()
idf_component_register(SRCS "${srcs}"
INCLUDE_DIRS "${include_dirs}"
PRIV_INCLUDE_DIRS "${priv_include_dirs}"
PRIV_REQUIRES esp_driver_gptimer esp_driver_gpio esp_driver_uart
# Requires "driver" for GPTimer in "SEGGER_SYSVIEW_Config_FreeRTOS.c"
PRIV_REQUIRES soc driver
REQUIRES esp_timer
LDFRAGMENTS linker.lf)
# Force app_trace to also appear later than gcov in link line
idf_component_get_property(app_trace app_trace COMPONENT_LIB)
if(CONFIG_APPTRACE_GCOV_ENABLE)
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
# Coverage info is not supported when clang is used
# TODO: LLVM-214
message(FATAL_ERROR "Coverage info is not supported when building with Clang!")
endif()
# The original Gcov library from toolchain will be objcopy with symbols redefinitions (see file gcov/io_sym.map).
# This needs because ESP has no file-system onboard, and redefined functions solves this problem and transmits
# output file to host PC.
# Set a name for Gcov library
set(GCOV_LIB libgcov_rtio)
# Set include direcrory of Gcov internal headers
execute_process(COMMAND ${CMAKE_C_COMPILER} -print-file-name=plugin
OUTPUT_VARIABLE gcc_plugin_dir
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET)
set_source_files_properties(gcov/gcov_rtio.c
PROPERTIES COMPILE_FLAGS "-I${gcc_plugin_dir}/include")
# Copy libgcov.a with symbols redefinition
find_library(GCOV_LIBRARY_PATH gcov ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES})
add_custom_command(OUTPUT ${GCOV_LIB}.a
COMMAND ${_CMAKE_TOOLCHAIN_PREFIX}objcopy
--redefine-syms ${CMAKE_CURRENT_LIST_DIR}/gcov/io_sym.map
${GCOV_LIBRARY_PATH} ${GCOV_LIB}.a
MAIN_DEPENDENCY ${GCOV_LIBRARY_PATH}
VERBATIM)
add_custom_target(${GCOV_LIB}_target DEPENDS ${GCOV_LIB}.a)
add_library(${GCOV_LIB} STATIC IMPORTED)
set_target_properties(${GCOV_LIB}
PROPERTIES
IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${GCOV_LIB}.a)
add_dependencies(${GCOV_LIB} ${GCOV_LIB}_target)
add_dependencies(${COMPONENT_LIB} ${GCOV_LIB})
# disable --coverage for this component, as it is used as transport for gcov
target_compile_options(${COMPONENT_LIB} PRIVATE "-fno-profile-arcs" "-fno-test-coverage")
target_link_options(${COMPONENT_LIB} INTERFACE "-Wl,--wrap=__gcov_init")
target_link_libraries(${COMPONENT_LIB} INTERFACE ${GCOV_LIB} $<TARGET_FILE:${app_trace}> c)
else()
target_link_libraries(${COMPONENT_LIB} INTERFACE $<TARGET_FILE:${app_trace}> c)
endif()
# This function adds a dependency on the given component if the component is included into the build.
function(maybe_add_component component_name)
idf_build_get_property(components BUILD_COMPONENTS)
if(${component_name} IN_LIST components)
idf_component_get_property(lib_name ${component_name} COMPONENT_LIB)
target_link_libraries(${COMPONENT_LIB} PUBLIC ${lib_name})
endif()
endfunction()
if(CONFIG_APPTRACE_DEST_UART0 OR CONFIG_APPTRACE_DEST_UART1 OR CONFIG_APPTRACE_DEST_UART2)
maybe_add_component(driver)
endif()
+73 -28
View File
@@ -8,52 +8,73 @@ menu "Application Level Tracing"
config APPTRACE_DEST_JTAG
bool "JTAG"
select APPTRACE_TRAX_ENABLE if IDF_TARGET_ARCH_XTENSA
select APPTRACE_DEST_TRAX if IDF_TARGET_ARCH_XTENSA
select APPTRACE_MEMBUFS_APPTRACE_PROTO_ENABLE
select APPTRACE_ENABLE
config APPTRACE_DEST_NONE
bool "None"
endchoice
config APPTRACE_DEST_UART
bool
config APPTRACE_DEST_UART_NOUSB
bool
choice APPTRACE_DESTINATION2
prompt "Data Destination 2"
default APPTRACE_DEST_UART_NONE
help
Select destination for application trace: UART or none (to disable).
Select destination for application trace: UART(XX) or none (to disable).
config APPTRACE_DEST_UART
bool "UART"
config APPTRACE_DEST_UART0
bool "UART0"
select APPTRACE_ENABLE
select APPTRACE_DEST_UART
select APPTRACE_DEST_UART_NOUSB
depends on (ESP_CONSOLE_UART_NUM !=0)
config APPTRACE_DEST_UART1
bool "UART1"
select APPTRACE_ENABLE
select APPTRACE_DEST_UART
select APPTRACE_DEST_UART_NOUSB
depends on (ESP_CONSOLE_UART_NUM !=1)
config APPTRACE_DEST_UART2
bool "UART2"
select APPTRACE_ENABLE
select APPTRACE_DEST_UART
select APPTRACE_DEST_UART_NOUSB
depends on (ESP_CONSOLE_UART_NUM !=2) && (SOC_UART_NUM > 2)
config APPTRACE_DEST_USB_CDC
bool "USB_CDC"
select APPTRACE_ENABLE
select APPTRACE_DEST_UART
depends on !ESP_CONSOLE_USB_CDC && (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3) && !USB_ENABLED
config APPTRACE_DEST_UART_NONE
bool "None"
endchoice
config APPTRACE_DEST_UART_NUM
int "UART port number"
depends on APPTRACE_DEST_UART
range 0 1 if (SOC_UART_NUM <= 2)
range 0 2 if (SOC_UART_NUM <= 3)
range 0 5 if (SOC_UART_NUM <= 6)
default 1
help
UART communication port number for the apptrace destination.
See UART documentation for available port numbers.
config APPTRACE_UART_TX_GPIO
int "UART TX on GPIO<num>"
depends on APPTRACE_DEST_UART
int "UART TX on GPIO#"
depends on APPTRACE_DEST_UART_NOUSB
range 0 46
default 12 if IDF_TARGET_ESP32
default 12 if IDF_TARGET_ESP32C3
default 12
help
This GPIO is used for UART TX pin.
config APPTRACE_UART_RX_GPIO
int "UART RX on GPIO<num>"
depends on APPTRACE_DEST_UART
int "UART RX on GPIO#"
depends on APPTRACE_DEST_UART_NOUSB
range 0 46
default 13 if IDF_TARGET_ESP32
default 13 if IDF_TARGET_ESP32C3
default 13
help
This GPIO is used for UART RX pin.
@@ -113,7 +134,7 @@ menu "Application Level Tracing"
UART task priority. In case of high events rate,
this parameter could be changed up to (configMAX_PRIORITIES-1).
config APPTRACE_TRAX_ENABLE
config APPTRACE_DEST_TRAX
bool
depends on IDF_TARGET_ARCH_XTENSA && !ESP32_TRAX && !ESP32S2_TRAX && !ESP32S3_TRAX
select ESP32_MEMMAP_TRACEMEM
@@ -164,11 +185,20 @@ menu "Application Level Tracing"
config APPTRACE_BUF_SIZE
int "Size of the apptrace buffer"
depends on APPTRACE_MEMBUFS_APPTRACE_PROTO_ENABLE && !APPTRACE_TRAX_ENABLE
depends on APPTRACE_MEMBUFS_APPTRACE_PROTO_ENABLE && !APPTRACE_DEST_TRAX
default 16384
help
Size of the memory buffer for trace data in bytes.
config APPTRACE_PENDING_DATA_SIZE_MAX
int "Size of the pending data buffer"
depends on APPTRACE_MEMBUFS_APPTRACE_PROTO_ENABLE
default 0
help
Size of the buffer for events in bytes. It is useful for buffering events from
the time critical code (scheduler, ISRs etc). If this parameter is 0 then
events will be discarded when main HW buffer is full.
menu "FreeRTOS SystemView Tracing"
depends on APPTRACE_ENABLE
config APPTRACE_SV_ENABLE
@@ -176,14 +206,14 @@ menu "Application Level Tracing"
depends on APPTRACE_ENABLE
default n
help
Enables support for SEGGER SystemView tracing functionality.
Enables supporrt for SEGGER SystemView tracing functionality.
choice APPTRACE_SV_DEST
prompt "SystemView destination"
depends on APPTRACE_SV_ENABLE
default APPTRACE_SV_DEST_JTAG
help
SystemView will transfer data through the defined interface.
SystemView witt transfer data trough defined interface.
config APPTRACE_SV_DEST_JTAG
bool "Data destination JTAG"
@@ -201,7 +231,7 @@ menu "Application Level Tracing"
choice APPTRACE_SV_CPU
prompt "CPU to trace"
depends on APPTRACE_SV_DEST_UART && !ESP_SYSTEM_SINGLE_CORE_MODE
depends on APPTRACE_SV_DEST_UART && !FREERTOS_UNICORE
default APPTRACE_SV_DEST_CPU_0
help
Define the CPU to trace by SystemView.
@@ -222,8 +252,8 @@ menu "Application Level Tracing"
choice APPTRACE_SV_TS_SOURCE
prompt "Timer to use as timestamp source"
depends on APPTRACE_SV_ENABLE
default APPTRACE_SV_TS_SOURCE_CCOUNT if ESP_SYSTEM_SINGLE_CORE_MODE && !PM_ENABLE && !IDF_TARGET_ESP32C3
default APPTRACE_SV_TS_SOURCE_GPTIMER if !ESP_SYSTEM_SINGLE_CORE_MODE && !PM_ENABLE && !IDF_TARGET_ESP32C3
default APPTRACE_SV_TS_SOURCE_CCOUNT if FREERTOS_UNICORE && !PM_ENABLE && !IDF_TARGET_ESP32C3
default APPTRACE_SV_TS_SOURCE_GPTIMER if !FREERTOS_UNICORE && !PM_ENABLE && !IDF_TARGET_ESP32C3
default APPTRACE_SV_TS_SOURCE_ESP_TIMER if PM_ENABLE || IDF_TARGET_ESP32C3
help
SystemView needs to use a hardware timer as the source of timestamps
@@ -231,7 +261,7 @@ menu "Application Level Tracing"
config APPTRACE_SV_TS_SOURCE_CCOUNT
bool "CPU cycle counter (CCOUNT)"
depends on ESP_SYSTEM_SINGLE_CORE_MODE && !PM_ENABLE && !IDF_TARGET_ESP32C3
depends on FREERTOS_UNICORE && !PM_ENABLE && !IDF_TARGET_ESP32C3
config APPTRACE_SV_TS_SOURCE_GPTIMER
bool "General Purpose Timer (Timer Group)"
@@ -351,4 +381,19 @@ menu "Application Level Tracing"
endmenu
config APPTRACE_GCOV_ENABLE
bool "GCOV to Host Enable"
depends on APPTRACE_ENABLE && !APPTRACE_SV_ENABLE
select ESP_DEBUG_STUBS_ENABLE
default n
help
Enables support for GCOV data transfer to host.
config APPTRACE_GCOV_DUMP_TASK_STACK_SIZE
int "Gcov dump task stack size"
depends on APPTRACE_GCOV_ENABLE
default 2048
help
Configures stack size of Gcov dump task
endmenu
+58 -35
View File
@@ -1,7 +1,7 @@
/*
* SPDX-FileCopyrightText: 2017-2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
* SPDX-License-Identifier: Apache-2.0
*/
#include <string.h>
@@ -11,13 +11,23 @@
#include "esp_app_trace_port.h"
#include "esp_private/startup_internal.h"
#if CONFIG_ESP_CONSOLE_UART && CONFIG_APPTRACE_DEST_UART && (CONFIG_APPTRACE_DEST_UART_NUM == CONFIG_ESP_CONSOLE_UART_NUM)
#error "Application trace UART and console UART cannot use the same port number"
#ifdef CONFIG_APPTRACE_DEST_UART0
#define ESP_APPTRACE_DEST_UART_NUM 0
#elif CONFIG_APPTRACE_DEST_UART1
#define ESP_APPTRACE_DEST_UART_NUM 1
#elif CONFIG_APPTRACE_DEST_UART2
#define ESP_APPTRACE_DEST_UART_NUM 2
#elif CONFIG_APPTRACE_DEST_USB_CDC
#define ESP_APPTRACE_DEST_UART_NUM 10
#else
#define ESP_APPTRACE_DEST_UART_NUM 0
#endif
#define ESP_APPTRACE_MAX_VPRINTF_ARGS 256
#define ESP_APPTRACE_HOST_BUF_SIZE 256
#define ESP_APPTRACE_PRINT_LOCK 0
const static char *TAG = "esp_apptrace";
/** tracing module internal data */
@@ -31,19 +41,24 @@ static bool s_inited;
esp_err_t esp_apptrace_init(void)
{
__attribute__((unused)) void *hw_data = NULL;
int res;
esp_apptrace_hw_t *hw = NULL;
void *hw_data = NULL;
// 'esp_apptrace_init()' is called on every core, so ensure to do main initialization only once
if (esp_cpu_get_core_id() == 0) {
memset(&s_trace_channels, 0, sizeof(s_trace_channels));
#if CONFIG_APPTRACE_DEST_JTAG
s_trace_channels[ESP_APPTRACE_DEST_JTAG].hw = esp_apptrace_jtag_hw_get(&hw_data);
s_trace_channels[ESP_APPTRACE_DEST_JTAG].hw_data = hw_data;
#endif
#if CONFIG_APPTRACE_DEST_UART
s_trace_channels[ESP_APPTRACE_DEST_UART].hw = esp_apptrace_uart_hw_get(CONFIG_APPTRACE_DEST_UART_NUM, &hw_data);
s_trace_channels[ESP_APPTRACE_DEST_UART].hw_data = hw_data;
#endif
hw = esp_apptrace_jtag_hw_get(&hw_data);
ESP_APPTRACE_LOGD("HW interface %p", hw);
if (hw != NULL) {
s_trace_channels[ESP_APPTRACE_DEST_JTAG].hw = hw;
s_trace_channels[ESP_APPTRACE_DEST_JTAG].hw_data = hw_data;
}
hw = esp_apptrace_uart_hw_get(ESP_APPTRACE_DEST_UART_NUM, &hw_data);
if (hw != NULL) {
s_trace_channels[ESP_APPTRACE_DEST_UART].hw = hw;
s_trace_channels[ESP_APPTRACE_DEST_UART].hw_data = hw_data;
}
s_inited = true;
}
@@ -51,7 +66,7 @@ esp_err_t esp_apptrace_init(void)
for (int i = 0; i < sizeof(s_trace_channels) / sizeof(s_trace_channels[0]); i++) {
esp_apptrace_channel_t *ch = &s_trace_channels[i];
if (ch->hw) {
int res = ch->hw->init(ch->hw_data);
res = ch->hw->init(ch->hw_data);
if (res != ESP_OK) {
ESP_APPTRACE_LOGE("Failed to init trace channel HW interface (%d)!", res);
return res;
@@ -62,35 +77,36 @@ esp_err_t esp_apptrace_init(void)
return ESP_OK;
}
ESP_SYSTEM_INIT_FN(esp_apptrace_init, SECONDARY, ESP_SYSTEM_INIT_ALL_CORES, 115)
ESP_SYSTEM_INIT_FN(esp_apptrace_init, ESP_SYSTEM_INIT_ALL_CORES, 115)
{
return esp_apptrace_init();
}
esp_err_t esp_apptrace_down_buffer_config(esp_apptrace_dest_t dest, uint8_t *buf, uint32_t size)
void esp_apptrace_down_buffer_config(uint8_t *buf, uint32_t size)
{
esp_apptrace_channel_t *ch;
if (dest >= ESP_APPTRACE_DEST_MAX) {
return ESP_ERR_INVALID_ARG;
}
if (buf == NULL || size == 0) {
return ESP_ERR_INVALID_ARG;
}
if (!s_inited) {
return ESP_ERR_INVALID_STATE;
return;
}
ch = &s_trace_channels[dest];
if (ch->hw == NULL) {
ESP_APPTRACE_LOGE("Trace destination %d not supported!", dest);
return ESP_FAIL;
// currently down buffer is supported for JTAG interface only
// TODO: one more argument should be added to this function to specify HW inteface: JTAG, UART0 etc
ch = &s_trace_channels[ESP_APPTRACE_DEST_JTAG];
if (ch->hw != NULL) {
if (ch->hw->down_buffer_config != NULL) {
ch->hw->down_buffer_config(ch->hw_data, buf, size);
}
} else {
ESP_APPTRACE_LOGD("Trace destination for JTAG not supported!");
}
if (ch->hw->down_buffer_config != NULL) {
ch->hw->down_buffer_config(ch->hw_data, buf, size);
ch = &s_trace_channels[ESP_APPTRACE_DEST_UART];
if (ch->hw != NULL) {
if (ch->hw->down_buffer_config != NULL) {
ch->hw->down_buffer_config(ch->hw_data, buf, size);
}
} else {
ESP_APPTRACE_LOGD("Trace destination for UART not supported!");
}
return ESP_OK;
}
uint8_t *esp_apptrace_down_buffer_get(esp_apptrace_dest_t dest, uint32_t *size, uint32_t user_tmo)
@@ -180,7 +196,7 @@ esp_err_t esp_apptrace_read(esp_apptrace_dest_t dest, void *buf, uint32_t *size,
*size = 0;
uint8_t *ptr = ch->hw->get_down_buffer(ch->hw_data, &act_sz, &tmo);
if (ptr && act_sz > 0) {
ESP_APPTRACE_LOGD("Read %" PRIu32 " bytes from host", act_sz);
ESP_APPTRACE_LOGD("Read %d bytes from host", act_sz);
memcpy(buf, ptr, act_sz);
res = ch->hw->put_down_buffer(ch->hw_data, ptr, &tmo);
*size = act_sz;
@@ -313,7 +329,7 @@ int esp_apptrace_vprintf_to(esp_apptrace_dest_t dest, uint32_t user_tmo, const c
}
esp_apptrace_tmo_init(&tmo, user_tmo);
ESP_APPTRACE_LOGD("fmt %p", fmt);
ESP_APPTRACE_LOGD("fmt %x", fmt);
while ((p = (uint8_t *)strchr((char *)p, '%')) && nargs < ESP_APPTRACE_MAX_VPRINTF_ARGS) {
p++;
if (*p != '%' && *p != 0) {
@@ -339,7 +355,7 @@ int esp_apptrace_vprintf_to(esp_apptrace_dest_t dest, uint32_t user_tmo, const c
uint32_t arg = va_arg(ap, uint32_t);
*(uint32_t *)pout = arg;
pout += sizeof(uint32_t);
ESP_APPTRACE_LOGD("arg %" PRIx32, arg);
ESP_APPTRACE_LOGD("arg %x", arg);
}
int ret = ch->hw->put_up_buffer(ch->hw_data, p, &tmo);
@@ -428,3 +444,10 @@ bool esp_apptrace_host_is_connected(esp_apptrace_dest_t dest)
return ch->hw->host_is_connected(ch->hw_data);
}
#if !CONFIG_APPTRACE_DEST_JTAG
esp_apptrace_hw_t *esp_apptrace_jtag_hw_get(void **data)
{
return NULL;
}
#endif
+141 -36
View File
@@ -1,7 +1,7 @@
/*
* SPDX-FileCopyrightText: 2021-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
* SPDX-License-Identifier: Apache-2.0
*/
#include <sys/param.h>
@@ -52,6 +52,7 @@ const static char *TAG = "esp_apptrace";
static uint32_t esp_apptrace_membufs_down_buffer_write_nolock(esp_apptrace_membufs_proto_data_t *proto, uint8_t *data, uint32_t size);
esp_err_t esp_apptrace_membufs_init(esp_apptrace_membufs_proto_data_t *proto, const esp_apptrace_mem_block_t blocks_cfg[2])
{
// disabled by default
@@ -63,6 +64,10 @@ esp_err_t esp_apptrace_membufs_init(esp_apptrace_membufs_proto_data_t *proto, co
proto->state.markers[i] = 0;
}
proto->state.in_block = 0;
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
esp_apptrace_rb_init(&proto->rb_pend, proto->pending_data,
sizeof(proto->pending_data));
#endif
return ESP_OK;
}
@@ -76,10 +81,10 @@ static esp_err_t esp_apptrace_membufs_swap(esp_apptrace_membufs_proto_data_t *pr
{
int prev_block_num = proto->state.in_block % 2;
int new_block_num = prev_block_num ? (0) : (1);
esp_err_t res = ESP_OK;
esp_err_t res = proto->hw->swap_start(proto->state.in_block);
res = proto->hw->swap_start(proto->state.in_block);
if (res != ESP_OK) {
ESP_APPTRACE_LOGE("Failed to swap to new block: %d", res);
return res;
}
@@ -95,19 +100,41 @@ static esp_err_t esp_apptrace_membufs_swap(esp_apptrace_membufs_proto_data_t *pr
if (proto->hw->host_data_pending() && hdr->block_sz > 0) {
// TODO: add support for multiple blocks from host, currently there is no need for that
uint8_t *p = proto->blocks[new_block_num].start + proto->blocks[new_block_num].sz;
ESP_APPTRACE_LOGD("Recvd %" PRIu16 " bytes from host (@ %p) [%x %x %x %x %x %x %x %x .. %x %x %x %x %x %x %x %x]",
hdr->block_sz, proto->blocks[new_block_num].start,
*(proto->blocks[new_block_num].start + 0), *(proto->blocks[new_block_num].start + 1),
*(proto->blocks[new_block_num].start + 2), *(proto->blocks[new_block_num].start + 3),
*(proto->blocks[new_block_num].start + 4), *(proto->blocks[new_block_num].start + 5),
*(proto->blocks[new_block_num].start + 6), *(proto->blocks[new_block_num].start + 7),
*(p - 8), *(p - 7), *(p - 6), *(p - 5), *(p - 4), *(p - 3), *(p - 2), *(p - 1));
uint32_t sz = esp_apptrace_membufs_down_buffer_write_nolock(proto, (uint8_t *)(hdr + 1), hdr->block_sz);
ESP_APPTRACE_LOGD("Recvd %d bytes from host (@ 0x%x) [%x %x %x %x %x %x %x %x .. %x %x %x %x %x %x %x %x]",
hdr->block_sz, proto->blocks[new_block_num].start,
*(proto->blocks[new_block_num].start+0), *(proto->blocks[new_block_num].start+1),
*(proto->blocks[new_block_num].start+2), *(proto->blocks[new_block_num].start+3),
*(proto->blocks[new_block_num].start+4), *(proto->blocks[new_block_num].start+5),
*(proto->blocks[new_block_num].start+6), *(proto->blocks[new_block_num].start+7),
*(p-8), *(p-7), *(p-6), *(p-5), *(p-4), *(p-3), *(p-2), *(p-1));
uint32_t sz = esp_apptrace_membufs_down_buffer_write_nolock(proto, (uint8_t *)(hdr+1), hdr->block_sz);
if (sz != hdr->block_sz) {
ESP_APPTRACE_LOGE("Failed to write %" PRIu32 " bytes to down buffer (%" PRIu16 " %" PRIu32 ")!", hdr->block_sz - sz, hdr->block_sz, sz);
ESP_APPTRACE_LOGE("Failed to write %d bytes to down buffer (%d %d)!", hdr->block_sz - sz, hdr->block_sz, sz);
}
hdr->block_sz = 0;
}
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
// copy pending data to block if any
while (proto->state.markers[new_block_num] < proto->blocks[new_block_num].sz) {
uint32_t read_sz = esp_apptrace_rb_read_size_get(&proto->rb_pend);
if (read_sz == 0) {
break; // no more data in pending buffer
}
if (read_sz > proto->blocks[new_block_num].sz - proto->state.markers[new_block_num]) {
read_sz = proto->blocks[new_block_num].sz - proto->state.markers[new_block_num];
}
uint8_t *ptr = esp_apptrace_rb_consume(&proto->rb_pend, read_sz);
if (!ptr) {
assert(false && "Failed to consume pended bytes!!");
break;
}
ESP_APPTRACE_LOGD("Pump %d pend bytes [%x %x %x %x : %x %x %x %x : %x %x %x %x : %x %x...%x %x]",
read_sz, *(ptr+0), *(ptr+1), *(ptr+2), *(ptr+3), *(ptr+4),
*(ptr+5), *(ptr+6), *(ptr+7), *(ptr+8), *(ptr+9), *(ptr+10), *(ptr+11), *(ptr+12), *(ptr+13), *(ptr+read_sz-2), *(ptr+read_sz-1));
memcpy(proto->blocks[new_block_num].start + proto->state.markers[new_block_num], ptr, read_sz);
proto->state.markers[new_block_num] += read_sz;
}
#endif
proto->hw->swap_end(proto->state.in_block, proto->state.markers[prev_block_num]);
return res;
}
@@ -181,8 +208,8 @@ static uint32_t esp_apptrace_membufs_down_buffer_write_nolock(esp_apptrace_membu
uint32_t total_sz = 0;
while (total_sz < size) {
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock WRS %" PRIu32 "-%" PRIu32 "-%" PRIu32 " %" PRIu32, proto->rb_down.wr, proto->rb_down.rd,
proto->rb_down.cur_size, size);
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock WRS %d-%d-%d %d", proto->rb_down.wr, proto->rb_down.rd,
proto->rb_down.cur_size, size);
uint32_t wr_sz = esp_apptrace_rb_write_size_get(&proto->rb_down);
if (wr_sz == 0) {
break;
@@ -191,19 +218,58 @@ static uint32_t esp_apptrace_membufs_down_buffer_write_nolock(esp_apptrace_membu
if (wr_sz > size - total_sz) {
wr_sz = size - total_sz;
}
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock wr %" PRIu32, wr_sz);
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock wr %d", wr_sz);
uint8_t *ptr = esp_apptrace_rb_produce(&proto->rb_down, wr_sz);
if (!ptr) {
assert(false && "Failed to produce bytes to down buffer!");
}
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock wr %" PRIu32 " to %p from %p", wr_sz, ptr, data + total_sz + wr_sz);
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock wr %d to 0x%x from 0x%x", wr_sz, ptr, data + total_sz + wr_sz);
memcpy(ptr, data + total_sz, wr_sz);
total_sz += wr_sz;
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock wr %" PRIu32 "/%" PRIu32 "", wr_sz, total_sz);
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock wr %d/%d", wr_sz, total_sz);
}
return total_sz;
}
static inline uint8_t *esp_apptrace_membufs_wait4buf(esp_apptrace_membufs_proto_data_t *proto, uint16_t size, esp_apptrace_tmo_t *tmo, int *pended)
{
uint8_t *ptr = NULL;
int res = esp_apptrace_membufs_swap_waitus(proto, tmo);
if (res != ESP_OK) {
return NULL;
}
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
// check if we still have pending data
if (esp_apptrace_rb_read_size_get(&proto->rb_pend) > 0) {
// if after block switch we still have pending data (not all pending data have been pumped to block)
// alloc new pending buffer
*pended = 1;
ptr = esp_apptrace_rb_produce(&proto->rb_pend, size);
if (!ptr) {
ESP_APPTRACE_LOGE("Failed to alloc pend buf 1: w-r-s %d-%d-%d!", proto->rb_pend.wr, proto->rb_pend.rd, proto->rb_pend.cur_size);
}
} else
#endif
{
// update block pointers
if (ESP_APPTRACE_INBLOCK_MARKER(proto) + size > ESP_APPTRACE_INBLOCK(proto)->sz) {
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
*pended = 1;
ptr = esp_apptrace_rb_produce(&proto->rb_pend, size);
if (ptr == NULL) {
ESP_APPTRACE_LOGE("Failed to alloc pend buf 2: w-r-s %d-%d-%d!", proto->rb_pend.wr, proto->rb_pend.rd, proto->rb_pend.cur_size);
}
#endif
} else {
*pended = 0;
ptr = ESP_APPTRACE_INBLOCK(proto)->start + ESP_APPTRACE_INBLOCK_MARKER(proto);
}
}
return ptr;
}
static inline uint8_t *esp_apptrace_membufs_pkt_start(uint8_t *ptr, uint16_t size)
{
// it is safe to use esp_cpu_get_core_id() in macro call because arg is used only once inside it
@@ -221,23 +287,63 @@ static inline void esp_apptrace_membufs_pkt_end(uint8_t *ptr)
uint8_t *esp_apptrace_membufs_up_buffer_get(esp_apptrace_membufs_proto_data_t *proto, uint32_t size, esp_apptrace_tmo_t *tmo)
{
uint8_t *buf_ptr = NULL;
if (size > ESP_APPTRACE_USR_DATA_LEN_MAX(proto)) {
ESP_APPTRACE_LOGE("Too large user data size %" PRIu32 "!", size);
ESP_APPTRACE_LOGE("Too large user data size %d!", size);
return NULL;
}
if (ESP_APPTRACE_INBLOCK_MARKER(proto) + ESP_APPTRACE_USR_BLOCK_RAW_SZ(size) > ESP_APPTRACE_INBLOCK(proto)->sz) {
int res = esp_apptrace_membufs_swap_waitus(proto, tmo);
if (res != ESP_OK) {
return NULL;
// check for data in the pending buffer
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
if (esp_apptrace_rb_read_size_get(&proto->rb_pend) > 0) {
// if we have buffered data try to switch block
esp_apptrace_membufs_swap(proto);
// if switch was successful, part or all pended data have been copied to block
}
if (esp_apptrace_rb_read_size_get(&proto->rb_pend) > 0) {
// if we have buffered data alloc new pending buffer
ESP_APPTRACE_LOGD("Get %d bytes from PEND buffer", size);
buf_ptr = esp_apptrace_rb_produce(&proto->rb_pend, ESP_APPTRACE_USR_BLOCK_RAW_SZ(size));
if (buf_ptr == NULL) {
int pended_buf;
buf_ptr = esp_apptrace_membufs_wait4buf(proto, ESP_APPTRACE_USR_BLOCK_RAW_SZ(size), tmo, &pended_buf);
if (buf_ptr && !pended_buf) {
ESP_APPTRACE_LOGD("Get %d bytes from block", size);
// update cur block marker
ESP_APPTRACE_INBLOCK_MARKER_UPD(proto, ESP_APPTRACE_USR_BLOCK_RAW_SZ(size));
}
}
} else {
#else
if (1) {
#endif
if (ESP_APPTRACE_INBLOCK_MARKER(proto) + ESP_APPTRACE_USR_BLOCK_RAW_SZ(size) > ESP_APPTRACE_INBLOCK(proto)->sz) {
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
ESP_APPTRACE_LOGD("Block full. Get %d bytes from PEND buffer", size);
buf_ptr = esp_apptrace_rb_produce(&proto->rb_pend, ESP_APPTRACE_USR_BLOCK_RAW_SZ(size));
#endif
if (buf_ptr == NULL) {
int pended_buf;
ESP_APPTRACE_LOGD(" full. Get %d bytes from pend buffer", size);
buf_ptr = esp_apptrace_membufs_wait4buf(proto, ESP_APPTRACE_USR_BLOCK_RAW_SZ(size), tmo, &pended_buf);
if (buf_ptr && !pended_buf) {
ESP_APPTRACE_LOGD("Got %d bytes from block", size);
// update cur block marker
ESP_APPTRACE_INBLOCK_MARKER_UPD(proto, ESP_APPTRACE_USR_BLOCK_RAW_SZ(size));
}
}
} else {
ESP_APPTRACE_LOGD("Get %d bytes from buffer", size);
// fit to curr nlock
buf_ptr = ESP_APPTRACE_INBLOCK(proto)->start + ESP_APPTRACE_INBLOCK_MARKER(proto);
// update cur block marker
ESP_APPTRACE_INBLOCK_MARKER_UPD(proto, ESP_APPTRACE_USR_BLOCK_RAW_SZ(size));
}
}
uint8_t *buf_ptr = ESP_APPTRACE_INBLOCK(proto)->start + ESP_APPTRACE_INBLOCK_MARKER(proto);
// update cur block marker
ESP_APPTRACE_INBLOCK_MARKER_UPD(proto, ESP_APPTRACE_USR_BLOCK_RAW_SZ(size));
buf_ptr = esp_apptrace_membufs_pkt_start(buf_ptr, size);
ESP_APPTRACE_LOGD("Got %" PRIu32 " bytes from block", size);
if (buf_ptr) {
buf_ptr = esp_apptrace_membufs_pkt_start(buf_ptr, size);
}
return buf_ptr;
}
@@ -258,19 +364,18 @@ esp_err_t esp_apptrace_membufs_flush_nolock(esp_apptrace_membufs_proto_data_t *p
int res = ESP_OK;
if (ESP_APPTRACE_INBLOCK_MARKER(proto) < min_sz) {
ESP_APPTRACE_LOGI("Ignore flush request for min %" PRIu32 " bytes. Bytes in block: %" PRIu32, min_sz, ESP_APPTRACE_INBLOCK_MARKER(proto));
ESP_APPTRACE_LOGI("Ignore flush request for min %d bytes. Bytes in block: %d.", min_sz, ESP_APPTRACE_INBLOCK_MARKER(proto));
return ESP_OK;
}
// switch block while size of data is more than min size
// switch block while size of data (including that in pending buffer) is more than min size
while (ESP_APPTRACE_INBLOCK_MARKER(proto) > min_sz) {
ESP_APPTRACE_LOGD("Try to flush %" PRIu32 " bytes", ESP_APPTRACE_INBLOCK_MARKER(proto));
ESP_APPTRACE_LOGD("Try to flush %d bytes. Wait until block switch for %lld us", ESP_APPTRACE_INBLOCK_MARKER(proto), tmo->tmo);
res = esp_apptrace_membufs_swap_waitus(proto, tmo);
if (res != ESP_OK) {
if (res == ESP_ERR_TIMEOUT) {
ESP_APPTRACE_LOGW("Failed to switch to another block in %" PRIi32 " us!", (int32_t)tmo->elapsed);
} else {
ESP_APPTRACE_LOGE("Failed to switch to another block, res: %d", res);
}
if (tmo->tmo != ESP_APPTRACE_TMO_INFINITE)
ESP_APPTRACE_LOGW("Failed to switch to another block in %lld us!", tmo->tmo);
else
ESP_APPTRACE_LOGE("Failed to switch to another block in %lld us!", tmo->tmo);
return res;
}
}
+6 -8
View File
@@ -1,7 +1,7 @@
/*
* SPDX-FileCopyrightText: 2017-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
* SPDX-License-Identifier: Apache-2.0
*/
//
#include "freertos/FreeRTOS.h"
@@ -9,14 +9,12 @@
#include "esp_app_trace_util.h"
#include "sdkconfig.h"
#define ESP_APPTRACE_PRINT_LOCK 0
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////// Locks /////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#if ESP_APPTRACE_PRINT_LOCK
static esp_apptrace_lock_t s_log_lock = { .mux = portMUX_INITIALIZER_UNLOCKED };
static esp_apptrace_lock_t s_log_lock = {.irq_stat = 0, .portmux = portMUX_INITIALIZER_UNLOCKED};
#endif
int esp_apptrace_log_lock(void)
@@ -33,7 +31,7 @@ int esp_apptrace_log_lock(void)
void esp_apptrace_log_unlock(void)
{
#if ESP_APPTRACE_PRINT_LOCK
#if ESP_APPTRACE_PRINT_LOCK
esp_apptrace_lock_give(&s_log_lock);
#endif
}
@@ -44,7 +42,7 @@ void esp_apptrace_log_unlock(void)
esp_err_t esp_apptrace_tmo_check(esp_apptrace_tmo_t *tmo)
{
if (tmo->tmo != (int64_t) -1) {
if (tmo->tmo != (int64_t)-1) {
tmo->elapsed = esp_timer_get_time() - tmo->start;
if (tmo->elapsed >= tmo->tmo) {
return ESP_ERR_TIMEOUT;
@@ -89,7 +87,7 @@ esp_err_t esp_apptrace_lock_give(esp_apptrace_lock_t *lock)
uint8_t *esp_apptrace_rb_produce(esp_apptrace_rb_t *rb, uint32_t size)
{
uint8_t *ptr = rb->data + rb->wr;
// check for available space
// check for avalable space
if (rb->rd <= rb->wr) {
// |?R......W??|
if (rb->wr + size >= rb->size) {
+202
View File
@@ -0,0 +1,202 @@
/*
* SPDX-FileCopyrightText: 2017-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
// This module implements runtime file I/O API for GCOV.
#include <string.h>
#include "esp_task_wdt.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/semphr.h"
#include "soc/timer_periph.h"
#include "esp_app_trace.h"
#include "esp_freertos_hooks.h"
#include "esp_private/dbg_stubs.h"
#include "esp_private/esp_ipc.h"
#include "esp_attr.h"
#include "hal/wdt_hal.h"
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/rom/libc_stubs.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/libc_stubs.h"
#endif
#if CONFIG_APPTRACE_GCOV_ENABLE
#define ESP_GCOV_DOWN_BUF_SIZE 4200
#include "esp_log.h"
const static char *TAG = "esp_gcov_rtio";
static volatile bool s_create_gcov_task = false;
static volatile bool s_gcov_task_running = false;
extern void __gcov_dump(void);
extern void __gcov_reset(void);
void gcov_dump_task(void *pvParameter)
{
int dump_result = 0;
bool *running = (bool *)pvParameter;
ESP_EARLY_LOGV(TAG, "%s stack use in %d", __FUNCTION__, uxTaskGetStackHighWaterMark(NULL));
ESP_EARLY_LOGV(TAG, "Alloc apptrace down buf %d bytes", ESP_GCOV_DOWN_BUF_SIZE);
void *down_buf = malloc(ESP_GCOV_DOWN_BUF_SIZE);
if (down_buf == NULL) {
ESP_EARLY_LOGE(TAG, "Could not allocate memory for the buffer");
dump_result = ESP_ERR_NO_MEM;
goto gcov_exit;
}
ESP_EARLY_LOGV(TAG, "Config apptrace down buf");
esp_apptrace_down_buffer_config(down_buf, ESP_GCOV_DOWN_BUF_SIZE);
ESP_EARLY_LOGV(TAG, "Dump data...");
__gcov_dump();
// reset dump status to allow incremental data accumulation
__gcov_reset();
free(down_buf);
ESP_EARLY_LOGV(TAG, "Finish file transfer session");
dump_result = esp_apptrace_fstop(ESP_APPTRACE_DEST_TRAX);
if (dump_result != ESP_OK) {
ESP_EARLY_LOGE(TAG, "Failed to send files transfer stop cmd (%d)!", dump_result);
}
gcov_exit:
ESP_EARLY_LOGV(TAG, "dump_result %d", dump_result);
if (running) {
*running = false;
}
ESP_EARLY_LOGV(TAG, "%s stack use out %d", __FUNCTION__, uxTaskGetStackHighWaterMark(NULL));
vTaskDelete(NULL);
}
void gcov_create_task(void *arg)
{
ESP_EARLY_LOGV(TAG, "%s", __FUNCTION__);
xTaskCreatePinnedToCore(&gcov_dump_task, "gcov_dump_task", CONFIG_APPTRACE_GCOV_DUMP_TASK_STACK_SIZE,
(void *)&s_gcov_task_running, configMAX_PRIORITIES - 1, NULL, 0);
}
static IRAM_ATTR
void gcov_create_task_tick_hook(void)
{
if (s_create_gcov_task) {
if (esp_ipc_call_nonblocking(xPortGetCoreID(), &gcov_create_task, NULL) == ESP_OK) {
s_create_gcov_task = false;
}
}
}
/**
* @brief Triggers gcov info dump task
* This function is to be called by OpenOCD, not by normal user code.
* TODO: what about interrupted flash access (when cache disabled)
*
* @return ESP_OK on success, otherwise see esp_err_t
*/
static int esp_dbg_stub_gcov_entry(void)
{
/* we are in isr context here */
s_create_gcov_task = true;
return ESP_OK;
}
void gcov_rtio_init(void)
{
uint32_t stub_entry = 0;
ESP_EARLY_LOGV(TAG, "%s", __FUNCTION__);
assert(esp_dbg_stub_entry_get(ESP_DBG_STUB_ENTRY_GCOV, &stub_entry) == ESP_OK);
if (stub_entry != 0) {
/* "__gcov_init()" can be called several times. We must avoid multiple tick hook registration */
return;
}
esp_dbg_stub_entry_set(ESP_DBG_STUB_ENTRY_GCOV, (uint32_t)&esp_dbg_stub_gcov_entry);
assert(esp_dbg_stub_entry_get(ESP_DBG_STUB_ENTRY_CAPABILITIES, &stub_entry) == ESP_OK);
esp_dbg_stub_entry_set(ESP_DBG_STUB_ENTRY_CAPABILITIES, stub_entry | ESP_DBG_STUB_CAP_GCOV_TASK);
esp_register_freertos_tick_hook(gcov_create_task_tick_hook);
}
void esp_gcov_dump(void)
{
ESP_EARLY_LOGV(TAG, "%s", __FUNCTION__);
while (!esp_apptrace_host_is_connected(ESP_APPTRACE_DEST_TRAX)) {
vTaskDelay(pdMS_TO_TICKS(10));
}
/* We are not in isr context here. Waiting for the completion is safe */
s_gcov_task_running = true;
s_create_gcov_task = true;
while (s_gcov_task_running) {
vTaskDelay(pdMS_TO_TICKS(10));
}
}
void *gcov_rtio_fopen(const char *path, const char *mode)
{
ESP_EARLY_LOGV(TAG, "%s '%s' '%s'", __FUNCTION__, path, mode);
void *f = esp_apptrace_fopen(ESP_APPTRACE_DEST_TRAX, path, mode);
ESP_EARLY_LOGV(TAG, "%s ret %p", __FUNCTION__, f);
return f;
}
int gcov_rtio_fclose(void *stream)
{
ESP_EARLY_LOGV(TAG, "%s", __FUNCTION__);
return esp_apptrace_fclose(ESP_APPTRACE_DEST_TRAX, stream);
}
size_t gcov_rtio_fread(void *ptr, size_t size, size_t nmemb, void *stream)
{
ESP_EARLY_LOGV(TAG, "%s read %u", __FUNCTION__, size * nmemb);
size_t sz = esp_apptrace_fread(ESP_APPTRACE_DEST_TRAX, ptr, size, nmemb, stream);
ESP_EARLY_LOGV(TAG, "%s actually read %u", __FUNCTION__, sz);
return sz;
}
size_t gcov_rtio_fwrite(const void *ptr, size_t size, size_t nmemb, void *stream)
{
ESP_EARLY_LOGV(TAG, "%s", __FUNCTION__);
return esp_apptrace_fwrite(ESP_APPTRACE_DEST_TRAX, ptr, size, nmemb, stream);
}
int gcov_rtio_fseek(void *stream, long offset, int whence)
{
int ret = esp_apptrace_fseek(ESP_APPTRACE_DEST_TRAX, stream, offset, whence);
ESP_EARLY_LOGV(TAG, "%s(%p %ld %d) = %d", __FUNCTION__, stream, offset, whence, ret);
return ret;
}
long gcov_rtio_ftell(void *stream)
{
long ret = esp_apptrace_ftell(ESP_APPTRACE_DEST_TRAX, stream);
ESP_EARLY_LOGV(TAG, "%s(%p) = %ld", __FUNCTION__, stream, ret);
return ret;
}
int gcov_rtio_feof(void *stream)
{
int ret = esp_apptrace_feof(ESP_APPTRACE_DEST_TRAX, stream);
ESP_EARLY_LOGV(TAG, "%s(%p) = %d", __FUNCTION__, stream, ret);
return ret;
}
void gcov_rtio_setbuf(void *arg1 __attribute__ ((unused)), void *arg2 __attribute__ ((unused)))
{
return;
}
/* Wrappers for Gcov functions */
extern void __real___gcov_init(void *info);
void __wrap___gcov_init(void *info)
{
__real___gcov_init(info);
gcov_rtio_init();
}
#endif
+8
View File
@@ -0,0 +1,8 @@
fopen gcov_rtio_fopen
fclose gcov_rtio_fclose
fwrite gcov_rtio_fwrite
fread gcov_rtio_fread
fseek gcov_rtio_fseek
ftell gcov_rtio_ftell
setbuf gcov_rtio_setbuf
feof gcov_rtio_feof
+6 -4
View File
@@ -1,11 +1,13 @@
/*
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "sdkconfig.h"
#include <sdkconfig.h>
#define HEAP_TRACE_SRCFILE /* don't warn on inclusion here */
#include "esp_heap_trace.h"
#undef HEAP_TRACE_SRCFILE
#include "esp_heap_caps.h"
#if CONFIG_APPTRACE_SV_ENABLE
#include "esp_app_trace.h"
@@ -14,7 +16,7 @@
#define STACK_DEPTH CONFIG_HEAP_TRACING_STACK_DEPTH
#if CONFIG_HEAP_TRACING_TOHOST
#ifdef CONFIG_HEAP_TRACING_TOHOST
#if !CONFIG_APPTRACE_SV_ENABLE
#error None of the heap tracing backends is enabled! You must enable SystemView compatible tracing to use this feature.
@@ -33,7 +35,7 @@ esp_err_t heap_trace_init_tohost(void)
esp_err_t heap_trace_start(heap_trace_mode_t mode_param)
{
#if CONFIG_APPTRACE_SV_ENABLE
esp_err_t ret = esp_sysview_heap_trace_start((uint32_t) -1);
esp_err_t ret = esp_sysview_heap_trace_start((uint32_t)-1);
if (ret != ESP_OK) {
return ret;
}
+12 -12
View File
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2017-2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2017-2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -122,7 +122,7 @@ static esp_err_t esp_apptrace_file_rsp_recv(esp_apptrace_dest_t dest, uint8_t *b
ESP_EARLY_LOGE(TAG, "Failed to read (%d)!", ret);
return ret;
}
ESP_EARLY_LOGV(TAG, "%s read %" PRIu32 " bytes", __FUNCTION__, rd_size);
ESP_EARLY_LOGV(TAG, "%s read %d bytes", __FUNCTION__, rd_size);
tot_rd += rd_size;
}
@@ -152,7 +152,7 @@ void *esp_apptrace_fopen(esp_apptrace_dest_t dest, const char *path, const char
cmd_args.mode_len = strlen(mode) + 1;
esp_err_t ret = esp_apptrace_file_cmd_send(dest, ESP_APPTRACE_FILE_CMD_FOPEN, esp_apptrace_fopen_args_prepare,
&cmd_args, cmd_args.path_len + cmd_args.mode_len);
&cmd_args, cmd_args.path_len+cmd_args.mode_len);
if (ret != ESP_OK) {
ESP_EARLY_LOGE(TAG, "Failed to send file cmd (%d)!", ret);
return NULL;
@@ -182,7 +182,7 @@ int esp_apptrace_fclose(esp_apptrace_dest_t dest, void *stream)
cmd_args.file = stream;
esp_err_t ret = esp_apptrace_file_cmd_send(dest, ESP_APPTRACE_FILE_CMD_FCLOSE, esp_apptrace_fclose_args_prepare,
&cmd_args, sizeof(cmd_args));
&cmd_args, sizeof(cmd_args));
if (ret != ESP_OK) {
ESP_EARLY_LOGE(TAG, "Failed to send file cmd (%d)!", ret);
return EOF;
@@ -211,7 +211,7 @@ size_t esp_apptrace_fwrite(esp_apptrace_dest_t dest, const void *ptr, size_t siz
{
esp_apptrace_fwrite_args_t cmd_args;
ESP_EARLY_LOGV(TAG, "esp_apptrace_fwrite f %p l %d", stream, size * nmemb);
ESP_EARLY_LOGV(TAG, "esp_apptrace_fwrite f %p l %d", stream, size*nmemb);
if (ptr == NULL) {
return 0;
@@ -221,7 +221,7 @@ size_t esp_apptrace_fwrite(esp_apptrace_dest_t dest, const void *ptr, size_t siz
cmd_args.size = size * nmemb;
cmd_args.file = stream;
esp_err_t ret = esp_apptrace_file_cmd_send(dest, ESP_APPTRACE_FILE_CMD_FWRITE, esp_apptrace_fwrite_args_prepare,
&cmd_args, sizeof(cmd_args.file) + cmd_args.size);
&cmd_args, sizeof(cmd_args.file)+cmd_args.size);
if (ret != ESP_OK) {
ESP_EARLY_LOGE(TAG, "Failed to send file cmd (%d)!", ret);
return 0;
@@ -253,7 +253,7 @@ size_t esp_apptrace_fread(esp_apptrace_dest_t dest, void *ptr, size_t size, size
{
esp_apptrace_fread_args_t cmd_args;
ESP_EARLY_LOGV(TAG, "esp_apptrace_fread f %p l %d", stream, size * nmemb);
ESP_EARLY_LOGV(TAG, "esp_apptrace_fread f %p l %d", stream, size*nmemb);
if (ptr == NULL) {
return 0;
@@ -262,7 +262,7 @@ size_t esp_apptrace_fread(esp_apptrace_dest_t dest, void *ptr, size_t size, size
cmd_args.size = size * nmemb;
cmd_args.file = stream;
esp_err_t ret = esp_apptrace_file_cmd_send(dest, ESP_APPTRACE_FILE_CMD_FREAD, esp_apptrace_fread_args_prepare,
&cmd_args, sizeof(cmd_args));
&cmd_args, sizeof(cmd_args));
if (ret != ESP_OK) {
ESP_EARLY_LOGE(TAG, "Failed to send file cmd (%d)!", ret);
return 0;
@@ -288,7 +288,7 @@ size_t esp_apptrace_fread(esp_apptrace_dest_t dest, void *ptr, size_t size, size
* fread(buf, 1 ,size, file);
* So, total read bytes count returns
*/
return resp / size; // return the number of items read
return resp/size; // return the number of items read
}
static void esp_apptrace_fseek_args_prepare(uint8_t *buf, void *priv)
@@ -310,7 +310,7 @@ int esp_apptrace_fseek(esp_apptrace_dest_t dest, void *stream, long offset, int
cmd_args.offset = offset;
cmd_args.whence = whence;
esp_err_t ret = esp_apptrace_file_cmd_send(dest, ESP_APPTRACE_FILE_CMD_FSEEK, esp_apptrace_fseek_args_prepare,
&cmd_args, sizeof(cmd_args));
&cmd_args, sizeof(cmd_args));
if (ret != ESP_OK) {
ESP_EARLY_LOGE(TAG, "Failed to send file cmd (%d)!", ret);
return -1;
@@ -340,7 +340,7 @@ int esp_apptrace_ftell(esp_apptrace_dest_t dest, void *stream)
cmd_args.file = stream;
esp_err_t ret = esp_apptrace_file_cmd_send(dest, ESP_APPTRACE_FILE_CMD_FTELL, esp_apptrace_ftell_args_prepare,
&cmd_args, sizeof(cmd_args));
&cmd_args, sizeof(cmd_args));
if (ret != ESP_OK) {
ESP_EARLY_LOGE(TAG, "Failed to send file cmd (%d)!", ret);
return -1;
@@ -380,7 +380,7 @@ int esp_apptrace_feof(esp_apptrace_dest_t dest, void *stream)
cmd_args.file = stream;
esp_err_t ret = esp_apptrace_file_cmd_send(dest, ESP_APPTRACE_FILE_CMD_FEOF, esp_apptrace_feof_args_prepare,
&cmd_args, sizeof(cmd_args));
&cmd_args, sizeof(cmd_args));
if (ret != ESP_OK) {
ESP_EARLY_LOGE(TAG, "Failed to send file cmd (%d)!", ret);
return EOF;
+27 -22
View File
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2017-2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2017-2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -18,9 +18,11 @@ extern "C" {
* Application trace data destinations bits.
*/
typedef enum {
ESP_APPTRACE_DEST_JTAG, ///< JTAG destination
ESP_APPTRACE_DEST_UART, ///< UART destination
ESP_APPTRACE_DEST_MAX,
ESP_APPTRACE_DEST_JTAG = 1, ///< JTAG destination
ESP_APPTRACE_DEST_TRAX = ESP_APPTRACE_DEST_JTAG, ///< xxx_TRAX name is obsolete, use more common xxx_JTAG
ESP_APPTRACE_DEST_UART, ///< UART destination
ESP_APPTRACE_DEST_MAX = ESP_APPTRACE_DEST_UART+1,
ESP_APPTRACE_DEST_NUM
} esp_apptrace_dest_t;
/**
@@ -37,13 +39,10 @@ esp_err_t esp_apptrace_init(void);
* @note Needs to be called before attempting to receive any data using esp_apptrace_down_buffer_get and esp_apptrace_read.
* This function does not protect internal data by lock.
*
* @param dest Indicates HW interface to configure.
* @param buf Address of buffer to use for down channel (host to target) data.
* @param size Size of the buffer.
*
* @return ESP_OK on success, otherwise see esp_err_t
*/
esp_err_t esp_apptrace_down_buffer_config(esp_apptrace_dest_t dest, uint8_t *buf, uint32_t size);
void esp_apptrace_down_buffer_config(uint8_t *buf, uint32_t size);
/**
* @brief Allocates buffer for trace data.
@@ -118,7 +117,7 @@ esp_err_t esp_apptrace_flush(esp_apptrace_dest_t dest, uint32_t tmo);
* This is a special version of esp_apptrace_flush which should be called from panic handler.
*
* @param dest Indicates HW interface to flush data on.
* @param min_sz Threshold for flushing data. If current filling level is above this value, data will be flushed. JTAG destinations only.
* @param min_sz Threshold for flushing data. If current filling level is above this value, data will be flushed. TRAX destinations only.
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely.
*
* @return ESP_OK on success, otherwise see esp_err_t
@@ -172,7 +171,7 @@ bool esp_apptrace_host_is_connected(esp_apptrace_dest_t dest);
/**
* @brief Opens file on host.
* This function has the same semantic as 'fopen' except for the first argument.
* This function has the same semantic as 'fopen' except for the first argument.
*
* @param dest Indicates HW interface to use.
* @param path Path to file.
@@ -184,7 +183,7 @@ void *esp_apptrace_fopen(esp_apptrace_dest_t dest, const char *path, const char
/**
* @brief Closes file on host.
* This function has the same semantic as 'fclose' except for the first argument.
* This function has the same semantic as 'fclose' except for the first argument.
*
* @param dest Indicates HW interface to use.
* @param stream File handle returned by esp_apptrace_fopen.
@@ -195,11 +194,11 @@ int esp_apptrace_fclose(esp_apptrace_dest_t dest, void *stream);
/**
* @brief Writes to file on host.
* This function has the same semantic as 'fwrite' except for the first argument.
* This function has the same semantic as 'fwrite' except for the first argument.
*
* @param dest Indicates HW interface to use.
* @param ptr Address of data to write.
* @param size Size of an item.
* @param ptr Address of data to write.
* @param size Size of an item.
* @param nmemb Number of items to write.
* @param stream File handle returned by esp_apptrace_fopen.
*
@@ -209,11 +208,11 @@ size_t esp_apptrace_fwrite(esp_apptrace_dest_t dest, const void *ptr, size_t siz
/**
* @brief Read file on host.
* This function has the same semantic as 'fread' except for the first argument.
* This function has the same semantic as 'fread' except for the first argument.
*
* @param dest Indicates HW interface to use.
* @param ptr Address to store read data.
* @param size Size of an item.
* @param ptr Address to store read data.
* @param size Size of an item.
* @param nmemb Number of items to read.
* @param stream File handle returned by esp_apptrace_fopen.
*
@@ -223,7 +222,7 @@ size_t esp_apptrace_fread(esp_apptrace_dest_t dest, void *ptr, size_t size, size
/**
* @brief Set position indicator in file on host.
* This function has the same semantic as 'fseek' except for the first argument.
* This function has the same semantic as 'fseek' except for the first argument.
*
* @param dest Indicates HW interface to use.
* @param stream File handle returned by esp_apptrace_fopen.
@@ -236,7 +235,7 @@ int esp_apptrace_fseek(esp_apptrace_dest_t dest, void *stream, long offset, int
/**
* @brief Get current position indicator for file on host.
* This function has the same semantic as 'ftell' except for the first argument.
* This function has the same semantic as 'ftell' except for the first argument.
*
* @param dest Indicates HW interface to use.
* @param stream File handle returned by esp_apptrace_fopen.
@@ -247,8 +246,8 @@ int esp_apptrace_ftell(esp_apptrace_dest_t dest, void *stream);
/**
* @brief Indicates to the host that all file operations are complete.
* This function should be called after all file operations are finished and
* indicate to the host that it can perform cleanup operations (close open files etc.).
* This function should be called after all file operations are finished and
* indicate to the host that it can perform cleanup operations (close open files etc.).
*
* @param dest Indicates HW interface to use.
*
@@ -258,7 +257,7 @@ int esp_apptrace_fstop(esp_apptrace_dest_t dest);
/**
* @brief Test end-of-file indicator on a stream.
* This function has the same semantic as 'feof' except for the first argument.
* This function has the same semantic as 'feof' except for the first argument.
*
* @param dest Indicates HW interface to use.
* @param stream File handle returned by esp_apptrace_fopen.
@@ -267,6 +266,12 @@ int esp_apptrace_fstop(esp_apptrace_dest_t dest);
*/
int esp_apptrace_feof(esp_apptrace_dest_t dest, void *stream);
/**
* @brief Triggers gcov info dump.
* This function waits for the host to connect to target before dumping data.
*/
void esp_gcov_dump(void);
#ifdef __cplusplus
}
#endif
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2017-2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -32,12 +32,12 @@ typedef struct {
* @brief Initializes timeout structure.
*
* @param tmo Pointer to timeout structure to be initialized.
* @param user_tmo Timeout value (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely.
* @param user_tmo Timeout value (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly.
*/
static inline void esp_apptrace_tmo_init(esp_apptrace_tmo_t *tmo, uint32_t user_tmo)
{
tmo->start = esp_timer_get_time();
tmo->tmo = user_tmo == ESP_APPTRACE_TMO_INFINITE ? (int64_t) -1 : (int64_t)user_tmo;
tmo->tmo = user_tmo == ESP_APPTRACE_TMO_INFINITE ? (int64_t)-1 : (int64_t)user_tmo;
tmo->elapsed = 0;
}
@@ -52,7 +52,7 @@ esp_err_t esp_apptrace_tmo_check(esp_apptrace_tmo_t *tmo);
static inline uint32_t esp_apptrace_tmo_remaining_us(esp_apptrace_tmo_t *tmo)
{
return tmo->tmo != (int64_t) -1 ? (tmo->elapsed - tmo->tmo) : ESP_APPTRACE_TMO_INFINITE;
return tmo->tmo != (int64_t)-1 ? (tmo->elapsed - tmo->tmo) : ESP_APPTRACE_TMO_INFINITE;
}
/** Tracing module synchronization lock */
@@ -94,7 +94,7 @@ esp_err_t esp_apptrace_lock_give(esp_apptrace_lock_t *lock);
/** Ring buffer control structure.
*
* @note For purposes of application tracing module if there is no enough space for user data and write pointer can be wrapped
* current ring buffer size can be temporarily shrunk in order to provide buffer with requested size.
* current ring buffer size can be temporarily shrinked in order to provide buffer with requested size.
*/
typedef struct {
uint8_t *data; ///< pointer to data storage
@@ -1,69 +0,0 @@
/*
* SPDX-FileCopyrightText: 2017-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ESP_DBG_STUBS_H_
#define ESP_DBG_STUBS_H_
#ifdef __cplusplus
extern "C" {
#endif
#include "esp_err.h"
/**
* Debug stubs entries IDs
*/
typedef enum {
ESP_DBG_STUB_MAGIC_NUM,
ESP_DBG_STUB_TABLE_SIZE,
ESP_DBG_STUB_CONTROL_DATA, ///< stubs descriptor entry
ESP_DBG_STUB_ENTRY_FIRST,
ESP_DBG_STUB_ENTRY_GCOV ///< GCOV entry
= ESP_DBG_STUB_ENTRY_FIRST,
ESP_DBG_STUB_ENTRY_CAPABILITIES,
ESP_DBG_STUB_ENTRY_MAX
} esp_dbg_stub_id_t;
#define ESP_DBG_STUB_MAGIC_NUM_VAL 0xFEEDBEEF
#define ESP_DBG_STUB_CAP_GCOV_TASK (1 << 0)
/**
* @brief Initializes debug stubs.
*
* @note Must be called after esp_apptrace_init() if app tracing is enabled.
*/
void esp_dbg_stubs_init(void);
/**
* @brief Initializes application tracing module.
*
* @note Should be called before any esp_apptrace_xxx call.
*
* @param id Stub ID.
* @param entry Stub entry. Usually it is stub entry function address,
* but can be any value meaningful for OpenOCD command/code
* such as capabilities
* @return ESP_OK on success, otherwise see esp_err_t
*/
esp_err_t esp_dbg_stub_entry_set(esp_dbg_stub_id_t id, uint32_t entry);
/**
* @brief Retrieves the corresponding stub entry
*
* @param id Stub ID.
* @param entry Stub entry. Usually it is stub entry function address,
* but can be any value meaningful for OpenOCD command/code
* such as capabilities
*
* @return ESP_OK on success, otherwise see esp_err_t
*/
esp_err_t esp_dbg_stub_entry_get(esp_dbg_stub_id_t id, uint32_t *entry);
#ifdef __cplusplus
}
#endif
#endif // ESP_DBG_STUBS_H_
+4 -5
View File
@@ -2,13 +2,12 @@
archive: libapp_trace.a
entries:
app_trace (noflash)
port_uart (noflash)
app_trace_util (noflash)
if APPTRACE_MEMBUFS_APPTRACE_PROTO_ENABLE:
app_trace_membufs_proto (noflash)
if APPTRACE_DEST_JTAG = y:
port_jtag (noflash)
if APPTRACE_DEST_UART = y:
port_uart (noflash)
port (noflash)
if APPTRACE_SV_ENABLE = y:
SEGGER_SYSVIEW (noflash)
SEGGER_RTT_esp (noflash)
@@ -16,9 +15,9 @@ entries:
SEGGER_SYSVIEW_FreeRTOS (noflash)
[mapping:app_trace_driver]
archive: libesp_driver_gptimer.a
archive: libdriver.a
entries:
if APPTRACE_SV_TS_SOURCE_GPTIMER = y:
gptimer: gptimer_get_raw_count (noflash)
gptimer (noflash)
else:
* (default)
+65 -45
View File
@@ -1,10 +1,9 @@
/*
* SPDX-FileCopyrightText: 2017-2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <string.h>
#include "soc/soc.h"
#include "esp_log.h"
#include "esp_cpu.h"
@@ -12,6 +11,11 @@
#include "driver/uart.h"
#include "hal/uart_ll.h"
#include "string.h"
#include "driver/gpio.h"
#define APPTRACE_DEST_UART (CONFIG_APPTRACE_DEST_UART0 | CONFIG_APPTRACE_DEST_UART1 | CONFIG_APPTRACE_DEST_UART2)
#define APP_TRACE_MAX_TX_BUFF_UART CONFIG_APPTRACE_UART_TX_BUFF_SIZE
#define APP_TRACE_MAX_TX_MSG_UART CONFIG_APPTRACE_UART_TX_MSG_SIZE
@@ -39,8 +43,47 @@ typedef struct {
bool circular_buff_overflow;
} esp_apptrace_uart_data_t;
#if APPTRACE_DEST_UART
static esp_err_t esp_apptrace_uart_init(esp_apptrace_uart_data_t *hw_data);
static esp_err_t esp_apptrace_uart_flush(esp_apptrace_uart_data_t *hw_data, esp_apptrace_tmo_t *tmo);
static esp_err_t esp_apptrace_uart_flush_nolock(esp_apptrace_uart_data_t *hw_data, uint32_t min_sz, esp_apptrace_tmo_t *tmo);
static uint8_t *esp_apptrace_uart_up_buffer_get(esp_apptrace_uart_data_t *hw_data, uint32_t size, esp_apptrace_tmo_t *tmo);
static esp_err_t esp_apptrace_uart_up_buffer_put(esp_apptrace_uart_data_t *hw_data, uint8_t *ptr, esp_apptrace_tmo_t *tmo);
static void esp_apptrace_uart_down_buffer_config(esp_apptrace_uart_data_t *hw_data, uint8_t *buf, uint32_t size);
static uint8_t *esp_apptrace_uart_down_buffer_get(esp_apptrace_uart_data_t *hw_data, uint32_t *size, esp_apptrace_tmo_t *tmo);
static esp_err_t esp_apptrace_uart_down_buffer_put(esp_apptrace_uart_data_t *hw_data, uint8_t *ptr, esp_apptrace_tmo_t *tmo);
static bool esp_apptrace_uart_host_is_connected(esp_apptrace_uart_data_t *hw_data);
#endif // APPTRACE_DEST_UART
const static char *TAG = "esp_apptrace_uart";
esp_apptrace_hw_t *esp_apptrace_uart_hw_get(int num, void **data)
{
ESP_LOGD(TAG,"esp_apptrace_uart_hw_get - %i", num);
#if APPTRACE_DEST_UART
static esp_apptrace_uart_data_t s_uart_hw_data = {
};
static esp_apptrace_hw_t s_uart_hw = {
.init = (esp_err_t (*)(void *))esp_apptrace_uart_init,
.get_up_buffer = (uint8_t *(*)(void *, uint32_t, esp_apptrace_tmo_t *))esp_apptrace_uart_up_buffer_get,
.put_up_buffer = (esp_err_t (*)(void *, uint8_t *, esp_apptrace_tmo_t *))esp_apptrace_uart_up_buffer_put,
.flush_up_buffer_nolock = (esp_err_t (*)(void *, uint32_t, esp_apptrace_tmo_t *))esp_apptrace_uart_flush_nolock,
.flush_up_buffer = (esp_err_t (*)(void *, esp_apptrace_tmo_t *))esp_apptrace_uart_flush,
.down_buffer_config = (void (*)(void *, uint8_t *, uint32_t ))esp_apptrace_uart_down_buffer_config,
.get_down_buffer = (uint8_t *(*)(void *, uint32_t *, esp_apptrace_tmo_t *))esp_apptrace_uart_down_buffer_get,
.put_down_buffer = (esp_err_t (*)(void *, uint8_t *, esp_apptrace_tmo_t *))esp_apptrace_uart_down_buffer_put,
.host_is_connected = (bool (*)(void *))esp_apptrace_uart_host_is_connected,
};
s_uart_hw_data.port_num = num;
*data = &s_uart_hw_data;
return &s_uart_hw;
#else
return NULL;
#endif
}
#if APPTRACE_DEST_UART
static esp_err_t esp_apptrace_uart_lock(esp_apptrace_uart_data_t *hw_data, esp_apptrace_tmo_t *tmo)
{
#if CONFIG_APPTRACE_LOCK_ENABLE
@@ -66,6 +109,7 @@ static inline void esp_apptrace_uart_hw_init(void)
ESP_APPTRACE_LOGI("Initialized UART on CPU%d", esp_cpu_get_core_id());
}
/*****************************************************************************************/
/***************************** Apptrace HW iface *****************************************/
/*****************************************************************************************/
@@ -84,8 +128,9 @@ static esp_err_t esp_apptrace_send_uart_data(esp_apptrace_uart_data_t *hw_data,
len_free = out_position - hw_data->tx_data_buff_in;
}
int check_len = APP_TRACE_MAX_TX_BUFF_UART - hw_data->tx_data_buff_in;
if (size <= len_free) {
if (check_len >= size) {
if (size <= len_free)
{
if ( check_len >= size) {
memcpy(&hw_data->tx_data_buff[hw_data->tx_data_buff_in], data, size);
hw_data->tx_data_buff_in += size;
} else {
@@ -138,11 +183,13 @@ static void esp_apptrace_send_uart_tx_task(void *arg)
while (1) {
send_buff_data(hw_data, &tmo);
vTaskDelay(10);
if (hw_data->circular_buff_overflow == true) {
if (hw_data->circular_buff_overflow == true)
{
hw_data->circular_buff_overflow = false;
ESP_LOGE(TAG, "Buffer overflow. Please increase UART baudrate, or increase UART TX ring buffer size in menuconfig.");
}
if (hw_data->message_buff_overflow == true) {
if (hw_data->message_buff_overflow == true)
{
hw_data->message_buff_overflow = false;
ESP_LOGE(TAG, "Message size more then message buffer!");
}
@@ -155,14 +202,15 @@ static esp_err_t esp_apptrace_uart_init(esp_apptrace_uart_data_t *hw_data)
{
int core_id = esp_cpu_get_core_id();
if (core_id == 0) {
hw_data->tx_data_buff = (uint8_t *)heap_caps_malloc(APP_TRACE_MAX_TX_BUFF_UART, MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT);
if (hw_data->tx_data_buff == NULL) {
hw_data->tx_data_buff = (uint8_t *)heap_caps_malloc(APP_TRACE_MAX_TX_BUFF_UART, MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
if (hw_data->tx_data_buff == NULL){
return ESP_ERR_NO_MEM;
}
hw_data->tx_data_buff_in = 0;
hw_data->tx_data_buff_out = 0;
hw_data->tx_msg_buff = (uint8_t *)heap_caps_malloc(APP_TRACE_MAX_TX_MSG_UART, MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT);
if (hw_data->tx_msg_buff == NULL) {
hw_data->tx_msg_buff = (uint8_t *)heap_caps_malloc(APP_TRACE_MAX_TX_MSG_UART, MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
if (hw_data->tx_msg_buff == NULL)
{
return ESP_ERR_NO_MEM;
}
hw_data->tx_msg_buff_size = 0;
@@ -170,14 +218,6 @@ static esp_err_t esp_apptrace_uart_init(esp_apptrace_uart_data_t *hw_data)
hw_data->message_buff_overflow = false;
hw_data->circular_buff_overflow = false;
assert((hw_data->port_num <= SOC_UART_NUM) && "Not possible to configure UART. Please check selected UART port");
int source_clk = UART_SCLK_DEFAULT;
#if SOC_UART_LP_NUM > 0
if (hw_data->port_num >= SOC_UART_HP_NUM) {
source_clk = LP_UART_SCLK_DEFAULT;
}
#endif
const uart_config_t uart_config = {
.baud_rate = CONFIG_APPTRACE_UART_BAUDRATE,
@@ -185,7 +225,7 @@ static esp_err_t esp_apptrace_uart_init(esp_apptrace_uart_data_t *hw_data)
.parity = UART_PARITY_DISABLE,
.stop_bits = UART_STOP_BITS_1,
.flow_ctrl = UART_HW_FLOWCTRL_DISABLE,
.source_clk = source_clk,
.source_clk = UART_SCLK_DEFAULT,
};
ESP_LOGI(TAG, "UART baud rate: %i", CONFIG_APPTRACE_UART_BAUDRATE);
// We won't use a buffer for sending data.
@@ -197,9 +237,7 @@ static esp_err_t esp_apptrace_uart_init(esp_apptrace_uart_data_t *hw_data)
assert((err == ESP_OK) && "Not possible to configure UART RX/TX pins. Please check and change menuconfig parameters!");
int uart_prio = CONFIG_APPTRACE_UART_TASK_PRIO;
if (uart_prio >= (configMAX_PRIORITIES - 1)) {
uart_prio = configMAX_PRIORITIES - 1;
}
if (uart_prio >= (configMAX_PRIORITIES-1)) uart_prio = configMAX_PRIORITIES - 1;
err = xTaskCreate(esp_apptrace_send_uart_tx_task, "app_trace_uart_tx_task", 2500, hw_data, uart_prio, NULL);
assert((err == pdPASS) && "Not possible to configure UART. Not possible to create task!");
@@ -221,7 +259,8 @@ static uint8_t *esp_apptrace_uart_up_buffer_get(esp_apptrace_uart_data_t *hw_dat
hw_data->message_buff_overflow = true;
return NULL;
}
if (hw_data->tx_msg_buff_size != 0) {
if (hw_data->tx_msg_buff_size != 0)
{
// A previous message was not sent.
return NULL;
}
@@ -250,7 +289,7 @@ static esp_err_t esp_apptrace_uart_up_buffer_put(esp_apptrace_uart_data_t *hw_da
static void esp_apptrace_uart_down_buffer_config(esp_apptrace_uart_data_t *hw_data, uint8_t *buf, uint32_t size)
{
hw_data->down_buffer = (uint8_t *)malloc(size);
if (hw_data->down_buffer == NULL) {
if (hw_data->down_buffer == NULL){
assert(false && "Failed to allocate apptrace uart down buffer!");
}
hw_data->down_buffer_size = size;
@@ -277,7 +316,7 @@ static uint8_t *esp_apptrace_uart_down_buffer_get(esp_apptrace_uart_data_t *hw_d
}
*size = uart_fifolen;
ptr = hw_data->down_buffer;
*size = uart_read_bytes(hw_data->port_num, ptr, uart_fifolen, 0);
*size =uart_read_bytes(hw_data->port_num, ptr, uart_fifolen, 0);
}
if (esp_apptrace_uart_unlock(hw_data) != ESP_OK) {
@@ -306,23 +345,4 @@ static esp_err_t esp_apptrace_uart_flush(esp_apptrace_uart_data_t *hw_data, esp_
return ESP_OK;
}
esp_apptrace_hw_t *esp_apptrace_uart_hw_get(int num, void **data)
{
ESP_LOGD(TAG, "esp_apptrace_uart_hw_get - %i", num);
static esp_apptrace_uart_data_t s_uart_hw_data;
static esp_apptrace_hw_t s_uart_hw = {
.init = (esp_err_t (*)(void *))esp_apptrace_uart_init,
.get_up_buffer = (uint8_t *(*)(void *, uint32_t, esp_apptrace_tmo_t *))esp_apptrace_uart_up_buffer_get,
.put_up_buffer = (esp_err_t (*)(void *, uint8_t *, esp_apptrace_tmo_t *))esp_apptrace_uart_up_buffer_put,
.flush_up_buffer_nolock = (esp_err_t (*)(void *, uint32_t, esp_apptrace_tmo_t *))esp_apptrace_uart_flush_nolock,
.flush_up_buffer = (esp_err_t (*)(void *, esp_apptrace_tmo_t *))esp_apptrace_uart_flush,
.down_buffer_config = (void (*)(void *, uint8_t *, uint32_t))esp_apptrace_uart_down_buffer_config,
.get_down_buffer = (uint8_t *(*)(void *, uint32_t *, esp_apptrace_tmo_t *))esp_apptrace_uart_down_buffer_get,
.put_down_buffer = (esp_err_t (*)(void *, uint8_t *, esp_apptrace_tmo_t *))esp_apptrace_uart_down_buffer_put,
.host_is_connected = (bool (*)(void *))esp_apptrace_uart_host_is_connected,
};
s_uart_hw_data.port_num = num;
*data = &s_uart_hw_data;
return &s_uart_hw;
}
#endif // APPTRACE_DEST_UART
+360
View File
@@ -0,0 +1,360 @@
/*
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "esp_cpu.h"
#include "esp_log.h"
#include "esp_app_trace_membufs_proto.h"
#include "esp_app_trace_port.h"
#include "riscv/semihosting.h"
/** RISCV HW transport data */
typedef struct {
uint8_t inited; // initialization state flags for every core
#if CONFIG_APPTRACE_LOCK_ENABLE
esp_apptrace_lock_t lock; // sync lock
#endif
esp_apptrace_membufs_proto_data_t membufs;
} esp_apptrace_riscv_data_t;
/** RISCV memory host iface control block */
typedef struct {
uint32_t ctrl;
// - Guard field. If this register is not zero then CPU is changing this struct and
// this guard field holds address of the instruction which application will execute when CPU finishes with those modifications.
uint32_t stat;
esp_apptrace_mem_block_t * mem_blocks;
} esp_apptrace_riscv_ctrl_block_t;
#define ESP_APPTRACE_RISCV_BLOCK_LEN_MSK 0x7FFFUL
#define ESP_APPTRACE_RISCV_BLOCK_LEN(_l_) ((_l_) & ESP_APPTRACE_RISCV_BLOCK_LEN_MSK)
#define ESP_APPTRACE_RISCV_BLOCK_LEN_GET(_v_) ((_v_) & ESP_APPTRACE_RISCV_BLOCK_LEN_MSK)
#define ESP_APPTRACE_RISCV_BLOCK_ID_MSK 0x7FUL
#define ESP_APPTRACE_RISCV_BLOCK_ID(_id_) (((_id_) & ESP_APPTRACE_RISCV_BLOCK_ID_MSK) << 15)
#define ESP_APPTRACE_RISCV_BLOCK_ID_GET(_v_) (((_v_) >> 15) & ESP_APPTRACE_RISCV_BLOCK_ID_MSK)
#define ESP_APPTRACE_RISCV_HOST_DATA (1 << 22)
#define ESP_APPTRACE_RISCV_HOST_CONNECT (1 << 23)
#define ESP_APPTRACE_RISCV_INITED(_hw_) ((_hw_)->inited & (1 << 0/*esp_cpu_get_core_id()*/))
static esp_err_t esp_apptrace_riscv_init(esp_apptrace_riscv_data_t *hw_data);
static esp_err_t esp_apptrace_riscv_flush(esp_apptrace_riscv_data_t *hw_data, esp_apptrace_tmo_t *tmo);
static esp_err_t esp_apptrace_riscv_flush_nolock(esp_apptrace_riscv_data_t *hw_data, uint32_t min_sz, esp_apptrace_tmo_t *tmo);
static uint8_t *esp_apptrace_riscv_up_buffer_get(esp_apptrace_riscv_data_t *hw_data, uint32_t size, esp_apptrace_tmo_t *tmo);
static esp_err_t esp_apptrace_riscv_up_buffer_put(esp_apptrace_riscv_data_t *hw_data, uint8_t *ptr, esp_apptrace_tmo_t *tmo);
static void esp_apptrace_riscv_down_buffer_config(esp_apptrace_riscv_data_t *hw_data, uint8_t *buf, uint32_t size);
static uint8_t *esp_apptrace_riscv_down_buffer_get(esp_apptrace_riscv_data_t *hw_data, uint32_t *size, esp_apptrace_tmo_t *tmo);
static esp_err_t esp_apptrace_riscv_down_buffer_put(esp_apptrace_riscv_data_t *hw_data, uint8_t *ptr, esp_apptrace_tmo_t *tmo);
static bool esp_apptrace_riscv_host_is_connected(esp_apptrace_riscv_data_t *hw_data);
static esp_err_t esp_apptrace_riscv_buffer_swap_start(uint32_t curr_block_id);
static esp_err_t esp_apptrace_riscv_buffer_swap(uint32_t new_block_id, uint32_t prev_block_len);
static esp_err_t esp_apptrace_riscv_buffer_swap_end(uint32_t new_block_id, uint32_t prev_block_len);
static bool esp_apptrace_riscv_host_data_pending(void);
const static char *TAG = "esp_apptrace";
static esp_apptrace_riscv_ctrl_block_t s_tracing_ctrl[portNUM_PROCESSORS];
esp_apptrace_hw_t *esp_apptrace_jtag_hw_get(void **data)
{
#if CONFIG_APPTRACE_DEST_JTAG
static esp_apptrace_membufs_proto_hw_t s_trace_proto_hw = {
.swap_start = esp_apptrace_riscv_buffer_swap_start,
.swap = esp_apptrace_riscv_buffer_swap,
.swap_end = esp_apptrace_riscv_buffer_swap_end,
.host_data_pending = esp_apptrace_riscv_host_data_pending,
};
static esp_apptrace_riscv_data_t s_trace_hw_data = {
.membufs = {
.hw = &s_trace_proto_hw,
},
};
static esp_apptrace_hw_t s_trace_hw = {
.init = (esp_err_t (*)(void *))esp_apptrace_riscv_init,
.get_up_buffer = (uint8_t *(*)(void *, uint32_t, esp_apptrace_tmo_t *))esp_apptrace_riscv_up_buffer_get,
.put_up_buffer = (esp_err_t (*)(void *, uint8_t *, esp_apptrace_tmo_t *))esp_apptrace_riscv_up_buffer_put,
.flush_up_buffer_nolock = (esp_err_t (*)(void *, uint32_t, esp_apptrace_tmo_t *))esp_apptrace_riscv_flush_nolock,
.flush_up_buffer = (esp_err_t (*)(void *, esp_apptrace_tmo_t *))esp_apptrace_riscv_flush,
.down_buffer_config = (void (*)(void *, uint8_t *, uint32_t ))esp_apptrace_riscv_down_buffer_config,
.get_down_buffer = (uint8_t *(*)(void *, uint32_t *, esp_apptrace_tmo_t *))esp_apptrace_riscv_down_buffer_get,
.put_down_buffer = (esp_err_t (*)(void *, uint8_t *, esp_apptrace_tmo_t *))esp_apptrace_riscv_down_buffer_put,
.host_is_connected = (bool (*)(void *))esp_apptrace_riscv_host_is_connected,
};
*data = &s_trace_hw_data;
return &s_trace_hw;
#else
return NULL;
#endif
}
/* Advertises apptrace control block address to host.
This function can be overriden with custom implementation,
e.g. OpenOCD flasher stub use own implementation of it. */
__attribute__((weak)) int esp_apptrace_advertise_ctrl_block(void *ctrl_block_addr)
{
if (!esp_cpu_dbgr_is_attached()) {
return 0;
}
return (int) semihosting_call_noerrno(ESP_SEMIHOSTING_SYS_APPTRACE_INIT, (long*)ctrl_block_addr);
}
/* Returns up buffers config.
This function can be overriden with custom implementation,
e.g. OpenOCD flasher stub use own implementation of it. */
__attribute__((weak)) void esp_apptrace_get_up_buffers(esp_apptrace_mem_block_t mem_blocks_cfg[2])
{
static uint8_t s_mem_blocks[2][CONFIG_APPTRACE_BUF_SIZE];
mem_blocks_cfg[0].start = s_mem_blocks[0];
mem_blocks_cfg[0].sz = CONFIG_APPTRACE_BUF_SIZE;
mem_blocks_cfg[1].start = s_mem_blocks[1];
mem_blocks_cfg[1].sz = CONFIG_APPTRACE_BUF_SIZE;
}
static esp_err_t esp_apptrace_riscv_lock(esp_apptrace_riscv_data_t *hw_data, esp_apptrace_tmo_t *tmo)
{
#if CONFIG_APPTRACE_LOCK_ENABLE
esp_err_t ret = esp_apptrace_lock_take(&hw_data->lock, tmo);
if (ret != ESP_OK) {
return ESP_FAIL;
}
#endif
return ESP_OK;
}
static esp_err_t esp_apptrace_riscv_unlock(esp_apptrace_riscv_data_t *hw_data)
{
esp_err_t ret = ESP_OK;
#if CONFIG_APPTRACE_LOCK_ENABLE
ret = esp_apptrace_lock_give(&hw_data->lock);
#endif
return ret;
}
/*****************************************************************************************/
/***************************** Apptrace HW iface *****************************************/
/*****************************************************************************************/
static esp_err_t esp_apptrace_riscv_init(esp_apptrace_riscv_data_t *hw_data)
{
int core_id = esp_cpu_get_core_id();
if (hw_data->inited == 0) {
esp_apptrace_mem_block_t mem_blocks_cfg[2];
esp_apptrace_get_up_buffers(mem_blocks_cfg);
esp_err_t res = esp_apptrace_membufs_init(&hw_data->membufs, mem_blocks_cfg);
if (res != ESP_OK) {
ESP_APPTRACE_LOGE("Failed to init membufs proto (%d)!", res);
return res;
}
#if CONFIG_APPTRACE_LOCK_ENABLE
esp_apptrace_lock_init(&hw_data->lock);
#endif
}
hw_data->inited |= 1 << core_id;
ESP_APPTRACE_LOGI("Apptrace initialized on CPU%d. Tracing control block @ %p.", core_id, &s_tracing_ctrl[core_id]);
s_tracing_ctrl[core_id].mem_blocks = hw_data->membufs.blocks;
for (int i = 0; i < 2; i++) {
ESP_APPTRACE_LOGD("Mem buf[%d] %d bytes @ %p (%p/%p)", i,
s_tracing_ctrl[core_id].mem_blocks[i].sz, s_tracing_ctrl[core_id].mem_blocks[i].start,
&(s_tracing_ctrl[core_id].mem_blocks[i].start), &(s_tracing_ctrl[core_id].mem_blocks[i].sz));
}
// notify host about control block address
int res = esp_apptrace_advertise_ctrl_block(&s_tracing_ctrl[core_id]);
assert(res == 0 && "Falied to send config to host!");
return ESP_OK;
}
static uint8_t *esp_apptrace_riscv_up_buffer_get(esp_apptrace_riscv_data_t *hw_data, uint32_t size, esp_apptrace_tmo_t *tmo)
{
uint8_t *ptr;
if (!ESP_APPTRACE_RISCV_INITED(hw_data)) {
return NULL;
}
esp_err_t res = esp_apptrace_riscv_lock(hw_data, tmo);
if (res != ESP_OK) {
return NULL;
}
ptr = esp_apptrace_membufs_up_buffer_get(&hw_data->membufs, size, tmo);
// now we can safely unlock apptrace to allow other tasks/ISRs to get other buffers and write their data
if (esp_apptrace_riscv_unlock(hw_data) != ESP_OK) {
assert(false && "Failed to unlock apptrace data!");
}
return ptr;
}
static esp_err_t esp_apptrace_riscv_up_buffer_put(esp_apptrace_riscv_data_t *hw_data, uint8_t *ptr, esp_apptrace_tmo_t *tmo)
{
if (!ESP_APPTRACE_RISCV_INITED(hw_data)) {
return ESP_ERR_INVALID_STATE;
}
// Can avoid locking because esp_apptrace_membufs_up_buffer_put() just modifies buffer's header
esp_err_t res = esp_apptrace_membufs_up_buffer_put(&hw_data->membufs, ptr, tmo);
return res;
}
static void esp_apptrace_riscv_down_buffer_config(esp_apptrace_riscv_data_t *hw_data, uint8_t *buf, uint32_t size)
{
if (!ESP_APPTRACE_RISCV_INITED(hw_data)) {
return;
}
esp_apptrace_membufs_down_buffer_config(&hw_data->membufs, buf, size);
}
static uint8_t *esp_apptrace_riscv_down_buffer_get(esp_apptrace_riscv_data_t *hw_data, uint32_t *size, esp_apptrace_tmo_t *tmo)
{
uint8_t *ptr;
if (!ESP_APPTRACE_RISCV_INITED(hw_data)) {
return NULL;
}
esp_err_t res = esp_apptrace_riscv_lock(hw_data, tmo);
if (res != ESP_OK) {
return NULL;
}
ptr = esp_apptrace_membufs_down_buffer_get(&hw_data->membufs, size, tmo);
// now we can safely unlock apptrace to allow other tasks/ISRs to get other buffers and write their data
if (esp_apptrace_riscv_unlock(hw_data) != ESP_OK) {
assert(false && "Failed to unlock apptrace data!");
}
return ptr;
}
static esp_err_t esp_apptrace_riscv_down_buffer_put(esp_apptrace_riscv_data_t *hw_data, uint8_t *ptr, esp_apptrace_tmo_t *tmo)
{
if (!ESP_APPTRACE_RISCV_INITED(hw_data)) {
return ESP_ERR_INVALID_STATE;
}
// Can avoid locking because esp_apptrace_membufs_down_buffer_put() does nothing
/*esp_err_t res = esp_apptrace_riscv_lock(hw_data, tmo);
if (res != ESP_OK) {
return res;
}*/
esp_err_t res = esp_apptrace_membufs_down_buffer_put(&hw_data->membufs, ptr, tmo);
// now we can safely unlock apptrace to allow other tasks/ISRs to get other buffers and write their data
/*if (esp_apptrace_riscv_unlock(hw_data) != ESP_OK) {
assert(false && "Failed to unlock apptrace data!");
}*/
return res;
}
static bool esp_apptrace_riscv_host_is_connected(esp_apptrace_riscv_data_t *hw_data)
{
if (!ESP_APPTRACE_RISCV_INITED(hw_data)) {
return false;
}
return s_tracing_ctrl[esp_cpu_get_core_id()].ctrl & ESP_APPTRACE_RISCV_HOST_CONNECT ? true : false;
}
static esp_err_t esp_apptrace_riscv_flush_nolock(esp_apptrace_riscv_data_t *hw_data, uint32_t min_sz, esp_apptrace_tmo_t *tmo)
{
if (!ESP_APPTRACE_RISCV_INITED(hw_data)) {
return ESP_ERR_INVALID_STATE;
}
return esp_apptrace_membufs_flush_nolock(&hw_data->membufs, min_sz, tmo);
}
static esp_err_t esp_apptrace_riscv_flush(esp_apptrace_riscv_data_t *hw_data, esp_apptrace_tmo_t *tmo)
{
if (!ESP_APPTRACE_RISCV_INITED(hw_data)) {
return ESP_ERR_INVALID_STATE;
}
esp_err_t res = esp_apptrace_riscv_lock(hw_data, tmo);
if (res != ESP_OK) {
return res;
}
res = esp_apptrace_membufs_flush_nolock(&hw_data->membufs, 0, tmo);
// now we can safely unlock apptrace to allow other tasks/ISRs to get other buffers and write their data
if (esp_apptrace_riscv_unlock(hw_data) != ESP_OK) {
assert(false && "Failed to unlock apptrace data!");
}
return res;
}
/*****************************************************************************************/
/************************** Membufs proto HW iface ***************************************/
/*****************************************************************************************/
static inline void esp_apptrace_riscv_buffer_swap_lock(void)
{
extern uint32_t __esp_apptrace_riscv_updated;
// indicate to host that we are about to update.
// this is used only to place CPU into streaming mode at tracing startup
// before starting streaming host can halt us after we read ESP_APPTRACE_RISCV_CTRL_REG and before we updated it
// HACK: in this case host will set breakpoint just after ESP_APPTRACE_RISCV_CTRL_REG update,
// here we set address to set bp at
// enter ERI update critical section
s_tracing_ctrl[esp_cpu_get_core_id()].stat = (uint32_t)&__esp_apptrace_riscv_updated;
}
static __attribute__((noinline)) void esp_apptrace_riscv_buffer_swap_unlock(void)
{
// exit ERI update critical section
s_tracing_ctrl[esp_cpu_get_core_id()].stat = 0;
// TODO: currently host sets breakpoint, use break instruction to stop;
// it will allow to use ESP_APPTRACE_RISCV_STAT_REG for other purposes
asm volatile (
" .global __esp_apptrace_riscv_updated\n"
"__esp_apptrace_riscv_updated:\n"); // host will set bp here to resolve collision at streaming start
}
static esp_err_t esp_apptrace_riscv_buffer_swap_start(uint32_t curr_block_id)
{
esp_err_t res = ESP_OK;
esp_apptrace_riscv_buffer_swap_lock();
uint32_t ctrl_reg = s_tracing_ctrl[esp_cpu_get_core_id()].ctrl;
uint32_t host_connected = ESP_APPTRACE_RISCV_HOST_CONNECT & ctrl_reg;
if (host_connected) {
uint32_t acked_block = ESP_APPTRACE_RISCV_BLOCK_ID_GET(ctrl_reg);
uint32_t host_to_read = ESP_APPTRACE_RISCV_BLOCK_LEN_GET(ctrl_reg);
if (host_to_read != 0 || acked_block != (curr_block_id & ESP_APPTRACE_RISCV_BLOCK_ID_MSK)) {
ESP_APPTRACE_LOGD("[%d]: Can not switch %x %d %x %x/%lx", esp_cpu_get_core_id(), ctrl_reg, host_to_read, acked_block,
curr_block_id & ESP_APPTRACE_RISCV_BLOCK_ID_MSK, curr_block_id);
res = ESP_ERR_NO_MEM;
goto _on_err;
}
}
return ESP_OK;
_on_err:
esp_apptrace_riscv_buffer_swap_unlock();
return res;
}
static esp_err_t esp_apptrace_riscv_buffer_swap_end(uint32_t new_block_id, uint32_t prev_block_len)
{
uint32_t ctrl_reg = s_tracing_ctrl[esp_cpu_get_core_id()].ctrl;
uint32_t host_connected = ESP_APPTRACE_RISCV_HOST_CONNECT & ctrl_reg;
s_tracing_ctrl[esp_cpu_get_core_id()].ctrl = ESP_APPTRACE_RISCV_BLOCK_ID(new_block_id) |
host_connected | ESP_APPTRACE_RISCV_BLOCK_LEN(prev_block_len);
esp_apptrace_riscv_buffer_swap_unlock();
return ESP_OK;
}
static esp_err_t esp_apptrace_riscv_buffer_swap(uint32_t new_block_id, uint32_t prev_block_len)
{
/* do nothing */
return ESP_OK;
}
static bool esp_apptrace_riscv_host_data_pending(void)
{
uint32_t ctrl_reg = s_tracing_ctrl[esp_cpu_get_core_id()].ctrl;
// ESP_APPTRACE_LOGV("%s() 0x%x", __func__, ctrl_reg);
return (ctrl_reg & ESP_APPTRACE_RISCV_HOST_DATA) ? true : false;
}
-348
View File
@@ -1,348 +0,0 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
*/
#include "sdkconfig.h"
#include "esp_cpu.h"
#include "esp_log.h"
#include "esp_app_trace_membufs_proto.h"
#include "esp_app_trace_port.h"
#include "riscv/semihosting.h"
/** RISCV HW transport data */
typedef struct {
uint8_t inited; // initialization state flags for every core
#if CONFIG_APPTRACE_LOCK_ENABLE
esp_apptrace_lock_t lock; // sync lock
#endif
esp_apptrace_membufs_proto_data_t membufs;
} esp_apptrace_riscv_data_t;
/** RISCV memory host iface control block */
typedef struct {
uint32_t ctrl;
// - Guard field. If this register is not zero then CPU is changing this struct and
// this guard field holds address of the instruction which application will execute when CPU finishes with those modifications.
uint32_t stat;
esp_apptrace_mem_block_t * mem_blocks;
} esp_apptrace_riscv_ctrl_block_t;
#define ESP_APPTRACE_RISCV_BLOCK_LEN_MSK 0x7FFFUL
#define ESP_APPTRACE_RISCV_BLOCK_LEN(_l_) ((_l_) & ESP_APPTRACE_RISCV_BLOCK_LEN_MSK)
#define ESP_APPTRACE_RISCV_BLOCK_LEN_GET(_v_) ((_v_) & ESP_APPTRACE_RISCV_BLOCK_LEN_MSK)
#define ESP_APPTRACE_RISCV_BLOCK_ID_MSK 0x7FUL
#define ESP_APPTRACE_RISCV_BLOCK_ID(_id_) (((_id_) & ESP_APPTRACE_RISCV_BLOCK_ID_MSK) << 15)
#define ESP_APPTRACE_RISCV_BLOCK_ID_GET(_v_) (((_v_) >> 15) & ESP_APPTRACE_RISCV_BLOCK_ID_MSK)
#define ESP_APPTRACE_RISCV_HOST_DATA (1 << 22)
#define ESP_APPTRACE_RISCV_HOST_CONNECT (1 << 23)
#define ESP_APPTRACE_RISCV_INITED(_hw_) ((_hw_)->inited & (1 << 0/*esp_cpu_get_core_id()*/))
const static char *TAG = "esp_apptrace";
#if SOC_CACHE_INTERNAL_MEM_VIA_L1CACHE
#define APPTRACE_DRAM_ATTR TCM_DRAM_ATTR
#else
#define APPTRACE_DRAM_ATTR
#endif
static APPTRACE_DRAM_ATTR esp_apptrace_riscv_ctrl_block_t s_tracing_ctrl[CONFIG_FREERTOS_NUMBER_OF_CORES];
/* Advertises apptrace control block address to host.
This function can be overridden with custom implementation,
e.g. OpenOCD flasher stub use own implementation of it. */
__attribute__((weak)) int esp_apptrace_advertise_ctrl_block(void *ctrl_block_addr)
{
if (!esp_cpu_dbgr_is_attached()) {
return 0;
}
return (int) semihosting_call_noerrno(ESP_SEMIHOSTING_SYS_APPTRACE_INIT, (long*)ctrl_block_addr);
}
/* Returns up buffers config.
This function can be overridden with custom implementation,
e.g. OpenOCD flasher stub use own implementation of it. */
__attribute__((weak)) void esp_apptrace_get_up_buffers(esp_apptrace_mem_block_t mem_blocks_cfg[2])
{
static uint8_t s_mem_blocks[2][CONFIG_APPTRACE_BUF_SIZE];
mem_blocks_cfg[0].start = s_mem_blocks[0];
mem_blocks_cfg[0].sz = CONFIG_APPTRACE_BUF_SIZE;
mem_blocks_cfg[1].start = s_mem_blocks[1];
mem_blocks_cfg[1].sz = CONFIG_APPTRACE_BUF_SIZE;
}
static esp_err_t esp_apptrace_riscv_lock(esp_apptrace_riscv_data_t *hw_data, esp_apptrace_tmo_t *tmo)
{
#if CONFIG_APPTRACE_LOCK_ENABLE
esp_err_t ret = esp_apptrace_lock_take(&hw_data->lock, tmo);
if (ret != ESP_OK) {
return ESP_FAIL;
}
#endif
return ESP_OK;
}
static esp_err_t esp_apptrace_riscv_unlock(esp_apptrace_riscv_data_t *hw_data)
{
esp_err_t ret = ESP_OK;
#if CONFIG_APPTRACE_LOCK_ENABLE
ret = esp_apptrace_lock_give(&hw_data->lock);
#endif
return ret;
}
/*****************************************************************************************/
/***************************** Apptrace HW iface *****************************************/
/*****************************************************************************************/
static esp_err_t esp_apptrace_riscv_init(esp_apptrace_riscv_data_t *hw_data)
{
int core_id = esp_cpu_get_core_id();
if (hw_data->inited == 0) {
esp_apptrace_mem_block_t mem_blocks_cfg[2];
esp_apptrace_get_up_buffers(mem_blocks_cfg);
esp_err_t res = esp_apptrace_membufs_init(&hw_data->membufs, mem_blocks_cfg);
if (res != ESP_OK) {
ESP_APPTRACE_LOGE("Failed to init membufs proto (%d)!", res);
return res;
}
#if CONFIG_APPTRACE_LOCK_ENABLE
esp_apptrace_lock_init(&hw_data->lock);
#endif
}
hw_data->inited |= 1 << core_id;
ESP_APPTRACE_LOGI("Apptrace initialized on CPU%d. Tracing control block @ %p.", core_id, &s_tracing_ctrl[core_id]);
s_tracing_ctrl[core_id].mem_blocks = hw_data->membufs.blocks;
for (int i = 0; i < 2; i++) {
ESP_APPTRACE_LOGD("Mem buf[%d] %" PRIu32 " bytes @ %p (%p/%p)", i,
s_tracing_ctrl[core_id].mem_blocks[i].sz, s_tracing_ctrl[core_id].mem_blocks[i].start,
&(s_tracing_ctrl[core_id].mem_blocks[i].start), &(s_tracing_ctrl[core_id].mem_blocks[i].sz));
}
// notify host about control block address
int res = esp_apptrace_advertise_ctrl_block(&s_tracing_ctrl[core_id]);
assert(res == 0 && "Failed to send config to host!");
return ESP_OK;
}
static uint8_t *esp_apptrace_riscv_up_buffer_get(esp_apptrace_riscv_data_t *hw_data, uint32_t size, esp_apptrace_tmo_t *tmo)
{
uint8_t *ptr;
if (!ESP_APPTRACE_RISCV_INITED(hw_data)) {
return NULL;
}
esp_err_t res = esp_apptrace_riscv_lock(hw_data, tmo);
if (res != ESP_OK) {
return NULL;
}
ptr = esp_apptrace_membufs_up_buffer_get(&hw_data->membufs, size, tmo);
// now we can safely unlock apptrace to allow other tasks/ISRs to get other buffers and write their data
if (esp_apptrace_riscv_unlock(hw_data) != ESP_OK) {
assert(false && "Failed to unlock apptrace data!");
}
return ptr;
}
static esp_err_t esp_apptrace_riscv_up_buffer_put(esp_apptrace_riscv_data_t *hw_data, uint8_t *ptr, esp_apptrace_tmo_t *tmo)
{
if (!ESP_APPTRACE_RISCV_INITED(hw_data)) {
return ESP_ERR_INVALID_STATE;
}
// Can avoid locking because esp_apptrace_membufs_up_buffer_put() just modifies buffer's header
esp_err_t res = esp_apptrace_membufs_up_buffer_put(&hw_data->membufs, ptr, tmo);
return res;
}
static void esp_apptrace_riscv_down_buffer_config(esp_apptrace_riscv_data_t *hw_data, uint8_t *buf, uint32_t size)
{
if (!ESP_APPTRACE_RISCV_INITED(hw_data)) {
return;
}
esp_apptrace_membufs_down_buffer_config(&hw_data->membufs, buf, size);
}
static uint8_t *esp_apptrace_riscv_down_buffer_get(esp_apptrace_riscv_data_t *hw_data, uint32_t *size, esp_apptrace_tmo_t *tmo)
{
uint8_t *ptr;
if (!ESP_APPTRACE_RISCV_INITED(hw_data)) {
return NULL;
}
esp_err_t res = esp_apptrace_riscv_lock(hw_data, tmo);
if (res != ESP_OK) {
return NULL;
}
ptr = esp_apptrace_membufs_down_buffer_get(&hw_data->membufs, size, tmo);
// now we can safely unlock apptrace to allow other tasks/ISRs to get other buffers and write their data
if (esp_apptrace_riscv_unlock(hw_data) != ESP_OK) {
assert(false && "Failed to unlock apptrace data!");
}
return ptr;
}
static esp_err_t esp_apptrace_riscv_down_buffer_put(esp_apptrace_riscv_data_t *hw_data, uint8_t *ptr, esp_apptrace_tmo_t *tmo)
{
if (!ESP_APPTRACE_RISCV_INITED(hw_data)) {
return ESP_ERR_INVALID_STATE;
}
// Can avoid locking because esp_apptrace_membufs_down_buffer_put() does nothing
/*esp_err_t res = esp_apptrace_riscv_lock(hw_data, tmo);
if (res != ESP_OK) {
return res;
}*/
esp_err_t res = esp_apptrace_membufs_down_buffer_put(&hw_data->membufs, ptr, tmo);
// now we can safely unlock apptrace to allow other tasks/ISRs to get other buffers and write their data
/*if (esp_apptrace_riscv_unlock(hw_data) != ESP_OK) {
assert(false && "Failed to unlock apptrace data!");
}*/
return res;
}
static bool esp_apptrace_riscv_host_is_connected(esp_apptrace_riscv_data_t *hw_data)
{
if (!ESP_APPTRACE_RISCV_INITED(hw_data)) {
return false;
}
return s_tracing_ctrl[esp_cpu_get_core_id()].ctrl & ESP_APPTRACE_RISCV_HOST_CONNECT ? true : false;
}
static esp_err_t esp_apptrace_riscv_flush_nolock(esp_apptrace_riscv_data_t *hw_data, uint32_t min_sz, esp_apptrace_tmo_t *tmo)
{
if (!ESP_APPTRACE_RISCV_INITED(hw_data)) {
return ESP_ERR_INVALID_STATE;
}
return esp_apptrace_membufs_flush_nolock(&hw_data->membufs, min_sz, tmo);
}
static esp_err_t esp_apptrace_riscv_flush(esp_apptrace_riscv_data_t *hw_data, esp_apptrace_tmo_t *tmo)
{
if (!ESP_APPTRACE_RISCV_INITED(hw_data)) {
return ESP_ERR_INVALID_STATE;
}
esp_err_t res = esp_apptrace_riscv_lock(hw_data, tmo);
if (res != ESP_OK) {
return res;
}
res = esp_apptrace_membufs_flush_nolock(&hw_data->membufs, 0, tmo);
// now we can safely unlock apptrace to allow other tasks/ISRs to get other buffers and write their data
if (esp_apptrace_riscv_unlock(hw_data) != ESP_OK) {
assert(false && "Failed to unlock apptrace data!");
}
return res;
}
/*****************************************************************************************/
/************************** Membufs proto HW iface ***************************************/
/*****************************************************************************************/
static inline void esp_apptrace_riscv_buffer_swap_lock(void)
{
extern uint32_t __esp_apptrace_riscv_updated;
// indicate to host that we are about to update.
// this is used only to place CPU into streaming mode at tracing startup
// before starting streaming host can halt us after we read ESP_APPTRACE_RISCV_CTRL_REG and before we updated it
// HACK: in this case host will set breakpoint just after ESP_APPTRACE_RISCV_CTRL_REG update,
// here we set address to set bp at
// enter ERI update critical section
s_tracing_ctrl[esp_cpu_get_core_id()].stat = (uint32_t)&__esp_apptrace_riscv_updated;
}
static __attribute__((noinline)) void esp_apptrace_riscv_buffer_swap_unlock(void)
{
// exit ERI update critical section
s_tracing_ctrl[esp_cpu_get_core_id()].stat = 0;
// TODO: currently host sets breakpoint, use break instruction to stop;
// it will allow to use ESP_APPTRACE_RISCV_STAT_REG for other purposes
asm volatile(
" .global __esp_apptrace_riscv_updated\n"
"__esp_apptrace_riscv_updated:\n"); // host will set bp here to resolve collision at streaming start
}
static esp_err_t esp_apptrace_riscv_buffer_swap_start(uint32_t curr_block_id)
{
esp_err_t res = ESP_OK;
esp_apptrace_riscv_buffer_swap_lock();
uint32_t ctrl_reg = s_tracing_ctrl[esp_cpu_get_core_id()].ctrl;
uint32_t host_connected = ESP_APPTRACE_RISCV_HOST_CONNECT & ctrl_reg;
if (host_connected) {
uint32_t acked_block = ESP_APPTRACE_RISCV_BLOCK_ID_GET(ctrl_reg);
uint32_t host_to_read = ESP_APPTRACE_RISCV_BLOCK_LEN_GET(ctrl_reg);
if (host_to_read != 0 || acked_block != (curr_block_id & ESP_APPTRACE_RISCV_BLOCK_ID_MSK)) {
ESP_APPTRACE_LOGD("[%d]: Can not switch %" PRIx32 " %" PRIu32 " %" PRIx32 " %" PRIx32 "/%" PRIx32, esp_cpu_get_core_id(), ctrl_reg, host_to_read, acked_block,
curr_block_id & ESP_APPTRACE_RISCV_BLOCK_ID_MSK, curr_block_id);
res = ESP_ERR_NO_MEM;
goto _on_err;
}
}
return ESP_OK;
_on_err:
esp_apptrace_riscv_buffer_swap_unlock();
return res;
}
static esp_err_t esp_apptrace_riscv_buffer_swap_end(uint32_t new_block_id, uint32_t prev_block_len)
{
uint32_t ctrl_reg = s_tracing_ctrl[esp_cpu_get_core_id()].ctrl;
uint32_t host_connected = ESP_APPTRACE_RISCV_HOST_CONNECT & ctrl_reg;
s_tracing_ctrl[esp_cpu_get_core_id()].ctrl = ESP_APPTRACE_RISCV_BLOCK_ID(new_block_id) |
host_connected | ESP_APPTRACE_RISCV_BLOCK_LEN(prev_block_len);
esp_apptrace_riscv_buffer_swap_unlock();
return ESP_OK;
}
static esp_err_t esp_apptrace_riscv_buffer_swap(uint32_t new_block_id, uint32_t prev_block_len)
{
/* do nothing */
return ESP_OK;
}
static bool esp_apptrace_riscv_host_data_pending(void)
{
uint32_t ctrl_reg = s_tracing_ctrl[esp_cpu_get_core_id()].ctrl;
// ESP_APPTRACE_LOGV("%s() 0x%x", __func__, ctrl_reg);
return (ctrl_reg & ESP_APPTRACE_RISCV_HOST_DATA) ? true : false;
}
esp_apptrace_hw_t *esp_apptrace_jtag_hw_get(void **data)
{
static esp_apptrace_membufs_proto_hw_t s_trace_proto_hw = {
.swap_start = esp_apptrace_riscv_buffer_swap_start,
.swap = esp_apptrace_riscv_buffer_swap,
.swap_end = esp_apptrace_riscv_buffer_swap_end,
.host_data_pending = esp_apptrace_riscv_host_data_pending,
};
static esp_apptrace_riscv_data_t s_trace_hw_data = {
.membufs = {
.hw = &s_trace_proto_hw,
},
};
static esp_apptrace_hw_t s_trace_hw = {
.init = (esp_err_t (*)(void *))esp_apptrace_riscv_init,
.get_up_buffer = (uint8_t *(*)(void *, uint32_t, esp_apptrace_tmo_t *))esp_apptrace_riscv_up_buffer_get,
.put_up_buffer = (esp_err_t (*)(void *, uint8_t *, esp_apptrace_tmo_t *))esp_apptrace_riscv_up_buffer_put,
.flush_up_buffer_nolock = (esp_err_t (*)(void *, uint32_t, esp_apptrace_tmo_t *))esp_apptrace_riscv_flush_nolock,
.flush_up_buffer = (esp_err_t (*)(void *, esp_apptrace_tmo_t *))esp_apptrace_riscv_flush,
.down_buffer_config = (void (*)(void *, uint8_t *, uint32_t))esp_apptrace_riscv_down_buffer_config,
.get_down_buffer = (uint8_t *(*)(void *, uint32_t *, esp_apptrace_tmo_t *))esp_apptrace_riscv_down_buffer_get,
.put_down_buffer = (esp_err_t (*)(void *, uint8_t *, esp_apptrace_tmo_t *))esp_apptrace_riscv_down_buffer_put,
.host_is_connected = (bool (*)(void *))esp_apptrace_riscv_host_is_connected,
};
*data = &s_trace_hw_data;
return &s_trace_hw;
}
+552
View File
@@ -0,0 +1,552 @@
/*
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
//
// How It Works
// ************
// 1. Components Overview
// ======================
// Xtensa has useful feature: TRAX debug module. It allows recording program execution flow at run-time without disturbing CPU.
// Execution flow data are written to configurable Trace RAM block. Besides accessing Trace RAM itself TRAX module also allows to read/write
// trace memory via its registers by means of JTAG, APB or ERI transactions.
// ESP32 has two Xtensa cores with separate TRAX modules on them and provides two special memory regions to be used as trace memory.
// Chip allows muxing access to those trace memory blocks in such a way that while one block is accessed by CPUs another one can be accessed by host
// by means of reading/writing TRAX registers via JTAG. Blocks muxing is configurable at run-time and allows switching trace memory blocks between
// accessors in round-robin fashion so they can read/write separate memory blocks without disturbing each other.
// This module implements application tracing feature based on above mechanisms. It allows to transfer arbitrary user data to/from
// host via JTAG with minimal impact on system performance. This module is implied to be used in the following tracing scheme.
// ------>------ ----- (host components) -----
// | | | |
// ------------------- ----------------------- ----------------------- ---------------- ------ --------- -----------------
// |trace data source|-->|target tracing module|<--->|TRAX_MEM0 | TRAX_MEM1|---->|TRAX_DATA_REGS|<-->|JTAG|<--->|OpenOCD|-->|trace data sink|
// ------------------- ----------------------- ----------------------- ---------------- ------ --------- -----------------
// | | | |
// | ------<------ ---------------- |
// |<------------------------------------------->|TRAX_CTRL_REGS|<---->|
// ----------------
// In general tracing goes in the following way. User application requests tracing module to send some data by calling esp_apptrace_buffer_get(),
// module allocates necessary buffer in current input trace block. Then user fills received buffer with data and calls esp_apptrace_buffer_put().
// When current input trace block is filled with app data it is exposed to host and the second block becomes input one and buffer filling restarts.
// While target application fills one TRAX block host reads another one via JTAG.
// This module also allows communication in the opposite direction: from host to target. As it was said ESP32 and host can access different TRAX blocks
// simultaneously, so while target writes trace data to one block host can write its own data (e.g. tracing commands) to another one then when
// blocks are switched host receives trace data and target receives data written by host application. Target user application can read host data
// by calling esp_apptrace_read() API.
// To control buffer switching and for other communication purposes this implementation uses some TRAX registers. It is safe since HW TRAX tracing
// can not be used along with application tracing feature so these registers are freely readable/writeable via JTAG from host and via ERI from ESP32 cores.
// Overhead of this implementation on target CPU is produced only by allocating/managing buffers and copying of data.
// On the host side special OpenOCD command must be used to read trace data.
// 2. TRAX Registers layout
// ========================
// This module uses two TRAX HW registers and one Performance Monitor register to communicate with host SW (OpenOCD).
// - Control register uses TRAX_DELAYCNT as storage. Only lower 24 bits of TRAX_DELAYCNT are writable. Control register has the following bitfields:
// | 31..XXXXXX..24 | 23 .(host_connect). 23| 22..(block_id)..15 | 14..(block_len)..0 |
// 14..0 bits - actual length of user data in trace memory block. Target updates it every time it fills memory block and exposes it to host.
// Host writes zero to this field when it finishes reading exposed block;
// 21..15 bits - trace memory block transfer ID. Block counter. It can overflow. Updated by target, host should not modify it. Actually can be 2 bits;
// 22 bit - 'host data present' flag. If set to one there is data from host, otherwise - no host data;
// 23 bit - 'host connected' flag. If zero then host is not connected and tracing module works in post-mortem mode, otherwise in streaming mode;
// - Status register uses TRAX_TRIGGERPC as storage. If this register is not zero then current CPU is changing TRAX registers and
// this register holds address of the instruction which application will execute when it finishes with those registers modifications.
// See 'Targets Connection' section for details.
// - CRC16 register uses ERI_PERFMON_PM1 as storage. This register is used to store CRC16 checksum of the exposed trace memory block.
// The register has the following format:
// | 31..16 (CRC indicator) | 15..0 (CRC16 value) |
// CRC indicator (0xA55A) is used to distinguish valid CRC values from other data that might be in the register.
// CRC16 is calculated over the entire exposed block and is updated every time a block is exposed to the host.
// This allows the host to verify data integrity of the received trace data.
// 3. Modes of operation
// =====================
// This module supports two modes of operation:
// - Post-mortem mode. This is the default mode. In this mode application tracing module does not check whether host has read all the data from block
// exposed to it and switches block in any case. The mode does not need host interaction for operation and so can be useful when only the latest
// trace data are necessary, e.g. for analyzing crashes. On panic the latest data from current input block are exposed to host and host can read them.
// It can happen that system panic occurs when there are very small amount of data which are not exposed to host yet (e.g. crash just after the
// TRAX block switch). In this case the previous 16KB of collected data will be dropped and host will see the latest, but very small piece of trace.
// It can be insufficient to diagnose the problem. To avoid such situations there is menuconfig option
// CONFIG_APPTRACE_POSTMORTEM_FLUSH_THRESH
// which controls the threshold for flushing data in case of panic.
// - Streaming mode. Tracing module enters this mode when host connects to target and sets respective bits in control registers (per core).
// In this mode before switching the block tracing module waits for the host to read all the data from the previously exposed block.
// On panic tracing module also waits (timeout is configured via menuconfig via CONFIG_APPTRACE_ONPANIC_HOST_FLUSH_TMO) for the host to read all data.
// 4. Communication Protocol
// =========================
// 4.1 Trace Memory Blocks
// -----------------------
// Communication is controlled via special register. Host periodically polls control register on each core to find out if there are any data available.
// When current input memory block is filled it is exposed to host and 'block_len' and 'block_id' fields are updated in the control register.
// Host reads new register value and according to it's value starts reading data from exposed block. Meanwhile target starts filling another trace block.
// When host finishes reading the block it clears 'block_len' field in control register indicating to the target that it is ready to accept the next one.
// If the host has some data to transfer to the target it writes them to trace memory block before clearing 'block_len' field. Then it sets
// 'host_data_present' bit and clears 'block_len' field in control register. Upon every block switch target checks 'host_data_present' bit and if it is set
// reads them to down buffer before writing any trace data to switched TRAX block.
// 4.2 User Data Chunks Level
// --------------------------
// Since trace memory block is shared between user data chunks and data copying is performed on behalf of the API user (in its normal context) in
// multithreading environment it can happen that task/ISR which copies data is preempted by another high prio task/ISR. So it is possible situation
// that task/ISR will fail to complete filling its data chunk before the whole trace block is exposed to the host. To handle such conditions tracing
// module prepends all user data chunks with header which contains allocated buffer size and actual data length within it. OpenOCD command
// which reads application traces reports error when it reads incomplete user data block.
// Data which are transffered from host to target are also prepended with a header. Down channel data header is simple and consists of one two bytes field
// containing length of host data following the header.
// 4.3 Data Buffering
// ------------------
// It takes some time for the host to read TRAX memory block via JTAG. In streaming mode it can happen that target has filled its TRAX block, but host
// has not completed reading of the previous one yet. So in this case time critical tracing calls (which can not be delayed for too long time due to
// the lack of free memory in TRAX block) can be dropped. To avoid such scenarios tracing module implements data buffering. Buffered data will be sent
// to the host later when TRAX block switch occurs. The maximum size of the buffered data is controlled by menuconfig option
// CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX.
// 4.4 Target Connection/Disconnection
// -----------------------------------
// When host is going to start tracing in streaming mode it needs to put both ESP32 cores into initial state when 'host connected' bit is set
// on both cores. To accomplish this host halts both cores and sets this bit in TRAX registers. But target code can be halted in state when it has read control
// register but has not updated its value. To handle such situations target code indicates to the host that it is updating control register by writing
// non-zero value to status register. Actually it writes address of the instruction which it will execute when it finishes with
// the registers update. When target is halted during control register update host sets breakpoint at the address from status register and resumes CPU.
// After target code finishes with register update it is halted on breakpoint, host detects it and safely sets 'host connected' bit. When both cores
// are set up they are resumed. Tracing starts without further intrusion into CPUs work.
// When host is going to stop tracing in streaming mode it needs to disconnect targets. Disconnection process is done using the same algorithm
// as for connecting, but 'host connected' bits are cleared on ESP32 cores.
// 5. Module Access Synchronization
// ================================
// Access to internal module's data is synchronized with custom mutex. Mutex is a wrapper for portMUX_TYPE and uses almost the same sync mechanism as in
// vPortCPUAcquireMutex/vPortCPUReleaseMutex. The mechanism uses S32C1I Xtensa instruction to implement exclusive access to module's data from tasks and
// ISRs running on both cores. Also custom mutex allows specifying timeout for locking operation. Locking routine checks underlying mutex in cycle until
// it gets its ownership or timeout expires. The differences of application tracing module's mutex implementation from vPortCPUAcquireMutex/vPortCPUReleaseMutex are:
// - Support for timeouts.
// - Local IRQs for CPU which owns the mutex are disabled till the call to unlocking routine. This is made to avoid possible task's prio inversion.
// When low prio task takes mutex and enables local IRQs gets preempted by high prio task which in its turn can try to acquire mutex using infinite timeout.
// So no local task switch occurs when mutex is locked. But this does not apply to tasks on another CPU.
// WARNING: Priority inversion can happen when low prio task works on one CPU and medium and high prio tasks work on another.
// WARNING: Care must be taken when selecting timeout values for trace calls from ISRs. Tracing module does not care about watchdogs when waiting
// on internal locks and for host to complete previous block reading, so if timeout value exceeds watchdog's one it can lead to the system reboot.
// 6. Timeouts
// ===========
// Timeout mechanism is based on xthal_get_ccount() routine and supports timeout values in microseconds.
// There are two situations when task/ISR can be delayed by tracing API call. Timeout mechanism takes into account both conditions:
// - Trace data are locked by another task/ISR. When waiting on trace data lock.
// - Current TRAX memory input block is full when working in streaming mode (host is connected). When waiting for host to complete previous block reading.
// When waiting for any of above conditions xthal_get_ccount() is called periodically to calculate time elapsed from trace API routine entry. When elapsed
// time exceeds specified timeout value operation is canceled and ESP_ERR_TIMEOUT code is returned.
#include "sdkconfig.h"
#include "soc/soc.h"
#include "soc/dport_reg.h"
#include "soc/tracemem_config.h"
#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
#include "soc/sensitive_reg.h"
#endif
#include "eri.h"
#include "esp_private/trax.h"
#include "esp_cpu.h"
#include "esp_log.h"
#include "esp_app_trace_membufs_proto.h"
#include "esp_app_trace_port.h"
#include "esp_rom_crc.h"
// TRAX is disabled, so we use its registers for our own purposes
// | 31..XXXXXX..24 | 23 .(host_connect). 23 | 22 .(host_data). 22| 21..(block_id)..15 | 14..(block_len)..0 |
#define ESP_APPTRACE_TRAX_CTRL_REG ERI_TRAX_DELAYCNT
#define ESP_APPTRACE_TRAX_STAT_REG ERI_TRAX_TRIGGERPC
#define ESP_APPTRACE_TRAX_CRC16_REG ERI_PERFMON_PM1
#define ESP_APPTRACE_CRC_INDICATOR (0xA55AU << 16)
#define ESP_APPTRACE_TRAX_BLOCK_LEN_MSK 0x7FFFUL
#define ESP_APPTRACE_TRAX_BLOCK_LEN(_l_) ((_l_) & ESP_APPTRACE_TRAX_BLOCK_LEN_MSK)
#define ESP_APPTRACE_TRAX_BLOCK_LEN_GET(_v_) ((_v_) & ESP_APPTRACE_TRAX_BLOCK_LEN_MSK)
#define ESP_APPTRACE_TRAX_BLOCK_ID_MSK 0x7FUL
#define ESP_APPTRACE_TRAX_BLOCK_ID(_id_) (((_id_) & ESP_APPTRACE_TRAX_BLOCK_ID_MSK) << 15)
#define ESP_APPTRACE_TRAX_BLOCK_ID_GET(_v_) (((_v_) >> 15) & ESP_APPTRACE_TRAX_BLOCK_ID_MSK)
#define ESP_APPTRACE_TRAX_HOST_DATA (1 << 22)
#define ESP_APPTRACE_TRAX_HOST_CONNECT (1 << 23)
#define ESP_APPTRACE_TRAX_INITED(_hw_) ((_hw_)->inited & (1 << esp_cpu_get_core_id()))
#define ESP_APPTRACE_TRAX_BLOCK_SIZE (0x4000UL)
/** TRAX HW transport data */
typedef struct {
uint8_t inited;
#if CONFIG_APPTRACE_LOCK_ENABLE
esp_apptrace_lock_t lock; // sync lock
#endif
esp_apptrace_membufs_proto_data_t membufs;
} esp_apptrace_trax_data_t;
static esp_err_t esp_apptrace_trax_init(esp_apptrace_trax_data_t *hw_data);
static esp_err_t esp_apptrace_trax_flush(esp_apptrace_trax_data_t *hw_data, esp_apptrace_tmo_t *tmo);
static esp_err_t esp_apptrace_trax_flush_nolock(esp_apptrace_trax_data_t *hw_data, uint32_t min_sz, esp_apptrace_tmo_t *tmo);
static uint8_t *esp_apptrace_trax_up_buffer_get(esp_apptrace_trax_data_t *hw_data, uint32_t size, esp_apptrace_tmo_t *tmo);
static esp_err_t esp_apptrace_trax_up_buffer_put(esp_apptrace_trax_data_t *hw_data, uint8_t *ptr, esp_apptrace_tmo_t *tmo);
static void esp_apptrace_trax_down_buffer_config(esp_apptrace_trax_data_t *hw_data, uint8_t *buf, uint32_t size);
static uint8_t *esp_apptrace_trax_down_buffer_get(esp_apptrace_trax_data_t *hw_data, uint32_t *size, esp_apptrace_tmo_t *tmo);
static esp_err_t esp_apptrace_trax_down_buffer_put(esp_apptrace_trax_data_t *hw_data, uint8_t *ptr, esp_apptrace_tmo_t *tmo);
static bool esp_apptrace_trax_host_is_connected(esp_apptrace_trax_data_t *hw_data);
static esp_err_t esp_apptrace_trax_buffer_swap_start(uint32_t curr_block_id);
static esp_err_t esp_apptrace_trax_buffer_swap(uint32_t new_block_id, uint32_t prev_block_len);
static esp_err_t esp_apptrace_trax_buffer_swap_end(uint32_t new_block_id, uint32_t prev_block_len);
static bool esp_apptrace_trax_host_data_pending(void);
const static char *TAG = "esp_apptrace";
static uint8_t * const s_trax_blocks[] = {
(uint8_t *)TRACEMEM_BLK0_ADDR,
(uint8_t *)TRACEMEM_BLK1_ADDR
};
esp_apptrace_hw_t *esp_apptrace_jtag_hw_get(void **data)
{
#if CONFIG_APPTRACE_DEST_JTAG
static esp_apptrace_membufs_proto_hw_t s_trax_proto_hw = {
.swap_start = esp_apptrace_trax_buffer_swap_start,
.swap = esp_apptrace_trax_buffer_swap,
.swap_end = esp_apptrace_trax_buffer_swap_end,
.host_data_pending = esp_apptrace_trax_host_data_pending,
};
static esp_apptrace_trax_data_t s_trax_hw_data = {
.membufs = {
.hw = &s_trax_proto_hw,
},
};
static esp_apptrace_hw_t s_trax_hw = {
.init = (esp_err_t (*)(void *))esp_apptrace_trax_init,
.get_up_buffer = (uint8_t *(*)(void *, uint32_t, esp_apptrace_tmo_t *))esp_apptrace_trax_up_buffer_get,
.put_up_buffer = (esp_err_t (*)(void *, uint8_t *, esp_apptrace_tmo_t *))esp_apptrace_trax_up_buffer_put,
.flush_up_buffer_nolock = (esp_err_t (*)(void *, uint32_t, esp_apptrace_tmo_t *))esp_apptrace_trax_flush_nolock,
.flush_up_buffer = (esp_err_t (*)(void *, esp_apptrace_tmo_t *))esp_apptrace_trax_flush,
.down_buffer_config = (void (*)(void *, uint8_t *, uint32_t ))esp_apptrace_trax_down_buffer_config,
.get_down_buffer = (uint8_t *(*)(void *, uint32_t *, esp_apptrace_tmo_t *))esp_apptrace_trax_down_buffer_get,
.put_down_buffer = (esp_err_t (*)(void *, uint8_t *, esp_apptrace_tmo_t *))esp_apptrace_trax_down_buffer_put,
.host_is_connected = (bool (*)(void *))esp_apptrace_trax_host_is_connected,
};
*data = &s_trax_hw_data;
return &s_trax_hw;
#else
return NULL;
#endif
}
static esp_err_t esp_apptrace_trax_lock(esp_apptrace_trax_data_t *hw_data, esp_apptrace_tmo_t *tmo)
{
#if CONFIG_APPTRACE_LOCK_ENABLE
esp_err_t ret = esp_apptrace_lock_take(&hw_data->lock, tmo);
if (ret != ESP_OK) {
return ESP_FAIL;
}
#endif
return ESP_OK;
}
static esp_err_t esp_apptrace_trax_unlock(esp_apptrace_trax_data_t *hw_data)
{
esp_err_t ret = ESP_OK;
#if CONFIG_APPTRACE_LOCK_ENABLE
ret = esp_apptrace_lock_give(&hw_data->lock);
#endif
return ret;
}
static inline void esp_apptrace_trax_hw_init(void)
{
// Stop trace, if any (on the current CPU)
eri_write(ERI_TRAX_TRAXCTRL, TRAXCTRL_TRSTP);
eri_write(ERI_TRAX_TRAXCTRL, TRAXCTRL_TMEN);
eri_write(ESP_APPTRACE_TRAX_CTRL_REG, ESP_APPTRACE_TRAX_BLOCK_ID(0));
// this is for OpenOCD to let him know where stub entries vector is resided
// must be read by host before any transfer using TRAX
eri_write(ESP_APPTRACE_TRAX_STAT_REG, 0);
ESP_APPTRACE_LOGI("Initialized TRAX on CPU%d", esp_cpu_get_core_id());
}
static inline void esp_apptrace_trax_select_memory_block(int block_num)
{
// select memory block to be exposed to the TRAX module (accessed by host)
#if CONFIG_IDF_TARGET_ESP32
DPORT_WRITE_PERI_REG(DPORT_TRACEMEM_MUX_MODE_REG, block_num ? TRACEMEM_MUX_BLK0_ONLY : TRACEMEM_MUX_BLK1_ONLY);
#elif CONFIG_IDF_TARGET_ESP32S2
WRITE_PERI_REG(DPORT_PMS_OCCUPY_3_REG, block_num ? BIT(TRACEMEM_MUX_BLK0_NUM-4) : BIT(TRACEMEM_MUX_BLK1_NUM-4));
#elif CONFIG_IDF_TARGET_ESP32S3
// select memory block to be exposed to the TRAX module (accessed by host)
uint32_t block_bits = block_num ? TRACEMEM_CORE0_MUX_BLK_BITS(TRACEMEM_MUX_BLK0_NUM)
: TRACEMEM_CORE0_MUX_BLK_BITS(TRACEMEM_MUX_BLK1_NUM);
block_bits |= block_num ? TRACEMEM_CORE1_MUX_BLK_BITS(TRACEMEM_MUX_BLK0_NUM)
: TRACEMEM_CORE1_MUX_BLK_BITS(TRACEMEM_MUX_BLK1_NUM);
ESP_EARLY_LOGV(TAG, "Select block %d @ %p (bits 0x%x)", block_num, s_trax_blocks[block_num], block_bits);
DPORT_WRITE_PERI_REG(SENSITIVE_INTERNAL_SRAM_USAGE_2_REG, block_bits);
#endif
}
static inline void esp_apptrace_trax_memory_enable(void)
{
#if CONFIG_IDF_TARGET_ESP32
/* Enable trace memory on PRO CPU */
DPORT_WRITE_PERI_REG(DPORT_PRO_TRACEMEM_ENA_REG, DPORT_PRO_TRACEMEM_ENA_M);
#if CONFIG_FREERTOS_UNICORE == 0
/* Enable trace memory on APP CPU */
DPORT_WRITE_PERI_REG(DPORT_APP_TRACEMEM_ENA_REG, DPORT_APP_TRACEMEM_ENA_M);
#endif
#endif
}
/*****************************************************************************************/
/***************************** Apptrace HW iface *****************************************/
/*****************************************************************************************/
static esp_err_t esp_apptrace_trax_init(esp_apptrace_trax_data_t *hw_data)
{
int core_id = esp_cpu_get_core_id();
// 'esp_apptrace_trax_init()' is called on every core, so ensure to do main initialization only once
if (core_id == 0) {
esp_apptrace_mem_block_t mem_blocks_cfg[2] = {
{
.start = s_trax_blocks[0],
.sz = ESP_APPTRACE_TRAX_BLOCK_SIZE
},
{
.start = s_trax_blocks[1],
.sz = ESP_APPTRACE_TRAX_BLOCK_SIZE
},
};
esp_err_t res = esp_apptrace_membufs_init(&hw_data->membufs, mem_blocks_cfg);
if (res != ESP_OK) {
ESP_APPTRACE_LOGE("Failed to init membufs proto (%d)!", res);
return res;
}
#if CONFIG_APPTRACE_LOCK_ENABLE
esp_apptrace_lock_init(&hw_data->lock);
#endif
esp_apptrace_trax_memory_enable();
esp_apptrace_trax_select_memory_block(0);
}
// init TRAX on this CPU
esp_apptrace_trax_hw_init();
hw_data->inited |= 1 << core_id;
return ESP_OK;
}
static uint8_t *esp_apptrace_trax_up_buffer_get(esp_apptrace_trax_data_t *hw_data, uint32_t size, esp_apptrace_tmo_t *tmo)
{
uint8_t *ptr;
if (!ESP_APPTRACE_TRAX_INITED(hw_data)) {
return NULL;
}
esp_err_t res = esp_apptrace_trax_lock(hw_data, tmo);
if (res != ESP_OK) {
return NULL;
}
ptr = esp_apptrace_membufs_up_buffer_get(&hw_data->membufs, size, tmo);
// now we can safely unlock apptrace to allow other tasks/ISRs to get other buffers and write their data
if (esp_apptrace_trax_unlock(hw_data) != ESP_OK) {
assert(false && "Failed to unlock apptrace data!");
}
return ptr;
}
static esp_err_t esp_apptrace_trax_up_buffer_put(esp_apptrace_trax_data_t *hw_data, uint8_t *ptr, esp_apptrace_tmo_t *tmo)
{
if (!ESP_APPTRACE_TRAX_INITED(hw_data)) {
return ESP_ERR_INVALID_STATE;
}
// Can avoid locking because esp_apptrace_membufs_up_buffer_put() just modifies buffer's header
esp_err_t res = esp_apptrace_membufs_up_buffer_put(&hw_data->membufs, ptr, tmo);
return res;
}
static void esp_apptrace_trax_down_buffer_config(esp_apptrace_trax_data_t *hw_data, uint8_t *buf, uint32_t size)
{
if (!ESP_APPTRACE_TRAX_INITED(hw_data)) {
return;
}
esp_apptrace_membufs_down_buffer_config(&hw_data->membufs, buf, size);
}
static uint8_t *esp_apptrace_trax_down_buffer_get(esp_apptrace_trax_data_t *hw_data, uint32_t *size, esp_apptrace_tmo_t *tmo)
{
uint8_t *ptr;
if (!ESP_APPTRACE_TRAX_INITED(hw_data)) {
return NULL;
}
esp_err_t res = esp_apptrace_trax_lock(hw_data, tmo);
if (res != ESP_OK) {
return NULL;
}
ptr = esp_apptrace_membufs_down_buffer_get(&hw_data->membufs, size, tmo);
// now we can safely unlock apptrace to allow other tasks/ISRs to get other buffers and write their data
if (esp_apptrace_trax_unlock(hw_data) != ESP_OK) {
assert(false && "Failed to unlock apptrace data!");
}
return ptr;
}
static esp_err_t esp_apptrace_trax_down_buffer_put(esp_apptrace_trax_data_t *hw_data, uint8_t *ptr, esp_apptrace_tmo_t *tmo)
{
if (!ESP_APPTRACE_TRAX_INITED(hw_data)) {
return ESP_ERR_INVALID_STATE;
}
// Can avoid locking because esp_apptrace_membufs_down_buffer_put() does nothing
/*esp_err_t res = esp_apptrace_trax_lock(hw_data, tmo);
if (res != ESP_OK) {
return res;
}*/
esp_err_t res = esp_apptrace_membufs_down_buffer_put(&hw_data->membufs, ptr, tmo);
// now we can safely unlock apptrace to allow other tasks/ISRs to get other buffers and write their data
/*if (esp_apptrace_trax_unlock(hw_data) != ESP_OK) {
assert(false && "Failed to unlock apptrace data!");
}*/
return res;
}
static bool esp_apptrace_trax_host_is_connected(esp_apptrace_trax_data_t *hw_data)
{
if (!ESP_APPTRACE_TRAX_INITED(hw_data)) {
return false;
}
return eri_read(ESP_APPTRACE_TRAX_CTRL_REG) & ESP_APPTRACE_TRAX_HOST_CONNECT ? true : false;
}
static esp_err_t esp_apptrace_trax_flush_nolock(esp_apptrace_trax_data_t *hw_data, uint32_t min_sz, esp_apptrace_tmo_t *tmo)
{
if (!ESP_APPTRACE_TRAX_INITED(hw_data)) {
return ESP_ERR_INVALID_STATE;
}
return esp_apptrace_membufs_flush_nolock(&hw_data->membufs, min_sz, tmo);
}
static esp_err_t esp_apptrace_trax_flush(esp_apptrace_trax_data_t *hw_data, esp_apptrace_tmo_t *tmo)
{
if (!ESP_APPTRACE_TRAX_INITED(hw_data)) {
return ESP_ERR_INVALID_STATE;
}
esp_err_t res = esp_apptrace_trax_lock(hw_data, tmo);
if (res != ESP_OK) {
return res;
}
res = esp_apptrace_membufs_flush_nolock(&hw_data->membufs, 0, tmo);
// now we can safely unlock apptrace to allow other tasks/ISRs to get other buffers and write their data
if (esp_apptrace_trax_unlock(hw_data) != ESP_OK) {
assert(false && "Failed to unlock apptrace data!");
}
return res;
}
/*****************************************************************************************/
/************************** Membufs proto HW iface ***************************************/
/*****************************************************************************************/
static inline void esp_apptrace_trax_buffer_swap_lock(void)
{
extern uint32_t __esp_apptrace_trax_eri_updated;
// indicate to host that we are about to update.
// this is used only to place CPU into streaming mode at tracing startup
// before starting streaming host can halt us after we read ESP_APPTRACE_TRAX_CTRL_REG and before we updated it
// HACK: in this case host will set breakpoint just after ESP_APPTRACE_TRAX_CTRL_REG update,
// here we set address to set bp at
// enter ERI update critical section
eri_write(ESP_APPTRACE_TRAX_STAT_REG, (uint32_t)&__esp_apptrace_trax_eri_updated);
}
static __attribute__((noinline)) void esp_apptrace_trax_buffer_swap_unlock(void)
{
// exit ERI update critical section
eri_write(ESP_APPTRACE_TRAX_STAT_REG, 0x0);
// TODO: currently host sets breakpoint, use break instruction to stop;
// it will allow to use ESP_APPTRACE_TRAX_STAT_REG for other purposes
asm volatile (
" .global __esp_apptrace_trax_eri_updated\n"
"__esp_apptrace_trax_eri_updated:\n"); // host will set bp here to resolve collision at streaming start
}
static esp_err_t esp_apptrace_trax_buffer_swap_start(uint32_t curr_block_id)
{
esp_err_t res = ESP_OK;
esp_apptrace_trax_buffer_swap_lock();
uint32_t ctrl_reg = eri_read(ESP_APPTRACE_TRAX_CTRL_REG);
uint32_t host_connected = ESP_APPTRACE_TRAX_HOST_CONNECT & ctrl_reg;
if (host_connected) {
uint32_t acked_block = ESP_APPTRACE_TRAX_BLOCK_ID_GET(ctrl_reg);
uint32_t host_to_read = ESP_APPTRACE_TRAX_BLOCK_LEN_GET(ctrl_reg);
if (host_to_read != 0 || acked_block != (curr_block_id & ESP_APPTRACE_TRAX_BLOCK_ID_MSK)) {
ESP_APPTRACE_LOGD("HC[%d]: Can not switch %" PRIx32 " %" PRIu32 " %" PRIx32 " %" PRIx32 "/%" PRIx32,
esp_cpu_get_core_id(), ctrl_reg, host_to_read, acked_block,
curr_block_id & ESP_APPTRACE_TRAX_BLOCK_ID_MSK, curr_block_id);
res = ESP_ERR_NO_MEM;
goto _on_err;
}
}
return ESP_OK;
_on_err:
esp_apptrace_trax_buffer_swap_unlock();
return res;
}
static esp_err_t esp_apptrace_trax_buffer_swap_end(uint32_t new_block_id, uint32_t prev_block_len)
{
uint32_t ctrl_reg = eri_read(ESP_APPTRACE_TRAX_CTRL_REG);
uint32_t host_connected = ESP_APPTRACE_TRAX_HOST_CONNECT & ctrl_reg;
eri_write(ESP_APPTRACE_TRAX_CTRL_REG, ESP_APPTRACE_TRAX_BLOCK_ID(new_block_id) |
host_connected | ESP_APPTRACE_TRAX_BLOCK_LEN(prev_block_len));
esp_apptrace_trax_buffer_swap_unlock();
return ESP_OK;
}
static esp_err_t esp_apptrace_trax_buffer_swap(uint32_t new_block_id, uint32_t prev_block_len)
{
/* Before switching to the new block, calculate CRC16 of the current block */
if (prev_block_len > 0) {
const uint8_t *prev_block_start = s_trax_blocks[!((new_block_id % 2))];
uint16_t crc16 = esp_rom_crc16_le(0, prev_block_start, prev_block_len);
eri_write(ESP_APPTRACE_TRAX_CRC16_REG, crc16 | ESP_APPTRACE_CRC_INDICATOR);
ESP_APPTRACE_LOGD("CRC16:%x %d @%x", crc16, prev_block_len, prev_block_start);
}
esp_apptrace_trax_select_memory_block(new_block_id);
return ESP_OK;
}
static bool esp_apptrace_trax_host_data_pending(void)
{
uint32_t ctrl_reg = eri_read(ESP_APPTRACE_TRAX_CTRL_REG);
return (ctrl_reg & ESP_APPTRACE_TRAX_HOST_DATA) ? true : false;
}
@@ -1,523 +0,0 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
*/
//
// How It Works
// ************
// 1. Components Overview
// ======================
// Xtensa has useful feature: TRAX debug module. It allows recording program execution flow at run-time without disturbing CPU.
// Execution flow data are written to configurable Trace RAM block. Besides accessing Trace RAM itself TRAX module also allows to read/write
// trace memory via its registers by means of JTAG, APB or ERI transactions.
// ESP32 has two Xtensa cores with separate TRAX modules on them and provides two special memory regions to be used as trace memory.
// Chip allows muxing access to those trace memory blocks in such a way that while one block is accessed by CPUs another one can be accessed by host
// by means of reading/writing TRAX registers via JTAG. Blocks muxing is configurable at run-time and allows switching trace memory blocks between
// accessors in round-robin fashion so they can read/write separate memory blocks without disturbing each other.
// This module implements application tracing feature based on above mechanisms. It allows to transfer arbitrary user data to/from
// host via JTAG with minimal impact on system performance. This module is implied to be used in the following tracing scheme.
// ------>------ ----- (host components) -----
// | | | |
// ------------------- ----------------------- ----------------------- ---------------- ------ --------- -----------------
// |trace data source|-->|target tracing module|<--->|TRAX_MEM0 | TRAX_MEM1|---->|TRAX_DATA_REGS|<-->|JTAG|<--->|OpenOCD|-->|trace data sink|
// ------------------- ----------------------- ----------------------- ---------------- ------ --------- -----------------
// | | | |
// | ------<------ ---------------- |
// |<------------------------------------------->|TRAX_CTRL_REGS|<---->|
// ----------------
// In general tracing goes in the following way. User application requests tracing module to send some data by calling esp_apptrace_buffer_get(),
// module allocates necessary buffer in current input trace block. Then user fills received buffer with data and calls esp_apptrace_buffer_put().
// When current input trace block is filled with app data it is exposed to host and the second block becomes input one and buffer filling restarts.
// While target application fills one TRAX block host reads another one via JTAG.
// This module also allows communication in the opposite direction: from host to target. As it was said ESP32 and host can access different TRAX blocks
// simultaneously, so while target writes trace data to one block host can write its own data (e.g. tracing commands) to another one then when
// blocks are switched host receives trace data and target receives data written by host application. Target user application can read host data
// by calling esp_apptrace_read() API.
// To control buffer switching and for other communication purposes this implementation uses some TRAX registers. It is safe since HW TRAX tracing
// can not be used along with application tracing feature so these registers are freely readable/writeable via JTAG from host and via ERI from ESP32 cores.
// Overhead of this implementation on target CPU is produced only by allocating/managing buffers and copying of data.
// On the host side special OpenOCD command must be used to read trace data.
// 2. TRAX Registers layout
// ========================
// This module uses two TRAX HW registers and one Performance Monitor register to communicate with host SW (OpenOCD).
// - Control register uses TRAX_DELAYCNT as storage. Only lower 24 bits of TRAX_DELAYCNT are writable. Control register has the following bitfields:
// | 31..XXXXXX..24 | 23 .(host_connect). 23| 22..(block_id)..15 | 14..(block_len)..0 |
// 14..0 bits - actual length of user data in trace memory block. Target updates it every time it fills memory block and exposes it to host.
// Host writes zero to this field when it finishes reading exposed block;
// 21..15 bits - trace memory block transfer ID. Block counter. It can overflow. Updated by target, host should not modify it. Actually can be 2 bits;
// 22 bit - 'host data present' flag. If set to one there is data from host, otherwise - no host data;
// 23 bit - 'host connected' flag. If zero then host is not connected and tracing module works in post-mortem mode, otherwise in streaming mode;
// - Status register uses TRAX_TRIGGERPC as storage. If this register is not zero then current CPU is changing TRAX registers and
// this register holds address of the instruction which application will execute when it finishes with those registers modifications.
// See 'Targets Connection' section for details.
// - CRC16 register uses ERI_PERFMON_PM1 as storage. This register is used to store CRC16 checksum of the exposed trace memory block.
// The register has the following format:
// | 31..16 (CRC indicator) | 15..0 (CRC16 value) |
// CRC indicator (0xA55A) is used to distinguish valid CRC values from other data that might be in the register.
// CRC16 is calculated over the entire exposed block and is updated every time a block is exposed to the host.
// This allows the host to verify data integrity of the received trace data.
// 3. Modes of operation
// =====================
// This module supports two modes of operation:
// - Post-mortem mode. This is the default mode. In this mode application tracing module does not check whether host has read all the data from block
// exposed to it and switches block in any case. The mode does not need host interaction for operation and so can be useful when only the latest
// trace data are necessary, e.g. for analyzing crashes. On panic the latest data from current input block are exposed to host and host can read them.
// It can happen that system panic occurs when there are very small amount of data which are not exposed to host yet (e.g. crash just after the
// TRAX block switch). In this case the previous 16KB of collected data will be dropped and host will see the latest, but very small piece of trace.
// It can be insufficient to diagnose the problem. To avoid such situations there is menuconfig option
// CONFIG_APPTRACE_POSTMORTEM_FLUSH_THRESH
// which controls the threshold for flushing data in case of panic.
// - Streaming mode. Tracing module enters this mode when host connects to target and sets respective bits in control registers (per core).
// In this mode before switching the block tracing module waits for the host to read all the data from the previously exposed block.
// On panic tracing module also waits (timeout is configured via menuconfig via CONFIG_APPTRACE_ONPANIC_HOST_FLUSH_TMO) for the host to read all data.
// 4. Communication Protocol
// =========================
// 4.1 Trace Memory Blocks
// -----------------------
// Communication is controlled via special register. Host periodically polls control register on each core to find out if there are any data available.
// When current input memory block is filled it is exposed to host and 'block_len' and 'block_id' fields are updated in the control register.
// Host reads new register value and according to it's value starts reading data from exposed block. Meanwhile target starts filling another trace block.
// When host finishes reading the block it clears 'block_len' field in control register indicating to the target that it is ready to accept the next one.
// If the host has some data to transfer to the target it writes them to trace memory block before clearing 'block_len' field. Then it sets
// 'host_data_present' bit and clears 'block_len' field in control register. Upon every block switch target checks 'host_data_present' bit and if it is set
// reads them to down buffer before writing any trace data to switched TRAX block.
// 4.2 User Data Chunks Level
// --------------------------
// Since trace memory block is shared between user data chunks and data copying is performed on behalf of the API user (in its normal context) in
// multithreading environment it can happen that task/ISR which copies data is preempted by another high prio task/ISR. So it is possible situation
// that task/ISR will fail to complete filling its data chunk before the whole trace block is exposed to the host. To handle such conditions tracing
// module prepends all user data chunks with header which contains allocated buffer size and actual data length within it. OpenOCD command
// which reads application traces reports error when it reads incomplete user data block.
// Data which are transffered from host to target are also prepended with a header. Down channel data header is simple and consists of one two bytes field
// containing length of host data following the header.
// 4.3 Target Connection/Disconnection
// -----------------------------------
// When host is going to start tracing in streaming mode it needs to put both ESP32 cores into initial state when 'host connected' bit is set
// on both cores. To accomplish this host halts both cores and sets this bit in TRAX registers. But target code can be halted in state when it has read control
// register but has not updated its value. To handle such situations target code indicates to the host that it is updating control register by writing
// non-zero value to status register. Actually it writes address of the instruction which it will execute when it finishes with
// the registers update. When target is halted during control register update host sets breakpoint at the address from status register and resumes CPU.
// After target code finishes with register update it is halted on breakpoint, host detects it and safely sets 'host connected' bit. When both cores
// are set up they are resumed. Tracing starts without further intrusion into CPUs work.
// When host is going to stop tracing in streaming mode it needs to disconnect targets. Disconnection process is done using the same algorithm
// as for connecting, but 'host connected' bits are cleared on ESP32 cores.
// 5. Module Access Synchronization
// ================================
// Access to internal module's data is synchronized with custom mutex. Mutex is a wrapper for portMUX_TYPE and uses almost the same sync mechanism as in
// vPortCPUAcquireMutex/vPortCPUReleaseMutex. The mechanism uses S32C1I Xtensa instruction to implement exclusive access to module's data from tasks and
// ISRs running on both cores. Also custom mutex allows specifying timeout for locking operation. Locking routine checks underlying mutex in cycle until
// it gets its ownership or timeout expires. The differences of application tracing module's mutex implementation from vPortCPUAcquireMutex/vPortCPUReleaseMutex are:
// - Support for timeouts.
// - Local IRQs for CPU which owns the mutex are disabled till the call to unlocking routine. This is made to avoid possible task's prio inversion.
// When low prio task takes mutex and enables local IRQs gets preempted by high prio task which in its turn can try to acquire mutex using infinite timeout.
// So no local task switch occurs when mutex is locked. But this does not apply to tasks on another CPU.
// WARNING: Priority inversion can happen when low prio task works on one CPU and medium and high prio tasks work on another.
// WARNING: Care must be taken when selecting timeout values for trace calls from ISRs. Tracing module does not care about watchdogs when waiting
// on internal locks and for host to complete previous block reading, so if timeout value exceeds watchdog's one it can lead to the system reboot.
// 6. Timeouts
// ===========
// Timeout mechanism is based on xthal_get_ccount() routine and supports timeout values in microseconds.
// There are two situations when task/ISR can be delayed by tracing API call. Timeout mechanism takes into account both conditions:
// - Trace data are locked by another task/ISR. When waiting on trace data lock.
// - Current TRAX memory input block is full when working in streaming mode (host is connected). When waiting for host to complete previous block reading.
// When waiting for any of above conditions xthal_get_ccount() is called periodically to calculate time elapsed from trace API routine entry. When elapsed
// time exceeds specified timeout value operation is canceled and ESP_ERR_TIMEOUT code is returned.
#include "sdkconfig.h"
#include "soc/soc.h"
#include "soc/dport_reg.h"
#include "soc/tracemem_config.h"
#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
#include "soc/sensitive_reg.h"
#endif
#include "eri.h"
#include "esp_private/trax.h"
#include "esp_cpu.h"
#include "esp_log.h"
#include "esp_app_trace_membufs_proto.h"
#include "esp_app_trace_port.h"
#include "esp_rom_crc.h"
// TRAX is disabled, so we use its registers for our own purposes
// | 31..XXXXXX..24 | 23 .(host_connect). 23 | 22 .(host_data). 22| 21..(block_id)..15 | 14..(block_len)..0 |
#define ESP_APPTRACE_TRAX_CTRL_REG ERI_TRAX_DELAYCNT
#define ESP_APPTRACE_TRAX_STAT_REG ERI_TRAX_TRIGGERPC
#define ESP_APPTRACE_TRAX_CRC16_REG ERI_PERFMON_PM1
#define ESP_APPTRACE_CRC_INDICATOR (0xA55AU << 16)
#define ESP_APPTRACE_TRAX_BLOCK_LEN_MSK 0x7FFFUL
#define ESP_APPTRACE_TRAX_BLOCK_LEN(_l_) ((_l_) & ESP_APPTRACE_TRAX_BLOCK_LEN_MSK)
#define ESP_APPTRACE_TRAX_BLOCK_LEN_GET(_v_) ((_v_) & ESP_APPTRACE_TRAX_BLOCK_LEN_MSK)
#define ESP_APPTRACE_TRAX_BLOCK_ID_MSK 0x7FUL
#define ESP_APPTRACE_TRAX_BLOCK_ID(_id_) (((_id_) & ESP_APPTRACE_TRAX_BLOCK_ID_MSK) << 15)
#define ESP_APPTRACE_TRAX_BLOCK_ID_GET(_v_) (((_v_) >> 15) & ESP_APPTRACE_TRAX_BLOCK_ID_MSK)
#define ESP_APPTRACE_TRAX_HOST_DATA (1 << 22)
#define ESP_APPTRACE_TRAX_HOST_CONNECT (1 << 23)
#define ESP_APPTRACE_TRAX_INITED(_hw_) ((_hw_)->inited & (1 << esp_cpu_get_core_id()))
#define ESP_APPTRACE_TRAX_BLOCK_SIZE (0x4000UL)
/** TRAX HW transport data */
typedef struct {
uint8_t inited;
#if CONFIG_APPTRACE_LOCK_ENABLE
esp_apptrace_lock_t lock; // sync lock
#endif
esp_apptrace_membufs_proto_data_t membufs;
} esp_apptrace_trax_data_t;
const static char *TAG = "esp_apptrace";
static uint8_t * const s_trax_blocks[] = {
(uint8_t *)TRACEMEM_BLK0_ADDR,
(uint8_t *)TRACEMEM_BLK1_ADDR
};
static esp_err_t esp_apptrace_trax_lock(esp_apptrace_trax_data_t *hw_data, esp_apptrace_tmo_t *tmo)
{
#if CONFIG_APPTRACE_LOCK_ENABLE
esp_err_t ret = esp_apptrace_lock_take(&hw_data->lock, tmo);
if (ret != ESP_OK) {
return ESP_FAIL;
}
#endif
return ESP_OK;
}
static esp_err_t esp_apptrace_trax_unlock(esp_apptrace_trax_data_t *hw_data)
{
esp_err_t ret = ESP_OK;
#if CONFIG_APPTRACE_LOCK_ENABLE
ret = esp_apptrace_lock_give(&hw_data->lock);
#endif
return ret;
}
static inline void esp_apptrace_trax_hw_init(void)
{
// Stop trace, if any (on the current CPU)
eri_write(ERI_TRAX_TRAXCTRL, TRAXCTRL_TRSTP);
eri_write(ERI_TRAX_TRAXCTRL, TRAXCTRL_TMEN);
eri_write(ESP_APPTRACE_TRAX_CTRL_REG, ESP_APPTRACE_TRAX_BLOCK_ID(0));
// this is for OpenOCD to let him know where stub entries vector is resided
// must be read by host before any transfer using TRAX
eri_write(ESP_APPTRACE_TRAX_STAT_REG, 0);
ESP_APPTRACE_LOGI("Initialized TRAX on CPU%d", esp_cpu_get_core_id());
}
static inline void esp_apptrace_trax_select_memory_block(int block_num)
{
// select memory block to be exposed to the TRAX module (accessed by host)
#if CONFIG_IDF_TARGET_ESP32
DPORT_WRITE_PERI_REG(DPORT_TRACEMEM_MUX_MODE_REG, block_num ? TRACEMEM_MUX_BLK0_ONLY : TRACEMEM_MUX_BLK1_ONLY);
#elif CONFIG_IDF_TARGET_ESP32S2
WRITE_PERI_REG(DPORT_PMS_OCCUPY_3_REG, block_num ? BIT(TRACEMEM_MUX_BLK0_NUM - 4) : BIT(TRACEMEM_MUX_BLK1_NUM - 4));
#elif CONFIG_IDF_TARGET_ESP32S3
// select memory block to be exposed to the TRAX module (accessed by host)
uint32_t block_bits = block_num ? TRACEMEM_CORE0_MUX_BLK_BITS(TRACEMEM_MUX_BLK0_NUM)
: TRACEMEM_CORE0_MUX_BLK_BITS(TRACEMEM_MUX_BLK1_NUM);
block_bits |= block_num ? TRACEMEM_CORE1_MUX_BLK_BITS(TRACEMEM_MUX_BLK0_NUM)
: TRACEMEM_CORE1_MUX_BLK_BITS(TRACEMEM_MUX_BLK1_NUM);
ESP_EARLY_LOGV(TAG, "Select block %d @ %p (bits 0x%" PRIx32 ")", block_num, s_trax_blocks[block_num], block_bits);
DPORT_WRITE_PERI_REG(SENSITIVE_INTERNAL_SRAM_USAGE_2_REG, block_bits);
#endif
}
static inline void esp_apptrace_trax_memory_enable(void)
{
#if CONFIG_IDF_TARGET_ESP32
/* Enable trace memory on PRO CPU */
DPORT_WRITE_PERI_REG(DPORT_PRO_TRACEMEM_ENA_REG, DPORT_PRO_TRACEMEM_ENA_M);
#if CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE == 0
/* Enable trace memory on APP CPU */
DPORT_WRITE_PERI_REG(DPORT_APP_TRACEMEM_ENA_REG, DPORT_APP_TRACEMEM_ENA_M);
#endif
#endif
}
/*****************************************************************************************/
/***************************** Apptrace HW iface *****************************************/
/*****************************************************************************************/
static esp_err_t esp_apptrace_trax_init(esp_apptrace_trax_data_t *hw_data)
{
int core_id = esp_cpu_get_core_id();
// 'esp_apptrace_trax_init()' is called on every core, so ensure to do main initialization only once
if (core_id == 0) {
esp_apptrace_mem_block_t mem_blocks_cfg[2] = {
{
.start = s_trax_blocks[0],
.sz = ESP_APPTRACE_TRAX_BLOCK_SIZE
},
{
.start = s_trax_blocks[1],
.sz = ESP_APPTRACE_TRAX_BLOCK_SIZE
},
};
esp_err_t res = esp_apptrace_membufs_init(&hw_data->membufs, mem_blocks_cfg);
if (res != ESP_OK) {
ESP_APPTRACE_LOGE("Failed to init membufs proto (%d)!", res);
return res;
}
#if CONFIG_APPTRACE_LOCK_ENABLE
esp_apptrace_lock_init(&hw_data->lock);
#endif
esp_apptrace_trax_memory_enable();
esp_apptrace_trax_select_memory_block(0);
}
// init TRAX on this CPU
esp_apptrace_trax_hw_init();
hw_data->inited |= 1 << core_id;
return ESP_OK;
}
static uint8_t *esp_apptrace_trax_up_buffer_get(esp_apptrace_trax_data_t *hw_data, uint32_t size, esp_apptrace_tmo_t *tmo)
{
uint8_t *ptr;
if (!ESP_APPTRACE_TRAX_INITED(hw_data)) {
return NULL;
}
esp_err_t res = esp_apptrace_trax_lock(hw_data, tmo);
if (res != ESP_OK) {
return NULL;
}
ptr = esp_apptrace_membufs_up_buffer_get(&hw_data->membufs, size, tmo);
// now we can safely unlock apptrace to allow other tasks/ISRs to get other buffers and write their data
if (esp_apptrace_trax_unlock(hw_data) != ESP_OK) {
assert(false && "Failed to unlock apptrace data!");
}
return ptr;
}
static esp_err_t esp_apptrace_trax_up_buffer_put(esp_apptrace_trax_data_t *hw_data, uint8_t *ptr, esp_apptrace_tmo_t *tmo)
{
if (!ESP_APPTRACE_TRAX_INITED(hw_data)) {
return ESP_ERR_INVALID_STATE;
}
// Can avoid locking because esp_apptrace_membufs_up_buffer_put() just modifies buffer's header
esp_err_t res = esp_apptrace_membufs_up_buffer_put(&hw_data->membufs, ptr, tmo);
return res;
}
static void esp_apptrace_trax_down_buffer_config(esp_apptrace_trax_data_t *hw_data, uint8_t *buf, uint32_t size)
{
if (!ESP_APPTRACE_TRAX_INITED(hw_data)) {
return;
}
esp_apptrace_membufs_down_buffer_config(&hw_data->membufs, buf, size);
}
static uint8_t *esp_apptrace_trax_down_buffer_get(esp_apptrace_trax_data_t *hw_data, uint32_t *size, esp_apptrace_tmo_t *tmo)
{
uint8_t *ptr;
if (!ESP_APPTRACE_TRAX_INITED(hw_data)) {
return NULL;
}
esp_err_t res = esp_apptrace_trax_lock(hw_data, tmo);
if (res != ESP_OK) {
return NULL;
}
ptr = esp_apptrace_membufs_down_buffer_get(&hw_data->membufs, size, tmo);
// now we can safely unlock apptrace to allow other tasks/ISRs to get other buffers and write their data
if (esp_apptrace_trax_unlock(hw_data) != ESP_OK) {
assert(false && "Failed to unlock apptrace data!");
}
return ptr;
}
static esp_err_t esp_apptrace_trax_down_buffer_put(esp_apptrace_trax_data_t *hw_data, uint8_t *ptr, esp_apptrace_tmo_t *tmo)
{
if (!ESP_APPTRACE_TRAX_INITED(hw_data)) {
return ESP_ERR_INVALID_STATE;
}
// Can avoid locking because esp_apptrace_membufs_down_buffer_put() does nothing
/*esp_err_t res = esp_apptrace_trax_lock(hw_data, tmo);
if (res != ESP_OK) {
return res;
}*/
esp_err_t res = esp_apptrace_membufs_down_buffer_put(&hw_data->membufs, ptr, tmo);
// now we can safely unlock apptrace to allow other tasks/ISRs to get other buffers and write their data
/*if (esp_apptrace_trax_unlock(hw_data) != ESP_OK) {
assert(false && "Failed to unlock apptrace data!");
}*/
return res;
}
static bool esp_apptrace_trax_host_is_connected(esp_apptrace_trax_data_t *hw_data)
{
if (!ESP_APPTRACE_TRAX_INITED(hw_data)) {
return false;
}
return eri_read(ESP_APPTRACE_TRAX_CTRL_REG) & ESP_APPTRACE_TRAX_HOST_CONNECT ? true : false;
}
static esp_err_t esp_apptrace_trax_flush_nolock(esp_apptrace_trax_data_t *hw_data, uint32_t min_sz, esp_apptrace_tmo_t *tmo)
{
if (!ESP_APPTRACE_TRAX_INITED(hw_data)) {
return ESP_ERR_INVALID_STATE;
}
return esp_apptrace_membufs_flush_nolock(&hw_data->membufs, min_sz, tmo);
}
static esp_err_t esp_apptrace_trax_flush(esp_apptrace_trax_data_t *hw_data, esp_apptrace_tmo_t *tmo)
{
if (!ESP_APPTRACE_TRAX_INITED(hw_data)) {
return ESP_ERR_INVALID_STATE;
}
esp_err_t res = esp_apptrace_trax_lock(hw_data, tmo);
if (res != ESP_OK) {
return res;
}
res = esp_apptrace_membufs_flush_nolock(&hw_data->membufs, 0, tmo);
// now we can safely unlock apptrace to allow other tasks/ISRs to get other buffers and write their data
if (esp_apptrace_trax_unlock(hw_data) != ESP_OK) {
assert(false && "Failed to unlock apptrace data!");
}
return res;
}
/*****************************************************************************************/
/************************** Membufs proto HW iface ***************************************/
/*****************************************************************************************/
static inline void esp_apptrace_trax_buffer_swap_lock(void)
{
extern uint32_t __esp_apptrace_trax_eri_updated;
// indicate to host that we are about to update.
// this is used only to place CPU into streaming mode at tracing startup
// before starting streaming host can halt us after we read ESP_APPTRACE_TRAX_CTRL_REG and before we updated it
// HACK: in this case host will set breakpoint just after ESP_APPTRACE_TRAX_CTRL_REG update,
// here we set address to set bp at
// enter ERI update critical section
eri_write(ESP_APPTRACE_TRAX_STAT_REG, (uint32_t)&__esp_apptrace_trax_eri_updated);
}
static __attribute__((noinline)) void esp_apptrace_trax_buffer_swap_unlock(void)
{
// exit ERI update critical section
eri_write(ESP_APPTRACE_TRAX_STAT_REG, 0x0);
// TODO: currently host sets breakpoint, use break instruction to stop;
// it will allow to use ESP_APPTRACE_TRAX_STAT_REG for other purposes
asm volatile(
" .global __esp_apptrace_trax_eri_updated\n"
"__esp_apptrace_trax_eri_updated:\n"); // host will set bp here to resolve collision at streaming start
}
static esp_err_t esp_apptrace_trax_buffer_swap_start(uint32_t curr_block_id)
{
esp_err_t res = ESP_OK;
esp_apptrace_trax_buffer_swap_lock();
uint32_t ctrl_reg = eri_read(ESP_APPTRACE_TRAX_CTRL_REG);
uint32_t host_connected = ESP_APPTRACE_TRAX_HOST_CONNECT & ctrl_reg;
if (host_connected) {
uint32_t acked_block = ESP_APPTRACE_TRAX_BLOCK_ID_GET(ctrl_reg);
uint32_t host_to_read = ESP_APPTRACE_TRAX_BLOCK_LEN_GET(ctrl_reg);
if (host_to_read != 0 || acked_block != (curr_block_id & ESP_APPTRACE_TRAX_BLOCK_ID_MSK)) {
ESP_APPTRACE_LOGD("HC[%d]: Can not switch %" PRIx32 " %" PRIu32 " %" PRIx32 " %" PRIx32 "/%" PRIx32,
esp_cpu_get_core_id(), ctrl_reg, host_to_read, acked_block,
curr_block_id & ESP_APPTRACE_TRAX_BLOCK_ID_MSK, curr_block_id);
res = ESP_ERR_NO_MEM;
goto _on_err;
}
}
return ESP_OK;
_on_err:
esp_apptrace_trax_buffer_swap_unlock();
return res;
}
static esp_err_t esp_apptrace_trax_buffer_swap_end(uint32_t new_block_id, uint32_t prev_block_len)
{
uint32_t ctrl_reg = eri_read(ESP_APPTRACE_TRAX_CTRL_REG);
uint32_t host_connected = ESP_APPTRACE_TRAX_HOST_CONNECT & ctrl_reg;
eri_write(ESP_APPTRACE_TRAX_CTRL_REG, ESP_APPTRACE_TRAX_BLOCK_ID(new_block_id) |
host_connected | ESP_APPTRACE_TRAX_BLOCK_LEN(prev_block_len));
esp_apptrace_trax_buffer_swap_unlock();
return ESP_OK;
}
static esp_err_t esp_apptrace_trax_buffer_swap(uint32_t new_block_id, uint32_t prev_block_len)
{
/* Before switching to the new block, calculate CRC16 of the current block */
if (prev_block_len > 0) {
const uint8_t *prev_block_start = s_trax_blocks[!((new_block_id % 2))];
uint16_t crc16 = esp_rom_crc16_le(0, prev_block_start, prev_block_len);
eri_write(ESP_APPTRACE_TRAX_CRC16_REG, crc16 | ESP_APPTRACE_CRC_INDICATOR);
ESP_APPTRACE_LOGD("CRC16:%x %d @%x", crc16, prev_block_len, prev_block_start);
}
esp_apptrace_trax_select_memory_block(new_block_id);
return ESP_OK;
}
static bool esp_apptrace_trax_host_data_pending(void)
{
uint32_t ctrl_reg = eri_read(ESP_APPTRACE_TRAX_CTRL_REG);
return (ctrl_reg & ESP_APPTRACE_TRAX_HOST_DATA) ? true : false;
}
esp_apptrace_hw_t *esp_apptrace_jtag_hw_get(void **data)
{
static esp_apptrace_membufs_proto_hw_t s_trax_proto_hw = {
.swap_start = esp_apptrace_trax_buffer_swap_start,
.swap = esp_apptrace_trax_buffer_swap,
.swap_end = esp_apptrace_trax_buffer_swap_end,
.host_data_pending = esp_apptrace_trax_host_data_pending,
};
static esp_apptrace_trax_data_t s_trax_hw_data = {
.membufs = {
.hw = &s_trax_proto_hw,
},
};
static esp_apptrace_hw_t s_trax_hw = {
.init = (esp_err_t (*)(void *))esp_apptrace_trax_init,
.get_up_buffer = (uint8_t *(*)(void *, uint32_t, esp_apptrace_tmo_t *))esp_apptrace_trax_up_buffer_get,
.put_up_buffer = (esp_err_t (*)(void *, uint8_t *, esp_apptrace_tmo_t *))esp_apptrace_trax_up_buffer_put,
.flush_up_buffer_nolock = (esp_err_t (*)(void *, uint32_t, esp_apptrace_tmo_t *))esp_apptrace_trax_flush_nolock,
.flush_up_buffer = (esp_err_t (*)(void *, esp_apptrace_tmo_t *))esp_apptrace_trax_flush,
.down_buffer_config = (void (*)(void *, uint8_t *, uint32_t))esp_apptrace_trax_down_buffer_config,
.get_down_buffer = (uint8_t *(*)(void *, uint32_t *, esp_apptrace_tmo_t *))esp_apptrace_trax_down_buffer_get,
.put_down_buffer = (esp_err_t (*)(void *, uint8_t *, esp_apptrace_tmo_t *))esp_apptrace_trax_down_buffer_put,
.host_is_connected = (bool (*)(void *))esp_apptrace_trax_host_is_connected,
};
*data = &s_trax_hw_data;
return &s_trax_hw;
}

Some files were not shown because too many files have changed in this diff Show More