Compare commits

..

2201 Commits
v5.5 ... v5.2.3

Author SHA1 Message Date
Ivan Grokhotkov
c9763f62dd change(version): Update version to 5.2.3 2024-09-23 14:48:14 +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
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
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
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
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
xuxiao
062cf21381 fix(wifi): fix some wifi bugs (v5.2) 2024-09-06 19:04:21 +08:00
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
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
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
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
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 60354c39a9
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
(c3866e9492)
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] - 8959555cee
[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
13590 changed files with 991615 additions and 1886658 deletions

View File

@@ -1,4 +0,0 @@
[codespell]
skip = build,*.yuv,components/fatfs/src/*,alice.txt,*.rgb,components/wpa_supplicant/*,components/esp_wifi/*,*.pem,components/newlib/COPYING.*
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
.flake8 Normal file
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

View File

@@ -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:

View File

@@ -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
.github/dangerjs/.gitignore vendored Normal file
View File

@@ -0,0 +1,5 @@
# Transpiled JavaScript (if any)
dist
# Installed dependencies
node_modules

47
.github/dangerjs/README.md vendored Normal file
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
.github/dangerjs/dangerfile.ts vendored Normal file
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
.github/dangerjs/package-lock.json generated vendored Normal file

File diff suppressed because it is too large Load Diff

18
.github/dangerjs/package.json vendored Normal file
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
.github/dangerjs/prCommitMessage.ts vendored Normal file
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);
}
}

View File

@@ -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
.github/dangerjs/prDescription.ts vendored Normal file
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
.github/dangerjs/prInfoContributor.ts vendored Normal file
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
.github/dangerjs/prTargetBranch.ts vendored Normal file
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
.github/dangerjs/tsconfig.json vendored Normal file
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
.github/dependabot.yml vendored Normal file
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

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'

View File

@@ -12,7 +12,7 @@ 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/github-actions/sync_issues_to_jira@master
env:

View File

@@ -12,7 +12,7 @@ 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/github-actions/sync_issues_to_jira@master
env:

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:

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:

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: |
@@ -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

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 }}

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 }}

36
.gitignore vendored
View File

@@ -24,14 +24,6 @@ GPATH
# cache dir
.cache/
# Doc build artifacts
docs/_build/
docs/doxygen_sqlite3.db
# Downloaded font files
docs/_static/DejaVuSans.ttf
docs/_static/NotoSansSC-Regular.otf
# Components Unit Test Apps files
components/**/build/
components/**/build_*_*/
@@ -40,15 +32,28 @@ components/**/sdkconfig.old
# Example project files
examples/**/build/
examples/**/build_*_*/
examples/**/build_esp*_*/
examples/**/sdkconfig
examples/**/sdkconfig.old
# Doc build artifacts
docs/_build/
docs/doxygen_sqlite3.db
# Downloaded font files
docs/_static/DejaVuSans.ttf
docs/_static/NotoSansSC-Regular.otf
# 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/
@@ -56,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
@@ -99,10 +103,8 @@ managed_components
pytest-embedded/
# legacy one
pytest_embedded_log/
list_job*.txt
size_info*.txt
XUNIT_RESULT*.xml
.manifest_sha
list_job_*.txt
size_info.txt
# clang config (for LSP)
.clangd

View File

@@ -18,18 +18,14 @@ workflow:
# 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'

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

View File

@@ -1,7 +1,7 @@
.build_template:
stage: build
extends:
- .after_script:build:ccache-show-stats:upload-failed-job-logs
- .after_script:build:ccache
image: $ESP_ENV_IMAGE
tags:
- build
@@ -12,11 +12,11 @@
IDF_CCACHE_ENABLE: "1"
dependencies: []
.build_cmake_clang_template:
.build_cmake_template:
extends:
- .build_template
- .before_script:build
- .after_script:build:ccache-show-stats
- .after_script:build:ccache
dependencies: # set dependencies to null to avoid missing artifacts issue
needs:
- job: fast_template_app
@@ -32,13 +32,8 @@
# keep the size info to help track the binary size
- size_info.txt
- "**/build*/size.json"
expire_in: 1 week
when: always
variables:
IDF_TOOLCHAIN: clang
TEST_BUILD_OPTS_EXTRA: ""
TEST_DIR: tools/test_apps/system/clang_build_test
PYTEST_IGNORE_COLLECT_IMPORT_ERROR: "1"
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
@@ -46,14 +41,304 @@
--copy-sdkconfig
--parallel-count ${CI_NODE_TOTAL:-1}
--parallel-index ${CI_NODE_INDEX:-1}
--modified-components ${MR_MODIFIED_COMPONENTS}
--modified-files ${MR_MODIFIED_FILES}
--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 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 ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
$TEST_BUILD_OPTS_EXTRA
- python tools/ci/artifacts_handler.py upload
######################
# build_template_app #
######################
.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_template:
extends:
- .build_template
@@ -65,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"}
@@ -89,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
- python -m idf_build_apps build -v -p ${ANALYZING_APP} -t all
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
@@ -138,76 +475,44 @@ 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
@@ -223,21 +528,36 @@ build_clang_test_apps_esp32p4:
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
- .before_script:build:macos
- .after_script:build:macos:upload-failed-job-logs:ccache-show-stats
- .after_script:build:macos:upload-when-fail
- .rules:build:macos
tags:
- macos_shell
parallel: 3
artifacts:
paths:
- XUNIT_RESULT.xml
- test_build_system
when: always
expire_in: 2 days
reports:
junit: XUNIT_RESULT.xml
variables:
PYENV_VERSION: "3.9"
# 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".
CCACHE_MAXSIZE: "5G" # To preserve the limited Macbook storage. CCACHE automatically prunes old caches to fit the set limit.
PYENV_VERSION: "3.8"
CI_CCACHE_DISABLE: "1" # ccache: error: Read-only file system
build_docker:
extends:
- .before_script:minimal
@@ -268,57 +588,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
variables:
PYTEST_IGNORE_COLLECT_IMPORT_ERROR: "1"
script:
# requires basic pytest dependencies
- run_cmd bash install.sh --enable-pytest
- 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:
IS_MR_PIPELINE: $IS_MR_PIPELINE
MR_MODIFIED_COMPONENTS: $MR_MODIFIED_COMPONENTS
MR_MODIFIED_FILES: $MR_MODIFIED_FILES
PARENT_PIPELINE_ID: $CI_PIPELINE_ID
BUILD_AND_TEST_ALL_APPS: $BUILD_AND_TEST_ALL_APPS
REPORT_EXIT_CODE: $REPORT_EXIT_CODE
# 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

View File

@@ -6,13 +6,12 @@ stages:
- pre_check
- build
- assign_test
- build_doc
- target_test
- host_test
- build_doc
- test_deploy
- deploy
- post_deploy
- retry_failed_jobs
variables:
# System environment
@@ -40,7 +39,7 @@ variables:
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: v5.5
LATEST_GIT_TAG: v5.2.3
SUBMODULE_FETCH_TOOL: "tools/ci/ci_fetch_submodule.py"
# by default we will fetch all submodules
@@ -55,12 +54,17 @@ variables:
CHECKOUT_REF_SCRIPT: "$CI_PROJECT_DIR/tools/ci/checkout_project_ref.py"
# Docker images
ESP_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/esp-env-v5.5:3"
ESP_IDF_DOC_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/esp-idf-doc-env-v5.5:3-1"
TARGET_TEST_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/target-test-env-v5.5: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"
@@ -70,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.v5.5.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.
@@ -81,33 +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"
################################################
# `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
@@ -141,48 +128,35 @@ variables:
export IDF_MIRROR_PREFIX_MAP=
fi
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
elif [[ "${CI_JOB_STAGE}" == "build" ]]; then
# 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
if ! echo "${CI_JOB_NAME}" | egrep ".*pytest.*"; then
run_cmd bash install.sh --enable-ci
else
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 --enable-test-specific
fi
run_cmd bash install.sh --enable-ci --enable-pytest
fi
section_end "running_install_sh"
else
section_start "install_python_env" "Install Python environment"
run_cmd python tools/idf_tools.py install-python-env --features ci,pytest,test-specific
section_end "install_python_env"
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
if [[ "${CI_JOB_STAGE}" == "target_test" ]]; then
section_start "IDF_SKIP_TOOLS_CHECK" "Skip required tools check"
export IDF_SKIP_TOOLS_CHECK=1
section_end "IDF_SKIP_TOOLS_CHECK"
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)
@@ -191,21 +165,13 @@ variables:
fi
# Custom OpenOCD
if [[ "$CI_JOB_STAGE" == "target_test" ]]; then
machine="$(uname -m)"
if [[ "$machine" == "armv7l" ]] ; then
OOCD_DISTRO_URL="$OOCD_DISTRO_URL_ARMHF"
elif [[ "$machine" == "aarch64" ]] ; then
OOCD_DISTRO_URL="$OOCD_DISTRO_URL_ARM64"
fi
if [[ ! -z "$OOCD_DISTRO_URL" ]]; then
echo "Using custom OpenOCD from ${OOCD_DISTRO_URL}"
wget $OOCD_DISTRO_URL
ARCH_NAME=$(basename $OOCD_DISTRO_URL)
tar -x -f $ARCH_NAME
export OPENOCD_SCRIPTS=$PWD/openocd-esp32/share/openocd/scripts
export PATH=$PWD/openocd-esp32/bin:$PATH
fi
if [[ ! -z "$OOCD_DISTRO_URL" && "$CI_JOB_STAGE" == "target_test" ]]; then
echo "Using custom OpenOCD from ${OOCD_DISTRO_URL}"
wget $OOCD_DISTRO_URL
ARCH_NAME=$(basename $OOCD_DISTRO_URL)
tar -x -f $ARCH_NAME
export OPENOCD_SCRIPTS=$PWD/openocd-esp32/share/openocd/scripts
export PATH=$PWD/openocd-esp32/bin:$PATH
fi
if [[ -n "$CI_PYTHON_TOOL_REPO" ]]; then
@@ -214,11 +180,9 @@ 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
@@ -238,22 +202,18 @@ variables:
- *common-before_scripts
# On macOS, these tools need to be installed
- export IDF_TOOLS_PATH="${HOME}/.espressif_runner_${CI_RUNNER_ID}_${CI_CONCURRENT_ID}"
# remove idf-env.json, since it may contains enabled "features"
- rm -f $IDF_TOOLS_PATH/idf-env.json
- $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:build:macos:upload-when-fail:
after_script:
# macos is running shell executor, which means it would use
# the system installed /usr/local/bin/python3 by default.
# Ensure pyenv and PYENV_VERSION installed
- eval "$(pyenv init -)"
- *upload_failed_job_log_artifacts
- *show_ccache_statistics
.before_script:build:
before_script:
@@ -264,11 +224,7 @@ variables:
- export EXTRA_CFLAGS=${PEDANTIC_CFLAGS}
- export EXTRA_CXXFLAGS=${PEDANTIC_CXXFLAGS}
.after_script:build:ccache-show-stats:
after_script:
- *show_ccache_statistics
.after_script:build:ccache-show-stats:upload-failed-job-logs:
.after_script:build:ccache:
after_script:
- *show_ccache_statistics
- *upload_failed_job_log_artifacts
@@ -307,8 +263,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
@@ -327,34 +283,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_DIFF_BASE_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
git fetch origin $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
git diff --name-only $CI_MERGE_REQUEST_DIFF_BASE_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}
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
@@ -368,7 +317,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
@@ -381,15 +330,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
@@ -398,12 +343,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:

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

View File

@@ -7,17 +7,10 @@
#
# This file should ONLY be used during bringup. Should be reset to empty after the bringup process
extra_default_build_targets:
- esp32c5
- esp32c61
- esp32h21
- esp32h4
- esp32p4
bypass_check_test_targets:
- esp32h21
- esp32c61
- 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

View File

@@ -5,7 +5,6 @@
- esp32c3
- esp32c2
- esp32c6
- esp32c5
- esp32h2
- esp32p4
@@ -66,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
@@ -84,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

View File

@@ -37,16 +37,25 @@
.if-dev-push: &if-dev-push
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" || $CI_PIPELINE_SOURCE == "merge_request_event")'
.if-schedule: &if-schedule
if: '$CI_PIPELINE_SOURCE == "schedule"'
.doc-rules:build:docs-full:
rules:
- <<: *if-qa-test-tag
when: never
- <<: *if-protected
- <<: *if-schedule
- <<: *if-label-build_docs
- <<: *if-label-docs_full
- <<: *if-dev-push
changes: *patterns-docs-full
.doc-rules:build:docs-full-prod:
rules:
- <<: *if-qa-test-tag
when: never
- <<: *if-protected-no_label
.doc-rules:build:docs-partial:
rules:
- <<: *if-qa-test-tag
@@ -83,20 +92,14 @@ check_docs_lang_sync:
stage: build_doc
tags:
- build_docs
needs:
- job: fast_template_app
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", "esp32h21", "esp32p4"]
DOCTGT: ["esp32", "esp32s2", "esp32s3", "esp32c3", "esp32c2", "esp32c6", "esp32h2", "esp32p4"]
check_docs_gh_links:
image: $ESP_IDF_DOC_ENV_IMAGE
@@ -113,6 +116,24 @@ build_docs_html_full:
extends:
- .build_docs_template
- .doc-rules:build:docs-full
needs:
- job: fast_template_app
artifacts: false
optional: true
artifacts:
when: always
paths:
- docs/_build/*/*/*.txt
- docs/_build/*/*/html/*
expire_in: 4 days
variables:
DOC_BUILDERS: "html"
build_docs_html_full_prod:
extends:
- .build_docs_template
- .doc-rules:build:docs-full-prod
dependencies: [] # Stop build_docs jobs from downloading all previous job's artifacts
artifacts:
when: always
paths:
@@ -126,6 +147,10 @@ build_docs_html_partial:
extends:
- .build_docs_template
- .doc-rules:build:docs-partial
needs:
- job: fast_template_app
artifacts: false
optional: true
artifacts:
when: always
paths:
@@ -141,21 +166,45 @@ build_docs_html_partial:
- DOCLANG: "zh_CN"
DOCTGT: "esp32p4"
build_docs_pdf:
extends:
- .build_docs_template
- .doc-rules:build:docs-full
needs:
- job: fast_template_app
artifacts: false
optional: true
artifacts:
when: always
paths:
- docs/_build/*/*/latex/*
expire_in: 4 days
variables:
DOC_BUILDERS: "latex"
build_docs_pdf_prod:
extends:
- .build_docs_template
- .doc-rules:build:docs-full-prod
dependencies: [] # Stop build_docs jobs from downloading all previous job's artifacts
artifacts:
when: always
paths:
- docs/_build/*/*/latex/*
expire_in: 4 days
variables:
DOC_BUILDERS: "latex"
.deploy_docs_template:
image: $ESP_IDF_DOC_ENV_IMAGE
variables:
DOCS_BUILD_DIR: "${IDF_PATH}/docs/_build/"
PYTHONUNBUFFERED: 1
# ensure all tags are fetched, need to know the latest/stable tag for the docs
GIT_STRATEGY: clone
GIT_DEPTH: 0
stage: test_deploy
tags:
- deploy
- shiny
script:
# ensure all tags are fetched, need to know the latest/stable tag for the docs
- git fetch --tags --prune
- add_doc_server_ssh_keys $DOCS_DEPLOY_PRIVATEKEY $DOCS_DEPLOY_SERVER $DOCS_DEPLOY_SERVER_USER
- export GIT_VER=$(git describe --always ${PIPELINE_COMMIT_SHA} --)
- deploy-docs
@@ -174,6 +223,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'
@@ -188,12 +239,12 @@ 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:
- <<: *if-protected-no_label
- .doc-rules:build:docs-full-prod
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_html_full_prod
- build_docs_pdf_prod
- job: push_to_github
artifacts: false
variables:
@@ -208,8 +259,7 @@ deploy_docs_production:
check_doc_links:
extends:
- .build_docs_template
rules:
- <<: *if-protected-no_label
- .doc-rules:build:docs-full-prod
stage: post_deploy
needs:
- job: deploy_docs_production

View File

@@ -14,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:
@@ -42,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
@@ -64,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:
@@ -96,9 +99,18 @@ test_gdbstub_on_host:
- 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
@@ -107,19 +119,17 @@ 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
script:
# 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
- python3 ${IDF_PATH}/tools/idf_tools.py download required qemu-riscv32 qemu-xtensa cmake
- python3 ${IDF_PATH}/tools/idf_tools.py download required qemu-riscv32 qemu-xtensa
- 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
@@ -129,6 +139,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
@@ -171,6 +182,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
@@ -182,47 +194,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
- cd ${IDF_PATH}/tools/ci/test_autocomplete
- pytest --noconftest test_autocomplete.py --junitxml=${IDF_PATH}/XUNIT_AUTOCOMP.xml || stat=1
- cd ${IDF_PATH}/tools/test_idf_py
- pytest --noconftest test_idf_py.py --junitxml=${IDF_PATH}/XUNIT_IDF_PY.xml || stat=1
- pytest --noconftest test_hints.py --junitxml=${IDF_PATH}/XUNIT_HINTS.xml || stat=1
- pytest --noconftest test_idf_qemu.py --junitxml=${IDF_PATH}/XUNIT_IDF_PY_QEMU.xml || stat=1
- cd ${IDF_PATH}/tools/test_bsasm
- pytest --noconftest test_bsasm.py --junitxml=${IDF_PATH}/XUNIT_BSASM.xml || stat=1
- cd ${IDF_PATH}/tools/test_mkdfu
- pytest --noconftest test_mkdfu.py --junitxml=${IDF_PATH}/XUNIT_MKDFU.xml || stat=1
- cd ${IDF_PATH}/tools/test_idf_size
- pytest --noconftest test_idf_size.py --junitxml=${IDF_PATH}/XUNIT_IDF_SIZE.xml || stat=1
- cd ${IDF_PATH}/tools/test_idf_diag
- pytest --noconftest test_idf_diag.py --junitxml=${IDF_PATH}/XUNIT_IDF_DIAG.xml || 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
@@ -239,7 +246,6 @@ test_mqtt_on_host:
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
@@ -280,160 +286,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 python tools/ci/ci_build_apps.py . -v
- run_cmd python tools/ci/ci_build_apps.py . -vv
--target $IDF_TARGET
--pytest-apps
-m qemu
--collect-app-info "list_job_${CI_JOB_NAME_SLUG}.txt"
--modified-components ${MR_MODIFIED_COMPONENTS}
--modified-files ${MR_MODIFIED_FILES}
--modified-components ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
- python tools/ci/get_known_failure_cases_file.py
- run_cmd pytest
--target $IDF_TARGET
--log-cli-level DEBUG
-m qemu
--embedded-services idf,qemu
--junitxml=XUNIT_RESULT.xml
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
--app-info-filepattern \"list_job_*.txt\"
--qemu-extra-args \"-global driver=timer.$IDF_TARGET.timg,property=wdt_disable,value=true\"
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 python tools/ci/ci_build_apps.py components examples tools/test_apps -v
- run_cmd python tools/ci/ci_build_apps.py components examples tools/test_apps -vv
--target linux
--pytest-apps
-m host_test
--collect-app-info "list_job_${CI_JOB_NAME_SLUG}.txt"
--modified-components ${MR_MODIFIED_COMPONENTS}
--modified-files ${MR_MODIFIED_FILES}
--modified-components ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
- python tools/ci/get_known_failure_cases_file.py
- run_cmd pytest
--target linux
-m host_test
--embedded-services idf
--junitxml=XUNIT_RESULT.xml
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
--app-info-filepattern \"list_job_*.txt\"
test_pytest_macos:
extends:
- .host_test_template
- .before_script:build:macos
tags:
- macos_shell
artifacts:
paths:
- XUNIT_RESULT.xml
- pytest-embedded/
- "**/build*/build_log.txt"
reports:
junit: XUNIT_RESULT.xml
variables:
PYENV_VERSION: "3.9"
PYTEST_IGNORE_COLLECT_IMPORT_ERROR: "1"
script:
- run_cmd python tools/ci/ci_build_apps.py components examples tools/test_apps -v
--target linux
--pytest-apps
-m \"host_test and macos_shell\"
--collect-app-info "list_job_${CI_JOB_NAME_SLUG}.txt"
--modified-components ${MR_MODIFIED_COMPONENTS}
--modified-files ${MR_MODIFIED_FILES}
- python tools/ci/get_known_failure_cases_file.py
- run_cmd pytest
--target linux
-m \"host_test and macos_shell\"
--junitxml=XUNIT_RESULT.xml
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
--app-info-filepattern \"list_job_*.txt\"
test_idf_pytest_plugin:
extends:
- .host_test_template
- .rules:patterns:idf-pytest-plugin
variables:
SUBMODULES_TO_FETCH: "none"
artifacts:
reports:
junit: XUNIT_RESULT.xml
script:
- cd ${IDF_PATH}/tools/ci/dynamic_pipelines/tests/test_report_generator
- python -m unittest test_report_generator.py
- cd ${IDF_PATH}/tools/ci/idf_pytest
- pytest --junitxml=${CI_PROJECT_DIR}/XUNIT_RESULT.xml
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

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

View File

@@ -1,24 +0,0 @@
generate_failed_jobs_report:
stage: post_deploy
tags: [build, shiny]
image: $ESP_ENV_IMAGE
when: always
dependencies: [] # Do not download artifacts from the previous stages
artifacts:
expire_in: 1 week
when: always
paths:
- job_report.html
script:
- python tools/ci/dynamic_pipelines/scripts/generate_report.py --report-type job
sync_support_status:
stage: post_deploy
extends:
- .rules:sync_support_status
needs:
- push_to_github
image: $ESP_ENV_IMAGE
tags: [ brew, github_sync ]
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"

View File

@@ -3,7 +3,46 @@
image: $ESP_ENV_IMAGE
tags:
- host_test
dependencies: # set dependencies to null to avoid missing artifacts issue
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
@@ -25,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
@@ -44,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
@@ -55,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
@@ -72,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:
@@ -113,14 +160,18 @@ 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
variables:
PYTEST_IGNORE_COLLECT_IMPORT_ERROR: "1"
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
@@ -137,87 +188,19 @@ 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
- echo "REPORT_EXIT_CODE=0" >> 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
- |
if [ $IS_MR_PIPELINE == "0" ]; 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
- echo "MODIFIED_COMPONENTS=$(run_cmd python tools/ci/ci_get_mr_info.py components --modified-files $MODIFIED_FILES | xargs)" >> 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
# run full pipeline if testing constraint branch
- |
if [ -n "$CI_PYTHON_CONSTRAINT_BRANCH" ]; 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
- python tools/ci/ci_process_description.py
- cat pipeline.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:
stage: pre_check
tags: [shiny, fast_run]
image: $ESP_ENV_IMAGE
dependencies: null
before_script: []
cache: []
extends: []
script:
- echo "This job is redundant to ensure the 'retry_failed_jobs' job can exist and not be skipped"
when: always
expire_in: 4 days

View File

@@ -1,80 +0,0 @@
.check_pre_commit_template:
extends:
- .before_script:minimal
stage: pre_check
image: $PRE_COMMIT_IMAGE
tags: [cache, shiny]
needs:
- pipeline_variables
variables:
# cache pre_commit
PRE_COMMIT_HOME: "$CI_PROJECT_DIR/.cache/pre-commit"
script:
- fetch_submodules
- pre-commit run --files $MODIFIED_FILES
- pre-commit run --hook-stage post-commit validate-sbom-manifest
check_pre_commit_upload_cache:
extends:
- .check_pre_commit_template
rules:
- if: '($CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_BRANCH =~ /^release\/v/) && $CI_PIPELINE_SOURCE == "push"'
cache:
- key: pre_commit-cache-${LATEST_GIT_TAG}
paths:
- .cache/pre-commit
policy: pull-push
- key: submodule-cache-${LATEST_GIT_TAG}
paths:
- .cache/submodule_archives
policy: pull
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: pre_commit-cache-${LATEST_GIT_TAG}
paths:
- .cache/pre-commit
policy: pull
- 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
needs:
- pipeline_variables
variables:
# cache pre_commit
PRE_COMMIT_HOME: "$CI_PROJECT_DIR/.cache/pre-commit"
rules:
- changes:
- "*.ps1"
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
cache:
- key: pre_commit-cache-${LATEST_GIT_TAG}
paths:
- .cache/pre-commit
policy: pull
- key: submodule-cache-${LATEST_GIT_TAG}
paths:
- .cache/submodule_archives
policy: pull

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

File diff suppressed because it is too large Load Diff

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,102 @@ clang_tidy_check:
--limit-file tools/ci/static-analysis-rules.yml
--xtensa-include-dir
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
# build stage
# Sonarqube related jobs put here for this reason:
# Here we have two jobs. code_quality_check and code_quality_report.
#
## 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 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_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 will analyze and transfer both of the newly added code
# and the analysis result to the server.
#
#code_quality_report:
# extends:
# - .sonar_scan_template
# - .rules:protected
# 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
# 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
image:
name: $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:
when: always
paths:
- $REPORT_PATTERN
expire_in: 1 week
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 # since now 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
allow_failure: true # since now 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

1546
.gitlab/ci/target-test.yml Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,98 +0,0 @@
# Host tests
.host_test_win_template:
extends: .rules:test:host_test
stage: host_test
image: $ESP_ENV_IMAGE
tags:
- windows-build
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
before_script: []
after_script: []
test_cli_installer_win:
extends:
- .host_test_win_template
- .rules:labels:windows_pytest_build_system
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
allow_failure: true
script:
# Tools must be downloaded for testing
- python ${IDF_PATH}\tools\idf_tools.py download required qemu-riscv32 qemu-xtensa cmake
- 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
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 --enable-pytest
- .\export.ps1
- python "${SUBMODULE_FETCH_TOOL}" -s "all"
- cd ${IDF_PATH}/tools/test_idf_py
- pytest --noconftest test_idf_py.py --junitxml=${IDF_PATH}/XUNIT_IDF_PY.xml
- pytest --noconftest test_hints.py --junitxml=${IDF_PATH}/XUNIT_HINTS.xml
# 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 --enable-pytest
- . .\export.ps1
- python "${SUBMODULE_FETCH_TOOL}" -s "all"
- cd ${IDF_PATH}\tools\test_build_system
- pytest --parallel-count ${CI_NODE_TOTAL} --parallel-index ${CI_NODE_INDEX} --junitxml=${CI_PROJECT_DIR}\XUNIT_RESULT.xml
pytest_build_system_win:
extends:
- .test_build_system_template_win
- .rules:labels:windows_pytest_build_system
parallel: 2
needs: []
tags:
- windows-build
artifacts:
paths:
- XUNIT_RESULT.xml
- test_build_system
expire_in: 2 days
reports:
junit: XUNIT_RESULT.xml
when: always

View File

@@ -10,12 +10,12 @@ 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
@@ -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' ]

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");
}

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,
};

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***`
);

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");
};

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");
};

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",
],
};

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');
};

View File

@@ -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');
};

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);
}
};

View File

@@ -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");
};

View File

@@ -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;
}

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
}
}
}
};

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");
};

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");
};

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
.gitlab/dangerjs/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

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"
}
}

View File

@@ -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

View File

@@ -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

12
.gitmodules vendored
View File

@@ -54,10 +54,8 @@
sbom-supplier = Person: Dave Gamble
sbom-url = https://github.com/DaveGamble/cJSON
sbom-description = Ultralightweight JSON parser in ANSI C
sbom-hash = 8f2beb57ddad1f94bed899790b00f46df893ccac
sbom-hash = acc76239bee01d8e9c858ae2cab296704e52d916
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
@@ -84,11 +82,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
@@ -135,10 +133,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

View File

@@ -1,35 +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" ]
- repo: local
hooks:
- id: pytest-linter
name: Pytest Linter Check
entry: tools/ci/check_test_files.py
language: python
files: 'pytest_.*\.py$'
require_serial: true
additional_dependencies:
- pytest-embedded-idf[serial]~=1.16
- pytest-embedded-jtag~=1.16
- pytest-embedded-qemu~=1.16
- pytest-ignore-test-results~=0.3
- pytest-rerunfailures
- pytest-timeout
- idf-build-apps~=2.8
- python-gitlab
- minio
- click
- esp-idf-monitor
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
@@ -40,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)|
@@ -49,10 +22,7 @@ repos:
.*_pb2.py|
.*.pb-c.h|
.*.pb-c.c|
.*.yuv|
.*.rgb|
.*COPYING.*|
docs/sphinx-known-warnings\.txt
.*.yuv
)$
- id: end-of-file-fixer
exclude: *whitespace_excludes
@@ -66,11 +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
exclude: ^docs/sphinx-known-warnings\.txt$
- 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
@@ -85,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.4.2,<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
@@ -100,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
@@ -117,7 +116,6 @@ repos:
- 'mypy-extensions'
- 'types-setuptools'
- 'types-PyYAML'
- 'types-requests'
exclude: >
(?x)^(
.*_pb2.py
@@ -164,20 +162,14 @@ repos:
require_serial: true
additional_dependencies:
- PyYAML == 5.3.1
- idf-build-apps>=2.8,<3
- 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$'
additional_dependencies:
- ruamel.yaml
- id: sort-yaml-test
name: sort yaml test
entry: python -m unittest tools/ci/sort_yaml.py
language: python
files: 'tools/ci/sort_yaml\.py$'
files: '\.build-test-rules\.yml'
additional_dependencies:
- PyYAML == 5.3.1
- ruamel.yaml
- id: check-build-test-rules-path-exists
name: check path in .build-test-rules.yml exists
@@ -194,26 +186,18 @@ repos:
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)'
- 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.7.0
rev: v1.2.1
hooks:
- id: conventional-precommit-linter
stages: [commit-msg]
@@ -234,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: v2.5.0
hooks:
- id: check-kconfig-files
- id: check-deprecated-kconfig-options

641
.pylintrc Normal file
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

View File

@@ -15,7 +15,7 @@ python:
install:
- requirements: docs/requirements.txt
# We need to list all the submodules included in documentation build by Doxygen
# We need to list all the submodules included in documenation build by DOxygen
submodules:
include:
- components/mqtt/esp-mqtt

View File

@@ -13,45 +13,10 @@ 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")
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()
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")
endif()
@@ -66,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)
@@ -113,7 +96,7 @@ if(CMAKE_C_COMPILER_ID MATCHES "Clang")
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__.
@@ -138,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.
@@ -153,10 +134,6 @@ if(CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE)
list(APPEND compile_definitions "-DNDEBUG")
endif()
if(CONFIG_COMPILER_NO_MERGE_CONSTANTS)
list(APPEND compile_options "-fno-merge-constants")
endif()
if(CONFIG_COMPILER_STACK_CHECK_MODE_NORM)
list(APPEND compile_options "-fstack-protector")
elseif(CONFIG_COMPILER_STACK_CHECK_MODE_STRONG)
@@ -169,8 +146,46 @@ if(CONFIG_COMPILER_DUMP_RTL_FILES)
list(APPEND compile_options "-fdump-rtl-expand")
endif()
__generate_prefix_map(prefix_map_compile_options)
list(APPEND compile_options ${prefix_map_compile_options})
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()
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"
@@ -184,22 +199,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_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)
@@ -207,13 +210,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")
@@ -252,9 +248,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
@@ -267,15 +263,22 @@ if(CMAKE_C_COMPILER_ID MATCHES "GNU")
endif()
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
list(APPEND compile_options "-fno-use-cxa-atexit") # TODO IDF-10934
else()
list(APPEND cxx_compile_options "-fuse-cxa-atexit")
list(APPEND compile_options "-fno-use-cxa-atexit")
endif()
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)

View File

@@ -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?

View File

@@ -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 版本低于 `需求版本` 会出现什么情况?

117
Kconfig
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,14 +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
# TODO: [ESPTOOL-1044] remove when stub supported
select IDF_ENV_BRINGUP
config IDF_TARGET_ESP32P4
bool
default "y" if IDF_TARGET="esp32p4"
@@ -132,28 +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_FPGA
select IDF_ENV_BRINGUP
config IDF_TARGET_ESP32H4
bool
default "y" if IDF_TARGET="esp32h4"
select FREERTOS_UNICORE # TODO: [ESP32H4] IDF-12319, need remove
select IDF_TARGET_ARCH_RISCV
select IDF_ENV_FPGA
select IDF_ENV_BRINGUP
config IDF_TARGET_LINUX
bool
default "y" if IDF_TARGET="linux"
@@ -168,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
@@ -343,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.
@@ -365,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
@@ -408,21 +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 y
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.
In ESP-IDF v6.0 the default behavior will change to "no" to be in line with the
standard.
choice COMPILER_FLOAT_LIB_FROM
prompt "Compiler float lib source"
default COMPILER_FLOAT_LIB_FROM_RVFPLIB if ESP_ROM_HAS_RVFPLIB
@@ -544,15 +496,6 @@ mainmenu "Espressif IoT Development Framework Configuration"
help
Stack smashing protection.
config COMPILER_NO_MERGE_CONSTANTS
bool "Disable merging const sections"
depends on IDF_TOOLCHAIN_GCC
help
Disable merging identical constants (string/floating-point) across compilation units.
This helps in better size analysis of the application binary as the rodata section
distribution is more uniform across libraries. On downside, it may increase
the binary size and hence should be used during development phase only.
config COMPILER_WARN_WRITE_STRINGS
bool "Enable -Wwrite-strings warning flag"
default "n"
@@ -579,20 +522,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 "y"
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"
@@ -607,13 +536,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_DUMP_RTL_FILES
bool "Dump RTL files during compilation"
help
@@ -650,7 +572,7 @@ mainmenu "Espressif IoT Development Framework Configuration"
choice COMPILER_ORPHAN_SECTIONS
prompt "Orphan sections handling"
default COMPILER_ORPHAN_SECTIONS_WARNING
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
@@ -661,7 +583,7 @@ mainmenu "Espressif IoT Development Framework Configuration"
config COMPILER_ORPHAN_SECTIONS_WARNING
bool "Place with warning"
help
Places orphan sections with a warning message.
Places orphan sections without a warning message.
config COMPILER_ORPHAN_SECTIONS_PLACE
bool "Place silently"
@@ -669,23 +591,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.
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
@@ -703,7 +611,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_MBEDTLS_USE_CRYPTO_ROM_IMPL

View File

@@ -15,18 +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 | |
|:----------- |:--------------------: | :--------------------: | :--------------------: | :--------------------: | :--------------------: |:------------------------------------------------------------------- |
|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] | ![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] |[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] |[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] |[Announcement](https://www.espressif.com/en/news/ESP32_H2) |
|ESP32-P4 | | | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |[Announcement](https://www.espressif.com/en/news/ESP32-P4) |
|ESP32-C5 | | | | |![alt text][preview] |[Announcement](https://www.espressif.com/en/news/ESP32-C5) |
|ESP32-C61 | | | | |![alt text][preview] |[Announcement](https://www.espressif.com/en/products/socs/esp32-c61) |
|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"

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 | |
|:----------- | :--------------------: | :--------------------: | :--------------------: | :--------------------: | :--------------------: |:------------------------------------------------------------------------ |
|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] |![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] | [芯片发布公告](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] | [芯片发布公告](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] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32_H2) |
|ESP32-P4 | | | ![alt text][supported] | ![alt text][supported] |![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32-P4) |
|ESP32-C5 | | | | |![alt text][preview] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32-C5) |
|ESP32-C61 | | | | |![alt text][preview] | [芯片发布公告](https://www.espressif.com/zh-hans/products/socs/esp32-c61) |
|芯片 | 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"
@@ -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/) 提问,挖掘社区资源。

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
```

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
```

View File

@@ -9,11 +9,6 @@ set(srcs
"app_trace_util.c"
"host_file_io.c")
if(CONFIG_ESP_DEBUG_STUBS_ENABLE)
list(APPEND srcs
"debug_stubs.c")
endif()
if(CONFIG_APPTRACE_GCOV_ENABLE)
if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
list(APPEND srcs
@@ -60,15 +55,16 @@ 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)
@@ -121,3 +117,16 @@ if(CONFIG_APPTRACE_GCOV_ENABLE)
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()

View File

@@ -14,7 +14,6 @@ menu "Application Level Tracing"
config APPTRACE_DEST_NONE
bool "None"
endchoice
config APPTRACE_DEST_UART
@@ -61,7 +60,7 @@ menu "Application Level Tracing"
endchoice
config APPTRACE_UART_TX_GPIO
int "UART TX on GPIO<num>"
int "UART TX on GPIO#"
depends on APPTRACE_DEST_UART_NOUSB
range 0 46
default 12 if IDF_TARGET_ESP32
@@ -71,7 +70,7 @@ menu "Application Level Tracing"
This GPIO is used for UART TX pin.
config APPTRACE_UART_RX_GPIO
int "UART RX on GPIO<num>"
int "UART RX on GPIO#"
depends on APPTRACE_DEST_UART_NOUSB
range 0 46
default 13 if IDF_TARGET_ESP32
@@ -207,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"
@@ -232,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.
@@ -253,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
@@ -262,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)"

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 <string.h>
@@ -26,6 +26,8 @@
#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 */
@@ -75,7 +77,7 @@ 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();
}
@@ -88,7 +90,7 @@ void esp_apptrace_down_buffer_config(uint8_t *buf, uint32_t size)
return;
}
// currently down buffer is supported for JTAG interface only
// TODO: one more argument should be added to this function to specify HW interface: JTAG, UART0 etc
// 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) {
@@ -194,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;
@@ -327,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) {
@@ -353,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);

View File

@@ -1,7 +1,7 @@
/*
* SPDX-FileCopyrightText: 2021-2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
* SPDX-License-Identifier: Apache-2.0
*/
#include <sys/param.h>
@@ -100,7 +100,7 @@ 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]",
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),
@@ -109,7 +109,7 @@ static esp_err_t esp_apptrace_membufs_swap(esp_apptrace_membufs_proto_data_t *pr
*(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;
}
@@ -148,18 +148,6 @@ static esp_err_t esp_apptrace_membufs_swap_waitus(esp_apptrace_membufs_proto_dat
if (res != ESP_OK) {
break;
}
#if CONFIG_IDF_TARGET_ESP32S3
/*
* ESP32S3 has a serious data corruption issue with the transferred data to host.
* This delay helps reduce the failure rate by temporarily reducing heavy memory writes
* from RTOS-level tracing and giving OpenOCD more time to read trace memory before
* the current thread continues execution. While this doesn't completely prevent
* memory access from other threads/cores/ISRs, it has shown to significantly improve
* reliability when combined with CRC checks in OpenOCD. In practice, this reduces the
* number of retries needed to read an entire block without corruption.
*/
esp_rom_delay_us(100);
#endif
}
return res;
}
@@ -208,7 +196,7 @@ 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,
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) {
@@ -218,15 +206,15 @@ 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;
}
@@ -290,7 +278,7 @@ uint8_t *esp_apptrace_membufs_up_buffer_get(esp_apptrace_membufs_proto_data_t *p
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;
}
@@ -320,21 +308,21 @@ uint8_t *esp_apptrace_membufs_up_buffer_get(esp_apptrace_membufs_proto_data_t *p
#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 %" PRIu32 " bytes from PEND buffer", size);
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 %" PRIu32 " bytes from pend buffer", size);
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 %" PRIu32 " bytes from block", size);
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 %" PRIu32 " bytes from buffer", size);
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
@@ -351,7 +339,7 @@ uint8_t *esp_apptrace_membufs_up_buffer_get(esp_apptrace_membufs_proto_data_t *p
esp_err_t esp_apptrace_membufs_up_buffer_put(esp_apptrace_membufs_proto_data_t *proto, uint8_t *ptr, esp_apptrace_tmo_t *tmo)
{
esp_apptrace_membufs_pkt_end(ptr);
// TODO: mark block as busy in order not to reuse it for other tracing calls until it is completely written
// TODO: mark block as busy in order not to re-use it for other tracing calls until it is completely written
// TODO: avoid potential situation when all memory is consumed by low prio tasks which can not complete writing due to
// higher prio tasks and the latter can not allocate buffers at all
// this is abnormal situation can be detected on host which will receive only uncompleted buffers
@@ -364,12 +352,12 @@ 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 (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. Wait until block switch for %" PRIi64 " us", ESP_APPTRACE_INBLOCK_MARKER(proto), tmo->tmo);
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 (tmo->tmo != ESP_APPTRACE_TMO_INFINITE)

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
}
@@ -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) {

View File

@@ -14,10 +14,15 @@
#include "soc/timer_periph.h"
#include "esp_app_trace.h"
#include "esp_freertos_hooks.h"
#include "dbg_stubs.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

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.

View File

@@ -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;
}

View File

@@ -15,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)

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2017-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -218,13 +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,
@@ -232,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.

View File

@@ -1,10 +1,9 @@
/*
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
* SPDX-License-Identifier: Apache-2.0
*/
#include "sdkconfig.h"
#include "esp_cpu.h"
#include "esp_log.h"
#include "esp_app_trace_membufs_proto.h"
@@ -57,13 +56,7 @@ static bool esp_apptrace_riscv_host_data_pending(void);
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];
static esp_apptrace_riscv_ctrl_block_t s_tracing_ctrl[portNUM_PROCESSORS];
esp_apptrace_hw_t *esp_apptrace_jtag_hw_get(void **data)
{
@@ -98,7 +91,7 @@ esp_apptrace_hw_t *esp_apptrace_jtag_hw_get(void **data)
}
/* Advertises apptrace control block address to host.
This function can be overridden with custom implementation,
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)
{
@@ -109,7 +102,7 @@ __attribute__((weak)) int esp_apptrace_advertise_ctrl_block(void *ctrl_block_add
}
/* Returns up buffers config.
This function can be overridden with custom implementation,
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])
{
@@ -165,13 +158,13 @@ static esp_err_t esp_apptrace_riscv_init(esp_apptrace_riscv_data_t *hw_data)
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,
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 && "Failed to send config to host!");
assert(res == 0 && "Falied to send config to host!");
return ESP_OK;
}
@@ -331,7 +324,7 @@ static esp_err_t esp_apptrace_riscv_buffer_swap_start(uint32_t curr_block_id)
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,
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;

View File

@@ -1,7 +1,7 @@
/*
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
* SPDX-License-Identifier: Apache-2.0
*/
//
@@ -12,7 +12,7 @@
// ======================
// 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
// Exectution 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
@@ -47,7 +47,7 @@
// 2. TRAX Registers layout
// ========================
// This module uses two TRAX HW registers and one Performance Monitor register to communicate with host SW (OpenOCD).
// This module uses two TRAX HW registers 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.
@@ -55,15 +55,9 @@
// 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.
// - 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' setion for details.
// 3. Modes of operation
// =====================
@@ -133,7 +127,7 @@
// 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
// ISRs running on both cores. Also custom mutex allows specifying timeout for locking operation. Locking routine checks underlaying 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.
@@ -148,9 +142,9 @@
// 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.
// - Trace data are locked by another task/ISR. When wating 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
// When wating 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"
@@ -165,15 +159,11 @@
#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)
@@ -298,7 +288,7 @@ static inline void esp_apptrace_trax_select_memory_block(int block_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);
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
}
@@ -308,7 +298,7 @@ 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
#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
@@ -508,8 +498,7 @@ static esp_err_t esp_apptrace_trax_buffer_swap_start(uint32_t curr_block_id)
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,
ESP_APPTRACE_LOGD("HC[%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_TRAX_BLOCK_ID_MSK, curr_block_id);
res = ESP_ERR_NO_MEM;
goto _on_err;
@@ -525,14 +514,6 @@ static esp_err_t esp_apptrace_trax_buffer_swap_end(uint32_t new_block_id, uint32
{
uint32_t ctrl_reg = eri_read(ESP_APPTRACE_TRAX_CTRL_REG);
uint32_t host_connected = ESP_APPTRACE_TRAX_HOST_CONNECT & ctrl_reg;
/* calculate CRC16 of the already switched 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);
}
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();

View File

@@ -1,69 +0,0 @@
/*
* SPDX-FileCopyrightText: 2017-2024 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 meaningfull 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 Retrives the corresponding stub entry
*
* @param id Stub ID.
* @param entry Stub entry. Usually it is stub entry function address,
* but can be any value meaningfull 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_

View File

@@ -5,25 +5,21 @@ function(idf_create_coverage_report report_dir)
set(gcov_tool ${_CMAKE_TOOLCHAIN_PREFIX}gcov)
idf_build_get_property(project_name PROJECT_NAME)
file(TO_NATIVE_PATH "${report_dir}" _report_dir)
file(TO_NATIVE_PATH "${project_dir}" _project_dir)
file(TO_NATIVE_PATH "${report_dir}/html/index.html" _index_path)
add_custom_target(pre-cov-report
COMMENT "Generating coverage report in: ${_report_dir}"
COMMENT "Generating coverage report in: ${report_dir}"
COMMAND ${CMAKE_COMMAND} -E echo "Using gcov: ${gcov_tool}"
COMMAND ${CMAKE_COMMAND} -E make_directory ${_report_dir}/html
COMMAND ${CMAKE_COMMAND} -E make_directory ${report_dir}/html
)
add_custom_target(lcov-report
COMMENT "WARNING: lcov-report is deprecated. Please use gcovr-report instead."
COMMAND lcov --gcov-tool ${gcov_tool} -c -d ${CMAKE_CURRENT_BINARY_DIR} -o ${_report_dir}/${project_name}.info
COMMAND genhtml -o ${_report_dir}/html ${_report_dir}/${project_name}.info
COMMAND lcov --gcov-tool ${gcov_tool} -c -d ${CMAKE_CURRENT_BINARY_DIR} -o ${report_dir}/${project_name}.info
COMMAND genhtml -o ${report_dir}/html ${report_dir}/${project_name}.info
DEPENDS pre-cov-report
)
add_custom_target(gcovr-report
COMMAND gcovr -r ${_project_dir} --gcov-executable ${gcov_tool} -s --html-details ${_index_path}
COMMAND gcovr -r ${project_dir} --gcov-executable ${gcov_tool} -s --html-details ${report_dir}/html/index.html
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS pre-cov-report
)
@@ -33,9 +29,7 @@ endfunction()
#
# Clean coverage report.
function(idf_clean_coverage_report report_dir)
file(TO_CMAKE_PATH "${report_dir}" _report_dir)
add_custom_target(cov-data-clean
COMMENT "Clean coverage report in: ${_report_dir}"
COMMAND ${CMAKE_COMMAND} -E remove_directory ${_report_dir})
COMMENT "Clean coverage report in: ${report_dir}"
COMMAND ${CMAKE_COMMAND} -E remove_directory ${report_dir})
endfunction()

View File

@@ -10,7 +10,7 @@
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2024 SEGGER Microcontroller GmbH *
* (c) 1995 - 2021 SEGGER Microcontroller GmbH *
* *
* www.segger.com Support: support@segger.com *
* *
@@ -49,7 +49,7 @@
* *
**********************************************************************
* *
* SystemView version: 3.56 *
* SystemView version: 3.42 *
* *
**********************************************************************
----------------------------------------------------------------------

View File

@@ -8,7 +8,7 @@
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2024 SEGGER Microcontroller GmbH *
* (c) 1995 - 2021 SEGGER Microcontroller GmbH *
* *
* www.segger.com Support: support@segger.com *
* *
@@ -47,7 +47,7 @@
* *
**********************************************************************
* *
* SystemView version: 3.56 *
* SystemView version: 3.42 *
* *
**********************************************************************
---------------------------END-OF-HEADER------------------------------
@@ -100,10 +100,6 @@ Revision: $Rev: 25842 $
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif (defined(__ARM_ARCH_8_1M_MAIN__)) // Cortex-M85
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#else
#define _CORE_HAS_RTT_ASM_SUPPORT 0
#endif
@@ -134,10 +130,6 @@ Revision: $Rev: 25842 $
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif (defined __ARM_ARCH_8_1M_MAIN__) // Cortex-M85
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif ((defined __ARM_ARCH_7A__) || (defined __ARM_ARCH_7R__)) // Cortex-A/R 32-bit ARMv7-A/R
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
@@ -164,10 +156,6 @@ Revision: $Rev: 25842 $
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif (defined __ARM_ARCH_8_1M_MAIN__) // Cortex-M85
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif ((defined __ARM_ARCH_7A__) || (defined __ARM_ARCH_7R__)) // Cortex-A/R 32-bit ARMv7-A/R
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
@@ -283,7 +271,6 @@ Revision: $Rev: 25842 $
#ifndef SEGGER_RTT_ASM // defined when SEGGER_RTT.h is included from assembly file
#include <stdlib.h>
#include <stdarg.h>
#include <stdint.h>
/*********************************************************************
*
@@ -425,7 +412,7 @@ unsigned SEGGER_RTT_ReadUpBufferNoLock (unsigned BufferIndex, void* pDa
unsigned SEGGER_RTT_WriteDownBuffer (unsigned BufferIndex, const void* pBuffer, unsigned NumBytes);
unsigned SEGGER_RTT_WriteDownBufferNoLock (unsigned BufferIndex, const void* pBuffer, unsigned NumBytes);
#define SEGGER_RTT_HASDATA_UP(n) (((SEGGER_RTT_BUFFER_UP*)((uintptr_t)&_SEGGER_RTT.aUp[n] + SEGGER_RTT_UNCACHED_OFF))->WrOff - ((SEGGER_RTT_BUFFER_UP*)((uintptr_t)&_SEGGER_RTT.aUp[n] + SEGGER_RTT_UNCACHED_OFF))->RdOff) // Access uncached to make sure we see changes made by the J-Link side and all of our changes go into HW directly
#define SEGGER_RTT_HASDATA_UP(n) (((SEGGER_RTT_BUFFER_UP*)((char*)&_SEGGER_RTT.aUp[n] + SEGGER_RTT_UNCACHED_OFF))->WrOff - ((SEGGER_RTT_BUFFER_UP*)((char*)&_SEGGER_RTT.aUp[n] + SEGGER_RTT_UNCACHED_OFF))->RdOff) // Access uncached to make sure we see changes made by the J-Link side and all of our changes go into HW directly
/*********************************************************************
*

View File

@@ -3,14 +3,14 @@
*
* SPDX-License-Identifier: BSD-1-Clause
*
* SPDX-FileContributor: 2023-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileContributor: 2023 Espressif Systems (Shanghai) CO LTD
*/
/*********************************************************************
* SEGGER Microcontroller GmbH *
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2024 SEGGER Microcontroller GmbH *
* (c) 1995 - 2021 SEGGER Microcontroller GmbH *
* *
* www.segger.com Support: support@segger.com *
* *
@@ -49,14 +49,14 @@
* *
**********************************************************************
* *
* SystemView version: 3.56 *
* SystemView version: 3.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW.c
Purpose : System visualization API implementation.
Revision: $Rev: 29105 $
Revision: $Rev: 28341 $
Additional information:
Packet format:
@@ -66,10 +66,10 @@ Additional information:
Packets with IDs 24..31 are standard packets with extendible
structure and contain a length field.
<ID><Length><Data><TimeStampDelta>
<ID><Lenght><Data><TimeStampDelta>
Packet ID 31 is used for SystemView extended events.
<ID><Length><ID_EX><Data><TimeStampDelta>
<ID><Lenght><ID_EX><Data><TimeStampDelta>
Packets with IDs >= 32 always contain a length field.
<ID><Length><Data><TimeStampDelta>
@@ -150,7 +150,6 @@ Additional information:
#include <string.h>
#include <stdlib.h>
#include <stdarg.h>
#include <assert.h>
#include "SEGGER_SYSVIEW_Int.h"
#include "SEGGER_RTT.h"
@@ -189,7 +188,7 @@ Additional information:
// Timestamps may be less than full 32-bits, in which case we need to zero
// the unused bits to properly handle overflows.
// Note that this is a quite common scenario, as a 32-bit time such as
// SysTick might be scaled down to reduce bandwidth
// SysTick might be scaled down to reduce bandwith
// or a 16-bit hardware time might be used.
#if SEGGER_SYSVIEW_TIMESTAMP_BITS < 32 // Eliminate unused bits in case hardware timestamps are less than 32 bits
#define MAKE_DELTA_32BIT(Delta) Delta <<= 32 - SEGGER_SYSVIEW_TIMESTAMP_BITS; \
@@ -389,6 +388,8 @@ static U8 _NumModules;
pDest = pSysviewPointer; \
};
#if (SEGGER_SYSVIEW_USE_STATIC_BUFFER == 1)
static U8 _aPacket[SEGGER_SYSVIEW_MAX_PACKET_SIZE];
@@ -431,9 +432,6 @@ static U8 _aPacket[SEGGER_SYSVIEW_MAX_PACKET_SIZE];
static U8* _EncodeData(U8* pPayload, const char* pSrc, unsigned int NumBytes) {
unsigned int n;
const U8* p;
// Espressif doesn't support larger packages yet. Encode data length must be less than 255.
assert(NumBytes < 255);
//
n = 0;
p = (const U8*)pSrc;
@@ -444,8 +442,8 @@ static U8* _EncodeData(U8* pPayload, const char* pSrc, unsigned int NumBytes) {
*pPayload++ = (U8)NumBytes;
} else {
*pPayload++ = 255;
*pPayload++ = ((NumBytes >> 8) & 255);
*pPayload++ = (NumBytes & 255);
*pPayload++ = ((NumBytes >> 8) & 255);
}
while (n < NumBytes) {
*pPayload++ = *p++;
@@ -454,38 +452,6 @@ static U8* _EncodeData(U8* pPayload, const char* pSrc, unsigned int NumBytes) {
return pPayload;
}
/*********************************************************************
*
* _EncodeFloat()
*
* Function description
* Encode a float value in variable-length format.
*
* Parameters
* pPayload - Pointer to where value will be encoded.
* Value - Value to be encoded.
*
* Return value
* Pointer to the byte following the value, i.e. the first free
* byte in the payload and the next position to store payload
* content.
*/
static U8* _EncodeFloat(U8* pPayload, float Value) {
float Val = Value;
U8* pSysviewPointer;
U32* SysViewData;
pSysviewPointer = pPayload;
SysViewData = (U32*)&Val;
while((*SysViewData) > 0x7F) {
*pSysviewPointer++ = (U8)((*SysViewData) | 0x80);
(*SysViewData) >>= 7;
};
*pSysviewPointer++ = (U8)(*SysViewData);
pPayload = pSysviewPointer;
return pPayload;
}
/*********************************************************************
*
* _EncodeStr()
@@ -509,42 +475,38 @@ static U8* _EncodeFloat(U8* pPayload, float Value) {
* No more than 1 + Limit bytes will be encoded to the payload.
*/
static U8 *_EncodeStr(U8 *pPayload, const char *pText, unsigned int Limit) {
U8* pLen;
const char* sStart;
if (pText == NULL) {
*pPayload++ = (U8)0;
} else {
sStart = pText; // Remember start of string.
//
// Save space to store count byte(s).
//
pLen = pPayload++;
#if (SEGGER_SYSVIEW_MAX_STRING_LEN >= 255) // Length always encodes in 3 bytes
pPayload += 2;
#endif
//
// Limit string to maximum length and copy into payload buffer.
//
if (Limit > SEGGER_SYSVIEW_MAX_STRING_LEN) {
Limit = SEGGER_SYSVIEW_MAX_STRING_LEN;
unsigned int n;
unsigned int Len;
//
// Compute string len
//
Len = 0;
if (pText != NULL) {
while(*(pText + Len) != 0) {
Len++;
}
while ((Limit-- > 0) && (*pText != '\0')) {
*pPayload++ = *pText++;
if (Len > Limit) {
Len = Limit;
}
//
// Save string length to buffer.
//
#if (SEGGER_SYSVIEW_MAX_STRING_LEN >= 255) // Length always encodes in 3 bytes
Limit = (unsigned int)(pText - sStart);
*pLen++ = (U8)255;
*pLen++ = (U8)((Limit >> 8) & 255);
*pLen++ = (U8)(Limit & 255);
#else // Length always encodes in 1 byte
*pLen = (U8)(pText - sStart);
#endif
}
//
// Write Len
//
if (Len < 255) {
*pPayload++ = (U8)Len;
} else {
*pPayload++ = 255;
*pPayload++ = (Len & 255);
*pPayload++ = ((Len >> 8) & 255);
}
//
// copy string
//
n = 0;
while (n < Len) {
*pPayload++ = *pText++;
n++;
}
return pPayload;
}
@@ -731,6 +693,7 @@ static void _SendSyncInfo(void) {
for (n = 0; n < _NumModules; n++) {
SEGGER_SYSVIEW_SendModule(n);
}
SEGGER_SYSVIEW_SendModuleDescription();
}
}
#endif // (SEGGER_SYSVIEW_POST_MORTEM_MODE == 1)
@@ -1255,7 +1218,6 @@ static void _VPrintTarget(const char* sFormat, U32 Options, va_list* pParamList)
unsigned int FormatFlags;
unsigned int FieldWidth;
U8* pPayloadStart;
const char* s;
#if SEGGER_SYSVIEW_USE_STATIC_BUFFER == 0
RECORD_START(SEGGER_SYSVIEW_INFO_SIZE + SEGGER_SYSVIEW_MAX_STRING_LEN + 1 + 2 * SEGGER_SYSVIEW_QUANTA_U32);
SEGGER_SYSVIEW_LOCK();
@@ -1360,20 +1322,6 @@ static void _VPrintTarget(const char* sFormat, U32 Options, va_list* pParamList)
v = va_arg(*pParamList, int);
_PrintUnsigned(&BufferDesc, (unsigned int)v, 16u, NumDigits, FieldWidth, FormatFlags);
break;
case 's':
s = va_arg(*pParamList, const char*);
if (s == NULL) {
s = "(null)";
}
do {
c = *s;
s++;
if (c == '\0') {
break;
}
_StoreChar(&BufferDesc, c);
} while (BufferDesc.Cnt < SEGGER_SYSVIEW_MAX_STRING_LEN);
break;
case 'p':
v = va_arg(*pParamList, int);
_PrintUnsigned(&BufferDesc, (unsigned int)v, 16u, 8u, 8u, 0u);
@@ -2006,61 +1954,11 @@ void SEGGER_SYSVIEW_SendTaskInfo(const SEGGER_SYSVIEW_TASKINFO *pInfo) {
ENCODE_U32(pPayload, SHRINK_ID(pInfo->TaskID));
ENCODE_U32(pPayload, pInfo->StackBase);
ENCODE_U32(pPayload, pInfo->StackSize);
ENCODE_U32(pPayload, pInfo->StackUsage);
ENCODE_U32(pPayload, 0); // Stack End, future use
_SendPacket(pPayloadStart, pPayload, SYSVIEW_EVTID_STACK_INFO);
RECORD_END();
}
/*********************************************************************
*
* SEGGER_SYSVIEW_SendStackInfo()
*
* Function description
* Send a Stack Info Packet, containing TaskId for identification,
* stack base, stack size and stack usage.
*
*
* Parameters
* pInfo - Pointer to stack information to send.
*/
void SEGGER_SYSVIEW_SendStackInfo(const SEGGER_SYSVIEW_STACKINFO *pInfo) {
U8* pPayload;
U8* pPayloadStart;
RECORD_START(SEGGER_SYSVIEW_INFO_SIZE + 4 * SEGGER_SYSVIEW_QUANTA_U32);
//
pPayload = pPayloadStart;
ENCODE_U32(pPayload, SHRINK_ID(pInfo->TaskID));
ENCODE_U32(pPayload, pInfo->StackBase);
ENCODE_U32(pPayload, pInfo->StackSize);
ENCODE_U32(pPayload, pInfo->StackUsage);
RECORD_END();
}
/*********************************************************************
*
* SEGGER_SYSVIEW_SampleData()
*
* Function description
* Send a Data Sample Packet, containing the data Id and the value.
*
*
* Parameters
* pInfo - Pointer to data sample struct to send.
*/
void SEGGER_SYSVIEW_SampleData(const SEGGER_SYSVIEW_DATA_SAMPLE *pInfo) {
U8* pPayload;
U8* pPayloadStart;
RECORD_START(SEGGER_SYSVIEW_INFO_SIZE + 2 * SEGGER_SYSVIEW_QUANTA_U32);
//
pPayload = pPayloadStart;
ENCODE_U32(pPayload, pInfo->ID);
pPayload = _EncodeFloat(pPayload, *(pInfo->pFloat_Value));
_SendPacket(pPayloadStart, pPayload, SYSVIEW_EVTID_DATA_SAMPLE);
RECORD_END();
}
/*********************************************************************
*
* SEGGER_SYSVIEW_SendTaskList()
@@ -2550,63 +2448,6 @@ void SEGGER_SYSVIEW_NameResource(U32 ResourceId, const char* sName) {
RECORD_END();
}
/*********************************************************************
*
* SEGGER_SYSVIEW_RegisterData()
*
* Function description
* Register data to sample the values via SystemView.
*
* Register functions are usually set in the system description
* callback, to ensure it is only sent when the SystemView Application
* is connected.
*
* Parameters
* pInfo - Struct containing all possible properties that can be sent via this registration event.
*/
void SEGGER_SYSVIEW_RegisterData(SEGGER_SYSVIEW_DATA_REGISTER* pInfo) {
U8* pPayload;
U8* pPayloadStart;
RECORD_START(SEGGER_SYSVIEW_INFO_SIZE + 8 * SEGGER_SYSVIEW_QUANTA_U32 + 1 + SEGGER_SYSVIEW_MAX_STRING_LEN);
//
pPayload = pPayloadStart;
ENCODE_U32(pPayload, SYSVIEW_EVTID_EX_REGISTER_DATA);
ENCODE_U32(pPayload, pInfo->ID);
pPayload = _EncodeStr(pPayload, pInfo->sName, SEGGER_SYSVIEW_MAX_STRING_LEN);
if (pInfo->sName != 0) {
ENCODE_U32(pPayload, pInfo->DataType);
ENCODE_U32(pPayload, pInfo->Offset);
ENCODE_U32(pPayload, pInfo->RangeMin);
ENCODE_U32(pPayload, pInfo->RangeMax);
pPayload = _EncodeFloat(pPayload, pInfo->ScalingFactor);
pPayload = _EncodeStr(pPayload, pInfo->sUnit, SEGGER_SYSVIEW_MAX_STRING_LEN);
} else if (pInfo->ScalingFactor != 0) {
ENCODE_U32(pPayload, pInfo->DataType);
ENCODE_U32(pPayload, pInfo->Offset);
ENCODE_U32(pPayload, pInfo->RangeMin);
ENCODE_U32(pPayload, pInfo->RangeMax);
pPayload = _EncodeFloat(pPayload, pInfo->ScalingFactor);
} else if (pInfo->RangeMax != 0) {
ENCODE_U32(pPayload, pInfo->DataType);
ENCODE_U32(pPayload, pInfo->Offset);
ENCODE_U32(pPayload, pInfo->RangeMin);
ENCODE_U32(pPayload, pInfo->RangeMax);
} else if (pInfo->RangeMin != 0) {
ENCODE_U32(pPayload, pInfo->DataType);
ENCODE_U32(pPayload, pInfo->Offset);
ENCODE_U32(pPayload, pInfo->RangeMin);
} else if (pInfo->Offset != 0) {
ENCODE_U32(pPayload, pInfo->DataType);
ENCODE_U32(pPayload, pInfo->Offset);
} else if (pInfo->DataType != 0) {
ENCODE_U32(pPayload, pInfo->DataType);
}
_SendPacket(pPayloadStart, pPayload, SYSVIEW_EVTID_EX);
RECORD_END();
}
/*********************************************************************
*
* SEGGER_SYSVIEW_HeapDefine()
@@ -2979,6 +2820,9 @@ void SEGGER_SYSVIEW_RegisterModule(SEGGER_SYSVIEW_MODULE* pModule) {
_NumModules++;
}
SEGGER_SYSVIEW_SendModule(0);
if (pModule->pfSendModuleDesc) {
pModule->pfSendModuleDesc();
}
SEGGER_SYSVIEW_UNLOCK();
}
@@ -3062,9 +2906,6 @@ void SEGGER_SYSVIEW_SendModule(U8 ModuleId) {
_SendPacket(pPayloadStart, pPayload, SYSVIEW_EVTID_MODULEDESC);
RECORD_END();
}
if (pModule && pModule->pfSendModuleDesc) {
pModule->pfSendModuleDesc();
}
}
}
@@ -3145,39 +2986,6 @@ void SEGGER_SYSVIEW_PrintfHostEx(const char* s, U32 Options, ...) {
#endif
}
/*********************************************************************
*
* SEGGER_SYSVIEW_VPrintfHostEx()
*
* Function description
* Print a string which is formatted on the host by the SystemView Application
* with Additional information.
*
* Parameters
* s - String to be formatted.
* Options - Options for the string. i.e. Log level.
* pParamList - Pointer to the list of arguments for the format string
*
* Additional information
* All format arguments are treated as 32-bit scalar values.
*/
void SEGGER_SYSVIEW_VPrintfHostEx(const char* s, U32 Options, va_list *pParamList) {
#if SEGGER_SYSVIEW_PRINTF_IMPLICIT_FORMAT
int r;
va_list ParamListCopy;
va_copy(ParamListCopy, *pParamList);
r = _VPrintHost(s, Options, pParamList);
if (r == -1) {
_VPrintTarget(s, Options, &ParamListCopy);
}
va_end(ParamListCopy);
#else
_VPrintHost(s, Options, pParamList);
#endif
}
/*********************************************************************
*
* SEGGER_SYSVIEW_PrintfHost()
@@ -3212,37 +3020,6 @@ void SEGGER_SYSVIEW_PrintfHost(const char* s, ...) {
#endif
}
/*********************************************************************
*
* SEGGER_SYSVIEW_VPrintfHost()
*
* Function description
* Print a string which is formatted on the host by the SystemView Application.
*
* Parameters
* s - String to be formatted.
* pParamList - Pointer to the list of arguments for the format string
*
* Additional information
* All format arguments are treated as 32-bit scalar values.
*/
void SEGGER_SYSVIEW_VPrintfHost(const char* s, va_list *pParamList) {
#if SEGGER_SYSVIEW_PRINTF_IMPLICIT_FORMAT
int r;
va_list ParamListCopy;
va_copy(ParamListCopy, *pParamList);
r = _VPrintHost(s, SEGGER_SYSVIEW_LOG, pParamList);
if (r == -1) {
_VPrintTarget(s, SEGGER_SYSVIEW_LOG, &ParamListCopy);
}
va_end(ParamListCopy);
#else
_VPrintHost(s, SEGGER_SYSVIEW_LOG, pParamList);
#endif
}
/*********************************************************************
*
* SEGGER_SYSVIEW_WarnfHost()
@@ -3278,38 +3055,6 @@ void SEGGER_SYSVIEW_WarnfHost(const char* s, ...) {
#endif
}
/*********************************************************************
*
* SEGGER_SYSVIEW_VWarnfHost()
*
* Function description
* Print a warning string which is formatted on the host by
* the SystemView Application.
*
* Parameters
* s - String to be formatted.
* pParamList - Pointer to the list of arguments for the format string
*
* Additional information
* All format arguments are treated as 32-bit scalar values.
*/
void SEGGER_SYSVIEW_VWarnfHost(const char* s, va_list *pParamList) {
#if SEGGER_SYSVIEW_PRINTF_IMPLICIT_FORMAT
int r;
va_list ParamListCopy;
va_copy(ParamListCopy, *pParamList);
r = _VPrintHost(s, SEGGER_SYSVIEW_WARNING, pParamList);
if (r == -1) {
_VPrintTarget(s, SEGGER_SYSVIEW_WARNING, &ParamListCopy);
}
va_end(ParamListCopy);
#else
_VPrintHost(s, SEGGER_SYSVIEW_WARNING, pParamList);
#endif
}
/*********************************************************************
*
* SEGGER_SYSVIEW_ErrorfHost()
@@ -3345,38 +3090,6 @@ void SEGGER_SYSVIEW_ErrorfHost(const char* s, ...) {
#endif
}
/*********************************************************************
*
* SEGGER_SYSVIEW_VErrorfHost()
*
* Function description
* Print a warning string which is formatted on the host by
* the SystemView Application.
*
* Parameters
* s - String to be formatted.
* pParamList - Pointer to the list of arguments for the format string
*
* Additional information
* All format arguments are treated as 32-bit scalar values.
*/
void SEGGER_SYSVIEW_VErrorfHost(const char* s, va_list *pParamList) {
#if SEGGER_SYSVIEW_PRINTF_IMPLICIT_FORMAT
int r;
va_list ParamListCopy;
va_copy(ParamListCopy, *pParamList);
r = _VPrintHost(s, SEGGER_SYSVIEW_ERROR, pParamList);
if (r == -1) {
_VPrintTarget(s, SEGGER_SYSVIEW_ERROR, &ParamListCopy);
}
va_end(ParamListCopy);
#else
_VPrintHost(s, SEGGER_SYSVIEW_ERROR, pParamList);
#endif
}
/*********************************************************************
*
* SEGGER_SYSVIEW_PrintfTargetEx()
@@ -3397,23 +3110,6 @@ void SEGGER_SYSVIEW_PrintfTargetEx(const char* s, U32 Options, ...) {
va_end(ParamList);
}
/*********************************************************************
*
* SEGGER_SYSVIEW_VPrintfTargetEx()
*
* Function description
* Print a string which is formatted on the target before sent to
* the host with Additional information.
*
* Parameters
* s - String to be formatted.
* Options - Options for the string. i.e. Log level.
* pParamList - Pointer to the list of arguments for the format string
*/
void SEGGER_SYSVIEW_VPrintfTargetEx(const char* s, U32 Options, va_list *pParamList) {
_VPrintTarget(s, Options, pParamList);
}
/*********************************************************************
*
* SEGGER_SYSVIEW_PrintfTarget()
@@ -3433,22 +3129,6 @@ void SEGGER_SYSVIEW_PrintfTarget(const char* s, ...) {
va_end(ParamList);
}
/*********************************************************************
*
* SEGGER_SYSVIEW_VPrintfTarget()
*
* Function description
* Print a string which is formatted on the target before sent to
* the host.
*
* Parameters
* s - String to be formatted.
* pParamList - Pointer to the list of arguments for the format string
*/
void SEGGER_SYSVIEW_VPrintfTarget(const char* s, va_list* pParamList) {
_VPrintTarget(s, SEGGER_SYSVIEW_LOG, pParamList);
}
/*********************************************************************
*
* SEGGER_SYSVIEW_WarnfTarget()
@@ -3468,22 +3148,6 @@ void SEGGER_SYSVIEW_WarnfTarget(const char* s, ...) {
va_end(ParamList);
}
/*********************************************************************
*
* SEGGER_SYSVIEW_VWarnfTarget()
*
* Function description
* Print a warning string which is formatted on the target before
* sent to the host.
*
* Parameters
* s - String to be formatted.
* pParamList - Pointer to the list of arguments for the format string
*/
void SEGGER_SYSVIEW_VWarnfTarget(const char* s, va_list* pParamList) {
_VPrintTarget(s, SEGGER_SYSVIEW_WARNING, pParamList);
}
/*********************************************************************
*
* SEGGER_SYSVIEW_ErrorfTarget()
@@ -3502,22 +3166,6 @@ void SEGGER_SYSVIEW_ErrorfTarget(const char* s, ...) {
_VPrintTarget(s, SEGGER_SYSVIEW_ERROR, &ParamList);
va_end(ParamList);
}
/*********************************************************************
*
* SEGGER_SYSVIEW_VErrorfTarget()
*
* Function description
* Print an error string which is formatted on the target before
* sent to the host.
*
* Parameters
* s - String to be formatted.
* pParamList - Pointer to the list of arguments for the format string
*/
void SEGGER_SYSVIEW_VErrorfTarget(const char* s, va_list* pParamList) {
_VPrintTarget(s, SEGGER_SYSVIEW_ERROR, pParamList);
}
#endif // SEGGER_SYSVIEW_EXCLUDE_PRINTF
/*********************************************************************

View File

@@ -3,14 +3,14 @@
*
* SPDX-License-Identifier: BSD-1-Clause
*
* SPDX-FileContributor: 2023-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileContributor: 2023 Espressif Systems (Shanghai) CO LTD
*/
/*********************************************************************
* SEGGER Microcontroller GmbH *
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2024 SEGGER Microcontroller GmbH *
* (c) 1995 - 2021 SEGGER Microcontroller GmbH *
* *
* www.segger.com Support: support@segger.com *
* *
@@ -49,13 +49,13 @@
* *
**********************************************************************
* *
* SystemView version: 3.56 *
* SystemView version: 3.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW.h
Purpose : System visualization API.
Revision: $Rev: 28768 $
Revision: $Rev: 28237 $
*/
#ifndef SEGGER_SYSVIEW_H
@@ -123,7 +123,7 @@ extern "C" {
#define SYSVIEW_EVTID_TIMER_EXIT 20
#define SYSVIEW_EVTID_STACK_INFO 21
#define SYSVIEW_EVTID_MODULEDESC 22
#define SYSVIEW_EVTID_DATA_SAMPLE 23
#define SYSVIEW_EVTID_INIT 24
#define SYSVIEW_EVTID_NAME_RESOURCE 25
#define SYSVIEW_EVTID_PRINT_FORMATTED 26
@@ -135,13 +135,12 @@ extern "C" {
//
// SystemView extended events. Sent with ID 31.
//
#define SYSVIEW_EVTID_EX_MARK 0
#define SYSVIEW_EVTID_EX_NAME_MARKER 1
#define SYSVIEW_EVTID_EX_HEAP_DEFINE 2
#define SYSVIEW_EVTID_EX_HEAP_ALLOC 3
#define SYSVIEW_EVTID_EX_HEAP_ALLOC_EX 4
#define SYSVIEW_EVTID_EX_HEAP_FREE 5
#define SYSVIEW_EVTID_EX_REGISTER_DATA 6
#define SYSVIEW_EVTID_EX_MARK 0
#define SYSVIEW_EVTID_EX_NAME_MARKER 1
#define SYSVIEW_EVTID_EX_HEAP_DEFINE 2
#define SYSVIEW_EVTID_EX_HEAP_ALLOC 3
#define SYSVIEW_EVTID_EX_HEAP_ALLOC_EX 4
#define SYSVIEW_EVTID_EX_HEAP_FREE 5
//
// Event masks to disable/enable events
//
@@ -168,7 +167,7 @@ extern "C" {
#define SYSVIEW_EVTMASK_TIMER_EXIT (1 << SYSVIEW_EVTID_TIMER_EXIT)
#define SYSVIEW_EVTMASK_STACK_INFO (1 << SYSVIEW_EVTID_STACK_INFO)
#define SYSVIEW_EVTMASK_MODULEDESC (1 << SYSVIEW_EVTID_MODULEDESC)
#define SYSVIEW_EVTMASK_DATA_SAMPLE (1 << SYSVIEW_EVTID_DATA_SAMPLE)
#define SYSVIEW_EVTMASK_INIT (1 << SYSVIEW_EVTID_INIT)
#define SYSVIEW_EVTMASK_NAME_RESOURCE (1 << SYSVIEW_EVTID_NAME_RESOURCE)
#define SYSVIEW_EVTMASK_PRINT_FORMATTED (1 << SYSVIEW_EVTID_PRINT_FORMATTED)
@@ -203,42 +202,8 @@ typedef struct {
U32 Prio;
U32 StackBase;
U32 StackSize;
U32 StackUsage;
} SEGGER_SYSVIEW_TASKINFO;
typedef struct {
U32 TaskID;
U32 StackBase;
U32 StackSize;
U32 StackUsage;
} SEGGER_SYSVIEW_STACKINFO;
typedef struct {
U32 ID;
union {
U32* pU32_Value;
I32* pI32_Value;
float* pFloat_Value;
};
} SEGGER_SYSVIEW_DATA_SAMPLE;
typedef enum {
SEGGER_SYSVIEW_TYPE_U32 = 0,
SEGGER_SYSVIEW_TYPE_I32 = 1,
SEGGER_SYSVIEW_TYPE_FLOAT = 2
} SEGGER_SYSVIEW_DATA_TYPE;
typedef struct {
U32 ID;
SEGGER_SYSVIEW_DATA_TYPE DataType;
I32 Offset;
I32 RangeMin;
I32 RangeMax;
float ScalingFactor;
const char* sName;
const char* sUnit;
} SEGGER_SYSVIEW_DATA_REGISTER;
typedef struct SEGGER_SYSVIEW_MODULE_STRUCT SEGGER_SYSVIEW_MODULE;
struct SEGGER_SYSVIEW_MODULE_STRUCT {
@@ -282,8 +247,8 @@ EXTERN unsigned int SEGGER_SYSVIEW_InterruptId;
*/
typedef struct {
U64 (*pfGetTime) (void);
void (*pfSendTaskList) (void);
U64 (*pfGetTime) (void);
void (*pfSendTaskList) (void);
} SEGGER_SYSVIEW_OS_API;
/*********************************************************************
@@ -297,13 +262,9 @@ void SEGGER_SYSVIEW_Stop (void);
void SEGGER_SYSVIEW_GetSysDesc (void);
void SEGGER_SYSVIEW_SendTaskList (void);
void SEGGER_SYSVIEW_SendTaskInfo (const SEGGER_SYSVIEW_TASKINFO* pInfo);
void SEGGER_SYSVIEW_SendStackInfo (const SEGGER_SYSVIEW_STACKINFO* pInfo);
void SEGGER_SYSVIEW_SendSysDesc (const char* sSysDesc);
int SEGGER_SYSVIEW_IsStarted (void);
int SEGGER_SYSVIEW_GetChannelID (void);
void SEGGER_SYSVIEW_SampleData (const SEGGER_SYSVIEW_DATA_SAMPLE *pInfo);
// Checks whether tracing has been started
U8 SEGGER_SYSVIEW_Started(void);
@@ -350,7 +311,6 @@ void SEGGER_SYSVIEW_HeapAllocEx (void* pHeap, void* pUserData,
void SEGGER_SYSVIEW_HeapFree (void* pHeap, void* pUserData);
void SEGGER_SYSVIEW_NameResource (U32 ResourceId, const char* sName);
void SEGGER_SYSVIEW_RegisterData ( SEGGER_SYSVIEW_DATA_REGISTER* pInfo);
int SEGGER_SYSVIEW_SendPacket (U8* pPacket, U8* pPayloadEnd, unsigned int EventId);
@@ -381,21 +341,13 @@ void SEGGER_SYSVIEW_SendNumModules (void);
*/
#ifndef SEGGER_SYSVIEW_EXCLUDE_PRINTF // Define in project to avoid warnings about variable parameter list
void SEGGER_SYSVIEW_PrintfHostEx (const char* s, U32 Options, ...);
void SEGGER_SYSVIEW_VPrintfHostEx (const char* s, U32 Options, va_list* pParamList);
void SEGGER_SYSVIEW_PrintfTargetEx (const char* s, U32 Options, ...);
void SEGGER_SYSVIEW_VPrintfTargetEx (const char* s, U32 Options, va_list* pParamList);
void SEGGER_SYSVIEW_PrintfHost (const char* s, ...);
void SEGGER_SYSVIEW_VPrintfHost (const char* s, va_list* pParamList);
void SEGGER_SYSVIEW_PrintfTarget (const char* s, ...);
void SEGGER_SYSVIEW_VPrintfTarget (const char* s, va_list* pParamList);
void SEGGER_SYSVIEW_WarnfHost (const char* s, ...);
void SEGGER_SYSVIEW_VWarnfHost (const char* s, va_list* pParamList);
void SEGGER_SYSVIEW_WarnfTarget (const char* s, ...);
void SEGGER_SYSVIEW_VWarnfTarget (const char* s, va_list* pParamList);
void SEGGER_SYSVIEW_ErrorfHost (const char* s, ...);
void SEGGER_SYSVIEW_VErrorfHost (const char* s, va_list* pParamList);
void SEGGER_SYSVIEW_ErrorfTarget (const char* s, ...);
void SEGGER_SYSVIEW_VErrorfTarget (const char* s, va_list* pParamList);
#endif
void SEGGER_SYSVIEW_Print (const char* s);

View File

@@ -3,14 +3,14 @@
*
* SPDX-License-Identifier: BSD-1-Clause
*
* SPDX-FileContributor: 2023-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileContributor: 2023 Espressif Systems (Shanghai) CO LTD
*/
/*********************************************************************
* SEGGER Microcontroller GmbH *
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2024 SEGGER Microcontroller GmbH *
* (c) 1995 - 2021 SEGGER Microcontroller GmbH *
* *
* www.segger.com Support: support@segger.com *
* *
@@ -49,7 +49,7 @@
* *
**********************************************************************
* *
* SystemView version: 3.56 *
* SystemView version: 3.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
@@ -72,8 +72,6 @@ Revision: $Rev: 26230 $
#include "SEGGER_SYSVIEW_Conf.h"
#include "SEGGER_RTT_Conf.h"
#include "esp_assert.h"
#ifdef __cplusplus
extern "C" {
#endif
@@ -372,14 +370,12 @@ extern "C" {
#define SEGGER_SYSVIEW_MAX_STRING_LEN 128
#endif
ESP_STATIC_ASSERT(SEGGER_SYSVIEW_MAX_STRING_LEN < 255, "SEGGER Sysview string length must be less than 255.");
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_SUPPORT_LONG_ID
*
* Description
* It set, support encoding Evend Ids longer than 14 bit.
* It set, support enconding Evend Ids longer than 14 bit.
* Default
* 1
*/
@@ -392,7 +388,7 @@ ESP_STATIC_ASSERT(SEGGER_SYSVIEW_MAX_STRING_LEN < 255, "SEGGER Sysview string le
* Define: SEGGER_SYSVIEW_SUPPORT_LONG_DATA
*
* Description
* It set, support encoding event data longer than 14 bit.
* It set, support enconding event data longer than 14 bit.
* Default
* 0
*/
@@ -521,7 +517,7 @@ ESP_STATIC_ASSERT(SEGGER_SYSVIEW_MAX_STRING_LEN < 255, "SEGGER Sysview string le
* Define: SEGGER_SYSVIEW_SYNC_PERIOD_SHIFT
*
* Description
* Configure how frequently synchronization is sent in post-mortem
* Configure how frequently syncronization is sent in post-mortem
* mode.
* Default
* 8: (1 << 8) = Every 256 Events.

View File

@@ -8,7 +8,7 @@
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2024 SEGGER Microcontroller GmbH *
* (c) 1995 - 2021 SEGGER Microcontroller GmbH *
* *
* www.segger.com Support: support@segger.com *
* *
@@ -47,7 +47,7 @@
* *
**********************************************************************
* *
* SystemView version: 3.56 *
* SystemView version: 3.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------

View File

@@ -1,6 +0,0 @@
name: 'SystemView'
version: '3.56'
cpe: cpe:2.3:a:segger:systemview:{}:*:*:*:*:*:*:*
supplier: 'Organization: Espressif Systems (Shanghai) CO LTD'
originator: 'Organization: SEGGER Microcontroller GmbH'
description: Real-time recording and visualization tool for embedded systems.

View File

@@ -3,7 +3,7 @@
*
* SPDX-License-Identifier: BSD-1-Clause
*
* SPDX-FileContributor: 2017-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileContributor: 2017-2022 Espressif Systems (Shanghai) CO LTD
*/
/*********************************************************************
* SEGGER Microcontroller GmbH *
@@ -58,7 +58,6 @@ File : SEGGER_SYSVIEW_Config_FreeRTOS.c
Purpose : Sample setup configuration of SystemView with FreeRTOS.
Revision: $Rev: 7745 $
*/
#include <string.h>
#include "sdkconfig.h"
#include "freertos/FreeRTOS.h"
#include "SEGGER_SYSVIEW.h"
@@ -157,16 +156,15 @@ static esp_apptrace_lock_t s_sys_view_lock = {.mux = portMUX_INITIALIZER_UNLOCKE
* Sends SystemView description strings.
*/
static void _cbSendSystemDesc(void) {
char irq_str[32] = "I#";
char irq_str[32];
SEGGER_SYSVIEW_SendSysDesc("N="SYSVIEW_APP_NAME",D="SYSVIEW_DEVICE_NAME",C="SYSVIEW_CORE_NAME",O=FreeRTOS");
strcat(itoa(SYSTICK_INTR_ID, irq_str + 2, 10), "=SysTick");
snprintf(irq_str, sizeof(irq_str), "I#%d=SysTick", SYSTICK_INTR_ID);
SEGGER_SYSVIEW_SendSysDesc(irq_str);
size_t isr_count = sizeof(esp_isr_names)/sizeof(esp_isr_names[0]);
for (size_t i = 0; i < isr_count; ++i) {
if (esp_isr_names[i] == NULL || (ETS_INTERNAL_INTR_SOURCE_OFF + i) == SYSTICK_INTR_ID)
continue;
strcat(itoa(ETS_INTERNAL_INTR_SOURCE_OFF + i, irq_str + 2, 10), "=");
strncat(irq_str, esp_isr_names[i], sizeof(irq_str) - strlen(irq_str) - 1);
snprintf(irq_str, sizeof(irq_str), "I#%d=%s", ETS_INTERNAL_INTR_SOURCE_OFF + i, esp_isr_names[i]);
SEGGER_SYSVIEW_SendSysDesc(irq_str);
}
}

View File

@@ -108,7 +108,7 @@ static void _cbSendTaskList(void) {
* Called from SystemView when asked by the host, returns the
* current system time in micro seconds.
*/
__attribute__((unused)) static U64 _cbGetTime(void) {
static U64 _cbGetTime(void) {
U64 Time;
Time = xTaskGetTickCountFromISR();
@@ -260,10 +260,7 @@ void SYSVIEW_SendTaskInfo(U32 TaskID, const char* sName, unsigned Prio, U32 Stac
*/
// Callbacks provided to SYSTEMVIEW by FreeRTOS
const SEGGER_SYSVIEW_OS_API SYSVIEW_X_OS_TraceAPI = {
/* Callback _cbGetTime locks xKernelLock inside xTaskGetTickCountFromISR, this can cause deadlock on multi-core.
To prevent deadlock, always lock xKernelLock before s_sys_view_lock. Omitting the callback here results in sending
SYSVIEW_EVTID_SYSTIME_CYCLES events instead of SYSVIEW_EVTID_SYSTIME_US */
NULL,
_cbGetTime,
_cbSendTaskList,
};

View File

@@ -35,7 +35,7 @@ static uint8_t s_down_buf[SYSVIEW_DOWN_BUF_SIZE];
#if CONFIG_APPTRACE_SV_DEST_UART
#define ESP_APPTRACE_DEST_SYSVIEW ESP_APPTRACE_DEST_UART
#if CONFIG_APPTRACE_SV_DEST_CPU_0 || CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE
#if CONFIG_APPTRACE_SV_DEST_CPU_0 || CONFIG_FREERTOS_UNICORE
#define APPTRACE_SV_DEST_CPU 0
#else
#define APPTRACE_SV_DEST_CPU 1
@@ -296,7 +296,7 @@ int SEGGER_RTT_ConfigDownBuffer(unsigned BufferIndex, const char* sName, void* p
* linked whenever SystemView is used.
*/
ESP_SYSTEM_INIT_FN(sysview_init, SECONDARY, BIT(0), 120)
ESP_SYSTEM_INIT_FN(sysview_init, BIT(0), 120)
{
SEGGER_SYSVIEW_Conf();
return ESP_OK;

View File

@@ -21,7 +21,7 @@ const static char *TAG = "sysview_heap_trace";
#endif
static SEGGER_SYSVIEW_MODULE s_esp_sysview_heap_module = {
.sModule = "M=ESP32 SystemView Heap Tracing Module",
.sModule = "ESP32 SystemView Heap Tracing Module",
.NumEvents = 2,
};

Some files were not shown because too many files have changed in this diff Show More