Compare commits

...

2113 Commits

Author SHA1 Message Date
Roland Dobai
38eeba213a change(version): Update version to 4.4.7 2024-02-27 09:07:40 +01:00
David Čermák
1db39dfea9 Merge branch 'bugfix/w5500_copy_len_v4.4' into 'release/v4.4'
fix(esp_eth): W5500 receive function to return copy_len (v4.4)

See merge request espressif/esp-idf!29022
2024-02-23 15:06:57 +08:00
Mahavir Jain
f327ddf6ad Merge branch 'bugfix/ota_anti_rollback_checks_2_v4.4' into 'release/v4.4'
feat(bootloader_support): Read secure_version under sha256 protection (v4.4)

See merge request espressif/esp-idf!29062
2024-02-21 11:45:51 +08:00
Mahavir Jain
40fe00a65c 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 11:20:03 +02:00
Mahavir Jain
1cf1f4ef9a Merge branch 'fix/build_failure_when_hardware_gcm_is_disabled_v4.4' into 'release/v4.4'
fix(mbedtls/gcm): Fix build failure when config `MBEDTLS_HARDWARE_GCM` is disabled (v4.4)

See merge request espressif/esp-idf!29070
2024-02-20 12:10:11 +08:00
harshal.patil
7f20e696b6 fix(mbedtls/gcm): Avoid using GCM hardware when config MBEDTLS_HARDWARE_GCM is disabled 2024-02-16 11:55:41 +05:30
harshal.patil
3bffba71c0 fix(mbedtls/gcm): Fix build failure when config MBEDTLS_HARDWARE_GCM is disabled 2024-02-16 11:55:41 +05:30
Mahavir Jain
6d2153d703 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:23:19 +02:00
Mahavir Jain
6897e4e0fa Merge branch 'feature/update_mbedtls_to_v_2.28.7' into 'release/v4.4'
feat(mbedtls): Update mbedtls to 2.28.7

See merge request espressif/esp-idf!28942
2024-02-13 23:54:03 +08:00
Ondrej Kosta
e2e03ced38 fix(esp_eth): W5500 receive function to return copy_len 2024-02-12 10:36:29 +01:00
nilesh.kale
6fa8029146 feat(mbedtls): Update mbedtls to 2.28.7
This MR updates MbedlTLS version from 2.28.5 to 2.28.7
2024-02-09 11:38:23 +05:30
Jiang Jiang Jian
b2146b8aa3 Merge branch 'bugfix/fix_dangling_pointer_in_remove_bond_list_section_v4.4' into 'release/v4.4'
fix(bt/bluedroid): fix dangling pointer issue when logging removed section (backport v4.4)

See merge request espressif/esp-idf!28964
2024-02-07 22:02:09 +08:00
Jiang Jiang Jian
27bc69a6df Merge branch 'bugfix/fix_coex_wifi_restart_issue_v4.4' into 'release/v4.4'
Bugfix/fix coex wifi restart issue v4.4

See merge request espressif/esp-idf!28935
2024-02-07 19:32:22 +08:00
gongyantao
de32c62e90 fix(bt/bluedroid): fix dangling pointer issue when logging remove section 2024-02-07 15:10:30 +08:00
Rahul Tank
02312e6a31 Merge branch 'bugfix/fix_out_of_order_messages_causing_dos_v4.4' into 'release/v4.4'
fix(nimble): Out of order messages during SMP causing DOS vulnerability (v4.4)

See merge request espressif/esp-idf!28940
2024-02-07 11:59:44 +08:00
Jiang Jiang Jian
49961221ed Merge branch 'bugfix/ble_mesh_deinit_reinit_v4.4' into 'release/v4.4'
feat: ble mesh: improve ble mesh deinit when nimble enable(backport v4.4)

See merge request espressif/esp-idf!28923
2024-02-07 11:06:26 +08:00
Jiang Jiang Jian
21b041fe75 Merge branch 'bugfix/ble_mesh_ble_advtype_v4.4' into 'release/v4.4'
ble_mesh: update ble mesh ble adv type(backport v4.4)

See merge request espressif/esp-idf!28914
2024-02-07 10:55:27 +08:00
Sumeet Singh
abd29905ae fix(nimble): Out of order messages during SMP causing DOS vulerability (v4.4) 2024-02-06 16:46:27 +05:30
liuning
37bf723057 fix(wifi): fix wifi stop cost too much time 2024-02-06 16:10:14 +08:00
liuning
a43e575bb0 fix(clk): clear all lpclk source at clk init 2024-02-06 16:07:40 +08:00
InfiniteYuan
674f322b87 feat: ble mesh: improve ble mesh deinit when nimble enable 2024-02-06 14:45:31 +08:00
InfiniteYuan
16a6523220 ble_mesh: update ble mesh ble adv type 2024-02-06 14:17:02 +08:00
Jiang Jiang Jian
a8e38106d7 Merge branch 'bugfix/fix_esp_wifi_scan_start_memory_leakage_issue_v4.4' into 'release/v4.4'
fix(wifi): fix esp_wifi_scan_start memory leakage issue(Backport v4.4)

See merge request espressif/esp-idf!28904
2024-02-06 11:56:23 +08:00
muhaidong
0bfa176435 fix(wifi): fix esp_wifi_scan_start memory leakage issue
Closes https://github.com/espressif/esp-idf/issues/10693
2024-02-05 19:33:47 +08:00
Jiang Jiang Jian
2d60e58888 Merge branch 'docs/usb_host_stack_config_v4.4' into 'release/v4.4'
USB host: host stack configiuration docs backport to v4.4

See merge request espressif/esp-idf!28775
2024-02-05 19:30:55 +08:00
Jiang Jiang Jian
247cb8b72f Merge branch 'bugfix/fix_key_revocation_v4.4' into 'release/v4.4'
fix(app_update): Fix reading secure boot digest from register

See merge request espressif/esp-idf!28830
2024-02-05 19:29:43 +08:00
Island
839719a287 Merge branch 'bugfix/fix_dtm_tx_count_v4.4' into 'release/v4.4'
Update bt lib for ESP32-C3 and ESP32-S3(30b57c45)(backport v4.4)

See merge request espressif/esp-idf!28874
2024-02-05 14:45:12 +08:00
Jiang Jiang Jian
8ef5dcee5d Merge branch 'feature/add_api_to_get_controller_status_on_esp32_v4.4' into 'release/v4.4'
feat(ble/controller): Add API to get BLE controller status on ESP32 (backport v4.4)

See merge request espressif/esp-idf!28877
2024-02-05 11:07:32 +08:00
Jiang Jiang Jian
5adad46929 Merge branch 'feat/support_get_bluedroid_status_v4.4' into 'release/v4.4'
Support get status of bluedroid host (backport v4.4)

See merge request espressif/esp-idf!28884
2024-02-05 11:06:12 +08:00
Jiang Jiang Jian
2b490aeb2d Merge branch 'bugfix/fix_xQueueSemaphoreTask_assert_when_deinit_host_v4.4' into 'release/v4.4'
Fixed xQueueSemaphoreTask assert when deinit host during scan (backport v4.4)

See merge request espressif/esp-idf!28886
2024-02-05 11:03:33 +08:00
zhiweijian
d9a9c0cc9d Fixed xQueueSemaphoreTask assert when deinit host during scan 2024-02-04 19:15:52 +08:00
Jiang Jiang Jian
c2c7f53b94 Merge branch 'ci/new-known_failure_cases_workflow(v4.4)' into 'release/v4.4'
ci: change known_failure_cases workflow(v4.4)

See merge request espressif/esp-idf!27968
2024-02-04 17:42:47 +08:00
chenjianhua
30dbf89909 feat(bt/bluedroid): Support get status of bluedroid host 2024-02-04 17:02:27 +08:00
chenjianhua
730537b50c fix(bt/example): Fixed UART HCI when flow control is off on ESP32C3 2024-02-04 16:55:58 +08:00
chenjianhua
4ddb8587d9 feat(bt/bluedroid): Make the max number of bond device to be configurable 2024-02-04 16:55:51 +08:00
zhiweijian
52f7624853 feat(ble/controller): Add API to get BLE controller status on ESP32 2024-02-04 15:13:55 +08:00
zhanghaipeng
6b57f04cc8 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:26:33 +08:00
chenjianhua
875317f9eb 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:26:15 +08:00
Rahul Tank
bae43759c8 Merge branch 'bugfix/nimble_host_clean_up_api_v4.4' into 'release/v4.4'
fix(nimble): Added API to get current stack operation status (v4.4)

See merge request espressif/esp-idf!28859
2024-02-03 19:08:42 +08:00
Rahul Tank
b6c46fa270 fix(nimble): Added API to get current stack operation status (v4.4) 2024-02-03 09:04:15 +05:30
Rahul Tank
0456f9746a Merge branch 'bugfix/add_adv_itvl_range_check_v4.4' into 'release/v4.4'
fix(nimble): Add adv interval min/max range check (v4.4)

See merge request espressif/esp-idf!28854
2024-02-03 01:56:01 +08:00
Harshit Malpani
650c64a840 fix(app_update): Fix reading secure boot digest from register
While reading the key from the register, the register are read by
8 bit access which results in reading wrong data. Reading from the
peripheral should be 32 bit aligned. The commit updates the code
to read the secure boot key from the register using 32 bit access.

Closes https://github.com/espressif/esp-idf/issues/12851
2024-02-02 16:23:49 +05:30
morris
acfc9130c0 Merge branch 'bugfix/fix_adc_oneshot_do_not_spilt_clk_v4.4' into 'release/v4.4'
fix(adc): fix ADC oneshot mod don't divide clk (v4.4)

See merge request espressif/esp-idf!26705
2024-02-02 17:58:57 +08:00
Michael (XIAO Xufeng)
5684098285 Merge branch 'bugfix/hpm_dc_default_disabled_v4.4' into 'release/v4.4'
spi_flash: fixed issue that enabling HPM-DC by default may cause app unable to restart (v4.4)

See merge request espressif/esp-idf!28159
2024-02-02 17:40:17 +08:00
Rahul Tank
8efc66495b fix(nimble): Add adv interval min/max range check (v4.4) 2024-02-02 11:40:33 +05:30
morris
2a6797d016 kconfig: support plain comment in the menu 2024-02-02 10:33:59 +08:00
Xiao Xufeng
87182c9c76 doc(spi_flash): hide unsupported optional features 2024-02-02 10:33:59 +08:00
Xiao Xufeng
7bfc2b0418 spi_flash: fixed issue that enabling HPM-DC by default may cause app unable to restart 2024-02-02 10:33:59 +08:00
Rahul Tank
2ded73b2f4 Merge branch 'bugfix/fix_sm_inject_io_return_val_v4.4' into 'release/v4.4'
fix(nimble): Added change to ensure that API execution returns success (v4.4)

See merge request espressif/esp-idf!28652
2024-02-01 14:39:53 +08:00
morris
23173d3d72 Merge branch 'bugfix/fix_wrong_dcache_0_size_issue_on_s2_v4.4' into 'release/v4.4'
fix(cache): fix wrong dcache size 0 configuration issue on s2 (v4.4)

See merge request espressif/esp-idf!28292
2024-02-01 13:02:54 +08:00
Roland Dobai
205173d241 Merge branch 'feature/python-reorder-imports-instead-isort_v4.4' into 'release/v4.4'
feat: Use python-reorder-imports instead of isort (v4.4)

See merge request espressif/esp-idf!28735
2024-01-31 19:38:20 +08:00
Darshan Dobariya
93ae438d59 fix(nimble): Added change to ensure that API execution returns success (v4.4) 2024-01-31 14:45:55 +05:30
Jan Beran
577a076bff feat: Use python-reorder-imports instead of isort 2024-01-31 09:13:42 +01:00
Rahul Tank
94853f775b Merge branch 'bugfix/add_minor_fixes_debug_v4.4' into 'release/v4.4'
fix(nimble): Add minor debug fixes (v4.4)

See merge request espressif/esp-idf!28535
2024-01-31 16:03:42 +08:00
Jiang Jiang Jian
61e7464645 Merge branch 'bugfix/no_wakeup_sleep_v4.4' into 'release/v4.4'
fix(ble): Fixed Bluetooth not waking up due to clock drift(v4.4)

See merge request espressif/esp-idf!28725
2024-01-31 14:02:32 +08:00
igor.udot
80b7b6caf1 ci: change known_failure_cases workflow 2024-01-31 12:17:48 +08:00
Jiang Jiang Jian
3afb4b5446 Merge branch 'feature/add_fall_back_dns_config_in_menuconfig_v4.4' into 'release/v4.4'
feat(lwip): add fall back dns config in menuconfig (v4.4)

See merge request espressif/esp-idf!28689
2024-01-31 10:39:50 +08:00
David Čermák
7e8f62cfb4 Merge branch 'bugfix/eth_ci_runners_v4.4' into 'release/v4.4'
Moved CI ETH runners to Brno v4.4

See merge request espressif/esp-idf!28604
2024-01-30 17:56:05 +08:00
xiongweichao
8e41d56dbe fix(ble): Fixed macro definition error for 136K clock drift 2024-01-30 16:06:34 +08:00
xiongweichao
2a7e9fc485 fix(ble): Fixed Bluetooth not waking up due to clock drift 2024-01-30 15:30:09 +08:00
Jiang Jiang Jian
fe0da0eef3 Merge branch 'bugfix/fix_ble_tx_2m_problem_causing_by_phy_wifi_enable_set_v4.4' into 'release/v4.4'
fix(esp_phy): Fixed BLE TX 2M problem causing by phy_wifi_enable_set() (backport v4.4)

See merge request espressif/esp-idf!28769
2024-01-30 14:42:36 +08:00
morris
8f53bdb834 Merge branch 'bugfix/fix_incorrect_regbase_name_of_i2s_v4.4' into 'release/v4.4'
fix(i2s): fixed incorrect reg base name on C3 (v4.4)

See merge request espressif/esp-idf!28633
2024-01-30 10:32:00 +08:00
mofeifei
6391316f30 docs: update cn trans usb_host.rst 2024-01-29 10:51:26 +01:00
Roman Leonov
d2a4247f8d feat(docs): added USB Host Stack Configuration description 2024-01-29 10:44:53 +01:00
zhiweijian
28ac68224d 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 and WIFI could not receive packets after entering light sleep for a long time on ESP32-C3 and ESP32-S3
2024-01-29 16:39:36 +08:00
Ondrej Kosta
b244b6e86b ci(esp_eth): enabled Ethernet IP101 runner back
Moved LAN8720 test to different runner
2024-01-29 08:26:28 +01:00
Jiang Jiang Jian
27ec26d2d3 Merge branch 'bugfix/fix_pmk_invalid_wpa_or_wpa2_connect_fail_issue_v4.4' into 'release/v4.4'
fix(wifi): fix pmk invalid lead same ssid wpa and wpa2 connect fail issue(Backport v4.4)

See merge request espressif/esp-idf!28670
2024-01-29 10:49:46 +08:00
Jiang Jiang Jian
7c8aabda7d Merge branch 'feature/supplicant_bss_extmem_v4.4' into 'release/v4.4'
WiFi: Add support to move supplicant BSS to external memory (v4.4)

See merge request espressif/esp-idf!28746
2024-01-29 10:35:05 +08:00
Kapil Gupta
944862de25 fix(wifi): Add support to move supplicant BSS to external memory 2024-01-27 11:13:09 +05:30
laokaiyao
6340b958fe fix(i2s): fixed incorrect reg base name on C3
Closes https://github.com/espressif/esp-idf/issues/12643
2024-01-26 18:45:19 +08:00
Wang Meng Yang
3f0f8f3ed6 Merge branch 'bugfix/spp_disc_connect_btqabr2023_156_v4.4' into 'release/v4.4'
fix(bt/bluedroid): Fixed SPP connection failure(v4.4)

See merge request espressif/esp-idf!28559
2024-01-26 11:49:12 +08:00
xiongweichao
449ab48101 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-25 19:55:00 +08:00
Island
b9124d3ab3 Merge branch 'bugfix/fix_some_ble_issue_v4.4' into 'release/v4.4'
Bugfix/fix some ble issue v4.4(backport v4.4)

See merge request espressif/esp-idf!28614
2024-01-25 12:00:11 +08:00
zhangyanjiao
75b4fb5a66 feat(lwip): add fall back dns config in menuconfig
Closes https://github.com/espressif/esp-idf/issues/12530
2024-01-25 11:21:28 +08:00
Jiang Jiang Jian
a589ecdca8 Merge branch 'bugfix/fix_systick_lost_in_esp32_dfs_v4.4' into 'release/v4.4'
fix(esp_pm): safely check ccompare validity in DFS update_ccompare (v4.4)

See merge request espressif/esp-idf!28564
2024-01-24 19:11:11 +08:00
muhaidong
dd0e27ad74 fix(wifi): fix pmk invalid lead same ssid wpa and wpa2 connect fail issue 2024-01-24 19:07:40 +08:00
Rahul Tank
2746916f21 fix(nimble): Add minor debug fixes 2024-01-24 18:32:38 +08:00
zhanghaipeng
6627b4edd7 feat(bt/bluedroid): Support ext adv aux option 2024-01-24 18:29:38 +08:00
zhanghaipeng
b13dfdceed fix(bt/bluedroid): Fix BLE malloc internal wrapper fail 2024-01-24 18:29:38 +08:00
Zeke Gustafson
3811384d6e feat(ble/bluedroid): Add getter for BLE GAP callback 2024-01-24 18:29:38 +08:00
Zeke Gustafson
ff14780dfd feat(ble/bluedroid): Add getter for BLE GATTS callback 2024-01-24 18:29:38 +08:00
zhanghaipeng
b4148534f6 feat(ble/bluedroid): Add getter for BLE GATTC calllback 2024-01-24 18:29:38 +08:00
zhanghaipeng
2d244b521d docs(ble/bluedroid): Optimize documentation for BLE duplicate scan 2024-01-24 18:29:38 +08:00
zhanghaipeng
b11b9dabb3 fix(ble/bluedroid): Fix dangling pointer issue in deletion of bonded devices 2024-01-24 18:29:38 +08:00
zhanghaipeng
eef6f5f392 fix(ble/bluedroid): Fix BLE background connection log level 2024-01-24 18:29:38 +08:00
Jiang Jiang Jian
a1c2e7161b Merge branch 'bugfix/fix_scan_request_ifs_error_v4.4' into 'release/v4.4'
Fixed BLE scan request ifs time error in coexistence scenarios(backport v4.4)

See merge request espressif/esp-idf!28577
2024-01-24 17:55:15 +08:00
liuning
cb0287f01c fix(esp_coex): Fixed potential BLE scan request ifs timer error bug 2024-01-24 11:27:12 +08:00
zhiweijian
6c5268da38 Fixed BLE scan request ifs timer error in coexistence scenarios 2024-01-24 11:27:12 +08:00
wuzhenghui
8847d25638 fix(esp_pm): safely check ccompare validity in DFS update_ccompare 2024-01-24 11:26:32 +08:00
Jiang Jiang Jian
e61e19b64e Merge branch 'ci/disable_ip101_tests' into 'release/v4.4'
ci: comment ip101 test case (v4.4)

See merge request espressif/esp-idf!28636
2024-01-24 11:25:42 +08:00
Fu Hanxi
d225370c31 ci: comment ip101 test case
otherwise assign test will fail
2024-01-23 08:13:17 +01:00
Island
9186e0e22d Merge branch 'bugfix/ble_check_adv_data_v4.4' into 'release/v4.4'
fix(bt/bluedroid): Fix ble adv data check to avoid memory overflow(backport v4.4)

See merge request espressif/esp-idf!28408
2024-01-22 10:42:37 +08:00
Island
753bed36c4 Merge branch 'bugfix/fix_ble_memory_leak_v4.4' into 'release/v4.4'
fix(ble/bluedroid): Fix ble memory leak when gattc config off(backport v4.4)

See merge request espressif/esp-idf!28498
2024-01-22 10:42:22 +08:00
Marius Vikhammer
fd06a6e74c Merge branch 'bugfix/linenoise_calculates_negative_prompt_len_v4.4' into 'release/v4.4'
fix(console): Fixed linenoise prompt length calculation (v4.4)

See merge request espressif/esp-idf!28529
2024-01-19 09:58:56 +08:00
Wang Meng Yang
53dd2baa6b Merge branch 'bugfix/fix_mac_bb_pd_iwdt_timeout_v4.4' into 'release/v4.4'
fix(ble): fixed interrupt timeout in MAC_BB_PD callback (v4.4)

See merge request espressif/esp-idf!28467
2024-01-18 17:57:31 +08:00
Rahul Tank
f765235123 Merge branch 'bugfix/address_resolution_v4.4' into 'release/v4.4'
fix(nimble): Added support for address resolution during inquiry (v4.4)

See merge request espressif/esp-idf!28522
2024-01-18 13:29:32 +08:00
Jiang Jiang Jian
9a9533d5a4 Merge branch 'bugfix/fix_crash_issue_when_mesh_deinit_v4.4' into 'release/v4.4'
fix(wifi): fix the crash and malloc fail issue (v4.4)

See merge request espressif/esp-idf!28540
2024-01-18 11:58:40 +08:00
Jiang Jiang Jian
0bce68089c Merge branch 'ci/temp_disable_jobs_v4.4' into 'release/v4.4'
ci: remove ip101 jobs and twai_std jobs (v4.4)

See merge request espressif/esp-idf!28380
2024-01-18 11:11:52 +08:00
Jiang Jiang Jian
2acfd88a47 Merge branch 'bugfix/change_default_value_for_ip_ttl_4.4' into 'release/v4.4'
Fix(lwip):bugfix for change default value for ip ttl 4.4

See merge request espressif/esp-idf!28398
2024-01-18 11:11:02 +08:00
Michael (XIAO Xufeng)
90f913734b Merge branch 'bugfix/recalib_bbpll_before_tuning_v4.4' into 'release/v4.4'
fix(bbpll): fix bbpll may not lock or not stable bug for stop early (ESP32C2/S3/C6/H2) (v4.4)

See merge request espressif/esp-idf!28287
2024-01-18 11:00:21 +08:00
zhangyanjiao
bcc7ea3137 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 19:58:15 +08:00
Sudeep Mohanty
bc11b9183b 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:43:01 +01:00
Mahavir Jain
bb46e6529c Merge branch 'bugfix/update_jtag_disabling_api_v4.4' into 'release/v4.4'
fix(esp_hw_support): fix API esp_hmac_disable_jtag() to disable JTAG (v4.4)

See merge request espressif/esp-idf!28508
2024-01-17 16:09:20 +08:00
Darshan Dobariya
97934f52ea fix(nimble): Added support for address resolution during inquiry (v4.4) 2024-01-17 11:51:05 +05:30
nilesh.kale
3afa52bb88 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 15:42:13 +05:30
Xiao Xufeng
9c6ccec971 fix(rtc): fixed bbpll not calibrated from bootloader issue 2024-01-16 18:09:48 +08:00
chaijie@espressif.com
8f581352e0 fix(bbpll): fix bbpll calibration may stop early bug (S3) 2024-01-16 18:08:36 +08:00
zhanghaipeng
8b66455e5c fix(ble/bluedroid): Fix ble memory leak when gattc config off 2024-01-16 15:45:41 +08:00
Roland Dobai
2a6cbd0d3d Merge branch 'fix/kconcheck_checks_v4.4' into 'release/v4.4'
fix(kconfcheck): Fixed false-positive indent errors and extended limits (backport v4.4)

See merge request espressif/esp-idf!28475
2024-01-16 00:34:05 +08:00
Jakub Kocka
474d150477 fix(kconfcheck): Fixed false-positive indent errors and extended limits 2024-01-15 13:02:21 +01:00
linruihao
b9cf89ac23 fix(ble): fixed interrupt timeout in MAC_BB_PD callback 2024-01-15 16:17:19 +08:00
Rahul Tank
8a97a02001 Merge branch 'bugfix/handle_task_lock_v4.4' into 'release/v4.4'
fix(nimble): Remove unwanted task lock check when HS_DEBUG is enabled (v4.4)

See merge request espressif/esp-idf!28420
2024-01-15 15:04:30 +08:00
morris
f6a76d8e09 Merge branch 'bugfix/i2s_tx_mono_issue_v4.4' into 'release/v4.4'
fix(i2s): fixed i2s incorrect tx mono slot (v4.4)

See merge request espressif/esp-idf!28450
2024-01-15 14:44:41 +08:00
laokaiyao
f0dc5aecf6 fix(i2s): fixed i2s incorrect tx mono slot (v4.4) 2024-01-15 10:53:50 +08:00
Mahavir Jain
256f03471e Merge branch 'ci/fix_test_http_server_file_serving' into 'release/v4.4'
ci: optimize test protocol_http_server_file_serving

See merge request espressif/esp-idf!28373
2024-01-12 11:48:51 +08:00
Island
56c4d34fca Merge branch 'feat/ble_mesh_miscellaneous_update_v4.4' into 'release/v4.4'
feat(ble_mesh): Miscellaneous updates for mesh kconfig, relay related(v4.4)

See merge request espressif/esp-idf!28035
2024-01-12 10:34:51 +08:00
Rahul Tank
5b644edfd4 fix(nimble): Remove unwanted task lock check when HS_DEBUG is enabled 2024-01-11 17:32:17 +05:30
zhanghaipeng
6d55e5e7bf fix(bt/bluedroid): Fix ble adv data check to avoid memory overflow 2024-01-11 16:36:01 +08:00
Xue yun fei
d54c947628 Fix(lwip):bugfix for change default value for ip ttl 2024-01-11 14:35:36 +08:00
Chen Yudong
fafab20b3f ci: optimize test protocol_http_server_file_serving 2024-01-10 19:48:35 +08:00
Fu Hanxi
19c9202768 ci: remove ip101 jobs and twai_std jobs 2024-01-10 10:34:56 +01:00
Mahavir Jain
2a1133c1cc Merge branch 'feat/update_cjson_v1_7_17_v4.4' into 'release/v4.4'
feat(cJSON): update submodule to v1.7.17 (v4.4)

See merge request espressif/esp-idf!28351
2024-01-10 11:55:31 +08:00
Jiang Jiang Jian
af2ce6de13 Merge branch 'bugfix/reset_connectionless_pm_status_v4.4' into 'release/v4.4'
fix(coex): fix esp32 ble scan interrupted by Wi-Fi, reset Wi-Fi connectionless pm status

See merge request espressif/esp-idf!28082
2024-01-10 11:31:28 +08:00
luoxu
edf80c574e feat(ble_mesh): Miscellaneous updates for mesh kconfig, relay related 2024-01-10 10:18:40 +08:00
Island
7af69b9ddb Merge branch 'bugfix/increase_btu_task_stack_size_v4.4' into 'release/v4.4'
fix(bt/bludroid): Increase BTU task stack size(backport v4.4)

See merge request espressif/esp-idf!28320
2024-01-09 15:25:18 +08:00
Harshit Malpani
cd7cef5ceb feat(cjson): update submodule to v1.7.17
Changelog: https://github.com/DaveGamble/cJSON/releases/tag/v1.7.17
2024-01-09 12:16:07 +05:30
Rahul Tank
efe283f16f Merge branch 'bugfix/reattempt_conn_feat_extended_v4.4' into 'release/v4.4'
fix(nimble): Support for reattempt connection in ext connect (v4.4)

See merge request espressif/esp-idf!28309
2024-01-08 20:44:00 +08:00
linruihao
73152761f6 fix(bt/bludroid): Increase BTU task stack size 2024-01-08 11:37:28 +08:00
Rahul Tank
517a2c5132 fix(nimble): Support for reattempt connection in ext connect 2024-01-05 16:45:58 +05:30
Island
ca7cc8e903 Merge branch 'bugfix/fix_ble_robost_cashing_v4.4' into 'release/v4.4'
fix(bt/bluedroid): Fix BLE robost cashing config(backport v4.4)

See merge request espressif/esp-idf!28198
2024-01-05 12:45:05 +08:00
Armando
61ac7f8a91 fix(cache): fix wrong dcache size 0 configuration issue on s2
Closes https://github.com/espressif/esp-idf/issues/12711
2024-01-05 10:41:56 +08:00
Roland Dobai
bb8dd9d35b Merge branch 'ci/pre_commit_sbom_validation_v4.4' into 'release/v4.4'
ci: add sbom validation using pre-commit's post-commit stage (v4.4)

See merge request espressif/esp-idf!28231
2024-01-03 18:37:52 +08:00
morris
88aae9e8d6 Merge branch 'refactor/uart_read_bytes_from_ringbuf_v4.4' into 'release/v4.4'
change(uart): improved the internal logic of uart_read_bytes (v4.4)

See merge request espressif/esp-idf!28223
2024-01-03 14:13:53 +08:00
morris
c272210e74 Merge branch 'contrib/github_pr_12559_v4.4' into 'release/v4.4'
fix(spi): Correct REG_SPI_BASE(i) macro for all targets (GitHub PR) (v4.4)

See merge request espressif/esp-idf!27717
2024-01-03 11:37:16 +08:00
Frantisek Hrbata
471c3263b5 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:30:50 +01:00
Song Ruo Jing
520fb6ab09 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
2024-01-02 20:17:28 +08:00
zhanghaipeng
0406d64dd2 fix(bt/bluedroid): Update ble gattc gatts coex example 2024-01-02 12:10:55 +08:00
zhanghaipeng
a2e2bfdbd4 fix(bt/bluedroid): Optimize ble remove all bonded devices function 2024-01-02 12:10:18 +08:00
zhanghaipeng
1ddeab56a9 fix(bt/bluedroid): Update ble ibeacon example document 2024-01-02 12:10:18 +08:00
Jiang Jiang Jian
8262c19a51 Merge branch 'bugfix/boot_flash_build_v4.4' into 'release/v4.4'
bugfix(spi_flash): Fix build error when octal flash is enabled (backport v4.4)

See merge request espressif/esp-idf!28091
2024-01-02 10:14:34 +08:00
Jiang Jiang Jian
ece1bf242e Merge branch 'bugfix/fix_ble_app_unregister_no_event_v4.4' into 'release/v4.4'
fix(bt/bluedroid): Fix ble app unregister no event(backport v4.4)

See merge request espressif/esp-idf!28173
2023-12-31 14:22:22 +08:00
zhanghaipeng
4404659605 fix(bt/bluedroid): Fix BLE robost cashing config 2023-12-30 20:16:28 +08:00
zhanghaipeng
8ddc31a001 fix(bt/bluedroid): Fix ble app unregister no event 2023-12-28 19:16:35 +08:00
Michael (XIAO Xufeng)
c1c69210de Merge branch 'bugfix/idf_ci_build_is_not_set_v4.4' into 'release/v4.4'
ci: Fix environment variable IDF_CI_BUILD is not set (v4.4)

See merge request espressif/esp-idf!27681
2023-12-28 18:50:21 +08:00
Jiang Jiang Jian
54c529a21b Merge branch 'bugfix/crash_in_btc_hf_init_v4.4' into 'release/v4.4'
fix(bt/bluedroid): Avoided crash of LoadProhibited during HFP AG deinitialization (v4.4)

See merge request espressif/esp-idf!28119
2023-12-27 19:40:44 +08:00
Jiang Jiang Jian
6d853f0525 Merge branch 'bugfix/fix_establish_two_sco_fail_v4.4' into 'release/v4.4'
fix(bt/controller): Fixed establish two sco connections failed (Backport v4.4)

See merge request espressif/esp-idf!28102
2023-12-27 19:40:23 +08:00
Jin Cheng
4cdd3bcc4e fix(bt/bluedroid): Disabled Sniff Subrating temporarily as it did not work well 2023-12-26 11:53:07 +08:00
Jin Cheng
48594fc6e7 fix(bt/bluedroid): Changed the default air mode to invalid value 2023-12-26 11:53:07 +08:00
Jin Cheng
7142dbafe3 fix(bt/bluedroid): Removed redundant operation of SCO clean up 2023-12-26 11:53:06 +08:00
Jin Cheng
3aecd14840 fix(bt/bluedroid): Corrected the definitions of HF Client callback events 2023-12-26 11:53:06 +08:00
Jin Cheng
9490f87838 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:53:06 +08:00
Jin Cheng
72ab07a68d fix(bt/bluedroid): Added dynamic memory allocation for HFP control blocks 2023-12-26 11:53:06 +08:00
Cao Sen Miao
ebb65b27db bugfix(spi_flash): Fix build error when octal flash is enabled,
Closes https://github.com/espressif/esp-idf/issues/12850
2023-12-25 14:54:04 +08:00
linruihao
06f28ca17b fix(bt/controller): Fixed establish two sco connections failed 2023-12-25 10:50:30 +08:00
Michael (XIAO Xufeng)
f810eb7a39 ci: Fix environment variable IDF_CI_BUILD is not set 2023-12-23 18:47:36 +08:00
Jiang Jiang Jian
70d6d09d60 Merge branch 'bugfix/fix_ble_phy_tx_ifs_v4.4' into 'release/v4.4'
Bugfix/fix ble phy tx ifs v4.4(backport v4.4)

See merge request espressif/esp-idf!28064
2023-12-23 00:49:22 +08:00
Jiang Jiang Jian
40f42289a0 Merge branch 'fix/btc_config_lock_error_v4.4' into 'release/v4.4'
fix(bt/bluedroid): fixed btc_config_lock error (backport v4.4)

See merge request espressif/esp-idf!28072
2023-12-22 15:16:19 +08:00
wanlei
a0e8f75336 fix(spi): correct some signals and dummy bits docs 2023-12-22 15:08:45 +08:00
TD-er
41b8238cf3 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-22 15:08:45 +08:00
zhanghaipeng
54ba0f88e9 fix(phy): Fix ble tx ifs time for ESP32 2023-12-22 14:35:17 +08:00
liuning
0662ac672e fix(coex): fix esp32 ble scan interrupted by Wi-Fi, reset Wi-Fi connectionless pm status 2023-12-22 13:29:58 +08:00
gongyantao
265b54a015 fix(bt/bluedroid): fixed btc_config_lock error 2023-12-22 11:31:18 +08:00
Jiang Jiang Jian
73da4fe25d Merge branch 'bugfix/dpp_deinit_memleak_v44' into 'release/v4.4'
Ensure beacon timeout gets trigerred for AP config change(v4.4)

See merge request espressif/esp-idf!27848
2023-12-21 13:49:25 +08:00
Jiang Jiang Jian
69bb72a5c1 Merge branch 'bugfix/fix_ble_recorrect_enable_bug_v4.4' into 'release/v4.4'
fix(ble/controller): Fixed BLE recorrect enable bug and fixed BLE bb isr enable by default (backport v4.4)

See merge request espressif/esp-idf!28043
2023-12-21 13:48:46 +08:00
morris
3fb1a627ac Merge branch 'fix/twai_tag_not_defined_in_configure_gpio_v4.4' into 'release/v4.4'
fix(twai): fix build error TWAI_TAG used but not defined (v4.4)

See merge request espressif/esp-idf!27833
2023-12-21 11:47:47 +08:00
Jiang Jiang Jian
05ab87ca27 Merge branch 'fix/freertos_scheduler_suspension_test_v4.4' into 'release/v4.4'
fix(freertos): Fixed a failing scheduler suspension unit test (v4.4)

See merge request espressif/esp-idf!28042
2023-12-21 10:58:56 +08:00
morris
53a1bb853c Merge branch 'bugfix/bod_intr_v4.4' into 'release/v4.4'
brownout: Disable the hardware BOD when BOD interrupt is enabled(backport v4.4)

See merge request espressif/esp-idf!27437
2023-12-21 10:35:09 +08:00
morris
8430331e6b Merge branch 'bugfix/fix_adc_continuous_do_not_rst_apb_clk_v4.4' into 'release/v4.4'
fix(adc): fix adc continuous get less results beacuse do not reset apb clk (v4.4)

See merge request espressif/esp-idf!27612
2023-12-21 10:32:48 +08:00
zhiweijian
493a161875 fix(ble/controller): Fixed BLE recorrect enable bug and fixed BLE bb isr enable by default 2023-12-20 21:51:52 +08:00
Island
11f9081a0e Merge branch 'backport/fix_ble_prepare_write_v4.4' into 'release/v4.4'
Backport/fix ble prepare write v4.4

See merge request espressif/esp-idf!27907
2023-12-20 21:46:07 +08:00
Sudeep Mohanty
0dc2f2410d fix(freertos): Fixed a failing scheduler suspension unit test
This test fixes the flaky unit test which suspends the scheduler and prompts
a pending context switch.
2023-12-20 14:44:42 +01:00
Roland Dobai
cdc3baac87 Merge branch 'fix/sbom_validation_post_commit_v4.4' into 'release/v4.4'
fix: do sbom manifest validation in post-commit (v4.4)

See merge request espressif/esp-idf!28013
2023-12-20 00:11:30 +08:00
Frantisek Hrbata
1ba5757fed fix: do sbom manifest validation in post-commit
Following commit c3afbebf23 ("fix: bump esp-idf-sbom to v0.13.0 in pre-commit"),
the validation of submodule hash now relies solely on the information recorded
in the git-tree. Previously, the hash verification used submodule's
working tree hash if available. Since the new submodule hash is recorded
in git-tree only after the commit is created, we need to move the check
into post-commit, otherwise the hash validation checks the old value.

For example:

1. in .gitmodules

	[submodule "components/json/cJSON"]
	   sbom-hash = cb8693b058ba302f4829ec6d03f609ac6f848546

2. update the cJSON

	$ git -C components/json/cJSON checkout b45f48e600671feade0b6bd65d1c69de7899f2be

3. update cJSON hash in .gitmodules

	[submodule "components/json/cJSON"]
	   sbom-hash = b45f48e600671feade0b6bd65d1c69de7899f2be

4. commit the changes

	$ git commit -a -s

Step 4. will fail, because the validation is currently started in pre-commit stage,
where the hash for cJSON recorded in git-tree is still
cb8693b058ba302f4829ec6d03f609ac6f848546. The new hash b45f48e600671feade0b6bd65d1c69de7899f2be
will be stored in git-tree after the new commit is created.

Note that this means we cannot prevent the commit creation, but only
notify user about the hash inconsistency. If he/she still decides to
push it, it will fail in pre-commit checks in CI.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-12-19 12:34:36 +01:00
zhanghaipeng
36169e6beb fix(bt/bluedroid): Fix prepare write for BLE example 2023-12-19 17:00:37 +08:00
Island
ad44330e8e Merge branch 'bugfix/ble_stack_disable_v4.4' into 'release/v4.4'
Bugfix/ble stack disable v4.4(backport v4.4)

See merge request espressif/esp-idf!27648
2023-12-19 12:02:50 +08:00
zhanghaipeng
3263b4e75f fix(bt/bluedroid): Fix ble adv and scan status when deinit bluedroid 2023-12-18 18:55:26 +08:00
zhanghaipeng
7364d276f7 fix(bt/bluedroid): Fix ble gattc deregister 2023-12-18 18:55:26 +08:00
wanlei
7f9636f6ea fix(twai): fix build error TWAI_TAG used but not defined
bug introduced from efef8401
closes https://github.com/espressif/esp-idf/issues/12760
2023-12-18 16:18:22 +08:00
Jiang Jiang Jian
979a56386d Merge branch 'optimize/When_psram_is_enable_the_number_of_ooseq_is_not_limited_4.4' into 'release/v4.4'
optimize(lwip):when psram is enable the number of ooseq is not limited 4.4

See merge request espressif/esp-idf!27946
2023-12-18 13:46:12 +08:00
zhanghaipeng
4c4e95cae9 fix(bt/bluedroid): Fix BLE prepare write 2023-12-18 11:29:35 +08:00
Jiang Jiang Jian
ef543e8e56 Merge branch 'bugfix/miss_rm_s3_ld_v4.4' into 'release/v4.4'
fix(WiFi): update esp32s3 rom ld(v4.4)

See merge request espressif/esp-idf!27958
2023-12-18 11:15:42 +08:00
morris
a362b87809 Merge branch 'fix/spi_lcd_example_fix_border_pixel_display_v4.4' into 'release/v4.4'
fix(spi_master): fixed lcd example block border pixel issue (v4.4)

See merge request espressif/esp-idf!27922
2023-12-18 11:10:47 +08:00
Mahavir Jain
f19f6e0561 Merge branch 'feature/update_nghttp2_lib_v4.4' into 'release/v4.4'
feat(nghttp2): Update nghttp2 lib to v1.58.0

See merge request espressif/esp-idf!27707
2023-12-17 16:39:02 +08:00
alanmaxwell
6007eb82fa fix(WiFi): update esp32s3 rom ld 2023-12-16 13:33:26 +08:00
jgujarathi
d82f42a464 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-15 18:46:17 +05:30
jgujarathi
b167df155f 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-15 18:46:17 +05:30
jgujarathi
8103512379 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-15 18:46:15 +05:30
jgujarathi
45caba87f1 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-15 18:28:48 +05:30
jgujarathi
8f928f77e8 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-15 18:28:48 +05:30
aditi_lonkar
aad82378bb fix(esp_wifi):Fix WDT when esp_supp_dpp_start_listen called multiple times 2023-12-15 18:28:45 +05:30
Aditya Patwardhan
b92c24a9ba Merge branch 'fix/aes_mpi_interrupt_allocation_workflow_v4.4' into 'release/v4.4'
fix(mbedtls): move interrupt allocation during initialization phase (v4.4)

See merge request espressif/esp-idf!27443
2023-12-15 17:12:42 +08:00
Xue yun fei
c392dad1dc optimize(lwip):when psram is enable the number of ooseq is not limited 2023-12-15 15:54:31 +08:00
Jiang Jiang Jian
3192aca478 Merge branch 'bugfix/mem_leak_fastpbkdf2_test' into 'release/v4.4'
fix(wpa_supplicant): Resolve memory leak for test case of fast pbkdf2

See merge request espressif/esp-idf!27889
2023-12-15 11:18:29 +08:00
Jiang Jiang Jian
0bb983f9d5 Merge branch 'bugfix/fix_issuse_in_scan_and_mesh_v4.4' into 'release/v4.4'
fix(wifi): fix issues in scan and wifi mesh (v4.4)

See merge request espressif/esp-idf!27861
2023-12-15 10:38:46 +08:00
Roland Dobai
dbb71c010f Merge branch 'fix/py12_req' into 'release/v4.4'
Fix(tools): Use a construct dependency compatible with Python 3.12

See merge request espressif/esp-idf!27925
2023-12-14 22:05:04 +08:00
Roland Dobai
91ca4a74aa Fix(tools): Use a construct dependency compatible with Python 3.12 2023-12-14 12:25:54 +01:00
wanlei
aa264cab8f fix(spi_master): fixed lcd example block border pixel issue 2023-12-14 17:18:10 +08:00
Rahul Tank
3f117c79d9 Merge branch 'bugfix/authcomplete_failure_v4.4' into 'release/v4.4'
fix(nimble): Fixed authcomplete failure caused by a mismatch in the c1 value (v4.4)

See merge request espressif/esp-idf!27637
2023-12-14 13:15:17 +08:00
Shreyas Sheth
aa8822bbf1 fix(wpa_supplicant): Resolve memory leak for unit test of fast pbkdf2 2023-12-13 16:12:00 +05:30
Roland Dobai
95873f4c33 Merge branch 'fix/bump_precommit_esp_idf_sbom_v4.4' into 'release/v4.4'
fix: bump esp-idf-sbom to v0.13.0 in pre-commit (v4.4)

See merge request espressif/esp-idf!27880
2023-12-13 17:03:24 +08:00
Jiang Jiang Jian
e47fe5df8e Merge branch 'fix/build_error_in_compiler_performance_mode_v4.4' into 'release/v4.4'
fix(bt/bluedroid): fixed build error when compiler in performace mode (backport v4.4)

See merge request espressif/esp-idf!27866
2023-12-13 15:01:46 +08:00
Frantisek Hrbata
ab3ed9ee44 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-13 07:31:37 +01:00
gongyantao
ba81334bf5 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:49 +08:00
zhangyanjiao
1a0f4524da fix(wifi): fix issues in scan and wifi mesh
1. fix(wifi): fix the crash issue when clear scan ap list
3. fix wifi mode error when mesh start after station has connected to router
2023-12-12 17:21:04 +08:00
Ivan Grokhotkov
a2b4ddc113 Merge branch 'revert-3f015297' into 'release/v4.4'
Revert "Merge branch 'bugfix/nvs_read_out_of_bounds' into 'release/v4.4'"

See merge request espressif/esp-idf!27856
2023-12-12 15:26:25 +08:00
Jiang Jiang Jian
c452233a6e Merge branch 'fix/lwip_dns_fallback_ipv4only' into 'release/v4.4'
lwip: Fix DNS int with FALLBACK_DNS() in IPv4 only (v4.4)

See merge request espressif/esp-idf!27544
2023-12-12 14:38:48 +08:00
Martin Vychodil
0ae5b6c0b2 Revert "Merge branch 'bugfix/nvs_read_out_of_bounds' into 'release/v4.4'"
This reverts merge request !27852
2023-12-12 13:30:50 +08:00
Martin Vychodil
3f0152978d Merge branch 'bugfix/nvs_read_out_of_bounds' into 'release/v4.4'
fix(nvs): prevent out-of-bounds write on inconsistent blob length

See merge request espressif/esp-idf!27852
2023-12-12 12:56:30 +08:00
Jiang Jiang Jian
7a0a868603 Merge branch 'contrib/github_pr_12460_v4.4' into 'release/v4.4'
fixing OTA write up to SPI_FLASH_SEC_SIZE margins (GitHub PR) (v4.4)

See merge request espressif/esp-idf!27646
2023-12-12 10:05:22 +08:00
Jiang Jiang Jian
8812baf39f Merge branch 'fix/esp32s3_soc_drom_high_addr_v4.4' into 'release/v4.4'
fix(soc): esp32s3/Fix the DROM_HIGH_ADDR (v4.4)

See merge request espressif/esp-idf!27824
2023-12-12 10:04:57 +08:00
Ivan Grokhotkov
a24f51431d fix(nvs): prevent out of bounds write if blob data is inconsistent 2023-12-11 23:04:35 +08:00
Ivan Grokhotkov
e6db7ddf2a Merge branch 'feature/add_fatfs_sbom_v4.4' into 'release/v4.4'
feat(storage/fatfs): add sbom file manifest for FatFs (v4.4)

See merge request espressif/esp-idf!27482
2023-12-11 18:14:25 +08:00
Tomas Rohlinek
cff118820f feat(storage/fatfs): add sbom file manifest for FatFs (v4.4) 2023-12-11 18:14:25 +08:00
Mahavir Jain
09089c3fdf Merge branch 'fix/esp_ptr_check_sign_compare_v4.4' into 'release/v4.4'
fix(esp_hw_support): Fix different signed comparison in `esp_ptr_in_drom`

See merge request espressif/esp-idf!27817
2023-12-11 16:07:46 +08:00
Aditya Patwardhan
2e973e28dc 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 13:22:55 +05:30
Jiang Jiang Jian
69f63b2a16 Merge branch 'bugfix/install_key_issue_v4.4' into 'release/v4.4'
fix(wifi): Fix key install issue in PTK renew(v4.4)

See merge request espressif/esp-idf!27318
2023-12-11 15:24:41 +08:00
Jiang Jiang Jian
597a4d4926 Merge branch 'bugfix/fix_some_ble_bugs_v4.4' into 'release/v4.4'
Fixed some BLE bugs (backport v4.4)

See merge request espressif/esp-idf!27698
2023-12-11 15:07:54 +08:00
Laukik Hase
77a7eb217a fix(esp_hw_support): Fix different signed comparison in esp_ptr_in_drom
- Closes https://github.com/espressif/esp-idf/pull/12720
2023-12-11 10:21:27 +05:30
xueyunfei
083eb06028 Fix(lwip):bugfix for add config for tcp ooseq bufs 2023-12-08 19:13:11 +01:00
Jiang Jiang Jian
2026c783ed Merge branch 'feat/max_ver_c3_199_v4.4' into 'release/v4.4'
feat(soc): Increase max supported version of C3 to 1.99 (v4.4)

See merge request espressif/esp-idf!26825
2023-12-08 20:56:05 +08:00
chenjianhua
2f850519ef fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(65db61f)
- Fixed remove and clear white list
2023-12-08 19:42:16 +08:00
chenjianhua
4e518185c5 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-08 19:41:15 +08:00
shangke
8eec988290 fix(bt/controller): Fixed some HCI commands parameter 2023-12-08 19:41:15 +08:00
chenjianhua
72315ed011 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(b8f0db9)
- Fixed assert when llcp instant passed
2023-12-08 19:41:15 +08:00
chenjianhua
c908325d3d 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-08 19:41:15 +08:00
chenjianhua
148ee05b87 fix(bt/bluedroid): Fixed add RPA to white list 2023-12-08 19:41:15 +08:00
Kapil Gupta
ad3891b94b fix(wifi): Fix key install issue in PTK renew 2023-12-08 15:23:36 +05:30
Roland Dobai
2c9fa2702e Merge branch 'feat/manifest_check_v4.4' into 'release/v4.4'
feat: use esp-idf-sbom pre-commit plugin (v4.4)

See merge request espressif/esp-idf!27755
2023-12-08 17:01:16 +08:00
Frantisek Hrbata
22637ff824 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 14:53:18 +01:00
Darshan Dobariya
78f44f115d fix(nimble): Fixed authcomplete failure caused by a mismatch in the c1 value (v4.4) 2023-12-07 14:06:12 +05:30
Jiang Jiang Jian
ce2102eed4 Merge branch 'bugfix/timer_index_out_of_bound_v4.4' into 'release/v4.4'
Fix timer index out of bound issue (Backport v4.4)

See merge request espressif/esp-idf!27607
2023-12-07 11:55:21 +08:00
Michael (XIAO Xufeng)
bbd1bb2025 feat(soc): Increase max supported version of C3 to 1.99 2023-12-06 17:05:24 +08:00
Harshit Malpani
e6330d9cdc feat(nghttp2): Update nghttp2 lib to v1.58.0 2023-12-06 11:52:01 +05:30
Island
b57653b21c Merge branch 'bugfix/BLEQABR23-35_v4.4' into 'release/v4.4'
fix(ble_mesh): avoid ble_mesh packet collision by using random adv interval(v4.4)

See merge request espressif/esp-idf!27491
2023-12-06 11:06:57 +08:00
Jiang Jiang Jian
68915490b0 Merge branch 'fix/xtensa-register-corrupted-after-context-switch_v4.4' into 'release/v4.4'
fix(xtensa): fix registers curruption on context switch (v4.4)

See merge request espressif/esp-idf!26212
2023-12-06 10:47:55 +08:00
Jiang Jiang Jian
8e41f7b9d8 Merge branch 'feature/pbkdf2_fast_implementation_v4.4' into 'release/v4.4'
Feature/pbkdf2 fast implementation v4.4

See merge request espressif/esp-idf!25515
2023-12-06 10:45:57 +08:00
Shreyas Sheth
f157786e2d fix(ci): Increment number of runner for test UT_T1_1 for esp32s2 2023-12-06 00:09:11 +05:30
Shreyas Sheth
d6f65b1472 fix(wpa_supplicant): Remove deprecated mbedtls functions used in fast pbkdf2 and fix ci error 2023-12-05 23:59:58 +05:30
Shyamal Khachane
a1e8a7be4e fix(esp_wifi): Fix timer index out of bound issue causing execution of timer function to fail 2023-12-05 17:33:25 +05:30
Kapil Gupta
a1b3ef5cef fix(wpa_supplicant): implement sha1_finish for fastpbkdf2 2023-12-05 16:54:31 +05:30
Shreyas Sheth
e9f29de687 ci(wifi): Add test case for fast pbkdf2 verification 2023-12-05 16:54:31 +05:30
Kapil Gupta
3e4f49606b change(esp_wifi): Port fast_pbkdf2 implementation for mbedlts
Add changes to use fast_pbkdf2 as default for PMK calculations.
fast_pbkdf2 is significantly faster than current implementations
for esp chips.

Also removes unnecessary code for pbkdf-sha256 and pbkdf-sha512.
2023-12-05 16:54:31 +05:30
Kapil Gupta
e8fcdc3ebf change(esp_wifi): Copy fastpbkdf2 implementation
Copy pbkdf2 implementation from https://github.com/ctz/fastpbkdf2(3c56895)
2023-12-05 16:54:31 +05:30
harshal.patil
9e61344890 ci(mbedtls): added a test for the mbedtls_internal_shaX_process API 2023-12-05 16:54:31 +05:30
harshal.patil
edef8d5fae fix(mbedtls): Fix the port for the mbedtls_internal_shaX_process API
- Also added the fix to update intermediate SHA state in the mbedtls_shaX_update API
2023-12-05 16:54:31 +05:30
Jiang Jiang Jian
7147f84f64 Merge branch 'feat/support_esp32c3_v1.1_wifi_v4.4' into 'release/v4.4'
fix(wifi): backport some wifi bugfix(v4.4)

See merge request espressif/esp-idf!27584
2023-12-05 19:10:12 +08:00
Jiang Jiang Jian
26fb320beb Merge branch 'bugfix/alarm_args_double_free_v4.4' into 'release/v4.4'
Bugfix/alarm args double free v4.4

See merge request espressif/esp-idf!27540
2023-12-05 13:45:33 +08:00
Jiang Jiang Jian
2fa6dabbb1 Merge branch 'bugfix/remove_bond_v4.4' into 'release/v4.4'
fix(nimble): Handled IRK/LTK deletion based on key availability(v4.4)

See merge request espressif/esp-idf!26605
2023-12-05 11:57:55 +08:00
alanmaxwell
ca25bf834f feat(wifi): support esp32c3 v1.1 wifi 2023-12-05 11:42:16 +08:00
Jiang Jiang Jian
4c0245d9e7 Merge branch 'bufix/Backport_some_lwip_bugs_for_4.4_1204' into 'release/v4.4'
Bufix/backport some lwip bugs for 4.4 1204

See merge request espressif/esp-idf!27610
2023-12-05 11:13:06 +08:00
Jiang Jiang Jian
f886d0f1ba Merge branch 'bugfix/fix_wifi_init_reentrant_issue_v4.4' into 'release/v4.4'
Bugfix/fix wifi init reentrant issue v4.4

See merge request espressif/esp-idf!27628
2023-12-05 11:10:37 +08:00
Jiang Jiang Jian
50511114e1 Merge branch 'bugfix/pbc_overlap_in_wps_pin_method_v4.4' into 'release/v4.4'
wpa_supplicant: Fix for issue of wps-pbc overlap in wps-pin method(4.4)

See merge request espressif/esp-idf!25737
2023-12-05 10:39:27 +08:00
Jiang Jiang Jian
e62727886e Merge branch 'bugfix/backport_wifi_fix_1130_v4.4' into 'release/v4.4'
fix(wifi): backport some wifi bugfix(v4.4)

See merge request espressif/esp-idf!27507
2023-12-05 02:03:32 +08:00
kohait00
153f4b8f4f 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:48:55 +05:30
aditi_lonkar
58f51147cf wpa_supplicant: Fix for issue of wps-pbc overlap in wps-pin method 2023-12-04 15:23:53 +05:30
Island
2be3fa2e27 Merge branch 'backport/fix_ble_menuconfig_v4.4' into 'release/v4.4'
Backport/fix ble menuconfig v4.4(backport v4.4)

See merge request espressif/esp-idf!27495
2023-12-04 16:30:21 +08:00
liuning
9be22d2d18 fix(wifi): fix wifi deinit s_wifi_modem_sleep_lock 2023-12-04 16:10:47 +08:00
liuning
260920a18a fix(wifi): fix wifi init reentrant issue 2023-12-04 16:10:47 +08:00
gaoxu
f2f2de1a66 fix(adc): fix adc continuous get less results beacuse do not reset apb clk(v4.4) 2023-12-04 15:02:18 +08:00
xueyunfei
1ac20fb4ac Fix(dhcps):fix dhcp subnet option api dos not work issue 2023-12-04 14:54:18 +08:00
xueyunfei
0a1282bd24 fix(dhcp server):fix set dhcp server poll fail issue 2023-12-04 14:22:35 +08:00
Jiang Jiang Jian
43dbb702c4 Merge branch 'fix/esp_netif_lock_v4.4' into 'release/v4.4'
fix(esp_netif): Lock netif list with TCPIP context (v4.4)

See merge request espressif/esp-idf!26714
2023-12-04 14:04:50 +08:00
Jiang Jiang Jian
4cc2340265 Merge branch 'bugfix/fix_onebyte_watchpoint_setting_v4.4' into 'release/v4.4'
fix(riscv): supports 1 byte and larger than 64byte range watchpoint setting (v4.4)

See merge request espressif/esp-idf!27517
2023-12-04 11:59:49 +08:00
Jiang Jiang Jian
e08f93de6d Merge branch 'fix/twai_crash_on_s3_gpio_19and20_v4.4' into 'release/v4.4'
fix(twai): example crash using usb-serial-jtag pins (v4.4)

See merge request espressif/esp-idf!26665
2023-12-04 11:39:18 +08:00
Abhinav Kudnar
254cf65464 fix(nimble): Handled IRK/LTK deletion based on key availability 2023-12-02 03:18:01 +05:30
harshal.patil
00919c3967 fix(mbedtls/aes): fix AES interrupt allocation for AES-GCM operations 2023-12-01 18:25:11 +05:30
harshal.patil
bffe5d2864 fix(mbedtls): move interrupt allocation during initialization phase 2023-12-01 18:25:10 +05:30
zhanghaipeng
09076b53eb fix(bt/bluedroid): Fix BLE SMP register log level 2023-12-01 16:58:00 +08:00
zhanghaipeng
4f57ec7c26 fix(bt/bluedroid): Fix bluedroid menuconfig 2023-12-01 16:57:44 +08:00
Island
23e7fa801b Merge branch 'fix/ble_mesh_example_relay_enable_v4.4' into 'release/v4.4'
fix(ble_mesh): Enable relay by default for the specific dev role (v4.4)

See merge request espressif/esp-idf!27510
2023-12-01 15:17:39 +08:00
alanmaxwell
629c3b4d9c fix(wifi): backport some wifi bugfix
1. fix ccmp pn became large issue
2. sta not pmf capable when requires should reject profile
3. fix softap set config issue
4. fix enable psram wapi dhcp fail issue
5. Fix multi antenna issue
6. Fix typo in wifi api docs
7. Optimize BB filter timer to pass some corner case
8. Change fragment threshold to 256
9. Support fragment for LR mode
10. Fix rx fragment fail in Open mode.
11. Drop fragmented AMPDUs
12. Fix ampdu duration issue
2023-12-01 14:02:07 +08:00
xueyunfei
e31f8581a2 feat(esp_wifi):static buf for management,control,qos null,null data rx packet 2023-12-01 14:02:07 +08:00
muhaidong
24e208eca1 fix(wifi): allow some special igtk keyindx to workaround faulty APs 2023-12-01 14:02:07 +08:00
muhaidong
8b473bee24 fix(wifi): update scan example for scan get ap records 2023-12-01 14:02:07 +08:00
Chen Jian Xing
ca78fb58bc Merge branch 'bugfix/authmode_log_192_bit_v4.4' into 'release/v4.4'
WPA3 enterprise 192 bit fix and config modification  (Backport v4.4)

See merge request espressif/esp-idf!27325
2023-12-01 13:57:58 +08:00
David Čermák
403d656698 Merge branch 'bugfix/emac_ex_buffer_v4.4' into 'release/v4.4'
esp_eth: receive buffer allocation optimization - v4.4

See merge request espressif/esp-idf!27274
2023-11-30 23:18:39 +08:00
David Cermak
ffddf278f5 lwip: Fix DNS int with FALLBACK_DNS() in IPv4 only
* Update submodule: git log --oneline 90c1e93e40bdfe6718b97e2d95aabc2f0f609ce8..1de11efadd0083469f26c8782be3d55073829767

Detailed description of the changes:
  - dns: fix init with only ipv4 enabled (espressif/esp-lwip@1de11efa)
  - optimize add TCP ooseq buf timeout configuration (espressif/esp-lwip@d3c89e93)
  - bugfix for optimize tcp connection (espressif/esp-lwip@d5093349)
2023-11-30 14:28:10 +01:00
Jin Cheng
bb22c4323d fix(bt/bluedroid): Set the alarm_arg to NULL after releasing to avoid double free in BTC layer 2023-11-30 20:06:21 +08:00
wuzhenghui
ef202b3ecd fix(riscv): supports 1 byte and larger than 64byte range watchpoint setting 2023-11-30 15:47:22 +08:00
Rahul Tank
79954fe559 Merge branch 'bugfix/ble_gap_unpair_oldest_peer_v4.4' into 'release/v4.4'
fix(nimble): Fixed incorrect handling of bonded devices (v4.4)

See merge request espressif/esp-idf!26945
2023-11-30 12:56:03 +08:00
Liu Linyan
dfc4b7b6b7 fix(ble_mesh): Enable relay by default for the specific dev role 2023-11-30 12:26:57 +08:00
zhanghaipeng
72e87fc035 docs(bt/bluedroid): Update ble example document 2023-11-30 10:34:42 +08:00
luoxu
af166180f2 bugfix(ble_mesh): Supplementary configuration options that should be enabled. 2023-11-29 19:44:55 +08:00
Liu Linyan
560e1f899d fix(ble_mesh): Support using random adv interval for mesh packets 2023-11-29 19:44:55 +08:00
Shyamal Khachane
7eef2771fe fix(esp_wifi): Fixed authmode in log and connected event for WPA3 enterprise 192 bit security 2023-11-29 09:04:57 +00:00
Michael (XIAO Xufeng)
a61fd4bf70 Merge branch 'bugfix/spi_master_fifo_use_dma_v4.4' into 'release/v4.4'
fix(spi): fixed undesired touching to DMA (v4.4)

See merge request espressif/esp-idf!26772
2023-11-29 11:12:53 +08:00
Cao Sen Miao
1fb6de14e6 brownout: Disable the hardware BOD when BOD interrupt is enabled 2023-11-28 17:01:19 +08:00
darshan
b34d4825d3 fix(nimble): Fixed incorrect handling of bonded devices (v4.4) 2023-11-28 10:29:38 +05:30
David Cermak
3329d64278 fix(esp_netif): Fix races in netif object locking 2023-11-27 08:21:35 +01:00
Jiang Jiang Jian
7e5f4df8e2 Merge branch 'feature/support_ble_esp32c3_eco7_v4.4' into 'release/v4.4'
Feature/support ble esp32c3 eco7 (backport v4.4)

See merge request espressif/esp-idf!27340
2023-11-24 11:44:01 +08:00
Jiang Jiang Jian
d3cf0d04ae Merge branch 'bugfix/add_par_check_in_ag_cind_res_v4.4' into 'release/v4.4'
Bugfix/add par check in ag cind res v4.4

See merge request espressif/esp-idf!27259
2023-11-24 10:20:12 +08:00
Jiang Jiang Jian
c0d6131e83 Merge branch 'bugfix/spp_deinit_crash_v4.4' into 'release/v4.4'
fix(bt/bluedroid): Fix the crash of invalid access to released resources (v4.4)

See merge request espressif/esp-idf!27253
2023-11-24 10:19:56 +08:00
Ondrej Kosta
891edc0f0d bugfix(esp_eth): improved error handling of _recv_buf
fixed W5500 flush_recv_frame function
2023-11-23 17:22:42 +01:00
Mahavir Jain
e1e191638a Merge branch 'bugfix/return_code_of_ota_finish_api_v4.4' into 'release/v4.4'
fix(esp_https_ota): fix return code of esp_https_ota_finish API (v4.4)

See merge request espressif/esp-idf!27337
2023-11-23 16:31:42 +08:00
zhiweijian
d11c83c9a0 feat: support ble esp32c3 eco7 2023-11-23 14:07:55 +08:00
Jiang Guang Ming
8eb33e1b36 feat(esp32c3): Update esp32c3 chip revision 2023-11-23 14:07:55 +08:00
Jiang Guang Ming
0e8f4c9b3d feat(esp32c3): Add rom ld with ROM tag esp32c3-eco7-20230720 2023-11-23 14:07:51 +08:00
Harshit Malpani
fa017871f2 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:15:19 +05:30
Jiang Jiang Jian
fe4eb82500 Merge branch 'bugfix/connect_issue_for_zero_rssi_v4.4' into 'release/v4.4'
fix(esp_wifi): Fix issue of station disconnecting immediately after scanning (Backport v4.4)

See merge request espressif/esp-idf!26746
2023-11-22 16:34:13 +08:00
Kapil Gupta
93b64fd6d6 Merge branch 'bugfix/dpp_config_memset_v4.4' into 'release/v4.4'
Wi-Fi: Fixed some DPP issues (v4.4)

See merge request espressif/esp-idf!27194
2023-11-22 11:33:11 +08:00
Kapil Gupta
9a1e54d485 fix(wpa_supplicant): memzero wifi config before sending config event 2023-11-21 11:36:59 +05:30
Kapil Gupta
d5e628229f fix(wifi): Disallow DPP and WPS concurrency 2023-11-21 11:36:38 +05:30
Sarvesh Bodakhe
de59abad0a fix(esp_wifi): Fix issue of station disconnecting immediately when AP RSSI is zero 2023-11-21 10:29:43 +05:30
Alexey Lapshin
2923fd5265 fix(xtensa): fix registers curruption on context switch
a6, a7 registers may be corrupted on multicore ESP chips while FreeRTOS
Kernel SMP context switch
2023-11-21 03:19:31 +00:00
Jiang Jiang Jian
5c2142eedb Merge branch 'bugfix/fix_psram_access_faild_after_pd_cpu_wakeup_v4.4' into 'release/v4.4'
fix(esp_pm): fix psram access failed after pd_cpu wakeup if uart driver driven console is used (backport v4.4)

See merge request espressif/esp-idf!27056
2023-11-21 10:57:03 +08:00
Jiang Jiang Jian
d6b9fab066 Merge branch 'bugfix/s3_irom_addr_v4.4' into 'release/v4.4'
soc: fix SOC_IROM_MASK_HIGH for esp32s3 (v4.4)

See merge request espressif/esp-idf!27138
2023-11-21 10:54:24 +08:00
Jiang Jiang Jian
bf5b36954a Merge branch 'bugfix/clear_ulp_wake_intr_in_wake_source_enable_v4.4' into 'release/v4.4'
fix(esp_hw_support): clear all type ULP wakeup intr status at ulp wakeup source enable (backport v4.4)

See merge request espressif/esp-idf!27190
2023-11-21 10:52:23 +08:00
Jiang Jiang Jian
0d08c81ae0 Merge branch 'bugfix/fix_lightsleep_current_leakage_on_usj_pad_v4.4' into 'release/v4.4'
fix(esp_hw_support): fix lightsleep current leakage on usb pad (backport v4.4)

See merge request espressif/esp-idf!27209
2023-11-21 10:51:40 +08:00
Jiang Jiang Jian
0f679c740f Merge branch 'bugfix/add_ht2040_ex_caps_v44' into 'release/v4.4'
Add HT20_40 capability in assoc requests(v4.4)

See merge request espressif/esp-idf!27247
2023-11-21 10:46:26 +08:00
Ondrej
409c7e5610 Improved emac rx task code to suppress Coverity false positive memory leak indication 2023-11-20 12:50:49 +01:00
Ondrej
9374a2d9ac esp_eth: receive buffer allocation optimization
Receive buffers are allocated with a size equal to actual received frame size
2023-11-20 12:32:03 +01:00
Jiang Jiang Jian
b3370564f8 Merge branch 'feat/dynamic_integration_pipeline_v4.4' into 'release/v4.4'
CI: dynamic integration pipeline v4.4

See merge request espressif/esp-idf!27013
2023-11-20 16:29:50 +08:00
morris
42904820c9 Merge branch 'bugfix/ledc_max_duty_cycle_v4.4' into 'release/v4.4'
fix(ledc): fix ledc driver 100% duty cycle configuration (backport v4.4)

See merge request espressif/esp-idf!27235
2023-11-20 15:27:45 +08:00
jgujarathi
cf828f1c8d fix(esp_wifi): Ensure beacon timeout gets trigerred for AP config change
- Ensure that beacon timeout gets trigerred for AP config changes when we are in
  powersave.
2023-11-20 11:10:02 +05:30
jgujarathi
86fe60ad5a fix(wpa_supplicant): Add HT20_40 capability in assoc requests
- Add the HT2040 capability indication in the extended caps IE of
  assoc requests.
2023-11-20 11:10:00 +05:30
Jin Cheng
5fc7faf47e fix(bt/bluedroid): corrected the API documents of profile HFP and A2DP 2023-11-20 12:06:13 +08:00
Jin Cheng
2a90241d7d fix(bt/bluedroid): Added some argument check in APIs of HFP AG 2023-11-20 12:03:30 +08:00
wuzhenghui
236883728d fix(esp_hw_support): fix lightsleep current leakage on usb-phy controlled pad 2023-11-20 11:25:28 +08:00
Island
27cf25e42c Merge branch 'bugfix/fix_some_ble_bugs_v4.4' into 'release/v4.4'
Fixed some BLE bugs (backport v4.4)

See merge request espressif/esp-idf!27197
2023-11-17 20:22:02 +08:00
wuzhenghui
7c68678ddc fix(esp_hw_support): clear all type ULP wakeup intr status at ulp wakeup source enable 2023-11-17 18:18:58 +08:00
Song Ruo Jing
fd3576eca6 fix(ledc): fix ledc driver 100% duty cycle configuration
Update ledc duty cycle value range in doxygen.
Fix duty configuration error at 100% duty cycle for ESP32.
Improve LEDC API doxygen.

Closes https://github.com/espressif/esp-idf/pull/11516
Closes https://github.com/espressif/esp-idf/issues/12593
Closes https://github.com/espressif/esp-idf/issues/12083
2023-11-17 15:24:17 +08:00
Jin Cheng
6b44b42904 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:56:06 +08:00
Ivan Grokhotkov
bc2ea111fb 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-16 20:11:38 +08:00
chenjianhua
03040db7c1 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(2758518)
- Fixed power state setting when entering modem sleep
2023-11-16 17:02:27 +08:00
chenjianhua
0ae141c197 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 17:02:13 +08:00
zhanghaipeng
7ba6903f4b fix(ble/controller): Fix bugs in setting adv data and scan response data 2023-11-16 17:01:55 +08:00
chenjianhua
9ba36e8c55 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 17:01:14 +08:00
chenjianhua
716e78f3a6 feat(bt/bluedroid): support clear legacy advertising 2023-11-16 17:01:04 +08:00
aditi_lonkar
44b7e8ed10 fix(wpa_supplicant): Fix few dpp bugs
1) Fix crash in dpp Listen without bootstrap
  2) Fix crash on receiving dpp auth_req from hostapd with dpp akm
  3) Ensures that the mode is set to station before dpp init
  4) Ensures that dpp follows the path of init->bootstrap->listen
2023-11-16 12:42:18 +05:30
Ivan Grokhotkov
6bb6de5b35 fix(soc): update SOC_IROM_MASK_HIGH for esp32 for consistency 2023-11-14 14:30:04 +01:00
Ivan Grokhotkov
47c455c177 fix(soc): correct SOC_IROM_MASK_HIGH for esp32s3
Fixes corrupted backtraces on S3 when a function is in ROM.

Closes https://github.com/espressif/esp-idf/issues/11512
2023-11-14 14:30:04 +01:00
Roland Dobai
4ef8121157 Merge branch 'coredump-info-offset_v4.4' into 'release/v4.4'
Tools: coredump-info - fix non-default partition table offset issues (v4.4)

See merge request espressif/esp-idf!26925
2023-11-14 17:21:45 +08:00
Jiang Jiang Jian
25cd984ad9 Merge branch 'bugfix/fix_deinit_init_wifi_scan_fail_issue_v4.4' into 'release/v4.4'
Bugfix/fix deinit init wifi scan fail issue v4.4(Backport v4.4)

See merge request espressif/esp-idf!27049
2023-11-14 15:25:11 +08:00
Jiang Jiang Jian
5576a60b4f Merge branch 'bugfix/build_error_when_enable_ag_and_hf_v4.4' into 'release/v4.4'
fix(bt/bluedroid): Fix build error when both of the HFP roles are enabled (v4.4)

See merge request espressif/esp-idf!27079
2023-11-14 15:24:51 +08:00
Jiang Jiang Jian
4bc424258f Merge branch 'bugfix/check_mapping_target_conflict_v4.4' into 'release/v4.4'
fix(ldgen): check target conflict for entries with section aliases (v4.4)

See merge request espressif/esp-idf!26125
2023-11-14 14:56:10 +08:00
Chen Yudong
6df29acf39 ci: add label rules for integration test 2023-11-14 14:38:57 +08:00
Chen Yudong
60efb8a3ba ci: add qa-test-tag rules 2023-11-14 14:38:57 +08:00
Chen Yudong
3dc07f49f3 ci: dynamic integration test child pipeline 2023-11-14 14:38:51 +08:00
Roland Dobai
8ddb3d6812 Merge branch 'fix/ci_autocomplete_v4.4' into 'release/v4.4'
Tools, CI: Improve autocomplete tests (v4.4)

See merge request espressif/esp-idf!27039
2023-11-14 02:44:26 +08:00
wuzhenghui
93d44d1e08 fix(esp_pm): fix psram access faild after pd_cpu wakeup 2023-11-13 16:39:31 +08:00
Wang Mengyang
03bdeb46a5 fix(bt/bluedroid): Fix build error for HFP when enabling AG and HF_Client in case that CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY is enabled 2023-11-10 20:12:04 +08:00
muhaidong
df801011bd change(hal): remove useless code from periph_ll_wifi_bt_module_enable_clk 2023-11-10 14:05:09 +08:00
muhaidong
e8c4156fc2 fix(wifi): fix deinit init wifi scan fail issue 2023-11-10 11:53:25 +08:00
Roland Dobai
2e4f63e62f ci(fix): Improve the stability of the autocomplete tests 2023-11-09 14:14:32 +01:00
Peter Dragun
9d4d612b56 fix(tools/coredump-info): pass non-default partition table offset to esp-coredump 2023-11-09 10:35:24 +01:00
Island
dea8532e2d Merge branch 'backport/fix_ble_scan_rsp_v4.4' into 'release/v4.4'
Backport/fix ble scan rsp v4.4(backport v4.4)

See merge request espressif/esp-idf!27004
2023-11-09 16:56:55 +08:00
Mahavir Jain
1bca827217 Merge branch 'fix/check_integrity_on_used_blocks_v4.4' into 'release/v4.4'
heap: fix integrity check on used blocks by the tlsf component (backport v4.4)

See merge request espressif/esp-idf!26565
2023-11-09 14:14:10 +08:00
wanlei
a4388a3321 fix(twai): twai example crash using usb-serial-jtag pins
Calling gpio_hal_iomux_func_sel() via gpio_config() may
disconnects/disables any influence from USJ when using USJ pins
2023-11-09 02:51:04 +00:00
Wang Meng Yang
6f38dfe22b Merge branch 'test/bqb_test_bt_classic_hfp_v4.4' into 'release/v4.4'
feat(bt/hfp): Add support for HFP BQB auto test(backport v4.4)

See merge request espressif/esp-idf!26989
2023-11-09 10:44:35 +08:00
morris
9b2661c91c Merge branch 'bugfix/fix_wrong_adc_attenuation_name_v4.4' into 'release/v4.4'
fix(adc): rename ADC_ATTEN_DB_11 to ADC_ATTEN_DB_12 (v4.4)

See merge request espressif/esp-idf!26969
2023-11-09 10:32:16 +08:00
zhanghaipeng
1edb6668ba fix(bt/bluedroid): Fix ble keysize check 2023-11-08 19:48:27 +08:00
zhanghaipeng
c90faf5d03 fix(bt/bluedroid): Fix ble adv report evt type 2023-11-08 19:48:18 +08:00
Xiao Xufeng
94a8591586 fix(spi): fixed undesired touching to DMA
Closes https://github.com/espressif/esp-idf/issues/12241
2023-11-08 10:12:03 +00:00
wanglai@espressif.com
1ee2c4db75 fix(bt/bluedroid): Fix the process of sending OK in ATD and COPS cmds 2023-11-08 17:10:26 +08:00
Guillaume Souchere
3b9450b59d fix(heap): Fixed integrity check on used blocks by the tlsf component
This commit updates the tlsf submodule to include the modification made in the component
aiming to perform integrity check on all blocks (not only the free ones).
Added test to test the fix in test_apps/heap_tests.

Fixes https://github.com/espressif/esp-idf/issues/12231
2023-11-08 04:18:21 +00:00
Armando
46e71e43ba 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-08 03:44:43 +00:00
morris
2bab3b36bc Merge branch 'bugfix/fix_mem_map_issue_v4.4' into 'release/v4.4'
fix(mmap): fix esp32s3 mmap test wrong assertion (v4.4)

See merge request espressif/esp-idf!26964
2023-11-08 11:00:05 +08:00
wanglai@espressif.com
e5996b3e86 fix(bt/bluedroid): Revise the description for index in esp_hf_ag_clcc_response and correct the error return in btc_hf_indchange_notification
1: modify the description of param index in function
esp_hf_ag_clcc_response.
2: fix the error code return of function btc_hf_indchange_notification.
2023-11-07 20:07:26 +08:00
wanglai@espressif.com
60c5dbad59 feat(bt/bluedroid): Modify AT+CNUM response api and HFP AG example 2023-11-07 20:03:46 +08:00
Armando
9a428c4019 fix(mmap): fix esp32s3 mmap test wrong assertion 2023-11-07 10:35:29 +08:00
Jiang Jiang Jian
13b649ab95 Merge branch 'bugfix/update_phy_lib_same_to_master_v4.4' into 'release/v4.4'
fix(phy): update phy lib (v4.4)

See merge request espressif/esp-idf!26867
2023-11-07 10:29:48 +08:00
Michael (XIAO Xufeng)
7a83052809 Merge branch 'bugfix/ota_fail_on_octal_flash_v4.4' into 'release/v4.4'
fix(ota): Fixed OTA fail on octal flash with 32MB memory (backport v4.4)

See merge request espressif/esp-idf!26813
2023-11-06 00:29:02 +08:00
Wang Meng Yang
4c0bc4b7f5 Merge branch 'feature/include_hf_and_ag_in_single_build_v4.4' into 'release/v4.4'
Feature/include hf and ag in single build v4.4

See merge request espressif/esp-idf!26843
2023-11-03 14:09:30 +08:00
Wang Meng Yang
6475f7f119 Merge branch 'bugfix/fix_ble_bond_error_after_reboot_4.4' into 'release/v4.4'
fix(ble/bluedroid): fixed BLE bond error after reboot (backport v4.4)

See merge request espressif/esp-idf!26720
2023-11-03 10:27:36 +08:00
Island
ae5470910e Merge branch 'backport/fix_ble_bugs_v4.4' into 'release/v4.4'
Backport/fix ble bugs v4.4(backport v4.4)

See merge request espressif/esp-idf!26765
2023-11-03 09:12:54 +08:00
zhangyanjiao
4b2972c7c3 fix(phy): update phy lib to master
esp32: phy_version 4780,16b31a7,Sep 22 2023,20:42:16
esp32s2: phy_version 2401,2a6dc26,Sep 26 2023,11:22:15
esp32c3: phy_version 1130,b4e4b80,Sep  5 2023,11:09:30
esp32s3: phy_version 620,ec7ec30,Sep  5 2023,13:49:13
2023-11-02 15:32:53 +08:00
Jin Cheng
a70d469e49 feat(bt/bluedroid): Support to build HID Host and HID Device in single binary 2023-11-01 20:03:39 +08:00
Wang Mengyang
0cdc3284ce feat(bt/bluedroid): Support to build HFP Audio Gateway and Hands Free Unit in single binary 2023-11-01 20:03:23 +08:00
Ivan Grokhotkov
8b63bba2e8 Merge branch 'bugfix/fix_espcoredump_compilation_warning_v4.4' into 'release/v4.4'
fix(espcoredump): fixed compilation warning (v4.4)

See merge request espressif/esp-idf!26593
2023-11-01 18:57:12 +08:00
zhanghaipeng
87466a55bf fix(bt/bluedroid): Fix BLE remove bond list status 2023-11-01 17:22:04 +08:00
zhiweijian
335db4c5aa fix(ble/bluedroid): fixed BLE bond error after reboot 2023-11-01 17:22:04 +08:00
Cao Sen Miao
643b0abca2 fix(ota): Fixed OTA fail on octal flash with 32MB memory,
Closes https://github.com/espressif/esp-idf/issues/11903
2023-11-01 12:28:21 +08:00
Jiang Jiang Jian
d665b47ae1 Merge branch 'bugfix/fix_wifi_no_response_after_m_f_null_v4.4' into 'release/v4.4'
fix(wifi): fix wifi station no response after m f null

See merge request espressif/esp-idf!26719
2023-11-01 10:54:02 +08:00
David Čermák
d845742038 Merge branch 'feat/lwip_sbom_v4.4' into 'release/v4.4'
feat(lwip): Add sbom descripton file for Software BOM (v4.4)

See merge request espressif/esp-idf!26426
2023-11-01 01:29:03 +08:00
zhanghaipeng
980a15a9cd feat(bt/bluedroid): Display BLE permission check handle in error trace 2023-10-31 14:43:18 +08:00
zhanghaipeng
bca0de4fe5 fix(bt/bluedroid): Fix max BLE gattc notify number to improve compatibility 2023-10-31 14:43:08 +08:00
zhanghaipeng
c841f802cf feat(bt/bluedroid): Support BLE gattc notify registration number 2023-10-31 14:42:55 +08:00
zhanghaipeng
b7e3eb101d fix(bt/bluedroid): Fix key size check in BLE smp 2023-10-31 14:42:45 +08:00
zhanghaipeng
07ba91f926 fix(bt/bluedroid): Optimize compatibility with Android 10 and later devices 2023-10-31 14:42:33 +08:00
zhanghaipeng
2559757c30 feat(bt/bluedroid): Support hid device control point 2023-10-31 14:42:22 +08:00
zhanghaipeng
d6d14d0caa fix(bt/bluedroid): Optimize compatibility with IOS and MACOS devices 2023-10-31 14:41:52 +08:00
David Cermak
c9de8b1cef feat(lwip): Add sbom descripton file for Software BOM (v4.4)
* Update submodule: git log --oneline 0f2d472722aaa0cab6e8a72896699541e65bd45b..90c1e93e40bdfe6718b97e2d95aabc2f0f609ce8

Detailed description of the changes:
  - Add sbom descripton file for Software BOM (espressif/esp-lwip@90c1e93e4)
2023-10-31 06:49:00 +01:00
Michael (XIAO Xufeng)
64c3bf6e20 Merge branch 'bugfix/fix_mem_map_issue_v4.4' into 'release/v4.4'
flash_mmap: fix range issue (v4.4)

See merge request espressif/esp-idf!24558
2023-10-30 15:20:05 +08:00
liuning
62832d6901 fix(wifi): fix wifi station no response after m f null 2023-10-27 16:00:51 +08:00
Wang Meng Yang
b2a1097d4c Merge branch 'bugfix/backport_some_ble_bugs_20231020_v4.4' into 'release/v4.4'
Fixed some BLE bugs 20231020 (backport v4.4)

See merge request espressif/esp-idf!26607
2023-10-27 11:08:51 +08:00
gaoxu
a80fb72f77 fix(adc): fix adc oneshot mod do not split clk 2023-10-27 10:55:01 +08:00
Wang Meng Yang
5690b2fa0a Merge branch 'bugfix/unable_to_load_bonded_ble_devices_from_nvs_v4.4' into 'release/v4.4'
fix(bt/bluedroid): ble fails to load bonded device info after reboot(backport v4.4)

See merge request espressif/esp-idf!26471
2023-10-27 10:27:18 +08:00
gongyantao
439d6440ea fix(bt/bluedroid): update the newest active device in bluetooth
1: update the newest active device when an ACL link is established and
   the remote device info is not in bond list. This updates will not stored
   into NVRAM until a new device is paired.
2023-10-26 19:41:02 +08:00
Mahavir Jain
aee6e63337 Merge branch 'feature/gcm_operation_using_ctr_based_calculation_v4.4' into 'release/v4.4'
GCM operation optimisation (v4.4)

See merge request espressif/esp-idf!26523
2023-10-26 17:23:07 +08:00
Jiang Jiang Jian
f265656a37 Merge branch 'bugfix/spurious_beacon_timeout_v4.4' into 'release/v4.4'
Fixed some WiFi Issues (Backport v4.4)

See merge request espressif/esp-idf!26602
2023-10-26 14:24:57 +08:00
zhiweijian
8ff419aaf4 Update BLE lib on ESP32-C3 and ESP32-S3
- modify mesh proxy solic uuid to 0x18590303
- Fixed DTM payload length cannot be 0
- Added config to enable Hw recorrect eco
- report the number of packets sent on the TX end
2023-10-26 02:32:48 +00:00
zhiweijian
0a8340ddc2 feat: add config to disable ble hci uart flow control 2023-10-26 02:32:48 +00:00
zhiweijian
a8a9ee9c23 change: enable pll track by default on ESP32 2023-10-26 02:32:48 +00:00
zhiweijian
25a2ff985e Add mesh adv type for exception list 2023-10-26 02:32:48 +00:00
chenjianhua
6ce00445b8 Update bt lib for ESP32-C3 and ESP32-S3(c8aa206)
- Fixed extended adv address setting after adv restart
- Fixed scan channel index setting for extended scan
- Add API to set aux channel index for extended adv
2023-10-26 02:32:48 +00:00
chenjianhua
7952b1cbe9 Update bt lib for ESP32-C3 and ESP32-S3(29996e0)
- Fixed address resolution for directed adv with RPA when scanning
- Fixed resolvable private address renew after timeout
2023-10-26 02:32:48 +00:00
zhiweijian
cb80773b88 Add new mesh types for exception list on ESP32-C3 and ESP32-S3 2023-10-26 02:32:48 +00:00
zhiweijian
08e5cae591 Fixed bluedroid host build warning when log is disabled 2023-10-26 02:32:48 +00:00
LiPeng
72e67e3cf7 mbedtls: GCM implementation is replaced with CTR-based calculation
- GCM operation in mbedtls used ECB, which calculated only 16 bytes of data each time.
	- Therefore, when processing a large amount of data, it is necessary to frequently set hardware acceleration calculations,
	- which could not make good use of the AES DMA function to improve efficiency.
	- Hence, GCM implementation is replaced with CTR-based calculation which utilizes AES DMA to improve efficiency.
2023-10-25 18:02:47 +05:30
Jiang Jiang Jian
467225c795 Merge branch 'ci/fix_integration_test_download_bin_4.4' into 'release/v4.4'
ci(fix): integration test download test bin (4.4)

See merge request espressif/esp-idf!26647
2023-10-25 16:19:21 +08:00
Armando
69563f06c9 fix(memory): no enough memory for rodata 2023-10-25 08:02:02 +00:00
Armando
45877f3176 test(flash_mmap): test flash mmap pages 2023-10-25 08:02:02 +00:00
Armando
7911e997ff fix(flash_mmap): fixed limited free I/D pages on ESP32S3, C3 2023-10-25 08:02:02 +00:00
Jiang Jiang Jian
3f81b1a387 Merge branch 'bugfix/fix_cpu_switches_freq_bug_s2s3_to_v4.4' into 'release/v4.4'
EspS2/S3: fixed the bug of insufficient voltage when the CPU switches frequency(V4.4)

See merge request espressif/esp-idf!26282
2023-10-25 10:24:32 +08:00
Chen Yudong
d0a79c9cc9 ci(fix): integration test download test bin 2023-10-24 16:52:47 +08:00
morris
fa5c3bcd09 Merge branch 'docs/rmt_not_support_customized_isr_hander' into 'release/v4.4'
docs(rmt): correct the reason about not allowing customized ISR handler

See merge request espressif/esp-idf!26622
2023-10-23 17:28:51 +08:00
morris
101c6abf04 docs(rmt): correct the reason about not allowing customized ISR handler
Closes https://github.com/espressif/esp-idf/issues/11478
2023-10-23 14:18:45 +08:00
morris
5f257494c5 Merge branch 'contrib/github_pr_12179_v4.4' into 'release/v4.4'
fix(uart): Fix uart_ll_set_baudrate div-by-zero crash due to uint32_t overflow (backport v4.4)

See merge request espressif/esp-idf!26018
2023-10-20 22:19:34 +08:00
jgujarathi
9494b58b32 fix(esp_wifi): Fixes issues in PMKSA and AID assignment
- Fix missing PMKSA flush scenarios.

- Fix wrong AID assigned to station when multiple stations try to connect
  simultaneously with mixed order of auth-request and assoc-request frames.
2023-10-20 14:05:39 +05:30
Mahavir Jain
7a60a294c5 Merge branch 'feature/update_mbedtls_v2.28.5' into 'release/v4.4'
feat(mbedtls): update to release v2.28.5

See merge request espressif/esp-idf!26482
2023-10-20 14:53:00 +08:00
Rahul Tank
b080931067 fix(espcoredump): fixed compilation warning
Added conditional compilation for logging stack usage only when CONFIG_ESP_COREDUMP_LOGS is
enabled.

Closes: https://github.com/espressif/esp-idf/issues/12318
2023-10-20 11:26:23 +05:30
Anton Maklakov
01796f3386 Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20230921_v4.4' into 'release/v4.4'
feat(tools): Update OpenOCD version to v0.12.0-esp32-20230921 (v4.4)

See merge request espressif/esp-idf!26551
2023-10-19 20:01:40 +08:00
Marius Vikhammer
9f48c5eaf5 Merge branch 'bugfix/wdt_deinit_timeout_v4.4' into 'release/v4.4'
fix(wdt): fixed potential WDT timeout when deinitializing task watchdog (v4.4)

See merge request espressif/esp-idf!25984
2023-10-19 13:39:52 +08:00
Jiang Jiang Jian
0b31c7ab79 Merge branch 'feat/imporve_iperf_performance_v4.4' into 'release/v4.4'
feat(wifi): optimize iperf performance (Backport V4.4)

See merge request espressif/esp-idf!26404
2023-10-19 10:31:40 +08:00
Jiang Jiang Jian
6087eb201f Merge branch 'docs/update_wifi_and_wpa_supplicant_documentation_v4.4' into 'release/v4.4'
docs(wifi): Update wifi and wifi security documentation and bugfixes

See merge request espressif/esp-idf!25831
2023-10-19 04:04:19 +08:00
Jiang Jiang Jian
006f0768e1 Merge branch 'bugfix/wps_wpa3_passphrase_v4.4' into 'release/v4.4'
WiFi: get passphrase in WPS if AP support SAE (v4.4)

See merge request espressif/esp-idf!25887
2023-10-18 20:40:08 +08:00
Alexey Gerenkov
4068ba14b2 feat(tools): Update OpenOCD version to v0.12.0-esp32-20230921 2023-10-18 10:59:52 +02:00
Marius Vikhammer
59f3da56bd Merge branch 'bugfix/fix_freertos_system_task_names_v4.4' into 'release/v4.4'
fix(freertos): Updated IDLE task names for each core to have the coreID as a suffix (v4.4)

See merge request espressif/esp-idf!26120
2023-10-18 16:10:25 +08:00
Marius Vikhammer
253660f812 Merge branch 'bugfix/pthread_cond_var_link_hook_v4.4' into 'release/v4.4'
bugfix(pthread): fixed pthread_condvar linker hook (v4.4)

See merge request espressif/esp-idf!26006
2023-10-18 15:55:28 +08:00
Marius Vikhammer
fe50a75d0f Merge branch 'contrib/github_pr_12258_v4.4' into 'release/v4.4'
fix(vfs): Fix event_write may not exit critical section (GitHub PR) (v4.4)

See merge request espressif/esp-idf!26049
2023-10-18 15:51:56 +08:00
Marius Vikhammer
edd4c861f2 Merge branch 'docs/fix_links_ble_mesh_index_v4.4' into 'release/v4.4'
docs: fix some links in ble-mesh-index.rst in v4.4

See merge request espressif/esp-idf!26473
2023-10-18 15:42:12 +08:00
Harshit Malpani
967cae5892 feat(mbedtls): Update to release v2.28.5 2023-10-17 15:09:36 +05:30
Shreyas Sheth
a319ccb552 fix(wifi): Fix crash occuring when station SAE group is not set to SECP256R1 2023-10-17 13:45:27 +05:30
Mahavir Jain
9c4cf20ee1 Merge branch 'fix_esp32s3_irq_names_v4.4' into 'release/v4.4'
fix(interrupts): reorder esp32s3 irq names to align with the respective irq numbers (v4.4)

See merge request espressif/esp-idf!26505
2023-10-17 12:19:19 +08:00
Island
2fa1213528 Merge branch 'backport_v4.4' into 'release/v4.4'
Fix some BLE bugs in bluedroid host(backport 4.4)

See merge request espressif/esp-idf!26167
2023-10-17 09:31:28 +08:00
Erhan Kurubas
c8b90970b4 fix(interrupts): reorder esp32s3 irq names to align with the respective irq numbers 2023-10-16 22:26:36 +02:00
zhanghaipeng
30f067faff fix(bt/bluedroid): Fix hid example stack overflow bugs when using esp32s3 2023-10-16 19:33:46 +08:00
zhanghaipeng
0b5aec08e0 fix(bt/bluedroid): Fix remove resolving list error for esp32 2023-10-16 19:33:35 +08:00
zhanghaipeng
038c935ed7 fix(bt/bluedroid): Fix bugs in ble service change characteristic 2023-10-16 19:33:24 +08:00
zhanghaipeng
5f3065d975 feat(bt/bluedroid): Support scan response data length zero in BLE 2023-10-16 19:33:13 +08:00
zhanghaipeng
79d7f33ff6 fix(bt/bluedroid): Optimize the description of Scan Duplicate in BLE 2023-10-16 19:33:03 +08:00
Shreyas Sheth
3d85e81be2 docs(wifi): Update wifi and wifi security documentation and bugfixes
1. Update documentation for WPA3 Enterprise and WPA3 Enterprise 192-bit
mode
2. Update documentation for WPA3 OWE and OWE transition mode
3. Update documentation related to SAE PK, SAE PWE and Transition Disable
4. Update documnetation for wifi connect API
5. Fix config paramter information for wifi scan start
6. Fix documentation related to scan threshold config setting
7. Replace ESP_ERR_WIFI_ARG error code as ESP_ERR_INVALID_ARG
8. Update documentation for 802.11R Fast transition
9. Fix sta connecting with wpa security in enterprise mode
2023-10-16 14:21:44 +05:30
morris
31ddcba269 Merge branch 'bugfix/usb_serial_jtag_write_return_val_v4.41' into 'release/v4.4'
bugfix(usb_serial_jtag): Fix usb_serial_jtag wrong return value, vfs lose data randomly (backport v4.4)

See merge request espressif/esp-idf!26440
2023-10-16 14:27:53 +08:00
Wang Meng Yang
d990842ca1 Merge branch 'bugfix/error_param_in_BTA_AG_WBS_EVT_v4.4' into 'release/v4.4'
Bugfix/error param in bta ag wbs evt (v4.4)

See merge request espressif/esp-idf!26430
2023-10-16 11:01:11 +08:00
Wang Meng Yang
f7054481ed Merge branch 'bugfix/config_tpoll_fail_v4.4' into 'release/v4.4'
Bugfix/config tpoll fail v4.4

See merge request espressif/esp-idf!26453
2023-10-16 10:59:38 +08:00
Linda
d735ca0483 docs: fix some links in ble-mesh-index.rst in v4.4 2023-10-16 10:54:03 +08:00
gongyantao
f5c113ed5c fix(bt/bluedroid): ble fails to load bonded device info after reboot
1: add a quantity check in bt when writing paired device info into nvs.
2: delete the exceeded device info from NVS when get bonded list during
bluedroid initialization.
3: unify the process of bt and ble to load bonded list during bluedroid
initialization.
2023-10-13 19:30:30 +08:00
baohongde
597d13f2d9 feat(bt/hci): Added Vendor-Specific HCI command to disable DM1 for ACL-U 2023-10-13 14:23:57 +08:00
baohongde
94a6e253e4 fix(bt/bluedroid): Triggering disconnect event of GAP correctly 2023-10-13 14:23:56 +08:00
baohongde
182c1f9c91 fix(bt/bluedroid): Fix issue of QoS configuration failure when t_poll is greater than 40 2023-10-13 14:23:56 +08:00
xuxiao
b25e486cd6 feat(wifi): optimize iperf performance (Backport V4.4) 2023-10-13 11:36:03 +08:00
Chip Weinberger
6e6ea289b7 feat(usb_serial_jtag): printing to console could sometimes skip bytes 2023-10-12 15:21:53 +08:00
Jin Cheng
b306d702c6 fix(bt/bluedroid): Fixed incorrect arrangement in type esp_hf_dial_type_t 2023-10-12 09:44:42 +08:00
Jin Cheng
a62b41064b change(bt/bluedroid): Added line information printing when error occurs CHECK_HF_IDX 2023-10-12 09:44:34 +08:00
Jin Cheng
9be4decab7 fix(bt/bluedroid): Fixed the issue of uninitialized parameters in event BTA_AG_WBS_EVT 2023-10-12 09:44:27 +08:00
David Čermák
987a77505b Merge branch 'bugfix/napt_updatesV4.4' into 'release/v4.4'
napt: restore to the initial state in deinit

See merge request espressif/esp-idf!26337
2023-10-11 22:03:44 +08:00
Island
1c498307cf Merge branch 'bugfix/deepfree_v44' into 'release/v4.4'
fix(ble_mesh): fix compilation failure on using scene model. (v4.4)

See merge request espressif/esp-idf!26369
2023-10-11 19:28:37 +08:00
Wu Meng Shi
c84896af7a fix(ble_mesh): fix compilation failure on using scene model. (v4.4) 2023-10-11 19:28:36 +08:00
Wang Meng Yang
c1d9e6197c Merge branch 'bugfix/hf_ag_report_event_with_null_bdaddr_v4.4' into 'release/v4.4'
Bugfix/fixed bugs of HFP in BlueDroid (v4.4)

See merge request espressif/esp-idf!25829
2023-10-11 19:14:59 +08:00
Kapil Gupta
61e344a057 fix(wifi): Get passphrase in WPS if AP support SAE
Also add changes to send NACK if WPS message received twice.
2023-10-10 09:28:06 +00:00
Wang Meng Yang
6c9e406d67 Merge branch 'bugfix/add_params_check_for_hci_v4.4' into 'release/v4.4'
Fixed some HCI commands parameter (backport v4.4)

See merge request espressif/esp-idf!26152
2023-10-10 14:12:29 +08:00
Island
8cb1f37e50 Merge branch 'bugfix/BLEQABR23-414_v44' into 'release/v4.4'
Fix PB-GATT adv is reported to the app layer too frequently (v4.4)

See merge request espressif/esp-idf!26346
2023-10-10 12:01:56 +08:00
Wu Meng Shi
271083be3d Fix PB-GATT adv is reported to the app layer too frequently (v4.4) 2023-10-10 12:01:56 +08:00
Mahavir Jain
cdd72ac1d4 Merge branch 'feat/add_support_to_add_auth_data_v4.4' into 'release/v4.4'
fix(esp_http_client): Call event_handler after header value is received (v4.4)

See merge request espressif/esp-idf!26323
2023-10-09 16:24:13 +08:00
shangke
8dde99b024 fix(bt/controller): Fixed some HCI commands parameter
1: add param check for HCI_Recevie_Synchronization_Train.
2: add param check for HCI_Set_Connectionless_Peripheral_Broadcast.
3: fix slave cannot take a secure authentication.
2023-10-09 02:28:44 +00:00
Jiang Jiang Jian
bcccf0c3d8 Merge branch 'bugfix/fix_hidd_send_rpt_without_connection_v4.4' into 'release/v4.4'
Change(bt/bluedroid): Optimize HIDD sending interrupt report behavior[backport 4.4]

See merge request espressif/esp-idf!25920
2023-10-08 13:51:30 +08:00
morris
f94d517723 Merge branch 'change/remove_s3_120_sdr_warning_v4.4' into 'release/v4.4'
change(mspi): remove s3 120mhz sdr warning (v4.4)

See merge request espressif/esp-idf!26256
2023-10-08 10:53:09 +08:00
Island
182303a93c Merge branch 'bugfix/fix_some_ble_bug_v4.4' into 'release/v4.4'
Fixed some BLE bugs (backport v4.4)

See merge request espressif/esp-idf!26131
2023-10-08 10:52:31 +08:00
liqigan
939f55dd80 change(bt/bluedroid): Optimize HIDD sending interrupt report behavior
HID device is allowed to trigger reconnection by sending an interrupt
report. When reconnection is in progress, no more interrupt report can
be sent until the procedure is accomplished.
2023-10-08 09:54:11 +08:00
Jiang Jiang Jian
f65d665e9b Merge branch 'change/optimize_sniff_request_v4.4' into 'release/v4.4'
Change(bt/bluedroid): Limit sniff request when pending mode change event[backport 4.4]

See merge request espressif/esp-idf!26055
2023-10-07 14:18:28 +08:00
Jiang Jiang Jian
9e0a101b12 Merge branch 'bugfix/suppress_compiler_warning_silent_reboot_is_enabled_v4.4' into 'release/v4.4'
fix(esp_system): suppress compiler warning if ESP_SYSTEM_PANIC_SILENT_REBOOT is enabled (backport v4.4)

See merge request espressif/esp-idf!26038
2023-10-07 14:17:59 +08:00
Jiang Jiang Jian
6e44a7f589 Merge branch 'bugfix/BLEQABR23-632v44' into 'release/v4.4'
fix(ble_mesh): avoid executing bt_mesh_host_init() more than once when using nimble (v4.4)

See merge request espressif/esp-idf!26243
2023-10-07 14:13:27 +08:00
Wu Meng Shi
0e0beeb591 fix(ble_mesh): avoid executing bt_mesh_host_init() more than once when using nimble (v4.4) 2023-10-07 14:13:27 +08:00
Jiang Jiang Jian
d52e0874c9 Merge branch 'bugfix/fix_hid_congestion_v4.4' into 'release/v4.4'
Fix(bt/bluedroid): Fix the issue for HID congestion checking[backport 4.4]

See merge request espressif/esp-idf!26233
2023-10-07 14:12:33 +08:00
Jiang Jiang Jian
c82223b60e Merge branch 'feat/add_internal_pull_up_or_pull_down_option_for_deepsleep_wakeup_prepare_v4.4' into 'release/v4.4'
feat(pm): add internal pull-up/downs option for gpio used for deepsleep wakeup (backport v4.4)

See merge request espressif/esp-idf!26043
2023-10-07 14:09:43 +08:00
Jiang Jiang Jian
3f492c218d Merge branch 'bugfix/fix_espnow_send_error_when_sta_connected_v4.4' into 'release/v4.4'
fix(Wi-Fi/Vendor): fix ESPNOW send error when station connected to AP and modem sleep is enabled (v4.4)

See merge request espressif/esp-idf!25788
2023-10-07 14:05:13 +08:00
Abhik Roy
ea3dd4c393 napt: restore to the initial state in deinit
This bug casue NAPT not work as normal after deinit then reinit
2023-10-06 20:13:20 +11:00
Roland Dobai
fcc43ef8ed Merge branch 'fix/click-port-compl_v4.4' into 'release/v4.4'
fix(tools): fix autocomplete for --port option (v4.4)

See merge request espressif/esp-idf!25876
2023-10-05 12:59:17 +08:00
Harshit Malpani
95ed121192 fix(esp_http_client): Call event_handler after header value is received 2023-10-05 10:24:31 +05:30
Mahavir Jain
fd07086a2a Merge branch 'bugfix/http_client_tcp_config_v4.4' into 'release/v4.4'
http_client: Set common tcp config to both TCP and SSL transport (v4.4)

See merge request espressif/esp-idf!26207
2023-10-04 21:22:05 +08:00
Rahul Tank
d9a6dbe3a6 Merge branch 'bugfix/post_reattempt_cnt_event_v4.4' into 'release/v4.4'
fix(nimble): Add event for reattempt connection count information (v4.4)

See merge request espressif/esp-idf!26114
2023-09-29 15:56:03 +08:00
Mahavir Jain
919819e682 Merge branch 'feature/freertos_add_sbom_file_v4.4' into 'release/v4.4'
feat(freertos): Added SBOM manifest file for SPDX file generation (v4.4)

See merge request espressif/esp-idf!25893
2023-09-29 13:18:04 +08:00
Mahavir Jain
5f7d4aac6b Merge branch 'update/micro-ecc_submodule_v4.4' into 'release/v4.4'
feat(bootloader): Update micro-ecc version to v1.1 (v4.4)

See merge request espressif/esp-idf!26141
2023-09-29 13:17:37 +08:00
Rahul Tank
69f6838b4b fix(nimble): Add event for reattempt connection count information 2023-09-29 10:08:08 +05:30
Rahul Tank
68df9125f6 Merge branch 'bugfix/memmory_cleanup_optimizatoin_v4.4' into 'release/v4.4'
fix(nimble): Fix for memory leak/optimization (v4.4)

See merge request espressif/esp-idf!25982
2023-09-29 12:34:46 +08:00
hongshuqing
fbdeff2108 s2s3 cpu sw freq 2023-09-28 10:53:34 +08:00
chenqingqing
6e47cc1059 fix(bt/bluedroid): Fix the judgment condition for packet transmission status statistics 2023-09-27 19:17:54 +08:00
Aditya Patwardhan
b550086d0e Merge branch 'update/version_4_4_6' into 'release/v4.4'
versions: Update version to 4.4.6

See merge request espressif/esp-idf!26089
2023-09-27 16:27:59 +08:00
Armando
cafc087cc5 change(mspi): remove s3 120mhz sdr warning 2023-09-27 15:03:07 +08:00
Aditya Patwardhan
3572900934 versions: Update version to 4.4.6 2023-09-26 07:11:21 +00:00
Jiang Jiang Jian
67a0939231 Merge branch 'bugfix/iperf_udp_tx_issue' into 'release/v4.4'
iperf: added sequential numberring of Tx'ed datagrams

See merge request espressif/esp-idf!26085
2023-09-26 15:10:14 +08:00
liqigan
bdf8dd3d10 fix(bt/bluedroid): Fix the issue for HID congestion checking 2023-09-26 14:29:06 +08:00
David Cermak
05cde47281 fix(http_client): Set common tcp config to both TCP and SSL transport
Foundation transport contained TCP properties for both TCP and SSL
transport, so it was enough to set the TCP connection properties
(keepalive, interface binding) to one transport only. After merging
5778a7c7 we have separate TCP properties for these transports and need
to set the same for both.
This commit also fixes unnecessary allocation of 1 more byte for if_name

Closes https://github.com/espressif/esp-protocols/issues/322
2023-09-26 06:29:36 +02:00
zhanghaipeng
0f66c73f67 fix(bt/bluedroid): Fix set periodic advertising data error 2023-09-23 20:18:42 +08:00
Nachiket Kukade
29c6b5478a fix(examples/iperf): Update and rename default TCP/UDP buffer sizes 2023-09-22 15:13:57 +05:30
Ondrej Kosta
e7b171604a fix(examples/iperf): added sequential numberring of Tx'ed datagrams 2023-09-22 15:13:44 +05:30
harshal.patil
7e14e7f5bd feat(bootloader): Update micro-ecc version to v1.1
This fix ensures that https://nvd.nist.gov/vuln/detail/CVE-2020-27209 is not
reported by the ESP-IDF SBOM tool. Please note that, this CVE was anyways not
applicable for ESP32 platform, as the bootloader (user of micro-ecc library)
do not perform signing on the device, its only verification that happens in
secure-boot-v1 case.
2023-09-22 10:50:16 +05:30
chenjianhua
b7e76d96fb bluedroid: fix ble ext adv rand addr setting for NRPA 2023-09-21 21:34:35 +08:00
chenjianhua
375be9e109 bluedroid: fix ble adv data construct for device name 2023-09-21 21:34:23 +08:00
chenjianhua
b68fb2be7c bluedroid: fix ble smp key distribution setting 2023-09-21 21:33:54 +08:00
You Wei
ea2f6455a0 fix(ldgen): duplicate entries in the generated .ld file 2023-09-21 19:41:32 +08:00
You Wei
f9077cb073 fix(ldgen): check target conflict for entries with section alias 2023-09-21 19:41:32 +08:00
Sudeep Mohanty
c30e238b16 fix(freertos): 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 names.

Closes https://github.com/espressif/esp-idf/issues/12204
2023-09-21 13:16:51 +02:00
liqigan
146c8f24a6 change(bt/bluedroid): Limit sniff request when pending mode change event 2023-09-19 20:11:53 +08:00
LiPeng
7ca602e86b fix(vfs): Fix event_write may not exit critical section
This commit fixes the event_write() function where the critical section
was unbalanced.

Merges https://github.com/espressif/esp-idf/pull/12258
2023-09-19 08:53:58 +02:00
Lou Tianhao
fa12d24f1c feat(pm): add internal pull-up/downs option for gpio used for deepsleep wakeup 2023-09-19 11:16:20 +08:00
wuzhenghui
0b02441fe7 fix(esp_system): suppress compiler warning if ESP_SYSTEM_PANIC_SILENT_REBOOT is enabled 2023-09-19 10:51:24 +08:00
Eduardo Lacerda Campos
a2682d4ffb fix(uart): Fix uart_ll_set_baudrate div-by-zero crash due to uint32_t overflow
Merges https://github.com/espressif/esp-idf/pull/12179
2023-09-18 16:22:01 +08:00
Jakob Hasse
c266f260fb fix(pthread): fixed pthread_condvar linker hook 2023-09-18 12:31:43 +08:00
Rahul Tank
bf78b03cdc fix(nimble): Fix for memory leak/optimization 2023-09-15 13:13:53 +05:30
Island
e9d442d2b7 Merge branch 'backport_v4.4' into 'release/v4.4'
fix(bt/bluedroid): Fix memory no free issue when disconneting for mesh(backport v4.4)

See merge request espressif/esp-idf!25958
2023-09-15 14:20:51 +08:00
Marius Vikhammer
e557ed94fb fix(wdt): fixed potential WDT timeout when deinitializing task watchdog
If task WDT deinit was called from core 1 it would cause an interrupt WDT timeout
2023-09-14 13:16:46 +08:00
zhanghaipeng
19ed554062 fix(bt/bluedroid): Fix memory no free issue when disconneting for mesh 2023-09-13 18:15:41 +08:00
Sudeep Mohanty
484c77bdc9 feat(freertos): Added SBOM manifest file for SPDX file generation
This commit adds the SBOM manifest file for the FreeRTOS-Kernel to aid
SPDX file generation.
2023-09-08 12:57:44 +02:00
Peter Dragun
b266352f2f fix(tools): fix autocomplete for --port option
Closes https://github.com/espressif/esp-idf/issues/7970
2023-09-08 09:30:42 +02:00
Wang Mengyang
edcb1b58b7 ci(bt/bluedroid): Add CI build test for HFP examples with voice over HCI enabled 2023-09-08 11:39:50 +08:00
chenqingqing
482532b7d7 feat(bt/api): Add new apis for hfp to get the numbers of packet status received and sent 2023-09-08 11:29:26 +08:00
Jiang Jiang Jian
c57d30e1df Merge branch 'bugfix/reduce_bss_logging_v4.4' into 'release/v4.4'
WiFi: Reduce BSS logging in wpa_supplicant

See merge request espressif/esp-idf!25832
2023-09-07 22:36:57 +08:00
Michael (XIAO Xufeng)
df5df38458 Merge branch 'bugfix/tempsensor_wifi_conflict_v4.4' into 'release/v4.4'
temperature_sensor: Fix issue that have conflict with phy / Fix phy pwdet and tsens power cannot be set twice issue (v4.4)

See merge request espressif/esp-idf!25253
2023-09-07 14:15:16 +08:00
Kapil Gupta
102e0170c2 change(wifi): Reduce BSS logging in wpa_supplicant 2023-09-07 10:59:47 +05:30
Jin Cheng
21dfae06e4 fix(bt/bluedroid): Deleted the redundant 'memset' in btc_hf_cb_handler 2023-09-07 11:25:21 +08:00
Jin Cheng
8a6298c98e docs(bt/bluedroid): Changed the description of esp_hf_client_reject_call 2023-09-07 11:25:21 +08:00
Jin Cheng
13842a9e68 fix(bt/bluedroid): Fixed invalid access to freed semaphore 2023-09-07 11:25:21 +08:00
Jin Cheng
d1d736d471 fix(bt/bluedroid): Fixed wrong indexes of HF-AG indicators 2023-09-07 11:25:21 +08:00
Jin Cheng
87d4d95e59 fix(bt/bluedroid): Added peer Bluetooth device address into HF callback parameters 2023-09-07 11:25:19 +08:00
Jin Cheng
7723d1bada fix(bt/bluedroid): Changed log level from WARNING to DEBUG in bta_ag_sco_read_cback 2023-09-07 11:24:39 +08:00
Jin Cheng
d8e806de63 fix(bt/bluedroid): Fixed wrong code logic in 'AT+CIND?' of HFP 2023-09-07 11:24:39 +08:00
Jin Cheng
68e469d55f fix(bt/bluedroid): Fixed errors in parsing ATD command in HFP AG 2023-09-07 11:24:34 +08:00
Jin Cheng
7db846e809 fix(bt/bluedroid): Fixed NULL Bluetooth device address in HF-AG events was reported to application layer 2023-09-07 11:06:57 +08:00
Jiang Jiang Jian
da65a5c0db Merge branch 'bugfix/aes_dma_descriptor_setup_issue_v4.4' into 'release/v4.4'
fix(aes): correct the linking of the DMA descriptors (v4.4)

See merge request espressif/esp-idf!25786
2023-09-07 10:27:09 +08:00
zhangyanjiao
41c50a21ef fix(Wi-Fi/Vendor): fix ESPNOW send error when station connected to AP and modem sleep is enabled 2023-09-07 02:00:09 +00:00
Jiang Jiang Jian
ec205a7964 Merge branch 'feature/support_ble_53_host_feat_v4.4' into 'release/v4.4'
Support BLE host feature for PTS (backport v4.4)

See merge request espressif/esp-idf!25648
2023-09-07 09:59:20 +08:00
chenjianhua
669438ad8b bluedroid: add GATT read multi variable API and evt 2023-09-06 20:43:31 +08:00
chenjianhua
d0e6ca913e bluedroid: add periodic adv sync transfer API and EVT 2023-09-06 20:43:31 +08:00
chenjianhua
5ae83e59a3 bluedroid: support gatts show local database 2023-09-06 20:43:31 +08:00
chenjianhua
ec08c167ff bluedroid: fixed GATT multi notify and robust caching 2023-09-06 20:43:31 +08:00
chenjianhua
a57a8d8c32 bluedroid: add config for GAP service and periodic adv sync transfer 2023-09-06 20:43:31 +08:00
chenjianhua
8aafc35201 bluedroid: add internal GATT API for PTS 2023-09-06 20:43:31 +08:00
chenjianhua
53dd9f0a31 bluedroid: add config for robust caching and RPA timeout 2023-09-06 20:43:31 +08:00
chenjianhua
7e6b085c53 bluedroid: support GATT robust caching feature 2023-09-06 20:43:31 +08:00
chenjianhua
3565b74fa5 bluedroid: support GATT services database hash calculate 2023-09-06 20:43:31 +08:00
chenjianhua
a1ffb2580d bluedroid: support periodic advertising sync transfer cmd 2023-09-06 20:43:31 +08:00
chenjianhua
33c8ffa69a bluedroid: support LE L2CAP credit based connection 2023-09-06 20:43:31 +08:00
chenjianhua
650380e717 bluedroid: support oob pairing for smp secure connection 2023-09-06 20:43:31 +08:00
Jiang Jiang Jian
d152a5bb00 Merge branch 'bugfix/usb_serial_jtag_write_return_val_v4.4' into 'release/v4.4'
fix(usb_serial_jtag): Fix usb_serial_jtag wrong return value, vfs lose data randomly(backport v4.4)

See merge request espressif/esp-idf!25711
2023-09-06 16:39:47 +08:00
Jiang Jiang Jian
0fc94b1d9f Merge branch 'bugfix/backport_phy_v4.4' into 'release/v4.4'
fix(phy): backport some phy fix(v4.4)

See merge request espressif/esp-idf!25732
2023-09-06 16:36:05 +08:00
Marius Vikhammer
9f11e6fb1f Merge branch 'bugfix/intr_flags_to_level_v4.4' into 'release/v4.4'
fix(intr_flags_to_level): fix value returned one more than correct value (v4.4)

See merge request espressif/esp-idf!25426
2023-09-06 16:35:58 +08:00
Jiang Jiang Jian
1cb288ed8b Merge branch 'bugfix/fix_some_ble_bug_v4.4' into 'release/v4.4'
Fixed some BLE bugs (backport v4.4)

See merge request espressif/esp-idf!25728
2023-09-06 16:02:07 +08:00
morris
69fbe51d28 Merge branch 'bugfix/fix_adc_continuous_driver_conv_frame_issue_v4.4' into 'release/v4.4'
adc: fix adc continuous driver conv_frame_size not bigger than 4092 issue / pr 11500, use circular dma descriptors in adc continuous mode (v4.4)

See merge request espressif/esp-idf!24741
2023-09-06 14:19:24 +08:00
Mahavir Jain
4636443b49 fix(aes): correct the linking of the DMA descriptors
For certain data lengths, the last input descriptor was not getting appended
correctly and hence the EOF flag in the DMA descriptor link list was
set at incorrect location. This was resulting in the peripheral being
stalled expecting more data and eventually the code used to timeout
waiting for the AES completion interrupt.

Required configs for this issue:

CONFIG_MBEDTLS_HARDWARE_AES
CONFIG_SOC_AES_SUPPORT_DMA

This observation is similar to the issue reported in:
https://github.com/espressif/esp-idf/issues/10647

To recreate this issue, start the AES-GCM DMA operation with data length
12280 bytes and this should stall the operation forever.

In this fix, we are tracing the entire descriptor list and then appending the
extra bytes descriptor at correct position (as the last node).
2023-09-06 08:30:37 +05:30
Mahavir Jain
b64670b51e fix(aes-gcm): correct the DMA completion wait condition for hardware GCM case
DMA operation completion must wait until the last DMA descriptor
ownership has been changed to hardware, that is hardware is completed
the write operation for entire data. Earlier for the hardware GCM case,
the first DMA descriptor was checked and it could have resulted in some
race condition for non interrupt (MBEDTLS_AES_USE_INTERRUPT disabled) case.
2023-09-06 08:30:37 +05:30
alanmaxwell
ad3032c781 fix(ci): modify ble_prov example partition table 2023-09-06 10:49:58 +08:00
Rahul Tank
1f00708c84 Merge branch 'bugfix/add_nimble_50_feature_support_flag_v4.4' into 'release/v4.4'
fix(nimble): add flag to indicate 5.0 feature support(v4.4)

See merge request espressif/esp-idf!25765
2023-09-05 22:39:49 +08:00
chenjianhua
59825e3c9c update esp32 bt-lib (7b24543)
- Support BLE RX error packet count record
- Fixed instant setting for LLC procedures with instants
- Fixed adv random delay when adv interval is less than 20ms
2023-09-05 20:29:03 +08:00
chenjianhua
377501aaad Update bt lib for ESP32-C3 and ESP32-S3(59725b5)
- Support BLE RX error packet count record
- Fixed adv random delay when adv interval is less than 20ms
- Fixed adv random address setting when owner address type is public
2023-09-05 20:29:03 +08:00
chenjianhua
2792f318c3 Update bt lib for ESP32-C3 and ESP32-S3(ff6efe7)
- fix(bt/controller): Fixed PHY enable and disable
- feat(bt/controller): Support DAA and LBT mode for BLE CCA
2023-09-05 20:29:03 +08:00
zhanghaipeng
b06db3565a fix(bt): Fix bugs about updating connect param 2023-09-05 20:29:03 +08:00
zhanghaipeng
eb449b401a fix(bt): Fix bug while calculating block cipher using aes-128 2023-09-05 20:29:03 +08:00
zhanghaipeng
76e4e6601d docs(bt): Update comment in ble 2023-09-05 20:29:03 +08:00
zhanghaipeng
571e6f0580 feat(bt/bluedroid): Support periodic adv adi feature 2023-09-05 20:29:03 +08:00
chenjianhua
4dd50e9f34 fix(bt/bluedroid): Fixed BLE disconnect event report when disconnecting 2023-09-05 20:29:03 +08:00
chenjianhua
a5da0ebd0c fix(bt/bluedroid): Fixed GATTC cache address save when list is full 2023-09-05 20:29:03 +08:00
chenjianhua
0b3ea0fcde feat(bt/bluedroid): Support high duty adv interval setting 2023-09-05 20:29:03 +08:00
chenjianhua
30609ba7f0 fix(bt/bluedroid): Fix address check when using NRPA as random device address 2023-09-05 20:29:03 +08:00
alanmaxwell
e2782777a7 fix(phy): backport some phy fix
1. Fix WiFi not working with Tsens on ESP32S2
2. WIFI RX multipath optimization for all chips
3. BLE TX sideband optimization for C3/S3
4. Optimize ht40 tx side band issue for esp32
2023-09-05 11:21:16 +00:00
Michael (XIAO Xufeng)
56bd34a980 Merge branch 'fix/spi_polling_api_buslock_logic_v4.4' into 'release/v4.4'
fix(spi_master): polling_transmit forgot release bus lock when alloc DMA buffer failed (v4.4)

See merge request espressif/esp-idf!25699
2023-09-05 17:19:04 +08:00
morris
4b46cc06ec Merge branch 'bugfix/fix_psram_size_doc_s3_v4.4' into 'release/v4.4'
doc: update s3 psram vaddr max range size (v4.4)

See merge request espressif/esp-idf!25504
2023-09-05 14:57:40 +08:00
Rahul Tank
183eab756b fix(nimble): add flag to indicate 5.0 feature support 2023-09-05 11:21:22 +05:30
Armando
b282c244cb DMA EOF may happens per multiple dma descriptors, instead of only one.
Closes https://github.com/espressif/esp-idf/pull/11500
2023-09-05 11:18:56 +08:00
Armando
85ce6abdec Fix #10804 by running continuous ADC DMA in endless loop instead of restarting after each run (descriptor chain) to avoid losing samples. Use descriptor error callback for GDMA to check for DMA buffer overrun. 2023-09-05 11:18:56 +08:00
Armando
91da3bcdc1 adc: fix adc continuous driver conv_frame_size not bigger than 4092 issue 2023-09-05 11:18:52 +08:00
Jiang Jiang Jian
7588771b52 Merge branch 'bugfix/sdmmc_host_cclk_lp_v4.4' into 'release/v4.4'
sdmmc: keep clock enabled for the duration of ACMD41 (v4.4)

See merge request espressif/esp-idf!24335
2023-09-05 11:17:35 +08:00
Jiang Jiang Jian
4f0f7ba4b7 Merge branch 'bugfix/skip_using_cache_in_wrong_passwd_cfg_v4.4' into 'release/v4.4'
fix(esp_wifi): Skip PMK cache usage if configured password is incorrect (Backport v4.4)

See merge request espressif/esp-idf!25720
2023-09-05 10:15:01 +08:00
Shyamal Khachane
de293fbab7 fix(esp_wifi): Skip PMK cache usage if configured password is incorrect 2023-09-04 10:43:28 +05:30
Cao Sen Miao
e2eb773c30 fix(usb_serial_jtag): Fix usb_serial_jtag wrong return value, vfs lose data randomly,
Closes https://github.com/espressif/esp-idf/issues/12119,
Closes https://github.com/espressif/esp-idf/pull/11344,
Closes https://github.com/espressif/esp-idf/issues/9318
Closes https://github.com/espressif/esp-idf/issues/11192
2023-09-04 11:56:00 +08:00
Cao Sen Miao
8ce60fa50a bugfix(temperature_sensor): Fix issue that get the value is negative 2023-09-04 10:42:34 +08:00
Jiang Jiang Jian
93cb3d626d Merge branch 'bugfix/fix_pmf_set_race_v4.4' into 'release/v4.4'
fix(wifi): Prevent PMF config overwritten by tx_cb

See merge request espressif/esp-idf!25666
2023-09-04 10:33:21 +08:00
wanlei
b445b103c7 fix(spi_master): polling_transmit forgot release bus lock when alloc DMA buffer failed
Close https://github.com/espressif/esp-idf/issues/11845
2023-09-01 17:25:38 +08:00
Rahul Tank
d89b1e45fa Merge branch 'feat/add_high_duty_adv_interval_v4.4' into 'release/v4.4'
feat(nimble): Added support for high duty adv interval (v4.4)

See merge request espressif/esp-idf!25555
2023-09-01 15:02:24 +08:00
Cao Sen Miao
f0ca580c80 temperature_sensor: Apply new-shared interface in temperature sensor driver 2023-09-01 11:03:37 +08:00
Jiang Jiang Jian
2183fbc046 Merge branch 'feature/unicore_bootloader_can_run_multicore_app_v4.4' into 'release/v4.4'
esp_system: Fix case when multicore app can not be run if bootloader is unicore (v4.4)

See merge request espressif/esp-idf!23029
2023-09-01 10:18:49 +08:00
Jiang Jiang Jian
c2ddb5b79c Merge branch 'test/bqb_test_bt_classic_a2dp_v4.4' into 'release/v4.4'
fix(bt/avdtp): Reject SET CONFIGURATION command with error code INVALID_CODEC_TYPE(backport v4.4)

See merge request espressif/esp-idf!25687
2023-09-01 10:16:26 +08:00
Cao Sen Miao
6bb129620f temperature_sensor: Add new interface and reference counts so that phy and driver can use together 2023-09-01 10:06:31 +08:00
wanglai@espressif.com
08be89bd3e fix(bt/avdtp): Reject SET CONFIGURATION command with error code INVALID_CODEC_TYPE
1: reset p_scb->avdt_handle in cleanup function.
2: cancel comparing p_scb->codec_type and p_scb->seps[xx].codec_type to
   send the error INVALID_CODEC_TYPE.
2023-08-31 19:49:38 +08:00
Shreyas Sheth
4a80dc0123 fix(wifi): Prevent PMF config overwritten by tx_cb 2023-08-31 10:34:03 +05:30
Jiang Jiang Jian
c9c7322678 Merge branch 'contrib/github_pr_9694_v4.4' into 'release/v4.4'
add low power doc and picture (GitHub PR)(backport v4.4)

See merge request espressif/esp-idf!25592
2023-08-30 14:56:44 +08:00
Jiang Jiang Jian
77a8a3fd00 Merge branch 'bugfix/supplicant_osi_violation_v4.4' into 'release/v4.4'
Fix abstraction violation in wpa_supplicant (Backport v4.4)

See merge request espressif/esp-idf!25567
2023-08-30 11:53:24 +08:00
Jiang Jiang Jian
937b82e985 Merge branch 'contrib/github_pr_12039_v4.4' into 'release/v4.4'
docs(iperf): Update documentation with console interface details(v4.4)

See merge request espressif/esp-idf!25513
2023-08-30 10:58:19 +08:00
Jiang Jiang Jian
8ec3b606ca Merge branch 'bugfix/fix_no_mac_retention_at_wifi_start_v4.4' into 'release/v4.4'
fix(esp_wifi): fix no mac retention at wifi start

See merge request espressif/esp-idf!25519
2023-08-30 10:57:35 +08:00
wangtao
1e40e7074f backport for v4.4 delete esp32c2 and c6 info 2023-08-29 11:36:49 +08:00
chenjianxing
e94ea3fa90 docs: update power save part 2023-08-28 14:34:15 +08:00
wang tao
41cfb55042 add low power doc and picture
Merges https://github.com/espressif/esp-idf/pull/9694
2023-08-28 14:33:58 +08:00
Nachiket Kukade
46a4a4694b fix(supplicant): Fix abstraction violation in wpa_supplicant 2023-08-25 12:36:00 +05:30
Rahul Tank
13afbeb7cb feat(nimble): Added support for high duty adv interval 2023-08-25 10:36:31 +05:30
Rahul Tank
bd5f10b1fd Merge branch 'bugfix/remove_global_min_max_def_v4.4' into 'release/v4.4'
Nimble: Removes global min/max definition causing problems with other libraries(v4.4)

See merge request espressif/esp-idf!25472
2023-08-25 01:17:12 +08:00
liuning
a844799d82 fix(esp_wifi): fix no mac retention at wifi start 2023-08-24 10:17:13 +08:00
Steven Macías
64c10df180 docs(iperf): Update documentation with console interface details
Closes https://github.com/espressif/esp-idf/pull/12039
2023-08-23 19:53:43 +08:00
Armando
6e465a16a7 doc: update s3 psram vaddr max range size 2023-08-23 19:25:47 +08:00
Jiang Jiang Jian
b9e8e0ef4e Merge branch 'bugfix/ignore_eapol_nonkey_v4.4' into 'release/v4.4'
Ignore EAPOL non-key frames in EAPOL txdone callback (Backport v4.4)

See merge request espressif/esp-idf!25454
2023-08-23 16:38:53 +08:00
Rahul Tank
6d6a0eddc9 fix(nimble): Removed global min/max definition causing problems with other libraries 2023-08-23 11:15:50 +05:30
Jiang Jiang Jian
37cf841a12 Merge branch 'bugfix/incr_sdp_max_conns_v4.4' into 'release/v4.4'
fix(bt): Increased SDP maximum connections to avoid connection exhausted (v4.4)

See merge request espressif/esp-idf!25431
2023-08-23 12:15:37 +08:00
Jiang Jiang Jian
0f775fa566 Merge branch 'bugfix/action_tx_sleep_fix_v44' into 'release/v4.4'
Fix issues with action_frame tx and scan(v4.4)

See merge request espressif/esp-idf!25449
2023-08-23 12:15:28 +08:00
Marius Vikhammer
5f0ac58e1b Merge branch 'feature/usb_host_restrict_ahb_errata_workaround_to_esp32s2_eco0_v4.4' into 'release/v4.4'
USB Host: Restrict ESP32-S2 AHB errata workaround to only ECO0 chips (v4.4)

See merge request espressif/esp-idf!25051
2023-08-22 23:21:43 +08:00
Darian Leung
5cb212665a soc: Move revision MAX/MIN static assert to esp_hw_support
Previously, "soc/chip_revision.h" contained a static assert to check that the
CONFIG_ESP_REV_MIN_FULL <= CONFIG_ESP_REV_MAX_FULL. There are two issues with
this assert:

- Contained in a header file, so it is only compiled if the "chip_revision.h"
is included somewhere
- CONFIG_ESP_REV_MIN_FULL and CONFIG_ESP_REV_MAX_FULL are defined in
"esp_hw_support", which is a G0 component. This creates a reverse dependency
of G0 on G1.

This commit moves the static assert "revision.c" in "esp_hw_support"
2023-08-22 16:07:09 +08:00
Darian Leung
60e42f30c4 usb_host: Restrict ESP32-S2 AHB errata workaround to only ECO0 chips 2023-08-22 15:43:39 +08:00
Mahavir Jain
08ae96d72f Merge branch 'contrib/github_pr_11869_v4.4' into 'release/v4.4'
bugfix: avoid warning in espcoredump when log disabled (GitHub PR) (v4.4)

See merge request espressif/esp-idf!25145
2023-08-22 13:33:10 +08:00
Nachiket Kukade
29d9e6f01a fix(supplicant): Ignore EAPOL non-key frames in EAPOL txdone callback 2023-08-21 18:46:27 +05:30
jgujarathi
b53b835754 fix(esp_wifi) : Fix issues with action_frame tx and scan
1. Moves the location of null data frame TX to before channel switch during
   offchannel action frame TX req.
2. Reverts Send wake up and sleep null between scanning.
2023-08-21 16:43:14 +05:30
Jiang Jiang Jian
0cadcd1210 Merge branch 'bugfix/fix_espnow_set_lr_rate_fail_v4.4' into 'release/v4.4'
fix(wifi/vendor): fix some bugs in LR and ESP-NOW (backport v4.4)

See merge request espressif/esp-idf!25407
2023-08-21 15:21:33 +08:00
Aditya Patwardhan
ab260561ab Merge branch 'bugfix/sha_dma_mode_incorrect_result_v4.4' into 'release/v4.4'
fix(sha): DMA mode iteration calculation issue for certain data lengths (v4.4)

See merge request espressif/esp-idf!25129
2023-08-21 14:33:44 +08:00
Jiang Jiang Jian
486c571ed7 Merge branch 'bugfix/place_esp_timer_in_internal_memory' into 'release/v4.4'
ci: Fix for `ETSTimers arm & disarm run from IRAM` UT

See merge request espressif/esp-idf!25366
2023-08-21 14:27:34 +08:00
Jin Cheng
83f6cc60bc fix(bt): Increased SDP maximum connections to avoid connection exhausted 2023-08-21 11:23:20 +08:00
Jiang Jiang Jian
d8484f00db Merge branch 'bugfix/neighbour_report_crash_v44' into 'release/v4.4'
fix(rrm)  : Fix crash in RRM neighbour report requests.

See merge request espressif/esp-idf!25410
2023-08-21 11:15:31 +08:00
Planck (Lu Zeyu)
21c0223f74 fix(intr_flags_to_level): fix value returned one more than correct value 2023-08-21 10:09:11 +08:00
Mahavir Jain
a49e0180ee Merge branch 'feature/update_mbedlts_v2.28.4' into 'release/v4.4'
feat(mbedtls): Update to release v2.28.4

See merge request espressif/esp-idf!25385
2023-08-18 15:33:19 +08:00
jgujarathi
8084fe563a fix(rrm) : Fix crash in RRM neighbour report requests.
Fix crash in sending new RRM neighbour report requests by removing
the call to neighbour report request timeout callback in case of
already ongoing neighbour report request timer.
2023-08-18 12:59:33 +05:30
zhangyanjiao
fd4b3768d1 fix(wifi/vendor): fix some bugs in LR and ESP-NOW
1. Fix the LR rate set fail for espnow and 80211 tx
2. Fixed the RX error when softAP/station and ESP-NOW both encrypted,
   and the ESP-NOW peer address is equal to the connection peer address
2023-08-18 15:08:21 +08:00
Jiang Jiang Jian
e6bd433488 Merge branch 'bugfix/eapol_txdone_cb_issue_v4.4' into 'release/v4.4'
Fix EAPOL Key TxDone callback implementation (Backport v4.4)

See merge request espressif/esp-idf!25382
2023-08-18 01:12:39 +08:00
Harshit Malpani
c112914dac feat(mbedtls): Update to release v2.28.4 2023-08-17 10:37:19 +05:30
Nachiket Kukade
debcbac7c1 fix(wifi): Fix EAPOL Key TxDone callback implementation
Fix issues arising due to not distinguishing between M2 and M4
TxDone during 4-way handshake. Also fix EAPOL frame rate to lowest
possible rate.
2023-08-16 21:15:04 +05:30
Laukik Hase
4800e9b3c4 ci: Fix for ETSTimers arm & disarm run from IRAM UT
- For ESP32 | SPIRAM_MALLOC_ALWAYSINTERNAL=0
- Forced `esp_timer_create` to allocate resource from the internal memory
- WiFi/BT coexistence will sometimes arm/disarm timers from an ISR
  where flash may be disabled. This can lead to a cache-based
  exception as the timer instance will be located in the PSRAM.
2023-08-16 11:13:39 +08:00
Jiang Jiang Jian
8c1e87e0c8 Merge branch 'backport_v4.4' into 'release/v4.4'
fix(bt): Fix ble periodic advertising data length 0 error(backport v4.4)

See merge request espressif/esp-idf!25008
2023-08-16 10:16:14 +08:00
Jiang Jiang Jian
ba29708f3e Merge branch 'bugfix/fix_ftm_error_propagation_v4.4' into 'release/v4.4'
Fix error propagation while initiating FTM (Backport v4.4)

See merge request espressif/esp-idf!25219
2023-08-15 14:00:10 +08:00
Jiang Jiang Jian
9632511b8a Merge branch 'bugfix/minor_enterprise_fixes_v4.4' into 'release/v4.4'
Drop Eapol msg if EAP success is not processed (Backport v4.4)

See merge request espressif/esp-idf!25068
2023-08-15 11:06:20 +08:00
Wang Meng Yang
d1f93778d4 Merge branch 'bugfix/remove_deprecated_err_code_v4.4' into 'release/v4.4'
fix(bt): Removed an incorrectly defined HCI error code (4.4)

See merge request espressif/esp-idf!25290
2023-08-14 15:09:42 +08:00
Rahul Tank
48e28cf3cf Merge branch 'bugix/nimble_port_run_crash_v4.4' into 'release/v4.4'
fix(nimble): Added checks before accessing event pointers (v4.4)

See merge request espressif/esp-idf!25268
2023-08-09 22:59:02 +08:00
Jin Cheng
b48eb195b8 fix(bt): Removed an incorrectly defined HCI error code 2023-08-09 17:38:37 +08:00
Roland Dobai
41b695a991 Merge branch 'bugfix/link_gcov_rtio_v4.4' into 'release/v4.4'
gcov: Fix not linked gcov rtio functions

See merge request espressif/esp-idf!24503
2023-08-09 00:14:02 +08:00
Roland Dobai
8aa1395db5 Merge branch 'fix/esp32s3_sysview_trace_corrupt_v4.4' into 'release/v4.4'
fix(app_trace): Fix apptrace data corruption on ESP32-S3 (v4.4)

See merge request espressif/esp-idf!24682
2023-08-09 00:06:00 +08:00
Roland Dobai
550e7db1f1 Merge branch 'bugfix/fix_idrom_bus_mapping_overlap_issue_v4.4' into 'release/v4.4'
fix(esptool): fix potential text/rodata overlap mapping issue on I/DBUS shares mmu entry chips (backport v4.4)

See merge request espressif/esp-idf!25195
2023-08-08 22:08:36 +08:00
isha.pardikar@espressif.com
863fd0c9b7 fix(nimble): Added checks before accessing event pointers 2023-08-08 15:55:08 +05:30
Roland Dobai
013b6b3d4f Merge branch 'version_check_fix_dev_4.4' into 'release/v4.4'
fix(tools): check_python_version accept dev releases as requirement (v4.4)

See merge request espressif/esp-idf!25189
2023-08-08 15:22:13 +08:00
morris
1efa7866ec Merge branch 'bugfix/i80_lcd_reset_gpio_config_v4.4' into 'release/v4.4'
fix(i80_lcd): reset cs gpio on exit (v4.4)

See merge request espressif/esp-idf!25245
2023-08-08 10:16:23 +08:00
morris
6c1182facd fix(i80_lcd): reset cs gpio on exit 2023-08-07 15:54:31 +08:00
Roland Dobai
9ff0e96803 Merge branch 'bugfix/sbom_hash_check_v4.4' into 'release/v4.4'
fix(test_submodules.py): don't rely on submodule init (v4.4)

See merge request espressif/esp-idf!25061
2023-08-07 14:04:34 +08:00
Wang Meng Yang
9e987ea312 Merge branch 'bugfix/role_switch_enc_mode_lmp_timeout_v4.4' into 'release/v4.4'
fix(bt/controller): Fix disconnection due to lmp messages not being processed by both sides(v4.4)

See merge request espressif/esp-idf!25204
2023-08-07 10:50:16 +08:00
Peter Dragun
3d81080601 fix(tools): check_python_version accept dev releases as requirement 2023-08-04 14:19:29 +02:00
Rahul Tank
1282ae089d Merge branch 'bugfix/handle_NULL_data_periodic_adv_v4.4' into 'release/v4.4'
fix(nimble): Add check to set length only if data is valid in periodic adv (v4.4)

See merge request espressif/esp-idf!25180
2023-08-04 19:45:13 +08:00
Nachiket Kukade
b2fa416db4 fix(wifi): Fix error propagation while initiating FTM 2023-08-04 15:34:20 +05:30
xiongweichao
c372c48439 fix(bt/controller): Fix disconnection due to lmp messages not being processed by both sides
The master sent lmp_enc_mode_req, and the slave sent lmp_switch_req.
However, both sides failed to handle the LMP message, resulting in LMP timeout.
2023-08-04 11:07:41 +08:00
wuzhenghui
96a014f31d fix(esptool): fix potential text/rodata mapping overlap issue on I/DBUS shares mmu entry chips 2023-08-03 22:18:52 +08:00
Rahul Tank
190e4dee28 fix (nimble): Add check to set length only if data is valid in periodic adv 2023-08-03 14:51:30 +05:30
Jiang Jiang Jian
6b27c05de0 Merge branch 'bugfix/fix_cache_data_mem_corrupt_after_sleep_v4.4' into 'release/v4.4'
fix(lightsleep): Suspend cache before goto sleep to avoid cache load wrong data (backport v4.4)

See merge request espressif/esp-idf!25104
2023-08-03 11:41:31 +08:00
Jiang Jiang Jian
8a38bc2fed Merge branch 'change/rewrite_all_low_to_any_low_when_not_esp32_4.4' into 'release/v4.4'
Change: rewrite EXT1 triggle mode all_low to any_low when not esp32(backport v4.4)

See merge request espressif/esp-idf!24989
2023-08-03 11:40:24 +08:00
Roland Dobai
681f55b386 Merge branch 'bugfix/ps_export_extra_paths_v4.4' into 'release/v4.4'
tools: export.ps1: define functions for helper python tools (v4.4)

See merge request espressif/esp-idf!25142
2023-08-02 22:08:18 +08:00
Christoph Baechler
e74f83c099 bugfix: avoid warning in espcoredump when log disabled 2023-08-02 15:04:47 +05:30
Ivan Grokhotkov
2c79e039ba feat(tools): add espsecure.py to the Windows export scripts
This is not needed on Linux/macOS where the path to esptool directory
is added to PATH.
2023-08-02 11:30:21 +02:00
Ivan Grokhotkov
111984aad6 change(tools): export.ps1: define functions for helper python tools
Follows the approach used in Initialise-Idf.ps1 created by the tools
installer. This is the closes equivalent of "alias" used in export.bat

Closes https://github.com/espressif/esp-idf/issues/9849
2023-08-02 11:30:21 +02:00
Mahavir Jain
847722e21c ci(test): add SHA DMA mode test for large data in PSRAM
Covers a test scenario described in following issue:
https://github.com/espressif/esp-idf/issues/11915
2023-08-02 10:19:31 +05:30
Mahavir Jain
2aa5963bbd fix(sha): DMA mode iteration calculation issue for certain data lengths
SHA hardware DMA mode calculation had off-by-one error for specific
input lengths. This was causing last chunk of the input data not being
fed to the hardware accelerator and hence resulting in an incorrect
final result.

Closes: https://github.com/espressif/esp-idf/issues/11915
2023-08-02 10:18:12 +05:30
wuzhenghui
2df2c1cc46 fix(lightsleep): fix access pu_cfg after sleep wake wakeup which is linked to flash 2023-08-01 16:42:59 +08:00
wuzhenghui
ae0824684c fix(lightsleep): suspend cache before goto sleep to avoid cache load wrong data after spi io isolation 2023-08-01 10:39:07 +08:00
Alexey Gerenkov
865f7d6289 fix(app_trace): Fix apptrace data corruption on ESP32-S3
Close https://github.com/espressif/esp-idf/issues/10604
diff --git a/components/soc/esp32s3/include/soc/tracemem_config.h b/components/soc/esp32s3/include/soc/tracemem_config.h
index 55c9b907dd..75fd87419b 100644
--- a/components/soc/esp32s3/include/soc/tracemem_config.h
+++ b/components/soc/esp32s3/include/soc/tracemem_config.h
@@ -10,7 +10,7 @@ extern "C" {
 #endif

 #define TRACEMEM_MUX_BLK0_NUM                   22
-#define TRACEMEM_MUX_BLK1_NUM                   23
+#define TRACEMEM_MUX_BLK1_NUM                   26

 #if (TRACEMEM_MUX_BLK0_NUM < 6) || (TRACEMEM_MUX_BLK0_NUM > 29)
 #error Invalid TRAX block 0 num!
2023-07-31 11:23:42 +03:00
Frantisek Hrbata
3dd24c70fc fix(test_submodules.py): don't rely on submodule init
Current version of the test is using "git-submodule foreach", which
requires submodules to be initialized. Non-initialized submodules are
ignored. Our CI is not performing submodule initialization, but instead
it only downloads the submodule content in tools/ci/ci_fetch_submodule.py
from cache and copies it into the submodule path.

Since we already know the submodule path from .gitconfig, we can use it
as argument to git-ls-tree and avoid calling git-submodule at all. This
allows to perform the test even if the submodules are not initialization
and also it makes the code simpler.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-07-28 12:17:14 +02:00
Shyamal Khachane
78f230f1b0 fix(esp_wifi): Drop Eapol msg if EAP success is not processed 2023-07-28 15:19:31 +05:30
Jiang Jiang Jian
949739c9b7 Merge branch 'bugfix/fix_wifi_espnow_coexist_API_doc_v4.4' into 'release/v4.4'
fix(esp_wifi): fix ret when setting channel at wifi not started

See merge request espressif/esp-idf!25018
2023-07-28 16:39:39 +08:00
morris
f1d3f04afd Merge branch 'bugfix/bod_glitch_reset_c6_v4.4' into 'release/v4.4'
bootloader: fix BOD and glitch reset on C6 and H2 (v4.4)

See merge request espressif/esp-idf!24936
2023-07-28 10:30:29 +08:00
Jiang Jiang Jian
d3dcc50743 Merge branch 'bufix/Backport_some_lwip_bugs_for_4.4_0726' into 'release/v4.4'
Backport some lwip bugs for 4.4

See merge request espressif/esp-idf!24999
2023-07-27 13:33:46 +08:00
liuning
a9559e17ac fix(esp_wifi): fix ret when setting channel at wifi not started 2023-07-27 10:43:11 +08:00
zhanghaipeng
abd4778195 fix(bt): Fix bug with address resolution enabling during non-connected activities 2023-07-26 16:39:34 +08:00
zhanghaipeng
8e632e84a1 docs(bt): Organize header files for esp32c3 and esp32s3 2023-07-26 16:39:34 +08:00
zhanghaipeng
f25afd6afe fix(bt): Fix ble periodic advertising data length 0 error
- Fixed issues about data length 0 when set ext adv data,ext scan rsp data and periodic adv data
2023-07-26 16:39:34 +08:00
xueyunfei
6a1ded6302 fix(dhcp server): Fix dhcp server address pool issue 2023-07-26 12:48:20 +08:00
xueyunfei
9a942e6a1b Backport some lwip bugs for 4.4
* Update submodule: git log --oneline 8290c3b8f2adaf82aa45ec992b87f16205f2689b..4f24c9baf9101634b7c690802f424b197b3bb685

Detailed description of the changes:
- lower the dhcp discover and request retry backoff time (esp-lwip@4f24c9ba)
- netdb:fixed bug for getaddrinfo returns null when IPV4 mapped address (esp-lwip@a4d70c7e)
2023-07-26 12:42:57 +08:00
xueyunfei
f4941be709 esp_phy:update comments in esp_phy_init.h 2023-07-26 11:58:11 +08:00
Lou Tianhao
40954d1eb6 docs(pm/sleep): rewrite_all_low_to_any_low_when_not_esp32 2023-07-26 11:49:30 +08:00
Jiang Jiang Jian
cc71308e2f Merge branch 'bugfix/fix_some_wifi_bugs_230725_v4.4' into 'release/v4.4'
fix(wifi): fix some wifi bugs 20230725(Backport v4.4)

See merge request espressif/esp-idf!24982
2023-07-26 10:31:07 +08:00
Mahavir Jain
6069e3b992 Merge branch 'ci/fix_failures_in_esp_http_client_example_v4.4' into 'release/v4.4'
CI: fix esp_http_client example failures in CI. Timeout was observed in the... (v4.4)

See merge request espressif/esp-idf!24966
2023-07-25 19:23:03 +08:00
Lou Tianhao
7aa3079e2a Change: rewrite EXT1 triggle mode all_low to any_low when not esp32 2023-07-25 17:52:09 +08:00
muhaidong
911653fffb fix(wifi): fix some wifi bugs 230725
1. update pairwise cipher in softAP
2. overwrite pairwise cipher when softap auth mode is wpa2 wpa2_wpa3 wpa3
3. fix single tail queue conjunct issue
4. fix some txop issues
5. process association request verify ssid
6. fix sta rx csa issue
7. fix ftm timer macro issue
2023-07-25 13:01:48 +08:00
muhaidong
f563e19e92 fix(wifi): missed annotate ld function from txop fix 2023-07-25 12:54:20 +08:00
muhaidong
91d4132f4c esp_wifi: fix some txop issues 2023-07-25 12:52:42 +08:00
muhaidong
fe74683489 esp_supplicant: When the softAP authentication mode is set to WPA2_PSK, WPA2_WPA3_PSK, or WPA3_PSK, the pairwise cipher will be overwritten with WIFI_CIPHER_TYPE_CCMP 2023-07-25 12:48:46 +08:00
morris
cc484c59c8 Merge branch 'bugfix/fix_gpio_driver_calloc_v4.4' into 'release/v4.4'
fix(gpio): fix potential crash when processing gpio isr (v4.4)

See merge request espressif/esp-idf!24903
2023-07-25 11:03:29 +08:00
Jiang Jiang Jian
3b570fd9cd Merge branch 'bugfix/sae_and_nvs_fixes_v4.4' into 'release/v4.4'
Fix SAE and SAE related NVS issues (Backport v4.4)

See merge request espressif/esp-idf!24926
2023-07-25 10:25:29 +08:00
Jiang Jiang Jian
2985657544 Merge branch 'bugfix/cache_writeback_bug_v4.4' into 'release/v4.4'
esp_rom: patch Cache_WriteBack_Addr (backport v4.4)

See merge request espressif/esp-idf!24939
2023-07-24 19:33:07 +08:00
Shyamal Khachane
5708e53f3e fix(wifi): Fix SAE and SAE related NVS issues
1. Discard commit frame received at confirmed state in SAE STA
2. Bugfix NVS get values for sae pwe
3. Bugfix memory leak caused by assoc retry timer and assoc IE
2023-07-24 15:34:41 +05:30
Harshit Malpani
fad1535a15 fix(ci): update HTTP client example tests runner assignment
HTTP client example tests now connect with locally hosted httpbin service
for more stable results across multiple runs
2023-07-24 11:38:11 +05:30
Harshit Malpani
4243dc465c CI: fix esp_http_client example failures in CI. Timeout was observed in the logs while performing HTTP requests. Changing the endpoint when testing in CI 2023-07-24 11:35:39 +05:30
Rahul Tank
8d35a4750c Merge branch 'bugfix/handle_conn_type_and_array_reset_v4.4' into 'release/v4.4'
fix(nimble): Update connection type in reattempt connection code (v4.4)

See merge request espressif/esp-idf!24917
2023-07-24 12:23:52 +08:00
gaoxiaojie
f093dcc9cb fix(cache): add lock to protect cache sync operation 2023-07-24 10:45:00 +08:00
gaoxiaojie
25603522e8 fix(esp32s3): patch Cache_WriteBack_Addr api
Need to ensure that the cacheline being written back will not be
accessed during the write back process.
2023-07-24 10:45:00 +08:00
Jiang Jiang Jian
ec07e2e1aa Merge branch 'bugfix/fix_ftm_dist_est_v4.4' into 'release/v4.4'
FTM calibration update and improvements in FTM (Backport v4.4)

See merge request espressif/esp-idf!24930
2023-07-21 19:28:23 +08:00
Mahavir Jain
25437efec2 Merge branch 'fix/esp_aes_return_values_v4.4' into 'release/v4.4'
fix(mbedtls): fix return values of esp-aes APIs (v4.4)

See merge request espressif/esp-idf!24807
2023-07-21 16:49:13 +08:00
Nachiket Kukade
fb64c24785 fix(esp_wifi): Update FTM calibration and fix other FTM issues
Update wifi libs with below fixes -

1. Bugfixes in Initiator and Responder mode
2. Fix wrong RTT value in first FTM procedure without connection
3. Update FTM calibration values for ESP32S2, S3 and C3
4. Update distance estimation logic
5. Add some useful command parameters in FTM example
6. Fix bug when number of FTM measurement frames received is more
   than (number_of_brusts * FTMs per brust).

Co-authored-by: Sarvesh Bodakhe <sarvesh.bodakhe@espressif.com>
2023-07-21 10:08:18 +05:30
Xiao Xufeng
39510e7488 bootloader: cleanup ana reset config code 2023-07-21 03:12:53 +08:00
Xiao Xufeng
2ed2e7e191 bootloader: fixed super watchdog not enabled issue on C3, S3, H4 2023-07-21 03:12:52 +08:00
Xiao Xufeng
2cdb3b87d6 bootloader: removed unavailable rtc features 2023-07-21 03:12:52 +08:00
harshal.patil
ae3026a60b fix(mbedtls): Fixed the transmission of return values of the esp-aes APIs
- Earlier, some intermediate return values were not stored and returned,
thus incorrect return values used to get transmitted to the upper layer of APIs.

- Also, zeroised the output buffer in case of error condition.
2023-07-20 18:54:37 +05:30
Ivan Grokhotkov
53b0c359bb examples: wifi/ftm: make global variables static
Prevents conflict between g_ftm_report_num_entries defined in the
example and in the Wi-Fi library.
2023-07-20 18:50:52 +05:30
Jiang Jiang Jian
c739cdf50d Merge branch 'bugfix/fix_some_wifi_bugs_230719_v4.4' into 'release/v4.4'
fix(wifi): fix some wifi bugs 230719 (backport v4.4)

See merge request espressif/esp-idf!24898
2023-07-20 16:17:17 +08:00
Rahul Tank
dd0a5c0c26 fix(nimble): Update connection type in reattempt connection code
Added change to set connection type correctly and clear array when it is
    full in reattempt connection flow
2023-07-20 09:40:24 +05:30
zhangyanjiao
a803c50427 fix(wifi): Add bugfixes and improvements
1. Update wifi security mode
2. Add check for memory allocation in tx buffers
3. Fix association refused temporarily comeback time set to zero issue
4. Vnd ie callback can be set to null
2023-07-20 10:26:48 +08:00
Li Shuai
6900837cff Wi-Fi/power save: fix the some mac issues of wifi power save
Some APs are configured to hide the SSID, the length field of the SSID element
in the Beacon frame is set to 0. This can cause incorrect parsing of the Beacon
by the Wi-Fi MAC hardware.

Some APs send two beacon frames with different BSSID in a TBTT cycle. After
correctly parsing the beacon of the associated AP, it continue to receive the
other beacon frame, which will cause the MAC to remain in a wait RX/TXING
state, blocking the Wi-Fi go to sleep.
2023-07-20 10:26:48 +08:00
Rotzbua
d360cdbd15 doc: remove WEP as security mode
Signed-off-by: zhangyanjiao <zhangyanjiao@espressif.com>

Closes https://github.com/espressif/esp-idf/pull/10015
2023-07-20 10:26:48 +08:00
david zuhn
c16095d7bb spelling correction in documentation
Signed-off-by: zhangyanjiao <zhangyanjiao@espressif.com>

Closes https://github.com/espressif/esp-idf/pull/9721
2023-07-20 10:26:48 +08:00
zhangyanjiao
d829f2485e feat(wifi): Add API to get RSSI info after station connects to AP
- Add esp_wifi_sta_get_rssi() function to retrieve RSSI info after station connects to AP
2023-07-20 10:26:43 +08:00
Jiang Jiang Jian
4fc8964ec3 Merge branch 'bugfix/split_scan_tx_v44' into 'release/v4.4'
Fix collection of issues in sta roam and scan.(v4.4)

See merge request espressif/esp-idf!24883
2023-07-19 23:25:06 +08:00
Song Ruo Jing
8e3f509cd2 fix(gpio): fix potential crash when processing gpio isr
If CONFIG_SPIRAM_USE_MALLOC is enabled, and cache is disabled when GPIO ISR is triggered,
it would lead to Guru Meditation Error due to "Cache disabled but cached memory region accessed".

Closes https://github.com/espressif/esp-idf/issues/11876
2023-07-19 20:02:13 +08:00
jgujarathi
9168b925d4 fix(esp_wifi) : Fix collection of issues in sta roam and scan.
1) Fix issue during split scan to allow for data tx.
2) Fix issue when parsing wpa_ie to set correct authmode when AP
supports both WPA_EAP and WPA_EAP_SHA256 authmode.
Closes https://github.com/espressif/esp-idf/issues/11202
3) Fix an occasional crash during sta roam.
4) Add home_channel_dwell_time to wifi_scan_config_t. This allows
configuration of the time spent between scanning consecutive
channels for tx.
5) Adds a obss scan timer disarm when a sta disconnects from an AP
2023-07-19 10:46:43 +05:30
Jiang Jiang Jian
208c0feea3 Merge branch 'bugfix/wifi_prov_deinit_github_v4.4' into 'release/v4.4'
wifi_prov_mgr: Fixed memory leak after bluetooth stack was stopping. (v4.4)

See merge request espressif/esp-idf!23438
2023-07-19 10:12:49 +08:00
Jiang Jiang Jian
2dd51c10a0 Merge branch 'bugfix/fix_some_bluedroid_bugs_v4.4' into 'release/v4.4'
Fixed some bluedroid bugs (backport v4.4)

See merge request espressif/esp-idf!24862
2023-07-19 10:09:05 +08:00
Ivan Grokhotkov
e246071d6d sdmmc: keep clock enabled for the duration of ACMD41
SD specification requires that card clock is not disabled until the
card is idle, following ACMD41 command.
2023-07-18 18:17:48 +02:00
chenjianhua
b2325e50bb fix(bt/bluedroid): Fix memory leak of gattc cache upon disconnection 2023-07-18 11:53:24 +08:00
chenjianhua
bddb13efb2 bluedroid: fixed gatt tcb free when disconnecting 2023-07-18 11:53:14 +08:00
chenjianhua
2101438df6 bluedroid: fixed compile warning when optimize for performance 2023-07-18 11:52:49 +08:00
Jiang Jiang Jian
fc31da6cf3 Merge branch 'docs/update_bluetooth_power_save_readme_v4.4' into 'release/v4.4'
Docs: update bluetooth power save readme(v4.4)

See merge request espressif/esp-idf!24846
2023-07-18 10:48:44 +08:00
Jiang Jiang Jian
922af41ba0 Merge branch 'backport_v4.4' into 'release/v4.4'
fix(bt): Fix the issue of not printing the Bluetooth MAC address for ESP32(backport v4.4)

See merge request espressif/esp-idf!24778
2023-07-18 10:47:53 +08:00
Jiang Jiang Jian
558398f234 Merge branch 'bugfix/multiple_btm_rrm_task_v44' into 'release/v4.4'
Fix race conditions in btm task deletion.(v4.4)

See merge request espressif/esp-idf!24831
2023-07-18 10:47:11 +08:00
Jiang Jiang Jian
9983bc0144 Merge branch 'bugfix/resume_ext_scan_pti_in_time_v4.4' into 'release/v4.4'
bt: fix the issue that BLE scan uses high priority incorrectly and causes Wi-Fi unable to work normally on ESP32-C3 and ESP32-S3(backport v4.4)

See merge request espressif/esp-idf!24405
2023-07-18 10:46:27 +08:00
xiongweichao
098a378c86 docs(bt/example): Updated bluetooth power save readme 2023-07-17 17:14:00 +08:00
xiongweichao
a709c402a6 docs(sleep_modes): Updated Wi-Fi/Bluetooth and Sleep Modes in docs 2023-07-17 17:13:22 +08:00
wangmengyang
1e1c46b2f7 bt-coexist: fix the issue for BLE scan in using whitelist that scan PTI keeps high and not resumes after reception of ADV_EXT_IND but no AUX_ADV_IND followed on ESP32-C3 and ESP32-S3, which causes Wi-Fi unable to work normally 2023-07-17 06:17:18 +00:00
isha.pardikar@espressif.com
29ff30b4c7 wifi_prov_mgr: Fixed memory leak after bluetooth stack was stopping. 2023-07-17 06:05:36 +00:00
jgujarathi
9ea42c66d0 fix(esp_wifi): Fix race conditions in btm task deletion.
Fix possible cases of multiple btm_rrm_t tasks due to possible race
condition during btm task deletion.
2023-07-17 10:17:00 +05:30
Jiang Jiang Jian
ed8033ca79 Merge branch 'bugfix/sae_crypto_optimization_esp32_v4.4' into 'release/v4.4'
esp_wifi: Optimize sae crypto operations for esp32 (v4.4)

See merge request espressif/esp-idf!24762
2023-07-17 10:31:36 +08:00
Roland Dobai
1718080340 Merge branch 'pkg_resources_deprecation-v4.4' into 'release/v4.4'
fix(tools/python_dep_check): replace deprecated pkg_resources with importlib (backport v4.4)

See merge request espressif/esp-idf!24716
2023-07-14 22:19:52 +08:00
Peter Dragun
fd96dafc2b fix(tools/python_dep_check): replace deprecated pkg_resources with importlib 2023-07-14 14:38:15 +02:00
zhanghaipeng
05faa8f213 fix(bt): Fix the issue of not printing the Bluetooth MAC address for ESP32
- Add a log statement to print the Bluetooth MAC address
2023-07-13 16:42:06 +08:00
zhanghaipeng
688c7b41ec fix(bt): Fix ble advertising data length 0 error
- Fixed an issue where the BLE advertisement length of 0 was causing an error
2023-07-13 16:42:06 +08:00
morris
703e116225 Merge branch 'bugfix/fix_s3_adc1_wrong_clk_div_v4.4' into 'release/v4.4'
fix(adc): fixed esp32, esp32s2,esp32s3 adc oneshot mode clk div issue (v4.4)

See merge request espressif/esp-idf!24745
2023-07-13 15:48:39 +08:00
Kapil Gupta
9e7b55ac99 esp_wifi: Optimize sae crypto operations for esp32 2023-07-13 09:47:32 +05:30
Jiang Jiang Jian
330f8cbee8 Merge branch 'bugfix/btm_scan_done_crash_v44' into 'release/v4.4'
fix(wpa_supplicant) : Fix occasional crash during btm roam.

See merge request espressif/esp-idf!24733
2023-07-13 07:57:24 +08:00
Jiang Jiang Jian
acf91e5635 Merge branch 'feature/esp_ipc_isr_fix_v4.4' into 'release/v4.4'
esp_system: Fix a race-condition in esp_ipc_isr (in QEMU env) (v4.4)

See merge request espressif/esp-idf!23993
2023-07-13 07:56:25 +08:00
Jiang Jiang Jian
53b02bdb6a Merge branch 'bugfix/systick_loop_v4.4' into 'release/v4.4'
freertos: Fix Systick stuck when systimer was not reset (v4.4)

See merge request espressif/esp-idf!24324
2023-07-13 07:55:57 +08:00
Michael (XIAO Xufeng)
48e848c6cf Merge branch 'bugfix/fix_spi_flash_api_concurrency_issue_v4.4' into 'release/v4.4'
spi_flash: fix concurrency issue when concurrently calling esp_flash apis (v4.4)

See merge request espressif/esp-idf!24514
2023-07-12 18:40:14 +08:00
Armando
8bf4cb3eee fix(adc): fixed esp32, esp32s2,esp32s3 adc oneshot mode clk div issue 2023-07-12 17:24:19 +08:00
Jiang Jiang Jian
62387d8efa Merge branch 'bugfix/fix_some_bt_controller_bug_v4.4' into 'release/v4.4'
component_bt:Fixed some bluetooth bugs(v4.4)

See merge request espressif/esp-idf!24580
2023-07-12 16:16:12 +08:00
jgujarathi
8ba3507fa4 fix(wpa_supplicant) : Fix occasional crash during btm roam.
Fix crash due to premature deallocation of neighbour report elements
by scan_done. Post event to btm_rrm_t task to handle scan_done serially
rather than when btm_rrm_t task is processing btm request rx frame.
2023-07-12 10:41:58 +05:30
xiongweichao
2685472da0 bt: Fixed some bluetooth bugs
1. Fixed LC_AFH_UPDATE_IND  has not benn processed causing memory exhaustion
2. Fixed no free elt in prog push
3. Fixed disconnect due to sniff with error Dsniff
4. Fixed the problem that the host continued to send ACL data to the controller after disconnection, which caused the connection to fail again
2023-07-11 07:23:45 +00:00
chenjianhua
ac27406dcb Update bt-lib for esp32
- Fixed memory leak when setting adv data
2023-07-11 07:23:45 +00:00
xiongweichao
8148b5deb9 components/bt: Fix crash due to NULL point 2023-07-11 07:23:45 +00:00
Rahul Tank
99279e7a14 Merge branch 'bugfix/add_debug_print_for_event_v4.4' into 'release/v4.4'
fix(nimble): Add debug code to print HCI events information v4.4

See merge request espressif/esp-idf!23781
2023-07-11 14:03:28 +08:00
Armando
da5acfdca6 spi_flash: rename spi_flash_os_func_app: spi_start, spi_end
spi_start -> s_acquire_spi_bus_lock
spi_end -> s_release_spi_bus_lock
2023-07-11 02:11:20 +00:00
Armando
29ff838f5a spi_flash: fix concurrency issue when calling esp_flash apis under xip_psram or auto_suspen 2023-07-11 02:11:20 +00:00
Armando
a9e5dac6cc spiflash: fix not calling on_spi_acquired when CONFIG_SPI_FLASH_SHARE_SPI1_BUS issue 2023-07-11 02:11:20 +00:00
Jiang Jiang Jian
6209a2c5e2 Merge branch 'bugfix/increase_pm_dump_time_field_length_v4.4' into 'release/v4.4'
Power Management: increase pm_dump time field width (backport v4.4)

See merge request espressif/esp-idf!24448
2023-07-11 06:19:09 +08:00
Jiang Jiang Jian
1536beec31 Merge branch 'bugfix/fix_deepsleep_wakestub_example_ci_failure_v4.4' into 'release/v4.4'
ci: fix deepsleep wakestub example ci failure (backort v4.4)

See merge request espressif/esp-idf!24463
2023-07-10 16:02:08 +08:00
wuzhenghui
525e344b7d bugfix: increase pm_dump time field width
Closes https://github.com/espressif/esp-idf/issues/11704
2023-07-10 06:37:35 +00:00
Jiang Jiang Jian
8756d9545f Merge branch 'mesh/bugfix_fix_layer2_node_scan_issue_when_fixed_root_v4.4' into 'release/v4.4'
fix(wifi mesh):  fix the layer2 node scan issue when fixed root (backport v4.4)

See merge request espressif/esp-idf!24628
2023-07-10 10:48:44 +08:00
Jiang Jiang Jian
0694319356 Merge branch 'docs/fix_typo_in_api_guides_usb_otg_console_v4.4' into 'release/v4.4'
docs: fix a typo in api-guides/usb-otg-console (v4.4)

See merge request espressif/esp-idf!24455
2023-07-10 10:37:23 +08:00
Jiang Jiang Jian
8bf7c74fbf Merge branch 'docs/fix_typo_in_api-reference_system_ota_v4.4' into 'release/v4.4'
fix a typo in api-reference/system/ota (v4.4)

See merge request espressif/esp-idf!24446
2023-07-10 10:37:01 +08:00
wuzhenghui
2ca1c1a617 example: inform ulp adc usage status to sleep process 2023-07-10 02:32:13 +00:00
wuzhenghui
8ee25ecfe2 ci: increase timeout threshold to solve deepsleep wakestub example ci failure 2023-07-10 02:32:13 +00:00
Chen Jian Xing
09011f2b20 Merge branch 'bugfix/fix_esp32s3_tsens_v4.4' into 'release/v4.4'
fix(esp_wifi): Fix crash caused by tx_pwctrl_background call in ESP32S3(v4.4)

See merge request espressif/esp-idf!24541
2023-07-10 10:26:48 +08:00
Jiang Jiang Jian
262bf5c3a1 Merge branch 'bugfix/update_esp_rom_layout_v4.4' into 'release/v4.4'
esp_rom: fix rom layout issues (backport v4.4)

See merge request espressif/esp-idf!24641
2023-07-08 00:58:45 +08:00
Rahul Tank
15466cf14a fix(Nimble): Add debug code to print HCI events information
Added debug prints to collect information about LE events and
subevents
2023-07-07 19:47:43 +05:30
Mahavir Jain
f66b878ec7 Merge branch 'protobuf-c/update_submodule_to_v4.4' into 'release/v4.4'
protobuf-c: Update submodule to v1.4.1 (v4.4)

See merge request espressif/esp-idf!24422
2023-07-07 18:57:24 +08:00
Rahul Tank
e57938af72 Merge branch 'bufix/fix_assert_while_stack_deinit_v4.4' into 'release/v4.4'
fix(nimble): Fix assert due to controller event while stack deinit (v4.4)

See merge request espressif/esp-idf!24622
2023-07-07 18:07:03 +08:00
chenjianxing
4a56de7a30 fix(esp_wifi): Fix crash caused by tx_pwctrl_background call in ESP32S3. 2023-07-07 09:47:34 +00:00
Mahavir Jain
962621e5d7 Merge branch 'support/esp_coredump_logs_config_v4.4' into 'release/v4.4'
Optionally disable logs in espcoredump component (v4.4)

See merge request espressif/esp-idf!24484
2023-07-07 16:43:15 +08:00
Jiang Guang Ming
efae7d0d04 esp_rom: fix rom layout issues 2023-07-07 01:32:28 -07:00
Vikram
6516e34f9f Added description to disable coredump logs to ram_usage.rst
Signed-off-by: Vikram <vikram.dattu@espressif.com>
2023-07-07 04:50:50 +00:00
Vikram
2225bfda04 Optionally disable logs in espcoredump component
Early log strings used by this component are placed in DRAM.
Disabling these logs saves ~5KB of internal memory

Signed-off-by: Vikram <vikram.dattu@espressif.com>
2023-07-07 04:50:50 +00:00
harshal.patil
3831b83ba7 protobuf-c: Update submodule to v1.4.1 2023-07-07 04:49:27 +00:00
zhangyanjiao
e6ddb8ebec fix(wifi):
1. mesh: layer2 node will scan all channels when fixed root leave
2. show warning info when setting max connection num for softAP
2023-07-06 19:03:05 +08:00
Roshan Bangar
4258c409b0 fix(nimble): Fix assert due to controller event while stack deinit 2023-07-06 12:10:16 +05:30
Fu Hanxi
5efdd24f24 Merge branch 'bugfix/test_idf_tools_timeout' into 'release/v4.4'
tools: bugfix test_idf_tools timeout

See merge request espressif/esp-idf!24563
2023-07-05 20:24:40 +08:00
Marek Fiala
373e1200bf tools: bugfix test_idf_tools timeout 2023-07-05 09:25:38 +02:00
Alexey Gerenkov
9fcb551b8e gcov: Fix not linked gcov rtio functions 2023-07-03 13:05:45 +03:00
Linda
29c87e28cf fix a typo in api-reference/system/ota 2023-06-29 09:42:36 +00:00
Linda
9608acabd1 docs: fix a typo in api-guides/usb-otg-console 2023-06-29 09:42:28 +00:00
Marius Vikhammer
4ce0a6adc5 Merge branch 'docs/usb_example_removed_v4.4' into 'release/v4.4'
usb: fixed docs linking to deleted examples (v4.4)

See merge request espressif/esp-idf!24461
2023-06-29 10:33:31 +08:00
Marius Vikhammer
75c4b1f0bc usb: fixed docs linking to deleted examples 2023-06-28 16:15:28 +08:00
Jiang Jiang Jian
4daecccbec Merge branch 'bugfix/fix_deepsleep_saradc_leakage_by_sar_v4.4' into 'release/v4.4'
bugfix: fix adc current leakage by sar_adc on v4.4

See merge request espressif/esp-idf!24349
2023-06-28 10:05:55 +08:00
Jiang Jiang Jian
a7c461032b Merge branch 'bugfix/hfp_packet_type_err_v4.4' into 'release/v4.4'
Revised (e)SCO configuration parameter sets (v4.4)

See merge request espressif/esp-idf!24348
2023-06-28 10:04:44 +08:00
Jiang Jiang Jian
ddae3618dd Merge branch 'bugfix/alarm_not_free_when_a2dp_deinit_v4.4' into 'release/v4.4'
bugfix/Fixed the issue of alarm leak (v4.4)

See merge request espressif/esp-idf!24353
2023-06-28 10:04:26 +08:00
morris
4aee26535d Merge branch 'bugfix/vfs_uart_outof_bounds_read_v4.4' into 'release/v4.4'
vfs_uart: fix out-of-bounds read (v4.4)

See merge request espressif/esp-idf!24314
2023-06-26 11:28:42 +08:00
Roland Dobai
76122fbcc4 Merge branch 'bugfix/espcoredump_elf_sha256_check_v4.4' into 'release/v4.4'
elf: Fix for mismatched app ELF file not detected (v4.4)

See merge request espressif/esp-idf!23209
2023-06-25 23:28:27 +08:00
morris
b1480d985b Merge branch 'backport/eth-start-spi-initialize-failure-v4.4' into 'release/v4.4'
Fix eth_start initializes spi bus with SPI_DMA_CH_AUTO (backport v4.4)

See merge request espressif/esp-idf!23817
2023-06-25 15:55:52 +08:00
morris
0a3f7e81a3 Merge branch 'feature/usb/update_cdc_msc_examples_v4.4' into 'release/v4.4'
usb: Update CDC and MSC host examples to use drivers from ESP Registry (backport v4.4)

See merge request espressif/esp-idf!23074
2023-06-25 15:53:57 +08:00
Rahul Tank
a4c0dd84a7 Merge branch 'bugfix/fix_example_debug_print_level' into 'release/v4.4'
Nimble: Corrected debug level in example print (v4.4)

See merge request espressif/esp-idf!23861
2023-06-25 14:10:15 +08:00
Roland Dobai
e13e3bff7e espcoredump: Fix Python style 2023-06-21 12:56:00 +00:00
Angus Gratton
e32cca2ad1 loader: Fix handling of APP_RETRIEVE_LEN_ELF_SHA
With the default APP_RETRIEVE_LEN_ELF_SHA setting, core dump files only have a
truncated ELF SHA256 in them. Account for this when comparing the core dump SHA
with the app ELF SHA.
2023-06-21 12:56:00 +00:00
Angus Gratton
76e1212c8f elf: Fix SHA256 calculation
The comment says it returns the "SHA256 hash of the input ELF file", but this is
not true - it was the SHA256 hash of the output ELF file. As the parser may
change some bytes around in minor ways, these were often not the same.
2023-06-21 12:56:00 +00:00
Angus Gratton
2d26ace5e5 elf: Fix for mismatched app ELF file not detected.
The check that the app ELF file SHA256 matches the one stored in the core dump
would never fail, leading to gdb loading the wrong ELF file and either crashing
or producing misleading debug information.

Specifics:

The note_sec.name field was incorrectly read back as b'ESP_CORE_DUMP_INFO\x00E',
because the namesz length includes the terminating NUL byte and possible junk
padding bytes:
https://github.com/espressif/esp-idf/blob/master/components/espcoredump/src/core_dump_elf.c#L212

In addition, as 'note_sec.name' is a bytes object Python 3 would have never
successfully compared it with a string.
2023-06-21 12:56:00 +00:00
Roland Dobai
0f977b68bc Merge branch 'fix/ci_coredump_test_v4.4' into 'release/v4.4'
Tools: Remove IDF Monitor coredump tests (v4.4)

See merge request espressif/esp-idf!24328
2023-06-21 20:55:04 +08:00
Rahul Tank
47cb43576e Nimble: Corrected debug level in example print 2023-06-21 17:24:04 +05:30
Island
1caaee9d84 Merge branch 'feature/add_ext_adv_support_blufi_nimble_v4.4' into 'release/v4.4'
Nimble:Added change to expose addr resolution API outside stack_v4.4

See merge request espressif/esp-idf!23248
2023-06-21 19:39:54 +08:00
Jin Cheng
28747f432f Fixed the issue of alarm leak in hf-ag 2023-06-21 15:35:25 +08:00
Jin Cheng
028d551101 Fixed the issue of alarm leak in A2DP 2023-06-21 15:35:14 +08:00
wuzhenghui
9600767d2a bugfix: fix adc current leakage by sar_adc on v4.4 2023-06-21 14:08:25 +08:00
Jin Cheng
7837fd484e Revised (e)SCO configuration parameter sets 2023-06-21 14:06:16 +08:00
Rahul Tank
6e8dd38cee Nimble:Added change to expose addr resolution API outside stack_v4.4 2023-06-20 19:58:16 +05:30
Roland Dobai
61f4e00b87 Tools: Remove IDF Monitor coredump tests 2023-06-20 15:27:19 +02:00
Jiang Jiang Jian
efdd0859f6 Merge branch 'bugfix/fix_some_ble_bugs_v4.4' into 'release/v4.4'
Fixed some BLE bugs (backport v4.4)

See merge request espressif/esp-idf!24283
2023-06-20 19:12:41 +08:00
Jiang Jiang Jian
ebcb29bcf3 Merge branch 'bugfix/fix_esp32s3_psram_access_failed_in_dfs_v4.4' into 'release/v4.4'
esp_pm: fix esp32s3 psram access failed when dfs is enabled (backport v4.4)

See merge request espressif/esp-idf!24200
2023-06-20 17:43:07 +08:00
Wang Meng Yang
58544cfbca Merge branch 'feature/add_ext_adv_instance_check_v4.4' into 'release/v4.4'
NimBLE: Added ble_gap_ext_adv_active() to check if extended advertising instance is active or not (v4.4)

See merge request espressif/esp-idf!23546
2023-06-20 17:36:02 +08:00
Jiang Jiang Jian
e0550972c0 Merge branch 'bugfix/fix_chip_broken_bug_in_monitor_mode_c3s2s3_to_v4.4' into 'release/v4.4'
ESP32S2/C3/S3: fixed S2 dangerous power parameters in sleep modes and support S2/C3/S3 different sleep mode(v4.4)

See merge request espressif/esp-idf!23758
2023-06-20 16:46:12 +08:00
Jiang Jiang Jian
13a2e49818 Merge branch 'bugfix/fix_Cache_Count_Flash_bug_v4.4' into 'release/v4.4'
cache: patch some rom cache api, rename those apis in ld (backport v4.4)

See merge request espressif/esp-idf!24293
2023-06-20 16:08:36 +08:00
KonstantinKondrashov
d479407339 freertos: Fix Systick stuck when systimer was not reset
Relates to OTA update for S3/C3 chips from IDF version 4.3 to v5.0 and above
2023-06-20 15:56:53 +08:00
Jiang Jiang Jian
167557829e Merge branch 'bugfix/install_keys_after_successful_4_of_4_tx_v4.4' into 'release/v4.4'
esp_wifi: Install keys after successful transmission of EAPOL 4/4 Message(backport v4.4)

See merge request espressif/esp-idf!23620
2023-06-20 14:14:24 +08:00
morris
564e20dd6b Merge branch 'refactor/improve_adc_power_maintanance_v4.4' into 'release/v4.4'
adc: improve power logic (v4.4)

See merge request espressif/esp-idf!23275
2023-06-20 10:52:46 +08:00
morris
a6b8788688 touch_element: fix unintended integer division 2023-06-20 10:47:06 +08:00
morris
c4cb13cfe7 usbh: fix invalid assert on desc_status 2023-06-20 10:47:06 +08:00
morris
be5fff2364 vfs_uart: fix out-of-bounds read
when open uart device "/2" on chips only have 2 UART peripherals
2023-06-20 10:47:06 +08:00
morris
ea9d916f2a Merge branch 'fix/usb_wakeup_resume' into 'release/v4.4'
[USBD] Fix usb resume bug on esp32sx (v4.4)

See merge request espressif/esp-idf!23589
2023-06-19 17:39:18 +08:00
wanglei
c7d8e50fdb cache: patch some rom cache api, rename those apis in ld
1. Cache_Count_Flash_Pages, fix this api return enexpected + 1
2. Cache_Suspend_I/DCache, add wait cache idle after suspend cache
3. Cache_Freeze_I/DCache_Enable, add wait cache idle after freeze
2023-06-19 15:55:37 +08:00
Shreyas Sheth
128aba4892 esp_wifi: Install keys after eapol and NVS store security values
1. Bugfix store authmode security in NVS
2. Install keys after successful transmission of EAPOL 4/4 Message
2023-06-18 02:48:15 +05:30
chenjianhua
b8e4f091f6 Update bt-lib for esp32
1 Fixed disconnection delay on peripheral when slave latency is not zero
2 Fixed LLCP info init for central and peripheral
3 Fixed sent cmd status evt twice when process disconnect cmd
2023-06-16 17:21:33 +08:00
chenjianhua
35a14bf383 bluedroid: fixed default extended connection params 2023-06-16 16:28:07 +08:00
chenjianhua
8bb9b95b54 esp_hid: fixed ble hid battery level setting 2023-06-16 16:28:00 +08:00
zhiweijian
6d59258519 Fixed BLE disconnection failure on ESP32 2023-06-16 16:26:52 +08:00
zwj
1728b49d7f Fixed disconnection due to consecutive CRC errors in first 6 intervals 2023-06-16 16:26:44 +08:00
Roland Dobai
8b94183c9c Merge branch 'feature/submodules_sbom_v4.4' into 'release/v4.4'
tools: add sbom information for submodules (v4.4)

See merge request espressif/esp-idf!24244
2023-06-15 21:07:58 +08:00
wuzhenghui
bf3de2368b ci: sync master flash_psram test and add access psram with DFS unity test 2023-06-15 14:15:05 +08:00
wuzhenghui
d04a723f9a bugfix: use avaliable gpio for esp32s3 pm_trace 2023-06-15 14:15:05 +08:00
wuzhenghui
82bcd4dc7f bugfix: fix esp32s3 psram access failed when dfs is enabled 2023-06-15 14:15:01 +08:00
Frantisek Hrbata
7f9a5a8b71 tools: add sbom information for submodules
Conflicts:
- protobuf-c submodule version and hash changed to v1.4.0
- removed pytest dependency

This adds SBOM information for submodules, which are not managed
by Espressif. Meaning there is no fork for them in the espressif
namespace. Other submodules should add sbom.yml manifest file to
the root of their git repository.

The SBOM information for submodules is stored in the .gitmodules file.
Each SBOM related variable has the "sbom-" prefix and the following
variables may be used:

sbom-version:
   submodule version

sbom-cpe:
   CPE record if available in NVD. This will be used by the SBOM
   tool to check for possible submodule vulnerabilities. The
   version in the CPE can be replaced with the "{}" placeholder,
   which will be replaced by the "sbom-version" value from above.

sbom-supplier:
   Person or organization who is providing the submodule.
   It has to start with "Person:" or "Organization:" prefix
   as required by the SPDX-2.2 standard.

sbom-url:
   URL to the project if exists, e.g. github.

sbom-description:
   Project description.

sbom-hash:
   Submodule SHA as recorded in the git-tree. This field is used by
   CI to check that the submodule checkout hash and info in .gitmodules
   are in sync. IOW if submodule is updated and it has SBOM info in
   .gitmodules, the .gitmodules has to be updated too. The test is
   part of this commit. The checkout has of the submodule can be found
   by using "git submodule status".

Example for micro-ecc submodule
---8<---
[submodule "components/bootloader/subproject/components/micro-ecc/micro-ecc"]
	path = components/bootloader/subproject/components/micro-ecc/micro-ecc
	url = ../../kmackay/micro-ecc.git
	sbom-version = 1.0
	sbom-cpe = cpe:2.3:a:micro-ecc_project:micro-ecc:{}:*:*:*:*:*:*:*
	sbom-supplier = Person: Ken MacKay
	sbom-url = https://github.com/kmackay/micro-ecc
	sbom-description = A small and fast ECDH and ECDSA implementation for 8-bit, 32-bit, and 64-bit processors
	sbom-hash = d037ec89546fad14b5c4d5456c2e23a71e554966
---8<---

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-06-15 06:45:17 +02:00
morris
2dfabd02a9 Merge branch 'bugfix/mcpwm_legacy_typo_v4.4' into 'release/v4.4'
mcpwm: fix typo in backward compatible macro name (v4.4)

See merge request espressif/esp-idf!24229
2023-06-15 10:13:04 +08:00
Aditya Patwardhan
6afa8e4347 Merge branch 'bugfix/aes_dma_align_issue_v4.4' into 'release/v4.4'
aes: fix DMA descriptor calculation for the alignment case (v4.4)

See merge request espressif/esp-idf!24095
2023-06-14 16:55:42 +08:00
morris
5ef69e8a63 mcpwm: fix typo in backward compatible macro name 2023-06-14 11:40:40 +08:00
Roland Dobai
e33a1808d6 Merge branch 'feature/tools_add_ulp_linux_i686_toolchain_v4.4' into 'release/v4.4'
tools: add ULP toolchain for linux-i686 platform (v4.4)

See merge request espressif/esp-idf!24196
2023-06-13 20:47:57 +08:00
David Čermák
b96c98accf Merge branch 'bugfix/eth_lan8720_ci_v4.4' into 'release/v4.4'
esp_eth: start/stop and L2 test stability improvements (v4.4)

See merge request espressif/esp-idf!22322
2023-06-13 16:42:07 +08:00
Jiang Jiang Jian
a843cdebea Merge branch 'bugfix/fix_wps_with_sae_enabled_ap_v4.4' into 'release/v4.4'
esp_wifi: Fix WPS issue for WPA3+WPA2 mode(v4.4)

See merge request espressif/esp-idf!24156
2023-06-13 16:06:49 +08:00
Anton Maklakov
44b8882458 tools: add ULP toolchain for linux-i686 platform
Closes https://github.com/espressif/esp-idf/issues/11561
2023-06-13 12:50:38 +07:00
Jiang Jiang Jian
aca729aea6 Merge branch 'bugfix/fix_blufi_compilation_issue_v4.4' into 'release/v4.4'
Blufi: Fixed compilation issue in blufi for nimble(v4.4)

See merge request espressif/esp-idf!24021
2023-06-13 10:56:21 +08:00
Jiang Jiang Jian
3d743d525c Merge branch 'feature/efuse_settings_v4.4' into 'release/v4.4'
hal: Explicit setting of efuse time settings (v4.4)

See merge request espressif/esp-idf!23727
2023-06-13 10:53:35 +08:00
Jiang Jiang Jian
4c1705975a Merge branch 'bugfix/spp_notify_v4.4' into 'release/v4.4'
NimBLE: Removed indicate flag from gatt db and added subscription case in spp_server example (v4.4)

See merge request espressif/esp-idf!23536
2023-06-13 10:53:11 +08:00
morris
abb204fa89 Merge branch 'feature/add_log_when_mspi_timing_tuning_is_enabled_v4.4' into 'release/v4.4'
mspi: added timing tuning start, and success log (v4.4)

See merge request espressif/esp-idf!24055
2023-06-13 10:30:04 +08:00
Aditya Patwardhan
5d38b0238c Merge branch 'contrib/github_pr_11402_v4.4' into 'release/v4.4'
esp_ds: ignore releasing mutex if not called from same task (GitHub PR) (v4.4)

See merge request espressif/esp-idf!23842
2023-06-13 01:21:13 +08:00
Ivan Grokhotkov
8bbe92ed90 Merge branch 'bugfix/usb_serial_jtag_select_poll_crash_v4.4' into 'release/v4.4'
vfs: select sanity NULL check (v4.4)

See merge request espressif/esp-idf!23948
2023-06-12 19:22:07 +08:00
Ivan Grokhotkov
4b05ffb03e Merge branch 'fix/sdio_sd_cards_not_detected_correctly_v4.4' into 'release/v4.4'
sdmmc: sdio combination cards correct setup (v4.4)

See merge request espressif/esp-idf!23480
2023-06-12 19:21:33 +08:00
Armando
00bd59dc68 mspi: added timing tuning start, and success log 2023-06-12 16:12:20 +08:00
Krzysztof Budzynski
e14ebdcaa5 Merge branch 'docs/fix_error_in_esp32-s2-devkitc-1_pin_layout_diagram_v4.4' into 'release/v4.4'
Docs/Fix error in esp32-s2-devkitc-1 pin layout diagram (v4.4)

See merge request espressif/esp-idf!24118
2023-06-12 11:56:02 +08:00
morris
f1ba6ced19 Merge branch 'bugfix/fix_mspi_octal_psram_timing_tuning_point_fallback_id_v4.4' into 'release/v4.4'
mspi: modified mspi 80mhz octal psram timing tuning point fallback id on s3 (v4.4)

See merge request espressif/esp-idf!23693
2023-06-12 10:50:12 +08:00
morris
d9d5327dfa Merge branch 'bugfix/add_len_check_per_spi_master_transaction_v4.4' into 'release/v4.4'
spi master: added transaction length check to refuse longer than hardware supported length (v4.4)

See merge request espressif/esp-idf!23749
2023-06-12 10:47:59 +08:00
Kapil Gupta
f46518e42e esp_wifi: Fix WPS issue for WPA3+WPA2 mode 2023-06-09 18:06:56 +05:30
Jiang Jiang Jian
ad08d94ed3 Merge branch 'bugfix/nvs_softap_pmk_v4.4' into 'release/v4.4'
esp_wifi: fix softap nvs <ssid,password,pmk> not matching issue(v4.4)

See merge request espressif/esp-idf!23820
2023-06-09 19:45:28 +08:00
Rahul Tank
b7e5be07de Blufi: Fixed compilation issue in blufi for nimble 2023-06-09 17:10:35 +05:30
Jiang Jiang Jian
7053e483ea Merge branch 'feature/add_bluetooth_nimble_lightsleep_example_v4.4' into 'release/v4.4'
bt: Added an example of Bluetooth using light sleep(v4.4)

See merge request espressif/esp-idf!23694
2023-06-09 19:20:31 +08:00
Jiang Jiang Jian
b4c06edfd6 Merge branch 'bugfix/fix_bleqabr23_250_v4.4' into 'release/v4.4'
Fixed crash when controller initialization fails due to insufficient memory (backport 4.4)

See merge request espressif/esp-idf!24090
2023-06-09 19:19:28 +08:00
Jiang Jiang Jian
4a4fea5746 Merge branch 'bugfix/hfp_ag_idx_invalid_v4.4' into 'release/v4.4'
bt: Fixed out of bounds access due to variable length array(v4.4)

See merge request espressif/esp-idf!23667
2023-06-09 19:18:58 +08:00
Jiang Jiang Jian
ff4ae8df34 Merge branch 'bugfix/hf_cind_ind_index_v4.4' into 'release/v4.4'
bt: Fixed the inconsistency between the indicator event received by the HF application layer and the actually received indicator(v4.4)

See merge request espressif/esp-idf!23562
2023-06-09 19:18:16 +08:00
Jiang Jiang Jian
01cc59c000 Merge branch 'bugfix/a2dp_source_app_state_error_v4.4' into 'release/v4.4'
bt: Fixed the issue that the a2dp source would not send the media start command due to the connection initiated by the peer device(v4.4)

See merge request espressif/esp-idf!23555
2023-06-09 19:17:39 +08:00
Jiang Jiang Jian
4462c00107 Merge branch 'bugfix/a2dp_source_crash_connect_to_Bose_speaker_v4.4' into 'release/v4.4'
Bugfix/a2dp source crash connect to bose speaker (v4.4)

See merge request espressif/esp-idf!23350
2023-06-09 19:17:10 +08:00
Jiang Jiang Jian
c125f0a9f3 Merge branch 'bugfix/mbo_ie_absent_prob_req_v44' into 'release/v4.4'
wpa_supplicant : Add MBO ie in probe request.(backport v4.4)

See merge request espressif/esp-idf!24099
2023-06-09 19:16:46 +08:00
Jiang Jiang Jian
bc05c74022 Merge branch 'bugfix/dpp_retry_start_listening_issue_v4.4' into 'release/v4.4'
esp_dpp: Fix retry with esp_supp_dpp_start_listen after failure (v4.4)

See merge request espressif/esp-idf!23596
2023-06-09 19:15:45 +08:00
Jiang Jiang Jian
5fb50f6848 Merge branch 'bugfix/fix_wakeup_failed_if_powerdown_flash_in_lightsleep_v4.4' into 'release/v4.4'
Power Management: fixed flash funcs called in sleep wakeup process (backport v4.4)

See merge request espressif/esp-idf!24007
2023-06-09 19:14:37 +08:00
Jiang Jiang Jian
2771f0cb0b Merge branch 'bugfix/close_phy_tsens_before_sleep_v4.4' into 'release/v4.4'
sleep: fix deepsleep current leakage caused by phy_tsens (backport v4.4)

See merge request espressif/esp-idf!23908
2023-06-09 19:13:50 +08:00
Jiang Jiang Jian
72007647cd Merge branch 'feature/example_deep_sleep_wake_stub_backport_v4.4' into 'release/v4.4'
example: add deepsleep_wake stub example (backport v4.4)

See merge request espressif/esp-idf!23360
2023-06-09 19:11:20 +08:00
Zim Kalinowski
b04cd385f8 Merge branch 'bugfix/sync-contribution-guide_v4.4' into 'release/v4.4'
docs: updated contribution agreement (v4.4)

See merge request espressif/esp-idf!23837
2023-06-09 13:48:09 +08:00
Jiang Jiang Jian
f583d58779 Merge branch 'bugfix/fix_reduce_phy_tx_power_when_brownout_reset_invisible_issue' into 'release/v4.4'
fix reduce phy tx power when brownout reset invisible issue

See merge request espressif/esp-idf!23359
2023-06-09 12:04:39 +08:00
Jiang Jiang Jian
e6df66522a Merge branch 'feature/usb_host_interface_claim_debug_info_v4.4' into 'release/v4.4'
USB Host: better debugging information during usb_host_interface_claim() (backport v4.4)

See merge request espressif/esp-idf!23445
2023-06-09 12:02:59 +08:00
Jiang Jiang Jian
61a0c12c29 Merge branch 'lwip/dhcp_fine_tmr_bug_fix_backport' into 'release/v4.4'
lwip/dhcp: Fixed ondemand fine timers leakage bug (v4.4)

See merge request espressif/esp-idf!23315
2023-06-09 12:01:44 +08:00
Roland Dobai
06c08def3d Merge branch 'feature/extend_proj_desc_json_v4.4' into 'release/v4.4'
extend information in project_description.json (v4.4)

See merge request espressif/esp-idf!24129
2023-06-09 01:59:27 +08:00
Frantisek Hrbata
53f271ce10 tools: extend information in project_description.json
This extends information provided in the project_description.json file.
Newly added information can be used in the SBOM generating tool and
also to improve hints regarding the the component dependency issues.

Added fields

version:
   This adds versioning to the project_description.json file,
   so it's easy to identify if it contains the required information.

project_version:
   Can be used as a version for the resulting binary e.g. `hello_world.bin`.

idf_path:
   This one is probably not necessary, but it allows tools to run even without
   esp-idf environment exported(e.g. export.sh).

c_compiler:
   The `CMAKE_C_COMPILER` value with full path to the compiler binary. This can
   be used to get information about toolchain, which was used to build the project.

common_component_reqs:
   List of common components as presented in cmake's __COMPONENT_REQUIRES_COMMON
   and set in tools/cmake/build.cmake:__build_init().

build_component_info:
   Detailed information about components used during build. It's a
   dictionary with the component name as a key and each component has
   a dictionary with detailed information. Following is an example for
   the efuse component.

   "efuse": {
       "alias": "idf::efuse",
       "target": "___idf_efuse",
       "prefix": "idf",
       "dir": "/home/fhrbata/work/esp-idf/components/efuse",
       "type": "LIBRARY",
       "lib": "__idf_efuse",
       "reqs": [],
       "priv_reqs": [ "bootloader_support", "soc", "spi_flash" ],
       "managed_reqs": [],
       "managed_priv_reqs": [],
       "file": "/home/fhrbata/work/blink/build/esp-idf/efuse/libefuse.a",
       "sources": [ "/home/fhrbata/work/esp-idf/components/efuse/esp32s3/esp_efuse_table.c", ... ],
       "include_dirs": [ "include", "esp32s3/include" ]
   }

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-06-08 18:35:00 +02:00
Frantisek Hrbata
ee505a9960 tools: fix make_json_list to return empty json list for empty cmake list
Currently make_json_list() returns '[ "" ]' for empty cmake list. Fix this
so empty json list is returned instead.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-06-08 15:32:36 +02:00
morris
3f0ccda84e Merge branch 'contrib/github_pr_11113_v4.4' into 'release/v4.4'
Fix usb enumeration stage error for some device (GitHub PR) (v4.4)

See merge request espressif/esp-idf!23334
2023-06-08 18:00:27 +08:00
Wang Ning
d1eb933948 fix_error_in_esp32-s2-devkitc-1_pin_layout_diagram 2023-06-08 16:20:46 +08:00
Marius Vikhammer
3cba50e0a1 Merge branch 'contrib/github_pr_11215_v4.4' into 'release/v4.4'
improve thread safety in esp_timer (GitHub PR) (v4.4)

See merge request espressif/esp-idf!23541
2023-06-08 16:00:14 +08:00
Marius Vikhammer
b0729b5d48 Merge branch 'bugfix/mktime_tzset_v4.4' into 'release/v4.4'
core-system/newlib: updated docs to reflect that tzset() needs to be called (v4.4)

See merge request espressif/esp-idf!23901
2023-06-08 15:59:53 +08:00
Marius Vikhammer
63dfda0446 Merge branch 'bugfix/esp32_pico_v3_2_chip_info_v4.4' into 'release/v4.4'
system: fix esp32 chip info not listing esp32 pico v3-02 as having embedded spiram (v4.4)

See merge request espressif/esp-idf!23395
2023-06-08 15:56:43 +08:00
Marius Vikhammer
92549f53a9 Merge branch 'bugfix/gdma_log_nano_v4.4' into 'release/v4.4'
gdma: fixed crash from logging when using newlib nano (v4.4)

See merge request espressif/esp-idf!23587
2023-06-08 15:55:08 +08:00
Roland Dobai
d638b7c53d Merge branch 'monitor/new_kernel-4.4' into 'release/v4.4'
bug(monitor/console_reader): replace TIOCSTI with busy wait to suppport kernel > 6.2 (4.4)

See merge request espressif/esp-idf!23352
2023-06-08 15:54:25 +08:00
Roland Dobai
ead4536d60 Merge branch 'feature/update-OpenOCD-to-v0.12.0-esp32-20230419_v4.4' into 'release/v4.4'
tools: update OpenOCD version to v0.12.0-esp32-20230419 (v4.4)

See merge request espressif/esp-idf!23679
2023-06-08 15:53:37 +08:00
Marius Vikhammer
1a7d855815 Merge branch 'contrib/github_pr_11394_v4.4' into 'release/v4.4'
docs: Fix typo in Linux/macOS getting started docs (GitHub PR) (v4.4)

See merge request espressif/esp-idf!23734
2023-06-08 15:53:08 +08:00
Roland Dobai
5313760492 Merge branch 'feature/remove_coredump_tests_v4.4' into 'release/v4.4'
coredump: remove tests (moved to esp-coredump repo) (v4.4)

See merge request espressif/esp-idf!23769
2023-06-08 15:52:15 +08:00
Roland Dobai
736b37295e Merge branch 'fix/idf_tools_certificate_v4.4' into 'release/v4.4'
Tools: Update the certificate of idf_tools.py (v4.4)

See merge request espressif/esp-idf!23930
2023-06-08 15:51:45 +08:00
Marius Vikhammer
51144589da Merge branch 'update/version_4_4_5' into 'release/v4.4'
Update version to 4.4.5

See merge request espressif/esp-idf!24110
2023-06-08 15:25:33 +08:00
Marius Vikhammer
ac5d805d0e versions: Update version to 4.4.5 2023-06-08 10:16:36 +08:00
jgujarathi
62b672158a wpa_supplicant : Fix scan results for GCMP and GCMP-256 cipher.
Add support for recognising GCMP and GCMP-256 ciphers if used by AP.
Update the scan example to show the correct cipher.
2023-06-07 10:22:03 +05:30
jgujarathi
2f630f5e91 wpa_supplicant : Add MBO ie in probe request.
Adds the MBO information element in the probe request frame by resetting
scan_ie after set_config is done.
2023-06-07 10:21:52 +05:30
Mahavir Jain
98c53234fc aes: fix DMA descriptor calculation for the alignment case
The number of the DMA descriptors allocated for certain length (e.g.,
8176) were not sufficient (off by 1 error). This used to result in the
dynamic memory corruption as the region was modified beyond the
allocated range.

This change fixes the DMA descriptor calculation part and allocates
sufficient DMA descriptors based on the data length alignment considerations.

Test has also been added to cover the specific scenario in the CI.

Closes https://github.com/espressif/esp-idf/issues/11310
2023-06-07 09:20:20 +05:30
chenjianhua
3c606bf79c Update bt lib for ESP32-C3 and ESP32-S3
- Fixed crash when controller initialization fails due to insufficient memory
2023-06-07 11:19:38 +08:00
wuzhenghui
2566e78e03 bugfix: fix wakeup failed if powerdown flash in lightsleep 2023-05-31 19:23:16 +08:00
Paul Guyot
bf8f867522 esp_system: Fix a race-condition in esp_ipc_isr (in QEMU env)
The race condition is very unlikely on real hardware but can be observed with
qemu under heavy load.
Also add missing `memw` instructions which are generated by the C compiler but
absent in the assembly code.

Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: KonstantinKondrashov <konstantin@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/11447
Closes https://github.com/espressif/esp-idf/issues/11433
2023-05-30 23:04:31 +08:00
xiehanxin
7312f3737d add wake up interval 2023-05-30 20:31:16 +08:00
xiongweichao
ebfe2d8f49 bt: Added an example of Bluetooth using light sleep 2023-05-30 20:28:49 +08:00
xiongweichao
0ba101dfac ble: Fixed bluetooth can only use main XTAL as low power clock source due to configuration on ESP32S3 2023-05-30 20:27:06 +08:00
Adam Múdry
da823eddf5 vfs: select sanity NULL check
https://github.com/espressif/esp-idf/issues/9964
2023-05-26 13:46:40 +02:00
Jiang Jiang Jian
fd5e03b221 Merge branch 'bugfix/fix_some_esp32c3_s3_ble_bugs_230422_4.4' into 'release/v4.4'
Fixed some ESP32C3/S3 BLE bugs 23-04-22(backport v4.4)

See merge request espressif/esp-idf!23354
2023-05-26 11:15:27 +08:00
Roland Dobai
a9c63eb237 Tools: Update the certificate of idf_tools.py 2023-05-25 16:30:22 +02:00
zhiweijian
1c2e8f41f3 fix blufi doc error 2023-05-25 10:46:12 +00:00
zhiweijian
c76c6508a1 Fixed battery profile wrong condition 2023-05-25 10:46:12 +00:00
zwj
ecc2cc1be0 Fixed no error report when own address type is rpa_random and no random address setting 2023-05-25 10:46:12 +00:00
chenjianhua
31166e0884 Update bt lib for ESP32-C3 and ESP32-S3
- Fixed remote mic error during encryption procedure
2023-05-25 10:46:12 +00:00
chenjianhua
1ddc3a1d5c Update bt lib for ESP32-C3 and ESP32-S3
- Fixed ble hopping selection for connection when disabled 5.0 feature
2023-05-25 10:46:12 +00:00
zhiweijian
f886e3c057 Disable controller 5.0 feature bits if host 5.0 feature is not enabled 2023-05-25 10:46:12 +00:00
zwj
509fedeed0 improve scan performance when scan and sync coexist on ESP32-C3 and ESP32-S3 2023-05-25 10:46:12 +00:00
chenjianhua
bd77f3d436 Update bt lib for ESP32-C3 and ESP32-S3
- Fixed non-connectable and non-scannable directed adv can't be scanned
2023-05-25 10:46:12 +00:00
wuzhenghui
d33c693cfa bugfix: close phy_tsens before deepsleep 2023-05-25 12:05:54 +08:00
Marius Vikhammer
aab35a2126 core-system/newlib: updated docs to reflect that tzset() needs to be called before localtime/mktime()
According to the posix standard localtime/mktime should use timezone information as though localtime/mktime() calls tzset(),
but this is not the case in older versions of Newlib.

Closes https://github.com/espressif/esp-idf/issues/11455
2023-05-24 16:37:29 +08:00
Armando
d915304189 mspi: modified mspi 80mhz octal psram timing tuning point fallback id on s3 2023-05-19 09:30:37 +00:00
Armando
61ecbb44a5 spi: added an API to get max transaction length and use in spi lcd driver 2023-05-19 09:30:06 +00:00
Armando
4e67ea0fe3 spi: added transaction length check to refuse longer than hardware supported length 2023-05-19 09:30:06 +00:00
Christoph Baechler
d007b0ebb2 esp_ds: ignore releasing mutex if not called from same task 2023-05-19 08:32:00 +05:30
Zim Kalinowski
df84708f61 docs: updated contribution agreement 2023-05-18 16:46:08 +02:00
Jiang Jiang Jian
c25d92074e Merge branch 'bugfix/update_test_dl_esp_cert_v4.4' into 'release/v4.4'
tests: update Root certificate for the test endpoints (v4.4)

See merge request espressif/esp-idf!23799
2023-05-18 19:32:43 +08:00
chenjianxing
28fa2f88a1 esp_wifi: fix softap nvs <ssid,password,pmk> not matching issue 2023-05-18 15:50:41 +08:00
xieqinan
38de96bb12 initialize eth_start() with SPI_DMA_CH_AUTO
Closes https://github.com/espressif/esp-idf/issues/11083
2023-05-18 15:20:34 +08:00
Jiang Jiang Jian
1071b13c9e Merge branch 'bugfix/fix_iphone_disconnects_immediately_after_connecting_when_BLE_wifi_coexist_v4.4' into 'release/v4.4'
Fix the bug that the iPhone disconnects immediately after connecting when BLE and wifi coexist (backport v4.4)

See merge request espressif/esp-idf!23802
2023-05-18 15:18:09 +08:00
zhiweijian
239d74be65 Fix the bug that the iPhone disconnects immediately after connecting when BLE and wifi coexist 2023-05-17 18:05:49 +08:00
Mahavir Jain
1d61e300ac tests: update Root certificate for the test endpoints
Use Root certificate (`DigiCert Global Root G2`) for the
`dl.espressif.com` and `espressif.com` test endpoints.

This fixes the test failure introduced due to renewal of
the intermediate certificate.
2023-05-17 15:28:46 +05:30
Alexey Lapshin
c1445ff243 coredump: remove tests (moved to esp-coredump repo) 2023-05-16 13:04:27 +08:00
hongshuqing
066a1ac0ac fix chip broken bug in monitor mode c3s2s3 to v4.4 2023-05-15 19:36:25 +08:00
Nihal Gonsalves
514b88a8f0 Fix typo in Linux/macOS getting started docs
`hello_word` -> `hello_world`
2023-05-15 09:38:38 +08:00
KonstantinKondrashov
daba1560a6 hal: Explicit setting of efuse time settings
EFUSE_PWR_ON_NUM in C3 has default value = 0x2880, now = 0x3000
2023-05-13 00:06:35 +08:00
KonstantinKondrashov
8c11859a2f test_apps: Fix unicore_bootloader test 2023-05-11 06:07:19 +00:00
KonstantinKondrashov
037b70c253 ci: Increase parallel count for Example_GENERIC and ESP32S3 2023-05-11 06:07:19 +00:00
KonstantinKondrashov
20740ce0da ttfw_idf: Extend bootloader_flash API 2023-05-11 06:07:19 +00:00
KonstantinKondrashov
a2ffc9374c test_apps: Test multicore app can be run by unicore bootloader 2023-05-11 06:07:19 +00:00
KonstantinKondrashov
1b608a1c07 esp_system: Do not rely on bootloader cache settings, do cache settings unconditionally at startup app
It makes multicore app runnable by unicore bootloader

Closes https://github.com/espressif/esp-idf/issues/10714
2023-05-11 06:07:19 +00:00
KonstantinKondrashov
42a6b47aa8 hal: Adds cache hal 2023-05-11 06:07:19 +00:00
Alexey Gerenkov
e80b3cace4 tools: update OpenOCD version to v0.12.0-esp32-20230419 2023-05-10 13:19:24 +03:00
xiongweichao
f3b2e22d74 bt: Deleted some redundant variables in HFP_AG 2023-05-10 10:24:54 +08:00
xiongweichao
074f0ad41c bt: Fixed the problem of out-of-bounds access caused by the variable-length array introduced in 3268075231
Closes https://github.com/espressif/esp-idf/issues/11264
2023-05-10 10:24:50 +08:00
xiongweichao
e3263ad608 bt: Fixed codec mode error in ESP_HF_WBS_RESPONSE_EVT 2023-05-10 10:24:45 +08:00
isha.pardikar@espressif.com
a2eba934a6 NimBLE: Removed indicate flag from gatt db, added subscription case and corrected indentation
in spp_server example.
2023-05-09 11:00:54 +00:00
Roland Dobai
7641c8ef4f Merge branch 'bugfix/constraint_urllib3_v44' into 'release/v4.4'
requirements: Pin urllib3 to <2

See merge request espressif/esp-idf!23608
2023-05-07 00:40:21 +08:00
Marius Vikhammer
e0e913839f gdma: fixed crash from logging when using newlib nano
Newlib nano printf formatting do not support %z, and will crash if such an identifier
is followed by a %s indentifier.

Closes https://github.com/espressif/esp-idf/issues/9631
2023-05-06 13:49:31 +08:00
Sergei Silnov
743d6a12c4 requirements: Pin urllib3 to <2 2023-05-05 13:17:12 +02:00
jasta
4353014715 esp_dpp: Fix retry with esp_supp_dpp_start_listen after failure
This fixes a subtle bug in which ESP_ERR_DPP_TX_FAILURE errors would
call esp_supp_dpp_stop_listen which sets the s_dpp_stop_listening flag
to true.  Subsequent attempts to restart listening with
esp_supp_dpp_start_listen then only attempt to listen once more for
500ms before reading the s_dpp_stop_listening flag again and giving up.

This contributes greatly to #10615, but the fix here is still largely
a work-around as it sometimes requires manually retrying a couple times
before it works.  Without this fix, any number of retries by
deinit/init again will seemingly not work as the retries for currently
unknown reasons.

Signed-off-by: Shreyas Sheth <shreyas.sheth@espressif.com>

Closes https://github.com/espressif/esp-idf/pull/10865
2023-05-05 14:21:20 +05:30
muhaidong
76540defc1 fix reduce phy tx power when brownout reset invisible issue
Closes https://github.com/espressif/esp-idf/issues/11252
2023-05-04 21:52:42 +08:00
xiongweichao
017517b804 bt: Fixed the inconsistency between the indicator event received by the HF application layer and the actually received indicator.
Closes https://github.com/espressif/esp-idf/issues/6486
2023-05-04 14:16:12 +08:00
xiongweichao
0a4082642e bt: Fixed the issue that the a2dp source would not send the media start command due to the connection initiated by the peer device
Closes https://github.com/espressif/esp-idf/issues/11170
2023-05-04 12:06:17 +08:00
isha.pardikar@espressif.com
04798f62ab NimBLE: Added ble_gap_ext_adv_active() to check if extended advertising instance is active or not. 2023-05-03 14:44:28 +05:30
Jens Gutermuth
9fa30d44f3 improve thread safety in esp_timer
Inadequate locking in the esp_timer component allowed corruption
of the s_timers linked list:

1. timer_armed(timer) returns false
2. another task arms the timer and adds it to s_timers
3. the list is locked
4. the timer is inserted into s_timers again

The last step results in a loop in the s_timers list, which causes
an infinite loop when iterated. This change always locks the
list before checking if the timer is already armed avoiding
the data race.
2023-05-02 20:22:51 +02:00
paul356
bb3c971e99 fix usb resume bug on esp32sx 2023-04-27 10:47:46 +08:00
Adam Múdry
2928cbf7ec sdmmc: sdio combination cards correct setup
Co-authored-by: Mau Abata <mauabata@gmail.com>
Closes https://github.com/espressif/esp-idf/issues/9822
Closes https://github.com/espressif/esp-idf/issues/10280
2023-04-26 13:28:20 +02:00
Roman Leonov
8a311cf8ad usb_host: better debugging information during hcd_pipe_alloc() when usb_host_interface_claim() is being fulfiled. 2023-04-25 12:52:45 +02:00
Armando
2a0a4fadd9 sar: init sar periph power state 2023-04-25 14:03:29 +08:00
Abhik Roy
c781fda86f lwip/dhcp: Fixed ondemand fine timers leakage bug.
Fixed ondemand fine timers bug, that allowed
only one dhcp client to run at a time without issue.
2023-04-24 18:09:59 +10:00
Marius Vikhammer
67f7c2f96a system: fix esp32 chip info not listing esp32 pico v3-02 as having embedded spiram
Closes https://github.com/espressif/esp-idf/issues/11233
2023-04-24 13:53:42 +08:00
wuzhenghui
ea02b6dfec doc: update deep_sleep_wake_stub readme 2023-04-24 11:37:46 +08:00
wuzhenghui
c78fb1602e feature: add wake up time cost info to deep_sleep_wake_stub example 2023-04-24 11:37:46 +08:00
jiangguangming
ede29b4812 docs: add wake stub example link to deep-sleep-stub.rst 2023-04-24 11:37:46 +08:00
jiangguangming
fc30491ab0 ld: fix rtc.data rtc.bss section issues
1. rtc.data section: should include sbss srodata in rtc_wake_stub*.*
2. rtc.bss section: move rtc .bss .bss.* from rtc.data to rtc.bss
2023-04-24 11:37:46 +08:00
jiangguangming
85064f164f use LL function to get wakeup cause 2023-04-24 11:37:46 +08:00
jiangguangming
96f3c2bac6 rtc_time.c: simplify the rtc_time_get with LL function 2023-04-24 11:37:46 +08:00
jiangguangming
86905af90d deep sleep example: typo corrected in readme 2023-04-24 11:37:46 +08:00
jiangguangming
738b486b31 ci: add ci example test 2023-04-24 11:37:46 +08:00
jiangguangming
b733eb0adb example: add example deep sleep wake stub 2023-04-24 11:37:42 +08:00
jiangguangming
cafcb219de hal: add rtc_cntl LL function for wake stub 2023-04-23 14:29:25 +08:00
Peter Dragun
4826182e60 bug(monitor/console_reader): replace TIOCSTI with busy wait to suppport kernel > 6.2
Closes https://github.com/espressif/esp-idf/issues/11027
2023-04-21 15:52:13 +02:00
Jin Cheng
8704eb1713 fix a2dp source crash when connect to Bose speaker 2023-04-21 21:20:57 +08:00
Darian Leung
fd2d4a83e2 usb_host: Update docs and comments regarding first configuration enumeration
This commit updates some comments and documentation regarding changes made in
PR https://github.com/espressif/esp-idf/pull/11113.
2023-04-21 12:53:27 +08:00
Jason
8bebfaa6ee Fix usb enumeration stage error for some device 2023-04-21 12:53:27 +08:00
Jiang Jiang Jian
3cec3a0026 Merge branch 'bugfix/fix_some_wifi_bugs_230420_v4.4' into 'release/v4.4'
esp_wifi: fix some wifi bugs 230420(Backport v4.4)

See merge request espressif/esp-idf!23300
2023-04-21 11:53:42 +08:00
morris
9516e80f61 Merge branch 'bugfix/wakeup_io_hold_unhold_in_sleep_v4.4' into 'release/v4.4'
gpio: Fix deep sleep wakeup IOs unable to unhold after wakeup (v4.4)

See merge request espressif/esp-idf!22670
2023-04-21 10:51:05 +08:00
Jiang Jiang Jian
2951d6e2f7 Merge branch 'bugfix/mdns_no_task_notifiers' into 'release/v4.4'
mdns: use semaphore instead of task notification bits (v4.4)

See merge request espressif/esp-idf!22920
2023-04-21 09:32:10 +08:00
Jiang Jiang Jian
f31b5c3bd2 Merge branch 'bugfix/fix_some_ble_bug_v4.4' into 'release/v4.4'
Fixed some BLE bugs (backport v4.4)

See merge request espressif/esp-idf!23301
2023-04-21 02:00:20 +08:00
Mahavir Jain
62a9966181 Merge branch 'bugfix/block9_can_not_be_used_for_fe_v4.4' into 'release/v4.4'
efuse: Prevent burning XTS_AES and ECDSA keys into BLOCK9 (BLOCK_KEY5) (v4.4)

See merge request espressif/esp-idf!23292
2023-04-20 23:03:51 +08:00
Zim Kalinowski
3f08fd4400 Merge branch 'contrib/github_pr_11163_v4.4' into 'release/v4.4'
Make custom bootloader message match actual output (GitHub PR) (v4.4)

See merge request espressif/esp-idf!23140
2023-04-20 19:45:06 +08:00
Zim Kalinowski
4232e24b0f Merge branch 'bugfix/adds_iram_attr_for_some_esp_timer_apis_v4.4' into 'release/v4.4'
esp_timer: Adds IRAM_ATTR for esp_timer_restart and esp_timer_is_active (v4.4)

See merge request espressif/esp-idf!23308
2023-04-20 19:41:39 +08:00
Zim Kalinowski
39afb1eb1f Merge branch 'contrib/github_pr_7754_v4.0' into 'release/v4.4'
Fix infinite recursion in FLAG_ATTR operator (GitHub PR) (backport v4.4)

See merge request espressif/esp-idf!23235
2023-04-20 19:37:13 +08:00
chenjianhua
8f3f635e8c bluedroid: report status after clearing the BLE white list 2023-04-20 15:59:07 +08:00
chenjianhua
908c5e1fd2 bluedroid: fix GATTC cache address save 2023-04-20 15:59:07 +08:00
chenjianhua
e2a307bd8f bluedroid: fix adv and scan state conflict 2023-04-20 15:59:07 +08:00
chenjianhua
814bcf4021 bluedroid: support get bluetooth device name 2023-04-20 15:59:07 +08:00
morris
e34f0638c8 Merge branch 'bugfix/fix_deep_sleep_crash_when_psram_high_freq_4.4' into 'release/v4.4'
mspi: turn down freq to fix crash when sleep (v4.4)

See merge request espressif/esp-idf!22750
2023-04-20 14:54:46 +08:00
KonstantinKondrashov
745cac7a04 esp_timer: Adds IRAM_ATTR for esp_timer_restart and esp_timer_is_active
Closes https://github.com/espressif/esp-idf/issues/10522
Closes https://github.com/espressif/esp-idf/issues/10859
2023-04-20 14:53:38 +08:00
KonstantinKondrashov
363c21891c esptool: Update esptool
Prevent burning XTS_AES and ECDSA keys into BLOCK9 (BLOCK_KEY5)
2023-04-20 13:58:51 +08:00
Mahavir Jain
9e6e5ba0ef docs: add a note regarding EFuse Block9 key purpose quirk for some chips 2023-04-20 13:58:51 +08:00
KonstantinKondrashov
89d11be4a9 efuse: Prevent burning XTS_AES and ECDSA keys into BLOCK9 (BLOCK_KEY5)
eFuse module has a hardware bug.
It is related to ESP32-C3, C6, S3, H2 chips:
    - BLOCK9 (BLOCK_KEY5) can not be used by XTS_AES keys.
For H2 chips, the BLOCK9 (BLOCK_KEY5) can not be used by ECDSA keys.
S2 does not have such a hardware bug.
2023-04-20 13:58:51 +08:00
morris
c49e8d3611 Merge branch 'bugfix/i2c_timing_wrong_v4.4' into 'release/v4.4'
i2c: fix a bug in sda sample timing (backport v4.4)

See merge request espressif/esp-idf!23227
2023-04-20 13:11:18 +08:00
wuzhenghui
941b6bf03d bugfix: fix deepsleep saradc leakage 2023-04-20 11:43:13 +08:00
Li Shuai
6356453f8d sleep: fix sleep current issue caused by sar adc 2023-04-20 11:43:13 +08:00
muhaidong
bd9c48acdb esp_wifi: fix some wifi bugs 230420
1. fix softap qos null issue
2. fix set inactive time crash issue
2023-04-20 11:26:05 +08:00
morris
2dc6c95859 Merge branch 'bugfix/usb_serial_driver_block_v4.4' into 'release/v4.4'
usb_serial_jtag: Fix bug of blocking TX xfer when using driver (backport v4.4)

See merge request espressif/esp-idf!22831
2023-04-20 11:01:01 +08:00
Armando
1b2a254d71 adc: improve power logic 2023-04-20 10:42:12 +08:00
morris
2b4797703f Merge branch 'bugfix/spi_lcd_max_trans_size_v4.4' into 'release/v4.4'
spi_lcd: maximum transfer size should respect bus configuration (v4.4)

See merge request espressif/esp-idf!23231
2023-04-20 10:28:21 +08:00
Jiang Jiang Jian
6f4799a49b Merge branch 'feature/support_ble_write_and_notify_throughput_test_at_the_same_time_v4.4' into 'release/v4.4'
support ble notify and write throughput test at the same time(backport v4.4)

See merge request espressif/esp-idf!23234
2023-04-19 21:10:53 +08:00
Jiang Jiang Jian
5999775329 Merge branch 'bugfix/softap_beacon_process_v4.4' into 'release/v4.4'
esp_wifi: validate softAP interface when sending beacon and add sta_connected callback (Backport v4.4)

See merge request espressif/esp-idf!23255
2023-04-19 20:19:52 +08:00
Ivan Grokhotkov
f87bdd4a9f Merge branch 'bugfix/fixed_sdmmc_high_speed_ddr_timing_issue_on_esp32s3_v4.4' into 'release/v4.4'
sdmmc: fixed incorrect clock phase settings on esp32s3 (v4.4)

See merge request espressif/esp-idf!23261
2023-04-19 17:42:45 +08:00
Jiang Jiang Jian
34475c13cb Merge branch 'feature/add_menuconfig_of_calibration_mode_v4.4' into 'release/v4.4'
Feature/add menuconfig of calibration mode v4.4(Backport v4.4)

See merge request espressif/esp-idf!23262
2023-04-19 17:02:56 +08:00
Mahavir Jain
749a07bdce Merge branch 'fix/esp32s3_ununsed_dcache_as_dram_v4.4' into 'release/v4.4'
esp_hw_support: Update the memory ptr location/property checks to include the unused DCACHE added to DRAM (v4.4)

See merge request espressif/esp-idf!23269
2023-04-19 16:38:13 +08:00
Sarvesh Bodakhe
9baec826ac esp_wifi: fix some wifi bugs
1. Move wpa_supplicant WIFI_EVENT_STA_CONNECTED and WIFI_EVENT_STA_DISCONNECTED event handlers into callbacks
2. Validate softAP interface when sending beacon frame
2023-04-19 12:13:52 +05:30
Laukik Hase
aac8bc9a71 soc/esp32s3: Fix the SOC_MEM_INTERNAL_HIGH value
- As per the memory block diagram for ESP32-S3, the
  internal memory address ranges as follows:
  DRAM: 0x3FC88000 (== SOC_MEM_INTERNAL_LOW) <-> 0x3FCF0000
  IRAM: 0x40378000 <-> 0x403E0000 (== SOC_MEM_INTERNAL_HIGH)
2023-04-19 10:35:58 +05:30
Laukik Hase
a2580b3f36 esp_hw_support: Update memory ptr location/property checks
- to acknowledge the unused DCACHE added to DRAM for ESP32-S3

- For ESP32-S3, when the DCACHE size is set to 16 kB, the unused 48 kB is added to
  the heap in 2 blocks of 32 kB (from 0x3FCF0000) and 16 kB (from 0x3C000000).
- But, if we try allocating memory from the 16 kB block and run an `esp_ptr_internal`
  check on that memory pointer, it fails as the address block from 0x3C000000
  corresponds to the external memory symbols SOC_DROM_LOW and SOC_EXTRAM_DATA_LOW.
  (E.g. freertos - If the IDLE task stack buffer gets allocated from this region,
  the firmware will abort due to this failure).
- Thus, the checks `esp_ptr_internal`, `esp_ptr_in_drom` and `esp_ptr_byte_accessible`
  have been updated to acknowledge this memory as a part of the DRAM.

Co-authored-by: Mahavir Jain <mahavir@espressif.com>
2023-04-19 10:35:57 +05:30
muhaidong
0426873a43 esp_phy: add menuconfig of phy calibration mode 2023-04-18 20:18:42 +08:00
muhaidong
b91d25e575 disable reduce PHY TX power when brownout reset 2023-04-18 20:17:20 +08:00
Armando
fb6d9cd741 sdmmc: I/O phase adjustments
1. Fix incorrect meaning of SDMMC.clock bits, synchronize the names
   with the TRM.
2. Choose input and output phases to satisfy typical timing
   requirements.
3. Move use_hold_reg setting into the host driver, since it is related
   to timing.

Closes https://github.com/espressif/esp-idf/issues/8521
Related to https://github.com/espressif/esp-idf/issues/8257
2023-04-18 20:07:32 +08:00
morris
23f0e7385b spi_lcd: test spi lcd io can transfer color data to a fixed window region
also test the io tx_param and tx_color can skip the command phase
2023-04-18 13:38:56 +08:00
morris
7225068256 spi_lcd: maximum transfer size should respect bus configuration
Also this commit added the SPI_TRANS_CS_KEEP_ACTIVE flag for io_tx_color
2023-04-18 10:36:39 +08:00
Otto Winter
10f500ddfe bugfix (esp_common): remove infinite recursion in FLAG_ATTR operator
Closes https://github.com/espressif/esp-idf/pull/7754

Signed-off-by: Jakob Hasse <jakob.hasse@espressif.com>
2023-04-17 18:19:45 +08:00
zhiweijian
51602a7f10 support ble notify and write throughput test at the same time 2023-04-17 17:48:24 +08:00
Jiang Jiang Jian
7eba5f8002 Merge branch 'bugfix/bt_diable_enbale_crash_v4.4' into 'release/v4.4'
bt:Fixed esp32 controller bug(v4.4)

See merge request espressif/esp-idf!23151
2023-04-17 16:16:23 +08:00
Omar Chebib
6022afc980 i2c: fix a bug in sda sample timing
* Closes https://github.com/espressif/esp-idf/issues/9777

This bug prevented SCL line to work properly after a NACK was received in master mode.
2023-04-17 16:03:34 +08:00
Jiang Jiang Jian
0e9c393d1b Merge branch 'bugfix/fix_systimer_stall_issue_in_lightsleep_v4.4' into 'release/v4.4'
esp_wifi: allow connectionless ps with mesh, fix failed to sleep after scan;...

See merge request espressif/esp-idf!23200
2023-04-17 15:32:31 +08:00
Island
424ddb34af Merge branch 'bugfix/ble_mesh_fix_heartbeat_set_v4.4' into 'release/v4.4'
ble_mesh: stack: Update the heartbeat filter entry add/remove handling (v4.4)

See merge request espressif/esp-idf!23164
2023-04-14 19:14:47 +08:00
zwj
b69ec22cb9 Fixed duplicate scan refresh cycle is not accurate after restarting scan on ESP32 2023-04-14 12:10:38 +08:00
liuning
081b8ffb18 esp_wifi: allow connectionless ps with mesh, fix failed to sleep after scan; coex: fix esp32 wifi interrupted by ble act (d51ef5c0) 2023-04-14 12:00:51 +08:00
liuning
dce377bcfd rtc_sleep: workaround systimer stall issue during lightsleep on ESP32C3 2023-04-14 11:59:42 +08:00
Jiang Jiang Jian
e5a41d97a1 Merge branch 'bugfix/espnow_config_channel_v4.4' into 'release/v4.4'
esp_wifi: fix espnow example add peer fail when config channel(v4.4)

See merge request espressif/esp-idf!23178
2023-04-13 16:14:43 +08:00
chenjianxing
89cede3895 esp_wifi: fix espnow example add peer fail when config channel
Closes https://github.com/espressif/esp-idf/issues/9592
2023-04-13 10:53:31 +08:00
wangmengyang
7a7090a46a bt: added coex adapter operation to get version of coexist module to ESP32 Bluetooth Controller 2023-04-13 10:24:01 +08:00
wangjialiang
ab48bfb5b7 ble_mesh: stack: Update the heartbeat filter entry add/remove handling 2023-04-12 15:03:07 +08:00
xiongweichao
f9bfdd0b1e bt:Fixed esp32 controller bug
1. Fixed crash after controller disable and re-enable
2. Fixed the crash caused by processing the HCI_Read_Remote_Extented_Features command in the non-connected state
3. Fixed disconnection due to not handling lmp_unsniff_req in LC_WAIT_SNIFF_SUB_RSP state
4. Fixed crash caused by supervision timeout greater than sniff interval

Closes https://github.com/espressif/esp-idf/issues/11164
Closes https://github.com/espressif/esp-idf/issues/10835
2023-04-12 09:15:49 +08:00
Jiang Jiang Jian
7534dac3f8 Merge branch 'mesh/bugfix_fix_heap_corrupt_issue_v4.4' into 'release/v4.4'
esp_wifi: fix bugs in LR and mesh (backport v4.4)

See merge request espressif/esp-idf!23127
2023-04-11 21:18:56 +08:00
zhangyanjiao
37ff6b2ac9 Update the ESP-NOW frame length in docs 2023-04-11 14:21:43 +08:00
zhangyanjiao
fc7b5673f7 esp_wifi:
1. wifi_mesh: fix the heap corrupt issue in MTXON task
2. Update tx rate when phymode change from LR to 11N

https://github.com/espressif/esp-idf/issues/11006
2023-04-11 14:21:08 +08:00
hasheddan
e2a59b8bf4 Make custom bootloader message match actual output
Fixes the custom bootloader README.md so that the example output matches
what will actually be output by default in the custom bootloader.

Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2023-04-11 13:41:40 +08:00
Jiang Jiang Jian
8e559452d9 Merge branch 'bugfix/delete_node_during_list_traverse_4.4' into 'release/v4.4'
bugfix: Fixed the crash of LoadProhibited caused by invalid operation on list node in handling hci_hardware_error event (v4.4)

See merge request espressif/esp-idf!23118
2023-04-11 11:37:03 +08:00
Jiang Jiang Jian
43a38fc13e Merge branch 'bugfix/fix_some_wifi_bugs_230403_v4.4' into 'release/v4.4'
esp_wifi: fix some wifi bugs 230403(Backport v4.4)

See merge request espressif/esp-idf!23049
2023-04-10 20:35:22 +08:00
muhaidong
4b3ff10c5d esp_wifi: fix some wifi bugs 230403
1. fix sta auth failed but softap shows it connected issue
2. fix ftm procedure with peer failed status 4 issue
3. send ftm frames immediately
4. send null data when state change from association to run
5. docs: add some details for wifi scan description
2023-04-10 15:08:02 +08:00
Jiang Jiang Jian
b7ddd82ad6 Merge branch 'bugfix/nvs_save_for_new_config_v4.4' into 'release/v4.4'
esp_wifi: Add nvs code for new config params

See merge request espressif/esp-idf!23084
2023-04-10 14:39:05 +08:00
Jin Cheng
3a361bc62f fixed the crash of LoadProhibited caused by taht
the nodes are deleted during the traversal of the linked list
2023-04-08 11:30:35 +08:00
morris
a9c36f277f Merge branch 'bugfix/fix_i2s_mono_stereo_test_failure_v4.4' into 'release/v4.4'
i2s: fixed I2S_mono_stereo_loopback_test (v4.4)

See merge request espressif/esp-idf!23093
2023-04-07 17:26:16 +08:00
Michael (XIAO Xufeng)
e383d14cd0 Merge branch 'bugfix/himem_map_range_block_v4.4' into 'release/v4.4'
himem: fixed incorrect out_ptr when range_offset is given non-zero. (v4.4)

See merge request espressif/esp-idf!23082
2023-04-07 17:14:43 +08:00
laokaiyao
d98b6c640f i2s: fixed I2S_mono_stereo_loopback_test (v4.4) 2023-04-07 11:17:07 +08:00
morris
a6c7d78906 Merge branch 'feature/i80_lcd_allow_skip_command_phase_v4.4' into 'release/v4.4'
i80_lcd: allow skip command phase (v4.4)

See merge request espressif/esp-idf!23092
2023-04-06 19:09:54 +08:00
morris
f373bea201 i80_lcd: support skip command phase
Closes https://github.com/espressif/esp-idf/issues/10794
2023-04-06 14:47:11 +08:00
Tomas Rezucha
e09fc3e474 usb: Update CDC and MSC host examples to use drivers from ESP Registry 2023-04-06 08:12:43 +02:00
Jiang Jiang Jian
173676ea8d Merge branch 'bugfix/psram_newlib_time_rom' into 'release/v4.4'
rom: fix newlib time ROM functions being regardless of CONFIG_SPIRAM_CACHE_WORKAROUND (v4.4)

See merge request espressif/esp-idf!23003
2023-04-06 11:24:36 +08:00
jgujarathi
6f340bc902 esp_wifi: Add nvs code for new config params 2023-04-06 07:59:38 +05:30
Xiao Xufeng
4dca4bdc3e himem: Fixed incorrect out_ptr when calling esp_himem_map range_offset non-zero
Closes: https://github.com/espressif/esp-idf/issues/5639
2023-04-06 02:02:05 +08:00
Mahavir Jain
599bc24483 Merge branch 'feature/update_mbedtls_v2.28.3' into 'release/v4.4'
mbedtls: Update to release v2.28.3 (v4.4)

See merge request espressif/esp-idf!23040
2023-04-04 15:18:58 +08:00
Jiang Jiang Jian
534ec69996 Merge branch 'bugfix/stop_dhcps_before_set_dns_4.4' into 'release/v4.4'
Fixed bug for stop dhcps before set dns for 4.4

See merge request espressif/esp-idf!23048
2023-04-04 13:50:12 +08:00
Jiang Jiang Jian
6852aaa07e Merge branch 'bugfix/lcd_spi_acquire_bus_v4.4' into 'release/v4.4'
spi_lcd: don't release bus if acquire failed (v4.4)

See merge request espressif/esp-idf!23038
2023-04-04 12:10:58 +08:00
Jiang Jiang Jian
d337d9dc0b Merge branch 'bugfix/fixed_incorrect_i2s_channel_format_v4.4' into 'release/v4.4'
i2s: fixed incorrect channel format on ESP32

See merge request espressif/esp-idf!22853
2023-04-04 12:10:37 +08:00
Jiang Jiang Jian
8df9bbd5f4 Merge branch 'bugfix/wifi_config_fixes_v4.4' into 'release/v4.4'
Add APIs to get Assoc id and negotiated phymode.(v4.4)

See merge request espressif/esp-idf!22972
2023-04-04 12:10:23 +08:00
Jiang Jiang Jian
c0efc25049 Merge branch 'bugfix/fix_hw_ralunderrun_assert_v4.4' into 'release/v4.4'
Fixed BLE HW RAL_UNDERRUN asser and backport some bug fix 23-03-30 (back port v4.4)

See merge request espressif/esp-idf!23004
2023-04-04 10:50:25 +08:00
laokaiyao
73ca054b80 i2s: fixed incorrect channel format on ESP32
Closes: https://github.com/espressif/esp-idf/issues/9635
2023-04-04 10:00:05 +08:00
aditi_lonkar
dc33626566 esp_wifi: Add APIs to get Assoc id and negotiated phymode. 2023-04-03 18:27:02 +05:30
xueyunfei
2549b9fe36 Fixed bug for stop dhcps before set dns
Closes https://github.com/espressif/esp-idf/issues/10762
2023-04-03 20:12:56 +08:00
morris
ea51ee1130 Merge branch 'feature/vfs_serial_fcntl_get_rd_wr_state_v4.4' into 'release/v4.4'
vfs: uart/cdcacm/usb_serial_jtag fcntl return read/write state(v4.4)

See merge request espressif/esp-idf!19335
2023-04-03 19:15:15 +08:00
harshal.patil
617d935b44 mbedtls: Update to release v2.28.3
- Release Notes: https://github.com/Mbed-TLS/mbedtls/releases/tag/v2.28.3
2023-04-03 14:28:12 +05:30
morris
1a6118193c spi_lcd: don't release bus if acquire failed
Closes https://github.com/espressif/esp-idf/issues/10952
2023-04-03 13:17:11 +08:00
Jiang Jiang Jian
4c7d97e2bd Merge branch 'bugfix/sta_sa_query_process_v4.4' into 'release/v4.4'
esp_wifi: Improve station SA query procedure handling and other bugfixes (Backport v4.4)

See merge request espressif/esp-idf!22901
2023-04-03 11:15:54 +08:00
Jiang Jiang Jian
9c38441916 Merge branch 'bugfix/fix_sc_send_failure_and_exit_issue_v4.4' into 'release/v4.4'
smartconfig: fix the issue of sending failure and exit (Backport v4.4)

See merge request espressif/esp-idf!23025
2023-04-03 11:05:02 +08:00
Mahavir Jain
4b404115e8 Merge branch 'feature/fix_load_efuses_from_flash_when_real_fe_is_on_v4.4' into 'release/v4.4'
efuse(virtual mode): Fix load_efuses_from_flash when FE is on (v4.4)

See merge request espressif/esp-idf!22969
2023-03-31 20:13:27 +08:00
Sarvesh Bodakhe
52b940bed5 esp_wifi: Improve station SA query procedure handling and other bugfixes
1. Disable SA query timers when station disconnect and other SA query related improvements
2. Send appropriate reason code in 4 way handshake failure
3. Send deauth while going from assoc state to init, if reason is assoc timeout
2023-03-31 16:26:15 +05:30
muhaidong
d52d1fc443 smartconfig: fix the issue of sending failure and exit 2023-03-31 17:26:05 +08:00
Jiang Jiang Jian
60c57ade1d Merge branch 'bugfix/tx_desc_fragment_v4.4' into 'release/v4.4'
esp_wifi: fix potential issue when tx fragment pkt(v4.4)

See merge request espressif/esp-idf!22961
2023-03-31 15:30:59 +08:00
Jiang Jiang Jian
df8c0f2191 Merge branch 'doc/update_doc_of_esp_bt_gap_set_cod_v4.4' into 'release/v4.4'
bt: Optimized the document for GAP API: esp_bt_gap_set_cod (v4.4)

See merge request espressif/esp-idf!22995
2023-03-31 13:59:45 +08:00
Jiang Jiang Jian
f67cb1d129 Merge branch 'bugfix/IDFGH-9552_v4.4' into 'release/v4.4'
NimBLE : Added configurable option for resolving peer address in bleprph example. (v4.4)

See merge request espressif/esp-idf!22992
2023-03-31 13:59:15 +08:00
Jiang Jiang Jian
fa3c3a8b46 Merge branch 'bugfix/update_wps_api_documentation_v4.4' into 'release/v4.4'
wpa_supplicant: Update WPS API documentation (v4.4)

See merge request espressif/esp-idf!23014
2023-03-31 13:58:42 +08:00
Jiang Jiang Jian
4531322dd9 Merge branch 'bugfix/improve_tx_robust_v4.4' into 'release/v4.4'
esp_wifi: improve tx robust for c3/s3(v4.4)

See merge request espressif/esp-idf!23009
2023-03-31 11:02:59 +08:00
Kapil Gupta
5c642f98c7 wpa_supplicant: Update WPS API documentation 2023-03-30 20:05:06 +05:30
chenjianxing
e0e4649c7e esp_wifi: improve tx robust for c3/s3 2023-03-30 21:48:53 +08:00
zhiweijian
db3e673053 Fixed vulnerability attacks that could cause heap overflow in fragmented Blufi packet processing 2023-03-30 17:50:20 +08:00
zwj
0ab020fef0 Fixed BLE HW RAL_UNDERRUN assert on ESP32C3 and ESP32S3 2023-03-30 17:07:19 +08:00
zwj
bd8d473006 If it is not esp32 chips, hide the configuration item: BT_BLE_RPA_SUPPORTED 2023-03-30 17:00:56 +08:00
Marius Vikhammer
9acf0aaee1 rom: fix newlib time ROM functions being regardless of CONFIG_SPIRAM_CACHE_WORKAROUND
On ESP32 ROM functions are not compatible with CONFIG_SPIRAM_CACHE_WORKAROUND.
This were handled correctly in cmake, but not in make.
2023-03-30 16:19:38 +08:00
zhiweijian
e7fd58d77a set BT_CTRL_BLE_MAX_ACT default value to 6 2023-03-30 16:14:18 +08:00
zhiweijian
49691b6a9e Fixed ATT Ignore wrong response error 2023-03-30 16:13:32 +08:00
zwj
b475798ad6 - Support ESP32C3 and ESP32S3 new BLE lib
- Disable controller 5.0 feature bits if host 5.0 feature is not enabled
- Fixed extend ADV parameters check for ADV_DIRECT_HI
2023-03-30 16:10:42 +08:00
zwj
50163578bf Merge ESP32C3 and ESP32S3 BLE bt.c files to one 2023-03-30 15:54:37 +08:00
Jin Cheng
8daf85b32a Optimized the document for GAP API:
`esp_bt_gap_set_cod`
2023-03-30 14:17:17 +08:00
isha.pardikar@espressif.com
b594199917 NimBLE: Added configurable option for resolving peer address in bleprph example
Closes IDFGH-9552
2023-03-30 11:00:48 +05:30
morris
647cc43f44 Merge branch 'bugfix/usb_host_enumeration_delay_v4.4' into 'release/v4.4'
USB Host: SetAddress recovery interval + menuconfig configuration (backport v4.4)

See merge request espressif/esp-idf!22703
2023-03-30 12:03:01 +08:00
Jiang Jiang Jian
3b54c90e0d Merge branch 'bugfix/IDFGH_9535_v4.4' into 'release/v4.4'
wifi_prov_mgr : Fixed return value of characteristic read operation in nimble (v4.4)

See merge request espressif/esp-idf!22673
2023-03-29 19:18:22 +08:00
Song Ruo Jing
81b59071fd gpio: Fix IO hold function related problems
1. Fix deep sleep wakeup IOs can not be unhold issue
2. Correct hold related APIs' description
3. Fix gpio_force_hold_all API

docs: Add GPIO wakeup source to sleep_modes doc for ESP32C3
2023-03-29 17:21:50 +08:00
Song Ruo Jing
ef648dfdf6 examples: system/deep_sleep
1. Fix EXT0 wakeup pin error on ESP32: GPIO3 is not a RTC IO, change to use GPIO25.
2. Add ESP_ERROR_CHECK to explicitly show the runtime error
3. Improve example README
2023-03-29 17:21:50 +08:00
Song Ruo Jing
5552c29b3e rtcio: Add a test case to test RTCIO's hold ability after deep sleep wakeup 2023-03-29 17:21:50 +08:00
KonstantinKondrashov
b19d685406 efuse: Fix load_efuses_from_flash when FE is on
esp_efuse_utility_load_efuses_from_flash() read emul_efuse
as an encrypted partition, but that is not correct,
this partition was never encrypted.
Need to read it as not encrypted partition.

Fxed the case: If FE is already on then EFUSE VIRT mode can work with it.

Closes https://github.com/espressif/esp-idf/issues/10929
2023-03-29 16:18:54 +08:00
Marius Vikhammer
4fb8c6f220 Merge branch 'docs/ledc_datasheet_v4.4' into 'release/v4.4'
docs: update readme links to ledstrip datasheet (v4.4)

See merge request espressif/esp-idf!22959
2023-03-29 14:45:10 +08:00
Marius Vikhammer
9071843f2b docs: update readme links to ledstrip datasheet 2023-03-29 11:09:05 +08:00
chenjianxing
d7de64691b esp_wifi: fix potential issue when tx fragment pkt 2023-03-29 11:08:35 +08:00
Jiang Jiang Jian
3c25ecb92e Merge branch 'feature/ble_mesh_console_stack_update_v4.4' into 'release/v4.4'
ble_mesh: stack: Miscellaneous fixes and updates(v4.4)

See merge request espressif/esp-idf!22924
2023-03-28 15:57:44 +08:00
lly
18a5b07607 ble_mesh: stack: Minor fix for provisioner provisioning timeout 2023-03-28 04:29:57 +00:00
wangjialiang
6c55c9c800 ble_mesh: add BQB LOG 2023-03-28 04:29:57 +00:00
luoxu
0ec64df258 ble_mesh: stack: forward rfu dst for the case NODE/RLY/BV-01 2023-03-28 04:29:57 +00:00
luoxu
8f5c5a3972 ble_mesh: stack: add send transaction ack befor provisioner send prov failed msg 2023-03-28 04:29:57 +00:00
luoxu
34841a97a5 ble_mesh: stack: for the case MESH/PVNR/PBADV/BV-01, add the close link reason before reset link 2023-03-28 04:29:57 +00:00
Marius Vikhammer
9b4ccdc911 Merge branch 'bugfix/increase_nmea_example_default_stack_v4.4' into 'release/v4.4'
uart: increase default stack size for nmea example (v4.4)

See merge request espressif/esp-idf!22916
2023-03-27 17:16:47 +08:00
Zim Kalinowski
e9e1f8e001 Merge branch 'docs/extra_component_dirs_v4.4' into 'release/v4.4'
docs: fixed EXTRA_COMPONENT_DIRS being mispelled as EXTRA_COMPONENTS_DIRS in build-system guide (v4.4)

See merge request espressif/esp-idf!22801
2023-03-27 17:02:58 +08:00
Island
c707cdd344 Merge branch 'feature/ble_mesh_add_bqb_log_test_macro_v4.4' into 'release/v4.4'
ble_mesh: stack: Add macros for BQB test to enable some internal function or log (v4.4)

See merge request espressif/esp-idf!22923
2023-03-27 16:43:07 +08:00
wangjialiang
dad6588e3d ble_mesh: stack: bug fix in bqb 2023-03-24 17:13:11 +08:00
wangjialiang
1a412555cd ble_mesh: stack: add description of internal BQB Test 2023-03-24 17:12:57 +08:00
lly
4737b4865d ble_mesh: stack: Minor updates for BQB test log 2023-03-24 17:12:47 +08:00
wangjialiang
14d90c4534 ble_mesh: stack: Add a BQB macro for BQB test to enable some internal function or log 2023-03-24 17:12:23 +08:00
Viktor Babrian
0050fa940c components/mdns: use semaphore instead of task notification bits (IDFGH-9380)
Component should not alter the task notification bits of the calling task.
2023-03-24 09:03:35 +01:00
Marius Vikhammer
40a92dbfab uart: increase default stack size for nmea example
With the old value of 2048 bytes we are right on the stack border when running on S3.

Closes https://github.com/espressif/esp-idf/issues/11044
2023-03-24 12:21:33 +08:00
Jiang Jiang Jian
90d6e45d9f Merge branch 'mesh/bugfix_fix_bugs_for_mesh_network_v4.4' into 'release/v4.4'
wifi_mesh: fix bugs for mesh network (backport v4.4)

See merge request espressif/esp-idf!22899
2023-03-24 10:58:36 +08:00
Marius Vikhammer
2222ca49d6 Merge branch 'docs/update_link_to_esp_product_selector' into 'release/v4.4'
update link to ESP product selector

See merge request espressif/esp-idf!22890
2023-03-23 18:28:33 +08:00
Zhang Xiao Yan
42c73548a1 update link to ESP product selector 2023-03-23 18:28:32 +08:00
Michael (XIAO Xufeng)
2a052f09f2 Merge branch 'bugfix/fix_uart_tx_done_hardware_concurrency_v4.4' into 'release/v4.4'
uart: Fix TX side concurrency issues (v4.4)

See merge request espressif/esp-idf!22596
2023-03-23 16:46:49 +08:00
Dong Heng
b7ea6e44b2 vfs: uart/cdcacm/usb_serial_jtag fcntl return read/write state 2023-03-23 08:22:56 +00:00
zhangyanjiao
794905b0e1 wifi_mesh: update mesh doc 2023-03-23 16:10:34 +08:00
zhangyanjiao
b10a36d0e2 wifi_mesh: Fix several bugs on mesh network 2023-03-23 16:10:11 +08:00
Jiang Jiang Jian
f3fc6f7435 Merge branch 'bugfix/add_unregister_wpa3_cb_v4.4' into 'release/v4.4'
wpa_supplicant : Add support for unregistering wifi wpa3 callbacks.

See merge request espressif/esp-idf!22556
2023-03-23 15:22:36 +08:00
Wang Meng Yang
7894f032f6 Merge branch 'bugfix/hfp_ag_cannot_init_conn_v4.4' into 'release/v4.4'
bt: Fixed the index out of bounds of hfp_ag BTC control block (v4.4)

See merge request espressif/esp-idf!22873
2023-03-23 10:50:57 +08:00
Jiang Jiang Jian
a3f285d744 Merge branch 'bugfix/dm9051_rcv_mcast_v4.4' into 'release/v4.4'
esp_eth: allowed DM9051 to receive multicast packets (v4.4)

See merge request espressif/esp-idf!22865
2023-03-23 10:44:49 +08:00
Jiang Jiang Jian
4ffc7c666c Merge branch 'bugfix/lwip_core_locking_v4.4' into 'release/v4.4'
esp_netif/lwip: Fix core-locking config (v4.4)

See merge request espressif/esp-idf!22466
2023-03-23 10:39:57 +08:00
Jin Cheng
c8a3237309 Fixed the index out of bounds of hfp_ag BTC control block 2023-03-22 15:49:56 +08:00
Ondrej
88a2afc034 esp_eth: DM9051 stop/start issue fixed 2023-03-21 16:32:46 +00:00
Ondrej
fc09ea7b19 esp_eth: allowed DM9051 to receive multicast packets
Removed extra PHY status link checks from DM9051 MAC layer
2023-03-21 16:28:51 +00:00
Jiang Jiang Jian
8cea38360f Merge branch 'bugfix/fix_examples_sdmmc_card_init_failure_esp32s3_v4.4' into 'release/v4.4'
SDMMC example: Fix for 'sdmmc_card_init failed for ESP32S3' (v4.4)

See merge request espressif/esp-idf!22653
2023-03-21 18:57:10 +08:00
David Cermak
35eeb04829 lwip: Add missing esp_sntp_enabled() 2023-03-21 10:31:25 +01:00
David Cermak
079611dd16 lwip/sntp: Fix esp_sntp_ API races (v4.4)
Some of the esp_sntp_...() APIs that wrap lwip's SNTP
module use tcpip_callback() to execute the lwip functionality
in the correct state (either with locked TCP/IP core,
or within the TCP/IP thread).
tcpip_callback() however doesn't wait for completion of the callback,
which doesn't prevent from using the stack variables after destroy
if used as a parameter.
Introduced in a71fa82.
Fixed by using of tcpip_api_call() instead of the tcpip_callback().

Closes https://github.com/espressif/esp-idf/issues/10611
2023-03-21 10:31:25 +01:00
David Cermak
29b8a00c0a esp_netif/lwip: Fix core-locking config (v4.4)
* Fix thread safety issues in non-core locking
* Add option to verify thread safety issues in lwip (core-lock assertion)
* Make esp_sntp.h thread safe API
* Fix sntp example
(v4.4 - fixes minor merge issue that duplicated
DHCP_DEFINE_CUSTOM_TIMEOUTS and DHCP_REQUEST_TIMEOUT_SEQUENCE)

Closes https://github.com/espressif/esp-idf/issues/9908
Closes https://github.com/espressif/esp-idf/issues/10502
Closes https://github.com/espressif/esp-idf/issues/10466
2023-03-21 10:31:20 +01:00
Cao Sen Miao
897082dbe5 usb_serial_jtag: Fix bug of blocking TX xfer when using driver,
Merges https://github.com/espressif/esp-idf/pull/10208
2023-03-20 14:39:35 +08:00
Sonika Rathi
d91efe9f8e SDMMC example: Fix for 'sdmmc_card_init failed for ESP32S3' (v4.4)
Closes https://github.com/espressif/esp-idf/issues/10855
2023-03-20 11:50:45 +05:30
Chip Weinberger
6cf1d8ea40 [USB Serial/JTAG Driver] use time-limited blocking for TX 2023-03-20 14:20:40 +08:00
Jiang Jiang Jian
48b3f236d3 Merge branch 'contrib/github_pr_10402_v4.4' into 'release/v4.4'
ledc: move callback to IRAM as it's called from an ISR (GitHub PR) (v4.4)

See merge request espressif/esp-idf!22593
2023-03-20 14:06:23 +08:00
Jiang Jiang Jian
3c8bc2213c Merge branch 'feature/esp32c3_uart_add_wakeup_event_v4.4' into 'release/v4.4'
UART: add uart wakeup event for esp32c3 and esp32s3 (v4.4)

See merge request espressif/esp-idf!22647
2023-03-20 14:05:42 +08:00
Jiang Jiang Jian
188bb8df22 Merge branch 'bugfix/add_debug_check_v4.4' into 'release/v4.4'
Nimble: Added debug relate flag around debug code_v4.4

See merge request espressif/esp-idf!22783
2023-03-20 14:04:54 +08:00
Jiang Jiang Jian
c5e4b7d7d4 Merge branch 'bugfix/close_rf_in_deep_sleep_backport_v4.4' into 'release/v4.4'
deep sleep: further optimize sleep current if RF is enabled (backport v4.4)

See merge request espressif/esp-idf!22737
2023-03-20 14:04:36 +08:00
Roland Dobai
e47aaa7088 Merge branch 'contrib/github_pr_10935_v4.4' into 'release/v4.4'
export: avoid error on unbound variable (GitHub PR) (v4.4)

See merge request espressif/esp-idf!22821
2023-03-18 15:38:58 +08:00
Roland Dobai
e619c17871 Merge branch 'feature/export_fish_exit_code_success_v4.4' into 'release/v4.4'
Tools: export.fish exit with success exit code (v4.4)

See merge request espressif/esp-idf!22819
2023-03-18 15:37:15 +08:00
Marc Finet
2a3cdb090f export: avoid error on unbound variable
I the shell has `set -u` (to abort on unbound variable), sourcing
export.sh currently fails when IDF_EXPORT_QUIET or IDF_PATH is not set:
> /path/to/esp-idf/export.sh:16: IDF_EXPORT_QUIET: unbound variable

This commit sets a default empty value to those variable, as done
in 16731833fb (which forgot IDF_PATH as it's usually set, the other
variable landed later in the file).
2023-03-17 18:46:42 +01:00
Max Larsson
3ed0f1665f Make export.fish exit with SUCCESS exit code
The export.fish script exits with an exit code of 4. Thus, any shell checks that make sure the source command exits successfully always failed. This was due to the last line trying to erase the __main function. In fish, you can't erase a function using the `set` command, you can only erase variables. By removing that line the script now exits with an exit code of 0 instead of 4.

Erase __main function at the end of export.fish

Closes https://github.com/espressif/esp-idf/pull/10828
2023-03-17 18:08:41 +01:00
Jiang Jiang Jian
7cfc1a747f Merge branch 'docs/update_esp_hid_device_v4.4' into 'release/v4.4'
docs: fixed missing API-reference documents for Bluetooth HID device(backport v4.4)

See merge request espressif/esp-idf!19582
2023-03-17 19:40:43 +08:00
Michael (XIAO Xufeng)
61521da8d0 Merge branch 'test/add_spi_slave_freq_test_v4.4' into 'release/v4.4'
spi_slave: fix io re-config issue (v4.4)

See merge request espressif/esp-idf!22591
2023-03-17 19:25:07 +08:00
Jiang Jiang Jian
012b5006c0 Merge branch 'bugfix/more_data_bit_issue_v4.4' into 'release/v4.4'
esp_wifi: fix more data bit cause not go to modem sleep(v4.4)

See merge request espressif/esp-idf!22791
2023-03-17 13:52:48 +08:00
Jiang Jiang Jian
11e20bbf7b Merge branch 'bugfix/avrcp_psth_cmd_rsp_v4.4' into 'release/v4.4'
bt:Added a parameter to tell the user the result of the pass through command implementation(v4.4)

See merge request espressif/esp-idf!22789
2023-03-17 13:52:39 +08:00
Marius Vikhammer
874371c382 docs: fixed EXTRA_COMPONENT_DIRS being mispelled as EXTRA_COMPONENTS_DIRS in build-system guide 2023-03-17 11:51:25 +08:00
Jiang Jiang Jian
4ceb928831 Merge branch 'feature/gatt_server_improvements_v4.4' into 'release/v4.4'
NimBLE: Added custom GATT Server functionality and encryption (v4.4)

See merge request espressif/esp-idf!22741
2023-03-17 10:53:01 +08:00
chenjianxing
bf92b0dda8 esp_wifi: fix more data bit cause not go to modem sleep
Closes AUD-4173
2023-03-16 15:45:21 +08:00
Jiang Jiang Jian
0c0d7bb1a3 Merge branch 'bufix/Backport_some_lwip_bugs_for_4.4_0315' into 'release/v4.4'
bugfix/Backport_some_lwip_bugs_for_4.4_0315

See merge request espressif/esp-idf!22762
2023-03-16 10:31:13 +08:00
Rahul Tank
4b40662fad Nimble: Added debug relate flag around debug code 2023-03-15 16:49:25 +05:30
Marius Vikhammer
207e7e6692 Merge branch 'docs/broken_links_2_v4.4' into 'release/v4.4'
docs: fix broken links (v4.4)

See merge request espressif/esp-idf!22749
2023-03-15 14:16:30 +08:00
wanlei
3fda8f942c mspi: turn down freq to fix crash when sleep 2023-03-15 11:33:07 +08:00
xueyunfei
8331ae8586 lwip: solve some routers do not forward multicast packet issue 2023-03-14 19:03:23 +08:00
xueyunfei
9403854bed tcp_in/ooseq: Fix incorrect segment trim when FIN moved
* Update submodule: git log --oneline a7abf28e02282b32479f4bbaf2d90f09d2a60f4c..6bb132e3797d5449a923804c75c57d458920f8ac

Detailed description of the changes:
  - tcp_in/ooseq: Fix incorrect segment trim when FIN moved (esp-lwip@6bb132e3)
  - api_msg: fix tcp_abort thread safety (esp-lwip@53a6e019)
2023-03-14 18:46:00 +08:00
xueyunfei
109eec4033 dhcp server:bugfix softap excedes the range of subnet 2023-03-14 18:45:43 +08:00
xiongweichao
0ac35d3f09 bt:Added a parameter to tell the user the result of the pass through command implementation 2023-03-14 16:44:10 +08:00
Krzysztof Budzynski
6d09159974 Merge branch 'docs/format_temp_sensor' into 'release/v4.4'
format temp_sensor.rst

See merge request espressif/esp-idf!22475
2023-03-14 14:15:30 +08:00
wuzhenghui
e357de5406 deep sleep: close rf to optimize sleep current 2023-03-14 14:05:15 +08:00
Linda
aac827ede7 format temp_sensor.rst 2023-03-14 13:04:34 +08:00
wangmengyang
a13f65206c examples/Bluetooth/bt_hid_mouse_device: improved the exmaple README 2023-03-14 12:13:48 +08:00
wangmengyang
b419830cb0 examples/bluetooth/bt_hid_mouse_device: fixed code format, added more comments to improve code readability 2023-03-14 12:13:48 +08:00
wangmengyang
67cc93b1d5 bt: fix the documentations for Bluetooth HID device APIs 2023-03-14 12:13:48 +08:00
wangmengyang
a91d53f04f docs: fixed missing API-reference documents for Bluetooth HID device
# Conflicts:
#	docs/docs_not_updated/esp32c2.txt
#	docs/doxygen/Doxyfile
2023-03-14 12:13:48 +08:00
Marius Vikhammer
f262f1c361 docs: fix broken links 2023-03-14 10:26:37 +08:00
Sumeet Singh
1c4a48bd11 NimBLE: Added custom GATT Server functionality and encryption (v4.4) 2023-03-13 19:46:38 +05:30
Zim Kalinowski
63f78a82f0 Merge branch 'bugfix/ulp_docs_incorrect_jump_desc_v4.4' into 'release/v4.4'
docs: Updated incorrect description for ULP FSM JUMPR and JUMPS instructions (v4.4)

See merge request espressif/esp-idf!22732
2023-03-13 21:29:27 +08:00
wuzhenghui
91b9483987 Revert "optimize deep sleep current in wifi softap mode"
This reverts commit 344ec80fad.
2023-03-13 20:41:16 +08:00
Sudeep Mohanty
c1ca9222fa docs: Updated incorrect description for ULP FSM JUMPR and JUMPS instructions
This commit updates the incorrect description for the JUMPR and JUMPS
instructions for ULP FSM on esp32/s2/s3.

Closes https://github.com/espressif/esp-idf/issues/10923
2023-03-13 11:04:30 +01:00
Zim Kalinowski
82f10149c2 Merge branch 'feature/docker_add_ruby_bsd_4.4' into 'release/v4.4'
feat (cmock): add ruby and libbsd-dev to docker image (backport v4.4)

See merge request espressif/esp-idf!22705
2023-03-13 15:37:22 +08:00
Jiang Jiang Jian
9f8f60ddb8 Merge branch 'bugfix/fix_hidh_connection_bug_v4.4' into 'release/v4.4'
Bugfix/Fix HID Host bug when handling the two consecutive connection request[backport 4.4]

See merge request espressif/esp-idf!22722
2023-03-13 15:07:11 +08:00
Jiang Jiang Jian
d56a3b5dd3 Merge branch 'bugfix/wifi_enterprise_example_typo_v4.4' into 'release/v4.4'
esp_wifi: fix typo in wifi_enterprise example README (Backport v4.4)

See merge request espressif/esp-idf!22651
2023-03-13 14:06:24 +08:00
liqigan
f0394b03bc fix HID Host bug when handling the two consecutive connection request
Closes https://github.com/espressif/esp-idf/issues/10504
2023-03-13 10:22:28 +08:00
Jakob Hasse
2b9053fe97 feat (cmock): add ruby and libbsd-dev to docker image
Closes https://github.com/espressif/esp-idf/issues/9342
2023-03-10 17:54:33 +08:00
Ivan Grokhotkov
fee50c208a Merge branch 'bugfix/modbus_remove_manifest_from_subrepo' into 'release/v4.4'
freemodbus: remove component manifest file from freemodbus subrepo

See merge request espressif/esp-idf!22693
2023-03-10 17:23:32 +08:00
Alex Lisitsyn
67b3b263db freemodbus: remove component manifest file from freemodbus subrepo 2023-03-10 17:23:32 +08:00
Wang Meng Yang
712f6cb95c Merge branch 'bugfix/spp_server_doc_v4.4' into 'release/v4.4'
SPP server documentation fix (v4.4)

See merge request espressif/esp-idf!22679
2023-03-10 17:22:19 +08:00
Michael (XIAO Xufeng)
8232f23f65 Merge branch 'feature/apply_new_version_logic_v4.4' into 'release/v4.4'
all: Apply new version logic (major * 100 + minor) (v4.4)

See merge request espressif/esp-idf!22481
2023-03-10 14:52:18 +08:00
Roman Leonov
0f47fad650 usb_host: add recovering interval after SetAddress(). Possibility to change constant delay value via menuconfig.
Closes https://github.com/espressif/esp-idf/issues/10444
Closes https://github.com/espressif/esp-idf/issues/10718
2023-03-10 07:07:38 +01:00
Zim Kalinowski
1500d703a1 Merge branch 'bugfix/spram_and_virt_efuse_can_work_v4.4' into 'release/v4.4'
esp_psram: Use efuse_ll instead of efuse API (v4.4)

See merge request espressif/esp-idf!22642
2023-03-09 22:19:12 +08:00
isha.pardikar@espressif.com
e0aa158399 Doc : SPP server documentation fix
Closes https://github.com/espressif/esp-idf/issues/10930
2023-03-09 11:59:00 +05:30
morris
6e950ad679 Merge branch 'bugfix/adc2_legacy_oneshot_clk_gating_issue' into 'release/v4.4'
adc: fix legacy oneshot driver clock gating issue on c3 (v4.4)

See merge request espressif/esp-idf!22609
2023-03-09 13:29:40 +08:00
morris
7d727fffdd Merge branch 'bugfix/return_error_when_fail_detect_oct_psram_v4.4' into 'release/v4.4'
esp_psram: return error when fail to detect oct psram (v4.4)

See merge request espressif/esp-idf!22613
2023-03-09 13:28:58 +08:00
morris
4b498e8bce Merge branch 'bugfix/fix_btld_app_overlap_c2_v4.4' into 'release/v4.4'
ld: fixed bootloader and app potential overlap issue (v4.4)

See merge request espressif/esp-idf!22570
2023-03-09 13:28:36 +08:00
morris
028f48369c Merge branch 'bugfix/no_more_public_adc2_dma_on_c3_s3_v4.4' into 'release/v4.4'
adc: no longer support adc2 continuous mode on esp32c3 and esp32s3 (v4.4)

See merge request espressif/esp-idf!21649
2023-03-09 13:27:25 +08:00
isha.pardikar@espressif.com
c134171e80 wifi_prov_mgr : Fixed return value of characteristic read operation 2023-03-09 10:44:54 +05:30
Jiang Jiang Jian
38ec6aafc6 Merge branch 'optimization/lwip_dhcp_coarse_timer_4.4' into 'release/v4.4'
lwip:optimization dhcp coarse timer for 4.4

See merge request espressif/esp-idf!22425
2023-03-09 11:07:25 +08:00
Marius Vikhammer
91930c4a6e Merge branch 'bugfix/modbus_debug_message_v4.4' into 'release/v4.4'
esp-modbus: fix debug message being printed for all builds

See merge request espressif/esp-idf!22523
2023-03-09 09:48:29 +08:00
Sarvesh Bodakhe
6a2e2d99a7 esp_wifi: fix typo in wifi_enterprise example README
Closes https://github.com/espressif/esp-idf/issues/10042
2023-03-08 13:23:54 +05:30
laokaiyao
ac67d5dd35 uart: support light sleep on esp32s3 2023-03-08 11:10:43 +08:00
Chen Wu
1d31a493e4 debug: esp32c3 uart1 wakeup 2023-03-08 10:30:46 +08:00
Chen Yi Qun
ea837e3a5e simple test for uart wakeup 2023-03-08 10:02:32 +08:00
Chen Yi Qun
176f44c15f uart: add wakeup event for esp32c3 2023-03-08 10:02:23 +08:00
KonstantinKondrashov
9e0a8e2dca esp_psram: Use efuse_ll instead of efuse API
When the virt efuse mode is on and psram is on as well
then efuse buffer is not filled by efuses (it is filled by 0).
So the psram init func gets wrong pkg_ver = 0.

Closes https://github.com/espressif/esp-idf/issues/10925
Close IDFGH-9576
2023-03-08 01:47:06 +08:00
Armando
eab3534c90 adc: no longer support adc2 oneshot mode on esp32c3
Due to HW limitation, we don't support this anymore. On c3, ADC2 under oneshot mode is not stable.

However, you can enable CONFIG_ADC_ONESHOT_FORCE_USE_ADC2_ON_C3 to force use
ADC2.

Refer to errata to know more details:
https://www.espressif.com/sites/default/files/documentation/esp32-c3_errata_en.pdf
2023-03-07 11:58:27 +08:00
Armando
5fa6b2879c ld: fixed bootloader and app potential overlap issue 2023-03-07 02:39:56 +00:00
Armando
cf9cb577ce esp_psram: return error when fail to detect oct psram 2023-03-07 02:39:44 +00:00
Armando
f0af48b585 adc: fix legacy oneshot driver clock gating issue on c3 2023-03-07 02:39:11 +00:00
Marius Vikhammer
2d41f6fe31 esp-modbus: fix debug message being printed for all builds 2023-03-07 02:29:00 +00:00
Mahavir Jain
60b90c5144 Merge branch 'feature/memprot_test_app_v4.4' into 'release/v4.4'
memprot: Fix incorrect faulting address reported for esp32c3 (v4.4)

See merge request espressif/esp-idf!22583
2023-03-06 20:27:21 +08:00
Armando
ffb2db586a adc: no longer support adc2 continuous mode on esp32c3 and esp32s3
Due to HW limitation, we don't support this anymore. On s3 and c3, ADC2 under continuous  mode is not stable.

However, you can enable CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 to force use
ADC2.

Refer to errata to know more details:
https://www.espressif.com/sites/default/files/documentation/esp32-s3_errata_en.pdf
https://www.espressif.com/sites/default/files/documentation/esp32-c3_errata_en.pdf
2023-03-06 18:57:58 +08:00
Armando
f311bbdcf9 adc: added a soc macro indicating digital controller supported unit 2023-03-06 18:57:58 +08:00
morris
c3172de254 Merge branch 'contrib/github_pr_10640_v4.4' into 'release/v4.4'
hal/uart_ll.h: Fix compile with C++ (ESP32-S3/H2) (GitHub PR) (v4.4)

See merge request espressif/esp-idf!22589
2023-03-06 15:36:02 +08:00
Marius Vikhammer
0cd02c044c Merge branch 'refactor/move_rom_test_to_fpga_only_v4.4' into 'release/v4.4'
esp_rom: miniz test only on FPGA (backport 4.4)

See merge request espressif/esp-idf!22602
2023-03-06 09:15:24 +08:00
morris
a6473f13ec Merge branch 'contrib/github_pr_10334_v4.4' into 'release/v4.4'
Set errno in adjtime (GitHub PR) (v4.4)

See merge request espressif/esp-idf!22599
2023-03-05 21:38:00 +08:00
KonstantinKondrashov
df09f8670a version: Fix missed version checks 2023-03-05 18:25:50 +08:00
Zim Kalinowski
4227dcc4a4 Merge branch 'bugfix/fix_psram_kconfig_help_v4.4' into 'release/v4.4'
psram: removed deprecated statement about coredump and external BSS (backport v4.4)

See merge request espressif/esp-idf!22563
2023-03-04 21:59:49 +08:00
KonstantinKondrashov
2c46d5442f kconfigs: Fix config issues raised by gen_kconfig_doc.py 2023-03-03 22:26:39 +00:00
KonstantinKondrashov
a786554530 esptool: Adds support major&minor chip versions + min&max chip revision options 2023-03-03 22:26:39 +00:00
KonstantinKondrashov
8ca1779931 app: Updates the chip version format (vX.Y) 2023-03-03 22:26:39 +00:00
KonstantinKondrashov
1027c02aa1 bootloader_support: Fix iram_loader_seg overflow for ESP32-S2 when -O0 2023-03-03 22:26:39 +00:00
KonstantinKondrashov
fde8517956 chip_version: Updates for Make build system 2023-03-03 22:26:39 +00:00
KonstantinKondrashov
a86c80e3ec all: Apply new version logic (major * 100 + minor) 2023-03-03 22:26:39 +00:00
Sergei Silnov
bff43a1b6f Merge branch 'bugfix/default_components_for_component_manager_v4.4' into 'release/v4.4'
build & config: Don't include common components on early expansion (v4.4)

See merge request espressif/esp-idf!22371
2023-03-04 06:25:22 +08:00
daiziyan
5a32b53431 docs: udpate CN translation for build-system 2023-03-03 20:02:50 +01:00
Sergei Silnov
bb272d1b0a build & config: Check requirements of managed components of main and add interface versioning 2023-03-03 20:02:49 +01:00
Jakob Hasse
732ce674f0 refactor(esp_rom): miniz test only on FPGA now 2023-03-03 18:19:16 +08:00
jofrev
6802299ef4 Set errno in adjtime if delta is too large
errno should be set to EINVAL in this case according to adjtime's man
page.
2023-03-03 18:15:52 +08:00
jofrev
7ccacc7385 Set errno in adjtime if newlib time funcs are not implemented
Other time functions (e.g. settimeofday) set errno to ENOSYS if
IMPL_NEWLIB_TIME_FUNCS is not set.
adjtime should probably do the same.
2023-03-03 18:15:51 +08:00
Song Ruo Jing
093eaae4e5 uart: Fix two TX concurrency issues
1. Concurrency might cause ESP_ERR_TIMEOUT when calling uart_wait_tx_done
2. Concurrency might cause RTS line being de-assreted during tx transmission for rs485 mode
2023-03-03 18:01:46 +08:00
Song Ruo Jing
022a697ed8 ledc: Add check for whether the registered callback is in iram in ledc_cb_register 2023-03-03 17:35:35 +08:00
wanlei
86fd4b983f spi_slave: fix io re-config issue 2023-03-03 17:28:54 +08:00
chli
9fa8e2df41 ledc: move callback to IRAM, it's called from an ISR 2023-03-03 17:22:07 +08:00
Simon Arlott
f5d94ef432 hal/uart_ll.h: Fix compile issue with C++
Merges https://github.com/espressif/esp-idf/pull/10640
2023-03-03 17:01:41 +08:00
Laukik Hase
6f2bf5f856 memprot: Fix incorrect faulting address reported for esp32c3
Co-authored-by: Mahavir Jain <mahavir@espressif.com>
2023-03-03 10:18:54 +05:30
xueyunfei
4186c9a0fc lwip:optimization dhcp coarse timer 2023-03-02 08:44:07 +00:00
Omar Chebib
35fec3a2ef psram: removed deprecated statement about coredump and external BSS 2023-03-01 19:06:30 +08:00
Krzysztof Budzynski
af9e99759a Merge branch 'docs/fix_errors_in_esp32-c3-devkitm-1_pin_list_v4.4_' into 'release/v4.4'
Docs/Fix Errors in ESP32-C3-DevKitM-1 Pin List (v4.4)

See merge request espressif/esp-idf!22495
2023-03-01 18:41:59 +08:00
Wang Ning
cb217ace1e Docs/Fix Errors in ESP32-C3-DevKitM-1 Pin List (v4.4) 2023-03-01 18:41:59 +08:00
jgujarathi
fde6be3d6a wpa_supplicant : Add validations for 192-bit Suite B test cases.
Add validations for group data cipher, pairwise cipher and AKM Suites to
ensure correct ciphers are supported by AP during 192-bit Enterprise
connections.
2023-03-01 10:43:07 +05:30
jgujarathi
cb2f801ae7 wpa_supplicant : Add deinitialization of Enterprise config_methods.
Add deinitialization of config_methods as it prevents correct reinitialization of sta in eap_peer_config_init() during reassoc.
2023-03-01 10:42:13 +05:30
jgujarathi
176dbaf4a7 wpa_supplicant : Add support for unregistering wifi wpa3 callbacks.
Unregister wifi callbacks allows for disabling support for wpa3 functions when not required.
2023-03-01 10:40:06 +05:30
Zim Kalinowski
20e5bc7ce0 Merge branch 'bugfix/nvs_cxx_example_v4.4' into 'release/v4.4'
nvs_flash: fixed wrong error check after open_nvs_handle in example (v4.4)

See merge request espressif/esp-idf!22304
2023-02-28 21:38:38 +08:00
Jiang Jiang Jian
4b6ecea959 Merge branch 'fix/efuse-function-declaration_v4.4' into 'release/v4.4'
efuse: fix esp_efuse_utility_write_reg() declaration (v4.4)

See merge request espressif/esp-idf!22087
2023-02-28 19:54:43 +08:00
Jiang Jiang Jian
f8c2f62db4 Merge branch 'bugfix/flash_large_memory_size_v4.4' into 'release/v4.4'
spi_flash: Fix issue that cannot get accurate flash size when encounter large size memory(backport v4.4)

See merge request espressif/esp-idf!21534
2023-02-28 19:53:25 +08:00
Jiang Jiang Jian
b60d5960a7 Merge branch 'docs/update-esp-rom-elfs-link_v4.4' into 'release/v4.4'
docs: update link for ESP ROM ELF releases (v4.4)

See merge request espressif/esp-idf!22262
2023-02-28 19:52:08 +08:00
Jiang Jiang Jian
97c23f2e79 Merge branch 'bugfix/twai_listen_only_errata_v4.4' into 'release/v4.4'
twai: Add errata workaround for listen only mode (v4.4)

See merge request espressif/esp-idf!22515
2023-02-28 19:51:17 +08:00
Sergei Silnov
2540cee253 build & config: Don't include common components on early expansion 2023-02-27 10:06:31 +01:00
Sergei Silnov
b8b3dfc366 CI: update mypy for pre-commit 2023-02-27 10:06:10 +01:00
Marius Vikhammer
ec3f345c8e Merge branch 'bugfix/freertos_stream_buffer_test_v4.4' into 'release/v4.4'
FreeRTOS: Fix stream buffer send-receive test (v4.4)

See merge request espressif/esp-idf!22508
2023-02-27 13:46:50 +08:00
Jiang Jiang Jian
17a0cdae49 Merge branch 'bugfix/fix_some_ble_bug_v4.4' into 'release/v4.4'
Fixed some BLE bugs (backport v4.4)

See merge request espressif/esp-idf!22364
2023-02-26 16:13:07 +08:00
Jiang Jiang Jian
f89eedd2dc Merge branch 'bugfix/blufi_notify_v4.4' into 'release/v4.4'
BluFi : Fixed hdr getting free twice (v4.4)

See merge request espressif/esp-idf!22449
2023-02-26 16:11:22 +08:00
Jiang Jiang Jian
778b806483 Merge branch 'bugfix/bluedroid_le_coc_compile_error_v4.4' into 'release/v4.4'
bt: fix Bluedroid compile errors after enable CONFIG_ESP_SYSTEM_USE_EH_FRAME on RISC-V SoCs(backport v4.4)

See merge request espressif/esp-idf!22493
2023-02-26 16:11:01 +08:00
Jiang Jiang Jian
e857d63def Merge branch 'bugfix/set_generic_len_for_rsnxe_v4.4' into 'release/v4.4'
esp_wifi: bugfix RSNXE related changes

See merge request espressif/esp-idf!22421
2023-02-26 15:56:26 +08:00
Darian Leung
3819d22e93 twai: Add errata workaround for listen only mode
This commit adds a workaround for the TWAI listen only mode errata which is
present on the ESP32, ESP32-S2, ESP32-S3, and ESP32-C3. twai_get_status_info()
has also been updated to account for the fact that TEC/REC are frozen in
listen only mode.

Errata Description:

When the TWAI controller is put into listen only mode, it should not influence
the TWAI bus in any way (i.e., should never send a dominant bit). However,
on the targets listed above, the TWAI controller will send dominant bits in an
error frame (i.e., active error frame), even if the controller is set to listen
only mode.

Workaround:

We can force the TWAI controller into the error passive state on startup (by
setting the REC to >= 128). Since the TEC/REC are frozen in listen only mode,
the TWAI controller will remain error passive and only send recessive bits
(i.e., passive error frames), thus will not influence the TWAI bus.

Closes https://github.com/espressif/esp-idf/issues/9157
2023-02-24 20:26:53 +08:00
morris
5d5a5f8758 Merge branch 'bugfix/correct_ext_mem_defs_for_internal_ram_v4.4' into 'release/v4.4'
soc: update iram/dram addr range in ext_mem_defs.h (v4.4)

See merge request espressif/esp-idf!22490
2023-02-24 18:36:07 +08:00
Jiang Jiang Jian
5479da3191 Merge branch 'ci/test_example_connect_ap_timeout_4.4' into 'release/v4.4'
test: fix ethernet iperf and https_server_simple test (4.4)

See merge request espressif/esp-idf!22388
2023-02-24 16:46:43 +08:00
Darian Leung
241dbcaa9c freertos: Fix stream buffer send-receive test
The stream buffer send-receive test preivously contained the following bugs:

- "sender" task would send 101 bytes instead of 100
- The main task would return before "sender" task sends its 101st item. Thus
  the sender task would cause memory corruption when accessing "tc" structure
  allocated on the main task's stack

This commit fixes and simplifies the stream buffer test.
2023-02-24 16:28:13 +08:00
Mahavir Jain
66bc1293aa Merge branch 'fix/heap-get-allocated-size_v4.4' into 'release/v4.4'
heap: Fix erroneous value returned by heap_caps_get_allocated_size() when poisoning is enabled (backport v4.4)

See merge request espressif/esp-idf!22189
2023-02-24 11:05:16 +08:00
wangmengyang
50015c6047 bt: fix Bluedroid compile errors after enable CONFIG_ESP_SYSTEM_USE_EH_FRAME on RISC-V SoCs
This root cause is incorrect source code separation by conditonal MACROs for BLE L2CAP COC related functions
2023-02-23 14:21:08 +08:00
Armando
f46e42bc1f soc: update iram/dram addr range in ext_mem_defs.h 2023-02-23 12:51:04 +08:00
Guillaume Souchere
f4ab9a440a heap: Fix erroneous value returned by heap_caps_get_allocated_size() when poisoning is enabled
When light (or comprehensive) poisoning is enabled, the size requested by the user for allocation
is extended by a few bytes to store the canary header and footer. heap_caps_get_allocated_size() should
return the original size asked by the user (without the additional canary bytes).

test_malloc.c extended with a new test assuring that  heap_caps_get_allocated_size() returns the proper size
regardless of the degree of poisoning.
2023-02-22 07:32:49 +01:00
luaijun
0ff5b1f8e8 add time delay after create tcp server on PC 2023-02-21 15:30:34 +08:00
isha.pardikar@espressif.com
8486207ac1 BluFi : Fixed hdr getting free twice
Closes IDFGH-9378
2023-02-21 11:45:26 +05:30
Roland Dobai
4199164ca1 Merge branch 'feature/add_bootloader_sector_pad_option_v4.4' into 'release/v4.4'
esptool_py: Added a --pad-to-size flag to align the bootloader image (v4.4)

See merge request espressif/esp-idf!22327
2023-02-20 19:43:45 +08:00
Marius Vikhammer
896d16b1fd Merge branch 'bugfix/newlib_tz_env_mutex_v4.4' into 'release/v4.4'
newlib: Use correct recursive mutex for env and regular mutex for tz (v4.4)

See merge request espressif/esp-idf!22294
2023-02-20 14:38:57 +08:00
Marius Vikhammer
4a466ca518 Merge branch 'docs/elm_chan_broken_link_v4.4' into 'release/v4.4'
docs: fix broken link in fatfs doc (v4.4)

See merge request espressif/esp-idf!22298
2023-02-20 14:17:38 +08:00
morris
213a16b712 Merge branch 'feature/remove_80m_ddr_warning_v4.4' into 'release/v4.4'
mspi: remove mspi 80m ddr mode warning regarding to timing tuning (v4.4)

See merge request espressif/esp-idf!21905
2023-02-20 13:30:17 +08:00
Marius Vikhammer
edd800e897 Merge branch 'docs/fix_broken_link_format_v4.4' into 'release/v4.4'
docs: fix rst external links with wrong format (v4.4)

See merge request espressif/esp-idf!22337
2023-02-20 13:12:16 +08:00
Shreyas Sheth
c6b2eedc74 esp_wifi: bugfix RSNXE related changes
1. Set AP rsnxe len generic
2. Set transition_disable value in wifi get config
2023-02-20 02:56:09 +05:30
Roland Dobai
4c2afac355 Merge branch 'bugfix/fix_ignoring_provided_corefiles_in_espcoredump' into 'release/v4.4'
tools: fix the missing chip type in esp-coredump when the board is not connected

See merge request espressif/esp-idf!22079
2023-02-17 23:40:15 +08:00
morris
a73ba529ac Merge branch 'bugfix/extram_stack_coredump_v4.4' into 'release/v4.4'
coredump: add support for stacks in external RAM (backport v4.4)

See merge request espressif/esp-idf!22391
2023-02-16 22:58:21 +08:00
morris
ae77cd6587 Merge branch 'bugfix/usb_host_hub_enumeration_string_handling_v4.4' into 'release/v4.4'
USB Host: Fix string descriptor handling by the hub driver during enumeration (backport v4.4)

See merge request espressif/esp-idf!22326
2023-02-16 13:10:57 +08:00
harshal.patil
ecbf28e252 esptool_py: Added a sector-pad option for bootloader image
When SECURE BOOT V2 is enabled and CONFIG_SECURE_BOOT_SIGNED_BINARIES
is not set, sector-pad the bootloader image, which is required for an
external PKCS#11 interface to generate a signature.

esptool_py: Update submodule to release/v3 (4bc311767b7c6df41def6f95a50f87b1c9406cbd)
2023-02-15 16:01:26 +05:30
Omar Chebib
2ef2271afd coredump: add support for stacks in external RAM
Tasks having their stacks in SPIRAM can now be part of the coredump written to flash
2023-02-15 17:46:54 +08:00
Marius Vikhammer
e62eceba34 Merge branch 'feat/verbose-alloc-failure-abort_v4.4' into 'release/v4.4'
heap: print size and caps when malloc fails before calling system abort (backport v4.4)

See merge request espressif/esp-idf!22346
2023-02-15 16:54:42 +08:00
Chen Yudong
109faee736 test: fix test_examples_protocol_https_server_simple 2023-02-15 15:42:58 +08:00
morris
7b41d6c68d Merge branch 'bugfix/rmt_force_inline_LL_functions_v4.4' into 'release/v4.4'
rmt: force inline LL functions (v4.4)

See merge request espressif/esp-idf!22370
2023-02-15 08:50:28 +08:00
Jiang Jiang Jian
b78d5763ac Merge branch 'bugfix/optimize_protocol_socket_cases_4.4' into 'release/v4.4'
CI: optimize example protocol test cases (4.4)

See merge request espressif/esp-idf!22311
2023-02-14 18:01:22 +08:00
morris
a43e796f60 rmt: force inline LL functions
Closes https://github.com/espressif/esp-idf/issues/9487
2023-02-14 15:11:35 +08:00
chenjianhua
71ed13c31f examples: fix ble address type of adv and scan params 2023-02-14 11:14:11 +08:00
chenjianhua
f986abd482 bluedroid: support ble privacy by controller 2023-02-14 11:13:56 +08:00
chenjianhua
f953320c96 bluedroid: add params in GATT connect event 2023-02-14 11:13:27 +08:00
chenjianhua
293c4d9f71 update bt-lib for ESP32
fix ble disconnect due to channel map update instant passed
2023-02-14 11:11:36 +08:00
Chen Yudong
db5bee5c16 example: fix got ip error in protocol tests 2023-02-14 11:03:37 +08:00
Jiang Jiang Jian
a75a62431a Merge branch 'bugfix/fix_gpio_wakeup_related_issues_in_ssc_sleep_test_backport_v4.4' into 'release/v4.4'
sleep: fix gpio wakeup related issues(backport v4.4)

See merge request espressif/esp-idf!22333
2023-02-14 10:36:51 +08:00
Jiang Jiang Jian
23ec5e1944 Merge branch 'bugfix/build_err_with_ssr_enabled_v4.4' into 'release/v4.4'
bt: Fixed build errors when sniff subrating is enabled (v4.4)

See merge request espressif/esp-idf!22351
2023-02-14 10:36:41 +08:00
Saurabh Kumar Bansal
f90ccf9613 usb_host: Hub driver skips fetching string descriptors if their index is 0
When a USB does not support a particular string dsecriptor (e.g.,
manufacturer, product, and serial number), the string descriptors corresponding
index will be set to 0 in the device descriptor (e.g., iManufacturer, iProduct,
iString).

Previously, the Hub driver would always attempt to fetch the all three string
descriptors, thus leading an error in CHECK_SHORT_SER_STR_DESC if the device
did not support the descriptor.

This commit fixes the Hub drvier by skipping the enumeration stages of a
particular descriptor if its index is 0 (i.e., not supported by the device).
2023-02-13 18:15:36 +05:30
Darian Leung
fd663b4ab1 usb_host: Fix error when fetching LANGID table
USB devices may support string descriptors in multiple languages. The supported
languages are stored in a LANGID table, which itself is a string descriptor at
index 0.

When fetching the LANGID table itself, the USB 2.0 specification does not
specify what LANGID to use, thus the Hub driver would use the default LANGID
"ENUM_LANGID". However, this would cause some devices to stall.

This commit fixes the issue by always requesting the LANGID table itself using
a LANGID of 0.
2023-02-13 18:15:16 +05:30
Tomas Rezucha
74f479151b usb_host: Fix interface descriptor parsing
Previously the USB host driver did not accept interface number greater or equal bNumInterfaces, even though these are valid interface numbers
2023-02-13 18:02:35 +05:30
Jin Cheng
123b6f132b Fixed build errors when sniff subrating is enabled. 2023-02-13 17:27:24 +08:00
Aditya Patwardhan
a971c13447 Merge branch 'bugfix/secure_boot_v2_part_size_check_v4.4' into 'release/v4.4'
gen_esp32part: allow secure boot v2 based app partition size 4K aligned (v4.4)

See merge request espressif/esp-idf!22286
2023-02-13 16:37:50 +08:00
Guillaume Souchere
c8e469b78d heap: Fix priority in shex() bit shift 2023-02-13 09:10:06 +01:00
Chip Weinberger
62d57edbc9 [Logs] print size and caps when malloc fails 2023-02-13 09:10:03 +01:00
Mahavir Jain
62340efd94 Merge branch 'bugfix/fix_return_value_in_httpd_socket_apis_v4.4' into 'release/v4.4'
esp_http_server: fix return values for `httpd_socket_send()` and `httpd_socket_recv()` APIs (v4.4)

See merge request espressif/esp-idf!22308
2023-02-13 14:07:35 +08:00
Marius Vikhammer
d9393d3b47 docs: fix rst external links with wrong format 2023-02-13 12:15:31 +08:00
Mahavir Jain
379d9034eb partition_table: fix make build for new "--secure [v1/v2]" argument 2023-02-12 21:29:39 +05:30
Mahavir Jain
5002ccd9c3 partition_table: add tests for checking secure boot part size 2023-02-12 18:58:47 +05:30
Mahavir Jain
51a61fb41c gen_esp32part: allow secure boot v2 based app partition size 4K aligned
For Secure Boot v2 case, unsigned image is first padded to next 64K
aligned boundary and then a signature block of 4K gets appended. Thus
an app partition whose size is 4K aligned should be allowed here.

For Secure Boot v1 case, app partition size must be 64K aligned as the
signature block lies at the very end of 64K boundary.

Relevant:
57b601ab7f
2023-02-12 18:58:21 +05:30
Ondrej Kosta
a0c87d63e3 esp_eth: possible start/stop issue fixed
ESP32 EMAC could hang when stopped/started multiple times at 10Mbps speed mode
2023-02-10 16:23:20 +01:00
Chen Yudong
1871825d7b CI: optimize example protocol test cases 2023-02-10 15:30:44 +08:00
Harshit Malpani
f7f11cfa51 esp_http_server: fix return values for httpd_socket_send() and httpd_socket_recv() APIs
Closes https://github.com/espressif/esp-idf/issues/10658
2023-02-10 10:57:22 +05:30
Jakob Hasse
1bf3ac5349 bugfix(nvs_flash): fixed wrong error check after open_nvs_handle
Closes https://github.com/espressif/esp-idf/issues/10240
2023-02-10 10:00:13 +08:00
jingli
8c491be452 sleep: fix gpio wakeup not working properly in some cases
Before this fix, when we call esp_pm_configure after gpio_wakeup_enable,
the configuration of GPIO in sleep state in gpio_wakeup_enable will be
overwritten by esp_pm_configure.
2023-02-09 17:58:40 +08:00
jingli
200dcce535 soc_caps: remove SOC_GPIO_SUPPORT_SLP_SWITCH
all esp chips support this feature
2023-02-09 17:52:49 +08:00
Marius Vikhammer
4c335b8dae docs: fix broken link in fatfs doc 2023-02-09 16:11:08 +08:00
Steve Jothen
614b06341f Use correct recursive mutex for env and regular mutex for tz 2023-02-09 16:03:02 +08:00
Jiang Jiang Jian
cb2fde3e3f Merge branch 'feature/seperate_ble_wifi_test_environment_v4.4' into 'release/v4.4'
seperate ble wifi environment (backport v4.4)

See merge request espressif/esp-idf!20083
2023-02-09 15:45:31 +08:00
Zim Kalinowski
39a4ec2045 Merge branch 'refactor/nvs_allocatable_objects_v4.4' into 'release/v4.4'
refactor(nvs): custom allocator for all objects allocated in NVS (v4.4)

See merge request espressif/esp-idf!21793
2023-02-08 18:01:10 +08:00
Zim Kalinowski
a83c40eaf0 Merge branch 'feature/mac_crc_v4.4' into 'release/v4.4'
esp_hw_support(esp32): If the MAC_FACTORY CRC check fails, then INVALID_CRC instead of abort (v4.4)

See merge request espressif/esp-idf!22115
2023-02-08 17:04:30 +08:00
morris
9160670a4a Merge branch 'docs/make_s3_octal_flash_error_handling_clearer_v4.4' into 'release/v4.4'
docs: make s3 octal flash error handling clearer (v4.4)

See merge request espressif/esp-idf!22271
2023-02-08 15:47:02 +08:00
Armando
dfe505cbb3 docs: make s3 octal flash error handling clearer 2023-02-08 12:17:45 +08:00
Aleksei Apaseev
d3eb5b2346 tools: fix the missing chip type in esp-coredump when the board is not connected
Closes https://github.com/espressif/esp-idf/issues/10400
2023-02-08 10:07:15 +08:00
chensheng
a1fd8065bd seperate ble wifi environment 2023-02-08 10:05:31 +08:00
Alexey Lapshin
7b04075676 docs: update link for ESP ROM ELF releases 2023-02-07 18:01:48 +07:00
Zim Kalinowski
80d81c6c8f Merge branch 'bugfix/ulp_riscv_i2c_example_crashes_on_s2_v4.4' into 'release/v4.4'
ulp-riscv: ULP RISC-V I2C example gets stuck on esp32s2 (v4.4)

See merge request espressif/esp-idf!21861
2023-02-07 17:55:58 +08:00
Zim Kalinowski
3cf24d8685 Merge branch 'feature/usb_host_feature_and_refactor_backports_v4.4' into 'release/v4.4'
USB Host: Backport multiple bugfixes/refactors to v4.4

See merge request espressif/esp-idf!21583
2023-02-07 17:54:35 +08:00
Zim Kalinowski
2dec69fa82 Merge branch 'feature/lower-iram-utilization-of-heap-component_v4.4' into 'release/v4.4'
heap: lower the utilization of IRAM by the heap component binary (backport v4.4)

See merge request espressif/esp-idf!21237
2023-02-07 16:54:58 +08:00
Fu Hanxi
dab3f38f0f Merge branch 'ci/fix/isort_incompatible_with_py37_v4.4' into 'release/v4.4'
ci: fix isort py37 incompatible issue (v4.4)

See merge request espressif/esp-idf!22226
2023-02-07 09:12:10 +08:00
David Čermák
57528b8d17 Merge branch 'bugfix/fix_mdns_example_v4.4_' into 'release/v4.4'
mDNS: Fix example test in CI (v4.4)

See merge request espressif/esp-idf!20815
2023-02-07 00:02:00 +08:00
Jiang Jiang Jian
4a4227a3b8 Merge branch 'bugfix/optimize_abnormal_beacon_log_4.4' into 'release/v4.4'
esp_wifi:bugfix for optimize abnormal beacon log 4.4

See merge request espressif/esp-idf!22211
2023-02-06 22:02:10 +08:00
xueyunfei
f73a2cd0f9 esp_wifi:bugfix for optimize abnormal beacon log 2023-02-06 14:52:46 +08:00
Jiang Jiang Jian
0c8dd57d2a Merge branch 'bugfix/bdsa_security_issues_v4.4' into 'release/v4.4'
wpa_supplicant:BDSA related patch updates v4.4

See merge request espressif/esp-idf!21605
2023-02-06 12:12:09 +08:00
morris
e1e9e10d3b Merge branch 'bugfix/rtc_8md256_deepsleep_time_esp32_v4.4' into 'release/v4.4'
pm: Fixed sleep time inaccurate bug when select 8MD256 as rtc slow clock on ESP32 (v4.4)

See merge request espressif/esp-idf!21822
2023-02-06 11:13:52 +08:00
morris
3ecf906721 Merge branch 'bugfix/fix_mspi_timing_tuning_psram_timing_issue_v4.4' into 'release/v4.4'
mspi_tuning: fix psram timing tuning bug (v4.4)

See merge request espressif/esp-idf!21625
2023-02-06 11:11:07 +08:00
morris
43b9f6d4ac Merge branch 'feature/do_not_disable_cache_when_xip_from_psram_v4.4' into 'release/v4.4'
system: do not disable cache when xip from psram (v4.4)

See merge request espressif/esp-idf!21651
2023-02-06 11:10:14 +08:00
Jiang Jiang Jian
d6682ce9c4 Merge branch 'bugfix/minor_syntax_changes_v4.4' into 'release/v4.4'
wpa_supplicant: Fixing a collection of issues encountered during application testing.

See merge request espressif/esp-idf!22098
2023-02-06 10:37:17 +08:00
Fu Hanxi
43ad48e43f Merge branch 'bugfix/env_var_SDKCONFIG_DEFAULTS_fail_with_bootloader_subproject_v4.4' into 'release/v4.4'
build_system: stop looking for env var `SDKCONFIG_DEFAULTS` in bootloader subproject (v4.4)

See merge request espressif/esp-idf!21975
2023-02-06 10:36:56 +08:00
Fu Hanxi
2684850a13 ci: fix isort py37 incompatible issue 2023-02-06 10:32:38 +08:00
Island
bd5af4d879 Merge branch 'bugfix/add_nimble_fail_case_kownissues' into 'release/v4.4'
add NIMBLE_GAP_17021 to kownIssues (4.4)

See merge request espressif/esp-idf!21475
2023-02-03 16:26:06 +08:00
Chen Sheng
54fea8f9b3 add NIMBLE_GAP_17021 to kownIssues (4.4) 2023-02-03 16:26:06 +08:00
Shreyas Sheth
e4c5d21106 wpa_supplicant:BDSA related patch updates 2023-02-03 06:46:30 +00:00
Roland Dobai
0e2db09744 Merge branch 'bugfix/fix_windows_path_case_sensitivity_v4.4' into 'release/v4.4'
bugfix: Fix windows path case sensitivity (v4.4)

See merge request espressif/esp-idf!22076
2023-02-03 14:40:32 +08:00
Roland Dobai
3e1f704d5b Merge branch 'fix/tools_click_envvar_v4.4' into 'release/v4.4'
Tools: Improve idf.py error message when the argument value collides with the environment variable (v4.4)

See merge request espressif/esp-idf!21886
2023-02-03 14:37:45 +08:00
Roland Dobai
dd2c7f8a59 Merge branch 'bugfix/support_coredump_stack_xtensa_v4.4' into 'release/v4.4'
coredump: custom core dump stack is now supported on Xtensa targets (backport v4.4)

See merge request espressif/esp-idf!21805
2023-02-03 14:37:16 +08:00
Roland Dobai
ff86fa0260 Merge branch 'bugfix/fix_esp32s3_diram_calculation_v4.4' into 'release/v4.4'
Tools: Fix diram size calculation (v4.4)

See merge request espressif/esp-idf!21671
2023-02-03 14:36:13 +08:00
Jiang Jiang Jian
bd54673f81 Merge branch 'doc/update_nimble_mesh_example_information_v4.4' into 'release/v4.4'
Nimble: Update Mesh example documentation (v4.4)

See merge request espressif/esp-idf!21579
2023-02-03 13:53:29 +08:00
Jiang Jiang Jian
bf4a710c23 Merge branch 'doc/update_wifi_amsdu_docs_v4.4' into 'release/v4.4'
doc: update wifi amsdu docs(Backport v4.4)

See merge request espressif/esp-idf!21750
2023-02-03 13:52:59 +08:00
Jiang Jiang Jian
c97db9189e Merge branch 'bugfix/wps_start_state_issue_v4.4' into 'release/v4.4'
esp_wifi: Add check for wps start state (v4.4)

See merge request espressif/esp-idf!22027
2023-02-03 13:52:39 +08:00
Jiang Jiang Jian
5360833e0b Merge branch 'bugfix/peer_dev_rec_add_and_clear_issue_v4.4' into 'release/v4.4'
NimBLE: Fix incomplete clearing of peer_dev_rec (v4.4)

See merge request espressif/esp-idf!22012
2023-02-03 13:51:55 +08:00
Jiang Jiang Jian
808fcf8b44 Merge branch 'bugfix/precommit_isort_deprecation_v4.4' into 'release/v4.4'
ci: Fix pre-commit hook per isort deps deprecation (v4.4)

See merge request espressif/esp-idf!22207
2023-02-03 13:51:38 +08:00
Jiang Jiang Jian
f46b03fd91 Merge branch 'bugfix/a2dp_error_code_v4.4' into 'release/v4.4'
bt:Fixed the use of invalid configuration when the peer device configures the stream, and returned an incorrect error code(v4.4)

See merge request espressif/esp-idf!21623
2023-02-03 13:51:10 +08:00
Jiang Jiang Jian
a60b89bb49 Merge branch 'bugfix/coex_enable_disable_not_in_pairs_v4.4' into 'release/v4.4'
bluetooth: fix that functions "coex_enable" and "coex_disable" are not used in pairs(backport v4.4)

See merge request espressif/esp-idf!22095
2023-02-03 13:50:53 +08:00
Jiang Jiang Jian
56083a12fc Merge branch 'example/opt_a2dp_gatts_coex_example_v4.4' into 'release/v4.4'
rebase a2dp_gatts_coex to latest a2dp_sink (v4.4)

See merge request espressif/esp-idf!22004
2023-02-03 13:50:41 +08:00
Jiang Jiang Jian
320894986d Merge branch 'bugfix/fix_ble_some_bugs_20221219_v4.4' into 'release/v4.4'
backport some BLE bugs 20221219 (backport v4.4)

See merge request espressif/esp-idf!21709
2023-02-03 13:50:26 +08:00
Jiang Jiang Jian
b818abb0d7 Merge branch 'bugfix/fix_some_ble_bugs_by_cjh_v4.4' into 'release/v4.4'
Fixed some BLE bugs (backport v4.4)

See merge request espressif/esp-idf!21691
2023-02-03 13:50:12 +08:00
Jiang Jiang Jian
202e1c1fb8 Merge branch 'feature/report_acl_conn_cmp_stat_to_app_v4.4' into 'release/v4.4'
feature/report ACL link related events to application (v4.4)

See merge request espressif/esp-idf!21525
2023-02-03 13:49:59 +08:00
Jiang Jiang Jian
cdb87a514f Merge branch 'bugfix/remove_sha384_hash_for_bigger_certs_v4.4' into 'release/v4.4'
esp_wifi: remove sha384 hash for cert size > 2k (v4.4)

See merge request espressif/esp-idf!21964
2023-02-03 13:49:46 +08:00
Jiang Jiang Jian
0c8ec2a066 Merge branch 'fix/long_assoc_comeback_time_v4.4' into 'release/v4.4'
esp_wifi: reject AP when assoc comeback time given is greater than 5 seconds (Backport v4.4)

See merge request espressif/esp-idf!21842
2023-02-03 12:23:16 +08:00
Mahavir Jain
d708ee2e92 Merge branch 'bugfix/fix_httpd_req_cleanup_v4.4' into 'release/v4.4'
esp_http_server: fix wrong context pointer in httpd_req_cleanup function (v4.4)

See merge request espressif/esp-idf!21732
2023-02-02 22:28:36 +08:00
Mahavir Jain
637dc39e8a Merge branch 'bugfix/esp_tls_timeout_v4.4' into 'release/v4.4'
esp_tls: Fix issue when timeout is not explicitly given in esp_tls_cfg_t (v4.4)

See merge request espressif/esp-idf!21744
2023-02-02 22:28:18 +08:00
Mahavir Jain
2a1ede3f9d Merge branch 'update_v4.4/mbedtls_v2.28.2' into 'release/v4.4'
mbedtls: Update to release v2.28.2 (v4.4)

See merge request espressif/esp-idf!21896
2023-02-02 22:27:22 +08:00
Mahavir Jain
0e4c086a35 Merge branch 'fix/mbedtls_port_sanity_checks_and_return_values_v4.4' into 'release/v4.4'
mbedtls/port: refactor sanity checks and their return values (v4.4)

See merge request espressif/esp-idf!22128
2023-02-02 22:26:50 +08:00
Mahavir Jain
11277bfdc5 Merge branch 'bugfix/remove_s3_dis_boot_remap_efuse_bit_v4.4' into 'release/v4.4'
docs: remove mention of DIS_BOOT_REMAP for chips other than ESP32-S2 (v4.4)

See merge request espressif/esp-idf!21810
2023-02-02 22:26:07 +08:00
Mahavir Jain
79239605fe Merge branch 'fix/stack-dram-memory-protection_v4.4' into 'release/v4.4'
heap: Modify the memory type of the memory used as startup stack when memory protection is enabled (backport v4.4)

See merge request espressif/esp-idf!22171
2023-02-02 22:24:43 +08:00
morris
969569dec0 Merge branch 'bugfix/i2s_update_regs_before_start_v4.4' into 'release/v4.4'
i2s: fixed rx update stuck bug (v4.4)

See merge request espressif/esp-idf!21777
2023-02-02 21:40:37 +08:00
morris
b58d463fdd Merge branch 'bugfix/fix_micro_error_SPI_HOST_MAX_v4.4' into 'release/v4.4'
spi: fix micro SPI_HOST_MAX error (v4.4)

See merge request espressif/esp-idf!22148
2023-02-02 21:40:14 +08:00
morris
854c55c61e Merge branch 'feature/_spi_slave_reset_trans_queue_api_v4.4' into 'release/v4.4'
spi: limit esp32 dma workaround only on esp32(v4.4)

See merge request espressif/esp-idf!21382
2023-02-02 21:39:51 +08:00
morris
cc423c3d44 Merge branch 'bugfix/gdma_uhci_id_4.4' into 'release/v4.4'
gdma: correct the dma trigger of UHCI  && fix async memcpy conflict with peripheral DMA (v4.4)

See merge request espressif/esp-idf!22007
2023-02-02 21:30:20 +08:00
Island
ae8195e9df Merge branch 'bugfix/change_position_of_vendor_model_and_gen_onoff_model_callback_forv4.4' into 'release/v4.4'
ble_mesh:example:change position of vendor model and generic onoff model callback(v4.4)

See merge request espressif/esp-idf!21799
2023-02-02 20:48:52 +08:00
Yuan Hong Hui
97ab485bdf ble_mesh:example:change position of vendor model and generic onoff model callback(v4.4) 2023-02-02 20:48:52 +08:00
Michael (XIAO Xufeng)
b94278a594 Merge branch 'update/version_4_4_4' into 'release/v4.4'
Update version to 4.4.4

See merge request espressif/esp-idf!22093
2023-02-02 20:04:56 +08:00
David Cermak
9e307b1114 ci: Fix pre-commit hook per isort deps deprecation
isorts dependecy became deprecated. Fixed to use 5.12.0 version of isort pre-commit
2023-02-02 10:07:32 +01:00
jgujarathi
922cbc0cb4 wpa_supplicant : Prevent h2e config overwrite
Current esp_wifi_get_config doesn't return correct value of h2e config which will cause h2e config to be overwritten in Station connected handler.
Add one preventative condition to take care of this.
2023-02-01 12:49:25 +05:30
jgujarathi
d23c21bd2a wpa_supplicant : Fix invalid de-init of last_scan_res_used
During the wifi deinit last_scan_res_used pointer is not set to 0 which will cause it be used directly after reinit.

Added changes which will set it to 0 during init and deinit.
2023-02-01 12:44:55 +05:30
jgujarathi
4b77473982 wpa_supplicant : Correct scan results for GCMP RSN
Fixed a typo which was causing scan results for GCMP not showing correctly
2023-02-01 12:43:01 +05:30
morris
46b66530ce gdma: prevent mutli-channels connect to the same peripheral
1. add check in the gdma driver, to prevent multiple channels connecting
   to the same peripheral
2. memory copy DMA ID will occupy the peripheral's DMA ID on some ESP
   targets (e.g. esp32c3/s3). We should search for a free one when
install async memcpy driver.

Closes https://github.com/espressif/esp-idf/issues/10575
2023-02-01 11:10:26 +08:00
morris
2a9759ea24 gdma: correct the dma trigger of uart
GDMA trigger actually is not assigned to UART controller, but for UHCI
controller
2023-02-01 10:56:01 +08:00
Guillaume Souchere
85193654f0 heap: Modify the memory type of the memory used as startup stack when memory protection is enabled
If memory protection is enabled on esp32c3 and esp32s3, we don't want to the heap component to see
the startup stack memory as D/IRAM but as DRAM only. Introduce a new type to make this possible in
the same fashion the regular D/IRAM regions are handled.
2023-01-31 07:57:02 +01:00
wanlei
d6cf435f2d spi_flash: fix flash function arg_check with spi host_id 2023-01-30 10:35:07 +08:00
wanlei
9526b100a4 spi: fix micro SPI_HOST_MAX error
Closes https://github.com/espressif/esp-idf/issues/10349
2023-01-29 16:32:45 +08:00
Sarvesh Bodakhe
a4e9c56403 esp_wifi: Update wifi libs
Update wifi libs with below changes -
1. reject AP when assoc comeback time given is greater than 5 seconds
2023-01-28 11:29:01 +05:30
harshal.patil
ecdd202285 mbedtls/port: added stream_block parameter sanity check 2023-01-25 15:38:28 +05:30
harshal.patil
734724ba79 mbedtls: fix esp_aes_crypt_ctr writing to null stream block 2023-01-25 15:38:28 +05:30
harshal.patil
865a72eb8f mbedtls: added SOC_AES_SUPPORT_AES_192 check in esp_aes_gcm_setkey() 2023-01-25 15:38:28 +05:30
KonstantinKondrashov
c1ea06443a esp_hw_support(esp32): If the MAC_FACTORY CRC check fails, then esp_efuse_mac_get_default returns INVALID_CRC instead of abort
Closes https://github.com/espressif/esp-idf/issues/10401
2023-01-23 20:05:53 +08:00
wangmengyang
86b2779adc bluetooth: fix that functions "coex_enable" and "coex_disable" are not used in pairs on ESP32-C3 and ESP32-S3 2023-01-20 10:53:52 +08:00
Xiao Xufeng
e8bdaf9198 versions: Update version to 4.4.4 2023-01-20 02:12:49 +08:00
Alexey Lapshin
3e978d1d8a efuse: fix esp_efuse_utility_write_reg() declaration 2023-01-19 14:29:36 +07:00
Djordje Nedic
e2815b3d04 bugfix: Fix windows path case sensitivity
This commit fixes an issue where paths on Windows are case insensitive, for instance when setting the build folder its name would be converted to lowercase.

The culprit is our realpath() function, that was calling os.path.normcase() internally, since we are removing that call it makes sense to just remove the function entirely and call os.path.realpath() wherever necessary.

Closes https://github.com/espressif/esp-idf/issues/10282
2023-01-18 22:41:41 +01:00
Cao Sen Miao
a645015dee esp_flash: correct veriable 'size' description 2023-01-17 14:35:04 +08:00
Cao Sen Miao
c07c9083c1 spi_flash: Fix issue that cannot get accurate flash size when encounter large size memory,
Closes https://github.com/espressif/esp-idf/pull/9566
2023-01-17 14:35:03 +08:00
Jiang Jiang Jian
800dec96e9 Merge branch 'bugfix/clear_pmk_cache_for_missing_reason_codes' into 'release/v4.4'
Fix missing disconnected callback (Backport v4.4)

See merge request espressif/esp-idf!22036
2023-01-14 01:01:20 +08:00
Shyamal Khachane
850ac23d14 esp_wifi: Fix missing disconnected callback 2023-01-13 11:38:28 +05:30
Jiang Jiang Jian
d4080633f9 Merge branch 'feature/efuse_rev_major_minor_v4.4' into 'release/v4.4'
efuse: Adds major and minor versions (v4.4)

See merge request espressif/esp-idf!19541
2023-01-12 16:24:59 +08:00
Shreyas Sheth
18f5c3e2fc esp_wifi: Add check for wps start state 2023-01-12 11:55:59 +05:30
Sumeet Singh
2a4fd41d9a NimBLE: Fix incomplete clearing of peer_dev_rec 2023-01-11 16:24:50 +05:30
Jin Cheng
ee9594aa04 rebase a2dp_gatts_coex to latest a2dp_sink 2023-01-11 14:40:22 +08:00
Jiang Jiang Jian
552beab8a9 Merge branch 'bugfix/sae_auth_and_pmk_issues_v4.4' into 'release/v4.4'
Fix SAE open auth and pmk issues (Backport v4.4)

See merge request espressif/esp-idf!21911
2023-01-10 17:19:01 +08:00
Fu Hanxi
53f390fb62 build_system: stop looking for sdkconfig file specified by env var SDKCONFIG_DEFAULTS in bootloader subproject 2023-01-10 09:49:23 +08:00
Kapil Gupta
7321307f6e Removed sha384 hash for certs > 2k 2023-01-09 15:58:13 +05:30
Shyamal Khachane
79807ec6ab wpa_supplicant: Set PMK from PMKSA incase of caching 2023-01-06 19:19:36 +05:30
Shyamal Khachane
de6fdfbd27 esp_wifi: Fix open auth issue after commit message exchange 2023-01-06 10:50:18 +05:30
Armando
c476c5e403 mspi: remove mspi 80m ddr mode warning regarding to timing tuning 2023-01-05 11:53:40 +08:00
mofeifei
c95db84365 docs: update cn trans for flash-encryptions 2023-01-04 21:33:40 +05:30
Mahavir Jain
aa027bd1f6 docs: remove mention of DIS_BOOT_REMAP for chips other than ESP32-S2
Relevant: https://esp32.com/viewtopic.php?f=13&t=31188
2023-01-04 21:31:04 +05:30
Laukik Hase
0f46f0cfa4 mbedtls: Update config options as per v2.28.2 release 2023-01-04 15:36:24 +05:30
Laukik Hase
e7fb0dbdaa mbedtls: Update to v2.28.2
- Release notes: https://github.com/Mbed-TLS/mbedtls/releases/tag/v2.28.2
2023-01-04 14:05:56 +05:30
jincheng
a901900533 Added ACL link related events handler in A2DP sink GAP callback 2023-01-04 11:48:57 +08:00
jincheng
48212875f8 Added reporting for ACL link related events to application 2023-01-04 11:48:51 +08:00
Roland Dobai
1bac78fbc3 Tools: Improve idf.py error message when the argument value collides with the environment variable
Closes https://github.com/espressif/esp-idf/issues/10475
2023-01-03 19:01:14 +01:00
Sudeep Mohanty
96b152a01f ulp-riscv: ULP RISC-V I2C example gets stuck on esp32s2
This commit fixes an issue where in the ULP RISC-V I2C example causes
a spurious wakeup of the main CPU because of a Trap signal when the ULP
core does not meet the wakeup threshold values. This was due to the fact
that the RTC_CNTL_COCPU_DONE signal was being set before the
RTC_CNTL_COCPU_SHUT_RESET_EN signal which was causing the the ULP RISC-V
core to not reset properly on each cycle.

Closes https://github.com/espressif/esp-idf/issues/10301
2023-01-02 14:24:16 +01:00
Suren Gabrielyan
74721f524b mDNS: Fix example test in CI using multiple retries 2023-01-01 19:58:19 +00:00
muhaidong
42888d2919 doc: update wifi amsdu docs 2022-12-29 10:38:56 +08:00
cje
5998130eb9 sleep: fix sleep time inaccurate bug when select 8MD256 as rtc slow clock on ESP32
Related to: https://github.com/espressif/esp-idf/issues/6687
2022-12-28 15:33:57 +08:00
Omar Chebib
7d0cd23531 coredump: custom core dump stack is now supported on Xtensa targets 2022-12-26 12:24:26 +01:00
Jakob Hasse
8e47edb731 refactor(nvs): custom allocator for all objects allocated in NVS 2022-12-26 15:06:38 +08:00
laokaiyao
85392e3ec9 i2s: fixed rx update stuck bug 2022-12-23 10:53:03 +08:00
Jiang Jiang Jian
9ee3c8337d Merge branch 'bugfix/avoid_ftm_initiator_mode_on_softap_v4.4' into 'release/v4.4'
Avoid ftm initiator mode on softap (Backport v4.4)

See merge request espressif/esp-idf!21757
2022-12-23 10:39:38 +08:00
Jiang Jiang Jian
221df10ced Merge branch 'bugfix/change_the_level_of_nimble_log_forv4.4' into 'release/v4.4'
ble_mesh:example:change the level of nimble host log(v4.4)

See merge request espressif/esp-idf!21629
2022-12-22 19:42:11 +08:00
Jiang Jiang Jian
cfeccaa685 Merge branch 'bugfix/correct_the_default_SR_mode_v4.4' into 'release/v4.4'
bugfix/correct the SR_mode selection when konw nothing about Peripheral's SR_mode (v4.4)

See merge request espressif/esp-idf!21520
2022-12-22 19:37:27 +08:00
Jiang Jiang Jian
2ac433e1ae Merge branch 'feature/nimble_support_ble_max_conn_num_v4.4' into 'release/v4.4'
Nimble:  Support maximum number of connections to 9 on ESP32-C3 and ESP32-S3 (v4.4)

See merge request espressif/esp-idf!21551
2022-12-22 19:37:06 +08:00
Jiang Jiang Jian
90b5993867 Merge branch 'doc/opt_esp32_eco3_v4.4' into 'release/v4.4'
docs: mention that increasing ESP32_REV_MIN can reduce IRAM size (v4.4)

See merge request espressif/esp-idf!21702
2022-12-22 19:29:41 +08:00
Jiang Jiang Jian
aa21184a03 Merge branch 'doc/cpu_breakpoint_watchpoint_num_v4.4' into 'release/v4.4'
docs: fix the number of breakpoints and watchpoints for RISC-V chips (v4.4)

See merge request espressif/esp-idf!21704
2022-12-22 19:29:06 +08:00
Jiang Jiang Jian
2497798036 Merge branch 'contrib/github_pr_10199_v4.4' into 'release/v4.4'
Removed the 'configASSERT( xInheritanceOccurred == pdFALSE )' assertion from xQueueSemaphoreTake (GitHub PR)(v4.4)

See merge request espressif/esp-idf!21501
2022-12-22 19:28:20 +08:00
gauri patankar
a744595440 esp_wifi:Update wifi libs
1. Avoid ftm initiator mode on softap
2. Fix home channel issue in ftm for apsta mode
3. Fix int overflow for T1-T4 counter variable
2022-12-22 15:03:40 +05:30
Mahavir Jain
6d80c334f7 Merge branch 'bugfix/update_docs_for_secure_dl_mode_v4.4' into 'release/v4.4'
docs: Fix Secure DL mode documentation about flash read being unsupported (v4.4)

See merge request espressif/esp-idf!21654
2022-12-22 17:15:59 +08:00
Michael (XIAO Xufeng)
1d5fd5587e Merge branch 'feature/modbus_remove_component_v44' into 'release/v4.4'
freemodbus: remove component files from esp-idf (backport v4.4)

See merge request espressif/esp-idf!18763
2022-12-22 17:05:56 +08:00
Alex Lisitsyn
ea646a9c22 freemodbus: remove component files from esp-idf (backport v4.4) 2022-12-22 17:05:55 +08:00
Michael (XIAO Xufeng)
800d11c48f Merge branch 'contrib/github_pr_10106_v4.4' into 'release/v4.4'
hal/uart_ll.h: Fix compile with C++ (GitHub PR) (v4.4)

See merge request espressif/esp-idf!21455
2022-12-22 17:01:14 +08:00
Jiang Jiang Jian
78e9a38ef4 Merge branch 'bugfix/fix_max_conn_num_issue_v4.4' into 'release/v4.4'
esp_wifi: change max connection num on ESP32C3 and ESP32S3 (Backport v4.4)

See merge request espressif/esp-idf!21753
2022-12-22 15:36:02 +08:00
Harshit Malpani
3353d8404a esp_http_server: fix wrong context pointer in httpd_req_cleanup function
Added example which fails without the fix

Closes https://github.com/espressif/esp-idf/issues/10265
2022-12-22 10:14:34 +05:30
zhangyanjiao
8abcacd25e esp_wifi: change max connection num on ESP32C3 and ESP32S3
Closes WIFI-5134
2022-12-22 11:45:50 +08:00
Jiang Jiang Jian
3d6e33e9a4 Merge branch 'fix/clear_cur_pmksa_v4.4' into 'release/v4.4'
Clear current pmksa before generating RSN IE (Backport v4.4)

See merge request espressif/esp-idf!21687
2022-12-22 09:37:40 +08:00
Jiang Jiang Jian
c88d8829cf Merge branch 'bugfix/unstall_other_cpu_on_core_reset_v4.4' into 'release/v4.4'
bugfix: unstall other cpu on core reset (backport v4.4)

See merge request espressif/esp-idf!21496
2022-12-21 19:55:01 +08:00
Jiang Jiang Jian
1d4f6af1bc Merge branch 'refactor/freertos_remove_gpl_license_text' into 'release/v4.4'
freertos: Remove GPL license text from port files

See merge request espressif/esp-idf!21588
2022-12-21 19:54:06 +08:00
Laukik Hase
8c7b0c191e esp_tls: Fix issue when timeout is not explicitly given in esp_tls_cfg_t
- If internet connectivity weakened or disappeared suddenly while we were
  in the TLS handshake stage, the app got stuck at that point indefinitely.
- This was because when timeout was not explicitly specified in esp_tls_cfg_t,
  the default timeout was set at the wrong place. This causes the sockets to be
  setup with zero timeout, hence the indefinite wait.
2022-12-21 14:42:44 +05:30
KonstantinKondrashov
e59269efa0 esp_hw_support: Fix version in esp_chip_info for C3 and H2 2022-12-20 21:14:36 +08:00
Michael (XIAO Xufeng)
a5964c442f esp32s3: fixed bug chip v0.0 detected as vX.Y
A typical value is 2.8.

Previous commit 32ef2b321a doesn't fix the issue cleanly. The MSB of wafer_minor also has this problem.
2022-12-20 21:14:36 +08:00
Shyamal Khachane
aba1eb81ea wpa_supplicant: Clear current pmksa before generating RSN IE
Also update wifi libs with below changes -
  - Fix reason codes for Invalid PMKID
  - Fix handling of Assoc Resp status codes for Station
2022-12-20 17:35:40 +05:30
Michael (XIAO Xufeng)
9e87d53fed esp32s3: fixed bug chip v0.0 detected as vX.0
A typical value is 2.0.
2022-12-20 16:30:13 +08:00
KonstantinKondrashov
26960f1734 efuse: Adds major and minor versions and others 2022-12-20 16:30:13 +08:00
Armando
7dde97d2d6 test_app: xip_psram test app 2022-12-20 14:00:49 +08:00
zwj
046a5b145d Update bt lib for ESP32
- Add config to set duplicate scan list refresh period
- overwrite the oldest device infor if the list is full
- Fixed duplicate scan period is not accurate
2022-12-20 11:40:34 +08:00
zwj
4cb0e30b08 Update bt lib for ESP32-C3 and ESP32-S3
- Add config to set duplicate scan list refresh period
- overwrite the oldest device infor if the list is full
- Fixed duplicate scan period is not accurate
2022-12-20 11:39:35 +08:00
chenjianhua
41c643909e update bt lib for ESP32-C3 and ESP32-S3
1 fixed privacy error for directed adv
2 fixed multi periodic adv sync failed in air
2022-12-20 11:38:22 +08:00
zwj
c32c9d8833 Fixed some memory was not released after bluetooth controller initialization failed on ESP32-C3 and ESP32-S3 2022-12-20 11:36:58 +08:00
chenjianhua
bdfc1426ac update bt-lib for ESP32
1 change default TX power to 9 dBm
2 fixed disconnect reason 0x1f (unspecified error)
3 fixed connection timeout due to terminate ind has not been acknowledged
2022-12-20 11:34:43 +08:00
zwj
13493a6137 Fixed some memory was not released after bluetooth controller initialization failed on ESP32 2022-12-20 11:29:33 +08:00
Ivan Grokhotkov
78af134110 docs: fix the number of breakpoints and watchpoints for RISC-V chips 2022-12-19 14:37:15 +01:00
Djordje Nedic
2ae52901bd idf_size.py: Fix issue where diram size was halved in cases where iram was not fully filled with cache
This fixes an attempted fix for diram size calculation where it was counted twice, however the fix did not account for cases where iram was not fully filled with cache and therefore was of non 0 size.
Now the calculation should be correct regardless of the cache size.

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

Fix expected output
2022-12-19 14:22:00 +01:00
Ivan Grokhotkov
e1d01a9032 docs: mention that increasing ESP32_REV_MIN can reduce IRAM size 2022-12-19 14:07:32 +01:00
Jiang Jiang Jian
56efeb2c76 Merge branch 'bugfix/fix_multicast_issue_v4.4' into 'release/v4.4'
esp_wifi: fix multicast pkts drop issue for some AP when DTIM period > 1 (V4.4)

See merge request espressif/esp-idf!21599
2022-12-19 20:21:24 +08:00
chenjianhua
f44f3d13bc bluedroid: fix ble connection update with same params 2022-12-19 19:10:26 +08:00
chenjianhua
5d6dfd139f examples: fix ble hid led output report 2022-12-19 19:01:13 +08:00
Armando
b59cefbfc0 ut: add test config for xip_from_psram 2022-12-19 18:49:50 +08:00
chenjianhua
8cf14e42ba bluedroid: fix encrypt keysize of GATT characteristic permission 2022-12-19 17:42:08 +08:00
chenjianhua
0cb30a3da0 bluedroid: correct the length of att read by type pdu 2022-12-19 17:41:45 +08:00
Mahavir Jain
7a8fe58dd6 docs: Fix Secure DL mode documentation about flash read being unsupported
Simple flash read command is not supported if Secure DL mode is enabled on the target.
Remove reference of this from the relevant docs part.

Related: https://github.com/espressif/esptool/issues/810
Related: ESPTOOL-567
Closes IDF-6468
2022-12-16 11:52:54 +05:30
gaoxu
2e5307b247 system: don't disable cache if Flash .text and .rodata are moved to PSRAM 2022-12-16 12:59:06 +08:00
Yuan Hong Hui
b1d22143a5 ble_mesh:example:change the level of nimble host log 2022-12-15 18:00:25 +08:00
Armando
bb79980093 mspi_tuning: fix psram timing tuning bug 2022-12-15 17:08:03 +08:00
xiongweichao
d1ce1f9586 bt:Fixed the use of invalid configuration when the peer device configures the stream, and returned an incorrect error code 2022-12-15 17:01:32 +08:00
Guillaume Souchere
dd249a9ecd esp_system: fix placement of __stack_chk_fail from flash to RAM
When stack check is enabled, certain functions (sometimes placed in RAM)
are being decorated with stack guards and a call to __stask_chk_fail() in
case ofr stack corruption. For this reason, __stack_chk_fail() must be
placed in RAM too.

Add stack check config in heap tests on all targets to find eventual flash to RAM
calls due to stack checks when running callgraph_check.py
2022-12-14 12:57:08 +01:00
Guillaume Souchere
43ba878870 heap: fix linker issues and remove spi flash dependencies 2022-12-14 12:57:08 +01:00
Guillaume Souchere
b78193700a feat: remove tlsf_fls and tlsf_ffs from linker as they are inlined. 2022-12-14 12:57:08 +01:00
Guillaume Souchere
e0c92b3e04 tools: update list of references to not include symbold used by __assert_func calls
On xtensa architecture, the call to __assert_func uses a reference to __func__ that can
sometimes be placed in flash. Since the __asert_func can be called from functions in IRAM
the check_callgraph script can report an error when checking for invalid calls from IRAM
to flash sections. However, the __asert_func prevents this scenario at runtime so the
check_callgraph script reports a 'flas positive' situation. For this reasson, all references
to __func__$x found prior to a call to __assert_func are droped in the parsing of the rtl files.
2022-12-14 12:57:08 +01:00
Guillaume Souchere
9ec87993c8 heap: add check for usage of flash content from iram
this commits:
- adds build-time test to check that no call to flash regions are done from IRAM functions

- resolves problems related to IRAM function using content in flash memory

- update heap_caps_alloc_failed to use a default function name in DRAM
  when necessary instead of creating a function name variable in DRAM for
  each call of heap_caps_alloc_failed. This allows to save some extra bytes
  in RAM.
2022-12-14 12:57:08 +01:00
Guillaume Souchere
125609963e heap: add documentation about the function placement in IRAM and its usage in ISR
This commits adds a internal.md file in the heap directory to clarify the idea behind
which functions is placed in IRAM or in flash.

A section in mem_alloc.rst documentation is added to specify which functions from the
heap component API can be used in interrupt handlers.
2022-12-14 12:57:08 +01:00
Guillaume Souchere
6141600b61 heap: add selective placement of function in IRAM
This commit aims to place in the IRAM section only the functions that
are relevent for performance instead of placing the entire content of
multi_heap.c, mullti_heap_poisoning.c and tlsf.c in the IRAM.
2022-12-14 12:57:08 +01:00
chenjianxing
d13e431341 esp_wifi: fix multicast pkts drop issue for some AP when DTIM period > 1 2022-12-14 17:19:27 +08:00
Darian Leung
3eef9e7598 usb: Fix incorrect bmRequestType direction flag in USB Host Library
usb_host_transfer_submit_control() uses the incorrect bmRequestType direction
flag. Therefore, when doing a transfer check, all transfers were mistakenly
treated as OUT transfers (only affects transfer check and not actual transfer).
2022-12-13 22:28:02 +08:00
Darian Leung
974b955cff hal: Fix USB DWC HAL host channel halt race condition
This commit fixes a race condtion bug with usb_dwc_hal_chan_request_halt()
where a channel the channel is halted if it has just completed a transfer
(i.e., finished processing a QTD with the "HOC" flag set) but the channel is
still pending interrupt handling. In this case...

- usb_dwc_hal_chan_request_halt() would simply read the channel's underlying
register, determine it is not active, not set the "halt_requested" flag, and
simply return true.
- The caller assumes of usb_dwc_hal_chan_request_halt() will assume that the
channel has halted, and may proceed to reconfigure the pipe/port
- When usb_dwc_hal_chan_decode_intr() comes to process the pending interrupt
it will simply return USB_DWC_HAL_CHAN_EVENT_CPLT not knowing a halt has been
requested.

This commit updates the implementation of usb_dwc_hal_chan_request_halt() so
that a halt is properly requested even if the underlying channel has already
physically halted.
2022-12-13 22:27:54 +08:00
Tomas Rezucha
5842aca69c usb: Refactor USB Host tests
* Error messages improved
* Configurable for different mock devices

Note: Backport 645592e157 to v4.4 without
migrating to pytest.
2022-12-13 22:26:47 +08:00
Darian Leung
7295933f5f usb_host: Rename struct/ll/hal symbols to use "usb_dwc" prefix
Following the file renaming to use the "usb_dwc" prefix, this commit
updates the symbol names of those files to use the "usb_dwc" as well.

Some LL functions were also renamed so that the register name is
mentioned.
2022-12-13 21:36:00 +08:00
Darian Leung
c06346da35 usb_host: Rename struct/ll/hal files to use "usb_dwc" prefix
This commit updates the DWC_OTG based struct/ll/hal file names to
use the prefix "usb_dwc". This naming scheme reduces ambiguity if
another USB controller implementation is added.

As a result, "hcd.c" has been renamed to "hcd_dwc.c"
2022-12-13 21:36:00 +08:00
Darian Leung
d33e551f47 freertos: Remove GPL license text from port files
This commit removes the GPL license text from various FreeRTOS port files as it
no longer matches the licensing of FreeRTOS v10.4.3 which is distributed under
the MIT license.
2022-12-13 19:29:24 +08:00
timoxd7
b116cff94f Queue Send fix
Fixes rare deadlock on heavy loaded multicore-systems.
2022-12-13 17:23:29 +08:00
Darian Leung
9f3c0b1e38 usb_host: Fix incorrect memset() usage in HCD
This commit fixes incorrect usage of memset() in the HCD's various
_buffer_parse_...() functions. The memset was not clearing the qtd lists, and
were simply setting the first qtd to a non zero value (i.e., the length of
the QTD list).

However, no bug occurred as the subsequent _buffer_fill_...() functions would
overwrite the QTD list anyways.
2022-12-13 16:57:56 +08:00
Rahul Tank
f1ee4f551d Nimble: Update documentation to include distinction between upstream
mesh example and ESP-BLE-MESH
2022-12-13 12:56:17 +05:30
Rahul Tank
7c75d88da5 Nimble: Support maximum number of connections to 9 on ESP32-C3 and ESP32-S3 2022-12-11 18:17:25 +05:30
Aditya Patwardhan
43aa501f18 esp_flash_encrypt: If it is supported then Enable secure download mode in release mode instead of disabling it completely. 2022-12-11 18:16:56 +05:30
Jin Cheng
efcef1a400 correct the SR_mode selection when konw nothing about Peripheral 2022-12-09 10:28:06 +08:00
Mahavir Jain
e86181704a Merge branch 'fix/fix_behaviour_of_api_to_set_fe_release_mode_v4.4' into 'release/v4.4'
esp_flash_encrypt: If it is supported then Enable secure download mode in... (v4.4)

See merge request espressif/esp-idf!21494
2022-12-08 16:01:18 +08:00
wuzhenghui
e2b299660e bugfix: unstall other cpu on core reset
- Closes https://github.com/espressif/esp-idf/issues/10320
2022-12-08 15:38:01 +08:00
Aditya Patwardhan
0a83ebcded esp_flash_encrypt: If it is supported then Enable secure download mode in release mode instead of disabling it completely. 2022-12-08 10:28:48 +05:30
Mahavir Jain
9e46c9b894 Merge branch 'bugfix/fix_esp_https_server_initialize_v4.4' into 'release/v4.4'
esp_https_server: Fix initializers missing in esp_https_server (backport v4.4)

See merge request espressif/esp-idf!21482
2022-12-08 12:19:16 +08:00
morris
e72afc771f Merge branch 'bugfix/fix_slave_gpio_cs_mixed_with_iomux_bus_v4.4' into 'release/v4.4'
spi_slave: fix slave can't use iomux bus mixed with gpio cs_pin (v4.4)

See merge request espressif/esp-idf!21375
2022-12-08 10:58:08 +08:00
Jiang Jiang Jian
4500ddf2f0 Merge branch 'bugfix/modify_wifi_max_conn_num_v4.4' into 'release/v4.4'
esp_wifi: update wifi lib

See merge request espressif/esp-idf!21479
2022-12-08 09:49:20 +08:00
Jiang Jiang Jian
6da4c6b513 Merge branch 'bugfix/fix_long_time_to_get_ip_v4.4' into 'release/v4.4'
lwip: fix the bug that long time to get IP (backport v4.4)

See merge request espressif/esp-idf!21462
2022-12-07 21:49:28 +08:00
jack
a34a4a91fb esp_wifi: update wifi lib
1. Modify wifi max connection num
2. Fix the ESPNOW senf fail after changing opmode
3.Add wifi station config for enabling transition_disbale feature
2022-12-07 18:14:36 +08:00
jack
43f93678ce reduce the max connection number to 15 2022-12-07 18:04:46 +08:00
zhangyanjiao
e943143e0f esp_wifi: fix esp32c3 connect fail
Closes IDFCI-1524
2022-12-07 18:04:46 +08:00
Ivan Grokhotkov
a82a530387 Merge branch 'staging/esp_static_assert_v4.4' into 'release/v4.4'
C/Cxx: unify static assertions with the macro ESP_STATIC_ASSERT  (v4.4)

See merge request espressif/esp-idf!21439
2022-12-07 16:58:01 +08:00
yuanjianmin
12252773b9 esp_https_server: Fix initializers missing in esp_https_server 2022-12-07 15:10:03 +08:00
Jiang Jiang Jian
17db9540d6 Merge branch 'fix/usb/error_handling_bacport_v4.4' into 'release/v4.4'
USB Host: Invalid pointer hotfix (backport v4.4)

See merge request espressif/esp-idf!21367
2022-12-07 14:00:01 +08:00
Shreyas Sheth
2bbd3ac583 esp_wifi:Add wifi station config for enabling transition_disbale feature 2022-12-07 11:44:28 +08:00
zhangyanjiao
3823a991db update doc for espnow max encryped connection 2022-12-07 11:37:06 +08:00
zhangyanjiao
5c1ff3d70b Modify maximum softap conn num and espnow encryption peer num 2022-12-07 11:33:00 +08:00
Wang Meng Yang
77b37716a3 Merge branch 'bugfix/reduce_BTU_TASK_stack_consumption_v4.4' into 'release/v4.4'
Reduce the stack consumption of BTU_TASK (backport v4.4)

See merge request espressif/esp-idf!21435
2022-12-07 11:29:48 +08:00
zhangyanjiao
85bf17d7e2 lwip: fix the bug that long time to get IP 2022-12-07 11:24:13 +08:00
Mahavir Jain
e83289fb7c Merge branch 'docs/remote_signing_of_images_cmd_fix_v4.4' into 'release/v4.4'
docs: fix secure boot "Remote Signing of Images" section command (v4.4)

See merge request espressif/esp-idf!21471
2022-12-07 11:11:41 +08:00
morris
56342a6057 Merge branch 'feature/support_rotating_lcd_ssd1306_v4.4' into 'release/v4.4'
Support rotation on SSD1306 (backport v4.4)

See merge request espressif/esp-idf!21469
2022-12-07 10:55:55 +08:00
Jiang Jiang Jian
1d52944fda Merge branch 'bufix/Backport_some_wifi_lwip_bugs_for_4.4_1205' into 'release/v4.4'
lwip:optimization dns ipv4 ipv6 timer

See merge request espressif/esp-idf!21447
2022-12-07 10:37:19 +08:00
Jiang Jiang Jian
1c0d0e505d Merge branch 'bugfix/multiple_wifi_fixes_v4.4' into 'release/v4.4'
esp_wifi: backport some wifi bugfixes to v4.4

See merge request espressif/esp-idf!21449
2022-12-07 10:28:57 +08:00
harshal.patil
0062349955 docs: fix secure boot "Remote Signing of Images" section command 2022-12-06 23:46:46 +05:30
Vilem Zavodny
68178540f0 lcd: Support rotation SSD1306 and fix mirror y. 2022-12-06 15:43:17 +01:00
Jiang Jiang Jian
4e083d8214 Merge branch 'bugfix/spp_vfs_memory_leak_v4.4' into 'release/v4.4'
Component_bt/fix esp_spp_vfs_register memory leak(v4.4)

See merge request espressif/esp-idf!21440
2022-12-06 20:40:33 +08:00
Omar Chebib
622fb9e906 CI: check_public_headers script will detect the use of static asserts in headers
When a public header contains _Static_assert or static_assert, check_public_headers.py script will detect it and report it as an issue.
Indeed, public headers shall now use ESP_STATIC_ASSERT.
2022-12-06 19:28:51 +08:00
xueyunfei
2e17ad62b8 lwip:optimization dns ipv4 ipv6 timer
* Update submodule: git log --oneline * Update submodule: git log --oneline 6132c9755a43d4e04de4457f1558ced415756e4d..79182163e9e77547e58a6aa34db94902b9812cb3
Detailed description of the changes:
  - dhcp: optimization fine timer when dhcp start(esp-lwip@79182163)
  - ip6 timer: optimization lwip ip6 reassembly timer (esp-lwip@c943fc5a)
  - ip4 timer: optimization lwip ip4 reassembly timer (esp-lwip@17f41c9f)
  - dns timer: optimization lwip dns timer (esp-lwip@7f5ab42c)
2022-12-06 17:30:47 +08:00
Marius Vikhammer
1d13716d28 Merge branch 'bugfix/freertos_port_miss_header_v4.4' into 'release/v4.4'
freertos: add missing header include for esp_chip_info.h to port.c (v4.4)

See merge request espressif/esp-idf!21459
2022-12-06 14:32:36 +08:00
Jiang Jiang Jian
52ba3f1ee0 Merge branch 'bugfix/Fix_exceptional_list_params_check_v4.4' into 'release/v4.4'
ble_mesh: stack: Fix exceptional list parameters check issue(v4.4)

See merge request espressif/esp-idf!21442
2022-12-06 14:13:20 +08:00
Wang Meng Yang
e0b8f83253 Merge branch 'bugfix/reattempt_crash_v4.4' into 'release/v4.4'
NimBLE: Fixed going for reattempt connection code (v4.4)

See merge request espressif/esp-idf!21176
2022-12-06 14:02:25 +08:00
xiongweichao
8246d6bec6 Assert when malloc user_data fail 2022-12-06 06:02:01 +00:00
xiongweichao
854a31feda Modified spp vfs example 2022-12-06 06:02:01 +00:00
xiongweichao
cdbdb31d6d Fixed memory leak when SPP initialization failed 2022-12-06 06:02:01 +00:00
xiongweichao
67341a31b7 Added esp_spp_vfs_unregister() to free memory allocated by esp_spp_vfs_register() 2022-12-06 06:02:01 +00:00
jack
da03bab573 small fixes 2022-12-06 13:12:17 +08:00
Marius Vikhammer
9e66eb4c9f freertos: add missing header include for esp_chip_info.h to port.c
Closes https://github.com/espressif/esp-idf/issues/10310
2022-12-06 12:18:20 +08:00
morris
5d4edd8218 Merge branch 'bugfix/mcpwm_example_support_usj_v4.4' into 'release/v4.4'
mcpwm: bdc control example also support usb serial jtag console

See merge request espressif/esp-idf!21432
2022-12-06 11:38:57 +08:00
Wang Meng Yang
d78c08587d Merge branch 'contrib/github_pr_9529_v4.4' into 'release/v4.4'
component_bt: Fixed memory leak due to not freeing memory if posting a message to a thread fails(v4.4)

See merge request espressif/esp-idf!21446
2022-12-06 10:51:53 +08:00
Jiang Jiang Jian
e5b0abcc57 Merge branch 'bugfix/backport_wifi_fixes_v4.4' into 'release/v4.4'
backported some wifi fixes (backport v4.4)

See merge request espressif/esp-idf!21448
2022-12-06 10:25:02 +08:00
Simon Arlott
731486ad33 hal/uart_ll.h: Fix compile with C++
I'm including <hal/uart_ll.h> in my C++ application because I need to
bypass the uart driver. The inline functions in the header file fail to
compile as C++.

All of the enums need explicit casts for conversion to/from integers.

Merges https://github.com/espressif/esp-idf/pull/10106
2022-12-06 10:18:32 +08:00
Kapil Gupta
c71071b36c esp_wifi: Add changes to skip SAE handshake during WPS connection 2022-12-05 21:35:11 +05:30
Kapil Gupta
c34ba085ba esp_wifi: Flush PMK caching if bss akm has changed 2022-12-05 21:35:05 +05:30
Kapil Gupta
9e4b31e0f2 Correct SSID copy length during WPS scan 2022-12-05 21:34:46 +05:30
morris
99b4b5fbb2 Merge branch 'bugfix/allow_bypass_lcd_cmd_v4.4' into 'release/v4.4'
spi_lcd: panel_io_spi_tx_color without cmd (v4.4)

See merge request espressif/esp-idf!21428
2022-12-05 22:47:22 +08:00
jack
9acf90f5e4 esp_wifi: backport some bugfixes to v4.4
1.Bugfix for  clear bss info when wifi stop
2.Bugfix for  add clear ap list interface
3.Modify wifi scan return value.
4.Change the log level of some logs to avoid misunderstanding.
5.Fix connect fail return wrong error code issue.
6.Fix WAPI issue on gtk compability and referrence to broadcast arp pkts.
7.Support WiFi tx fragment in the crypto mode of gcmp.
8.Fix tx fragment issue that pn code is less than msdu after pn code add two for tx fragment.
9.Fixed some issues on Soft-AP power save.
10.fix invalid child issue
11.fix WIFI_EVENT_AP_STADISCONNECTED event error
12.Fix SoftAP memory leak issue.
13.Fixed sta get ap info does not return connected ssid issue.
14.Fix SoftAP recv ps-poll not update inactive timer issue.
2022-12-05 22:38:33 +08:00
alex.li
d8362cce90 esp_wifi: fix wapi gtk id compability issue and adapt tx frag pn sequently. 2022-12-05 21:48:36 +08:00
Marius Vikhammer
082ff4e441 Apply suggestions to 2 files 2022-12-05 21:44:06 +08:00
muhaidong
d404e429ec esp_wifi: Modify wifi scan return value.
1. Modify wifi scan return value same to docs.
2. Change some logs' log level wo avoid misunderstanding.
3. Fix connect fail return wrong error code issue
2022-12-05 21:42:57 +08:00
zhangyanjiao
df9fba9d22 update doc for set channel 2022-12-05 21:41:39 +08:00
zhangyanjiao
c227cbea3f update wifi reason code 2022-12-05 21:40:44 +08:00
xueyunfei
cf3e45deef esp_wifi:add clear ap list interface 2022-12-05 20:57:00 +08:00
xiongweichao
91983ad0cf bt: Fixed incorrect parameters in switching to BTC context 2022-12-05 20:49:18 +08:00
xiongweichao
5c14b6eed1 bt:Modify the member variable *arg in struct btc_msg to arg[0] 2022-12-05 20:48:16 +08:00
xiongweichao
9ec06ba4ac bt: Fixed memory leak due to not freeing memory if posting a message to a thread fails 2022-12-05 20:48:04 +08:00
wangjialiang
4aa7b2a837 ble_mesh: stack: Fix exceptional list parameters check issue 2022-12-05 20:25:07 +08:00
Omar Chebib
049d21bb12 C/Cxx: unify static assertions with the macro ESP_STATIC_ASSERT
Closes https://github.com/espressif/esp-idf/issues/9938
2022-12-05 18:16:08 +08:00
isha.pardikar@espressif.com
d927830b81 NimBLE: Fixed going for reattempt connection code 2022-12-05 14:36:48 +05:30
Zim Kalinowski
c529135c71 Merge branch 'bugfix/share_intr_v4.4' into 'release/v4.4'
intr_alloc: fixed freed interrupt sources not being able to be allocated again with different flags (v4.4)

See merge request espressif/esp-idf!21286
2022-12-05 16:38:09 +08:00
morris
cb4fccb38a mcpwm: bdc control example also support usb serial jtag 2022-12-05 16:19:45 +08:00
zwj
b07e7d7c3f Reduce the stack consumption of BTU_TASK 2022-12-05 15:50:09 +08:00
Jiang Jiang Jian
694bc6bf47 Merge branch 'feature/backport_blufi_coexist_phy_init_flag_v4.4' into 'release/v4.4'
esp_wifi: backport coexist fix, connectionless ps fix, blufi feature

See merge request espressif/esp-idf!21411
2022-12-05 15:04:43 +08:00
Marius Vikhammer
628af15b5a Merge branch 'bugfix/xtensa_freertos_16B_aligned_v4.4' into 'release/v4.4'
FreeRTOS: Make the default stack alignment 16 for Xtensa

See merge request espressif/esp-idf!21405
2022-12-05 15:00:55 +08:00
morris
ca6a427a81 spi_lcd: panel_io_spi_tx_color without cmd
Closes https://github.com/espressif/esp-idf/issues/10302
2022-12-05 14:27:34 +08:00
Wang Meng Yang
6672ec0692 Merge branch 'feature/support_ble_max_conn_num_to_9_v4.4' into 'release/v4.4'
Support bluedroid host maximum number of connections to 9 (backport v4.4)

See merge request espressif/esp-idf!21399
2022-12-05 12:16:55 +08:00
Jiang Jiang Jian
8b24bbd919 Merge branch 'bugfix/fix_c3_s3_ble_temperature_performance_v4.4' into 'release/v4.4'
Fixed bluetooth disconnection caused by HW temperature rise or fall(backport v4.4)

See merge request espressif/esp-idf!21371
2022-12-05 10:52:27 +08:00
liuning
78cef1b7d2 esp_wifi: update lib for backport 2022-12-02 20:02:07 +08:00
liuning
b6800c3e01 phy: only set phy_init_flag at power domain off, when all modems deinit 2022-12-02 19:54:58 +08:00
liuning
c9996c010d esp_wifi: fix some connectionless related issue 2022-12-02 19:53:35 +08:00
liuning
6a66453e94 docs: update BluFi documentation 2022-12-02 19:48:41 +08:00
liuning
2d2177b4ad blufi: update version to 1.3
record connecting status, got ip status, maximum retry, connection end info (reason code, rssi) and provide greater information to phone
2022-12-02 19:45:28 +08:00
zhangyanjiao
de5156bb20 esp_wifi: report rssi info in wifi event 2022-12-02 19:43:24 +08:00
Jiang Jiang Jian
f90c12fc3c Merge branch 'bugfix/fix_hid_device_vup_without_connection_4.4' into 'release/v4.4'
Bugfix/Fix HID Device can not remove virtually cabled device without a connection[backport 4.4]

See merge request espressif/esp-idf!21366
2022-12-02 16:00:20 +08:00
Jiang Jiang Jian
3dcb9cf8ec Merge branch 'bugfix/sta_set_extra_ies_for_open_AP_v4.4' into 'release/v4.4'
esp_wifi: STA set extra IEs for open AP v4.4

See merge request espressif/esp-idf!21363
2022-12-02 16:00:31 +08:00
Omar Chebib
b2ddedb941 FreeRTOS: Make the default stack alignment 16 for Xtensa 2022-12-02 15:20:09 +08:00
Marius Vikhammer
7ae5ec946d Merge branch 'bugfix/rtc_retain_mem_always_erased_v4.4' into 'release/v4.4'
Bootloader: retained memory can now be kept after reboot when custom data enabled (backport v4.4)

See merge request espressif/esp-idf!21233
2022-12-02 13:49:59 +08:00
morris
ee867ec16b Merge branch 'bugfix/i2c_func_iram_v4.4' into 'release/v4.4'
I2C: put some interrupt used functions into IRAM

See merge request espressif/esp-idf!20991
2022-12-02 12:43:40 +08:00
zwj
417dff3a1e update BLE lib for ESP32-C3 and ESP32-S3
- Fixed lld_con.c line 3048 assert
- Fixed crash sometimes when connected as a slave by 8th device
2022-12-02 12:01:04 +08:00
zhiweijian
6e1eb4af26 bluedroid host supports the maximum number of connections to 9 2022-12-02 12:00:53 +08:00
Wang Meng Yang
2c41b01771 Merge branch 'bugfix/fix_bt_sleep_hangs_when_enable_light_sleep_backport_v4.4' into 'release/v4.4'
bt: fix bt sleep flow hangs in btdm_sleep_clock_sync(backport v4.4)

See merge request espressif/esp-idf!21383
2022-12-02 11:27:12 +08:00
Jiang Jiang Jian
f9488e59a7 Merge branch 'bugfix/check_ies_in_match_security_v4.4' into 'release/v4.4'
Adding check for ies in match security (Backport v4.4)

See merge request espressif/esp-idf!20790
2022-12-02 10:37:39 +08:00
jack
d688fc3542 eps-wifi: update wifi lib
1. Adding check for ies in match security
2. Set AP rsnxe while connecting to a AP
3. Restores station status to connected when no other AP is found for roam
4. Add config option for AP retry count
5. Fix unprotected SA Query issue
2022-12-01 19:35:30 +05:30
Armando
b23a2b0a75 spi: limit esp32 dma workaround only on esp32 2022-12-01 20:57:09 +08:00
jingli
458f7190f1 bt: fix bt sleep flow hangs in btdm_sleep_clock_sync
Bluetooth low power related logic and regs have separate power domain from MAC and BB,
and do not power down during light sleep. If reset when power up MAC and BB in sleep
flow, it may destroy the state of bt low power part.
2022-12-01 20:53:02 +08:00
wanlei
cd08ea1f31 spi_slave: fix slave can't use iomux bus mixed with gpio cs_pin 2022-12-01 20:15:21 +08:00
zhiweijian
3f42a81447 Fixed CI esp32s3.default_2_s3.Test failed 2022-12-01 19:45:04 +08:00
zhiweijian
2902766706 - update phy lib
- Enable BLE pll track to fix bluetooth disconnection caused by temperature rise or fall on ESP32C3 and ESP32S3
- call pll track in controller task
2022-12-01 19:43:55 +08:00
Omar Chebib
465577dd28 Bootloader: retained memory can now be kept after reboot when custom data enabled
User's custom data are not taken into account during the CRC calculation anymore.
Which means taht the retained mem structure is not systematically erased
on each reboot anymore.
2022-12-01 16:34:59 +08:00
Cao Sen Miao
9a6a28734b I2C: put some interrupt used functions into IRAM,
closes https://github.com/espressif/esp-idf/issues/10079
2022-12-01 16:20:56 +08:00
Tomas Rezucha
2c89caab9b usb: Don't access uninit pointer if usbh_install fails 2022-12-01 08:37:01 +01:00
liqigan
7ba36f4d47 fix HID device can not remove virtually cabled device without a connection
Closes https://github.com/espressif/esp-idf/issues/10107
2022-12-01 15:18:19 +08:00
Shreyas Sheth
7252d678a0 esp_wifi: STA set extra IEs for open AP 2022-12-01 12:19:33 +05:30
Jiang Jiang Jian
00396a9d49 Merge branch 'bufix/a2dp_fail_connect_again_after_disconnect_v4.4' into 'release/v4.4'
component_bt: Fixed a2dp failing to connect again after disconnect(v4.4)

See merge request espressif/esp-idf!21343
2022-12-01 10:34:45 +08:00
Jiang Jiang Jian
db7c50b373 Merge branch 'bugfix/security_params_overwrite_v4.4' into 'release/v4.4'
Add changes to prevent security params overwritten in full scan (backport v4.4)

See merge request espressif/esp-idf!21301
2022-11-30 22:53:32 +08:00
xiongweichao
a2e8c6f95c Fixed a2dp failing to connect again after disconnect 2022-11-30 19:11:27 +08:00
Mahavir Jain
7c1dd9025f Merge branch 'feature/update_expat_2_5_0' into 'release/v4.4'
expat: Upgrade version to release v2.5.0

See merge request espressif/esp-idf!21294
2022-11-30 16:43:15 +08:00
Jiang Jiang Jian
cdf8810f63 Merge branch 'bugfix/disable_prov_encryption_v4.4' into 'release/v4.4'
Wifi Prov: Disabled the default support for BLE Encrpytion on characteristics read /write (v4.4)

See merge request espressif/esp-idf!21264
2022-11-30 12:06:08 +08:00
Roland Dobai
99e2722aab Merge branch 'fix/gdbgui_v4.4' into 'release/v4.4'
Tools: gdbgui is not supported on Python 3.11

See merge request espressif/esp-idf!21054
2022-11-29 18:07:03 +08:00
Wang Meng Yang
89bb0c0759 Merge branch 'bt/opt_audio_datapath_v4.4' into 'release/v4.4'
bt/optimized a2dp_sink audio datapath (v4.4)

See merge request espressif/esp-idf!21223
2022-11-29 17:58:26 +08:00
Wang Meng Yang
359762c84a Merge branch 'bugfix/optimize_hidh_disconnection_4.4' into 'release/v4.4'
Bugfix/Fix HID Host improper handle of freeing resource in esp_hid component[backport 4.4]

See merge request espressif/esp-idf!21249
2022-11-29 17:56:12 +08:00
Roland Dobai
3974be7fec Tools: gdbgui is not supported on Python 3.11
Closes https://github.com/espressif/esp-idf/issues/10116
2022-11-28 10:29:34 +00:00
Roland Dobai
7a77109e0d ci: lift restriction on pygdbmi in panic test
Backport of 01f1aba2d0
2022-11-28 10:29:34 +00:00
Aleksei Apaseev
e963447276 ci: lift the restriction on pygdbmi in ttfw_idf 2022-11-28 10:29:34 +00:00
gauri patankar
5bcd438a45 Add changes to prevent security params overwritten in full scan (backport v4.4) 2022-11-28 14:52:43 +05:30
Harshit Malpani
7ad67bf462 expat: Upgrade version to release v2.5.0 2022-11-28 13:55:21 +05:30
Mahavir Jain
932b6699ac Merge branch 'fix/secure_boot_v2_fix_warning_message_v4.4' into 'release/v4.4'
Fix/secure boot v2 fix warning message (v4.4)

See merge request espressif/esp-idf!21275
2022-11-28 11:37:16 +08:00
Marius Vikhammer
e5999ea4fb intr_alloc: fixed freed interrupt sources not being able to be allocated again with different flags
Mark the vector descriptor source as freed.
2022-11-28 10:45:27 +08:00
Roland Dobai
1c82aa5369 Merge branch 'bugfix/serial_reader_linux_writes_correctly_4.4' into 'release/v4.4'
bugfix(tools): idf.py monitor now reads correctly on Linux (backport 4.4)

See merge request espressif/esp-idf!21271
2022-11-25 23:24:31 +08:00
Aditya Patwardhan
98430b2f94 secure_boot_v2: Fix warning message 2022-11-25 18:34:31 +05:30
Aditya Patwardhan
0c374689ff Merge branch 'bugfix/secure_boot_v2_bootloader_reflash_note_v4.4' into 'release/v4.4'
docs: secure-boot-v2: remove incorrect note about bootloader re-flash (v4.4)

See merge request espressif/esp-idf!21266
2022-11-25 20:23:08 +08:00
David Čermák
56b2ae504f Merge branch 'feature/mqtt_cmakefile_cleanup_v4.4' into 'release/v4.4'
[MQTT] Simplifies MQTT CMakeLists file(v4.4)

See merge request espressif/esp-idf!20483
2022-11-25 19:27:08 +08:00
Jakob Hasse
dcf87b10b6 bugfix(tools): idf.py monitor now reads correctly on Linux
A missing flush in the serial reader implementation for
Linux target was causing input to idf.py monitor to not
be forwarded to the application. This is fixed now.
2022-11-25 11:41:24 +01:00
Mahavir Jain
5e436add7a docs: secure-boot-v2: remove incorrect note about bootloader re-flash
In secure-boot-v2 scheme, one can always regenerate signature using
secure boot signing key and re-flash either bootloader or application.
2022-11-25 14:23:24 +05:30
Rahul Tank
d86afd82c1 Wifi Prov: Disabled the default support for BLE Encrpytion on characteristics read /write
By default, disabled the BLE Encrpyption requirement for provisioning characteristic.
With this flag enabled, when remote attempts to read and if the ACL link is not encrypted,
ESP device will return Insufficient Authentication. It is remote device responsibility to go
for link encryption which may result in pairing.

Some devices do not proceed for any pairing and just show failure pop-up. Also, user needs
to remove bonding on remote phone manually and then try again. This is causing bad user experience.

End user can enable it as per their use case.
2022-11-25 14:18:15 +05:30
David Čermák
c2c6457fbf Merge branch 'bugfix/mqtt_start_stop_timer_fixes_v4.4' into 'release/v4.4'
mqtt: Fix keepalive with esp-timer; clean close SM (v4.4)

See merge request espressif/esp-idf!20816
2022-11-25 15:25:24 +08:00
liqigan
54c5e28c80 optimize HID Host disconnection procedure 2022-11-25 09:34:12 +08:00
Euripedes Rocha
c273e132ff [MQTT] Simplifies MQTT CMakeLists file
- Removes mocks creation
- Adds tcp_transport explicitly as dependency

Closes https://github.com/espressif/esp-idf/issues/9630
2022-11-24 15:03:23 +00:00
Jiang Jiang Jian
39189e7522 Merge branch 'bugfix/fixed_HIDH_connection_failure_v4.4' into 'release/v4.4'
bugfix/fixed connection failure and build errors of HID host (v4.4)

See merge request espressif/esp-idf!21210
2022-11-24 19:12:13 +08:00
Jiang Jiang Jian
f2777e994d Merge branch 'ci/iram_overflow_build_ssc_and_test_apps_4.4' into 'release/v4.4'
CI: build ssc and test apps iram overflow (4.4)

See merge request espressif/esp-idf!21217
2022-11-24 18:45:02 +08:00
Jin Cheng
a1b4ef2806 Increase BtI2STask stack depth to avoid stack overflow 2022-11-24 12:14:15 +08:00
Jin Cheng
2c38701f68 optimized a2dp_sink audio datapath
1. removed audio cache in BTC layer of Bluedroid
2. added flow control for audio data in application layer

Closes https://github.com/espressif/esp-idf/issues/9622
2022-11-24 12:14:08 +08:00
Chen Yudong
8eb55c84a8 test_apps: fix IRAM overflow in build test apps 2022-11-24 11:33:59 +08:00
Jin Cheng
2d220b5c3f 1. changed pin_type of Legacy Paring from FIXED to VARIABLE to avoid authentication failure
2. provide compatibilities with devices that do not support Secure Simple Paring

Closes https://github.com/espressif/esp-idf/issues/10069
Closes https://github.com/espressif/esp-idf/issues/10005
2022-11-23 20:53:41 +08:00
Jin Cheng
11ab4404ff fixed build errors with Secure Simple Paring disabled 2022-11-23 20:52:09 +08:00
Jiang Jiang Jian
2302651311 Merge branch 'mesh/bugfix_fix_memory_leak_issue_v4.4' into 'release/v4.4'
esp_mesh: fix the memeory leak issue when call esp_mesh_start/stop (backport v4.4)

See merge request espressif/esp-idf!21133
2022-11-23 11:42:25 +08:00
morris
832ba7dba2 Merge branch 'bugfix/legacy_rmt_resource_leak_v4.4' into 'release/v4.4'
rmt: fix memory leak in the legacy driver (v4.4)

See merge request espressif/esp-idf!21167
2022-11-23 11:29:17 +08:00
Wang Meng Yang
4f3f8ebb3d Merge branch 'bugfix/fix_hfp_clcc_parser_bug_4.4' into 'release/v4.4'
Bugfix/Fix HFP client parse CLCC command response bug[backport 4.4]

See merge request espressif/esp-idf!21157
2022-11-23 11:09:41 +08:00
Wang Meng Yang
2b4b59e635 Merge branch 'bugfix/a2dp_source_memory_access_out_of_bounds_v4.4' into 'release/v4.4'
Fixed the issue memory access out of bounds in a2dp_source example (v4.4)

See merge request espressif/esp-idf!21145
2022-11-23 10:32:16 +08:00
Island
b781bb3134 Merge branch 'bugfix/change_log_print_forv4.4' into 'release/v4.4'
ble_mesh:example:Add command to test the function of duplicate exceptional list(v4.4)

See merge request espressif/esp-idf!21121
2022-11-23 10:25:47 +08:00
Yuan Hong Hui
e591c290ad ble_mesh:example:Add command to test the function of duplicate exceptional list(v4.4) 2022-11-23 10:25:45 +08:00
Jiang Jiang Jian
76d805f15a Merge branch 'feature/support_ble_memory_release_on_esp32c3_and_esp32s3_v4.4' into 'release/v4.4'
support BLE memory release on ESP32C3 and ESP32S3 (backport v4.4)

See merge request espressif/esp-idf!21168
2022-11-22 14:38:03 +08:00
Roland Dobai
00402bef5f Merge branch 'fix/bitstring_4_v4.4' into 'release/v4.4'
Tools: Use bitstring package compatible with supported Python versions

See merge request espressif/esp-idf!21165
2022-11-21 22:12:45 +08:00
Zim Kalinowski
345a12c1f9 Merge branch 'feature/tlsf-dynamic-control-size_v4.4' into 'release/v4.4'
heap: Update to the new tlsf implementation of dynamic metadata size (backport v4.4)

See merge request espressif/esp-idf!20797
2022-11-21 19:02:35 +08:00
zwj
8e50c5acb2 support BLE memory release on ESP32C3 and ESP32S3 2022-11-21 10:46:30 +08:00
morris
1cece7eef0 rmt: fix memory leak in the legacy driver
Closes https://github.com/espressif/esp-idf/issues/10173
2022-11-21 10:00:24 +08:00
Roland Dobai
7f732720f0 Tools: Use bitstring package compatible with supported Python versions
Bitstring>=4 supports Python 3.7+ only. See:
https://github.com/scott-griffiths/bitstring/releases/tag/bitstring-4.0.1
2022-11-20 17:35:34 +01:00
morris
1f63dc70b8 Merge branch 'bugfix/fix_iram_end_redefined_backportv4.4' into 'release/v4.4'
bugfix: fix redefined _iram_end (backport v4.4)

See merge request espressif/esp-idf!21159
2022-11-20 18:30:09 +08:00
wuzhenghui
cf0c0d98ee bugfix: fix redefined _iram_end 2022-11-18 19:51:23 +08:00
liqigan
a96c1fc7c6 fix HFP client parse CLCC command response bug 2022-11-18 19:41:41 +08:00
Jin Cheng
e3ec58043f Fixed the issue memory access out of bounds in a2dp_source example 2022-11-18 16:40:03 +08:00
morris
be9d294718 Merge branch 'contrib/github_pr_10027_v4.4' into 'release/v4.4'
[Panic] also print to secondary USB Serial/JTAG Console (GitHub PR) (v4.4)

See merge request espressif/esp-idf!21022
2022-11-18 11:52:06 +08:00
Wang Meng Yang
da943339ad Merge branch 'bugfix/change_default_tx_power_on_c3_and_s3_v4.4' into 'release/v4.4'
Change BLE default TX power on ESP32C3 and ESP32S3(backport v4.4)

See merge request espressif/esp-idf!21102
2022-11-18 10:46:33 +08:00
zhangyanjiao
4d6cce4b3b esp_mesh: fix the memeory leak issue when call esp_mesh_start/stop 2022-11-17 17:30:52 +08:00
morris
a54467fcfb Merge branch 'contrib/github_pr_7144_v4.4' into 'release/v4.4'
Update i2c.c to consider two I2C buses for clear bus counter (GitHub PR) (backport v4.4)

See merge request espressif/esp-idf!20505
2022-11-17 16:35:50 +08:00
zhiweijian
58979bee59 cleanup bluetooth sdkconfig.defaults 2022-11-17 03:46:02 +00:00
zwj
b6f3bfaa13 Update bt lib for ESP32C3 and ESP32S3
- Added config to disable scan backoff
- Fixed llm_scan.c assert at line 1485 during controller deinit if duplicate scan is not stopped
- Call pll track in controller task
2022-11-17 03:46:02 +00:00
zhiweijian
269c02f391 Fixed ble_compatibility_test example NVS init error 2022-11-17 03:46:02 +00:00
zwj
80078b6192 Fixed errors reported by CI clang_tidy_check 2022-11-17 03:46:02 +00:00
zwj
d6e3d887c1 Fixed sometimes BTU task overflow when doing read and write performance test 2022-11-17 03:46:02 +00:00
zwj
485f3a4ce1 change default tx power from 3dBm to 9dBm 2022-11-17 03:46:02 +00:00
Marius Vikhammer
54dcccc1f6 Merge branch 'bugfix/flake8_precommit_v4.4' into 'release/v4.4'
precommit: update flake8 repo url to use github (v4.4)

See merge request espressif/esp-idf!21096
2022-11-17 09:13:52 +08:00
Marius Vikhammer
43a411d452 precommit: update flake8 repo url to use github
Gitlab mirror repo has been deprecated.
2022-11-15 16:21:13 +08:00
morris
36dde93b57 Merge branch 'feature/remove_psram_cs_clk_pin_settings_config_s2_s3_v4.4' into 'release/v4.4'
psram: remove CS/CLK pin settings in kconfig on ESP32S2/S3 (v4.4)

See merge request espressif/esp-idf!21045
2022-11-15 10:53:23 +08:00
Jiang Jiang Jian
f902b64f40 Merge branch 'bugfix/a2dp_can_not_connect_after_ble_connected_v4.4' into 'release/v4.4'
fixed the issue iOS devices cannot initiate connection (v4.4)

See merge request espressif/esp-idf!21062
2022-11-14 15:41:14 +08:00
Jiang Jiang Jian
ca8d88a8f5 Merge branch 'bugfix/wpa_enterprise_reauth_v4.4' into 'release/v4.4'
esp_wifi: Fix WiFi Enterprise Reauthentication issue (v4.4)

See merge request espressif/esp-idf!21072
2022-11-14 15:24:37 +08:00
Shreyas Sheth
24efd4a505 esp_wifi: Bugfix WPA Enterprise Reauthentication issue 2022-11-14 11:12:22 +05:30
morris
c01e186442 Merge branch 'bugfix/esp32s3_rom_has_ets_printf_issue_v4.4' into 'release/v4.4'
esp_rom: fix esp32s3 rom ets_printf bug (backport to v4.4)

See merge request espressif/esp-idf!20795
2022-11-14 10:59:02 +08:00
Jiang Jiang Jian
c3439e040a Merge branch 'bugfix/fixing_memory_leak_wps_scan_v4.4' into 'release/v4.4'
(wpa_supplicant) : Fixed a memory leak issue created when parsing scan results

See merge request espressif/esp-idf!20988
2022-11-14 10:46:31 +08:00
Jin Cheng
07518cf467 fixed the issue iOS devices cannot initiate connection
to ESP32 while there is a BLE connection to this ESP32

Closes https://github.com/espressif/esp-idf/issues/6557
2022-11-14 09:48:13 +08:00
morris
76caa64286 Merge branch 'docs/fix-typo-touch-pad-esp32s2-esp32s3_v4.4' into 'release/v4.4'
docs:fix a typo in touch_sensor.h of esp32s2 and esp32s3 (v4.4)

See merge request espressif/esp-idf!21044
2022-11-12 00:08:05 +08:00
jgujarathi
cb0ce135a5 (wpa_supplicant) : Fixed a memory leak issue created when parsing scan results. 2022-11-11 17:11:00 +05:30
Armando
3fb3600ee0 psram: remove CS/CLK pin settings in kconfig on ESP32S2/S3 2022-11-11 17:45:03 +08:00
Linda
d6ffcfdae8 docs:fix a typo in touch_sensor.h of esp32s2 and esp32s3 2022-11-11 17:40:18 +08:00
jiangguangming
c6e5bee48a esp_rom: add rom api esp_rom_uart_set_as_console for riscv chips 2022-11-11 17:08:42 +08:00
Jiang Jiang Jian
1411de54b4 Merge branch 'feature/support_hpm_on_flash_4.4' into 'release/v4.4'
spi_flash: Building a framework to enable HPM when flash works under high speed mode, take GD as an example.(backport v4.4)

See merge request espressif/esp-idf!17758
2022-11-11 16:47:26 +08:00
Jiang Jiang Jian
86d29d566b Merge branch 'bugfix/fix_current_leakage_when_hold_digital_io_during_deep_sleep_backport_v4.4' into 'release/v4.4'
esp_hw_support/sleep: fix current leakage when hold digital io during deep sleep(backport v4.4)

See merge request espressif/esp-idf!20945
2022-11-11 16:33:43 +08:00
Roland Dobai
538cd8f0ae Merge branch 'feature/oocd_ver_upgrade_v4.4' into 'release/v4.4'
tools: Updates OpenOCD version to 'v0.11.0-esp32-20221026' (v4.4)

See merge request espressif/esp-idf!21005
2022-11-11 15:50:44 +08:00
Zim Kalinowski
2e1deb55c0 Merge branch 'bugfix/bt_bss_wrong_address_v4.4' into 'release/v4.4'
Bluetooth: fix BSS placement in the linker script generated by ldgen (backport v4.4)

See merge request espressif/esp-idf!20978
2022-11-11 12:14:51 +08:00
Mahavir Jain
2d9d9e52bf Merge branch 'feature/upgrade_argtable_3_2_2_files_v4.4' into 'release/v4.4'
console: argtable3: upgrade to v3.2.2 (v4.4)

See merge request espressif/esp-idf!21015
2022-11-11 11:36:40 +08:00
Jiang Jiang Jian
fd5aec2d6a Merge branch 'bugfix/fix_part_of_modem_not_reset_when_power_on_backport_v4.4' into 'release/v4.4'
Coexistence: fix part of modem module not reset when power up(backport v4.4)

See merge request espressif/esp-idf!20808
2022-11-11 10:50:56 +08:00
jiangguangming
960ed3ff26 esp_rom: remove ESP_ROM_SUPPORT_MULTIPLE_UART 2022-11-11 10:28:50 +08:00
jiangguangming
a1e6f1dada esp_rom: fix esp32s3 rom ets_printf bug 2022-11-11 10:27:48 +08:00
morris
4830bcc777 Merge branch 'feature/esp_lcd_register_io_callback_v4.4' into 'release/v4.4'
esp_lcd: Add function for register on color done callback (backport v4.4)

See merge request espressif/esp-idf!21032
2022-11-11 10:11:51 +08:00
morris
6a2cffe84d Merge branch 'doc/explain_ledc_callback_return_value_v4.4' into 'release/v4.4'
ledc: explain the callback return value (v4.4)

See merge request espressif/esp-idf!20967
2022-11-11 10:10:13 +08:00
Vilem Zavodny
7280f9c7a5 esp_lcd: Add function for register on color done callback.
(cherry picked from commit 747c5993a8)
2022-11-10 12:13:00 +01:00
morris
8cba2f2ddf ledc: explain the callback return value
Closes https://github.com/espressif/esp-idf/issues/10093
2022-11-10 18:49:51 +08:00
Ivan Grokhotkov
e2cdc7f007 console: argtable3: upgrade to v3.2.2
Closes https://github.com/espressif/esp-idf/issues/9907
Closes https://github.com/espressif/esp-idf/pull/10016
2022-11-10 11:05:24 +01:00
Ivan Grokhotkov
3e524fc18e docs: update copyrights list for argtable3 2022-11-10 11:05:24 +01:00
Ivan Grokhotkov
2ca65b9aef console: argtable3: sync arg_end argument name
...between declaration and definition, to silence clang-tidy warnings
2022-11-10 11:05:24 +01:00
Ivan Grokhotkov
5a8faed3dc console: argtable3: fix -Wwrite-strings warnings
Re-apply commit 744c2dcdd9
2022-11-10 11:05:24 +01:00
Ivan Grokhotkov
499dbc2152 console: argtable3: re-introduce arg_print_formatted function 2022-11-10 11:05:24 +01:00
Ivan Grokhotkov
5d13a0b544 console: argtable3: use newlib getopt, disable logs
Opted for changing the source code to avoid adding one extra flag to
component public CPPFLAGS.
2022-11-10 11:05:24 +01:00
Ivan Grokhotkov
85db9731e8 console: argtable3: update build system for v3.2.1 2022-11-10 11:05:23 +01:00
Ivan Grokhotkov
869ce022bd console: argtable3: add SPDX copyright headers 2022-11-10 11:05:23 +01:00
Ivan Grokhotkov
2c66721c3a console: argtable3: upgrade to v3.2.1
Source code taken from release archives in
https://github.com/argtable/argtable3/releases/tag/v3.2.1.52f24e5

Applied dos2unix to all files.
Removed trailing whitespace with the pre-commit hook.

Resolves some of the static analysis issues reported in
https://github.com/espressif/esp-idf/issues/6440
(mallocs are replaced by xmalloc wrapper which panics on failed
allocations)
2022-11-10 11:05:23 +01:00
Marius Vikhammer
7b8ce7a3a6 Merge branch 'bugfix/esp_timer_isr_dispatch_test_fail_v4.4' into 'release/v4.4'
esp_timer: fix ESP_TIMER_ISR dispatch method due to off by one error (v4.4)

See merge request espressif/esp-idf!21027
2022-11-10 16:44:50 +08:00
jingli
fbf7261531 wifi/bt: fix part of modem module not reset when power up 2022-11-10 16:00:02 +08:00
Marius Vikhammer
478ffa077c esp_timer: fix ESP_TIMER_ISR dispatch method due to off by one error 2022-11-10 15:03:15 +08:00
Jiang Jiang Jian
dde4ba5362 Merge branch 'bufix/Backport_some_wifi_lwip_bugs_for_4.4_1025' into 'release/v4.4'
Bufix/backport some wifi lwip bugs for 4.4 1025

See merge request espressif/esp-idf!20781
2022-11-10 10:59:10 +08:00
Jiang Jiang Jian
12c64be392 Merge branch 'bugfix/ble_mesh_console_memory_leak_test_forv4.4' into 'release/v4.4'
ble_mesh:example:fix memory leak(v4.4)

See merge request espressif/esp-idf!20038
2022-11-10 10:45:12 +08:00
Jiang Jiang Jian
7bd454188d Merge branch 'bugfix/remove_get_modle_and_get_comp_api_forv4.4' into 'release/v4.4'
ble_mesh:example:change the method of get model(for v4.4)

See merge request espressif/esp-idf!20393
2022-11-10 10:44:52 +08:00
Jiang Jiang Jian
35d0d68bbd Merge branch 'bugfix/use_nonblocking_coex_callback_v4.4' into 'release/v4.4'
bluetooth: use non-blocking coexistence callback functions so that Wi-Fi task is not blocked by Bluetooth(backport v4.4)

See merge request espressif/esp-idf!20779
2022-11-10 10:43:00 +08:00
morris
de7c64bcd3 Merge branch 'bugfix/rtc_periph_ulp_touch_v4.4' into 'release/v4.4'
sleep_modes: allow using touch/ULP with RTC_PERIPH domain (including EXT0 wakeup source) (v4.4)

See merge request espressif/esp-idf!19768
2022-11-10 10:19:16 +08:00
Omar Chebib
3ec5041255 I2C: Fix the reset counter 2022-11-10 02:07:21 +00:00
Eckhard Völlm
647dbdbcaf Update i2c.c
Fix issue with single bus clear counter but two I2C buses (I2C0, I2C1). The previously implemented single (static) counter would impact the second bus either if one bus has counter expiry.
Merges https://github.com/espressif/esp-idf/pull/7144
2022-11-10 02:07:21 +00:00
morris
2a719f245d Merge branch 'bugfix/i2s_tx_auto_clear_not_totally_clean_the_buf_v4.4' into 'release/v4.4'
i2s: fix tx incomplete auto clear (v4.4)

See merge request espressif/esp-idf!20571
2022-11-10 10:05:52 +08:00
morris
193d0d6b6e Merge branch 'bugfix/fix_rtc8m_calibration_fail_after_cpu_core_reset_v4.4' into 'release/v4.4'
rtc_clk: Fix rtc8m calibration failure after cpu/core reset (backport v4.4)

See merge request espressif/esp-idf!20553
2022-11-10 10:04:35 +08:00
morris
7a82764c49 Merge branch 'bugfix/rtc_function_needs_disable_usj_pads_esp32s3_v4.4' into 'release/v4.4'
rtcio: Disable USB Serial JTAG pad when setting pins 19 and 20 as RTC function on ESP32S3 (backport v4.4)

See merge request espressif/esp-idf!20551
2022-11-10 10:03:46 +08:00
Chip Weinberger
142fa78ce4 [Panic] also print to secondary USB Serial/JTAG Console 2022-11-09 23:54:44 +01:00
morris
79727b3a93 Merge branch 'bugfix/mcpwm_wrong_return_value_v4.4' into 'release/v4.4'
mcpwm: fix wrong return value in the legacy MCPWM driver (4.4)

See merge request espressif/esp-idf!20695
2022-11-09 22:49:42 +08:00
wangmengyang
b2c7f7689c bt: use non-blocking coexistence callback functions so that Wi-Fi task is not blocked by Bluetooth on ESP32 2022-11-09 19:32:01 +08:00
Ivan Grokhotkov
25719db1a9 Merge branch 'refactor/esp_lcd_panel_disp_on_off' into 'release/v4.4'
lcd: alias esp_lcd_panel_disp_on_off to esp_lcd_panel_disp_off (v4.4)

See merge request espressif/esp-idf!20949
2022-11-09 18:41:17 +08:00
Ivan Grokhotkov
f48264c68d Merge branch 'feature/usb_host_inflight_transfer_check_v4.4' into 'release/v4.4'
USB Host: Fix usbh_dev_open(), Fix usbh_ep_alloc(), Add USB Host Library check to prevent resubmitting inflight transfers (v4.4)

See merge request espressif/esp-idf!20954
2022-11-09 18:40:12 +08:00
Zim Kalinowski
2b0de33816 Merge branch 'bugfix/freertos_fpu_isr_pins_task_v4.4' into 'release/v4.4'
FreeRTOS: Fix bug where FPU usage in ISR pins the interrupted task (v4.4)

See merge request espressif/esp-idf!20627
2022-11-09 18:39:28 +08:00
Zim Kalinowski
f3c51c086c Merge branch 'bugfix/add_missing_ifdef_to_static_structs_v4.4' into 'release/v4.4'
freertos: Add missing ESP_PLATFORM preprocessor directive for FreeRTOS static data structs (v4.4)

See merge request espressif/esp-idf!20742
2022-11-09 18:38:19 +08:00
Ivan Grokhotkov
c86b6ed334 Merge branch 'contrib/github_pr_10087_v4.4' into 'release/v4.4'
fixed url to console component (GitHub PR) (v4.4)

See merge request espressif/esp-idf!20901
2022-11-09 18:34:47 +08:00
Ivan Grokhotkov
08135d4ea6 Merge branch 'bugfix/time_jump_after_reboot_v4.4' into 'release/v4.4'
esp_hw_support: Fix time jump after reboot (v4.4)

See merge request espressif/esp-idf!20907
2022-11-09 18:34:05 +08:00
Aditya Patwardhan
bdb8b487d2 Merge branch 'bugfix/http_cached_data_in_redirection_v4.4' into 'release/v4.4'
esp_http_client: free cached data in case connection gets closed for redirection (v4.4)

See merge request espressif/esp-idf!20792
2022-11-09 18:19:17 +08:00
Jiang Jiang Jian
d7ba7c3b19 Merge branch 'bugfix/fix_esprv_intc_int_set_type_err_parameter_backportv4.4' into 'release/v4.4'
bugfix: esprv_intc_int_set_type should not use bitmap parameter(backport v4.4)

See merge request espressif/esp-idf!20609
2022-11-09 18:03:25 +08:00
Jiang Jiang Jian
8ba0098492 Merge branch 'bugfix/fix_xtal_related_rtc_params_for_esp32_backport_v4.4' into 'release/v4.4'
esp32/rtc: fix xtal unstable in some cases when sleep(backport v4.4)

See merge request espressif/esp-idf!20803
2022-11-09 18:02:05 +08:00
Jiang Jiang Jian
1a06484dac Merge branch 'feature/nimble_port_init_deinit_v4.4' into 'release/v4.4'
NimBLE : Init deinit nimble stack in a loop

See merge request espressif/esp-idf!20689
2022-11-09 18:01:46 +08:00
Jiang Jiang Jian
6b5f53dcc2 Merge branch 'bugfix/esp_periph_uart_clk_gate_issues' into 'release/v4.4'
esp_system: use ESP_CONSOLE_UART_NUM instead of CONSOLE_UART_NUM

See merge request espressif/esp-idf!20942
2022-11-09 17:59:07 +08:00
Jiang Jiang Jian
770b787072 Merge branch 'bugfix/add_protection_for_mac_rst_v4.4' into 'release/v4.4'
esp_wifi: add protection for mac reset (backport 4.4)

See merge request espressif/esp-idf!20970
2022-11-09 17:58:48 +08:00
Jiang Jiang Jian
a3379e3405 Merge branch 'bugfix/fix_fast_interval_prov_adv_v4.4' into 'release/v4.4'
ble_mesh: stack: Fix send fast interval prov_adv failed(v4.4)

See merge request espressif/esp-idf!20640
2022-11-09 17:58:12 +08:00
Jiang Jiang Jian
3f3e9744ef Merge branch 'feature/Add_IVI_recovery_option_v4.4' into 'release/v4.4'
ble_mesh: stack: Add IV index recovery option when device missed the whole IV update(v4.4)

See merge request espressif/esp-idf!20642
2022-11-09 17:57:52 +08:00
Jiang Jiang Jian
6ea8717373 Merge branch 'bugfix/esp_spp_write_len_0_v4.4' into 'release/v4.4'
bt: Fixed esp_spp_write() crash when len is 0 (v4.4)

See merge request espressif/esp-idf!20705
2022-11-09 17:57:10 +08:00
Jiang Jiang Jian
f57a4e51ce Merge branch 'bugfix/update_ctrl_init_config_macro_v4.4' into 'release/v4.4'
Bugfix/update ctrl init config macro (v4.4)

See merge request espressif/esp-idf!20712
2022-11-09 17:56:42 +08:00
Jiang Jiang Jian
339e26eddd Merge branch 'bugfix/crash_in_i2s_when_reconnect_to_a2dp_v4.4' into 'release/v4.4'
fixed crash in I2S when reconnect to a2dp sink (v4.4)

See merge request espressif/esp-idf!20719
2022-11-09 17:56:14 +08:00
Jiang Jiang Jian
b07b2d529b Merge branch 'bugfix/handle_issue_of_malloc_fail_v4.4' into 'release/v4.4'
bugfix/avoid unexpected free when malloc failed (v4.4)

See merge request espressif/esp-idf!20727
2022-11-09 17:55:57 +08:00
Jiang Jiang Jian
fa83153105 Merge branch 'bugfix/fix_trans_optional_info_using_group_addr_v4.4' into 'release/v4.4'
ble_mesh: stack: Fix can't trans optional info to group address(v4.4)

See merge request espressif/esp-idf!20959
2022-11-09 17:55:27 +08:00
Jiang Jiang Jian
e55a640da4 Merge branch 'bugfix/add_security_patches_v4.4' into 'release/v4.4'
Adding security patch for SAE side channel attacks (Backport v4.4)

See merge request espressif/esp-idf!20649
2022-11-09 17:53:39 +08:00
Jiang Jiang Jian
879102ab1f Merge branch 'bugfix/reason_code_pmk_flush_v4.4' into 'release/v4.4'
Prevent pmk flush for unspecified reasoncode (v4.4)

See merge request espressif/esp-idf!20583
2022-11-09 17:53:05 +08:00
Jiang Jiang Jian
9e9f0592f8 Merge branch 'bugfix/fix_esp32_esp32c3_some_bugs' into 'release/v4.4'
Fixed BLE lld_per_adv.c line 401 assert on ESP32C3 and ESP32S3 (backport v4.4)

See merge request espressif/esp-idf!20757
2022-11-09 17:52:42 +08:00
Jiang Jiang Jian
85cc471e8e Merge branch 'bugfix/fix_esp_hid_auth_fail_crash_v4.4' into 'release/v4.4'
Fix esp hid crash when auth failed (backport v4.4)

See merge request espressif/esp-idf!20612
2022-11-09 17:51:24 +08:00
Alexey Gerenkov
d2403441a4 tools: Updates OpenOCD version to 'v0.11.0-esp32-20221026' 2022-11-09 12:51:18 +03:00
Jiang Jiang Jian
aac7947003 Merge branch 'backport/cjh_v4.4' into 'release/v4.4'
Fixed some BLE bugs on bluedroid (backport v4.4)

See merge request espressif/esp-idf!20509
2022-11-09 17:50:54 +08:00
Mahavir Jain
85dfebd0cc Merge branch 'bugfix/fix_mbedlts_ds_memory_leak_v4.4' into 'release/v4.4'
esp-tls: Fix memory leak in mbedtls ds peripheral when MBEDTLS_THREADING_C enabled (backport v4.4)

See merge request espressif/esp-idf!20596
2022-11-09 17:45:14 +08:00
Mahavir Jain
72e365bede Merge branch 'bugfix/fix_wifi_retry_v4.4' into 'release/v4.4'
wifi_provisioning: fix error codes for wifi connect retry (v4.4)

See merge request espressif/esp-idf!20717
2022-11-09 17:44:25 +08:00
morris
f7b1e32cb4 Merge branch 'bugfix/update_duty_on_tez_tep_v4.4' into 'release/v4.4'
mcpwm: update compare value on both tep and tez (v4.4)

See merge request espressif/esp-idf!20767
2022-11-09 17:41:36 +08:00
morris
70bb00afac Merge branch 'examples/fix_examples_spi_master_esp32cx_v4.4' into 'release/v4.4'
examples: fix spi master examples on esp32cxx (v4.4)

See merge request espressif/esp-idf!20663
2022-11-09 17:40:59 +08:00
morris
ac8376c225 Merge branch 'bugfix/upgrade_i2s_es8311_version' into 'release/v4.4'
es8311: upgrade to 1.0.0 on release v4.4

See merge request espressif/esp-idf!20809
2022-11-09 17:39:51 +08:00
Marius Vikhammer
9f6b0d1531 Merge branch 'bugfix/confgen_depr_header_non_vis_v4.4' into 'release/v4.4'
kconfig: fixed non-visible deprecated configs missing from sdkconfig.h (v4.4)

See merge request espressif/esp-idf!20948
2022-11-09 17:34:35 +08:00
Marius Vikhammer
628bc99ff5 Merge branch 'bugfix/s3_ulp_riscv_cocpu_trap_v4.4' into 'release/v4.4'
ulp-riscv: always force COCPU clock on S3 (v4.4)

See merge request espressif/esp-idf!20769
2022-11-09 17:34:22 +08:00
Marius Vikhammer
1c71560f35 Merge branch 'bugfix/user_loop_example_stack' into 'release/v4.4'
esp_event: increase default stack size in user_event_loop example (v4.4)

See merge request espressif/esp-idf!20682
2022-11-09 17:33:21 +08:00
Marius Vikhammer
fea51e16fc Merge branch 'docs/i2c_spec_url_v4.4' into 'release/v4.4'
docs: remove link to i2c specs (v4.4)

See merge request espressif/esp-idf!20860
2022-11-09 17:33:00 +08:00
Roland Dobai
9d2aac1daa Merge branch 'feature/upgrade-gdb' into 'release/v4.4'
tools: add GDB version '11.2_20220823' as a tool

See merge request espressif/esp-idf!20494
2022-11-09 17:32:32 +08:00
morris
0ba41b598d Merge branch 'bugfix/2nd_bootloader_uart1_baudrate_issues_v4.4' into 'release/v4.4'
esp_rom: fix 2nd bootloader custom uart1 baudrate issue (backport to v4.4)

See merge request espressif/esp-idf!20654
2022-11-09 17:32:02 +08:00
Roland Dobai
dd9e7a8b15 Merge branch 'fix/virtualenv_dir_v4.4' into 'release/v4.4'
Tools: Keep making virtual environments with python in the bin directory

See merge request espressif/esp-idf!20589
2022-11-09 17:31:24 +08:00
Ivan Grokhotkov
cc5640aef3 Merge branch 'update/version_4_4_3' into 'release/v4.4'
Update version to 4.4.3

See merge request espressif/esp-idf!21003
2022-11-09 17:29:57 +08:00
Ivan Grokhotkov
6407ecb3f8 versions: Update version to 4.4.3 2022-11-08 16:22:14 +01:00
Omar Chebib
a4df6776b6 Bluetooth: fix BSS placement in the linker script generated by ldgen 2022-11-08 14:02:31 +08:00
liuning
25abb74284 esp_wifi: add protection for mac reset (backport 4.4) 2022-11-08 11:01:51 +08:00
wangjialiang
2d3582403e ble_mesh: stack: Fix can't trans optional info to group address 2022-11-07 15:48:10 +08:00
jiangguangming
d6c783d02d esp_system: use ESP_CONSOLE_UART_NUM instead of CONSOLE_UART_NUM 2022-11-07 15:02:52 +08:00
Darian Leung
0d1bc3b2b6 usb_host: Test host library inflight transfer resubmission check
This commit updates the USB Host Library unit tests to test that resubmitting
an inflight transfer will return an error.
2022-11-07 13:52:05 +08:00
Darian Leung
1f5dc0f5a1 usb_host: Add check to prevent submitting already inflight transfers
This commit adds a simple flag/check in the USB Host Library that prevents
users from submitting a transfer that is already inflight.

- A transfer is considered inflight as soon as it is submitted by calling
usb_host_transfer_submit() or usb_host_transfer_submit_control()
- An inflight transfer remains inflight up until right before its callback
is called by one of the USB Host Library handler functions.

Closes https://github.com/espressif/esp-idf/issues/8748
2022-11-07 13:50:59 +08:00
Tomas Rezucha
87c415b11a usb_host: Fixed incorrect opening devices from multiple clients
1. During USBH device open both queues (idle and pending) must be checked.
2. Don't overwrite already allocated endpoints
2022-11-07 13:50:33 +08:00
morris
270480ff81 lcd: better name esp_lcd_panel_disp_on_off 2022-11-07 13:11:44 +08:00
Marius Vikhammer
60c07e02ad kconfig: fixed non-visible deprecated configs missing from sdkconfig.h
Non-visible configs would previously not appear in the deprecated section of the sdkconfig.h,
but non-visable configs are used in IDF (and user code) and should therefor be present.
2022-11-07 10:40:41 +08:00
jingli
ced9c9eeb6 esp_hw_support/sleep: remove redundant spinlock protection for deep sleep 2022-11-05 17:51:13 +08:00
jingli
6e7c8f18b9 hal/gpio_ll: fix digital gpio can not enable hold during deep sleep when force_unhold set(32/s2/s3) 2022-11-05 17:51:13 +08:00
jingli
87ad0e8c97 hal/gpio_ll: fix digital gpio can not disable hold during deep sleep 2022-11-05 17:51:13 +08:00
jingli
4b71ebbe49 esp_hw_support/sleep: fix current leakage when hold digital io during deep sleep 2022-11-05 17:51:08 +08:00
KonstantinKondrashov
be904e4ae9 esp_hw_support: Fix time jump after reboot
Closes https://github.com/espressif/esp-idf/issues/9448
2022-11-02 18:54:37 +08:00
beta-tester
b32fbb9a61 doc: redirect console page
Previous the console doc is moved from api-guide to api-reference, which
broken the URL as well, this commit added a redirect link to ensure the
old URL can still work.
2022-11-02 16:08:07 +08:00
xueyunfei
78021c0937 esp_wifi:bugfix sniffer mode can not capture control packet 2022-11-01 10:46:15 +08:00
xueyunfei
a165866372 Lwip:add TCP Fin2 timeout configuration
* Update submodule: git log --oneline 76303df2386902e0d7873be4217f1d9d1b50f982..6132c9755a43d4e04de4457f1558ced415756e4d

Detailed description of the changes:
  - napt: Fix clean compilation  (espressif/esp-lwip@6132c975)
  - Lwip:add TCP Fin2 timeout configuration (espressif/esp-lwip@15b4400e)
  - napt: Fix IP forwarding when forward netif enable NAPT (espressif/esp-lwip@c950063f)
  - napt/stats: Move some napt counters to stats module (espressif/esp-lwip@475d658a)
  - ip_napt_maint: Fix timestamp overflow handling (espressif/esp-lwip@2e904508)
  - napt: Fixes and improvements (espressif/esp-lwip@fb1f3552)
2022-11-01 10:46:15 +08:00
xueyunfei
8ddc482f28 lwip:bugfix for increase ping task stack size 2022-11-01 10:46:09 +08:00
Michael (XIAO Xufeng)
07253938a6 Update components/esp_hw_support/include/esp_sleep.h 2022-10-31 16:06:44 +08:00
Michael (XIAO Xufeng)
37cd376957 sleep_modes: allow using touch/ULP with RTC_PERIPH domain (including EXT0 wakeup source) 2022-10-31 16:06:43 +08:00
Marius Vikhammer
9099608602 docs: remove link to i2c specs 2022-10-31 11:56:25 +08:00
laokaiyao
af35a6adbb es8311: upgrade to 1.0.0 2022-10-27 17:21:32 +08:00
Guillaume Souchere
75e1c4d0fb heap: Update host tests after incorporation of the new TLSF implementation 2022-10-27 09:36:17 +02:00
Guillaume Souchere
d4de73cd2c heap: update the calculation of fl index max and use bitfield in control_t
The calculation of fl index max is changed to always be the smallest
number that includes the size of the registered memory.

The control_construct() function now checks for minimum size as the control structure
parameters are calculated.

There is no longer a minimum configuration for fl index max so the tlsf_config
enum is striped down to remove unecessary compile time values.

the tlsf_size() function will fail if no tlsf pointer is passed as parameter since there
is no way to calculate a default tlsf size anymore.

bitfields are now used in control_t when possible which reduces the size of the structure
from 56 bytes to 36 bytes.
2022-10-27 09:36:17 +02:00
David Cermak
1459711ef8 mqtt: Fix keepalive with esp-timer; clean close SM (v4.4)
* Fixes keepalive calculation to use esp-timer (previously used system
timer that might get updated by  NTP sync and failing keepalive
mechanism)
* Fixes start() -> stop() -> start() client's transitions, due to
wrong state of stopped client (could endup in WAIT_RECONNECT state and
thus never allowed to be started again)
* Update submodule: git log --oneline 60983d1dd54196b1e3f399c6f928d77256ec742a..bb9c8af9d552b608dd3aabf9617bde757a538ebe

Detailed description of the changes:
* Backport Moves state change when stopping the client
  - See merge request espressif/esp-mqtt!151
  - Closes https://github.com/espressif/esp-mqtt/issues/239
  - Moves state change when stopping the client (espressif/esp-mqtt@af58f5f)
* fix: MQTT tick not starting on connect and switch to esp_timer
  - See merge request espressif/esp-mqtt!146
  - Closes https://github.com/espressif/esp-idf/issues/9492
  - See commit https://github.com/espressif/esp-mqtt/commit/166741f
* ci: Fix CI build using public IDF images
  - See merge request espressif/esp-mqtt!148
  - See commit https://github.com/espressif/esp-mqtt/commit/530fe3a

Closes https://github.com/espressif/esp-idf/issues/9492
2022-10-26 19:37:21 +02:00
xiongweichao
c4fd19c144 bt: Fixed SPP VFS mode not being able to send data 2022-10-26 16:43:49 +08:00
jingli
83fe7a5a59 esp_hw_support/sleep: fix light sleep wakeup flag
light sleep wakeup flag is true to indicate the most recent successful wakeup from light sleep,
which means the most recent light sleep occurred successfully and then wakes up by wakeup source
2022-10-26 16:33:43 +08:00
jingli
77ba6c38ec esp32/rtc: fix xtal unstable in some cases when sleep
1. add xtal buf wait to fix high temperature restart issue
2. add min sleep value to fix xtal stop due to too short sleep time issue
2022-10-26 16:31:04 +08:00
Mahavir Jain
62884dae3a esp_http_client: free cached data in case connection gets closed for redirection
In case of `esp_http_client_read` based workflow, we cache data that is received
during fetch header stage. In case, there is URL redirection and we have to close
the connection on URL, port change then we must discard earlier cached data.

Closes AUD-4158
2022-10-26 10:11:33 +05:30
Marius Vikhammer
4acfe1a91a ulp-riscv: always force COCPU clock on S3
The coprocessor cpu trap signal doesnt have a stable reset value,
force ULP-RISC-V clock on to stop RTC_COCPU_TRAP_TRIG_EN from waking the CPU
2022-10-25 13:51:04 +08:00
morris
79ee98e229 mcpwm: update compare value on both tep and tez
Closes https://github.com/espressif/esp-idf/issues/9904
2022-10-25 13:20:41 +08:00
zwj
290a6c8ade allow bluedroid host to report adv_ind separately 2022-10-24 19:28:23 +08:00
zwj
94c74bd866 Fixed BLE lld_per_adv.c line 401 assert 2022-10-24 19:27:56 +08:00
zwj
d2ebe4e7bb Fixed ESP32 BLE assert(32 0) 2022-10-24 19:27:32 +08:00
Sudeep Mohanty
06cad10ec0 freertos: Add missing ESP_PLATFORM preprocessor directive for FreeRTOS static data structs (v4.4)
This commit adds the missing ESP_PLATFORM preprocessor directive to
static data structures to wrap the extra variable added for SMP locks.

Closes https://github.com/espressif/esp-idf/issues/9785
2022-10-21 11:25:23 +02:00
tgotic
dc059fe2ee [bt] fix if allocation fails
If osi_malloc fails for work_queues or osi_work_queue_create fails, osi_work_queue_delete in _err may release unallocated memory.
2022-10-21 14:45:25 +08:00
Jin Cheng
e59ec7e597 fixed crash in I2S when reconnect to a2dp sink 2022-10-21 14:11:27 +08:00
Harshit Malpani
04e24078d9 wifi_provisioning: fix error codes for wifi connect retry
Closes: https://github.com/espressif/esp-idf/issues/9399
2022-10-21 11:33:12 +05:30
Evan Neidler
1f2e831ad2 Update #define BT_CONTROLLER_INIT_CONFIG_DEFAULT().
Corrects header names in string from "bt.h" to "esp_bt.h".
2022-10-21 12:02:51 +08:00
xiongweichao
b35c2f9794 bt: Fixed esp_spp_write() crash when len is 0
Closes https://github.com/espressif/esp-idf/issues/9977
2022-10-21 11:18:25 +08:00
morris
8b352e1da9 mcpwm: fix wrong return value in the legacy driver
For APIs that not return esp_err_t value, we can't use macros like
ESP_RETURN_ON_xxx
2022-10-20 18:24:58 +08:00
Jiang Jiang Jian
755ce1077d Merge branch 'bugfix/backup_dma_stall_when_sw_rst_v4.4' into 'release/v4.4'
backport v4.4: force clear reset signal to fix the backup dma operation failure...

See merge request espressif/esp-idf!20634
2022-10-20 17:06:58 +08:00
isha.pardikar@espressif.com
51023425d2 NimBLE : Init deinit nimble stack in a loop 2022-10-19 23:13:27 +05:30
Marius Vikhammer
126ae145ec esp_event: increase default stack size in user_event_loop example
Example would trigger a stack overflow on S3.

Closes https://github.com/espressif/esp-idf/issues/10008
2022-10-19 18:01:11 +08:00
wanlei
e4aaf10ff0 examples: support spi master lcd examples on esp32s3 2022-10-19 17:03:54 +08:00
Jiang Jiang Jian
ee882708f8 Merge branch 'bugfix/fix_ignore_rx_sub_ampdu_int_issue_v4.4' into 'release/v4.4'
esp_wifi: fix ignore rx sub ampdu interrupt issue(Backport v4.4)

See merge request espressif/esp-idf!20604
2022-10-18 15:52:55 +08:00
jiangguangming
ca5ee54424 esp_rom: fix 2nd bootloader custom uart1 baudrate issue 2022-10-18 14:01:31 +08:00
Darian Leung
d61715ab9a freertos: Backport FPU tests from master to v4.4
This commit combines and backports the FPU unit tests updates of the following
commits:

423fb361e7
d69361779e
2022-10-17 23:31:18 +08:00
Darian Leung
f08c4b823f freertos: Fix FPU ISR core pinning bug
This commit fixes a bug where if an unpinned task is interrupted by a level 1
ISR that users the FPU, the FPU usage will cause the interrupted task to
become pinned to the current core.

Note: This bug was already fixed in SMP FreeRTOS in commit
d6936177. This commit simply backports the fix to IDF FreeRTOS.
2022-10-17 23:31:18 +08:00
gauri patankar
aceeff0b09 wpa_supplicant: Update security patches from upstream
1. Adding security patch for SAE side channel attacks
2. Adding confirm message validation in error cases
3. Adding y coordinate for PWE in SAE
2022-10-17 17:57:14 +05:30
gauri patankar
c2af28ddce wpa_supplicant: Move SAE modules into dragonfly files 2022-10-17 17:54:02 +05:30
Jiang Jiang Jian
3047225a9f Merge branch 'bugfix/fix_c3_dig_dibas_limit_bug_to_v4.4' into 'release/v4.4'
C3: Fix system not stable bug when dbias storing in efuse is bigger than 27 (v4.4)

See merge request espressif/esp-idf!20498
2022-10-17 17:58:38 +08:00
wangjialiang
f1e7252d4d ble_mesh: stack: Add IV index recovery option when device missed the whole IV update 2022-10-17 16:52:53 +08:00
wangjialiang
45a3ec7983 ble_mesh: stack: Fix send fast interval prov_adv failed when PB-ADV and PB-GATT enable simultaneously 2022-10-17 16:39:16 +08:00
Yuan Hong Hui
fc82b36847 ble_mesh:example:change the method of get model 2022-10-17 03:54:17 +00:00
Li Shuai
dbf1241ae2 backup dma: force clear reset signal to fix the backup dma operation failure caused by RTC_SW_CPU_RST 2022-10-17 11:07:51 +08:00
Jiang Jiang Jian
2fc0bb7b2a Merge branch 'bugfix/close_stack_callback_during_ble_stop_v4.4' into 'release/v4.4'
Nimble: Added check to deregister stack callback with controller during stack deinit(v4.4)

See merge request espressif/esp-idf!20450
2022-10-14 17:52:07 +08:00
chenjianhua
d62b9505e3 fix esp hid crash when auth failed 2022-10-14 15:57:52 +08:00
wuzhenghui
0fd3824f91 bugfix: esprv_intc_int_set_type should not use bitmap parameter 2022-10-14 15:33:53 +08:00
muhaidong
4391e369d2 esp_wifi: fix ignore rx sub ampdu interrupt issue 2022-10-14 14:29:38 +08:00
Roland Dobai
8f10a7ad8c Tools: Keep making virtual environments with python in the bin directory
On Ubuntu 22.04 virtualenv with the latest setuptools produces
environments with Python in "local/bin" instead of "bin" (see
https://github.com/pypa/virtualenv/issues/2350).

Closes https://github.com/espressif/esp-idf/issues/9931
2022-10-13 15:10:53 +02:00
yuanjianmin
1cb47a2f3b esp-tls: Fix memory leak in mbedtls ds peripheral when MBEDTLS_THREADING_C enabled 2022-10-13 19:37:18 +08:00
Kapil Gupta
f2a9d457e0 Remove unnecessary code from disconnect handler 2022-10-13 12:14:20 +05:30
Kapil Gupta
722ed6cbc6 wpa_supplicant: Prevent pmk flush for unspecified reasoncode 2022-10-13 12:14:20 +05:30
Jiang Jiang Jian
488c79a003 Merge branch 'bugfix/fix_connect_fail_when_enable_SPIRAM_v4.4' into 'release/v4.4'
esp_wifi: fix connect fail when enable SPIRAM and ESPNOW send (backport v4.4)

See merge request espressif/esp-idf!20445
2022-10-13 14:20:11 +08:00
laokaiyao
4853d6319e i2s: fix tx incomplete auto clear
Closes: https://github.com/espressif/esp-idf/issues/9882
2022-10-12 19:53:58 +08:00
Song Ruo Jing
883e54aa71 rtc_clk: Fix rtc8m calibration failure after cpu/core reset
Explicitly guarantee 8md256 clk is enabled before calibration
2022-10-12 12:33:47 +08:00
Song Ruo Jing
5f5ce49ff6 rtcio: Disable USB Serial JTAG pad when setting pins 19 and 20 as RTC function on ESP32S3
Similar to the fix in gpio lower layers, USB Serial JTAG pad should be disabled when the DM and DP pins want to be used as rtcio pins.

(cherry picked from commit de0401047c)
2022-10-12 12:00:05 +08:00
Alexey Lapshin
a5a4543faf tools: add GDB version '11.2_20220823' as a tool
GDB now is standalone tool separated from toolchain due to frequent updates.

Added installation tests for the new tool.

Coredump tests are changed because they were wrong, see explanation:
esp32 objdump:
    40084290 <esp_crosscore_int_send_yield>:
    ......
    /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:145
    4008429c:    000090            retw

With previous GDB backtrace was:
    #0  0x4008429c in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144

This commit fixes the backtrace with the right line number:
    #0  0x4008429c in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:145

Other tests changes have the same cause of fixing.

Closes https://github.com/espressif/esp-idf/issues/6334
2022-10-10 18:43:27 +04:00
zhangyanjiao
ab3238ec0e esp_wifi: fix connect fail when enable SPIRAM 2022-10-10 17:30:24 +08:00
chenjianhua
cd92bad84a bluedroid: configurable max gattc cache characteristic count 2022-10-09 16:27:54 +08:00
chenjianhua
bec6de98c4 fix ble adv tx power map 2022-10-09 16:27:06 +08:00
chenjianhua
38d1250788 bluedroid: fix ble rpa generate and update by host 2022-10-09 16:25:17 +08:00
chenjianhua
cfc85ac1c6 Revert "component/bt: add local irk to controller"
This reverts commit 95c35288bc.
2022-10-09 16:23:24 +08:00
chenjianhua
f943f37927 Revert "Fixed ESP32 BLE can't resolve the peer address when enable white list"
This reverts commit 1cc0f6aac5.
2022-10-09 16:16:59 +08:00
chenjianhua
83c9d18309 Bluedroid: Configurable option to modify max gatt service attributes count 2022-10-09 16:13:20 +08:00
cje
c34e900969 fix C3 system not stable bug when dbias storing in efuse is bigger than 27 2022-10-08 11:55:26 +08:00
Rahul Tank
e7db4ff5ec Nimble: Added check to deregister stack callback with controller during
stack deinit
2022-10-06 09:44:45 +05:30
Cao Sen Miao
b601dd3b24 re-enable some dummy based HPM flash chips 2022-09-30 11:29:43 +08:00
Cao Sen Miao
f28f75a46b spi_flash: Add several flash chips HPM(120M) support 2022-09-30 11:15:34 +08:00
Jiang Jiang Jian
9269a536ac Merge branch 'bugfix/fix_deinit_return_ok_when_wifi_no_longer_initialized_issue_v4.4' into 'release/v4.4'
esp_wifi: fix fail to scan after recv disassoc/deauth for esp32s2(Backport v4.4)

See merge request espressif/esp-idf!20410
2022-09-29 19:20:48 +08:00
wangyuanze
b0c38d5392 spi_flash: fix hpm dummy error when using 80m flash and psram 2022-09-29 17:17:38 +08:00
Cao Sen Miao
b0ceb22bef spi_flash: remove xmc hpm support, because there is some compatible issue with ROM,
Closes https://github.com/espressif/esp-idf/issues/8560
2022-09-29 16:37:29 +08:00
Cao Sen Miao
4074221540 spi_flash: Fix bug that in bootloader dummy is 0 when mosi is 0 2022-09-29 16:37:29 +08:00
Cao Sen Miao
0347d96124 spi_flash: Add documents for flash optional features 2022-09-29 16:37:29 +08:00
Cao Sen Miao
6c9c1f72bd spi_flash: Building a framework to enable HPM when flash works under high speed mode 2022-09-29 16:37:29 +08:00
Mahavir Jain
e85c5822a2 Merge branch 'bugfix/add_so_linger_to_httpd_config_v4.4' into 'release/v4.4'
esp_http_server: Add struct linger in httpd_config_t (v4.4)

See merge request espressif/esp-idf!20359
2022-09-29 16:04:06 +08:00
Roland Dobai
d7bad4ac1d Merge branch 'bugfix/esptool_secure_boot_signing_key_path_v4.4' into 'release/v4.4'
esptool: (re)populate the secure boot signing key path (v4.4)

See merge request espressif/esp-idf!20423
2022-09-29 15:15:32 +08:00
Mahavir Jain
b62b197cd3 esptool: (re)populate the secure boot signing key path
For project with reduced component list, secure boot signing key
path was not getting correctly. This change sets the secure boot
signing key path explicitly based on the relevant config option.

Closes https://github.com/espressif/esp-idf/issues/9578
Close IDFGH-8075
2022-09-29 10:09:32 +05:30
Jiang Jiang Jian
3911a1b8e7 Merge branch 'feature/support_7.2.8_soc/pvt_dig_v4.4' into 'release/v4.4'
ESP32S3:support auto adjust LDO voltage based on pvt-dig(backport 4.4)

See merge request espressif/esp-idf!20249
2022-09-29 11:07:55 +08:00
zlq
b44530f188 1.add ldo parameters in efuse table; 2.set ldo based on pvt-efuse; 3.ldo voltage is changed based on cpu freq 2022-09-29 03:16:49 +08:00
muhaidong
7f2d6e96b4 esp_wifi: fix deinit return wrong value
1. Deinit does not return ESP_ERR_WIFI_NOT_INIT if the wifi driver is no longer initialized.
2. Fix get wrong channel value use esp_wifi_get_config.
3. Fix bug of missing unlock when wifi stop.
4. Fix annotation error of api esp_wifi_connect.
2022-09-28 18:09:56 +08:00
liuning
2c8f83ec72 esp_wifi: fix fail to scan after recv disassoc/deauth for esp32s2
esp_wifi: sync peripheral device reg base
2022-09-28 18:09:03 +08:00
Michael (XIAO Xufeng)
268718b7b4 Merge branch 'bugfix/fix_uart_fake_tx_done_v4.4' into 'release/v4.4'
uart: Fix unwanted processing of TX_DONE interrupt immediately after calling uart_wait_tx_done() (backport v4.4)

See merge request espressif/esp-idf!20314
2022-09-28 16:45:03 +08:00
Jiang Jiang Jian
cc841ae9c0 Merge branch 'bugfix/fast_scan_profile_issue_v4.4' into 'release/v4.4'
Fix repeated scans causing bss overwrite in connect process (Backport v4.4)

See merge request espressif/esp-idf!19858
2022-09-28 16:35:39 +08:00
Jiang Jiang Jian
e53ea6c776 Merge branch 'bugfix/acl_buf_ocf_and_conn_fail_v4.4' into 'release/v4.4'
bugfix/fixed the exhaustion of ACL buffer and duplicated connection requests (v4.4)

See merge request espressif/esp-idf!20384
2022-09-28 16:31:38 +08:00
Jiang Jiang Jian
12ee73b16a Merge branch 'bugfix/fix_ble_disconnect_due_to_channel_map_instant_passed_v4.4' into 'release/v4.4'
Fixed BLE disconnection issue when channel map update failed due to bad channels(backport v4.4)

See merge request espressif/esp-idf!20376
2022-09-28 16:24:58 +08:00
morris
5eadda3a35 Merge branch 'feature/optimize_rgb_lcd_draw_bitmap_v4.4' into 'release/v4.4'
rgb_lcd: optimise rgb_panel_draw_bitmap (v4.4)

See merge request espressif/esp-idf!20361
2022-09-28 14:55:50 +08:00
Mahavir Jain
5e2c14b40b Merge branch 'bugfix/wifi_prov_device_name_v4.4' into 'release/v4.4'
wifi_provisioning : Increased 1 byte of BLE advertising device name to store '\0' (v4.4)

See merge request espressif/esp-idf!20374
2022-09-28 13:42:24 +08:00
Yuan Hong Hui
cc27c90b8c ble_mesh:example:fix memory leak 2022-09-28 03:51:33 +00:00
morris
b992d3b4f8 Merge branch 'doc/usj_sw_reset_alive_bbpll_doc_v4.4' into 'release/v4.4'
usb_serial_jtag: fixed the docs that we can use usj in sleep modes (v4.4)

See merge request espressif/esp-idf!20288
2022-09-28 11:49:47 +08:00
Jin Cheng
339eca61ad fixed the exhaustion of ACL buffer
fixed the duplication of connection request from the same device
2022-09-28 10:12:29 +08:00
cjin
403bff2a2b fix err using rpa for confirmation calculation 2022-09-27 19:32:26 +08:00
cjin
b063151c4b fix on data len change cmd malfunction 2022-09-27 19:32:11 +08:00
zwj
358a03e844 Fixed extend adv tx power range error 2022-09-27 19:30:06 +08:00
zwj
cac46cb107 update BLE lib for ESP32C3 and ESP32S3
Fixed BLE disconnection issue when channel map update failed due to bad channels
2022-09-27 19:24:58 +08:00
Roland Dobai
b86e91ac55 Merge branch 'fix/ci_macos_idf_env_json_v4.4' into 'release/v4.4'
CI: Clean-up idf-env.json which might not compatible with newer versions (v4.4)

See merge request espressif/esp-idf!20367
2022-09-27 19:00:57 +08:00
Roland Dobai
113b558006 Merge branch 'refactor/editorconfig_remove_freertos_tabs_4.4' into 'release/v4.4'
editorconfig: Removed FreeRTOS tab rule (backport 4.4)

See merge request espressif/esp-idf!20369
2022-09-27 18:54:58 +08:00
Isha Pardikar
a78a36e7b9 wifi_provisioning : Increased 1 byte of BLE advertising device name to store '\0', at the end, to ensure we adhere to the max name length as per spec. 2022-09-27 16:09:11 +05:30
morris
2dd6a166b9 Merge branch 'feat/essl_extra_component_v4.4' into 'release/v4.4'
sdio/example: fixed the essl return value issue (v4.4)

See merge request espressif/esp-idf!20345
2022-09-27 18:33:06 +08:00
Jakob Hasse
4445da6232 refactor(editorconfig): Removed FreeRTOS tab rule
FreeRTOS used tabs before, but changed to spaces now.
This hasn't been reflected in the editorconfig file
and is fixed now.
2022-09-27 11:49:29 +02:00
Roland Dobai
4e5a8942a1 CI: Clean-up idf-env.json which might not compatible with newer versions 2022-09-27 16:21:14 +07:00
morris
6f87740bbe Merge branch 'bugfix/fixed_gap_in_i2s_adc_dac_output' into 'release/v4.4'
i2s_example: fixed i2s_adc_dac output gap (v4.4)

See merge request espressif/esp-idf!20320
2022-09-27 15:49:17 +08:00
Roland Dobai
c8ce38e60c Merge branch 'bugfix/missing_idfSelectedId' into 'release/v4.4'
Tools: bugfix wrong format of idf-env.json, KeyError: 'idfSelectedId'

See merge request espressif/esp-idf!20327
2022-09-27 15:22:36 +08:00
morris
741d35d528 rgb_lcd: added yuv converter LL driver 2022-09-27 13:42:56 +08:00
morris
e66a72b452 rgb_lcd: workaround pclk polarity bug by setting mo>=2 2022-09-27 13:22:18 +08:00
morris
72a25862a1 rgb_lcd: support PLL240MHz clock source 2022-09-27 13:20:51 +08:00
Harshit Malpani
efed5ee33f esp_http_server: Add linger in httpd_config_t
Closes: https://github.com/espressif/esp-idf/issues/9514
2022-09-27 10:10:16 +05:30
TDA2030
30ab6a9246 rgb_lcd: optimise rgb_panel_draw_bitmap
by using memcpy instead of coping in a nested for loop
2022-09-27 10:36:41 +08:00
morris
3a6831b1b4 rgb_lcd: support fractional clock divisor 2022-09-27 10:27:36 +08:00
Mahavir Jain
cc74a9bf39 Merge branch 'bugfix/fix_socket_leak_v4.4' into 'release/v4.4'
esp-tls: socket will be set to -1 and will not be closed (backport v4.4)

See merge request espressif/esp-idf!20351
2022-09-26 22:28:51 +08:00
Nachiket Kukade
eb5f70b6fb esp_wifi: Update wifi libs
Fix scan causing bss overwrite in connect process
2022-09-26 18:52:57 +05:30
Michael (XIAO Xufeng)
5514cee480 sdio/example: fixed the essl return type issue 2022-09-26 19:40:37 +08:00
Marek Fiala
640f1c844b Tools: bugfix wrong format of idf-env.json, KeyError: 'idfSelectedId'
Closes https://github.com/espressif/esp-idf/issues/9837
2022-09-26 13:36:16 +02:00
Yuan Jian Min
c1429bbeeb esp-tls: socket will be set to -1 and will not be closed 2022-09-26 19:23:32 +08:00
Jiang Jiang Jian
ae263f1bc8 Merge branch 'feature/sink_support_mono_v4.4' into 'release/v4.4'
bt: Fixed sink not being able to output mono audio because it can only decode dual channel audio data(v4.4)

See merge request espressif/esp-idf!20077
2022-09-26 17:47:31 +08:00
Jiang Jiang Jian
d1113747e7 Merge branch 'bugfix/fix_set_country_code_before_wifi_start_issue_v4.4' into 'release/v4.4'
Bugfix/fix set country code before wifi start issue v4.4(Backport v4.4)

See merge request espressif/esp-idf!20095
2022-09-23 17:49:55 +08:00
laokaiyao
3427867e70 i2s_example: fixed i2s_adc_dac output gap
Closes: https://github.com/espressif/esp-idf/issues/9389
2022-09-23 17:31:20 +08:00
Song Ruo Jing
5a969b91a8 uart: Fix unwanted processing of TX_DONE interrupt immediately after calling uart_wait_tx_done()
In previous transmission(s), the TX_DONE interrupt raw bit may be raised, but never been cleared.
TX_DONE interrrupt status bit should be cleared before enabling it to check the new transmission.

Introduced in 4e09d147b11ed8a094b5858642c9f60d658ef656
2022-09-23 16:10:53 +08:00
morris
60d6ad326e Merge branch 'bugfix/spi2_add_device_cs_more_than_3_v4.4' into 'release/v4.4'
spi_master:fix error when use `spi_bus_add_device` more than 3 device(v4.4)

See merge request espressif/esp-idf!20126
2022-09-23 11:20:17 +08:00
morris
e833fb0c30 Merge branch 'bugfix/tinyusb_corrected_typo_naming_of_acm_v4.4' into 'release/v4.4'
tinyusb: fix typo naming of ACM (backport v4.4)

See merge request espressif/esp-idf!20299
2022-09-23 09:30:45 +08:00
Michael (XIAO Xufeng)
7d4b99984d Merge branch 'bugfix/twai_isr_iram_v4.4' into 'release/v4.4'
hal: fix CONFIG_TWAI_ISR_IN_IRAM for C3, hide TWAI menu for C2 (v4.4)

See merge request espressif/esp-idf!20092
2022-09-23 02:25:26 +08:00
David Čermák
9aa7c83e19 Merge branch 'bugfix/mqtt_enqueue' into 'release/v4.4'
[mqtt] Fix esp_mqtt_client_enqueue for len=0 (v4.4)

See merge request espressif/esp-idf!20230
2022-09-22 21:49:46 +08:00
Roland Dobai
8d53799e2e Merge branch 'feature/update_esptool_v3' into 'release/v4.4'
feat(esptool): Update to v3.3.2 in IDF v4.4

See merge request espressif/esp-idf!20257
2022-09-22 21:37:12 +08:00
jiangguangming
36d973a5e5 tinyusb: fix typo naming of ACM 2022-09-22 20:33:31 +08:00
radim.karnis
f40364e2f3 feat(esptool): Update to v3.3.2 2022-09-22 10:26:09 +02:00
Michael (XIAO Xufeng)
06a52bf770 usb_serial_jtag: fixed the docs that we can use usj in sleep modes
Related to: https://github.com/espressif/esp-idf/issues/8507, https://github.com/espressif/esp-idf/issues/8884
2022-09-22 15:37:32 +08:00
morris
c407e69246 Merge branch 'refactor/add_description_to_touch_pad_set_meas_time_v4.4' into 'release/v4.4'
touch_sensor: add description to distinguish the API on different target (v4.4)

See merge request espressif/esp-idf!20242
2022-09-22 14:51:41 +08:00
Island
3ea96f0e22 Merge branch 'bugfix/relay_friend_cred_message_v4.4' into 'release/v4.4'
ble_mesh: stack: Fix friend relay lpn message when relay disable(v4.4)

See merge request espressif/esp-idf!20204
2022-09-22 14:17:25 +08:00
Jiang Jiang Jian
ac0ef933ff Merge branch 'ci/optimize_ats_ci_flow_v4.4' into 'release/v4.4'
CI: optimize ATS ci flow (v4.4)

See merge request espressif/esp-idf!20175
2022-09-22 14:11:56 +08:00
morris
3247fa9374 Merge branch 'bugfix/fix_spi_bus_lock_concurrency_issue_v4.4' into 'release/v4.4'
spi_bus_lock: fix a concurrency issue (v4.4)

See merge request espressif/esp-idf!20138
2022-09-22 13:33:31 +08:00
laokaiyao
5c57f9c884 touch_sensor: add description to distinguish the API on different target
Closes https://github.com/espressif/esp-idf/issues/9067
2022-09-22 10:31:08 +08:00
morris
08fa67fe92 Merge branch 'bugfix/i2s_receive_data_lost_v4.4' into 'release/v4.4'
i2s: fix message queue overflow condition (v4.4)

See merge request espressif/esp-idf!20209
2022-09-21 22:01:12 +08:00
Euripedes Rocha
2f23432c00 [mqtt] Fix esp_mqtt_client_enqueue for len=0
Detailed description of the changes:
* [Backport] mqtt_client: fix esp_mqtt_client_enqueue for len=0
  - See merge request espressif/esp-mqtt!144
  - mqtt_client: fix esp_mqtt_client_enqueue for len=0
    (espressif/esp-mqtt@e918742)

Closes https://github.com/espressif/esp-idf/issues/9719
2022-09-21 13:42:32 +02:00
morris
1b70a08cc9 Merge branch 'bugfix/fix_xtal32k_error_detect_backport_v4.4' into 'release/v4.4'
esp_hw_support/clk_cali: fix xtal32k error detect(backport v4.4)

See merge request espressif/esp-idf!20276
2022-09-21 19:11:14 +08:00
Ivan Grokhotkov
17214c2db6 hal: fix CONFIG_TWAI_ISR_IN_IRAM not taking effect for C3/H2 2022-09-21 08:35:54 +00:00
David Čermák
c6fd8752b0 Merge branch 'examples/tls_removed_deprecated_version_v4.4' into 'release/v4.4'
test_apps: removed verification of TLS v1.1 (v4.4)

See merge request espressif/esp-idf!19290
2022-09-21 16:35:40 +08:00
jingli
9a61a07fd8 esp_hw_support/clk_cali: remove redundant check for cali value 2022-09-21 15:13:22 +08:00
jingli
13984c0a79 esp_hw_support/clk_cali: fix xtal32k error detect 2022-09-21 15:11:04 +08:00
Island
7d4d75c507 Merge branch 'doc/support_micro_def' into 'release/v4.4'
Support of Micro definition in header file

See merge request espressif/esp-idf!20071
2022-09-21 13:53:53 +08:00
Zim Kalinowski
d805d2ad5a Merge branch 'bugfix/clobbering_freertos_base_priority_v4.4' into 'release/v4.4'
spi_flash: fix issue linked with raising of task priority while priority is already raised (v4.4)

See merge request espressif/esp-idf!20026
2022-09-21 13:11:35 +08:00
Michael (XIAO Xufeng)
0f630acf43 Merge branch 'bugfix/spi_hd_quad_issue_4.4' into 'release/v4.4'
SPI : fix wrong dummy cycle on quad mode and put get-command function in spi_ll.h(backport v4.4)

See merge request espressif/esp-idf!19816
2022-09-21 12:06:40 +08:00
morris
af62cfc8a2 Merge branch 'bugfix/fix_ledc_timer_update_usage_v4.4' into 'release/v4.4'
ledc: Fix the usage of ledc_ls_timer_update and ledc_timer_rst (backport v4.4)

See merge request espressif/esp-idf!20241
2022-09-21 11:40:27 +08:00
wangjialiang
bf9b44f7fc ble_mesh: stack: Fix friend relay lpn message when relay disable. 2022-09-21 03:39:56 +00:00
Island
4b8915d7af Merge branch 'bugfix/lpn_not_recv_message_to_all_node_4.4' into 'release/v4.4'
ble_mesh: stack: Add option for lpn auto sub all-nodes(v4.4)

See merge request espressif/esp-idf!20264
2022-09-21 11:31:55 +08:00
morris
7cedbfabdf Merge branch 'bugfix/gpio_usb_pin_pupd_v4.4' into 'release/v4.4'
gpio: fix USB D+ pin cannot disable pullup (backport v4.4)

See merge request espressif/esp-idf!20251
2022-09-21 11:28:36 +08:00
Island
b9bd4df2d6 Merge branch 'support/readme_esp32s3_bluedroid_examples_v4.4' into 'release/v4.4'
Added ESP32-S3 in README Bluedroid examples (v4.4)

See merge request espressif/esp-idf!20224
2022-09-21 10:39:44 +08:00
wangjialiang
e4df3e2ad7 ble_mesh: stack: Add option for lpn auto sub all-nodes. 2022-09-20 20:30:08 +08:00
Anton Maklakov
3531585522 Merge branch 'feature/update-GCC-Toolchain-to-esp-2021r2-patch5-8.4.0' into 'release/v4.4'
tools: update GCC-Toolchain version to 'esp-2021r2-patch5-8.4.0' for IDF-v4.4

See merge request espressif/esp-idf!20186
2022-09-20 20:25:02 +08:00
songruojing
4bee8a84e2 gpio: fix USB D+ pin cannot disable pullup
Internally, disable usb serial jtag DP pin's pullup when calling gpio_ll_pullup_dis and rtcio_ll_pullup_disable
At usb serial jtag setup/install, re-enable DP pin's pullup

Closes https://github.com/espressif/esp-idf/issues/9495
2022-09-20 15:23:01 +08:00
Guillaume Souchere
a1ca11551f Revert "tlsf control's structure should remain opaque"
This reverts commit 7010314c4a.
2022-09-20 08:58:04 +02:00
Philippe
6dae07d137 add host test with multiple heap size 2022-09-20 07:55:24 +02:00
satish.solanke
bb6f2ca740 Support of Micro defination in header file 2022-09-20 11:07:06 +05:30
KonstantinKondrashov
9c830297b9 freertos: Adds new APIs to set/get and restore base priority
Closes https://github.com/espressif/esp-idf/issues/7580
2022-09-20 05:00:13 +00:00
Marius Vikhammer
c070c58ef3 Merge branch 'ci/app_type_elf_reduce_ram_v4.4' into 'release/v4.4'
CI: reduce memory footprint for "Loadable ELF build" (v4.4)

See merge request espressif/esp-idf!20227
2022-09-20 12:57:53 +08:00
Song Ruo Jing
9bd20fc2ca ledc: Fix the usage of ledc_ls_timer_update and ledc_timer_rst
ledc_ls_timer_update is required only when CLK_DIV and DUTY_RES bits are changed.
Calling ledc_timer_rst while re-configure PWM frequency through ledc_set_freq can cause glitch in the signal
2022-09-20 11:52:57 +08:00
Philippe
ffcc115e8b clarify parameter usage in tslf_create 2022-09-19 14:31:47 +02:00
Philippe
7010314c4a tlsf control's structure should remain opaque 2022-09-19 14:31:05 +02:00
Philippe
8325aff3c9 dynamic control block per heap 2022-09-19 14:28:11 +02:00
Marius Vikhammer
4f971a0cf5 CI: reduce memory footprint for "Loadable ELF build"
Build test was failing due to IRAM overflow, building with the recommended
options for reducing memory footprint should give us some breathing room.
2022-09-19 17:22:30 +08:00
Marius Vikhammer
1d9f539f22 Merge branch 'bugfix/light_sleep_deadlock_v4.4' into 'release/v4.4'
esp_hw_support: Fix light sleep deadlock (v4.4)

See merge request espressif/esp-idf!19516
2022-09-19 16:33:19 +08:00
muhaidong
cd5ffbf44b docs: update wifi country code docs. 2022-09-19 15:22:57 +08:00
muhaidong
2a72036337 esp_wifi: add small UT for country code 2022-09-19 15:22:57 +08:00
muhaidong
2dff79510d esp_wifi: fix disconnect after set country issue 2022-09-19 15:20:29 +08:00
satish.solanke
8ae535cdc5 Added ESP32-S3 in README Bluedroid examples (v4.4) 2022-09-19 12:47:49 +05:30
gabsuren
b0a5b100ea test_apps: Removed verification of TLS v1.1 2022-09-19 09:13:42 +04:00
laokaiyao
2da3035b52 doc: add application notes for i2s 2022-09-19 12:03:08 +08:00
Jiang Jiang Jian
2f929685fc Merge branch 'bugfix/fix_send_eapol_key_request_frame_when_wpa_group_handshake_issue_v4.4' into 'release/v4.4'
wpa_supplicant: try install gtk before send 2 of 2(Backport v4.4)

See merge request espressif/esp-idf!20201
2022-09-19 10:58:59 +08:00
laokaiyao
190502bfec i2s: fix the wrong condition of event queue 2022-09-19 10:18:34 +08:00
Anton Maklakov
7ce7c22140 tools: update GCC-Toolchain version to 'esp-2021r2-patch5-8.4.0'
Fix running GDB on macos-arm64
2022-09-18 18:27:54 +07:00
muhaidong
5b24356ab5 wpa_supplicant: try install gtk before send 2 of 2 2022-09-17 19:02:53 +08:00
Ivan Grokhotkov
25c968ec65 Merge branch 'bugfix/exclude_component_dirs_pacman_v4.4' into 'release/v4.4'
build: fix excluded components being passed to component manager (v4.4)

See merge request espressif/esp-idf!19623
2022-09-16 22:10:05 +08:00
Roland Dobai
5af9949289 Merge branch 'fix/idf_tools_download' into 'release/v4.4'
tools: fix idf_tools.py download command without --platform option

See merge request espressif/esp-idf!20170
2022-09-16 18:51:39 +08:00
Darian Leung
baa28b54a2 esp_hw_support: Fix esp_light_sleep_start() deadlock
esp_light_sleep_start() will stall the other CPU via esp_ipc_isr_stall_other_cpu(). After stalling the other CPU,
will call esp_clk_... API which themselves take locks. If the other stalled CPU is holding those locks, this will
result in a deadlock.

This commit adds a workaround calling esp_clk_private_lock() to take the lock before stalling the other CPU.
2022-09-16 17:02:38 +08:00
Darian Leung
9ea9192efb esp_hw_support: esp_clk should use spinlock instead of mutex
esp_clk used to be protected using _lock_t (i.e., a FreeRTOS Mutex). However, esp_clk API is current called from
from critical sections, thus mutex should not be used (as they can be blocking).

This commit updates esp_clk to use spinlocks for critical sections instead.

Note: Added a small fix to exclude esp_clk.c from bootloader builds in the
      legacy build system (this is already the case in CMake).
2022-09-16 17:02:38 +08:00
Jiang Jiang Jian
e80057035a Merge branch 'bugfix/adapt_new_btc_v4.4' into 'release/v4.4'
ble_mesh: stack: Corrected parameter size when the btc_transfer_context is used (v4.4)

See merge request espressif/esp-idf!20166
2022-09-16 10:53:55 +08:00
Jiang Jiang Jian
d6522044d3 Merge branch 'bugfix/change_log_level_for_print_v4.4' into 'release/v4.4'
Nimble : updated debug level for a print to avoid unwanted console log. (v4.4)

See merge request espressif/esp-idf!20111
2022-09-16 10:52:31 +08:00
Anton Maklakov
ecf84354b2 Merge branch 'feature/ulp_binutils_multi_target_v4.4' into 'release/v4.4'
ulp: support the new multi-target ULP-FSM binutils (v4.4)

See merge request espressif/esp-idf!20147
2022-09-16 10:01:00 +08:00
Alexey Lapshin
a8e81f88f1 tools: update esp32ulp-elf to v2.35_20220830
Closes https://github.com/espressif/esp-idf/issues/6432
Closes https://github.com/espressif/binutils-esp32ulp/issues/23
2022-09-15 23:41:56 +04:00
David Čermák
4b46e85b0a Merge branch 'bugfix/transport_foundation_intialization_v4.4' into 'release/v4.4'
tcp_transport: Fix initialition of transport (v4.4)

See merge request espressif/esp-idf!20047
2022-09-16 00:13:48 +08:00
Chen Yudong
4ef57caf77 CI: optimize ATS ci flow 2022-09-15 22:59:13 +08:00
Ivan Grokhotkov
d4b4964088 Merge branch 'bugfix/gdbstub_test_fix_v4.4' into 'release/v4.4'
system: fix gdbstub panic tests after the truncated backtrace is fixed

See merge request espressif/esp-idf!20149
2022-09-15 19:06:10 +08:00
Roshan Bangar
d2b1ea9ac1 Nimble : updated debug level for a print to avoid unwanted console log. 2022-09-15 15:24:53 +05:30
wangjialiang
87921558fd ble_mesh: stack: added the judgment that the parameter is NULL but the parameter len is not zero to avoid btc_transfer_context failed 2022-09-15 09:14:39 +00:00
Alexey Lapshin
65da9400e8 tools: fix idf_tools.py download command without --platform option 2022-09-15 12:55:41 +04:00
Ivan Grokhotkov
69da6a3c23 system: fix gdbstub panic tests after the truncated backtrace is fixed
GDB has been updated in 0007754 to fix the abort backtrace issue.
This commit updates the test case to match the new (correct) behavior.
2022-09-15 10:36:46 +02:00
Jiang Jiang Jian
481d00be93 Merge branch 'bugfix/fix_memory_corruption_in_recon_code_v4.4' into 'release/v4.4'
Nimble: Fixed memory corruption introduced in reconnection attempt code (v4.4)

See merge request espressif/esp-idf!19745
2022-09-14 16:34:22 +08:00
Jiang Jiang Jian
440f9e138c Merge branch 'bugfix/enable_ans_svc_by_default_v4.4' into 'release/v4.4'
Nimble: Enable ANS service by default in nimble peripheral example (v4.4)

See merge request espressif/esp-idf!20022
2022-09-14 16:17:20 +08:00
Armando
163a4b6b02 SPI_BUS_LOCK: fix a concurrency issue
define: lock_bits = (lock->status & LOCK_MASK) >> LOCK_SHIFT;  This `lock_bits` is the Bit 29-20 of the lock->status

1. spi_hdl_1:
   acquire_end_core():
   uint32_t status = lock_status_clear(lock, dev_handle->mask & LOCK_MASK);
   Becuase this is the first `spi_hdl_1`, so after this , lock_bits == 0`b0. status == 0

2. spi_hdl_2:
   acquire_core:
   uint32_t status = lock_status_fetch_set(lock, dev_handle->mask & LOCK_MASK);
   Then here status is 0`b0, but lock_bits == 0`b10. Because this is the `spi_hdl_2`

3. spi_hdl_2:
   `acquire_core` return true, because status == 0. `spi_bus_lock_acquire_start(spi_hdl_2)` then won't block.

4. spi_hdl_2:
   spi_device_polling_end(spi_hdl_2).

5. spi_hdl_1:
   acquire_end_core:
   status is 0, so it cleas the lock->acquiring_dev

6. spi_hdl_2:
   spi_device_polling_end:
   assert(handle == get_acquiring_dev(host)); Fail

Closes https://github.com/espressif/esp-idf/issues/8179
2022-09-14 12:11:29 +08:00
wanlei
27470afb7c spi_master:fix error when use spi_bus_add_device more than 3 device
update gpio_sig at `spics_out` array in each spi_periph.c of chips later than s2
then `spi_bus_add_device` can correctly distribute gpio_signals for cs_signal

Closes https://github.com/espressif/esp-idf/issues/8876
2022-09-14 11:20:47 +08:00
Roland Dobai
0b7532c097 Merge branch 'bugfix/idf_tools_update_bundled_cert_v4.4' into 'release/v4.4'
tools: update bundled root certificate in idf_tools.py (v4.4)

See merge request espressif/esp-idf!20114
2022-09-13 21:34:31 +08:00
Zim Kalinowski
6c3267e8a9 Merge branch 'feature/s2_s3_support_ext_mem_stack_v4.4' into 'release/v4.4'
soc: support placing task stacks in external memory for S2 and S3 (v4.4)

See merge request espressif/esp-idf!20001
2022-09-13 21:24:02 +08:00
Zim Kalinowski
a29f770c7a Merge branch 'feature/mem-corruption-check-when-comprehensif-poisoning-v4.4' into 'release/v4.4'
heap: Provide memory corruption check when poisoning is active (V4.4)

See merge request espressif/esp-idf!19778
2022-09-13 20:41:48 +08:00
Zim Kalinowski
5224045d17 Merge branch 'doc/nvs_max_num_namespaces_4.4' into 'release/v4.4'
doc (nvs): added note about maximum possible namespaces (backport 4.4)

See merge request espressif/esp-idf!19980
2022-09-13 17:33:19 +08:00
Ivan Grokhotkov
1be5e5eae5 ci: fix incorrect paths in the build system test
The working directory when the test runs is not $IDF_PATH, it is
the directory of the template project.
2022-09-13 10:23:07 +02:00
Ivan Grokhotkov
0e8c7284ce build: fix excluded components being passed to component manager
`__COMPONENT_TARGETS` is evaluated very early when components and
component directories are added to the build, which means that all
components (including the ones which are in EXCLUDE_COMPONENTS) have
a build system target defined. The component manager was given the
list of all known components (derived from the list of targets), not
the list of components after EXCLUDE_COMPONENTS were processed.
Because of that, EXCLUDE_COMPONENTS didn't effectively exclude the
component from the consideration of the component manager.
2022-09-13 10:05:59 +02:00
morris
3b03bee2a4 Merge branch 'test/add_adc_wifi_test_thresh_on_v4.4' into 'release/v4.4'
test: added adc wifi test thresh for esp32, s2, c3, s3 on v4.4

See merge request espressif/esp-idf!20116
2022-09-13 14:50:00 +08:00
Armando
2488281d17 test: added adc wifi test thresh for esp32, s2, c3, s3 on v4.4
Due to unit test, we can't specify runners, for adc related tests.
Whereas adc tests are easily influenced by board hw condition, e.g.
pullup/down value.
This commit increases the thresh to 200mV.
2022-09-13 11:56:37 +08:00
Marius Vikhammer
95b4553026 Merge branch 'docs/update_ulp_shift_ops_description_v4.4' into 'release/v4.4'
docs: Updated description of ULP FSM shift operations (v4.4)

See merge request espressif/esp-idf!20101
2022-09-13 09:20:40 +08:00
Ivan Grokhotkov
3301606cdf tools: update bundled root certificate in idf_tools.py
dl.espressif.com is now using the same root certificate as github.com.
This commit replaces the previously-used ISRG X1 root certificate
with the DigiCert Root CA certificate.
As a result, even if the certificates are not installed (as it happens
on macOS with python.org installers, if the user forgets to run
'Install Certificates.command'), the download is successful.

Related to https://github.com/espressif/esp-idf/issues/4081
2022-09-12 18:09:24 +02:00
Anton Maklakov
c5a2315f5a Merge branch 'feature/update-gcc-toolchain-to-esp-2021r2-patch4-8.4.0' into 'release/v4.4'
tools: update GCC-toolchain version to esp-2021r2-patch4 for IDF-v4.4

See merge request espressif/esp-idf!20051
2022-09-12 21:52:01 +08:00
Anton Maklakov
00077545bf tools: Update GCC toolchain to esp-2021r2-patch4 version. Includes GCC 8.4.0, Newlib 3.3.0
Closes https://github.com/espressif/esp-idf/issues/7857
Closes https://github.com/espressif/esp-idf/issues/6004
Closes https://github.com/espressif/esp-idf/issues/6124
Closes https://github.com/espressif/esp-idf/issues/9396
2022-09-12 19:28:37 +07:00
Anton Maklakov
da0cfb806a system: add missing header
Because we got rid of the including core-isa.h in newlib's config.h (8a3197a2a9a42dd99605cf8cc1e0f2d3c976c58c)
2022-09-12 19:26:42 +07:00
Euripedes Rocha
faa368a612 [tcp_transport] Fix initialition of transport
- Foundation was initialized only for SSL.
- Removed base from list.
- Changed SSL and TCP initialition.
- Clean of state data structures.
2022-09-12 11:49:25 +02:00
Sudeep Mohanty
320f17550a docs: Updated description of ULP FSM shift operations
This commit updates the documentation for ULP FSM LSH and RSH
operations.

Closes https://github.com/espressif/esp-idf/issues/8831
2022-09-12 10:33:20 +02:00
Michael (XIAO Xufeng)
12369a5faf Merge branch 'bugfix/reserve_dma_ram_in_segments_v4.4' into 'release/v4.4'
psram: reserve dma pool in the step of heap max block (v4.4)

See merge request espressif/esp-idf!18858
2022-09-11 02:49:39 +08:00
Michael (XIAO Xufeng)
f9a630b967 Merge branch 'bugfix/calib_i2c_clk_v4.4' into 'release/v4.4'
I2C: Make I2C clock frequency accurate(backport v4.4)

See merge request espressif/esp-idf!19069
2022-09-11 02:44:26 +08:00
Wang Meng Yang
224871784b Merge branch 'bugfix/fix_ble_get_cur_pkt_num_crash_sometimes_when_bluetooth_is_disconnecting_v4.4' into 'release/v4.4'
Fixed calling esp_ble_get_cur_sendable_packets_num() sometimes crashes when bluetooth is disconnecting (backport v4.4)

See merge request espressif/esp-idf!20042
2022-09-09 21:05:52 +08:00
Wang Meng Yang
8e6af17ee5 Merge branch 'bugfix/fix_some_ble_bugs_on_esp32c3_and_esp32s3_v4.4' into 'release/v4.4'
Fixed some BLE controller bugs on ESP32-C3 and ESP32-S3 (backport v4.4)

See merge request espressif/esp-idf!19988
2022-09-09 19:39:57 +08:00
David Čermák
ef5a87ea20 Merge branch 'bugfix/mdns_add_service_fail_if_nohostname' into 'release/v4.4'
mdns: Fix add_service() to report error if no-hostname

See merge request espressif/esp-idf!19679
2022-09-09 18:38:31 +08:00
Island
742c7f9672 Merge branch 'fix/DOC_3566_v4.4' into 'release/v4.4'
Updating doc for the issue doc_3566 (v4.4)

See merge request espressif/esp-idf!20061
2022-09-09 17:43:57 +08:00
xiongweichao
4c4799ac49 bt:Fixed sink not being able to output mono audio because it can only decode dual channel audio data 2022-09-09 17:31:04 +08:00
satish.solanke
a44071ab14 updating doc for the issue doc_3566 2022-09-09 10:40:44 +05:30
Anton Maklakov
28d7eb44b9 Merge branch 'feature/update_tool_version_with_checksum_file_v4.4' into 'release/v4.4'
tools: Add tool's versions update with checksum file (v4.4)

See merge request espressif/esp-idf!19956
2022-09-09 00:34:07 +08:00
David Čermák
964fcc7062 Merge branch 'bugfix/test_ethernet_throughput_basic_v4.4' into 'release/v4.4'
Bugfix/test ethernet throughput basic (v4.4)

See merge request espressif/esp-idf!19563
2022-09-08 20:50:41 +08:00
David Čermák
6ece53adaa Merge branch 'bugfix/iperf_py_script_upt_v4.4' into 'release/v4.4'
ci iperf: fixed condition for waiting to iperf server is up in DUT (v4.4)

See merge request espressif/esp-idf!19815
2022-09-08 19:56:21 +08:00
zhiweijian
c0c1485dc4 Add QA test Functions 2022-09-08 17:55:54 +08:00
zwj
4bf2eb3f48 fix calling esp_ble_get_cur_sendable_packets_num() sometimes crashes when bluetooth is disconnecting 2022-09-08 17:54:43 +08:00
morris
67ff43c2c7 Merge branch 'bugfix/wrong_bpp_for_rgb666_v4.4' into 'release/v4.4'
lcd: fix wrong bpp size of rgb666 format (v4.4)

See merge request espressif/esp-idf!20032
2022-09-08 17:34:40 +08:00
Jiang Jiang Jian
de1e58118d Merge branch 'bugfix/fix_init_memory_leak_issue_v4.4' into 'release/v4.4'
esp_wifi: done beacon monitor timer when call pm deattach.(Backport v4.4)

See merge request espressif/esp-idf!19937
2022-09-08 17:02:33 +08:00
morris
151b957238 lcd: fix wrong bpp size of rgb666 format
Closes https://github.com/espressif/esp-idf/issues/9729
2022-09-08 13:22:16 +08:00
Anton Maklakov
722282e30b tools: add standard triplets for macos 2022-09-08 11:17:02 +07:00
Alexey Lapshin
1edf376060 Tools: fix architecture armhf/armel detection 2022-09-08 11:17:02 +07:00
Alexey Lapshin
7d010d36c8 tools: Add tool's versions update with checksum file
'idf_tools.py add-version' has new options:
--override            Override tool versions with new data
--checksum-file       URL or path to local file with checksum/size for artifacts

Usage e.g.:
CHECKSUM_URL=https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/crosstool-NG-esp-2021r2-checksum.sha256
idf_tools.py add-version --tool xtensa-esp32-elf --version esp-2021r2 --override --checksum-file $CHECKSUM_URL

Positional argument 'files' moved to optional argument '--artifact-file'

Add tests for add-version logic
2022-09-08 11:17:02 +07:00
Roland Dobai
ec78f2546f Tools: idf_tools.py prints URL before starting the download
This helps users with poor Internet connection to be able to cancel the
download and download it in another way.

Closes https://github.com/espressif/esp-idf/issues/8625
2022-09-08 11:17:02 +07:00
Anton Maklakov
a3ab8da720 tools: just extract download() method 2022-09-08 10:34:17 +07:00
Roland Dobai
89c55f954a Merge branch 'fix/test_app_ide_integration_v4.4' into 'release/v4.4'
Tools: Increase the delay before producing exception in the Monitor IDE test app (v4.4)

See merge request espressif/esp-idf!20013
2022-09-07 22:22:35 +08:00
Rahul Tank
fcfef95fa7 Nimble: Enable ANS service by default in nimble examples 2022-09-07 17:22:37 +05:30
gaoxu
ce1e8350b4 SPI: Fixed Quad SPI wrong dummy cycle issue on ESP32C3/ESP32S3 and put get-command/dummy-bits functions in spi_ll.h 2022-09-07 18:55:38 +08:00
Roland Dobai
194d3c665d Tools: Increase the delay before producing exception in the Monitor IDE test app 2022-09-07 12:04:39 +02:00
zwj
c1e54ac0fa Update ESP32-C3 and ESP32-S3 BLE lib
- Fixed the performance issue of BLE sync scan in coexistence scenario when PLL track is enabledFixed the usage of PLL track related baseband IRQs
 - Fixed connect failed due to error sync found signal
 - Fixed BLE disconnect failed due to terminate_ind have sent but no ACK is received
 - Added ADV mode error check in ADV rx isr handler function
 - Fixed BLE RAL_UNDERRUN and TX_CRYPT_ERR assert
 - Disable scan continue
 - Fixed scan forever if scan continue is disable
2022-09-07 12:33:33 +08:00
Wang Meng Yang
6e6c8135d5 Merge branch 'bugfix/remove_bt_dft_init_semicolon_v4.4' into 'release/v4.4'
bt: Remove trailing semicolon from bt dft initializer(v4.4)

See merge request espressif/esp-idf!19914
2022-09-07 12:00:32 +08:00
Wang Meng Yang
2c8d6a4954 Merge branch 'bugfix/deadlock_after_call_esp_bluedroid_disable_v4.4' into 'release/v4.4'
bt:Fixed deadlock due to wrong parameter when calling btc_transfer_context() after calling esp_bluedroid_disable()(v4.4)

See merge request espressif/esp-idf!19951
2022-09-07 11:55:15 +08:00
Marius Vikhammer
16459d0d42 soc: support placing task stacks in external memory for S2 and S3 2022-09-07 11:46:56 +08:00
Mahavir Jain
6c4400132e Merge branch 'update_expat_R_2_4_8' into 'release/v4.4'
expat: Update expat library to R_2_4_8 release

See merge request espressif/esp-idf!19962
2022-09-06 22:50:06 +08:00
morris
e3c1fde6c4 Merge branch 'bugfix/driver_rs485_fix_test_sync_issues_v44' into 'release/v4.4'
driver: uart rs485 fix test sync issues and fail threshold (backport v4.4)

See merge request espressif/esp-idf!19610
2022-09-06 17:23:46 +08:00
Alex Lisitsyn
7d8636ce0a driver: uart rs485 fix test sync issues and fail threshold (backport v4.4) 2022-09-06 17:23:46 +08:00
Harshit Malpani
bb0a13944f expat: Update expat library to R_2_4_8 release
Detailed changelog: https://github.com/libexpat/libexpat/blob/R_2_4_8/expat/Changes
2022-09-06 14:00:01 +05:30
Mo Fei Fei
1d51f93473 Docs: Update CN trans for nvs_flash.rst 2022-09-06 10:17:58 +02:00
Jakob Hasse
87ff108235 doc (nvs): added note about maximum possible namespaces 2022-09-06 10:17:58 +02:00
Marius Vikhammer
78d7844b01 system: fix SET_STACK macro crashing in windowoverflow8 exception
If a windowoverflow8 happened after changing the SP, the exception handler would look for
the extra save area by looking at the previous frame's SP. This SP would be a garbage value
and could cause the windowoverflow exception to write to invalid memory ares.
2022-09-06 15:54:57 +08:00
Zim Kalinowski
6d7877fcb8 Merge branch 'bugfix/remove_redef_s3_cpu_macro' into 'release/v4.4'
soc: delete obsolete soc/cpu.h for S3 (v4.4)

See merge request espressif/esp-idf!19900
2022-09-05 16:26:33 +08:00
morris
a825bfdebb Merge branch 'docs/reorder_mem_alloc_content_v4.4' into 'release/v4.4'
docs: reorder content in mem_alloc section (v4.4)

See merge request espressif/esp-idf!19949
2022-09-05 16:04:30 +08:00
morris
55039da3e5 Merge branch 'bugfix/bootloader_assert_v4.4' into 'release/v4.4'
bootloader: dont print assert msg if CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is set (v4.4)

See merge request espressif/esp-idf!19943
2022-09-05 15:47:15 +08:00
xiongweichao
d0c19a0e74 Fixed deadlock due to wrong parameter when calling btc_transfer_context() after calling esp_bluedroid_disable()
Closes https://github.com/espressif/esp-idf/issues/9672
2022-09-05 14:23:16 +08:00
Marius Vikhammer
22b13112b6 docs: reorder content in mem_alloc section
We should avoid hiding sections between long lists of API documentation.
2022-09-05 13:46:08 +08:00
morris
2b706909e1 Merge branch 'bugfix/s3_gpio48_hold_v4.4' into 'release/v4.4'
gpio: Fix ESP32S3 GPIO48 does not support hold function bug (backport v4.4)

See merge request espressif/esp-idf!19933
2022-09-05 13:32:07 +08:00
Marius Vikhammer
518af54ded bootloader: dont print assert msg if CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is set
Closes https://github.com/espressif/esp-idf/pull/7518
2022-09-05 12:31:31 +08:00
Song Ruo Jing
9c7046375f gpio: Fix ESP32S3 GPIO48 does not support hold function bug
GPIO_HOLD_MASK array was missing the last item
2022-09-05 03:47:43 +00:00
muhaidong
db00e4a8c2 esp_wifi: done beacon monitor timer when call pm deattach.
1. done beacon monitor timer when call pm deattach.
2. fix pairwise cipher tkip pmf compability issue.
2022-09-03 21:10:46 +08:00
Mahavir Jain
ed5aea2955 Merge branch 'bugfix/fix_calling_cb_func_before_perform_v4.4' into 'release/v4.4'
esp_https_ota: fix bug where `http_client_init_cb` is called after esp_http_client_perform() (v4.4)

See merge request espressif/esp-idf!19931
2022-09-03 01:07:51 +08:00
Harshit Malpani
42756f7eff esp_https_ota: fix bug where http_client_init_cb is called after esp_http_client_perform() instead of before.
Closes https://github.com/espressif/esp-idf/issues/9581
2022-09-02 16:15:50 +05:30
morris
f6a7962a06 Merge branch 'bugfix/temp_sensor_value' into 'release/v4.4'
temperature_sensor: Fix issue that value is not accurate on ESP32-S3(v4.4)

See merge request espressif/esp-idf!19922
2022-09-02 17:56:49 +08:00
Cao Sen Miao
f2ac141ebf temperature_sensor: Fix issue that value is not accurate on ESP32-S3 2022-09-02 16:03:39 +08:00
morris
d0ba3fd63e Merge branch 'bugfix/propogate_isr_allocation_failure_v4.4' into 'release/v4.4'
Fix MCPWM multiplication overflow (v4.4)

See merge request espressif/esp-idf!19891
2022-09-02 10:00:00 +08:00
Marius Vikhammer
c16eb81c5f Merge branch 'bugfix/miniz_header_doc_v4.4' into 'release/v4.4'
esp-rom: fixed error in miniz header documention for tdefl_init (v4.4)

See merge request espressif/esp-idf!19910
2022-09-02 09:54:24 +08:00
Marius Vikhammer
66dfcd72d2 Merge branch 'docs/malloc_header_v4.4' into 'release/v4.4'
heap: remove misleading info about malloc being equivalent to heap_caps_malloc(p, MALLOC_CAP_8BIT) (v4.4)

See merge request espressif/esp-idf!19896
2022-09-02 09:12:07 +08:00
Pedro
a1e6041777 Remove trailing semicolon from bt dft initializer
Similar to espressif#6554
2022-09-01 20:33:36 +08:00
Marius Vikhammer
92d018f4f1 esp-rom: fixed error in miniz header documention for tdefl_init
Closes https://github.com/espressif/esp-idf/issues/8435
2022-09-01 18:14:24 +08:00
Marius Vikhammer
f8bea48cad soc: delete obsolete soc/cpu.h for S3
This file has been moved to esp_hw_support/, but it seems like we forgot to
delete the old one in soc/ for ESP32S3.
2022-09-01 15:09:16 +08:00
Marius Vikhammer
b6248014b9 heap: remove misleading info about malloc being equivalent to heap_caps_malloc(p, MALLOC_CAP_8BIT)
The actual memory allocated for malloc() depends on a lot of factors, see heap_caps_malloc_default()

Closes https://github.com/espressif/esp-idf/issues/7659
2022-09-01 14:33:03 +08:00
morris
ca831bbd63 mcpwm: fix multiplication overflow in converting us to compare ticks
Closes https://github.com/espressif/esp-idf/issues/9648
2022-09-01 05:11:23 +00:00
morris
645d5641dd timer: propagate isr register failure
Closes https://github.com/espressif/esp-idf/issues/9651
2022-09-01 05:11:23 +00:00
Wang Meng Yang
836f9875b1 Merge branch 'bugfix/ble_disconnect_enable_light_sleep_and_bb_pd_v4.4' into 'release/v4.4'
bt: Fixed bluetooth disconnection issue when light sleep and baseband power down are enabled (v4.4)

See merge request espressif/esp-idf!19803
2022-09-01 11:33:22 +08:00
morris
b059440b83 Merge branch 'docs/update_jtag_select_efuse_desc_4.4' into 'release/v4.4'
Docs: update the JTAG select eFuse description in configure-other-jtag.rst (backport v4.4)

See merge request espressif/esp-idf!19801
2022-08-30 11:06:57 +08:00
Mo Fei Fei
7cb9629590 Docs: update the JTAG select eFuse description in configure-other-jtag.rst (backport v4.4) 2022-08-30 11:06:57 +08:00
Roland Dobai
a3da33c813 Merge branch 'contrib/github_pr_9563_v4.4' into 'release/v4.4'
Add git-lfs to docker container (GitHub PR) (v4.4)

See merge request espressif/esp-idf!19653
2022-08-29 22:48:36 +08:00
Cao Sen Miao
22b222b762 I2C: Make I2C clock frequency accurate 2022-08-29 09:07:30 +00:00
morris
1fdfe449e3 Merge branch 'bugfix/fix_rtc_gpio_hold_v4.4' into 'release/v4.4'
gpio: Fix missing set hold bit in rtc gpio register (v4.4)

See merge request espressif/esp-idf!19821
2022-08-29 13:53:57 +08:00
Jan Procházka
bff89fd71b added missing call to set hold register bit
This commit fixes gpio_hold_en(pin) function for ESP32, where after wakeup from deep sleep, the pin gets reset to default state and stop holding the pin level.
2022-08-29 10:18:09 +08:00
Ondrej Kosta
526cd8c219 ci iperf: fixed condition for waiting to iperf server is up in DUT 2022-08-26 15:58:00 +02:00
xiongweichao
5852e93eba Fix bluetooth disconnection issue when light sleep and baseband power down are enabled 2022-08-26 16:03:57 +08:00
Guillaume Souchere
55a2b55bdb heap: Add test to check that the corruption of free memory is detected
This commit extends the heap test set by adding a test to check corruption
detection in free memory block.

For each byte of the free block memory, the test changes the value of the byte,
call multi_heap_check(), make sure that the function returns 'corruption detected'
only when comprehensive poisoning is set, restore the good value of the byte, calls
multi_heap_check() again and make sure that it returns 'OK'.
2022-08-26 07:51:29 +02:00
Guillaume Souchere
6536e51a32 heap: Provide tlsf_check_hook() mechanism to check for memory corruption
Add a call to tlsf_check_hook() in tlsf_check() that calls
multi_heap_internal_check_block_poisoning() and check the memory
of every free blocks when heap poisoning is active.
2022-08-26 07:51:22 +02:00
Roland Dobai
e6fda46a02 Merge branch 's3_sysview_irq_names_v4.4' into 'release/v4.4'
Fix ESP32-S3 interrupt names used by SystemView (v4.4)

See merge request espressif/esp-idf!19676
2022-08-25 18:53:04 +08:00
Tim Pambor
2e26fbf56c Add git-lfs to docker container 2022-08-25 08:34:59 +00:00
Jiang Jiang Jian
41839b69bd Merge branch 'bugfix/fix_ble_sch_arb_assert_v4.4' into 'release/v4.4'
Fixed BLE sch_arb assert on ESP32-C3 and ESP32-S3(backport v4.4)

See merge request espressif/esp-idf!19733
2022-08-25 13:44:20 +08:00
Rahul Tank
696760668a Nimble: Fixed memory corruption introduced in reconnection attempt code 2022-08-25 04:54:02 +00:00
Wang Meng Yang
134170a6fc Merge branch 'contrib/github_pr_9529_mr_v4.4' into 'release/v4.4'
bt:No need to use local copy of btc_msg_t in btc_transfer_context, create it on heap and pass to osi_thread_post()(v4.4)

See merge request espressif/esp-idf!19692
2022-08-25 10:44:43 +08:00
Zim Kalinowski
5927bc2227 Merge branch 'bugfix/freertos_eventgroup_test_flakiness_v4.4' into 'release/v4.4'
freertos: Fix flakey event group unit tests (v4.4)

See merge request espressif/esp-idf!19528
2022-08-24 19:08:55 +08:00
Zim Kalinowski
5b1bedec2a Merge branch 'bugfix/remove_remaining_rom_time_t_dependencies_v4.4' into 'release/v4.4'
Newlib: Add workaround for ROM Newlib stdio functions using 32-bit time_t callpath (v4.4)

See merge request espressif/esp-idf!19684
2022-08-24 17:07:46 +08:00
Zim Kalinowski
72313054ad Merge branch 'bugfix/nvs_part_ptr_wrong_init_4.4' into 'release/v4.4'
bugfix (nvs_flash): Fix nvs_flash_init_partition_ptr (backport v4.4)

See merge request espressif/esp-idf!18672
2022-08-24 17:06:53 +08:00
Jiang Jiang Jian
954299a063 Merge branch 'bugfix/wps_connection_issue_v4.4' into 'release/v4.4'
wpa_supplicant: Fix WPS connection issue after WPS done (v4.4)

See merge request espressif/esp-idf!19720
2022-08-24 14:07:27 +08:00
Marius Vikhammer
ac043bfc91 Merge branch 'bugfix/gpio_wakeup_docs_v4.4' into 'release/v4.4'
docs: fix documentation wrongly stating ESP_SLEEP_WAKEUP_GPIO is light sleep only (v4.4)

See merge request espressif/esp-idf!19740
2022-08-24 13:25:55 +08:00
Marius Vikhammer
228737d978 docs: fix documentation wrongly stating ESP_SLEEP_WAKEUP_GPIO is light sleep only
ESP_SLEEP_WAKEUP_GPIO is also a valid deep sleep wakeup cause on targets
with SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP

Closes https://github.com/espressif/esp-idf/issues/9567
2022-08-24 10:50:59 +08:00
Island
e87caa8d75 Merge branch 'bugfix/ble_mesh_console_support_nimble_host_for_v4.4' into 'release/v4.4'
ble_mesh:ble mesh console support nimble(v4.4)

See merge request espressif/esp-idf!19604
2022-08-24 10:27:13 +08:00
Ivan Grokhotkov
300a4a16a5 Merge branch 'bugfix/add_signature_in_image_len_v4.4' into 'release/v4.4'
bootloader_support: consider signature sector in image length validation (v4.4)

See merge request espressif/esp-idf!19484
2022-08-23 20:19:52 +08:00
zwj
ad510c5099 Update BLE lib for ESP32-C3 and ESP32-S3
- update ble tx power level mapping
- Fixed ble sch_arb assert
2022-08-23 19:49:50 +08:00
zwj
fc4ffd144a fix extend adv set remove failed 2022-08-23 19:49:40 +08:00
Mahavir Jain
bfc927e258 Merge branch 'fix/fix_esp_rsa_sign_alt_modifying_input_params_v4.4' into 'release/v4.4'
esp_rsa_sign_alt: Fix esp_init_ds_data_ctx API to not modify user defined data... (v4.4)

See merge request espressif/esp-idf!19714
2022-08-23 19:05:22 +08:00
Aditya Patwardhan
606ada809a esp_rsa_sign_alt: Fix esp_init_ds_data_ctx API to not modify user defined data when it is given directory from flash 2022-08-23 13:27:03 +05:30
Kapil Gupta
4d9c4fd7e1 wpa_supplicant: Fix WPS connection issue after WPS done
esp_wifi_disconnect is needed to clear the wifi state and enable
station to connect to new SSID. Add changes to call it after
WPS is done.
2022-08-23 13:09:32 +05:30
morris
23d5a582cb Merge branch 'bugfix/fix_rtc_clock_freq_value_macro_v4.4' into 'release/v4.4'
rtc_clk: Fix wrong RC_FAST and RC_SLOW clock frequency values on ESP32C3 and ESP32S3

See merge request espressif/esp-idf!19665
2022-08-22 15:54:32 +08:00
tgotic
810667fc1e update code to use osi_free() 2022-08-22 15:40:48 +08:00
tgotic
879466e0cb local copy of btc_msg_t
No need to use local copy of btc_msg_t in btc_transfer_context, create it on heap and pass to osi_thread_post().
2022-08-22 15:40:42 +08:00
Darian Leung
a45fcce631 newlib: Add workaround for printf functions using 32-bit time_t on first call
sizeof(time_t) was previously switched from 4 to 8, ROM functions that use
time_t or dependent types (such as "struct stat") are no longer called due as
they still treat sizeof(time_t) as 4 (see commit
24c20d18).

However, there is a ROM callpath that was left out. If putchar is the first
stdio print related call, the call path will result in cantwrite() ->
__swsetup_r() -> __smakebuf_r() -> __swhatbuf_r() using the ROM "struct stat"
(where sizeof(time_t)==4).

Instead of removing all printf related ROM newlib functions (which will result
in increased binary size), this commit adds a workaround to setup the stdio
files before any print related calls occur.

This results in cantwrite() always returning false, thus the callpath described
above never being reached.

Closes https://github.com/espressif/esp-idf/issues/9269
2022-08-22 11:56:51 +08:00
morris
2bce0a19f6 Merge branch 'bugfix/fix_esp32_psram_cs_hold_time_issue_when_under_80m_v4.4' into 'release/v4.4'
esp_psram: fix esp32 psram cs hold time issue when under 40m (v4.4)

See merge request espressif/esp-idf!19648
2022-08-21 15:10:57 +08:00
Zim Kalinowski
f3ddf105a4 Merge branch 'bugfix/fix_disassembler_interpreting_padding_v4.4' into 'release/v4.4'
(Xtensa) Build: add .xt.prop and .xt.lit to the compiled ELF file (backport v4.4)

See merge request espressif/esp-idf!19609
2022-08-20 03:49:58 +08:00
David Cermak
bd0ec74c2e mdns: Fix add_service() to report error if no-hostname 2022-08-19 18:41:38 +02:00
ioio
350dd3798e bugfix (nvs_flash): Fix nvs_flash_init_partition_ptr
Added unit test case.

Closes https://github.com/espressif/esp-idf/pull/8755

Signed-off-by: Jakob Hasse <jakob.hasse@espressif.com>
2022-08-19 16:13:10 +02:00
Zim Kalinowski
0b0ca31386 Merge branch 'contrib/github_pr_9497_v4.4' into 'release/v4.4'
Move xSemaphoreGive out of configASSERT (GitHub PR) (v4.4)

See merge request espressif/esp-idf!19536
2022-08-19 21:06:43 +08:00
Zim Kalinowski
eebbc181e8 Merge branch 'staging/add_idf_as_lib_to_ci_v4.4' into 'release/v4.4'
CI: idf_as_lib is now run on all suported targets (backport v4.4)

See merge request espressif/esp-idf!19618
2022-08-19 21:05:49 +08:00
Zim Kalinowski
4bb3ebd6e5 Merge branch 'bugfix/update-doc-freertos-task-header_v4.4' into 'release/v4.4'
freertos: Update the documentation of the ulBitsToClearOnEntry parameter (v4.4)

See merge request espressif/esp-idf!19661
2022-08-19 21:04:47 +08:00
Erhan Kurubas
0784fd086a esp32s3: fix interrupt names used by SystemView 2022-08-19 14:42:45 +02:00
Erhan Kurubas
5245c53d7a replace CAN with TWAI in the esp_isr_names table 2022-08-19 14:39:37 +02:00
Jiang Jiang Jian
4851e0b9ca Merge branch 'bugfix/hfp_examples_not_work_with_default_sdkconfig_v4.4' into 'release/v4.4'
bugfix/set default number of sco connection to 1 (v4.4)

See merge request espressif/esp-idf!19587
2022-08-19 20:32:56 +08:00
Guillaume Souchere
c6aa0928ab freertos: Update the docuementation of the ulBitsToClearOnEntry parameter in xTaskGenericNotifyWait() function.
Closes https://github.com/espressif/esp-idf/issues/7207

The description of how the xTaskGenericNotifyWait parameter is handled in the
xTaskGenericNotifyWait() function was inaccurate.

In this commit, the description was updated to match the implementation of xTaskGenericNotifyWait().
2022-08-19 08:04:12 +02:00
Song Ruo Jing
b2f4fc022a rtc_clk: Fix wrong RC_FAST and RC_SLOW clock frequency values on ESP32C3 and ESP32S3 2022-08-19 12:21:11 +08:00
Armando
d08be42a53 esp_psram: fixed 40mhz cs signal glitch issue 2022-08-18 20:33:12 +08:00
Jiang Jiang Jian
91e6b5de70 Merge branch 'feature/sae_sta_h2e_v4.4' into 'release/v4.4'
esp_wifi: WPA3 SAE H2E support for station (backport v4.4)

See merge request espressif/esp-idf!18634
2022-08-18 17:56:31 +08:00
Omar Chebib
b5d2ee7ed4 CI: idf_as_lib is now run on all suported targets 2022-08-18 12:07:19 +08:00
Shreyas Sheth
756b46ca96 esp_wifi: WPA3 SAE H2E support for station
Mandate sta threshold wpa3 for ssid after receiving transition disable
bit from AP
2022-08-18 02:55:51 +05:30
Omar Chebib
3154abc66e (Xtensa) Build: add .xt.prop and .xt.lit to the compiled ELF file
Adding prop and lit sections to the ELF will let the debugger and the disassembler
have more info about data bytes present in the middle of the Xtensa
instructions, usually used for padding.
2022-08-17 14:58:36 +08:00
Yuan Hong Hui
d2eb652738 ble_mesh:ble mesh console support nimble 2022-08-17 14:34:04 +08:00
jincheng
d88544fd05 Fixed the failure of 'connect audio' operation in HFP examples with default SDK configuration
Due to the lack of synchronized connections, the hf_client can not create audio_connection to
hf_ag. Set default number of synchronized connection to 1.

Closes https://github.com/espressif/esp-idf/issues/9537
2022-08-17 10:14:50 +08:00
Roland Dobai
4c550fd79f Merge branch 'fix/install.ps1.v4.4' into 'release/v4.4'
Tools: Remove undefined variable from install.ps1 (v4.4)

See merge request espressif/esp-idf!19583
2022-08-16 22:19:41 +08:00
Roland Dobai
a1f0381797 Tools: Remove undefined variable from install.ps1
Closes https://github.com/espressif/esp-idf/issues/9556
2022-08-16 12:14:43 +02:00
morris
06ca9b6427 Merge branch 'bugfix/incorrect_base_addr_for_rtcio_on_esp32s3_v4.4' into 'release/v4.4'
rtci2c: Corrected the register base addr reference for RTC I2C on esp32s3 (v4.4)

See merge request espressif/esp-idf!19559
2022-08-16 10:51:06 +08:00
Ondrej Kosta
d9dda477b0 eth_iperf_test: improved regex to properly evaluate IP address 2022-08-15 16:07:33 +02:00
Sudeep Mohanty
6dcb5bd1d3 rtci2c: Corrected the register base addr reference for RTC I2C on esp32s3
This commit corrects the register base address reference for RTC I2C on
esp32s3.
2022-08-15 14:50:14 +02:00
tgotic
047d75eee5 rename xHoldSemaphore to result 2022-08-12 17:54:34 +08:00
tgotic
d96121221d Move xSemaphoreGive out of configASSERT
xSemaphoreGive won't be executed in configASSERT and semaphore will stay locked if NDEBUG (idf v5) or CONFIG_FREERTOS_ASSERT_DISABLE (idf v3, v4) are defined.
2022-08-12 17:54:29 +08:00
Darian Leung
b867b52770 freertos: Fix flakey event group unit tests
The event group unit tests would previously use a single call bit (the
"BIT_CALL" macro) to unblock all the test tasks. However, if one or more tasks
were delayed in calling xEventGroupWaitBits(), the other tasks would clear the
test bits, leading to the test deadlocking.

This commit updates the bits used so that each task gets their own CALL and
RESPONSE bits.
2022-08-12 16:54:59 +08:00
Jiang Jiang Jian
9d97b7ba50 Merge branch 'bugfix/bt_invalid_workqueue_num_v4.4' into 'release/v4.4'
Bluetooth:fixed the invalid workqueue number for BTU thread in Bluedroid(backport v4.4)

See merge request espressif/esp-idf!19510
2022-08-12 14:02:20 +08:00
Jiang Jiang Jian
34fbb676c7 Merge branch 'feature/optimize_chips_memory_allocation_backport_v4.4' into 'release/v4.4'
system: Optimize chips bootloader and heap memory allocation(backport v4.4)

See merge request espressif/esp-idf!19472
2022-08-12 11:19:06 +08:00
Jiang Jiang Jian
805b6af65d Merge branch 'bugfix/wifi_bt_use_same_clock_source_v4.4' into 'release/v4.4'
Fix Wi-Fi does not know that Bluetooth has modified the lpclk source(v4.4)

See merge request espressif/esp-idf!19408
2022-08-12 11:05:43 +08:00
Jiang Jiang Jian
59fed9597d Merge branch 'bugfix/remove_repeated_kconfig_for_h2' into 'release/v4.4'
esp32h2/kconfig: remove repeated kconfig

See merge request espressif/esp-idf!19507
2022-08-11 20:16:22 +08:00
Island
48be2350a8 Merge branch 'bugfix/mesh_bqb_test_issues_v4.4' into 'release/v4.4'
ble_mesh: stack: Fix mesh v1.0 BQB test issues(v4.4)

See merge request espressif/esp-idf!19502
2022-08-11 20:10:05 +08:00
Ivan Grokhotkov
002581806a Merge branch 'ci/fix_nightly_run_build_jobs_v4.4' into 'release/v4.4'
ci: build all when has env var NIGHTLY_RUN (v4.4)

See merge request espressif/esp-idf!18947
2022-08-11 16:55:41 +08:00
wangmengyang
9aa32bc499 components/bt: fixed the invalid workqueue number for BTU thread in Bluedroid
There should be only one workqueue for BTU task. The queue length for the second workqueue of BTU can be uninitialized and caused memory overflow and corruption.

Closes https://github.com/espressif/esp-idf/issues/9507
2022-08-11 16:17:17 +08:00
jingli
6368633102 esp32h2/kconfig: remove repeated kconfig 2022-08-11 15:05:12 +08:00
wangjialiang
a426f4727d ble_mesh: stack: Fix kr from non-primary subnet shouldn't ignore
For case MESH/NODE/KR/BV-02-C
2022-08-11 14:14:02 +08:00
wangjialiang
3413b3d469 ble_mesh: stack: Add a check if the appkey is bound to the model.
For case MESH/NODE/CFG/MP/BI-03-C
2022-08-11 14:13:56 +08:00
wangjialiang
89bc1bc7e3 ble_mesh: stack: the count_log field should be set to 0 when HBS is sent.
For MESH/NODE/CFG/HBS/BV-02-C
2022-08-11 14:13:49 +08:00
wangjialiang
246ed6232f ble_mesh: stack: The Heartbeat Publication Period Log value can set to 0x11, range: [0, 0x11] 2022-08-11 14:13:42 +08:00
wangjialiang
104ce885cb ble_mesh: stack: The value of expect_ack_for will be rewrited after send_pub_key().
For case MESH/PVNR/PROV/BV-04-C
2022-08-11 14:13:35 +08:00
wangjialiang
28e4ceb7e1 ble_mesh: stack: Fix ignore connectable PB-ADV PDU containing a Link Open message.
For case MESH/NODE/PBADV/BI-04-C
2022-08-11 14:13:27 +08:00
wangjialiang
f12c79c3ca ble_mesh: stack: Fix PB-GATT not check invalid link flag
For case MESH/NODE/PROV/BI-03-C
2022-08-11 14:11:32 +08:00
wangjialiang
d31337c095 ble_mesh: stack: Fix invalid provisioning pdu type check
For case MESH/NODE/PROV/BI-15-C
2022-08-11 14:11:16 +08:00
Jiang Jiang Jian
4bf8f462a2 Merge branch 'opt/bluedroid_adv_report_datapath_v4.4' into 'release/v4.4'
Bluetooth/Bluedroid: optimize BLE adv report datapath and adv report flow control mechanism(backport v4.4)

See merge request espressif/esp-idf!19381
2022-08-11 11:20:42 +08:00
Jiang Jiang Jian
32e7672926 Merge branch 'contrib/github_pr_9498_backport4_4' into 'release/v4.4'
Bluetooth/Bluedroid: fix member typo(backport v4.4)

See merge request espressif/esp-idf!19458
2022-08-11 10:54:45 +08:00
Marius Vikhammer
6c2afe05cf Merge branch 'bugfix/disable_rom_lgo_v4.4' into 'release/v4.4'
system: moved placement of disable rom log efuse in startup flow (v4.4)

See merge request espressif/esp-idf!19482
2022-08-11 09:18:50 +08:00
Ivan Grokhotkov
80d6e39edc Merge branch 'staging/fix_heap_fail_callback_v4.4' into 'release/v4.4'
Heap: heap_caps_*_prefer functions now properly call alloc_failed callback (backport v4.4)

See merge request espressif/esp-idf!19481
2022-08-11 06:28:03 +08:00
Roland Dobai
3a54a55a80 Merge branch 'feature/oocd_ver_upgrade_v4.4' into 'release/v4.4'
tools: Updates OpenOCD version to 'v0.11.0-esp32-20220706' (v4.4)

See merge request espressif/esp-idf!19490
2022-08-10 21:28:32 +08:00
Alexey Gerenkov
46868ddbb5 tools: Updates OpenOCD version to 'v0.11.0-esp32-20220706' 2022-08-10 13:00:06 +03:00
Island
4fb74a808b Merge branch 'bugfix/friend_and_lpn_issues_v4.4' into 'release/v4.4'
ble_mesh: stack: Fix friend and lpn issues(v4.4)

See merge request espressif/esp-idf!19475
2022-08-10 13:50:52 +08:00
Mahavir Jain
58d93a89af bootloader_support: consider signature sector in image length validation
For secure boot enabled cases, bootloader and firmware images have signature
appended and size is variable based on scheme being used. This appended data
must be considered while verifying image length against allocated partition
size to avoid any possibilities of going beyond reserved size.

Closes IDF-5617
2022-08-10 10:38:15 +05:30
Marius Vikhammer
a421e30cf2 system: moved placement of disable rom log efuse in startup flow
Functions used for burning this efuse would log, but at this point
esp_log is not initialized. Moved to a later point in the startup process.

Closes https://github.com/espressif/esp-idf/issues/9457
2022-08-10 12:17:51 +08:00
Omar Chebib
6906c34319 heap: add a unit test for malloc(0) and slightly optimize heap_caps_malloc_prefer 2022-08-10 11:41:01 +08:00
tgotic
b43e777e0a fix malloc(0) and heap_caps_alloc_failed()
Don't call heap_caps_alloc_failed() for malloc(0) and calloc(0), because it is not an error.
Improve handling of malloc(0) and calloc(0).

Merges https://github.com/espressif/esp-idf/pull/9517
2022-08-10 11:40:53 +08:00
Omar Chebib
05575cc246 Heap: heap_caps_*_prefer functions now properly call alloc_failed callback
heap_caps_*_prefer functions will now only call heaps_caps_alloc_failed
callback if all attempts to allocation memory fail (and not after each attempt
anymore).

* Closes https://github.com/espressif/esp-idf/issues/9086
2022-08-10 11:40:32 +08:00
morris
56a89b920d Merge branch 'bugfix/i2s_slot_sequence_v4.4' into 'release/v4.4'
i2s: fixed pdm rx sample rate doubled issue

See merge request espressif/esp-idf!19415
2022-08-10 11:10:37 +08:00
Fu Hanxi
719f43d286 ci: build all when has env var NIGHTLY_RUN 2022-08-10 00:24:18 +00:00
Roland Dobai
ed418eaf06 Merge branch 'fix/python_flake_warnings_4.4' into 'release/v4.4'
Tools: Fix Python style warnings

See merge request espressif/esp-idf!19471
2022-08-10 02:57:22 +08:00
wangjialiang
2eb28028ed ble_mesh: stack: Fix add continuously secure update into friend queue.
For MESH/NODE/FRND/FN/BV-20-C
2022-08-09 21:48:37 +08:00
wangjialiang
d21a87f60c ble_mesh: stack: Fix friend relay lpn message when relay feature is disable
For MESH/NODE/FRND/FN/BV-23-C
2022-08-09 21:48:22 +08:00
wuzhenghui
1fb1d6ecde bugfix: malloc retention buffer with MALLOC_CAP_RETENTION caps 2022-08-09 20:56:59 +08:00
wuzhenghui
e3979eb14b bugfix: DCache data memory is dma accessible but not retention dma accessible 2022-08-09 20:56:51 +08:00
wuzhenghui
decb47bb5d use enum and designated initializers in soc_memory_type define 2022-08-09 20:54:01 +08:00
wuzhenghui
103b952525 ci: fix ci 2022-08-09 20:34:25 +08:00
wuzhenghui
9b7bed2243 Clean IRAM and DRAM address space conversion macros 2022-08-09 20:33:26 +08:00
Roland Dobai
f935c17a95 Tools: Fix Python style warnings 2022-08-09 14:30:52 +02:00
wuzhenghui
41bbc39669 stack/dram is also IRAM0 accessible 2022-08-09 20:28:29 +08:00
wuzhenghui
45a79bc135 update bootloader.ld rom_boot ram usage info 2022-08-09 20:28:04 +08:00
wuzhenghui
62ac5364e0 Use the entire sharedbuffer space as the heap of the D/IRAM attribute 2022-08-09 20:27:38 +08:00
wuzhenghui
d8432af3ab update bootloader memory allocation 2022-08-09 20:02:46 +08:00
laokaiyao
53a5d51aea i2s: fix PDM TX stereo mode for c3 and s3 2022-08-09 18:28:09 +08:00
laokaiyao
76cdab5f42 i2s: fixed pdm rx sample rate doubled issue
Closes: https://github.com/espressif/esp-idf/issues/8660
2022-08-09 18:28:09 +08:00
laokaiyao
482a37612d i2s: fix 16bit slot sequence on esp32 2022-08-09 18:28:09 +08:00
linruihao
fdf7029078 Fixed union member access typo
Closes https://github.com/espressif/esp-idf/pull/9498
2022-08-09 15:25:44 +08:00
tgotic
4c6d2e0da7 bt member typo
Terminate sec_event.cfm_req.bd_name string, not sec_event.pin_req.bd_name
2022-08-09 15:25:24 +08:00
Marius Vikhammer
f8729d905e Merge branch 'feature/ulp_riscv_adc_v4.4' into 'release/v4.4'
ulp-riscv: add support for using ADC as well as an example show-casing it. (v4.4)

See merge request espressif/esp-idf!19058
2022-08-09 15:00:50 +08:00
morris
22b847fc5f Merge branch 'bugfix/memory_region_define_rtc_fast_v4.4' into 'release/v4.4'
backport v4.4: substract rtc_iram_seg memory region size from ESP_BOOTLOADER_RESERVE_RTC

See merge request espressif/esp-idf!19423
2022-08-09 14:38:40 +08:00
Marius Vikhammer
a968442603 Merge branch 'bugfix/ringbuf_iram_fix_v4.4' into 'release/v4.4'
esp_ringbuf: placement in flash is no longer controlled by... (v4.4)

See merge request espressif/esp-idf!19165
2022-08-09 11:01:52 +08:00
morris
b65ec8c7c9 Merge branch 'bugfix/several_i2C_issues' into 'release/v4.4'
I2C: Fix I2C task wait too long on an event (backport 4.4)

See merge request espressif/esp-idf!18768
2022-08-09 10:29:32 +08:00
Marius Vikhammer
f8f93d936e ulp-riscv: add support for using ADC as well as an example show-casing it. 2022-08-09 09:21:15 +08:00
Island
00215f3414 Merge branch 'bugfix/restore_missing_ble_mesh_videos_v4.4' into 'release/v4.4'
ble_mesh: doc: Restore missing ble mesh videos(v4.4)

See merge request espressif/esp-idf!19403
2022-08-08 17:12:01 +08:00
Marius Vikhammer
a940064748 esp_ringbuf: placement in flash is no longer controlled by CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH
esp-ringbuf funtion placement is now controlled by its own configs:
CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH and CONFIG_RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH

Closes https://github.com/espressif/esp-idf/issues/9198
2022-08-08 07:15:00 +00:00
Omar Chebib
cb411a81a2 I2C: Fix a bug making the I2C task wait too long on an event
The I2C ISR will now notify the task waiting on an event. Thus, the task can stop waiting on the event queue as soon as possible.
2022-08-08 06:10:31 +00:00
Li Shuai
12db32642c substract rtc_iram_seg memory region size from ESP_BOOTLOADER_RESERVE_RTC 2022-08-08 11:27:10 +08:00
Li Shuai
11ac122c53 1. Wi-Fi: update tsf tick interval when lpclk is modified
2. Move register_lpclk_callback to coexistence
2022-08-05 12:57:47 +08:00
wangjialiang
58811bec45 ble_mesh: doc: Restore missing ble mesh videos 2022-08-05 11:51:57 +08:00
Li Shuai
970420a923 Power Management: fix the issue of sleeping time error beacause external 32kHz xtal does not exist 2022-08-05 11:30:36 +08:00
xiongweichao
8f0c559c03 make bluetooth and wifi use the same low power clock 2022-08-05 11:22:22 +08:00
xiongweichao
cf9309c8a2 ESP32S3:bluetooth support use main XTAL in light sleep mode 2022-08-05 11:21:59 +08:00
xiongweichao
9332413407 ESP32C3:bluetooth support use main XTAL in light sleep mode 2022-08-05 11:21:58 +08:00
Jiang Jiang Jian
9fe854c4ca Merge branch 'bugfix/vendor_model_send_message_no_memory_forv4.4' into 'release/v4.4'
ble_mesh:example: free the memory of malloc (v4.4)

See merge request espressif/esp-idf!19185
2022-08-04 14:47:22 +08:00
Jiang Jiang Jian
d16797b447 Merge branch 'bugfix/further_fix_for_mspi_current_leakage_backport_v4.4' into 'release/v4.4'
system/sleep: further fix spi flash/ram current leakage(backport v4.4)

See merge request espressif/esp-idf!19212
2022-08-04 14:46:56 +08:00
Jiang Jiang Jian
d4507a380e Merge branch 'bugfix/corrected_typo_in_example_peripherals_usb_v4.4' into 'release/v4.4'
example: peripherals/usb: fix typo naming of local variables (backport v4.4)

See merge request espressif/esp-idf!19100
2022-08-04 14:46:44 +08:00
Jiang Jiang Jian
68dd89971e Merge branch 'bugfix/backtrace_formatting_add_missing_space_v4.4' into 'release/v4.4'
Reverts Backtrace: format to what it used to be (v4.4)

See merge request espressif/esp-idf!19123
2022-08-04 14:46:31 +08:00
Jiang Jiang Jian
46f5c59cc2 Merge branch 'bugfix/set_ipv6_dns_error_v4.4' into 'release/v4.4'
lw ip: Fixed that ipv6 dns cannot work (v4.4)

See merge request espressif/esp-idf!19062
2022-08-04 14:45:58 +08:00
Jiang Jiang Jian
905b3b1718 Merge branch 'bugfix/btdm_fix_some_bluedroid_issues_v4.4' into 'release/v4.4'
Fix some bluedroid issues(backport v4.4)

See merge request espressif/esp-idf!19130
2022-08-04 14:45:44 +08:00
Jiang Jiang Jian
0544069689 Merge branch 'bugfix/put_sempher_and_queue_used_in_isr_into_DRAM_v4.4' into 'release/v4.4'
Make sure semphr/queue used in interrupt is in DRAM

See merge request espressif/esp-idf!18988
2022-08-04 14:44:56 +08:00
Jiang Jiang Jian
d3eeebf8f8 Merge branch 'bugfix/fix_bluedroid_host_memory_overflow_v4.4' into 'release/v4.4'
Fixed bluedroid host memory overflow for v4.4

See merge request espressif/esp-idf!19060
2022-08-04 14:44:40 +08:00
Jiang Jiang Jian
869abf8a3f Merge branch 'bugfix/freertos_event_group_unblock_race_condition_v4.4' into 'release/v4.4'
FreeRTOS: Fix event group task list race condition (v4.4)

See merge request espressif/esp-idf!19103
2022-08-04 14:43:45 +08:00
Jiang Jiang Jian
9f9021a221 Merge branch 'bugfix/multiple_adc_bugfix_v4.4' into 'release/v4.4'
adc: fix multiple bugs (v4.4)

See merge request espressif/esp-idf!19142
2022-08-04 14:42:53 +08:00
Jiang Jiang Jian
bfb88338bb Merge branch 'bugfix/memory_debug_not_work_v4.4' into 'release/v4.4'
bugfix/fix the dependency error of macro for memory debug (v4.4)

See merge request espressif/esp-idf!19237
2022-08-04 14:42:12 +08:00
Jiang Jiang Jian
79a8ad665a Merge branch 'bugfix/memory_copy_bugs_in_bluedroid_4.4' into 'release/v4.4'
components_bt/bluedroid: Fix Memory Copy Build Err [backport v4.4]

See merge request espressif/esp-idf!19311
2022-08-04 14:41:58 +08:00
Jiang Jiang Jian
66a1de0843 Merge branch 'bugfix/fix_legacy_pair_not_send_link_key_host_v4.4' into 'release/v4.4'
component_bt: fix legacy pair controller does not send the link key to the host (v4.4)

See merge request espressif/esp-idf!19320
2022-08-04 14:41:45 +08:00
Jiang Jiang Jian
aa81e5bbbe Merge branch 'bugfix/fix_bt_sphinx_warnings_4.4' into 'release/v4.4'
components_bt: fix unstandard typedefs [backport v4.4]

See merge request espressif/esp-idf!19338
2022-08-04 14:41:28 +08:00
Jiang Jiang Jian
6770180781 Merge branch 'bugfix/fix_write_to_null_pointer_if_malloc_failed_issue_v4.4' into 'release/v4.4'
Bugfix/fix write to null pointer if malloc failed issue(Backport v4.4)

See merge request espressif/esp-idf!19352
2022-08-04 14:41:17 +08:00
Jiang Jiang Jian
40a8214314 Merge branch 'feature/esp_lcd_spi_rx_v4.4' into 'release/v4.4'
Add support SPI rx into LCD component (backport v4.4)

See merge request espressif/esp-idf!19122
2022-08-04 14:41:03 +08:00
Jiang Jiang Jian
824a5547b7 Merge branch 'feature/wifi_beacon_loss_optimize_v4.4' into 'release/v4.4'
backport v4.4: beacon loss and noise check timer optimize for wifi power save

See merge request espressif/esp-idf!19172
2022-08-04 14:23:14 +08:00
Li Shuai
e4c5e5a701 sleep: beacon loss and noise check timer optimize for wifi power save 2022-08-04 12:11:39 +08:00
Mahavir Jain
c0d04787ca Merge branch 'feature/rainmaker_BT_configurable_v4.4' into 'release/v4.4'
Wifi_prov_mgr: Made BT configurable after provisioning is completed (v4.4)

See merge request espressif/esp-idf!19263
2022-08-04 11:49:36 +08:00
Mahavir Jain
6854841267 Merge branch 'contrib/github_pr_9446_v4.4' into 'release/v4.4'
Add missing comma (GitHub PR) (v4.4)

See merge request espressif/esp-idf!19307
2022-08-04 11:47:02 +08:00
Roland Dobai
b2770bd18e Merge branch 'tools/mfg_fix_blank_lines_csv_v4.4' into 'release/v4.4'
tools: Introduce support for blank lines in config and value files for mfg utility (v4.4)

See merge request espressif/esp-idf!19253
2022-08-03 22:49:14 +08:00
Roland Dobai
575d28e56c Merge branch 'contrib/github_pr_9408_v4.4' into 'release/v4.4'
nvs_partition_gen: Allow up to 4000 byte strings with NVS V2 (GitHub PR) (v4.4)

See merge request espressif/esp-idf!19306
2022-08-03 22:49:02 +08:00
Roland Dobai
8ed69bd03a Merge branch 'bugfix/s3_dfu_tool_v4.4' into 'release/v4.4'
dfu: add esp32s3 to supported DFU targets for idf.py (v4.4)

See merge request espressif/esp-idf!19166
2022-08-03 22:48:44 +08:00
Karl Wang
e5a96aaca6 component/bt: use OSI utility "osi_event" for HCI downstream data processing 2022-08-03 21:55:08 +08:00
wangmengyang
c6c4a23098 component/bt: consider to handle HCI LE Direct Advertising Report 2022-08-03 21:55:07 +08:00
Karl Wang
6c0c837378 component/bt: allocate and use one static buffer for HCI adv flow control command 2022-08-03 21:55:06 +08:00
wangmengyang
aaf1d3909d component/bt: use fixed_pkt_queue instead of fixed_queue for hci commands
some fixes after modifications:
  1. removed the use of waiting_command_t
  2. fix assert for HCI write_eir command
  3. fixed the crash upon handling command status event when trying to free to the HCI command buffer
  4. fixed the issue in transmitting HCI vendor specific commands
  5. fixed the lost command complete callbacks for HCI commands LE_RAND and LE_ENCRYPT
2022-08-03 21:55:05 +08:00
wangmengyang
c3f5b85032 component/bt: add a timer to monitor the adv flow control credits downwards procedure 2022-08-03 21:55:04 +08:00
wangmengyang
b735c46ba7 component/bt: fix adv report flow control logic, give ADV report credits every 10 packets 2022-08-03 21:55:03 +08:00
wangmengyang
2ef0627c2c component/bt: add simple ADV flow control mechanism -- drop the packets when the adv report queues are considered full 2022-08-03 21:55:02 +08:00
wangmengyang
dcf173c95a component/bt: use the OSI utility "osi_event" to handle adv report in btc_layer 2022-08-03 21:55:01 +08:00
wangmengyang
c9ebba2ddf component/bt: use the OSI utility "pkt_queue" to store ADV report packet in btu layer
# Conflicts:
#	components/bt/host/bluedroid/hci/hci_hal_h4.c
2022-08-03 21:54:52 +08:00
wangmengyang
71c072cc8c component/bt: use the OSI utility "osi_event" for hci_hal_h4 upstream data packets handling 2022-08-03 21:50:38 +08:00
wangmengyang
88af2c548f component/bt: use the OSI utility "osi_event" to handle A2DP source data Tx processing 2022-08-03 21:50:37 +08:00
wangmengyang
ceb4096287 component/bt: use the OSI utility "osi_event" to handle A2DP sink data Rx processing 2022-08-03 21:50:36 +08:00
wangmengyang
93d4306aff component/bt: add new OSI utility "fixed_pkt_queue", which has same functionality with "fixed_queue" 2022-08-03 21:50:35 +08:00
Karl Wang
96cbdee383 component/bt: add new OSI utility "pkt_queue" which acts as a mutex-protected linked list, to be used as data queue between tasks 2022-08-03 21:50:34 +08:00
wangmengyang
6edcab3885 component/bt: add new OSI utility "osi_event" to support the scenario that event need only to be handle once. 2022-08-03 21:50:33 +08:00
wangmengyang
1e06076c3c component/bt: make OSI thread workqueue length configurable through API
reduce the length of workqueue1 for BTC and HCI task

# Conflicts:
#	components/bt/common/osi/thread.c
2022-08-03 21:50:32 +08:00
wangmengyang
d635d8f361 component/bt: modify the implementation of osi_thread using freeRTOS queue 2022-08-03 21:50:31 +08:00
Roland Dobai
ce1fde4b3b Merge branch 'update/version_4_4_2' into 'release/v4.4'
Update version to 4.4.2

See merge request espressif/esp-idf!19346
2022-08-03 20:45:40 +08:00
Oleg Savchenko
2c59eb0bca fix possible memory leak if report level not set 2022-08-02 20:42:44 +08:00
Oleg Savchenko
007381cf82 fix write to null pointer if malloc failed 2022-08-02 20:42:38 +08:00
weitianhua
72fd3bc1e6 component_bt: Fix build doc errors of bt
1. bluedroid: use standard function pointer define.
   2. blufi: Change ESP_BD_ADDR_LEN into ESP_BLUFI_BD_ADDR_LEN
   3. doc/sphinx_known_warnings: Remove fixed parts.
2022-08-02 13:39:36 +08:00
xiongweichao
c4491c352d fix legacy pair controller does not send the link key to the host
Closes https://github.com/espressif/esp-idf/issues/5850
2022-08-01 19:07:16 +08:00
weitianhua
5b648b8452 components_bt/bluedroid: Fix Memory&String Copy Build Err
1. When setting compilier into -O2 optimization, build for classic bt demo will get wrong
   2. Fix a memcpy bug that maybe get memory truncated

Closes https://github.com/espressif/esp-idf/issues/9398
2022-08-01 14:27:56 +08:00
FanhuaCloud
dc626195f0 Add missing comma
Add missing comma when CONFIG_ESP32S3_DATA_CACHE_16KB is enabled
2022-08-01 09:17:40 +05:30
Angus Gratton
b765963c7c nvs_partition_gen: Allow up to 4000 byte strings with NVS V2
As documented, the limit for NVS format v2 is 4000 bytes for a string.
2022-08-01 09:12:39 +05:30
jingli
236bd27134 further fix spi flash/ram current leakage
Currently, we pull up cs io for spi flash/ram to reduce current leakage during
light sleep. But some kind of spi flash/ram chip need all io pull up. Otherwise,
current leakage will still exist.
2022-07-28 13:11:55 +08:00
jingli
0d83001bd4 docs: fix docs of power down flash 2022-07-28 13:10:55 +08:00
jingli
5f2855882b kconfig: fix kconfig help of power down flash 2022-07-28 13:10:55 +08:00
Yuan Hong Hui
6b6fa902ed ble_mesh:the memory requested by malloc has not benn released 2022-07-28 11:35:22 +08:00
wanlei
92abac1fd8 psram: fixed heap pool reservation for DMA/internal usage fail issue
As heap block may be allocated into multiple non-continuous chunks, to
reserve enough memory for dma/internal usage, we do the malloc in the
step of max available block.
2022-07-28 10:12:17 +08:00
Isha Pardikar
eb490dc18e Merge branch 'feature/rainmaker_BT_configurable' into 'release/v4.4'
Doc: Made bluetooth configurable after wifi provisioning is completed

See merge request espressif/esp-idf!19263
2022-07-27 12:24:50 +05:30
Djordje Nedic
b654c14d0e tools: Introduce support for blank lines in config and value files for mfg utility
Some users have requested this feature.

In order to avoid complete refactoring or introducing more code complexity, a design choice to create temporary files without blank lines is made.

Additionally, an extension check is added and there are multiple smaller code style and structure improvements.

Closes https://github.com/espressif/esp-idf/issues/8421
2022-07-26 23:17:33 +02:00
baohongde
aadd18514c components/coex: Make sure sempher and queue used in isr is in DRAM
Closes https://github.com/espressif/esp-idf/issues/9032
Closes https://github.com/espressif/esp-idf/issues/8928
Closes https://github.com/espressif/esp-idf/issues/9129
2022-07-25 11:10:28 +08:00
baohongde
c5db1591cf components/bt: Make sure sempher and queue used in isr is in DRAM 2022-07-25 11:08:13 +08:00
jincheng
9892ce6a53 fix the dependency error of macro for memory debug 2022-07-22 16:17:14 +08:00
Marius Vikhammer
fbbcf5c5bc dfu: add esp32s3 to supported DFU targets for idf.py 2022-07-21 15:58:44 +08:00
Vilem Zavodny
d072873d5e esp_lcd: Add RX into SPI lcd panel. 2022-07-21 09:18:28 +02:00
Armando
cb62457f6d adc: fix esp32 continuous mode sampling freq issue 2022-07-20 16:43:38 +08:00
Armando
ad8862fa19 adc: fix esp32s2 continuous mode converted bytes issue
When working in continuous mode, hardware will continuously trigger
ADC to do conversions. On esp32s2, 2 bytes will be generated per
conversion. Prior to this commit, driver assumes 4 bytes per conversion
(on s2). This commit fixed this issue.
2022-07-20 16:43:38 +08:00
Armando
ce465c0574 adc: fix esp32s3 continuous mode output bits issue
Prior to this change, esp32s3 ADC continuous mode output resolution is 13 bits.
This commit correct the `adc_digi_output_data_t` on esp32s3. Correct
output bits should be 12 bits. Corresponding definition in `soc_caps.h`
is also updated.
2022-07-20 15:01:57 +08:00
xiewenxiang
ffebc3d93f component/bt: Modify the bluetooth device name length limits 2022-07-20 09:22:47 +08:00
xiewenxiang
a840c77d4e component/bt: set ext adv param failed when stop ext adv 2022-07-20 09:09:17 +08:00
Mitch Bradley
5728fe325e Reverts Backtrace: format to what it used to be
Was:  Backtrace: N:M N:M N:M ...
Now:  Backtrace:N:MN:M N:M ...

The problem with the new format is that it is hard to parse and
breaks the parser that is used by PlatformIO.  The old format
is much more reasonable.  I do not see how the pattern in IDFDUT.py
can work with the new format, due to the missing space after the :
2022-07-19 11:55:32 +02:00
Vilem Zavodny
28954a635d esp_lcd: Fix code style.
(cherry picked from commit 18f46959e4c83d6dd01db53d26388d5d3b4e3d99)
2022-07-19 09:40:01 +02:00
Slamy
197f916383 fixed misaligned data transfer for ssd1306
(cherry picked from commit 46a2bf8ac9)
(cherry picked from commit b95304829af55174c0c8ac1b9c561e0319896d5b)
2022-07-19 09:39:50 +02:00
Darian Leung
b1574fef2d freertos: Fix flakey event group unit test
The "FreeRTOS Event Groups" main task will only wait a single tick for the created
tasks to set their response bits. This short delay may not be sufficent if the tick
frequency is high.

This commit updates the test so that

- the main task waits indefinitely for all the response bits to be set.
- created tasks are cleand up by the main task
2022-07-19 12:03:04 +08:00
Darian Leung
d465316f0b freertos: Fix event group task list race condition
FreeRTOS synchronization primitives (e.g., queues, eventgroups) use various event lists (i.e., task lists) to track what
tasks are blocked on a current primitive. Usually these event lists are accessed via one of the event lists functions
(such as vTask[PlaceOn|RemoveFrom]UnorderedEventList()), which in turn ensure that the global task list spinlock
(xTaskQueueMutex) is taken when accessing these lists.

However, some functions in event_groups.c manually traverse their event lists. Thus if a tick interrupt occurs on
another core during traversal and that tick interrupt unblocks a task on the event list being traversed, the event list
will be corrupted.

This commit modifies the following event_groups.c functions so that they take the global task list lock before
traversing their event list.

- xEventGroupSetBits()
- vEventGroupDelete()
2022-07-19 12:03:04 +08:00
jiangguangming
02afbaccdd example: peripherals/usb: fix typo naming of local variables 2022-07-19 10:30:44 +08:00
Chen Wu
4bb12517f5 lwip: Fixed that ipv6 dns cannot work 2022-07-15 16:18:01 +08:00
zhiweijian@espressif.com
85da506ec0 Fixed bluedroid host memory overflow 2022-07-15 14:47:28 +08:00
2049 changed files with 88357 additions and 142683 deletions

View File

@@ -19,14 +19,6 @@ trim_trailing_whitespace = false
indent_style = tab
indent_size = 2
[*/freertos/**]
indent_style = tab
indent_size = 4
[{*/freertos/**.S,**/FreeRTOSConfig.h}]
indent_style = space
indent_size = 4
[*.pem]
insert_final_newline = false

View File

@@ -153,6 +153,7 @@ exclude =
components/tinyusb,
components/unity/unity,
components/spiffs/spiffs,
components/freemodbus,
examples/build_system/cmake/import_lib/main/lib/tinyxml2,
examples/peripherals/secure_element/atecc608_ecdsa/components/esp-cryptoauthlib,
# autogenerated scripts
@@ -168,4 +169,5 @@ exclude =
per-file-ignores =
# Sphinx conf.py files use star imports to setup config variables
docs/conf_common.py: F405
docs/conf_common.py: F405,
components/freemodbus/docs/conf_common.py: F405

View File

@@ -12,7 +12,7 @@ stages:
workflow:
rules:
# Disable those non-protected push triggered pipelines
- if: '$CI_COMMIT_REF_NAME != "master" && $CI_COMMIT_BRANCH !~ /^release\/v/ && $CI_COMMIT_TAG !~ /^v\d+\.\d+(\.\d+)?($|-)/ && $CI_PIPELINE_SOURCE == "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"'
when: never
# when running merged result pipelines, it would create a temp commit id. use $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA instead of $CI_COMMIT_SHA.
# Please use PIPELINE_COMMIT_SHA at all places that require a commit sha
@@ -62,13 +62,16 @@ variables:
CLANG_STATIC_ANALYSIS_IMAGE: "${CI_DOCKER_REGISTRY}/clang-static-analysis:v4.4-1-2"
SONARQUBE_SCANNER_IMAGE: "${CI_DOCKER_REGISTRY}/sonarqube-scanner:3"
# target test config file, used by assign test job
# target test config file, used by scan test and assign test job
CI_TARGET_TEST_CONFIG_FILE: "$CI_PROJECT_DIR/.gitlab/ci/target-test.yml"
# 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"
CI_AUTO_TEST_SCRIPT_REPO_URL: "https://gitlab-ci-token:${BOT_TOKEN}@${CI_SERVER_HOST}:${CI_SERVER_PORT}/qa/auto_test_script.git"
CI_AUTO_TEST_SCRIPT_REPO_BRANCH: "ci/v4.1"
# Set this variable to specify the file name for the known failure cases.
KNOWN_FAILURE_CASES_FILE_NAME: "4.4.txt"
IDF_CI_BUILD: 1
.setup_tools_unless_target_test: &setup_tools_unless_target_test |
if [[ -n "$IDF_DONT_USE_MIRRORS" ]]; then
@@ -115,6 +118,8 @@ before_script:
- source tools/ci/utils.sh
- is_based_on_commits $REQUIRED_ANCESTOR_COMMITS
- export IDF_TOOLS_PATH="${HOME}/.espressif_runner_${CI_RUNNER_ID}_${CI_CONCURRENT_ID}"
# Clean up idf-env.json which might not be compatible with one produced by newer ESP-IDF versions
- rm -f ${IDF_TOOLS_PATH}/idf-env.json
- $IDF_PATH/tools/idf_tools.py install-python-env
# On macOS, these tools need to be installed
- $IDF_PATH/tools/idf_tools.py --non-interactive install cmake ninja
@@ -140,6 +145,7 @@ include:
- '.gitlab/ci/pre_check.yml'
- '.gitlab/ci/build.yml'
- '.gitlab/ci/assign-test.yml'
- '.gitlab/ci/integration_test.yml'
- '.gitlab/ci/host-test.yml'
- '.gitlab/ci/target-test.yml'
- '.gitlab/ci/deploy.yml'

View File

@@ -136,10 +136,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:dev:
.rules:patterns:python-files:
rules:
- <<: *if-trigger
- <<: *if-protected
- <<: *if-dev-push
changes: *patterns-python-files
```
2. if there isn't

View File

@@ -103,66 +103,3 @@ assign_unit_test:
BUILD_DIR: ${CI_PROJECT_DIR}/tools/unit-test-app/builds
script:
- python tools/ci/python_packages/ttfw_idf/IDFAssignTest.py $TEST_TYPE $TEST_DIR -c $CI_TARGET_TEST_CONFIG_FILE -o $TEST_DIR/test_configs
assign_integration_test:
extends:
- .assign_test_template
- .rules:test:integration_test
needs:
- build_ssc_esp32
- build_ssc_esp32c3
artifacts:
paths:
- $TEST_DIR/test_configs
variables:
TEST_DIR: ${CI_PROJECT_DIR}/tools/ci/integration_test
BUILD_DIR: ${CI_PROJECT_DIR}/SSC/ssc_bin
INTEGRATION_TEST_CASE_PATH: "${CI_PROJECT_DIR}/auto_test_script/TestCaseFiles"
ASSIGN_TEST_CASE_SCRIPT: "${CI_PROJECT_DIR}/auto_test_script/bin/CIAssignTestCases.py"
PYTHONPATH: ${CI_PROJECT_DIR}/auto_test_script/packages
PYTHON_VER: 3.7.7
script:
# clone test script to assign tests
# can not retry if downing git lfs files failed, so using empty_branch first.
- retry_failed git clone ${CI_AUTO_TEST_SCRIPT_REPO_URL} -b empty_branch
- retry_failed git -C auto_test_script checkout -f ${CI_AUTO_TEST_SCRIPT_REPO_BRANCH}
- python $CHECKOUT_REF_SCRIPT auto_test_script auto_test_script --customized_only
# assign integration test cases
- python ${ASSIGN_TEST_CASE_SCRIPT} -t ${INTEGRATION_TEST_CASE_PATH} -c $CI_TARGET_TEST_CONFIG_FILE -b ${BUILD_DIR} -o $TEST_DIR/test_configs
update_test_cases:
extends: .rules:ref:master-schedule
stage: assign_test
image: $CI_DOCKER_REGISTRY/ubuntu-test-env
tags:
- deploy_test
needs:
- build_esp_idf_tests_cmake_esp32
- build_esp_idf_tests_cmake_esp32s2
- build_esp_idf_tests_cmake_esp32s3
- build_esp_idf_tests_cmake_esp32c3
artifacts:
when: always
paths:
- ${CI_PROJECT_DIR}/test-management/*.log
expire_in: 1 week
variables:
SUBMODULES_TO_FETCH: "components/esptool_py/esptool"
UNIT_TEST_DIR: "${CI_PROJECT_DIR}/components/idf_test/unit_test"
BOT_ACCOUNT_CONFIG_FILE: "${CI_PROJECT_DIR}/test-management/Config/Account.local.yml"
PYTHONPATH: ${CI_PROJECT_DIR}/auto_test_script/packages
PYTHON_VER: 3.7.7
script:
- export GIT_SHA=$(echo ${PIPELINE_COMMIT_SHA} | cut -c 1-8)
- retry_failed git clone $TEST_MANAGEMENT_REPO
- python $CHECKOUT_REF_SCRIPT test-management test-management
- cd test-management
- echo $BOT_JIRA_ACCOUNT > ${BOT_ACCOUNT_CONFIG_FILE}
# update unit test cases
- export UNIT_TEST_CASE_FILES=$(find $UNIT_TEST_DIR -maxdepth 1 -name "*.yml" | xargs)
- python ImportTestCase.py $JIRA_TEST_MANAGEMENT_PROJECT unity -d $UNIT_TEST_CASE_FILES -r $GIT_SHA
# update example test cases
- python ImportTestCase.py $JIRA_TEST_MANAGEMENT_PROJECT tiny_test_fw -d ${CI_PROJECT_DIR}/examples -r $GIT_SHA
- python ImportTestCase.py $JIRA_TEST_MANAGEMENT_PROJECT tiny_test_fw -d ${CI_PROJECT_DIR}/tools/test_apps -r $GIT_SHA
# organize test cases
- python OrganizeTestCases.py $JIRA_TEST_MANAGEMENT_PROJECT

View File

@@ -51,44 +51,6 @@ fast_template_app:
BUILD_COMMAND_ARGS: "-p"
#------------------------------------------------------------------------------
.build_ssc_template:
extends:
- .build_template
- .rules:build:integration_test
artifacts:
paths:
- SSC/ssc_bin
expire_in: 1 week
script:
- retry_failed git clone $SSC_REPOSITORY
- python $CHECKOUT_REF_SCRIPT SSC SSC
- cd SSC
- MAKEFLAGS= ./ci_build_ssc.sh $TARGET_NAME
build_ssc_esp32:
extends: .build_ssc_template
parallel: 3
variables:
TARGET_NAME: "ESP32"
build_ssc_esp32s2:
extends: .build_ssc_template
parallel: 2
variables:
TARGET_NAME: "ESP32S2"
build_ssc_esp32c3:
extends: .build_ssc_template
parallel: 3
variables:
TARGET_NAME: "ESP32C3"
build_ssc_esp32s3:
extends: .build_ssc_template
parallel: 3
variables:
TARGET_NAME: "ESP32S3"
.build_esp_idf_tests_cmake_template:
extends: .build_template
dependencies: # set dependencies to null to avoid missing artifacts issue

View File

@@ -65,15 +65,6 @@
- "build:{0}"
- build:target_test
build:integration_test:
labels:
- build
patterns:
- build_components
- build_system
included_in:
- build:target_test
####################
# Target Test Jobs #
####################
@@ -113,16 +104,6 @@ build:integration_test:
- "build:component_ut-{0}"
- build:target_test
"test:integration_test":
labels:
- integration_test
- target_test
patterns:
- integration_test
included_in:
- build:integration_test
- build:target_test
"test:host_test":
labels:
- host_test

View File

@@ -9,49 +9,15 @@ push_to_github:
extends:
- .deploy_job_template
- .before_script_minimal
- .rules:protected-no_label
dependencies: []
- .rules:push_to_github
needs:
- check_submodule_sync
script:
- add_github_ssh_keys
- git remote remove github &>/dev/null || true
- git remote add github git@github.com:espressif/esp-idf.git
- tools/ci/push_to_github.sh
deploy_test_result:
extends:
- .deploy_job_template
- .before_script_minimal
- .rules:ref:master-always
image: $CI_DOCKER_REGISTRY/bot-env
tags:
- deploy_test
artifacts:
when: always
paths:
- ${CI_PROJECT_DIR}/test-management/*.log
# save all test logs as artifacts, make it easier to track errors
- ${CI_PROJECT_DIR}/TEST_LOGS
expire_in: 1 mos
variables:
UNIT_TEST_CASE_FILE: "${CI_PROJECT_DIR}/components/idf_test/unit_test/TestCaseAll.yml"
BOT_ACCOUNT_CONFIG_FILE: "${CI_PROJECT_DIR}/test-management/Config/Account.local.yml"
TEST_FW_PATH: "$CI_PROJECT_DIR/tools/tiny-test-fw"
AUTO_TEST_SCRIPT_PATH: "${CI_PROJECT_DIR}/auto_test_script"
script:
- add_gitlab_ssh_keys
- export GIT_SHA=$(echo ${PIPELINE_COMMIT_SHA} | cut -c 1-8)
- export REV_COUNT=$(git rev-list --count ${PIPELINE_COMMIT_SHA} --)
- export SUMMARY="IDF CI test result for $GIT_SHA (r${REV_COUNT})"
# artifacts of job update_test_cases creates test-management folder
# we need to remove it so we can clone test-management folder again
- rm -rf test-management
- retry_failed git clone $TEST_MANAGEMENT_REPO
- python3 $CHECKOUT_REF_SCRIPT test-management test-management
- cd test-management
- echo $BOT_JIRA_ACCOUNT > ${BOT_ACCOUNT_CONFIG_FILE}
# update test results
- python3 ImportTestResult.py -r "$GIT_SHA (r${REV_COUNT})" -j $JIRA_TEST_MANAGEMENT_PROJECT -s "$SUMMARY" -l CI -p ${CI_PROJECT_DIR}/TEST_LOGS --pipeline_url ${CI_PIPELINE_URL}
check_submodule_sync:
extends:
- .deploy_job_template

View File

@@ -17,6 +17,9 @@
.if-protected-no_label: &if-protected-no_label
if: '($CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_BRANCH =~ /^release\/v/ || $CI_COMMIT_TAG =~ /^v\d+\.\d+(\.\d+)?($|-)/) && $BOT_TRIGGER_WITH_LABEL == null'
.if-qa-test-tag: &if-qa-test-tag
if: '$CI_COMMIT_TAG =~ /^qa-test/'
.if-label-build_docs: &if-label-build_docs
if: '$BOT_LABEL_BUILD_DOCS || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*build_docs(?:,[^,\n\r]+)*$/i'
@@ -27,10 +30,12 @@
if: '$BOT_LABEL_DOCS_FULL || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*docs_full(?:,[^,\n\r]+)*$/i'
.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_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "merge_request_event")'
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")'
.doc-rules:build:docs:
rules:
- <<: *if-qa-test-tag
when: never
- <<: *if-protected
- <<: *if-label-build_docs
- <<: *if-label-docs

View File

@@ -192,9 +192,17 @@ test_idf_tools:
- export PATH=$(p=$(echo $PATH | tr ":" "\n" | grep -v "/root/.espressif/tools\|/opt/espressif" | tr "\n" ":"); echo ${p%:})
- cd ${IDF_PATH}/tools/test_idf_tools
- ./test_idf_tools.py
test_install_python_env:
extends: .host_test_template
script:
# Test for create virtualenv. It must be invoked from Python, not from virtualenv.
# Remove tools gdbgui, pygdbmi, python-socketio, jinja2, itsdangerous, pygdbmi for virtualenv test to reduce virtualenv setup time
# since they are not necessary for this test and are tested elsewhere
- sed -E -i '/(^gdbgui|^pygdbmi|^python-socketio|^jinja2|^itsdangerous|^pygdbmi)/d' $IDF_PATH/requirements.txt
- cd ${IDF_PATH}/tools
- python3 ./idf_tools.py install-python-env
timeout: 4 hours # this requires longer timeout
.test_efuse_table_on_host_template:
extends: .host_test_template
@@ -235,24 +243,6 @@ test_efuse_table_on_host_esp32h2:
variables:
IDF_TARGET: esp32h2
test_espcoredump:
extends: .host_test_template
artifacts:
when: always
paths:
- components/espcoredump/test/**/.coverage
- components/espcoredump/test/**/output
expire_in: 1 week
variables:
IDF_COREDUMP_ELF_REPO: "https://gitlab-ci-token:${BOT_TOKEN}@${CI_SERVER_HOST}:${CI_SERVER_PORT}/idf/idf-coredump-elf.git"
IDF_COREDUMP_ELF_TAG: idf-20210915
# install CMake version specified in tools.json
SETUP_TOOLS_LIST: "all"
script:
- retry_failed git clone ${IDF_COREDUMP_ELF_REPO} -b $IDF_COREDUMP_ELF_TAG
- cd ${IDF_PATH}/components/espcoredump/test/
- ./test_espcoredump.sh ${CI_PROJECT_DIR}/idf-coredump-elf
test_logtrace_proc:
extends: .host_test_template
artifacts:

View File

@@ -0,0 +1,69 @@
# generate dynamic integration pipeline by `idf-integration-ci` project
.patterns-integration_test: &patterns-integration_test
# add all possible patterns to make sure `gen_integration_pipeline` can be triggered.
# fine-grained control will be done while generating the pipeline
# find `patterns` in `idf-integration-ci` project
- "components/**/*"
- "tools/**/*"
- ".gitlab-ci.yml"
- ".gitlab/ci/common.yml"
- ".gitlab/ci/integration_test.yml"
- ".gitmodules"
- "CMakeLists.txt"
- "install.sh"
- "export.sh"
- "Kconfig"
- "sdkconfig.rename"
# Simplify the rules
.integration_test_rules:
rules:
- if: '$CI_PIPELINE_SOURCE != "merge_request_event"'
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
changes: *patterns-integration_test
# support trigger by ci labels
- if: '$CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*target_test(?:,[^,\n\r]+)*$/i'
- if: '$CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*integration_test(?:,[^,\n\r]+)*$/i'
- if: '$CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*build(?:,[^,\n\r]+)*$/i'
gen_integration_pipeline:
extends:
- .before_script_minimal
- .integration_test_rules
image: ${CI_INTEGRATION_ASSIGN_ENV}
stage: assign_test
cache: []
tags:
- assign_test
variables:
SUBMODULES_TO_FETCH: "none"
GIT_LFS_SKIP_SMUDGE: 1
needs:
- job: fast_template_app
artifacts: false
optional: true
artifacts:
paths:
- idf-integration-ci/child_pipeline/
expire_in: 2 weeks
script:
- add_gitlab_ssh_keys
- retry_failed git clone ${CI_GEN_INTEGRATION_PIPELINE_REPO} idf-integration-ci
- python $CHECKOUT_REF_SCRIPT idf-integration-ci idf-integration-ci
- cd idf-integration-ci
- python tools/generate_child_pipeline.py -o child_pipeline/
child_integration_test_pipeline:
extends:
- .integration_test_rules
stage: assign_test
needs:
- gen_integration_pipeline
trigger:
include:
- artifact: idf-integration-ci/child_pipeline/pipeline.yml
job: gen_integration_pipeline
forward:
yaml_variables: false
strategy: depend

View File

@@ -24,13 +24,15 @@ check_pre_commit_master_release:
- .rules:protected
script:
- git diff-tree --no-commit-id --name-only -r $PIPELINE_COMMIT_SHA | xargs pre-commit run --files
- pre-commit run --hook-stage post-commit validate-sbom-manifest
check_pre_commit_MR:
extends:
- .check_pre_commit_template
- .rules:dev
- .rules:mr
script:
- python ${CI_PROJECT_DIR}/tools/ci/ci_get_mr_info.py files ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME} | xargs pre-commit run --files
- pre-commit run --hook-stage post-commit validate-sbom-manifest
check_version:
# Don't run this for feature/bugfix branches, so that it is possible to modify

View File

@@ -49,8 +49,6 @@
- "tools/ci/test_build_system*.sh"
.patterns-custom_test: &patterns-custom_test
- "components/espcoredump/**/*"
- "tools/ci/python_packages/gitlab_api.py"
- "tools/ci/python_packages/tiny_test_fw/**/*"
- "tools/ci/python_packages/ttfw_idf/**/*"
@@ -87,10 +85,6 @@
- "components/**/test_apps/**/*"
.patterns-integration_test: &patterns-integration_test
- "tools/ci/python_packages/tiny_test_fw/**/*"
- "tools/ci/integration_test/**/*"
.patterns-host_test: &patterns-host_test
- ".gitlab/ci/host-test.yml"
@@ -180,13 +174,19 @@
if: '$CI_COMMIT_TAG =~ /^v\d+\.\d+(\.\d+)?($|-)/'
.if-protected: &if-protected
if: '($CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_BRANCH =~ /^release\/v/ || $CI_COMMIT_TAG =~ /^v\d+\.\d+(\.\d+)?($|-)/)'
if: '($CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_BRANCH =~ /^release\/v/ || $CI_COMMIT_TAG =~ /^v\d+\.\d+(\.\d+)?($|-)/) || $CI_COMMIT_TAG =~ /^qa-test/'
.if-protected-no_label: &if-protected-no_label
if: '($CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_BRANCH =~ /^release\/v/ || $CI_COMMIT_TAG =~ /^v\d+\.\d+(\.\d+)?($|-)/) && $BOT_TRIGGER_WITH_LABEL == null'
.if-qa-test-tag: &if-qa-test-tag
if: '$CI_COMMIT_TAG =~ /^qa-test/'
.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_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "merge_request_event")'
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-merge_request: &if-merge_request
if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
.if-schedule: &if-schedule
if: '$CI_PIPELINE_SOURCE == "schedule"'
@@ -204,10 +204,16 @@
rules:
- <<: *if-protected
.rules:protected-no_label:
.rules:push_to_github:
rules:
- <<: *if-qa-test-tag
when: never
- <<: *if-protected-no_label
.rules:mr:
rules:
- <<: *if-merge_request
.rules:dev:
rules:
- <<: *if-trigger
@@ -317,9 +323,6 @@
.if-label-host_test: &if-label-host_test
if: '$BOT_LABEL_HOST_TEST || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*host_test(?:,[^,\n\r]+)*$/i'
.if-label-integration_test: &if-label-integration_test
if: '$BOT_LABEL_INTEGRATION_TEST || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*integration_test(?:,[^,\n\r]+)*$/i'
.if-label-iperf_stress_test: &if-label-iperf_stress_test
if: '$BOT_LABEL_IPERF_STRESS_TEST || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*iperf_stress_test(?:,[^,\n\r]+)*$/i'
@@ -622,19 +625,6 @@
- <<: *if-dev-push
changes: *patterns-example_test
.rules:build:integration_test:
rules:
- <<: *if-protected
- <<: *if-label-build
- <<: *if-label-integration_test
- <<: *if-label-target_test
- <<: *if-dev-push
changes: *patterns-build_components
- <<: *if-dev-push
changes: *patterns-build_system
- <<: *if-dev-push
changes: *patterns-integration_test
.rules:build:macos:
rules:
- <<: *if-protected
@@ -663,7 +653,6 @@
- <<: *if-label-example_test_esp32c3
- <<: *if-label-example_test_esp32s2
- <<: *if-label-example_test_esp32s3
- <<: *if-label-integration_test
- <<: *if-label-iperf_stress_test
- <<: *if-label-target_test
- <<: *if-label-unit_test
@@ -684,8 +673,6 @@
changes: *patterns-custom_test
- <<: *if-dev-push
changes: *patterns-example_test
- <<: *if-dev-push
changes: *patterns-integration_test
- <<: *if-dev-push
changes: *patterns-unit_test
@@ -946,16 +933,6 @@
- <<: *if-dev-push
changes: *patterns-host_test
.rules:test:integration_test:
rules:
- <<: *if-protected
- <<: *if-label-build-only
when: never
- <<: *if-label-integration_test
- <<: *if-label-target_test
- <<: *if-dev-push
changes: *patterns-integration_test
.rules:test:submodule:
rules:
- <<: *if-protected

View File

@@ -31,10 +31,11 @@
- retry_failed git clone $TEST_ENV_CONFIG_REPO
- python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
# git clone the known failure cases repo, run test
- retry_failed git clone $KNOWN_FAILURE_CASES_REPO known_failure_cases
- pip install minio
- python tools/ci/get_known_failure_cases_file.py
# run test
- cd tools/ci/python_packages/tiny_test_fw/bin
- run_cmd python Runner.py $TEST_CASE_PATH -c $CONFIG_FILE -e $ENV_FILE --known_failure_cases_file $CI_PROJECT_DIR/known_failure_cases/known_failure_cases.txt
- run_cmd python Runner.py $TEST_CASE_PATH -c $CONFIG_FILE -e $ENV_FILE --known_failure_cases_file $CI_PROJECT_DIR/${KNOWN_FAILURE_CASES_FILE_NAME}
.example_test_template:
extends: .target_test_job_template
@@ -96,6 +97,12 @@ example_test_001B:
- ESP32
- Example_EthKitV1
example_test_httpbin:
extends: .example_test_esp32_template
tags:
- ESP32
- httpbin
example_test_001B_V3:
extends: .example_test_esp32_template
tags:
@@ -357,7 +364,6 @@ test_app_test_003:
test_app_test_004:
extends: .test_app_esp32s2_template
parallel: 2
tags:
- ESP32S2
- Example_GENERIC
@@ -368,6 +374,12 @@ test_app_test_005:
- ESP32C3
- Example_GENERIC
test_app_test_006:
extends: .test_app_esp32s3_template
tags:
- ESP32S3
- Example_GENERIC
test_app_test_esp32_generic:
extends: .test_app_esp32_template
parallel: 5
@@ -395,6 +407,12 @@ test_app_test_flash_psram_f8r8:
- ESP32S3
- MSPI_F8R8
test_app_test_flash_psram_esp32:
extends: .test_app_esp32_template
tags:
- ESP32
- psram
.component_ut_template:
extends: .target_test_job_template
needs: # the assign already needs all the build jobs
@@ -410,10 +428,11 @@ test_app_test_flash_psram_f8r8:
- retry_failed git clone $TEST_ENV_CONFIG_REPO
- python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
# git clone the known failure cases repo, run test
- retry_failed git clone $KNOWN_FAILURE_CASES_REPO known_failure_cases
- pip install minio
- python tools/ci/get_known_failure_cases_file.py
# run test
- cd tools/ci/python_packages/tiny_test_fw/bin
- run_cmd python Runner.py $COMPONENT_UT_DIRS -c $CONFIG_FILE -e $ENV_FILE --known_failure_cases_file $CI_PROJECT_DIR/known_failure_cases/known_failure_cases.txt
- run_cmd python Runner.py $COMPONENT_UT_DIRS -c $CONFIG_FILE -e $ENV_FILE --known_failure_cases_file $CI_PROJECT_DIR/${KNOWN_FAILURE_CASES_FILE_NAME}
.component_ut_esp32_template:
extends:
@@ -498,7 +517,7 @@ UT_001:
UT_002:
extends: .unit_test_esp32_template
parallel: 15
parallel: 16
tags:
- ESP32_IDF
- UT_T1_1
@@ -533,7 +552,7 @@ UT_006:
UT_007:
extends: .unit_test_esp32_template
parallel: 7
parallel: 8
tags:
- ESP32_IDF
- UT_T1_1
@@ -684,7 +703,7 @@ UT_046:
UT_047:
extends: .unit_test_esp32s2_template
parallel: 7
parallel: 8
tags:
- ESP32S2_IDF
- UT_T1_1
@@ -703,7 +722,7 @@ UT_S2_SDSPI:
UT_C3:
extends: .unit_test_esp32c3_template
parallel: 35
parallel: 36
tags:
- ESP32C3_IDF
- UT_T1_1
@@ -747,7 +766,7 @@ UT_C3_SDSPI:
UT_S3:
extends: .unit_test_esp32s3_template
parallel: 32
parallel: 33
tags:
- ESP32S3_IDF
- UT_T1_1
@@ -767,203 +786,14 @@ UT_S3_FLASH:
component_ut_test_ip101:
extends: .component_ut_esp32_template
image: $CI_DOCKER_REGISTRY/ubuntu-test-env
tags:
- ESP32
- COMPONENT_UT_IP101
- eth_ip101
component_ut_test_lan8720:
extends: .component_ut_esp32_template
image: $CI_DOCKER_REGISTRY/ubuntu-test-env
tags:
- ESP32
- COMPONENT_UT_LAN8720
.integration_test_template:
extends:
- .target_test_job_template
- .rules:test:integration_test
needs: # the assign already needs all the build jobs
- assign_integration_test
variables:
LOCAL_ENV_CONFIG_PATH: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/ESP32_IDF"
LOG_PATH: "${CI_PROJECT_DIR}/TEST_LOGS"
TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/auto_test_script/TestCaseFiles"
CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/tools/ci/integration_test/test_configs"
KNOWN_ISSUE_FILE: "${CI_PROJECT_DIR}/tools/ci/integration_test/KnownIssues"
CI_RUNNER_SCRIPT: "${CI_PROJECT_DIR}/auto_test_script/bin/CIRunner.py"
PREPARE_TEST_BIN_SCRIPT: "${CI_PROJECT_DIR}/tools/ci/integration_test/prepare_test_bins.py"
PYTHONPATH: "${CI_PROJECT_DIR}/auto_test_script/packages:${PYTHONPATH}"
INITIAL_CONDITION_RETRY_COUNT: "1"
# auto_test_script only supports python 3.7.x
PYTHON_VER: 3.7.7
script:
- *define_config_file_name
# first test if config file exists, if not exist, exit 0
- test -e $CONFIG_FILE || exit 0
# clone local test env configs
- retry_failed git clone $TEST_ENV_CONFIG_REPO
- python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
# clone test bench
# can not retry if downing git lfs files failed, so using empty_branch first.
- retry_failed git clone ${CI_AUTO_TEST_SCRIPT_REPO_URL} -b empty_branch
- retry_failed git -C auto_test_script checkout -f ${CI_AUTO_TEST_SCRIPT_REPO_BRANCH}
- python $CHECKOUT_REF_SCRIPT auto_test_script auto_test_script --customized_only
- cat ${KNOWN_ISSUE_FILE} >> ${TEST_CASE_FILE_PATH}/KnownIssues
# run test
- python ${PREPARE_TEST_BIN_SCRIPT} $CONFIG_FILE
- python ${CI_RUNNER_SCRIPT} -l "$LOG_PATH/$JOB_FULL_NAME" -c $CONFIG_FILE -e $LOCAL_ENV_CONFIG_PATH -t $TEST_CASE_FILE_PATH
.integration_test_esp32c3_template:
extends:
- .integration_test_template
variables:
LOCAL_ENV_CONFIG_PATH: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/ESP32C3_IDF"
nvs_compatible_test:
extends: .integration_test_template
artifacts:
when: always
paths:
- $LOG_PATH
- nvs_wifi.bin
expire_in: 1 mos
tags:
- ESP32_IDF
- NVS_Compatible
script:
- *define_config_file_name
# first test if config file exists, if not exist, exit 0
- test -e $CONFIG_FILE || exit 0
# clone local test env configs
- retry_failed git clone $TEST_ENV_CONFIG_REPO
- python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
# clone test bench
# can not retry if downing git lfs files failed, so using empty_branch first.
- retry_failed git clone ${CI_AUTO_TEST_SCRIPT_REPO_URL} -b empty_branch
- retry_failed git -C auto_test_script checkout -f ${CI_AUTO_TEST_SCRIPT_REPO_BRANCH}
- python $CHECKOUT_REF_SCRIPT auto_test_script auto_test_script --customized_only
# prepare nvs bins
- cd auto_test_script
- ./tools/prepare_nvs_bin.sh
# run test
- python ${PREPARE_TEST_BIN_SCRIPT} $CONFIG_FILE
- python ${CI_RUNNER_SCRIPT} -l "$LOG_PATH/$JOB_FULL_NAME" -c $CONFIG_FILE -e $LOCAL_ENV_CONFIG_PATH -t $TEST_CASE_FILE_PATH
IT_001:
extends: .integration_test_template
parallel: 2
tags:
- ESP32_IDF
- SSC_T1_4
IT_002:
extends: .integration_test_template
tags:
- ESP32_IDF
- SSC_T1_2
IT_003:
extends: .integration_test_template
parallel: 9
tags:
- ESP32_IDF
- SSC_T2_5
IT_005:
extends: .integration_test_template
tags:
- ESP32_IDF
- SSC_T1_5
IT_006:
extends: .integration_test_template
parallel: 5
tags:
- ESP32_IDF
- SSC_T1_6
IT_007:
extends: .integration_test_template
tags:
- ESP32_IDF
- SSC_T1_7
IT_008:
extends: .integration_test_template
tags:
- ESP32_IDF
- SSC_T1_8
IT_011:
extends: .integration_test_template
tags:
- ESP32_IDF
- SSC_T1_MESH1
IT_012:
extends: .integration_test_template
parallel: 2
tags:
- ESP32_IDF
- SSC_T2_MESH1
IT_013:
extends: .integration_test_template
tags:
- ESP32_IDF
- SSC_T3_MESH1
IT_014:
extends: .integration_test_template
tags:
- ESP32_IDF
- SSC_T6_MESH1
IT_015:
extends: .integration_test_template
tags:
- ESP32_IDF
- SSC_T12_MESH1
IT_016:
extends: .integration_test_template
allow_failure: true
tags:
- ESP32_IDF
- SSC_T50_MESH1
IT_017:
extends: .integration_test_template
tags:
- ESP32_IDF
- SSC_T1_MESH2
IT_018:
extends: .integration_test_template
tags:
- ESP32_IDF
- SSC_T1_9
IT_019:
extends: .integration_test_template
tags:
- ESP32_IDF
- SSC_T2_2
IT_020:
extends: .integration_test_template
tags:
- ESP32_IDF
- SSC_T2_3
IT_022:
extends: .integration_test_template
tags:
- ESP32_IDF
- SSC_T3_2
IT_C3_001:
extends: .integration_test_esp32c3_template
parallel: 6
tags:
- ESP32C3_IDF
- SSC_T2_5
- eth_lan8720

53
.gitmodules vendored
View File

@@ -2,6 +2,26 @@
# All the relative URL paths are intended to be GitHub ones
# For Espressif's public projects please use '../../espressif/proj', not a '../proj'
#
# Submodules SBOM information
# ---------------------------
# Submodules, which are used directly and not forked into espressif namespace should
# contain SBOM information here. Other submodules should have the SBOM manifest file
# included in the root of their project's repository.
#
# The sbom-hash entry records the submodule's checkout SHA as presented in git-tree
# commit object. For example spiffs submodule
#
# $ git ls-tree HEAD components/spiffs/spiffs
# 160000 commit 0dbb3f71c5f6fae3747a9d935372773762baf852 components/spiffs/spiffs
#
# The hash can be also obtained with git submodule command
#
# $ git submodule status components/spiffs/spiffs
# 0dbb3f71c5f6fae3747a9d935372773762baf852 components/spiffs/spiffs (0.2-255-g0dbb3f71c5f6)
#
# The submodule SHA recorded here has to match with SHA, which is presented in git-tree.
# This is checked by CI. Also please don't forget to update the submodule version
# if you are changing the sbom-hash. This is important for SBOM generation.
[submodule "components/esptool_py/esptool"]
path = components/esptool_py/esptool
@@ -14,6 +34,12 @@
[submodule "components/bootloader/subproject/components/micro-ecc/micro-ecc"]
path = components/bootloader/subproject/components/micro-ecc/micro-ecc
url = ../../kmackay/micro-ecc.git
sbom-version = 1.1
sbom-cpe = cpe:2.3:a:micro-ecc_project:micro-ecc:{}:*:*:*:*:*:*:*
sbom-supplier = Person: Ken MacKay
sbom-url = https://github.com/kmackay/micro-ecc
sbom-description = A small and fast ECDH and ECDSA implementation for 8-bit, 32-bit, and 64-bit processors
sbom-hash = 24c60e243580c7868f4334a1ba3123481fe1aa48
[submodule "components/coap/libcoap"]
path = components/coap/libcoap
@@ -30,10 +56,21 @@
[submodule "components/spiffs/spiffs"]
path = components/spiffs/spiffs
url = ../../pellepl/spiffs.git
sbom-version = 0.2-255-g0dbb3f71c5f6
sbom-supplier = Person: Peter Andersson
sbom-url = https://github.com/pellepl/spiffs
sbom-description = Wear-leveled SPI flash file system for embedded devices
sbom-hash = 0dbb3f71c5f6fae3747a9d935372773762baf852
[submodule "components/json/cJSON"]
path = components/json/cJSON
url = ../../DaveGamble/cJSON.git
sbom-version = 1.7.17
sbom-cpe = cpe:2.3:a:cjson_project:cjson:{}:*:*:*:*:*:*:*
sbom-supplier = Person: Dave Gamble
sbom-url = https://github.com/DaveGamble/cJSON
sbom-description = Ultralightweight JSON parser in ANSI C
sbom-hash = 87d8f0961a01bf09bef98ff89bae9fdec42181ee
[submodule "components/mbedtls/mbedtls"]
path = components/mbedtls/mbedtls
@@ -58,10 +95,21 @@
[submodule "components/protobuf-c/protobuf-c"]
path = components/protobuf-c/protobuf-c
url = ../../protobuf-c/protobuf-c.git
sbom-version = 1.4.1
sbom-cpe = cpe:2.3:a:protobuf-c_project:protobuf-c:{}:*:*:*:*:*:*:*
sbom-supplier = Organization: protobuf-c community <https://groups.google.com/g/protobuf-c>
sbom-url = https://github.com/protobuf-c/protobuf-c
sbom-description = Protocol Buffers implementation in C
sbom-hash = abc67a11c6db271bedbb9f58be85d6f4e2ea8389
[submodule "components/unity/unity"]
path = components/unity/unity
url = ../../ThrowTheSwitch/Unity.git
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 = 7d2bf62b7e6afaf38153041a9d53c21aeeca9a25
[submodule "examples/build_system/cmake/import_lib/main/lib/tinyxml2"]
path = examples/build_system/cmake/import_lib/main/lib/tinyxml2
@@ -90,6 +138,11 @@
[submodule "components/cmock/CMock"]
path = components/cmock/CMock
url = ../../ThrowTheSwitch/CMock.git
sbom-version = v2.5.2-2-geeecc49ce8af
sbom-supplier = Organization: ThrowTheSwitch community <http://www.throwtheswitch.org>
sbom-url = https://github.com/ThrowTheSwitch/CMock
sbom-description = CMock - Mock/stub generator for C
sbom-hash = eeecc49ce8af123cf8ad40efdb9673e37b56230f
[submodule "components/openthread/openthread"]
path = components/openthread/openthread

View File

@@ -1,6 +1,8 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
default_stages: [commit]
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.1
@@ -29,16 +31,17 @@ repos:
- id: mixed-line-ending
args: ['-f=lf']
- id: double-quote-string-fixer
- repo: https://gitlab.com/pycqa/flake8
- repo: https://github.com/PyCQA/flake8
rev: 3.9.2
hooks:
- id: flake8
args: ['--config=.flake8', '--tee', '--benchmark']
- repo: https://github.com/pycqa/isort
rev: 5.9.3
- repo: https://github.com/asottile/reorder-python-imports
rev: v3.12.0
hooks:
- id: isort
name: isort (python)
- id: reorder-python-imports
name: Reorder Python imports
args: [--py36-plus]
exclude: >
(?x)^(
.*_pb2.py
@@ -102,8 +105,8 @@ repos:
name: Check type annotations in python files
entry: tools/ci/check_type_comments.py
additional_dependencies:
- 'mypy==0.800'
- 'mypy-extensions==0.4.3'
- 'mypy==1.0.1'
- 'mypy-extensions==1.0.0'
exclude: >
(?x)^(
.*_pb2.py
@@ -123,3 +126,8 @@ repos:
hooks:
- id: file-contents-sorter
files: 'tools\/ci\/(executable-list\.txt|mypy_ignore_list\.txt)'
- repo: https://github.com/espressif/esp-idf-sbom.git
rev: v0.13.0
hooks:
- id: validate-sbom-manifest
stages: [post-commit]

View File

@@ -13,6 +13,10 @@ mainmenu "Espressif IoT Development Framework Configuration"
bool
option env="IDF_ENV_FPGA"
config IDF_CI_BUILD
bool
default y if "$(IDF_CI_BUILD)" = "y" || "$(IDF_CI_BUILD)" = 1
config IDF_TARGET_ARCH_RISCV
bool
default "n"

View File

@@ -50,10 +50,12 @@ idf_component_register(SRCS "${srcs}"
PRIV_REQUIRES soc esp_ipc
LDFRAGMENTS linker.lf)
# disable --coverage for this component, as it is used as transport
# for gcov
target_compile_options(${COMPONENT_LIB} PRIVATE "-fno-profile-arcs" "-fno-test-coverage")
# Force app_trace to also appear later than gcov in link line
idf_component_get_property(app_trace app_trace COMPONENT_LIB)
target_link_libraries(${COMPONENT_LIB} INTERFACE $<TARGET_FILE:${app_trace}> gcov $<TARGET_FILE:${app_trace}> c)
if(CONFIG_APPTRACE_GCOV_ENABLE)
# disable --coverage for this component, as it is used as transport
# for gcov
target_compile_options(${COMPONENT_LIB} PRIVATE "-fno-profile-arcs" "-fno-test-coverage")
# Force app_trace to appear later than gcov in link line
idf_component_get_property(app_trace app_trace COMPONENT_LIB)
target_link_libraries(${COMPONENT_LIB} INTERFACE
"-Wl,--undefined=gcov_rtio_atexit" $<TARGET_FILE:${app_trace}> gcov $<TARGET_FILE:${app_trace}> c)
endif()

View File

@@ -181,13 +181,18 @@ esp_err_t esp_ota_write(esp_ota_handle_t handle, const void *data, size_t size)
return ESP_ERR_INVALID_ARG;
}
if (size == 0) {
ESP_LOGD(TAG, "write data size is 0");
return ESP_OK;
}
// find ota handle in linked list
for (it = LIST_FIRST(&s_ota_ops_entries_head); it != NULL; it = LIST_NEXT(it, entries)) {
if (it->handle == handle) {
if (it->need_erase) {
// must erase the partition before writing to it
uint32_t first_sector = it->wrote_size / SPI_FLASH_SEC_SIZE;
uint32_t last_sector = (it->wrote_size + size) / SPI_FLASH_SEC_SIZE;
uint32_t first_sector = it->wrote_size / SPI_FLASH_SEC_SIZE; // first affected sector
uint32_t last_sector = (it->wrote_size + size - 1) / SPI_FLASH_SEC_SIZE; // last affected sector
ret = ESP_OK;
if ((it->wrote_size % SPI_FLASH_SEC_SIZE) == 0) {
@@ -919,8 +924,8 @@ esp_err_t esp_ota_revoke_secure_boot_public_key(esp_ota_secure_boot_public_key_i
if (trusted_keys.key_digests[i] != NULL) {
bool all_zeroes = true;
for (unsigned j = 0; j < ESP_SECURE_BOOT_DIGEST_LEN; j++) {
all_zeroes = all_zeroes && (*(uint8_t *)(trusted_keys.key_digests[i] + j) == 0);
for (unsigned j = 0; j < ESP_SECURE_BOOT_DIGEST_LEN; j+=4) {
all_zeroes = all_zeroes && (*(uint32_t *)(trusted_keys.key_digests[i] + j) == 0);
}
if (!all_zeroes) {
memcpy(trusted_digests.key_digests[trusted_digests.num_digests++], (uint8_t *)trusted_keys.key_digests[i], ESP_SECURE_BOOT_DIGEST_LEN);

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -103,7 +103,7 @@ esp_err_t esp_ota_begin(const esp_partition_t* partition, size_t image_size, esp
* @param size Size of data buffer in bytes.
*
* @return
* - ESP_OK: Data was written to flash successfully.
* - ESP_OK: Data was written to flash successfully, or size = 0
* - ESP_ERR_INVALID_ARG: handle is invalid.
* - ESP_ERR_OTA_VALIDATE_FAILED: First byte of image contains invalid app image magic byte.
* - ESP_ERR_FLASH_OP_TIMEOUT or ESP_ERR_FLASH_OP_FAIL: Flash write failed.

View File

@@ -62,34 +62,66 @@ menu "Bootloader config"
default 4 if BOOTLOADER_LOG_LEVEL_DEBUG
default 5 if BOOTLOADER_LOG_LEVEL_VERBOSE
config BOOTLOADER_SPI_CUSTOM_WP_PIN
bool "Use custom SPI Flash WP Pin when flash pins set in eFuse (read help)"
depends on IDF_TARGET_ESP32 && (ESPTOOLPY_FLASHMODE_QIO || ESPTOOLPY_FLASHMODE_QOUT)
default y if BOOTLOADER_SPI_WP_PIN != 7 # backwards compatibility, can remove in IDF 5
default n
help
This setting is only used if the SPI flash pins have been overridden by setting the eFuses
SPI_PAD_CONFIG_xxx, and the SPI flash mode is QIO or QOUT.
menu "Serial Flash Configurations"
config BOOTLOADER_SPI_CUSTOM_WP_PIN
bool "Use custom SPI Flash WP Pin when flash pins set in eFuse (read help)"
depends on IDF_TARGET_ESP32 && (ESPTOOLPY_FLASHMODE_QIO || ESPTOOLPY_FLASHMODE_QOUT)
default y if BOOTLOADER_SPI_WP_PIN != 7 # backwards compatibility, can remove in IDF 5
default n
help
This setting is only used if the SPI flash pins have been overridden by setting the eFuses
SPI_PAD_CONFIG_xxx, and the SPI flash mode is QIO or QOUT.
When this is the case, the eFuse config only defines 3 of the 4 Quad I/O data pins. The WP pin (aka
ESP32 pin "SD_DATA_3" or SPI flash pin "IO2") is not specified in eFuse. The same pin is also used
for external SPIRAM if it is enabled.
When this is the case, the eFuse config only defines 3 of the 4 Quad I/O data pins. The WP pin (aka
ESP32 pin "SD_DATA_3" or SPI flash pin "IO2") is not specified in eFuse. The same pin is also used
for external SPIRAM if it is enabled.
If this config item is set to N (default), the correct WP pin will be automatically used for any
Espressif chip or module with integrated flash. If a custom setting is needed, set this config item to
Y and specify the GPIO number connected to the WP.
If this config item is set to N (default), the correct WP pin will be automatically used for any
Espressif chip or module with integrated flash. If a custom setting is needed, set this config item to
Y and specify the GPIO number connected to the WP.
config BOOTLOADER_SPI_WP_PIN
int "Custom SPI Flash WP Pin"
range 0 33
default 7
depends on IDF_TARGET_ESP32 && (ESPTOOLPY_FLASHMODE_QIO || ESPTOOLPY_FLASHMODE_QOUT)
#depends on BOOTLOADER_SPI_CUSTOM_WP_PIN # backwards compatibility, can uncomment in IDF 5
help
The option "Use custom SPI Flash WP Pin" must be set or this value is ignored
config BOOTLOADER_SPI_WP_PIN
int "Custom SPI Flash WP Pin"
range 0 33
default 7
depends on IDF_TARGET_ESP32 && (ESPTOOLPY_FLASHMODE_QIO || ESPTOOLPY_FLASHMODE_QOUT)
#depends on BOOTLOADER_SPI_CUSTOM_WP_PIN # backwards compatibility, can uncomment in IDF 5
help
The option "Use custom SPI Flash WP Pin" must be set or this value is ignored
If burning a customized set of SPI flash pins in eFuse and using QIO or QOUT mode for flash, set this
value to the GPIO number of the SPI flash WP pin.
If burning a customized set of SPI flash pins in eFuse and using QIO or QOUT mode for flash, set this
value to the GPIO number of the SPI flash WP pin.
config BOOTLOADER_FLASH_DC_AWARE
bool "Allow app adjust Dummy Cycle bits in SPI Flash for higher frequency (READ HELP FIRST)"
help
This will force 2nd bootloader to be loaded by DOUT mode, and will restore Dummy Cycle setting by
resetting the Flash
config BOOTLOADER_FLASH_XMC_SUPPORT
bool "Enable the support for flash chips of XMC (READ DOCS FIRST)"
default y
help
Perform the startup flow recommended by XMC. Please consult XMC for the details of this flow.
XMC chips will be forbidden to be used, when this option is disabled.
DON'T DISABLE THIS UNLESS YOU KNOW WHAT YOU ARE DOING.
comment "Features below require specific hardware (READ DOCS FIRST!)"
config BOOTLOADER_FLASH_32BIT_ADDR
bool
default y if ESPTOOLPY_FLASHSIZE_32MB || ESPTOOLPY_FLASHSIZE_64MB || ESPTOOLPY_FLASHSIZE_128MB
default n
help
This is a helper config for 32bits address flash. Invisible for users.
config BOOTLOADER_CACHE_32BIT_ADDR_OCTAL_FLASH
bool
default y if ESPTOOLPY_OCT_FLASH && BOOTLOADER_FLASH_32BIT_ADDR
default n
endmenu
choice BOOTLOADER_VDDSDIO_BOOST
bool "VDDSDIO LDO voltage"
@@ -385,7 +417,6 @@ menu "Bootloader config"
config BOOTLOADER_CUSTOM_RESERVE_RTC_SIZE
hex "Size in bytes for custom purposes"
range 0 0x10
default 0
depends on BOOTLOADER_CUSTOM_RESERVE_RTC
help
@@ -394,14 +425,6 @@ menu "Bootloader config"
in this area of memory, you can increase it. It must be a multiple of 4 bytes.
This area (rtc_retain_mem_t) is reserved and has access from the bootloader and an application.
config BOOTLOADER_FLASH_XMC_SUPPORT
bool "Enable the support for flash chips of XMC (READ HELP FIRST)"
default y
help
Perform the startup flow recommended by XMC. Please consult XMC for the details of this flow.
XMC chips will be forbidden to be used, when this option is disabled.
DON'T DISABLE THIS UNLESS YOU KNOW WHAT YOU ARE DOING.
endmenu # Bootloader
@@ -429,17 +452,22 @@ menu "Security features"
select MBEDTLS_ECDSA_C
depends on SECURE_SIGNED_ON_BOOT || SECURE_SIGNED_ON_UPDATE
config SECURE_ESP32_SUPPORTS_RSA
bool
default y if ESP32_REV_MIN_FULL >= 300
depends on IDF_TARGET_ESP32
config SECURE_BOOT_SUPPORTS_RSA
bool
default y
depends on ESP32_REV_MIN_3 || IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3
# RSA secure boot is supported in ESP32 revision >= v3.0
depends on SECURE_ESP32_SUPPORTS_RSA || IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 # NOERROR
config SECURE_TARGET_HAS_SECURE_ROM_DL_MODE
bool
default y
depends on IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3
config SECURE_SIGNED_APPS_NO_SECURE_BOOT
bool "Require signed app images"
depends on !SECURE_BOOT
@@ -509,7 +537,8 @@ menu "Security features"
config SECURE_BOOT
bool "Enable hardware Secure Boot in bootloader (READ DOCS FIRST)"
default n
depends on IDF_TARGET_ESP32 || IDF_TARGET_ESP32S2 || ESP32C3_REV_MIN >= 3 || IDF_TARGET_ESP32S3
# Secure boot is not supported for ESP32-C3 revision < v0.3
depends on IDF_TARGET_ESP32 || IDF_TARGET_ESP32S2 || (IDF_TARGET_ESP32C3 && ESP32C3_REV_MIN_FULL >= 3) || IDF_TARGET_ESP32S3 # NOERROR
select ESPTOOLPY_NO_STUB if !IDF_TARGET_ESP32 && !IDF_TARGET_ESP32S2
help
Build a bootloader which enables Secure Boot on first boot.
@@ -522,7 +551,7 @@ menu "Security features"
choice SECURE_BOOT_VERSION
bool "Select secure boot version"
default SECURE_BOOT_V2_ENABLED if ESP32_REV_MIN_3
default SECURE_BOOT_V2_ENABLED if ESP32_REV_MIN_FULL >= 300
depends on SECURE_BOOT
help
Select the Secure Boot Version. Depends on the Chip Revision.
@@ -875,7 +904,7 @@ menu "Security features"
default SECURE_ENABLE_SECURE_ROM_DL_MODE if SECURE_TARGET_HAS_SECURE_ROM_DL_MODE && !SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT # NOERROR
default SECURE_INSECURE_ALLOW_DL_MODE
depends on SECURE_BOOT_V2_ENABLED || SECURE_FLASH_ENC_ENABLED
depends on !IDF_TARGET_ESP32 || ESP32_REV_MIN_3
depends on !(IDF_TARGET_ESP32 && ESP32_REV_MIN_FULL < 300)
config SECURE_DISABLE_ROM_DL_MODE
bool "UART ROM download mode (Permanently disabled (recommended))"
@@ -901,9 +930,9 @@ menu "Security features"
Download Mode into a separate Secure Download mode. This option can only work if
Download Mode is not already disabled by eFuse.
Secure Download mode limits the use of Download Mode functions to simple flash read,
write and erase operations, plus a command to return a summary of currently enabled
security features.
Secure Download mode limits the use of Download Mode functions to update SPI config,
changing baud rate, basic flash write and a command to return a summary of currently
enabled security features (`get_security_info`).
Secure Download mode is not compatible with the esptool.py flasher stub feature,
espefuse.py, read/writing memory or registers, encrypted download, or any other

View File

@@ -23,3 +23,5 @@ CONFIG_FLASH_ENCRYPTION_UART_BOOTLOADER_ALLOW_CACHE CONFIG_SECURE_FLASH_
# Secure Boot Scheme
CONFIG_SECURE_BOOT_ENABLED CONFIG_SECURE_BOOT_V1_ENABLED
CONFIG_SPI_FLASH_OCTAL_32BIT_ADDR_ENABLE CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_OCTAL_FLASH

View File

@@ -17,7 +17,7 @@ ifdef CONFIG_IDF_TARGET_ESP32
ifndef CONFIG_SPI_FLASH_ROM_DRIVER_PATCH
LINKER_SCRIPTS += $(IDF_PATH)/components/esp_rom/$(IDF_TARGET)/ld/$(IDF_TARGET).rom.spiflash.ld
endif
ifdef CONFIG_ESP32_REV_MIN_3
ifeq ($(shell expr $(CONFIG_ESP32_REV_MIN_FULL) \>= 300), 1)
LINKER_SCRIPTS += $(IDF_PATH)/components/esp_rom/$(IDF_TARGET)/ld/$(IDF_TARGET).rom.eco3.ld
endif
endif

View File

@@ -44,7 +44,7 @@ SECTIONS
*libbootloader_support.a:bootloader_random.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
*libesp_common.a:fpga_overrides.*(.literal.bootloader_fill_random .text.bootloader_fill_random)
*libbootloader_support.a:bootloader_efuse_esp32.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_efuse.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_utility.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_sha.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_console_loader.*(.literal .text .literal.* .text.*)
@@ -60,6 +60,7 @@ SECTIONS
*libmicro-ecc.a:*.*(.literal .text .literal.* .text.*)
*libspi_flash.a:*.*(.literal .text .literal.* .text.*)
*libhal.a:wdt_hal_iram.*(.literal .text .literal.* .text.*)
*libhal.a:efuse_hal.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_clk.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
*libefuse.a:*.*(.literal .text .literal.* .text.*)
@@ -182,4 +183,23 @@ SECTIONS
_etext = .;
} > iram_seg
/** This section will be used by the debugger and disassembler to get more information
* about raw data present in the code.
* Indeed, it may be required to add some padding at some points in the code
* in order to align a branch/jump destination on a particular bound.
* Padding these instructions will generate null bytes that shall be
* interpreted as data, and not code by the debugger or disassembler.
* This section will only be present in the ELF file, not in the final binary
* For more details, check GCC-212
*/
.xt.prop 0 :
{
KEEP (*(.xt.prop .gnu.linkonce.prop.*))
}
.xt.lit 0 :
{
KEEP (*(.xt.lit .gnu.linkonce.p.*))
}
}

View File

@@ -1,16 +1,50 @@
/** Simplified memory map for the bootloader.
* Make sure the bootloader can load into main memory without overwriting itself.
* We put 2nd bootloader in the high address space (before ROM stack/data/bss).
* See memory usage for ROM bootloader at the end of this file.
*
* ESP32-C3 ROM static data usage is as follows:
* - 0x3fccae00 - 0x3fcdc710: Shared buffers, used in UART/USB/SPI download mode only
* - 0x3fcdc710 - 0x3fcde710: PRO CPU stack, can be reclaimed as heap after RTOS startup
* - 0x3fcde710 - 0x3fce0000: ROM .bss and .data (not easily reclaimable)
*
* The 2nd stage bootloader can take space up to the end of ROM shared
* buffers area (0x3fcdc710).
*/
/* The offset between Dbus and Ibus. Used to convert between 0x403xxxxx and 0x3fcxxxxx addresses. */
iram_dram_offset = 0x700000;
/* We consider 0x3fcdc710 to be the last usable address for 2nd stage bootloader stack overhead, dram_seg,
* and work out iram_seg and iram_loader_seg addresses from there, backwards.
*/
/* These lengths can be adjusted, if necessary: */
bootloader_usable_dram_end = 0x3fcdc710;
bootloader_stack_overhead = 0x2000; /* For safety margin between bootloader data section and startup stacks */
bootloader_dram_seg_len = 0x5000;
bootloader_iram_loader_seg_len = 0x7000;
bootloader_iram_seg_len = 0x2000;
/* Start of the lower region is determined by region size and the end of the higher region */
bootloader_dram_seg_end = bootloader_usable_dram_end - bootloader_stack_overhead;
bootloader_dram_seg_start = bootloader_dram_seg_end - bootloader_dram_seg_len;
bootloader_iram_loader_seg_start = bootloader_dram_seg_start - bootloader_iram_loader_seg_len + iram_dram_offset;
bootloader_iram_seg_start = bootloader_iram_loader_seg_start - bootloader_iram_seg_len;
MEMORY
{
iram_seg (RWX) : org = 0x403CE000, len = 0x2000
iram_loader_seg (RWX) : org = 0x403D0000, len = 0x6000
dram_seg (RW) : org = 0x3FCD6000, len = 0x4000
iram_seg (RWX) : org = bootloader_iram_seg_start, len = bootloader_iram_seg_len
iram_loader_seg (RWX) : org = bootloader_iram_loader_seg_start, len = bootloader_iram_loader_seg_len
dram_seg (RW) : org = bootloader_dram_seg_start, len = bootloader_dram_seg_len
}
/* The app may use RAM for static allocations up to the start of iram_loader_seg.
* If you have changed something above and this assert fails:
* 1. Check what the new value of bootloader_iram_loader_seg start is.
* 2. Update the value in this assert.
* 3. Update (SRAM_DRAM_END + I_D_SRAM_OFFSET) in components/esp_system/ld/esp32c3/memory.ld.in to the same value.
*/
ASSERT(bootloader_iram_loader_seg_start == 0x403ce710, "bootloader_iram_loader_seg_start inconsistent with SRAM_DRAM_END");
/* Default entry point: */
ENTRY(call_start_cpu0);
@@ -31,7 +65,7 @@ SECTIONS
*libbootloader_support.a:bootloader_random.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
*libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_enable .text.bootloader_random_enable)
*libbootloader_support.a:bootloader_efuse_esp32c3.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_efuse.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_utility.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_sha.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_console_loader.*(.literal .text .literal.* .text.*)
@@ -47,6 +81,7 @@ SECTIONS
*libmicro-ecc.a:*.*(.literal .text .literal.* .text.*)
*libspi_flash.a:*.*(.literal .text .literal.* .text.*)
*libhal.a:wdt_hal_iram.*(.literal .text .literal.* .text.*)
*libhal.a:efuse_hal.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_clk.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)
@@ -176,17 +211,34 @@ SECTIONS
/**
* Appendix: Memory Usage of ROM bootloader
*
* +--------+--------------+------+ 0x3FCC_AE00
* | ^ |
* | | |
* | | data/bss |
* | | |
* | v |
* +------------------------------+ 0x3FCD_C710
* | ^ |
* | | |
* | | stack |
* | | |
* | v |
* +------------------------------+ 0x3FCD_E710
* 0x3fccae00 ------------------> _dram0_0_start
* | |
* | |
* | | 1. Large buffers that are only used in certain boot modes, see shared_buffers.h
* | |
* | |
* 0x3fcdc710 ------------------> __stack_sentry
* | |
* | | 2. Startup pro cpu stack (freed when IDF app is running)
* | |
* 0x3fcde710 ------------------> __stack (pro cpu)
* | |
* | |
* | | 3. Shared memory only used in startup code or nonos/early boot*
* | | (can be freed when IDF runs)
* | |
* | |
* 0x3fcdf060 ------------------> _dram0_rtos_reserved_start
* | |
* | |
* | | 4. Shared memory used in startup code and when IDF runs
* | |
* | |
* 0x3fcdf664 ------------------> _dram0_rtos_reserved_end
* | |
* 0x3fcdf830 ------------------> _data_start_interface
* | |
* | | 5. End of DRAM is the 'interface' data with constant addresses (ECO compatible)
* | |
* 0x3fce0000 ------------------> _data_end_interface
*/

View File

@@ -1,14 +1,40 @@
/** Simplified memory map for the bootloader.
* Make sure the bootloader can load into main memory without overwriting itself.
* We put 2nd bootloader in the high address space (before ROM stack/data/bss).
* See memory usage for ROM bootloader at the end of this file.
*
* ESP32-H2 ROM static data usage is as follows:
* - 0x3fccb900 - 0x3fcdd210: Shared buffers, used in UART/USB/SPI download mode only
* - 0x3fcdd210 - 0x3fcdf210: PRO CPU stack, can be reclaimed as heap after RTOS startup
* - 0x3fcdf210 - 0x3fce0000: ROM .bss and .data (not easily reclaimable)
*
* The 2nd stage bootloader can take space up to the end of ROM shared
* buffers area (0x3fce9704). For alignment purpose we shall use value (0x3fce9700).
*/
/* The offset between Dbus and Ibus. Used to convert between 0x403xxxxx and 0x3fcxxxxx addresses. */
iram_dram_offset = 0x700000;
/* We consider 0x3fce9700 to be the last usable address for 2nd stage bootloader stack overhead, dram_seg,
* and work out iram_seg and iram_loader_seg addresses from there, backwards.
*/
/* These lengths can be adjusted, if necessary: */
bootloader_usable_dram_end = 0x3fcdd120;
bootloader_stack_overhead = 0x2000; /* For safety margin between bootloader data section and startup stacks */
bootloader_dram_seg_len = 0x5000;
bootloader_iram_loader_seg_len = 0x7000;
bootloader_iram_seg_len = 0x2000;
/* Start of the lower region is determined by region size and the end of the higher region */
bootloader_dram_seg_end = bootloader_usable_dram_end - bootloader_stack_overhead;
bootloader_dram_seg_start = bootloader_dram_seg_end - bootloader_dram_seg_len;
bootloader_iram_loader_seg_start = bootloader_dram_seg_start - bootloader_iram_loader_seg_len + iram_dram_offset;
bootloader_iram_seg_start = bootloader_iram_loader_seg_start - bootloader_iram_seg_len;
MEMORY
{
iram_seg (RWX) : org = 0x403CE000, len = 0x2000
iram_loader_seg (RWX) : org = 0x403D0000, len = 0x6000
dram_seg (RW) : org = 0x3FCD6000, len = 0x4000
iram_seg (RWX) : org = bootloader_iram_seg_start, len = bootloader_iram_seg_len
iram_loader_seg (RWX) : org = bootloader_iram_loader_seg_start, len = bootloader_iram_loader_seg_len
dram_seg (RW) : org = bootloader_dram_seg_start, len = bootloader_dram_seg_len
}
/* Default entry point: */
@@ -31,7 +57,7 @@ SECTIONS
*libbootloader_support.a:bootloader_random.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
*libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_enable .text.bootloader_random_enable)
*libbootloader_support.a:bootloader_efuse_esp32h2.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_efuse.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_utility.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_sha.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_console_loader.*(.literal .text .literal.* .text.*)
@@ -45,6 +71,7 @@ SECTIONS
*libmicro-ecc.a:*.*(.literal .text .literal.* .text.*)
*libspi_flash.a:*.*(.literal .text .literal.* .text.*)
*libhal.a:wdt_hal_iram.*(.literal .text .literal.* .text.*)
*libhal.a:efuse_hal.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_clk.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)
@@ -173,17 +200,34 @@ SECTIONS
/**
* Appendix: Memory Usage of ROM bootloader
*
* +--------+--------------+------+ 0x3FCC_B900
* | ^ |
* | | |
* | | data/bss |
* | | |
* | v |
* +------------------------------+ 0x3FCD_D210
* | ^ |
* | | |
* | | stack |
* | | |
* | v |
* +------------------------------+ 0x3FCD_F210
* 0x3fccb81c ------------------> _dram0_0_start
* | |
* | |
* | | 1. Large buffers that are only used in certain boot modes, see shared_buffers.h
* | |
* | |
* 0x3fcdd120 ------------------> __stack_sentry
* | |
* | | 2. Startup pro cpu stack (freed when IDF app is running)
* | |
* 0x3fcdf120 ------------------> __stack (pro cpu)
* | |
* | |
* | | 3. Shared memory only used in startup code or nonos/early boot*
* | | (can be freed when IDF runs)
* | |
* | |
* 0x3fcdfa6c ------------------> _dram0_rtos_reserved_start
* | |
* | |
* | | 4. Shared memory used in startup code and when IDF runs
* | |
* | |
* 0x3fcdfe40 ------------------> _dram0_rtos_reserved_end
* | |
* 0x3fcdfe4c ------------------> _data_start_interface
* | |
* | | 5. End of DRAM is the 'interface' data with constant addresses (ECO compatible)
* | |
* 0x3fce0000 ------------------> _data_end_interface
*/

View File

@@ -31,7 +31,7 @@ SECTIONS
*libbootloader_support.a:bootloader_random.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
*libesp_common.a:fpga_overrides.*(.literal.bootloader_fill_random .text.bootloader_fill_random)
*libbootloader_support.a:bootloader_efuse_esp32s2.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_efuse.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_utility.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_sha.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_console_loader.*(.literal .text .literal.* .text.*)
@@ -47,6 +47,7 @@ SECTIONS
*libmicro-ecc.a:*.*(.literal .text .literal.* .text.*)
*libspi_flash.a:*.*(.literal .text .literal.* .text.*)
*libhal.a:wdt_hal_iram.*(.literal .text .literal.* .text.*)
*libhal.a:efuse_hal.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_clk.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)
@@ -170,4 +171,23 @@ SECTIONS
_etext = .;
} > iram_seg
/** This section will be used by the debugger and disassembler to get more information
* about raw data present in the code.
* Indeed, it may be required to add some padding at some points in the code
* in order to align a branch/jump destination on a particular bound.
* Padding these instructions will generate null bytes that shall be
* interpreted as data, and not code by the debugger or disassembler.
* This section will only be present in the ELF file, not in the final binary
* For more details, check GCC-212
*/
.xt.prop 0 :
{
KEEP (*(.xt.prop .gnu.linkonce.prop.*))
}
.xt.lit 0 :
{
KEEP (*(.xt.lit .gnu.linkonce.p.*))
}
}

View File

@@ -66,7 +66,7 @@ SECTIONS
*libbootloader_support.a:bootloader_random.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
*libesp_common.a:fpga_overrides.*(.literal.bootloader_fill_random .text.bootloader_fill_random)
*libbootloader_support.a:bootloader_efuse_esp32s3.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_efuse.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_utility.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_sha.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_console_loader.*(.literal .text .literal.* .text.*)
@@ -82,6 +82,7 @@ SECTIONS
*libmicro-ecc.a:*.*(.literal .text .literal.* .text.*)
*libspi_flash.a:*.*(.literal .text .literal.* .text.*)
*libhal.a:wdt_hal_iram.*(.literal .text .literal.* .text.*)
*libhal.a:efuse_hal.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_clk.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)
@@ -205,4 +206,62 @@ SECTIONS
_etext = .;
} > iram_seg
/** This section will be used by the debugger and disassembler to get more information
* about raw data present in the code.
* Indeed, it may be required to add some padding at some points in the code
* in order to align a branch/jump destination on a particular bound.
* Padding these instructions will generate null bytes that shall be
* interpreted as data, and not code by the debugger or disassembler.
* This section will only be present in the ELF file, not in the final binary
* For more details, check GCC-212
*/
.xt.prop 0 :
{
KEEP (*(.xt.prop .gnu.linkonce.prop.*))
}
.xt.lit 0 :
{
KEEP (*(.xt.lit .gnu.linkonce.p.*))
}
}
/**
* Appendix: Memory Usage of ROM bootloader
*
* 0x3fcd7e00 ------------------> _dram0_0_start
* | |
* | |
* | | 1. Large buffers that are only used in certain boot modes, see shared_buffers.h
* | |
* | |
* 0x3fce9710 ------------------> __stack_sentry
* | |
* | | 2. Startup pro cpu stack (freed when IDF app is running)
* | |
* 0x3fceb710 ------------------> __stack (pro cpu)
* | |
* | | Startup app cpu stack
* | |
* 0x3fced710 ------------------> __stack_app (app cpu)
* | |
* | |
* | | 3. Shared memory only used in startup code or nonos/early boot*
* | | (can be freed when IDF runs)
* | |
* | |
* 0x3fceee34 ------------------> _dram0_rtos_reserved_start
* | |
* | |
* | | 4. Shared memory used in startup code and when IDF runs
* | |
* | |
* 0x3fcef770 ------------------> _dram0_rtos_reserved_end
* | |
* 0x3fcef81c ------------------> _data_start_interface
* | |
* | | 5. End of DRAM is the 'interface' data with constant addresses (ECO compatible)
* | |
* 0x3fcf0000 ------------------> _data_end_interface
*/

View File

@@ -13,7 +13,7 @@ set(srcs
"src/flash_partitions.c"
"src/flash_qio_mode.c"
"src/bootloader_flash_config_${IDF_TARGET}.c"
"src/bootloader_efuse_${IDF_TARGET}.c"
"src/bootloader_efuse.c"
)
if(BOOTLOADER_BUILD)

View File

@@ -26,7 +26,7 @@
extern "C" {
#endif
/// Type of hold a GPIO in low state
// Type of hold a GPIO in low state
typedef enum {
GPIO_LONG_HOLD = 1, /*!< The long hold GPIO */
GPIO_SHORT_HOLD = -1, /*!< The short hold GPIO */
@@ -187,13 +187,6 @@ int bootloader_common_select_otadata(const esp_ota_select_entry_t *two_otadata,
*/
esp_err_t bootloader_common_get_partition_description(const esp_partition_pos_t *partition, esp_app_desc_t *app_desc);
/**
* @brief Get chip revision
*
* @return Chip revision number
*/
uint8_t bootloader_common_get_chip_revision(void);
/**
* @brief Get chip package
*

View File

@@ -9,6 +9,17 @@
#include <esp_spi_flash.h> /* including in bootloader for error values */
#include "sdkconfig.h"
#include "soc/soc_caps.h"
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/rom/spi_flash.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/spi_flash.h"
#elif CONFIG_IDF_TARGET_ESP32S3
#include "esp32s3/rom/spi_flash.h"
#elif CONFIG_IDF_TARGET_ESP32C3
#include "esp32c3/rom/spi_flash.h"
#elif CONFIG_IDF_TARGET_ESP32H2
#include "esp32h2/rom/spi_flash.h"
#endif
#include "bootloader_flash_override.h"
#ifdef __cplusplus
@@ -48,6 +59,12 @@ esp_err_t bootloader_flash_xmc_startup(void);
*/
esp_err_t IRAM_ATTR __attribute__((weak)) bootloader_flash_unlock(void);
/**
* @brief Get the spi flash working mode.
*
* @return The mode of flash working mode, see `esp_rom_spiflash_read_mode_t`
*/
esp_rom_spiflash_read_mode_t bootloader_flash_get_spi_mode(void);
#ifdef __cplusplus
}

View File

@@ -96,6 +96,18 @@ extern const bootloader_qio_info_t __attribute__((weak)) bootloader_flash_qe_sup
*/
esp_err_t IRAM_ATTR __attribute__((weak)) bootloader_flash_unlock(void);
#if CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_OCTAL_FLASH
/**
* @brief Enable 32bits address flash(larger than 16MB) can map to cache.
*
* @param flash_mode SPI flash working mode.
*
* @note This can be overridden because it's attribute weak.
*/
void __attribute__((weak)) bootloader_flash_32bits_address_map_enable(esp_rom_spiflash_read_mode_t flash_mode);
#endif
#ifdef __cplusplus
}
#endif

View File

@@ -6,6 +6,7 @@
#pragma once
#include <inttypes.h>
#include "esp_assert.h"
/**
* @brief ESP chip ID
@@ -21,7 +22,7 @@ typedef enum {
} __attribute__((packed)) esp_chip_id_t;
/** @cond */
_Static_assert(sizeof(esp_chip_id_t) == 2, "esp_chip_id_t should be 16 bit");
ESP_STATIC_ASSERT(sizeof(esp_chip_id_t) == 2, "esp_chip_id_t should be 16 bit");
/** @endcond */
/**
@@ -78,8 +79,15 @@ typedef struct {
* pin and sets this field to 0xEE=disabled) */
uint8_t spi_pin_drv[3]; /*!< Drive settings for the SPI flash pins (read by ROM bootloader) */
esp_chip_id_t chip_id; /*!< Chip identification number */
uint8_t min_chip_rev; /*!< Minimum chip revision supported by image */
uint8_t reserved[8]; /*!< Reserved bytes in additional header space, currently unused */
uint8_t min_chip_rev; /*!< Minimal chip revision supported by image
* After the Major and Minor revision eFuses were introduced into the chips, this field is no longer used.
* But for compatibility reasons, we keep this field and the data in it.
* Use min_chip_rev_full instead.
* The software interprets this as a Major version for most of the chips and as a Minor version for the ESP32-C3.
*/
uint16_t min_chip_rev_full; /*!< Minimal chip revision supported by image, in format: major * 100 + minor */
uint16_t max_chip_rev_full; /*!< Maximal chip revision supported by image, in format: major * 100 + minor */
uint8_t reserved[4]; /*!< Reserved bytes in additional header space, currently unused */
uint8_t hash_appended; /*!< If 1, a SHA256 digest "simple hash" (of the entire image) is appended after the checksum.
* Included in image length. This digest
* is separate to secure boot and only used for detecting corruption.
@@ -88,7 +96,7 @@ typedef struct {
} __attribute__((packed)) esp_image_header_t;
/** @cond */
_Static_assert(sizeof(esp_image_header_t) == 24, "binary image header should be 24 bytes");
ESP_STATIC_ASSERT(sizeof(esp_image_header_t) == 24, "binary image header should be 24 bytes");
/** @endcond */
@@ -122,4 +130,5 @@ typedef struct {
/** @cond */
_Static_assert(sizeof(esp_app_desc_t) == 256, "esp_app_desc_t should be 256 bytes");
_Static_assert(offsetof(esp_app_desc_t, secure_version) == 4, "secure_version field must be at 4 offset");
/** @endcond */

View File

@@ -12,6 +12,7 @@
#include "esp_spi_flash.h"
#endif
#include "soc/efuse_periph.h"
#include "hal/efuse_hal.h"
#include "sdkconfig.h"
#ifdef CONFIG_EFUSE_VIRTUAL_KEEP_IN_FLASH
@@ -46,19 +47,15 @@ typedef enum {
*/
static inline /** @cond */ IRAM_ATTR /** @endcond */ bool esp_flash_encryption_enabled(void)
{
#ifndef CONFIG_EFUSE_VIRTUAL_KEEP_IN_FLASH
return efuse_hal_flash_encryption_enabled();
#else
uint32_t flash_crypt_cnt = 0;
#if CONFIG_IDF_TARGET_ESP32
#ifndef CONFIG_EFUSE_VIRTUAL_KEEP_IN_FLASH
flash_crypt_cnt = REG_GET_FIELD(EFUSE_BLK0_RDATA0_REG, EFUSE_RD_FLASH_CRYPT_CNT);
#else
esp_efuse_read_field_blob(ESP_EFUSE_FLASH_CRYPT_CNT, &flash_crypt_cnt, ESP_EFUSE_FLASH_CRYPT_CNT[0]->bit_count);
#endif
esp_efuse_read_field_blob(ESP_EFUSE_FLASH_CRYPT_CNT, &flash_crypt_cnt, ESP_EFUSE_FLASH_CRYPT_CNT[0]->bit_count);
#else
#ifndef CONFIG_EFUSE_VIRTUAL_KEEP_IN_FLASH
flash_crypt_cnt = REG_GET_FIELD(EFUSE_RD_REPEAT_DATA1_REG, EFUSE_SPI_BOOT_CRYPT_CNT);
#else
esp_efuse_read_field_blob(ESP_EFUSE_SPI_BOOT_CRYPT_CNT, &flash_crypt_cnt, ESP_EFUSE_SPI_BOOT_CRYPT_CNT[0]->bit_count);
#endif
esp_efuse_read_field_blob(ESP_EFUSE_SPI_BOOT_CRYPT_CNT, &flash_crypt_cnt, ESP_EFUSE_SPI_BOOT_CRYPT_CNT[0]->bit_count);
#endif
/* __builtin_parity is in flash, so we calculate parity inline */
bool enabled = false;
@@ -69,6 +66,7 @@ static inline /** @cond */ IRAM_ATTR /** @endcond */ bool esp_flash_encryption_e
flash_crypt_cnt >>= 1;
}
return enabled;
#endif // CONFIG_EFUSE_VIRTUAL_KEEP_IN_FLASH
}
/* @brief Update on-device flash encryption

View File

@@ -9,6 +9,7 @@
#include <esp_err.h>
#include "esp_flash_partitions.h"
#include "esp_app_format.h"
#include "esp_assert.h"
#ifdef __cplusplus
extern "C" {
@@ -32,6 +33,7 @@ typedef struct {
uint32_t segment_data[ESP_IMAGE_MAX_SEGMENTS]; /* Data offsets for each segment */
uint32_t image_len; /* Length of image on flash, in bytes */
uint8_t image_digest[32]; /* appended SHA-256 digest */
uint32_t secure_version; /* secure version for anti-rollback, it is covered by sha256 (set if CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK=y) */
} esp_image_metadata_t;
typedef enum {
@@ -53,12 +55,18 @@ typedef struct {
uint32_t crc; /*!< Check sum crc32 */
} rtc_retain_mem_t;
ESP_STATIC_ASSERT(offsetof(rtc_retain_mem_t, crc) == sizeof(rtc_retain_mem_t) - sizeof(uint32_t), "CRC field must be the last field of rtc_retain_mem_t structure");
#ifdef CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC
_Static_assert(CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC_SIZE % 4 == 0, "CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC_SIZE must be a multiple of 4 bytes");
ESP_STATIC_ASSERT(CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC_SIZE % 4 == 0, "CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC_SIZE must be a multiple of 4 bytes");
/* The custom field must be the penultimate field */
ESP_STATIC_ASSERT(offsetof(rtc_retain_mem_t, custom) == sizeof(rtc_retain_mem_t) - sizeof(uint32_t) - CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC_SIZE,
"custom field in rtc_retain_mem_t structure must be the field before the CRC one");
#endif
#if defined(CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP) || defined(CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC)
_Static_assert(CONFIG_BOOTLOADER_RESERVE_RTC_SIZE % 4 == 0, "CONFIG_BOOTLOADER_RESERVE_RTC_SIZE must be a multiple of 4 bytes");
ESP_STATIC_ASSERT(CONFIG_BOOTLOADER_RESERVE_RTC_SIZE % 4 == 0, "CONFIG_BOOTLOADER_RESERVE_RTC_SIZE must be a multiple of 4 bytes");
#endif
#ifdef CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC
@@ -68,7 +76,7 @@ _Static_assert(CONFIG_BOOTLOADER_RESERVE_RTC_SIZE % 4 == 0, "CONFIG_BOOTLOADER_R
#endif
#if defined(CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP) || defined(CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC)
_Static_assert(sizeof(rtc_retain_mem_t) <= ESP_BOOTLOADER_RESERVE_RTC, "Reserved RTC area must exceed size of rtc_retain_mem_t");
ESP_STATIC_ASSERT(sizeof(rtc_retain_mem_t) <= ESP_BOOTLOADER_RESERVE_RTC, "Reserved RTC area must exceed size of rtc_retain_mem_t");
#endif
/**

View File

@@ -200,7 +200,7 @@ typedef struct {
*/
esp_err_t esp_secure_boot_verify_ecdsa_signature_block(const esp_secure_boot_sig_block_t *sig_block, const uint8_t *image_digest, uint8_t *verified_digest);
#if !CONFIG_IDF_TARGET_ESP32 || CONFIG_ESP32_REV_MIN_3
#if !CONFIG_IDF_TARGET_ESP32 || CONFIG_ESP32_REV_MIN_FULL >= 300
/**
* @brief Structure to hold public key digests calculated from the signature blocks of a single image.
*
@@ -223,7 +223,7 @@ typedef struct {
*
*/
esp_err_t esp_secure_boot_verify_rsa_signature_block(const ets_secure_boot_signature_t *sig_block, const uint8_t *image_digest, uint8_t *verified_digest);
#endif // !CONFIG_IDF_TARGET_ESP32 || CONFIG_ESP32_REV_MIN_3
#endif // !CONFIG_IDF_TARGET_ESP32 || CONFIG_ESP32_REV_MIN_FULL >= 300
/** @brief Legacy ECDSA verification function
*

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -24,14 +24,19 @@
#define CMD_RDID 0x9F
#define CMD_WRSR 0x01
#define CMD_WRSR2 0x31 /* Not all SPI flash uses this command */
#define CMD_WRSR3 0x11 /* Not all SPI flash uses this command */
#define CMD_WREN 0x06
#define CMD_WRENVSR 0x50 /* Flash write enable for volatile SR bits */
#define CMD_WRDI 0x04
#define CMD_RDSR 0x05
#define CMD_RDSR2 0x35 /* Not all SPI flash uses this command */
#define CMD_RDSR3 0x15 /* Not all SPI flash uses this command */
#define CMD_OTPEN 0x3A /* Enable OTP mode, not all SPI flash uses this command */
#define CMD_RDSFDP 0x5A /* Read the SFDP of the flash */
#define CMD_WRAP 0x77 /* Set burst with wrap command */
#define CMD_RESUME 0x7A /* Resume command to clear flash suspend bit */
#define CMD_FASTRD_4B 0x0C
#define CMD_SLOWRD_4B 0x13
/* Provide a Flash API for bootloader_support code,
@@ -171,4 +176,12 @@ uint32_t bootloader_flash_read_sfdp(uint32_t sfdp_addr, unsigned int miso_byte_n
*/
void bootloader_enable_wp(void);
/**
* @brief Once this function is called,
* any on-going internal operations will be terminated and the device will return to its default power-on
* state and lose all the current volatile settings, such as Volatile Status Register bits, Write Enable Latch
* (WEL) status, Program/Erase Suspend status, etc.
*/
void bootloader_spi_flash_reset(void);
#endif

View File

@@ -7,10 +7,12 @@
#include "soc/soc.h"
#include "soc/rtc.h"
#include "soc/efuse_periph.h"
#include "soc/chip_revision.h"
#include "soc/rtc_cntl_reg.h"
#if CONFIG_IDF_TARGET_ESP32
#include "soc/dport_reg.h"
#endif
#include "hal/efuse_hal.h"
#include "esp_rom_sys.h"
#include "esp_rom_uart.h"
@@ -32,8 +34,7 @@ __attribute__((weak)) void bootloader_clock_configure(void)
* document). For rev. 0, switch to 240 instead if it has been enabled
* previously.
*/
uint32_t chip_ver_reg = REG_READ(EFUSE_BLK0_RDATA3_REG);
if ((chip_ver_reg & EFUSE_RD_CHIP_VER_REV1_M) == 0 &&
if (!ESP_CHIP_REV_ABOVE(efuse_hal_chip_revision(), 100) &&
DPORT_REG_GET_FIELD(DPORT_CPU_PER_CONF_REG, DPORT_CPUPERIOD_SEL) == DPORT_CPUPERIOD_SEL_240) {
cpu_freq_mhz = 240;
}

View File

@@ -22,6 +22,9 @@
#include "soc/gpio_periph.h"
#include "soc/rtc.h"
#include "soc/efuse_reg.h"
#include "soc/chip_revision.h"
#include "hal/efuse_ll.h"
#include "hal/efuse_hal.h"
#include "soc/soc_memory_types.h"
#include "hal/gpio_ll.h"
#include "esp_image_format.h"
@@ -30,6 +33,7 @@
#include "bootloader_flash_priv.h"
#define ESP_PARTITION_HASH_LEN 32 /* SHA-256 digest length */
#define IS_MAX_REV_SET(max_chip_rev_full) (((max_chip_rev_full) != 65535) && ((max_chip_rev_full) != 0))
static const char* TAG = "boot_comm";
@@ -59,28 +63,38 @@ int bootloader_common_get_active_otadata(esp_ota_select_entry_t *two_otadata)
return bootloader_common_select_otadata(two_otadata, valid_two_otadata, true);
}
esp_err_t bootloader_common_check_chip_validity(const esp_image_header_t* img_hdr, esp_image_type type)
esp_err_t __attribute__((optimize("-Os"))) bootloader_common_check_chip_validity(const esp_image_header_t* img_hdr, esp_image_type type)
{
esp_err_t err = ESP_OK;
esp_chip_id_t chip_id = CONFIG_IDF_FIRMWARE_CHIP_ID;
if (chip_id != img_hdr->chip_id) {
ESP_LOGE(TAG, "mismatch chip ID, expected %d, found %d", chip_id, img_hdr->chip_id);
err = ESP_FAIL;
}
} else {
#ifndef CONFIG_IDF_ENV_FPGA
uint8_t revision = bootloader_common_get_chip_revision();
if (revision < img_hdr->min_chip_rev) {
/* To fix this error, please update mininum supported chip revision from configuration,
* located in TARGET (e.g. ESP32) specific options under "Component config" menu */
ESP_LOGE(TAG, "This chip is revision %d but the application is configured for minimum revision %d. Can't run.", revision, img_hdr->min_chip_rev);
err = ESP_FAIL;
} else if (revision != img_hdr->min_chip_rev) {
#ifdef BOOTLOADER_BUILD
ESP_LOGI(TAG, "chip revision: %d, min. %s chip revision: %d", revision, type == ESP_IMAGE_BOOTLOADER ? "bootloader" : "application", img_hdr->min_chip_rev);
#endif
}
unsigned revision = efuse_hal_chip_revision();
unsigned int major_rev = revision / 100;
unsigned int minor_rev = revision % 100;
unsigned min_rev = img_hdr->min_chip_rev_full;
if (type == ESP_IMAGE_BOOTLOADER || type == ESP_IMAGE_APPLICATION) {
if (!ESP_CHIP_REV_ABOVE(revision, min_rev)) {
ESP_LOGE(TAG, "Image requires chip rev >= v%d.%d, but chip is v%d.%d",
min_rev / 100, min_rev % 100,
major_rev, minor_rev);
err = ESP_FAIL;
}
}
if (type == ESP_IMAGE_APPLICATION) {
unsigned max_rev = img_hdr->max_chip_rev_full;
if ((IS_MAX_REV_SET(max_rev) && (revision > max_rev) && !efuse_ll_get_disable_wafer_version_major())) {
ESP_LOGE(TAG, "Image requires chip rev <= v%d.%d, but chip is v%d.%d",
max_rev / 100, max_rev % 100,
major_rev, minor_rev);
err = ESP_FAIL;
}
}
#endif // CONFIG_IDF_ENV_FPGA
}
return err;
}
@@ -139,6 +153,8 @@ esp_err_t bootloader_common_get_partition_description(const esp_partition_pos_t
#define RTC_RETAIN_MEM_ADDR (SOC_RTC_DRAM_HIGH - sizeof(rtc_retain_mem_t))
_Static_assert(RTC_RETAIN_MEM_ADDR >= SOC_RTC_DRAM_LOW, "rtc_retain_mem_t structure size is bigger than the RTC memory size. Consider reducing RTC reserved memory size.");
rtc_retain_mem_t *const rtc_retain_mem = (rtc_retain_mem_t *)RTC_RETAIN_MEM_ADDR;
#ifndef BOOTLOADER_BUILD
@@ -151,14 +167,25 @@ rtc_retain_mem_t *const rtc_retain_mem = (rtc_retain_mem_t *)RTC_RETAIN_MEM_ADDR
SOC_RESERVE_MEMORY_REGION(RTC_RETAIN_MEM_ADDR, RTC_RETAIN_MEM_ADDR + sizeof(rtc_retain_mem_t), rtc_retain_mem);
#endif
static uint32_t rtc_retain_mem_size(void) {
#ifdef CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC
/* A custom memory has been reserved by the user, do not consider this memory into CRC calculation as it may change without
* the have the user updating the CRC. Return the offset of the custom field, which is equivalent to size of the structure
* minus the size of everything after (including) `custom` */
return offsetof(rtc_retain_mem_t, custom);
#else
return sizeof(rtc_retain_mem_t) - sizeof(rtc_retain_mem->crc);
#endif
}
static bool check_rtc_retain_mem(void)
{
return esp_rom_crc32_le(UINT32_MAX, (uint8_t*)rtc_retain_mem, sizeof(rtc_retain_mem_t) - sizeof(rtc_retain_mem->crc)) == rtc_retain_mem->crc && rtc_retain_mem->crc != UINT32_MAX;
return esp_rom_crc32_le(UINT32_MAX, (uint8_t*)rtc_retain_mem, rtc_retain_mem_size()) == rtc_retain_mem->crc && rtc_retain_mem->crc != UINT32_MAX;
}
static void update_rtc_retain_mem_crc(void)
{
rtc_retain_mem->crc = esp_rom_crc32_le(UINT32_MAX, (uint8_t*)rtc_retain_mem, sizeof(rtc_retain_mem_t) - sizeof(rtc_retain_mem->crc));
rtc_retain_mem->crc = esp_rom_crc32_le(UINT32_MAX, (uint8_t*)rtc_retain_mem, rtc_retain_mem_size());
}
void bootloader_common_reset_rtc_retain_mem(void)

View File

@@ -26,6 +26,9 @@
#include "esp32h2/rom/ets_sys.h"
#include "esp32h2/rom/uart.h"
#endif
#if SOC_USB_SERIAL_JTAG_SUPPORTED
#include "hal/usb_phy_ll.h"
#endif
#include "esp_rom_gpio.h"
#include "esp_rom_uart.h"
#include "esp_rom_sys.h"
@@ -44,12 +47,7 @@ void bootloader_console_init(void)
{
const int uart_num = CONFIG_ESP_CONSOLE_UART_NUM;
#if !ESP_ROM_SUPPORT_MULTIPLE_UART
/* esp_rom_install_channel_put is not available unless multiple UARTs are supported */
esp_rom_install_uart_printf();
#else
esp_rom_install_channel_putc(1, esp_rom_uart_putc);
#endif
// Wait for UART FIFO to be empty.
esp_rom_uart_tx_wait_idle(0);
@@ -58,10 +56,10 @@ void bootloader_console_init(void)
// Some constants to make the following code less upper-case
const int uart_tx_gpio = CONFIG_ESP_CONSOLE_UART_TX_GPIO;
const int uart_rx_gpio = CONFIG_ESP_CONSOLE_UART_RX_GPIO;
// Switch to the new UART (this just changes UART number used for esp_rom_printf in ROM code).
#if ESP_ROM_SUPPORT_MULTIPLE_UART
esp_rom_uart_set_as_console(uart_num);
#endif
// If console is attached to UART1 or if non-default pins are used,
// need to reconfigure pins using GPIO matrix
if (uart_num != 0 ||
@@ -109,6 +107,10 @@ void bootloader_console_init(void)
esp_rom_uart_usb_acm_init(s_usb_cdc_buf, sizeof(s_usb_cdc_buf));
esp_rom_uart_set_as_console(ESP_ROM_UART_USB);
esp_rom_install_channel_putc(1, bootloader_console_write_char_usb);
#if SOC_USB_SERIAL_JTAG_SUPPORTED
usb_phy_ll_usb_wrap_pad_enable(&USB_WRAP, true);
usb_phy_ll_int_otg_enable(&USB_WRAP);
#endif
}
#endif //CONFIG_ESP_CONSOLE_USB_CDC

View File

@@ -0,0 +1,37 @@
/*
* SPDX-FileCopyrightText: 2019-2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stdint.h>
#include "sdkconfig.h"
#include "bootloader_common.h"
#include "hal/efuse_ll.h"
#include "hal/efuse_hal.h"
#include "esp_attr.h"
IRAM_ATTR uint32_t bootloader_common_get_chip_ver_pkg(void)
{
return efuse_ll_get_chip_ver_pkg();
}
int bootloader_clock_get_rated_freq_mhz(void)
{
#ifdef CONFIG_IDF_TARGET_ESP32
return efuse_hal_get_rated_freq_mhz();
#elif CONFIG_IDF_TARGET_ESP32C3
return 160;
#elif CONFIG_IDF_TARGET_ESP32H2
return 96;
#elif CONFIG_IDF_TARGET_ESP32S2
return 240;
#elif CONFIG_IDF_TARGET_ESP32S3
return 240;
#endif
}

View File

@@ -1,61 +0,0 @@
/*
* SPDX-FileCopyrightText: 2019-2021 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "bootloader_common.h"
#include "bootloader_clock.h"
#include "soc/efuse_reg.h"
#include "soc/syscon_reg.h"
#include "esp_attr.h"
IRAM_ATTR uint8_t bootloader_common_get_chip_revision(void)
{
uint8_t eco_bit0, eco_bit1, eco_bit2;
eco_bit0 = (REG_READ(EFUSE_BLK0_RDATA3_REG) & 0xF000) >> 15;
eco_bit1 = (REG_READ(EFUSE_BLK0_RDATA5_REG) & 0x100000) >> 20;
eco_bit2 = (REG_READ(SYSCON_DATE_REG) & 0x80000000) >> 31;
uint32_t combine_value = (eco_bit2 << 2) | (eco_bit1 << 1) | eco_bit0;
uint8_t chip_ver = 0;
switch (combine_value) {
case 0:
chip_ver = 0;
break;
case 1:
chip_ver = 1;
break;
case 3:
chip_ver = 2;
break;
#if CONFIG_IDF_ENV_FPGA
case 4: /* Empty efuses, but SYSCON_DATE_REG bit is set */
chip_ver = 3;
break;
#endif
case 7:
chip_ver = 3;
break;
default:
chip_ver = 0;
break;
}
return chip_ver;
}
IRAM_ATTR uint32_t bootloader_common_get_chip_ver_pkg(void)
{
uint32_t pkg_version = REG_GET_FIELD(EFUSE_BLK0_RDATA3_REG, EFUSE_RD_CHIP_VER_PKG);
uint32_t pkg_version_4bit = REG_GET_FIELD(EFUSE_BLK0_RDATA3_REG, EFUSE_RD_CHIP_VER_PKG_4BIT);
return (pkg_version_4bit << 3) | pkg_version;
}
int bootloader_clock_get_rated_freq_mhz()
{
//Check if ESP32 is rated for a CPU frequency of 160MHz only
if (REG_GET_BIT(EFUSE_BLK0_RDATA3_REG, EFUSE_RD_CHIP_CPU_FREQ_RATED) &&
REG_GET_BIT(EFUSE_BLK0_RDATA3_REG, EFUSE_RD_CHIP_CPU_FREQ_LOW)) {
return 160;
}
return 240;
}

View File

@@ -1,21 +0,0 @@
/*
* SPDX-FileCopyrightText: 2020-2021 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stdint.h>
#include "soc/efuse_reg.h"
#include "esp_attr.h"
IRAM_ATTR uint8_t bootloader_common_get_chip_revision(void)
{
// should return the same value as esp_efuse_get_chip_ver()
return REG_GET_FIELD(EFUSE_RD_MAC_SPI_SYS_3_REG, EFUSE_WAFER_VERSION);
}
IRAM_ATTR uint32_t bootloader_common_get_chip_ver_pkg(void)
{
// should return the same value as esp_efuse_get_pkg_ver()
return REG_GET_FIELD(EFUSE_RD_MAC_SPI_SYS_3_REG, EFUSE_PKG_VERSION);
}

View File

@@ -1,21 +0,0 @@
/*
* SPDX-FileCopyrightText: 2020-2021 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stdint.h>
#include "soc/efuse_reg.h"
#include "esp_attr.h"
IRAM_ATTR uint8_t bootloader_common_get_chip_revision(void)
{
// should return the same value as esp_efuse_get_chip_ver()
return REG_GET_FIELD(EFUSE_RD_MAC_SPI_SYS_3_REG, EFUSE_WAFER_VERSION);
}
IRAM_ATTR uint32_t bootloader_common_get_chip_ver_pkg(void)
{
// should return the same value as esp_efuse_get_pkg_ver()
return REG_GET_FIELD(EFUSE_RD_MAC_SPI_SYS_3_REG, EFUSE_PKG_VERSION);
}

View File

@@ -1,23 +0,0 @@
/*
* SPDX-FileCopyrightText: 2019-2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "sdkconfig.h"
#include "bootloader_clock.h"
#include "bootloader_common.h"
#include "soc/efuse_reg.h"
#include "esp_attr.h"
IRAM_ATTR uint8_t bootloader_common_get_chip_revision(void)
{
// should return the same value as esp_efuse_get_chip_ver()
return REG_GET_FIELD(EFUSE_RD_MAC_SPI_SYS_3_REG, EFUSE_WAFER_VERSION);
}
IRAM_ATTR uint32_t bootloader_common_get_chip_ver_pkg(void)
{
// should return the same value as esp_efuse_get_pkg_ver()
return REG_GET_FIELD(EFUSE_RD_MAC_SPI_SYS_4_REG, EFUSE_PKG_VERSION);
}

View File

@@ -1,21 +0,0 @@
/*
* SPDX-FileCopyrightText: 2020-2021 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stdint.h>
#include "esp_attr.h"
IRAM_ATTR uint8_t bootloader_common_get_chip_revision(void)
{
// should return the same value as esp_efuse_get_chip_ver()
/* No other revisions for ESP32-S3 */
return 0;
}
IRAM_ATTR uint32_t bootloader_common_get_chip_ver_pkg(void)
{
// should return the same value as esp_efuse_get_pkg_ver()
return 0;
}

View File

@@ -10,6 +10,7 @@
#include <esp_flash_encrypt.h>
#include "sdkconfig.h"
#include "soc/soc_caps.h"
#include "hal/efuse_hal.h"
#if CONFIG_IDF_TARGET_ESP32
# include "soc/spi_struct.h"
@@ -36,7 +37,7 @@
#endif
#ifdef CONFIG_EFUSE_VIRTUAL_KEEP_IN_FLASH
#define ENCRYPTION_IS_VIRTUAL 1
#define ENCRYPTION_IS_VIRTUAL (!efuse_hal_flash_encryption_enabled())
#else
#define ENCRYPTION_IS_VIRTUAL 0
#endif
@@ -144,6 +145,11 @@ esp_err_t bootloader_flash_erase_range(uint32_t start_addr, uint32_t size)
#include "esp32h2/rom/cache.h"
#include "soc/cache_memory.h"
#endif
#if CONFIG_IDF_TARGET_ESP32S3
#include "esp32s3/rom/opi_flash.h"
#endif
static const char *TAG = "bootloader_flash";
#if CONFIG_IDF_TARGET_ESP32
@@ -481,6 +487,34 @@ esp_err_t bootloader_flash_erase_range(uint32_t start_addr, uint32_t size)
return spi_to_esp_err(rc);
}
#if CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_OCTAL_FLASH
void bootloader_flash_32bits_address_map_enable(esp_rom_spiflash_read_mode_t flash_mode)
{
esp_rom_opiflash_spi0rd_t cache_rd = {};
switch (flash_mode) {
case ESP_ROM_SPIFLASH_FASTRD_MODE:
cache_rd.addr_bit_len = 32;
cache_rd.dummy_bit_len = 8;
cache_rd.cmd = CMD_FASTRD_4B;
cache_rd.cmd_bit_len = 8;
break;
case ESP_ROM_SPIFLASH_SLOWRD_MODE:
cache_rd.addr_bit_len = 32;
cache_rd.dummy_bit_len = 0;
cache_rd.cmd = CMD_SLOWRD_4B;
cache_rd.cmd_bit_len = 8;
break;
default:
assert(false);
break;
}
uint32_t autoload = Cache_Suspend_DCache();
esp_rom_opiflash_cache_mode_config(flash_mode, &cache_rd);
Cache_Resume_DCache(autoload);
}
#endif
#endif // BOOTLOADER_BUILD
@@ -573,7 +607,7 @@ esp_err_t IRAM_ATTR __attribute__((weak)) bootloader_flash_unlock(void)
#ifndef g_rom_spiflash_dummy_len_plus // ESP32-C3 uses a macro to access ROM data here
extern uint8_t g_rom_spiflash_dummy_len_plus[];
#endif
IRAM_ATTR static uint32_t bootloader_flash_execute_command_common(
IRAM_ATTR uint32_t bootloader_flash_execute_command_common(
uint8_t command,
uint32_t addr_len, uint32_t address,
uint8_t dummy_len,
@@ -603,14 +637,12 @@ IRAM_ATTR static uint32_t bootloader_flash_execute_command_common(
SPIFLASH.addr = address;
#endif
//dummy phase
uint32_t total_dummy = dummy_len;
if (miso_len > 0) {
uint32_t total_dummy = dummy_len + g_rom_spiflash_dummy_len_plus[1];
SPIFLASH.user.usr_dummy = total_dummy > 0;
SPIFLASH.user1.usr_dummy_cyclelen = total_dummy - 1;
} else {
SPIFLASH.user.usr_dummy = 0;
SPIFLASH.user1.usr_dummy_cyclelen = 0;
total_dummy += g_rom_spiflash_dummy_len_plus[1];
}
SPIFLASH.user.usr_dummy = total_dummy > 0;
SPIFLASH.user1.usr_dummy_cyclelen = total_dummy - 1;
//output data
SPIFLASH.user.usr_mosi = mosi_len > 0;
#if CONFIG_IDF_TARGET_ESP32
@@ -679,6 +711,12 @@ uint32_t IRAM_ATTR bootloader_read_flash_id(void)
return id;
}
void bootloader_spi_flash_reset(void)
{
bootloader_execute_flash_command(0x66, 0, 0, 0);
bootloader_execute_flash_command(0x99, 0, 0, 0);
}
#if SOC_CACHE_SUPPORT_WRAP
esp_err_t bootloader_flash_wrap_set(spi_flash_wrap_mode_t mode)
{
@@ -811,3 +849,40 @@ esp_err_t IRAM_ATTR bootloader_flash_xmc_startup(void)
}
#endif //XMC_SUPPORT
esp_rom_spiflash_read_mode_t bootloader_flash_get_spi_mode(void)
{
esp_rom_spiflash_read_mode_t spi_mode = ESP_ROM_SPIFLASH_FASTRD_MODE;
#if CONFIG_IDF_TARGET_ESP32
uint32_t spi_ctrl = REG_READ(SPI_CTRL_REG(0));
if (spi_ctrl & SPI_FREAD_QIO) {
spi_mode = ESP_ROM_SPIFLASH_QIO_MODE;
} else if (spi_ctrl & SPI_FREAD_QUAD) {
spi_mode = ESP_ROM_SPIFLASH_QOUT_MODE;
} else if (spi_ctrl & SPI_FREAD_DIO) {
spi_mode = ESP_ROM_SPIFLASH_DIO_MODE;
} else if (spi_ctrl & SPI_FREAD_DUAL) {
spi_mode = ESP_ROM_SPIFLASH_DOUT_MODE;
} else if (spi_ctrl & SPI_FASTRD_MODE) {
spi_mode = ESP_ROM_SPIFLASH_FASTRD_MODE;
} else {
spi_mode = ESP_ROM_SPIFLASH_SLOWRD_MODE;
}
#else
uint32_t spi_ctrl = REG_READ(SPI_MEM_CTRL_REG(0));
if (spi_ctrl & SPI_MEM_FREAD_QIO) {
spi_mode = ESP_ROM_SPIFLASH_QIO_MODE;
} else if (spi_ctrl & SPI_MEM_FREAD_QUAD) {
spi_mode = ESP_ROM_SPIFLASH_QOUT_MODE;
} else if (spi_ctrl & SPI_MEM_FREAD_DIO) {
spi_mode = ESP_ROM_SPIFLASH_DIO_MODE;
} else if (spi_ctrl & SPI_MEM_FREAD_DUAL) {
spi_mode = ESP_ROM_SPIFLASH_DOUT_MODE;
} else if (spi_ctrl & SPI_MEM_FASTRD_MODE) {
spi_mode = ESP_ROM_SPIFLASH_FASTRD_MODE;
} else {
spi_mode = ESP_ROM_SPIFLASH_SLOWRD_MODE;
}
#endif
return spi_mode;
}

View File

@@ -17,6 +17,8 @@
#include "soc/spi_reg.h"
#include "soc/soc_caps.h"
#include "soc/soc_pins.h"
#include "soc/chip_revision.h"
#include "hal/efuse_hal.h"
#include "hal/gpio_hal.h"
#include "flash_qio_mode.h"
#include "bootloader_common.h"
@@ -168,16 +170,13 @@ int bootloader_flash_get_wp_pin(void)
return CONFIG_SPIRAM_SPIWP_SD3_PIN; // can be set for app when DIO or DOUT config used for PSRAM only
#else
// no custom value, find it based on the package eFuse value
uint8_t chip_ver;
uint32_t pkg_ver = bootloader_common_get_chip_ver_pkg();
switch(pkg_ver) {
switch(bootloader_common_get_chip_ver_pkg()) {
case EFUSE_RD_CHIP_VER_PKG_ESP32U4WDH:
case EFUSE_RD_CHIP_VER_PKG_ESP32D2WDQ5:
return ESP32_D2WD_WP_GPIO;
case EFUSE_RD_CHIP_VER_PKG_ESP32PICOD4:
/* Same package IDs are used for ESP32-PICO-V3 and ESP32-PICO-D4, silicon version differentiates */
chip_ver = bootloader_common_get_chip_revision();
return (chip_ver < 3) ? ESP32_D2WD_WP_GPIO : ESP32_PICO_V3_GPIO;
return !ESP_CHIP_REV_ABOVE(efuse_hal_chip_revision(), 300) ? ESP32_D2WD_WP_GPIO : ESP32_PICO_V3_GPIO;
case EFUSE_RD_CHIP_VER_PKG_ESP32PICOV302:
return ESP32_PICO_V3_GPIO;
default:

View File

@@ -18,6 +18,7 @@
#include "soc/cpu.h"
#include "soc/rtc.h"
#include "hal/wdt_hal.h"
#include "hal/efuse_hal.h"
static const char *TAG = "boot";
@@ -40,9 +41,10 @@ esp_err_t bootloader_read_bootloader_header(void)
esp_err_t bootloader_check_bootloader_validity(void)
{
/* read chip revision from efuse */
uint8_t revision = bootloader_common_get_chip_revision();
ESP_LOGI(TAG, "chip revision: %d", revision);
unsigned revision = efuse_hal_chip_revision();
unsigned major = revision / 100;
unsigned minor = revision % 100;
ESP_LOGI(TAG, "chip revision: v%d.%d", major, minor);
/* compare with the one set in bootloader image header */
if (bootloader_common_check_chip_validity(&bootloader_image_hdr, ESP_IMAGE_BOOTLOADER) != ESP_OK) {
return ESP_FAIL;
@@ -92,4 +94,12 @@ void bootloader_print_banner(void)
{
ESP_LOGI(TAG, "ESP-IDF %s 2nd stage bootloader", IDF_VER);
ESP_LOGI(TAG, "compile time " __TIME__);
#if CONFIG_FREERTOS_UNICORE
#if (SOC_CPU_CORES_NUM > 1)
ESP_EARLY_LOGW(TAG, "Unicore bootloader");
#endif
#else
ESP_EARLY_LOGI(TAG, "Multicore bootloader");
#endif
}

View File

@@ -12,7 +12,11 @@
void __assert_func(const char *file, int line, const char *func, const char *expr)
{
#if !CONFIG_OPTIMIZATION_ASSERTIONS_SILENT
esp_rom_printf("Assert failed in %s, %s:%d (%s)\r\n", func, file, line, expr);
#endif
while (1) {
}
}

View File

@@ -83,8 +83,6 @@ void bootloader_random_disable(void)
REGI2C_WRITE_MASK(I2C_SAR_ADC, ADC_SARADC_ENT_RTC_ADDR, 0);
REGI2C_WRITE_MASK(I2C_SAR_ADC, ADC_SARADC_DTEST_RTC_ADDR, 0);
//Stop SAR ADC clock
CLEAR_PERI_REG_MASK(SENS_SAR_PERI_CLK_GATE_CONF_REG, SENS_SARADC_CLK_EN);
//Power off SAR ADC
REG_SET_FIELD(SENS_SAR_POWER_XPD_SAR_REG, SENS_FORCE_XPD_SAR, 0);
//return to ADC RTC controller

View File

@@ -3,18 +3,10 @@
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stdbool.h>
void bootloader_ana_super_wdt_reset_config(bool enable)
{
(void)enable;
}
void bootloader_ana_bod_reset_config(bool enable)
{
(void)enable;
}
//Not supported but common bootloader calls the function. Do nothing
void bootloader_ana_clock_glitch_reset_config(bool enable)
{
(void)enable;

View File

@@ -23,6 +23,7 @@
#include "soc/extmem_reg.h"
#include "soc/io_mux_reg.h"
#include "soc/system_reg.h"
#include "soc/chip_revision.h"
#include "esp32c3/rom/efuse.h"
#include "esp32c3/rom/spi_flash.h"
#include "esp32c3/rom/cache.h"
@@ -38,6 +39,7 @@
#include "bootloader_flash_priv.h"
#include "bootloader_soc.h"
#include "esp_efuse.h"
#include "hal/efuse_hal.h"
static const char *TAG = "boot.esp32c3";
@@ -258,7 +260,7 @@ static inline void bootloader_hardware_init(void)
{
// This check is always included in the bootloader so it can
// print the minimum revision error message later in the boot
if (bootloader_common_get_chip_revision() < 3) {
if (!ESP_CHIP_REV_ABOVE(efuse_hal_chip_revision(), 3)) {
REGI2C_WRITE_MASK(I2C_ULP, I2C_ULP_IR_FORCE_XPD_IPH, 1);
REGI2C_WRITE_MASK(I2C_BIAS, I2C_BIAS_DREG_1P1_PVT, 12);
}
@@ -266,30 +268,29 @@ static inline void bootloader_hardware_init(void)
static inline void bootloader_ana_reset_config(void)
{
//Enable super WDT reset.
bootloader_ana_super_wdt_reset_config(true);
/*
For origin chip & ECO1: only support swt reset;
For ECO2: fix brownout reset bug, support swt & brownout reset;
For ECO3: fix clock glitch reset bug, support all reset, include: swt & brownout & clock glitch reset.
For origin chip & ECO1: brownout & clock glitch reset not available
For ECO2: fix brownout reset bug
For ECO3: fix clock glitch reset bug
*/
uint8_t chip_version = bootloader_common_get_chip_revision();
switch (chip_version) {
switch (efuse_hal_chip_revision()) {
case 0:
case 1:
//Enable WDT reset. Disable BOR and GLITCH reset
bootloader_ana_super_wdt_reset_config(true);
//Disable BOD and GLITCH reset
bootloader_ana_bod_reset_config(false);
bootloader_ana_clock_glitch_reset_config(false);
break;
case 2:
//Enable WDT and BOR reset. Disable GLITCH reset
bootloader_ana_super_wdt_reset_config(true);
//Enable BOD reset. Disable GLITCH reset
bootloader_ana_bod_reset_config(true);
bootloader_ana_clock_glitch_reset_config(false);
break;
case 3:
default:
//Enable WDT, BOR, and GLITCH reset
bootloader_ana_super_wdt_reset_config(true);
//Enable BOD, and GLITCH reset
bootloader_ana_bod_reset_config(true);
bootloader_ana_clock_glitch_reset_config(true);
break;

View File

@@ -12,15 +12,15 @@ void bootloader_ana_super_wdt_reset_config(bool enable)
REG_CLR_BIT(RTC_CNTL_FIB_SEL_REG, RTC_CNTL_FIB_SUPER_WDT_RST);
if (enable) {
REG_SET_BIT(RTC_CNTL_SWD_CONF_REG, RTC_CNTL_SWD_BYPASS_RST);
} else {
REG_CLR_BIT(RTC_CNTL_SWD_CONF_REG, RTC_CNTL_SWD_BYPASS_RST);
} else {
REG_SET_BIT(RTC_CNTL_SWD_CONF_REG, RTC_CNTL_SWD_BYPASS_RST);
}
}
void bootloader_ana_bod_reset_config(bool enable)
{
REG_CLR_BIT(RTC_CNTL_FIB_SEL_REG, RTC_CNTL_FIB_BOR_RST);
REG_CLR_BIT(RTC_CNTL_FIB_SEL_REG, RTC_CNTL_FIB_BOD_RST);
if (enable) {
REG_SET_BIT(RTC_CNTL_BROWN_OUT_REG, RTC_CNTL_BROWN_OUT_ANA_RST_EN);

View File

@@ -3,18 +3,10 @@
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stdbool.h>
void bootloader_ana_super_wdt_reset_config(bool enable)
{
(void)enable;
}
void bootloader_ana_bod_reset_config(bool enable)
{
(void)enable;
}
//Not supported but common bootloader calls the function. Do nothing
void bootloader_ana_clock_glitch_reset_config(bool enable)
{
(void)enable;

View File

@@ -218,12 +218,19 @@ static esp_err_t bootloader_init_spi_flash(void)
}
#endif
#if CONFIG_BOOTLOADER_FLASH_DC_AWARE
// Reset flash, clear volatile bits DC[0:1]. Make it work under default mode to boot.
bootloader_spi_flash_reset();
#endif
bootloader_flash_unlock();
#if CONFIG_ESPTOOLPY_FLASHMODE_QIO || CONFIG_ESPTOOLPY_FLASHMODE_QOUT
bootloader_enable_qio_mode();
#endif
#if CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_OCTAL_FLASH
bootloader_flash_32bits_address_map_enable(bootloader_flash_get_spi_mode());
#endif
print_flash_info(&bootloader_image_hdr);
update_flash_config(&bootloader_image_hdr);
//ensure the flash is write-protected
@@ -317,7 +324,7 @@ static void bootloader_super_wdt_auto_feed(void)
static inline void bootloader_ana_reset_config(void)
{
//Enable WDT, BOR, and GLITCH reset
//Enable WDT, BOD, and GLITCH reset
bootloader_ana_super_wdt_reset_config(true);
bootloader_ana_bod_reset_config(true);
bootloader_ana_clock_glitch_reset_config(true);

View File

@@ -12,15 +12,15 @@ void bootloader_ana_super_wdt_reset_config(bool enable)
REG_CLR_BIT(RTC_CNTL_FIB_SEL_REG, RTC_CNTL_FIB_SUPER_WDT_RST);
if (enable) {
REG_SET_BIT(RTC_CNTL_SWD_CONF_REG, RTC_CNTL_SWD_BYPASS_RST);
} else {
REG_CLR_BIT(RTC_CNTL_SWD_CONF_REG, RTC_CNTL_SWD_BYPASS_RST);
} else {
REG_SET_BIT(RTC_CNTL_SWD_CONF_REG, RTC_CNTL_SWD_BYPASS_RST);
}
}
void bootloader_ana_bod_reset_config(bool enable)
{
REG_CLR_BIT(RTC_CNTL_FIB_SEL_REG, RTC_CNTL_FIB_BOR_RST);
REG_CLR_BIT(RTC_CNTL_FIB_SEL_REG, RTC_CNTL_FIB_BOD_RST);
if (enable) {
REG_SET_BIT(RTC_CNTL_BROWN_OUT_REG, RTC_CNTL_BROWN_OUT_ANA_RST_EN);

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -17,6 +17,7 @@
#include <bootloader_sha.h>
#include "bootloader_util.h"
#include "bootloader_common.h"
#include "esp_efuse.h"
#include "esp_rom_sys.h"
#include "soc/soc_memory_types.h"
#if CONFIG_IDF_TARGET_ESP32
@@ -31,6 +32,8 @@
#include "esp32h2/rom/secure_boot.h"
#endif
#define ALIGN_UP(num, align) (((num) + ((align) - 1)) & ~((align) - 1))
/* Checking signatures as part of verifying images is necessary:
- Always if secure boot is enabled
- Differently in bootloader and/or app, depending on kconfig
@@ -74,10 +77,10 @@ static bool should_map(uint32_t load_addr);
static esp_err_t process_segments(esp_image_metadata_t *data, bool silent, bool do_load, bootloader_sha256_handle_t sha_handle, uint32_t *checksum);
/* Load or verify a segment */
static esp_err_t process_segment(int index, uint32_t flash_addr, esp_image_segment_header_t *header, bool silent, bool do_load, bootloader_sha256_handle_t sha_handle, uint32_t *checksum);
static esp_err_t process_segment(int index, uint32_t flash_addr, esp_image_segment_header_t *header, bool silent, bool do_load, bootloader_sha256_handle_t sha_handle, uint32_t *checksum, esp_image_metadata_t *metadata);
/* split segment and verify if data_len is too long */
static esp_err_t process_segment_data(intptr_t load_addr, uint32_t data_addr, uint32_t data_len, bool do_load, bootloader_sha256_handle_t sha_handle, uint32_t *checksum);
static esp_err_t process_segment_data(int segment, intptr_t load_addr, uint32_t data_addr, uint32_t data_len, bool do_load, bootloader_sha256_handle_t sha_handle, uint32_t *checksum, esp_image_metadata_t *metadata);
/* Verify the main image header */
static esp_err_t verify_image_header(uint32_t src_addr, const esp_image_header_t *image, bool silent);
@@ -102,7 +105,7 @@ static esp_err_t verify_segment_header(int index, const esp_image_segment_header
while(0)
static esp_err_t process_image_header(esp_image_metadata_t *data, uint32_t part_offset, bootloader_sha256_handle_t *sha_handle, bool do_verify, bool silent);
static esp_err_t process_appended_hash(esp_image_metadata_t *data, uint32_t part_len, bool do_verify, bool silent);
static esp_err_t process_appended_hash_and_sig(esp_image_metadata_t *data, uint32_t part_offset, uint32_t part_len, bool do_verify, bool silent);
static esp_err_t process_checksum(bootloader_sha256_handle_t sha_handle, uint32_t checksum_word, esp_image_metadata_t *data, bool silent, bool skip_check_checksum);
static esp_err_t __attribute__((unused)) verify_secure_boot_signature(bootloader_sha256_handle_t sha_handle, esp_image_metadata_t *data, uint8_t *image_digest, uint8_t *verified_digest);
@@ -152,7 +155,7 @@ static esp_err_t image_load(esp_image_load_mode_t mode, const esp_partition_pos_
CHECK_ERR(process_segments(data, silent, do_load, sha_handle, checksum));
bool skip_check_checksum = !do_verify || esp_cpu_in_ocd_debug_mode();
CHECK_ERR(process_checksum(sha_handle, checksum_word, data, silent, skip_check_checksum));
CHECK_ERR(process_appended_hash(data, part->size, do_verify, silent));
CHECK_ERR(process_appended_hash_and_sig(data, part->offset, part->size, do_verify, silent));
if (verify_sha) {
#if (SECURE_BOOT_CHECK_SIGNATURE == 1)
// secure boot images have a signature appended
@@ -220,6 +223,21 @@ static esp_err_t image_load(esp_image_load_mode_t mode, const esp_partition_pos_
}
}
}
#if CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK
/* For anti-rollback case, reconfirm security version of the application to prevent FI attacks */
bool sec_ver = false;
if (do_load) {
sec_ver = esp_efuse_check_secure_version(data->secure_version);
if (!sec_ver) {
err = ESP_FAIL;
goto err;
}
}
/* Ensure that the security version check passes for image loading scenario */
ESP_FAULT_ASSERT(!do_load || sec_ver == true);
#endif // CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK
#endif // BOOTLOADER_BUILD
// Success!
@@ -292,7 +310,7 @@ esp_err_t esp_image_get_metadata(const esp_partition_pos_t *part, esp_image_meta
CHECK_ERR(process_segments(metadata, silent, do_load, NULL, NULL));
bool skip_check_checksum = true;
CHECK_ERR(process_checksum(NULL, 0, metadata, silent, skip_check_checksum));
CHECK_ERR(process_appended_hash(metadata, part->size, true, silent));
CHECK_ERR(process_appended_hash_and_sig(metadata, part->offset, part->size, true, silent));
return ESP_OK;
err:
return err;
@@ -486,8 +504,8 @@ static esp_err_t process_segments(esp_image_metadata_t *data, bool silent, bool
uint32_t next_addr = start_segments;
for (int i = 0; i < data->image.segment_count; i++) {
esp_image_segment_header_t *header = &data->segments[i];
ESP_LOGV(TAG, "loading segment header %d at offset 0x%x", i, next_addr);
CHECK_ERR(process_segment(i, next_addr, header, silent, do_load, sha_handle, checksum));
ESP_LOGV(TAG, "loading segment header %d at offset 0x%"PRIx32, i, next_addr);
CHECK_ERR(process_segment(i, next_addr, header, silent, do_load, sha_handle, checksum, data));
next_addr += sizeof(esp_image_segment_header_t);
data->segment_data[i] = next_addr;
next_addr += header->data_len;
@@ -508,7 +526,7 @@ err:
return err;
}
static esp_err_t process_segment(int index, uint32_t flash_addr, esp_image_segment_header_t *header, bool silent, bool do_load, bootloader_sha256_handle_t sha_handle, uint32_t *checksum)
static esp_err_t process_segment(int index, uint32_t flash_addr, esp_image_segment_header_t *header, bool silent, bool do_load, bootloader_sha256_handle_t sha_handle, uint32_t *checksum, esp_image_metadata_t *metadata)
{
esp_err_t err;
@@ -566,7 +584,7 @@ static esp_err_t process_segment(int index, uint32_t flash_addr, esp_image_segme
uint32_t offset_page = ((data_addr & MMAP_ALIGNED_MASK) != 0) ? 1 : 0;
/* Data we could map in case we are not aligned to PAGE boundary is one page size lesser. */
data_len = MIN(data_len_remain, ((free_page_count - offset_page) * SPI_FLASH_MMU_PAGE_SIZE));
CHECK_ERR(process_segment_data(load_addr, data_addr, data_len, do_load, sha_handle, checksum));
CHECK_ERR(process_segment_data(index, load_addr, data_addr, data_len, do_load, sha_handle, checksum, metadata));
data_addr += data_len;
data_len_remain -= data_len;
}
@@ -581,7 +599,42 @@ err:
return err;
}
static esp_err_t process_segment_data(intptr_t load_addr, uint32_t data_addr, uint32_t data_len, bool do_load, bootloader_sha256_handle_t sha_handle, uint32_t *checksum)
#if CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK
/* The __attribute__((optimize("O0"))) is used to disable optimizations for this function,
* preventing the compiler from potentially optimizing data_buffer and reading data directly from src.
* This is crucial as we want to read from Flash only once, ensuring the integrity of the data.
*/
__attribute__((optimize("O0")))
static size_t process_esp_app_desc_data(const uint32_t *src, bootloader_sha256_handle_t sha_handle, uint32_t *checksum, esp_image_metadata_t *metadata)
{
/* Using data_buffer here helps to securely read secure_version
* (for anti-rollback) from esp_app_desc_t, preventing FI attack.
* We read data from Flash into this buffer, which is covered by sha256.
* Therefore, if the flash is under attackers control and contents are modified
* the sha256 comparison will fail.
*
* The esp_app_desc_t structure is located in DROM and is always in segment #0.
*
* esp_app_desc_t is always at #0 segment (index==0).
* secure_version field of esp_app_desc_t is located at #2 word (w_i==1).
*/
uint32_t data_buffer[2];
memcpy(data_buffer, src, sizeof(data_buffer));
assert(data_buffer[0] == ESP_APP_DESC_MAGIC_WORD);
metadata->secure_version = data_buffer[1];
if (checksum != NULL) {
*checksum ^= data_buffer[0] ^ data_buffer[1];
}
if (sha_handle != NULL) {
bootloader_sha256_data(sha_handle, data_buffer, sizeof(data_buffer));
}
ESP_FAULT_ASSERT(memcmp(data_buffer, src, sizeof(data_buffer)) == 0);
ESP_FAULT_ASSERT(memcmp(&metadata->secure_version, &src[1], sizeof(uint32_t)) == 0);
return sizeof(data_buffer);
}
#endif // CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK
static esp_err_t process_segment_data(int segment, intptr_t load_addr, uint32_t data_addr, uint32_t data_len, bool do_load, bootloader_sha256_handle_t sha_handle, uint32_t *checksum, esp_image_metadata_t *metadata)
{
// If we are not loading, and the checksum is empty, skip processing this
// segment for data
@@ -614,10 +667,24 @@ static esp_err_t process_segment_data(intptr_t load_addr, uint32_t data_addr, ui
#endif
}
uint32_t *dest = (uint32_t *)load_addr;
#endif
#endif // BOOTLOADER_BUILD
const uint32_t *src = data;
#if CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK
// Case I: Bootloader verifying application
// Case II: Bootloader verifying bootloader
// Anti-rollback check should handle only Case I from above.
if (segment == 0 && metadata->start_addr != ESP_BOOTLOADER_OFFSET) {
ESP_LOGD(TAG, "additional anti-rollback check 0x%"PRIx32, data_addr);
// The esp_app_desc_t structure is located in DROM and is always in segment #0.
size_t len = process_esp_app_desc_data(src, sha_handle, checksum, metadata);
data_len -= len;
src += len / 4;
// In BOOTLOADER_BUILD, for DROM (segment #0) we do not load it into dest (only map it), do_load = false.
}
#endif // CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK
for (size_t i = 0; i < data_len; i += 4) {
int w_i = i / 4; // Word index
uint32_t w = src[w_i];
@@ -741,7 +808,7 @@ esp_err_t esp_image_verify_bootloader_data(esp_image_metadata_t *data)
data);
}
static esp_err_t process_appended_hash(esp_image_metadata_t *data, uint32_t part_len, bool do_verify, bool silent)
static esp_err_t process_appended_hash_and_sig(esp_image_metadata_t *data, uint32_t part_offset, uint32_t part_len, bool do_verify, bool silent)
{
esp_err_t err = ESP_OK;
if (data->image.hash_appended) {
@@ -752,8 +819,34 @@ static esp_err_t process_appended_hash(esp_image_metadata_t *data, uint32_t part
data->image_len += HASH_LEN;
}
if (data->image_len > part_len) {
FAIL_LOAD("Image length %d doesn't fit in partition length %d", data->image_len, part_len);
uint32_t sig_block_len = 0;
const uint32_t end = data->image_len;
#if CONFIG_SECURE_BOOT || CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT
// Case I: Bootloader part
if (part_offset == ESP_BOOTLOADER_OFFSET) {
// For bootloader with secure boot v1, signature stays in an independant flash
// sector (offset 0x0) and does not get appended to the image.
#if CONFIG_SECURE_BOOT_V2_ENABLED
// Sanity check - secure boot v2 signature block starts on 4K boundary
sig_block_len = ALIGN_UP(end, FLASH_SECTOR_SIZE) - end;
sig_block_len += sizeof(ets_secure_boot_signature_t);
#endif
} else {
// Case II: Application part
#if CONFIG_SECURE_SIGNED_APPS_ECDSA_SCHEME
sig_block_len = sizeof(esp_secure_boot_sig_block_t);
#else
// Sanity check - secure boot v2 signature block starts on 4K boundary
sig_block_len = ALIGN_UP(end, FLASH_SECTOR_SIZE) - end;
sig_block_len += sizeof(ets_secure_boot_signature_t);
#endif
}
#endif // CONFIG_SECURE_BOOT || CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT
const uint32_t full_image_len = end + sig_block_len;
if (full_image_len > part_len) {
FAIL_LOAD("Image length %d doesn't fit in partition length %d", full_image_len, part_len);
}
return err;
err:
@@ -814,7 +907,7 @@ static esp_err_t verify_secure_boot_signature(bootloader_sha256_handle_t sha_han
#if CONFIG_SECURE_SIGNED_APPS_RSA_SCHEME
// End of the image needs to be padded all the way to a 4KB boundary, after the simple hash
// (for apps they are usually already padded due to --secure-pad-v2, only a problem if this option was not used.)
uint32_t padded_end = (end + FLASH_SECTOR_SIZE - 1) & ~(FLASH_SECTOR_SIZE-1);
uint32_t padded_end = ALIGN_UP(end, FLASH_SECTOR_SIZE);
if (padded_end > end) {
const void *padding = bootloader_mmap(end, padded_end - end);
bootloader_sha256_data(sha_handle, padding, padded_end - end);

View File

@@ -174,7 +174,12 @@ void esp_flash_encryption_set_release_mode(void)
ESP_LOGE(TAG, "Flash Encryption support not added, abort..");
abort();
#endif
#if CONFIG_SOC_SUPPORTS_SECURE_DL_MODE
esp_efuse_enable_rom_secure_download_mode();
#else
esp_efuse_disable_rom_download_mode();
#endif
esp_efuse_batch_write_commit();
if (esp_get_flash_encryption_mode() != ESP_FLASH_ENC_MODE_RELEASE) {

View File

@@ -168,6 +168,11 @@ unsigned bootloader_read_status_8b_rdsr2(void)
return bootloader_execute_flash_command(CMD_RDSR2, 0, 0, 8);
}
unsigned bootloader_read_status_8b_rdsr3(void)
{
return bootloader_execute_flash_command(CMD_RDSR3, 0, 0, 8);
}
unsigned bootloader_read_status_16b_rdsr_rdsr2(void)
{
return bootloader_execute_flash_command(CMD_RDSR, 0, 0, 8) | (bootloader_execute_flash_command(CMD_RDSR2, 0, 0, 8) << 8);
@@ -183,6 +188,11 @@ void bootloader_write_status_8b_wrsr2(unsigned new_status)
bootloader_execute_flash_command(CMD_WRSR2, new_status, 8, 0);
}
void bootloader_write_status_8b_wrsr3(unsigned new_status)
{
bootloader_execute_flash_command(CMD_WRSR3, new_status, 8, 0);
}
void bootloader_write_status_16b_wrsr(unsigned new_status)
{
bootloader_execute_flash_command(CMD_WRSR, new_status, 16, 0);

View File

@@ -247,7 +247,7 @@ static esp_err_t check_and_generate_secure_boot_keys(const esp_image_metadata_t
ESP_LOGI(TAG, "%d signature block(s) found appended to the app.", app_key_digests.num_digests);
if (app_key_digests.num_digests > boot_key_digests.num_digests) {
ESP_LOGW(TAG, "App has %d signature blocks but bootloader only has %d. Some keys missing from bootloader?");
ESP_LOGW(TAG, "App has %d signature blocks but bootloader only has %d. Some keys missing from bootloader?", app_key_digests.num_digests, boot_key_digests.num_digests);
}
/* Confirm if at least one public key from the application matches a public key in the bootloader

View File

@@ -0,0 +1,6 @@
# The following lines of boilerplate have to be in your project's
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.5)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(test_rtc_custom_section)

View File

@@ -0,0 +1,2 @@
| Supported Targets | ESP32 | ESP32-C3 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- |

View File

@@ -0,0 +1,2 @@
idf_component_register(SRCS "test_main.c"
INCLUDE_DIRS ".")

View File

@@ -0,0 +1,31 @@
/*
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "bootloader_common.h"
#include <stdio.h>
#include "sdkconfig.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#define TEST_MAGIC_VALUE 0x42987561
extern rtc_retain_mem_t* bootloader_common_get_rtc_retain_mem(void);
void app_main(void) {
rtc_retain_mem_t* mem = bootloader_common_get_rtc_retain_mem();
uint32_t* _rtc_vars = (uint32_t*) mem->custom;
if (_rtc_vars[0] != TEST_MAGIC_VALUE) {
/* On the first boot, set the data inside the array */
_rtc_vars[0] = TEST_MAGIC_VALUE;
} else {
/* Second boot, the data was saved saved, success */
printf("SUCCESS: data were saved across reboot\n");
vTaskDelay(10000 / portTICK_PERIOD_MS);
}
esp_restart();
}

View File

@@ -0,0 +1,3 @@
CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0x10
CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC=y
CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC_SIZE=0x200

View File

@@ -6,7 +6,7 @@ if(CONFIG_BT_ENABLED)
elseif(CONFIG_IDF_TARGET_ESP32C3)
set(srcs "controller/esp32c3/bt.c")
elseif(CONFIG_IDF_TARGET_ESP32S3)
set(srcs "controller/esp32s3/bt.c")
set(srcs "controller/esp32c3/bt.c")
endif()
set(include_dirs common/osi/include)
@@ -16,7 +16,7 @@ if(CONFIG_BT_ENABLED)
elseif(CONFIG_IDF_TARGET_ESP32C3)
list(APPEND include_dirs include/esp32c3/include)
elseif(CONFIG_IDF_TARGET_ESP32S3)
list(APPEND include_dirs include/esp32s3/include)
list(APPEND include_dirs include/esp32c3/include)
endif()
list(APPEND priv_include_dirs
@@ -38,6 +38,8 @@ if(CONFIG_BT_ENABLED)
"common/osi/buffer.c"
"common/osi/config.c"
"common/osi/fixed_queue.c"
"common/osi/pkt_queue.c"
"common/osi/fixed_pkt_queue.c"
"common/osi/future.c"
"common/osi/hash_functions.c"
"common/osi/hash_map.c"
@@ -297,6 +299,7 @@ if(CONFIG_BT_ENABLED)
"host/bluedroid/stack/gatt/gatt_db.c"
"host/bluedroid/stack/gatt/gatt_main.c"
"host/bluedroid/stack/gatt/gatt_sr.c"
"host/bluedroid/stack/gatt/gatt_sr_hash.c"
"host/bluedroid/stack/gatt/gatt_utils.c"
"host/bluedroid/stack/hcic/hciblecmds.c"
"host/bluedroid/stack/hcic/hcicmds.c"

View File

@@ -46,7 +46,8 @@ esp_err_t esp_blufi_send_wifi_conn_report(wifi_mode_t opmode, esp_blufi_sta_conn
arg.wifi_conn_report.softap_conn_num = softap_conn_num;
arg.wifi_conn_report.extra_info = extra_info;
return (btc_transfer_context(&msg, &arg, sizeof(btc_blufi_args_t), btc_blufi_call_deep_copy) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
return (btc_transfer_context(&msg, &arg, sizeof(btc_blufi_args_t), btc_blufi_call_deep_copy,
btc_blufi_call_deep_free) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}
esp_err_t esp_blufi_send_wifi_list(uint16_t apCount, esp_blufi_ap_record_t *list)
@@ -62,7 +63,8 @@ esp_err_t esp_blufi_send_wifi_list(uint16_t apCount, esp_blufi_ap_record_t *list
arg.wifi_list.apCount = apCount;
arg.wifi_list.list = list;
return (btc_transfer_context(&msg, &arg, sizeof(btc_blufi_args_t), btc_blufi_call_deep_copy) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
return (btc_transfer_context(&msg, &arg, sizeof(btc_blufi_args_t), btc_blufi_call_deep_copy,
btc_blufi_call_deep_free) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}
esp_err_t esp_blufi_profile_init(void)
@@ -75,7 +77,7 @@ esp_err_t esp_blufi_profile_init(void)
msg.pid = BTC_PID_BLUFI;
msg.act = BTC_BLUFI_ACT_INIT;
return (btc_transfer_context(&msg, NULL, 0, NULL) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
return (btc_transfer_context(&msg, NULL, 0, NULL, NULL) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}
esp_err_t esp_blufi_profile_deinit(void)
@@ -88,7 +90,7 @@ esp_err_t esp_blufi_profile_deinit(void)
msg.pid = BTC_PID_BLUFI;
msg.act = BTC_BLUFI_ACT_DEINIT;
return (btc_transfer_context(&msg, NULL, 0, NULL) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
return (btc_transfer_context(&msg, NULL, 0, NULL, NULL) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}
uint16_t esp_blufi_get_version(void)
@@ -108,7 +110,7 @@ esp_err_t esp_blufi_send_error_info(esp_blufi_error_state_t state)
msg.act = BTC_BLUFI_ACT_SEND_ERR_INFO;
arg.blufi_err_infor.state = state;
return (btc_transfer_context(&msg, &arg, sizeof(btc_blufi_args_t), NULL) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
return (btc_transfer_context(&msg, &arg, sizeof(btc_blufi_args_t), NULL, NULL) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}
esp_err_t esp_blufi_send_custom_data(uint8_t *data, uint32_t data_len)
@@ -126,6 +128,7 @@ esp_err_t esp_blufi_send_custom_data(uint8_t *data, uint32_t data_len)
arg.custom_data.data = data;
arg.custom_data.data_len = data_len;
return (btc_transfer_context(&msg, &arg, sizeof(btc_blufi_args_t), btc_blufi_call_deep_copy) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
return (btc_transfer_context(&msg, &arg, sizeof(btc_blufi_args_t), btc_blufi_call_deep_copy,
btc_blufi_call_deep_free) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}
#endif ///BLUFI_INCLUDED == TRUE

View File

@@ -57,6 +57,8 @@ typedef enum {
typedef enum {
ESP_BLUFI_STA_CONN_SUCCESS = 0x00,
ESP_BLUFI_STA_CONN_FAIL = 0x01,
ESP_BLUFI_STA_CONNECTING = 0x02,
ESP_BLUFI_STA_NO_IP = 0x03,
} esp_blufi_sta_conn_state_t;
/// BLUFI init status
@@ -82,6 +84,9 @@ typedef enum {
ESP_BLUFI_READ_PARAM_ERROR,
ESP_BLUFI_MAKE_PUBLIC_ERROR,
ESP_BLUFI_DATA_FORMAT_ERROR,
ESP_BLUFI_CALC_MD5_ERROR,
ESP_BLUFI_WIFI_SCAN_FAIL,
ESP_BLUFI_MSG_STATE_ERROR,
} esp_blufi_error_state_t;
/**
@@ -105,6 +110,12 @@ typedef struct {
bool softap_max_conn_num_set; /*!< is max connection number of softap interface set */
uint8_t softap_channel; /*!< channel of softap interface */
bool softap_channel_set; /*!< is channel of softap interface set */
uint8_t sta_max_conn_retry; /*!< max retry of sta establish connection */
bool sta_max_conn_retry_set; /*!< is max retry of sta establish connection set */
uint8_t sta_conn_end_reason; /*!< reason of sta connection end */
bool sta_conn_end_reason_set; /*!< is reason of sta connection end set */
int8_t sta_conn_rssi; /*!< rssi of sta connection */
bool sta_conn_rssi_set; /*!< is rssi of sta connection set */
} esp_blufi_extra_info_t;
/** @brief Description of an WiFi AP */
@@ -114,9 +125,9 @@ typedef struct {
} esp_blufi_ap_record_t;
/// Bluetooth address length
#define ESP_BD_ADDR_LEN 6
#define ESP_BLUFI_BD_ADDR_LEN 6
/// Bluetooth device address
typedef uint8_t esp_bd_addr_t[ESP_BD_ADDR_LEN];
typedef uint8_t esp_blufi_bd_addr_t[ESP_BLUFI_BD_ADDR_LEN];
/**
* @brief BLUFI callback parameters union
@@ -147,7 +158,7 @@ typedef union {
* @brief ESP_BLUFI_EVENT_CONNECT
*/
struct blufi_connect_evt_param {
esp_bd_addr_t remote_bda; /*!< Blufi Remote bluetooth device address */
esp_blufi_bd_addr_t remote_bda; /*!< Blufi Remote bluetooth device address */
uint8_t server_if; /*!< server interface */
uint16_t conn_id; /*!< Connection id */
} connect; /*!< Blufi callback param of ESP_BLUFI_EVENT_CONNECT */
@@ -156,7 +167,7 @@ typedef union {
* @brief ESP_BLUFI_EVENT_DISCONNECT
*/
struct blufi_disconnect_evt_param {
esp_bd_addr_t remote_bda; /*!< Blufi Remote bluetooth device address */
esp_blufi_bd_addr_t remote_bda; /*!< Blufi Remote bluetooth device address */
} disconnect; /*!< Blufi callback param of ESP_BLUFI_EVENT_DISCONNECT */
/* ESP_BLUFI_EVENT_REQ_WIFI_CONNECT */ /* No callback param */

View File

@@ -62,6 +62,10 @@
#endif /* #if CLASSIC_BT_INCLUDED */
#endif
#if (BLE_INCLUDED == TRUE)
#include "btc_gap_ble.h"
#endif
#if CONFIG_BLE_MESH
#include "btc_ble_mesh_ble.h"
#include "btc_ble_mesh_prov.h"
@@ -77,6 +81,9 @@
#define BTC_TASK_STACK_SIZE (BT_BTC_TASK_STACK_SIZE + BT_TASK_EXTRA_STACK_SIZE) //by menuconfig
#define BTC_TASK_NAME "BTC_TASK"
#define BTC_TASK_PRIO (BT_TASK_MAX_PRIORITIES - 6)
#define BTC_TASK_WORKQUEUE_NUM (2)
#define BTC_TASK_WORKQUEUE0_LEN (0)
#define BTC_TASK_WORKQUEUE1_LEN (5)
osi_thread_t *btc_thread;
@@ -199,24 +206,12 @@ static void btc_thread_handler(void *arg)
break;
}
if (msg->arg) {
osi_free(msg->arg);
}
osi_free(msg);
}
static bt_status_t btc_task_post(btc_msg_t *msg, uint32_t timeout)
{
btc_msg_t *lmsg;
lmsg = (btc_msg_t *)osi_malloc(sizeof(btc_msg_t));
if (lmsg == NULL) {
return BT_STATUS_NOMEM;
}
memcpy(lmsg, msg, sizeof(btc_msg_t));
if (osi_thread_post(btc_thread, btc_thread_handler, lmsg, 0, timeout) == false) {
if (osi_thread_post(btc_thread, btc_thread_handler, msg, 0, timeout) == false) {
return BT_STATUS_BUSY;
}
@@ -229,52 +224,61 @@ static bt_status_t btc_task_post(btc_msg_t *msg, uint32_t timeout)
* @param arg paramter
* @param arg_len length of paramter
* @param copy_func deep copy function
* @param free_func deep free function
* @return BT_STATUS_SUCCESS: success
* others: fail
*/
bt_status_t btc_transfer_context(btc_msg_t *msg, void *arg, int arg_len, btc_arg_deep_copy_t copy_func)
bt_status_t btc_transfer_context(btc_msg_t *msg, void *arg, int arg_len, btc_arg_deep_copy_t copy_func,
btc_arg_deep_free_t free_func)
{
btc_msg_t lmsg;
if (msg == NULL) {
btc_msg_t* lmsg;
bt_status_t ret;
// arg XOR arg_len
if ((msg == NULL) || ((arg == NULL) == !(arg_len == 0))) {
BTC_TRACE_WARNING("%s Invalid parameters\n", __func__);
return BT_STATUS_PARM_INVALID;
}
BTC_TRACE_DEBUG("%s msg %u %u %u %p\n", __func__, msg->sig, msg->pid, msg->act, arg);
memcpy(&lmsg, msg, sizeof(btc_msg_t));
if (arg) {
lmsg.arg = (void *)osi_malloc(arg_len);
if (lmsg.arg == NULL) {
return BT_STATUS_NOMEM;
}
memset(lmsg.arg, 0x00, arg_len); //important, avoid arg which have no length
memcpy(lmsg.arg, arg, arg_len);
if (copy_func) {
copy_func(&lmsg, lmsg.arg, arg);
}
} else {
lmsg.arg = NULL;
lmsg = (btc_msg_t *)osi_malloc(sizeof(btc_msg_t) + arg_len);
if (lmsg == NULL) {
BTC_TRACE_WARNING("%s No memory\n", __func__);
return BT_STATUS_NOMEM;
}
return btc_task_post(&lmsg, OSI_THREAD_MAX_TIMEOUT);
memcpy(lmsg, msg, sizeof(btc_msg_t));
if (arg) {
memset(lmsg->arg, 0x00, arg_len); //important, avoid arg which have no length
memcpy(lmsg->arg, arg, arg_len);
if (copy_func) {
copy_func(lmsg, lmsg->arg, arg);
}
}
ret = btc_task_post(lmsg, OSI_THREAD_MAX_TIMEOUT);
if (ret != BT_STATUS_SUCCESS) {
if (copy_func && free_func) {
free_func(lmsg);
}
osi_free(lmsg);
}
return ret;
}
/**
* transfer an message to another module in tha same task.
* @param msg message
* @param arg paramter
* @return BT_STATUS_SUCCESS: success
* others: fail
*/
bt_status_t btc_inter_profile_call(btc_msg_t *msg, void *arg)
bt_status_t btc_inter_profile_call(btc_msg_t *msg)
{
if (msg == NULL) {
return BT_STATUS_PARM_INVALID;
}
msg->arg = arg;
switch (msg->sig) {
case BTC_SIG_API_CALL:
profile_tab[msg->pid].btc_call(msg);
@@ -410,7 +414,9 @@ error_exit:;
bt_status_t btc_init(void)
{
btc_thread = osi_thread_create(BTC_TASK_NAME, BTC_TASK_STACK_SIZE, BTC_TASK_PRIO, BTC_TASK_PINNED_TO_CORE, 2);
const size_t workqueue_len[] = {BTC_TASK_WORKQUEUE0_LEN, BTC_TASK_WORKQUEUE1_LEN};
btc_thread = osi_thread_create(BTC_TASK_NAME, BTC_TASK_STACK_SIZE, BTC_TASK_PRIO, BTC_TASK_PINNED_TO_CORE,
BTC_TASK_WORKQUEUE_NUM, workqueue_len);
if (btc_thread == NULL) {
return BT_STATUS_NOMEM;
}
@@ -423,6 +429,7 @@ bt_status_t btc_init(void)
#if (BLE_INCLUDED == TRUE)
btc_gap_callback_init();
btc_gap_ble_init();
#endif ///BLE_INCLUDED == TRUE
#if SCAN_QUEUE_CONGEST_CHECK
@@ -440,7 +447,9 @@ void btc_deinit(void)
osi_thread_free(btc_thread);
btc_thread = NULL;
#if (BLE_INCLUDED == TRUE)
btc_gap_ble_deinit();
#endif ///BLE_INCLUDED == TRUE
#if SCAN_QUEUE_CONGEST_CHECK
btc_adv_list_deinit();
#endif
@@ -459,3 +468,8 @@ int get_btc_work_queue_size(void)
{
return osi_thread_queue_wait_size(btc_thread, 0);
}
osi_thread_t *btc_get_current_thread(void)
{
return btc_thread;
}

View File

@@ -28,7 +28,7 @@ typedef struct btc_msg {
uint8_t aid; //application id
uint8_t pid; //profile id
uint8_t act; //profile action, defined in seprerate header files
void *arg; //param for btc function or function param
UINT8 arg[0]; //param for btc function or function param
} btc_msg_t;
typedef struct btc_adv_packet {
@@ -100,6 +100,7 @@ typedef struct {
} btc_func_t;
typedef void (* btc_arg_deep_copy_t)(btc_msg_t *msg, void *dst, void *src);
typedef void (* btc_arg_deep_free_t)(btc_msg_t *msg);
#ifdef __cplusplus
extern "C" {
@@ -111,25 +112,33 @@ extern "C" {
* @param arg paramter
* @param arg_len length of paramter
* @param copy_func deep copy function
* @param free_func deep free function
* @return BT_STATUS_SUCCESS: success
* others: fail
*/
bt_status_t btc_transfer_context(btc_msg_t *msg, void *arg, int arg_len, btc_arg_deep_copy_t copy_func);
bt_status_t btc_transfer_context(btc_msg_t *msg, void *arg, int arg_len, btc_arg_deep_copy_t copy_func,
btc_arg_deep_free_t free_func);
/**
* transfer an message to another module in tha same task.
* @param msg message
* @param arg paramter
* @return BT_STATUS_SUCCESS: success
* others: fail
*/
bt_status_t btc_inter_profile_call(btc_msg_t *msg, void *arg);
bt_status_t btc_inter_profile_call(btc_msg_t *msg);
bt_status_t btc_init(void);
void btc_deinit(void);
bool btc_check_queue_is_congest(void);
int get_btc_work_queue_size(void);
/**
* get the BTC thread handle
* @return NULL: fail
* others: pointer of osi_thread structure of BTC
*/
osi_thread_t *btc_get_current_thread(void);
#ifdef __cplusplus
}
#endif

View File

@@ -144,7 +144,7 @@ static void blufi_profile_cb(tBTA_GATTS_EVT event, tBTA_GATTS *p_data)
msg.act = ESP_BLUFI_EVENT_DEINIT_FINISH;
param.deinit_finish.state = ESP_BLUFI_DEINIT_OK;
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL, NULL);
break;
}
@@ -283,7 +283,7 @@ static void blufi_profile_cb(tBTA_GATTS_EVT event, tBTA_GATTS *p_data)
msg.act = ESP_BLUFI_EVENT_INIT_FINISH;
param.init_finish.state = ESP_BLUFI_INIT_OK;
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL, NULL);
break;
}
case BTA_GATTS_CONNECT_EVT: {
@@ -295,7 +295,7 @@ static void blufi_profile_cb(tBTA_GATTS_EVT event, tBTA_GATTS *p_data)
BT_BD_ADDR_HEX(p_data->conn.remote_bda), p_data->conn.server_if,
p_data->conn.reason, p_data->conn.conn_id);
memcpy(blufi_env.remote_bda, p_data->conn.remote_bda, sizeof(esp_bd_addr_t));
memcpy(blufi_env.remote_bda, p_data->conn.remote_bda, ESP_BLUFI_BD_ADDR_LEN);
blufi_env.conn_id = p_data->conn.conn_id;
blufi_env.is_connected = true;
blufi_env.recv_seq = blufi_env.send_seq = 0;
@@ -303,11 +303,11 @@ static void blufi_profile_cb(tBTA_GATTS_EVT event, tBTA_GATTS *p_data)
msg.sig = BTC_SIG_API_CB;
msg.pid = BTC_PID_BLUFI;
msg.act = ESP_BLUFI_EVENT_BLE_CONNECT;
memcpy(param.connect.remote_bda, p_data->conn.remote_bda, sizeof(esp_bd_addr_t));
memcpy(param.connect.remote_bda, p_data->conn.remote_bda, ESP_BLUFI_BD_ADDR_LEN);
param.connect.conn_id = BTC_GATT_GET_CONN_ID(p_data->conn.conn_id);
conn_id = param.connect.conn_id;
server_if = p_data->conn.server_if;
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL, NULL);
break;
}
case BTA_GATTS_DISCONNECT_EVT: {
@@ -320,7 +320,7 @@ static void blufi_profile_cb(tBTA_GATTS_EVT event, tBTA_GATTS *p_data)
BT_BD_ADDR_HEX(p_data->conn.remote_bda), p_data->conn.server_if,
p_data->conn.reason, p_data->conn.conn_id);
memcpy(blufi_env.remote_bda, p_data->conn.remote_bda, sizeof(esp_bd_addr_t));
memcpy(blufi_env.remote_bda, p_data->conn.remote_bda, ESP_BLUFI_BD_ADDR_LEN);
blufi_env.conn_id = p_data->conn.conn_id;
blufi_env.recv_seq = blufi_env.send_seq = 0;
blufi_env.sec_mode = 0x0;
@@ -334,8 +334,8 @@ static void blufi_profile_cb(tBTA_GATTS_EVT event, tBTA_GATTS *p_data)
msg.sig = BTC_SIG_API_CB;
msg.pid = BTC_PID_BLUFI;
msg.act = ESP_BLUFI_EVENT_BLE_DISCONNECT;
memcpy(param.disconnect.remote_bda, p_data->conn.remote_bda, sizeof(esp_bd_addr_t));
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL);
memcpy(param.disconnect.remote_bda, p_data->conn.remote_bda, ESP_BLUFI_BD_ADDR_LEN);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL, NULL);
break;
}
case BTA_GATTS_OPEN_EVT:
@@ -385,8 +385,6 @@ void esp_blufi_send_encap(void *arg)
retry:
if (blufi_env.is_connected == false) {
BTC_TRACE_WARNING("%s ble connection is broken\n", __func__);
osi_free(hdr);
hdr = NULL;
return;
}
if (esp_ble_get_cur_sendable_packets_num(BTC_GATT_GET_CONN_ID(blufi_env.conn_id)) > 0) {
@@ -410,7 +408,7 @@ esp_err_t esp_blufi_close(esp_gatt_if_t gatts_if, uint16_t conn_id)
msg.pid = BTC_PID_GATTS;
msg.act = BTC_GATTS_ACT_CLOSE;
arg.close.conn_id = BTC_GATT_CREATE_CONN_ID(gatts_if, conn_id);
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_gatts_args_t), NULL)
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_gatts_args_t), NULL, NULL)
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}

View File

@@ -98,7 +98,7 @@ void btc_blufi_report_error(esp_blufi_error_state_t state)
msg.act = ESP_BLUFI_EVENT_REPORT_ERROR;
esp_blufi_cb_param_t param;
param.report_error.state = state;
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL, NULL);
}
void btc_blufi_recv_handler(uint8_t *data, int len)
@@ -144,6 +144,16 @@ void btc_blufi_recv_handler(uint8_t *data, int len)
if (BLUFI_FC_IS_FRAG(hdr->fc)) {
if (blufi_env.offset == 0) {
/*
blufi_env.aggr_buf should be NULL if blufi_env.offset is 0.
It is possible that the process of sending fragment packet
has not been completed
*/
if (blufi_env.aggr_buf) {
BTC_TRACE_ERROR("%s msg error, blufi_env.aggr_buf is not freed\n", __func__);
btc_blufi_report_error(ESP_BLUFI_MSG_STATE_ERROR);
return;
}
blufi_env.total_len = hdr->data[0] | (((uint16_t) hdr->data[1]) << 8);
blufi_env.aggr_buf = osi_malloc(blufi_env.total_len);
if (blufi_env.aggr_buf == NULL) {
@@ -163,6 +173,18 @@ void btc_blufi_recv_handler(uint8_t *data, int len)
} else {
if (blufi_env.offset > 0) { /* if previous pkt is frag */
/* blufi_env.aggr_buf should not be NULL */
if (blufi_env.aggr_buf == NULL) {
BTC_TRACE_ERROR("%s buffer is NULL\n", __func__);
btc_blufi_report_error(ESP_BLUFI_DH_MALLOC_ERROR);
return;
}
/* payload length should be equal to total_len */
if ((blufi_env.offset + hdr->data_len) != blufi_env.total_len) {
BTC_TRACE_ERROR("%s payload is longer than packet length, len %d \n", __func__, blufi_env.total_len);
btc_blufi_report_error(ESP_BLUFI_DATA_FORMAT_ERROR);
return;
}
memcpy(blufi_env.aggr_buf + blufi_env.offset, hdr->data, hdr->data_len);
btc_blufi_protocol_handler(hdr->type, blufi_env.aggr_buf, blufi_env.total_len);
@@ -321,6 +343,21 @@ static void btc_blufi_wifi_conn_report(uint8_t opmode, uint8_t sta_conn_state, u
*p++ = 1;
*p++ = info->softap_channel;
}
if (info->sta_max_conn_retry_set) {
*p++ = BLUFI_TYPE_DATA_SUBTYPE_STA_MAX_CONN_RETRY;
*p++ = 1;
*p++ = info->sta_max_conn_retry;
}
if (info->sta_conn_end_reason_set) {
*p++ = BLUFI_TYPE_DATA_SUBTYPE_STA_CONN_END_REASON;
*p++ = 1;
*p++ = info->sta_conn_end_reason;
}
if (info->sta_conn_rssi_set) {
*p++ = BLUFI_TYPE_DATA_SUBTYPE_STA_CONN_RSSI;
*p++ = 1;
*p++ = info->sta_conn_rssi;
}
}
if (p - data > data_len) {
BTC_TRACE_ERROR("%s len error %d %d\n", __func__, (int)(p - data), data_len);
@@ -714,6 +751,21 @@ void btc_blufi_call_deep_copy(btc_msg_t *msg, void *p_dest, void *p_src)
dst->wifi_conn_report.extra_info->softap_channel = src_info->softap_channel;
dst->wifi_conn_report.extra_info_len += (1 + 2);
}
if (src_info->sta_max_conn_retry_set) {
dst->wifi_conn_report.extra_info->sta_max_conn_retry_set = src_info->sta_max_conn_retry_set;
dst->wifi_conn_report.extra_info->sta_max_conn_retry = src_info->sta_max_conn_retry;
dst->wifi_conn_report.extra_info_len += (1 + 2);
}
if (src_info->sta_conn_end_reason_set) {
dst->wifi_conn_report.extra_info->sta_conn_end_reason_set = src_info->sta_conn_end_reason_set;
dst->wifi_conn_report.extra_info->sta_conn_end_reason = src_info->sta_conn_end_reason;
dst->wifi_conn_report.extra_info_len += (1 + 2);
}
if (src_info->sta_conn_rssi_set) {
dst->wifi_conn_report.extra_info->sta_conn_rssi_set = src_info->sta_conn_rssi_set;
dst->wifi_conn_report.extra_info->sta_conn_rssi = src_info->sta_conn_rssi;
dst->wifi_conn_report.extra_info_len += (1 + 2);
}
break;
}
case BTC_BLUFI_ACT_SEND_WIFI_LIST:{

View File

@@ -51,35 +51,35 @@ void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len)
msg.act = ESP_BLUFI_EVENT_SET_WIFI_OPMODE;
param.wifi_mode.op_mode = data[0];
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL, NULL);
break;
case BLUFI_TYPE_CTRL_SUBTYPE_CONN_TO_AP:
msg.sig = BTC_SIG_API_CB;
msg.pid = BTC_PID_BLUFI;
msg.act = ESP_BLUFI_EVENT_REQ_CONNECT_TO_AP;
btc_transfer_context(&msg, NULL, 0, NULL);
btc_transfer_context(&msg, NULL, 0, NULL, NULL);
break;
case BLUFI_TYPE_CTRL_SUBTYPE_DISCONN_FROM_AP:
msg.sig = BTC_SIG_API_CB;
msg.pid = BTC_PID_BLUFI;
msg.act = ESP_BLUFI_EVENT_REQ_DISCONNECT_FROM_AP;
btc_transfer_context(&msg, NULL, 0, NULL);
btc_transfer_context(&msg, NULL, 0, NULL, NULL);
break;
case BLUFI_TYPE_CTRL_SUBTYPE_GET_WIFI_STATUS:
msg.sig = BTC_SIG_API_CB;
msg.pid = BTC_PID_BLUFI;
msg.act = ESP_BLUFI_EVENT_GET_WIFI_STATUS;
btc_transfer_context(&msg, NULL, 0, NULL);
btc_transfer_context(&msg, NULL, 0, NULL, NULL);
break;
case BLUFI_TYPE_CTRL_SUBTYPE_DEAUTHENTICATE_STA:
msg.sig = BTC_SIG_API_CB;
msg.pid = BTC_PID_BLUFI;
msg.act = ESP_BLUFI_EVENT_DEAUTHENTICATE_STA;
btc_transfer_context(&msg, NULL, 0, NULL);
btc_transfer_context(&msg, NULL, 0, NULL,NULL);
break;
case BLUFI_TYPE_CTRL_SUBTYPE_GET_VERSION: {
uint8_t type = BLUFI_BUILD_TYPE(BLUFI_TYPE_DATA, BLUFI_TYPE_DATA_SUBTYPE_REPLY_VERSION);
@@ -94,13 +94,13 @@ void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len)
msg.sig = BTC_SIG_API_CB;
msg.pid = BTC_PID_BLUFI;
msg.act = ESP_BLUFI_EVENT_RECV_SLAVE_DISCONNECT_BLE;
btc_transfer_context(&msg, NULL, 0, NULL);
btc_transfer_context(&msg, NULL, 0, NULL, NULL);
break;
case BLUFI_TYPE_CTRL_SUBTYPE_GET_WIFI_LIST:
msg.sig = BTC_SIG_API_CB;
msg.pid = BTC_PID_BLUFI;
msg.act = ESP_BLUFI_EVENT_GET_WIFI_LIST;
btc_transfer_context(&msg, NULL, 0, NULL);
btc_transfer_context(&msg, NULL, 0, NULL, NULL);
break;
default:
BTC_TRACE_ERROR("%s Unkown Ctrl pkt %02x\n", __func__, type);
@@ -125,7 +125,7 @@ void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len)
msg.act = ESP_BLUFI_EVENT_RECV_STA_BSSID;
memcpy(param.sta_bssid.bssid, &data[0], 6);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL, NULL);
break;
case BLUFI_TYPE_DATA_SUBTYPE_STA_SSID:
msg.sig = BTC_SIG_API_CB;
@@ -134,7 +134,7 @@ void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len)
param.sta_ssid.ssid = &data[0];
param.sta_ssid.ssid_len = len;
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy, btc_blufi_cb_deep_free);
break;
case BLUFI_TYPE_DATA_SUBTYPE_STA_PASSWD:
msg.sig = BTC_SIG_API_CB;
@@ -143,7 +143,7 @@ void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len)
param.sta_passwd.passwd = &data[0];
param.sta_passwd.passwd_len = len;
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy, btc_blufi_cb_deep_free);
break;
case BLUFI_TYPE_DATA_SUBTYPE_SOFTAP_SSID:
msg.sig = BTC_SIG_API_CB;
@@ -152,7 +152,7 @@ void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len)
param.softap_ssid.ssid = &data[0];
param.softap_ssid.ssid_len = len;
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy, btc_blufi_cb_deep_free);
break;
case BLUFI_TYPE_DATA_SUBTYPE_SOFTAP_PASSWD:
msg.sig = BTC_SIG_API_CB;
@@ -161,7 +161,7 @@ void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len)
param.softap_passwd.passwd = &data[0];
param.softap_passwd.passwd_len = len;
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy, btc_blufi_cb_deep_free);
break;
case BLUFI_TYPE_DATA_SUBTYPE_SOFTAP_MAX_CONN_NUM:
msg.sig = BTC_SIG_API_CB;
@@ -169,7 +169,7 @@ void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len)
msg.act = ESP_BLUFI_EVENT_RECV_SOFTAP_MAX_CONN_NUM;
param.softap_max_conn_num.max_conn_num = data[0];
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL, NULL);
break;
case BLUFI_TYPE_DATA_SUBTYPE_SOFTAP_AUTH_MODE:
msg.sig = BTC_SIG_API_CB;
@@ -177,7 +177,7 @@ void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len)
msg.act = ESP_BLUFI_EVENT_RECV_SOFTAP_AUTH_MODE;
param.softap_auth_mode.auth_mode = data[0];
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL, NULL);
break;
case BLUFI_TYPE_DATA_SUBTYPE_SOFTAP_CHANNEL:
msg.sig = BTC_SIG_API_CB;
@@ -185,7 +185,7 @@ void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len)
msg.act = ESP_BLUFI_EVENT_RECV_SOFTAP_CHANNEL;
param.softap_channel.channel = data[0];
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL, NULL);
break;
case BLUFI_TYPE_DATA_SUBTYPE_USERNAME:
msg.sig = BTC_SIG_API_CB;
@@ -194,7 +194,7 @@ void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len)
param.username.name = &data[0];
param.username.name_len = len;
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy, btc_blufi_cb_deep_free);
break;
case BLUFI_TYPE_DATA_SUBTYPE_CA:
msg.sig = BTC_SIG_API_CB;
@@ -203,7 +203,7 @@ void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len)
param.ca.cert = &data[0];
param.ca.cert_len = len;
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy, btc_blufi_cb_deep_free);
break;
case BLUFI_TYPE_DATA_SUBTYPE_CLIENT_CERT:
msg.sig = BTC_SIG_API_CB;
@@ -212,7 +212,7 @@ void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len)
param.client_cert.cert = &data[0];
param.client_cert.cert_len = len;
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy, btc_blufi_cb_deep_free);
break;
case BLUFI_TYPE_DATA_SUBTYPE_SERVER_CERT:
msg.sig = BTC_SIG_API_CB;
@@ -221,7 +221,7 @@ void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len)
param.client_cert.cert = &data[0];
param.client_cert.cert_len = len;
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy, btc_blufi_cb_deep_free);
break;
case BLUFI_TYPE_DATA_SUBTYPE_CLIENT_PRIV_KEY:
msg.sig = BTC_SIG_API_CB;
@@ -230,7 +230,7 @@ void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len)
param.client_pkey.pkey = &data[0];
param.client_pkey.pkey_len = len;
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy, btc_blufi_cb_deep_free);
break;
case BLUFI_TYPE_DATA_SUBTYPE_SERVER_PRIV_KEY:
msg.sig = BTC_SIG_API_CB;
@@ -239,7 +239,7 @@ void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len)
param.client_pkey.pkey = &data[0];
param.client_pkey.pkey_len = len;
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy, btc_blufi_cb_deep_free);
break;
case BLUFI_TYPE_DATA_SUBTYPE_CUSTOM_DATA:
msg.sig = BTC_SIG_API_CB;
@@ -247,7 +247,7 @@ void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len)
msg.act = ESP_BLUFI_EVENT_RECV_CUSTOM_DATA;
param.custom_data.data = &data[0];
param.custom_data.data_len = len;
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), btc_blufi_cb_deep_copy, btc_blufi_cb_deep_free);
break;
default:
BTC_TRACE_ERROR("%s Unkown Ctrl pkt %02x\n", __func__, type);

View File

@@ -20,7 +20,7 @@
#if (BLUFI_INCLUDED == TRUE)
#define BTC_BLUFI_GREAT_VER 0x01 //Version + Subversion
#define BTC_BLUFI_SUB_VER 0x02 //Version + Subversion
#define BTC_BLUFI_SUB_VER 0x03 //Version + Subversion
#define BTC_BLUFI_VERSION ((BTC_BLUFI_GREAT_VER<<8)|BTC_BLUFI_SUB_VER) //Version + Subversion
typedef UINT8 tGATT_IF;
@@ -129,6 +129,9 @@ extern tBLUFI_ENV *blufi_env_ptr;
#define BLUFI_TYPE_DATA_SUBTYPE_WIFI_LIST 0x11
#define BLUFI_TYPE_DATA_SUBTYPE_ERROR_INFO 0x12
#define BLUFI_TYPE_DATA_SUBTYPE_CUSTOM_DATA 0x13
#define BLUFI_TYPE_DATA_SUBTYPE_STA_MAX_CONN_RETRY 0x14
#define BLUFI_TYPE_DATA_SUBTYPE_STA_CONN_END_REASON 0x15
#define BLUFI_TYPE_DATA_SUBTYPE_STA_CONN_RSSI 0x16
#define BLUFI_TYPE_IS_CTRL(type) (BLUFI_GET_TYPE((type)) == BLUFI_TYPE_CTRL)
#define BLUFI_TYPE_IS_DATA(type) (BLUFI_GET_TYPE((type)) == BLUFI_TYPE_DATA)

View File

@@ -256,12 +256,12 @@ esp_blufi_gap_event(struct ble_gap_event *event, void *arg)
rc = ble_gap_conn_find(event->connect.conn_handle, &desc);
assert(rc == 0);
memcpy(param.connect.remote_bda, desc.peer_id_addr.val, sizeof(esp_bd_addr_t));
memcpy(param.connect.remote_bda, desc.peer_id_addr.val, ESP_BLUFI_BD_ADDR_LEN);
param.connect.conn_id = event->connect.conn_handle;
/* save connection handle */
conn_handle = event->connect.conn_handle;
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL, NULL);
}
if (event->connect.status != 0) {
/* Connection failed; resume advertising. */
@@ -270,7 +270,7 @@ esp_blufi_gap_event(struct ble_gap_event *event, void *arg)
return 0;
case BLE_GAP_EVENT_DISCONNECT:
ESP_LOGI(TAG, "disconnect; reason=%d\n", event->disconnect.reason);
memcpy(blufi_env.remote_bda, event->disconnect.conn.peer_id_addr.val, sizeof(esp_bd_addr_t));
memcpy(blufi_env.remote_bda, event->disconnect.conn.peer_id_addr.val, ESP_BLUFI_BD_ADDR_LEN);
blufi_env.is_connected = false;
blufi_env.recv_seq = blufi_env.send_seq = 0;
blufi_env.sec_mode = 0x0;
@@ -287,8 +287,8 @@ esp_blufi_gap_event(struct ble_gap_event *event, void *arg)
msg.sig = BTC_SIG_API_CB;
msg.pid = BTC_PID_BLUFI;
msg.act = ESP_BLUFI_EVENT_BLE_DISCONNECT;
memcpy(param.disconnect.remote_bda, event->disconnect.conn.peer_id_addr.val, sizeof(esp_bd_addr_t));
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL);
memcpy(param.disconnect.remote_bda, event->disconnect.conn.peer_id_addr.val, ESP_BLUFI_BD_ADDR_LEN);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL, NULL);
return 0;
case BLE_GAP_EVENT_CONN_UPDATE:
@@ -419,7 +419,7 @@ void esp_blufi_deinit(void)
msg.pid = BTC_PID_BLUFI;
msg.act = ESP_BLUFI_EVENT_DEINIT_FINISH;
param.deinit_finish.state = ESP_BLUFI_DEINIT_OK;
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL);
btc_transfer_context(&msg, &param, sizeof(esp_blufi_cb_param_t), NULL, NULL);
}
void esp_blufi_send_notify(void *arg)
@@ -427,9 +427,15 @@ void esp_blufi_send_notify(void *arg)
struct pkt_info *pkts = (struct pkt_info *) arg;
struct os_mbuf *om;
om = ble_hs_mbuf_from_flat(pkts->pkt, pkts->pkt_len);
if (om == NULL) {
ESP_LOGE(TAG, "Error in allocating memory");
return;
}
int rc = 0;
rc = ble_gattc_notify_custom(conn_handle, gatt_values[1].val_handle, om);
assert(rc == 0);
if (rc != 0) {
ESP_LOGE(TAG, "Error in sending notification");
}
}
void esp_blufi_disconnect(void)
@@ -444,8 +450,6 @@ void esp_blufi_send_encap(void *arg)
struct blufi_hdr *hdr = (struct blufi_hdr *)arg;
if (blufi_env.is_connected == false) {
BTC_TRACE_WARNING("%s ble connection is broken\n", __func__);
osi_free(hdr);
hdr = NULL;
return;
}
btc_blufi_send_notify((uint8_t *)hdr,

View File

@@ -93,4 +93,11 @@
#define UC_BT_BLUFI_ENABLE FALSE
#endif
//MEMORY DEBUG
#ifdef CONFIG_BT_BLUEDROID_MEM_DEBUG
#define UC_BT_BLUEDROID_MEM_DEBUG TRUE
#else
#define UC_BT_BLUEDROID_MEM_DEBUG FALSE
#endif
#endif /* __BT_USER_CONFIG_H__ */

View File

@@ -149,7 +149,7 @@ static void alarm_cb_handler(struct alarm_t *alarm)
msg.pid = BTC_PID_ALARM;
arg.cb = alarm->cb;
arg.cb_data = alarm->cb_data;
btc_transfer_context(&msg, &arg, sizeof(btc_alarm_args_t), NULL);
btc_transfer_context(&msg, &arg, sizeof(btc_alarm_args_t), NULL, NULL);
}
osi_alarm_t *osi_alarm_new(const char *alarm_name, osi_alarm_callback_t callback, void *data, period_ms_t timer_expire)

View File

@@ -262,6 +262,32 @@ bool config_remove_section(config_t *config, const char *section)
return list_remove(config->sections, sec);
}
bool config_update_newest_section(config_t *config, const char *section)
{
assert(config != NULL);
assert(section != NULL);
list_node_t *first_node = list_begin(config->sections);
if (first_node == NULL) {
return false;
}
section_t *first_sec = list_node(first_node);
if (strcmp(first_sec->name, section) == 0) {
return true;
}
for (const list_node_t *node = list_begin(config->sections); node != list_end(config->sections); node = list_next(node)) {
section_t *sec = list_node(node);
if (strcmp(sec->name, section) == 0) {
list_delete(config->sections, sec);
list_prepend(config->sections, sec);
return true;
}
}
return false;
}
bool config_remove_key(config_t *config, const char *section, const char *key)
{
assert(config != NULL);

View File

@@ -0,0 +1,161 @@
/*
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "osi/allocator.h"
#include "osi/pkt_queue.h"
#include "osi/fixed_pkt_queue.h"
#include "osi/osi.h"
#include "osi/semaphore.h"
typedef struct fixed_pkt_queue_t {
struct pkt_queue *pkt_list;
osi_sem_t enqueue_sem;
osi_sem_t dequeue_sem;
size_t capacity;
fixed_pkt_queue_cb dequeue_ready;
} fixed_pkt_queue_t;
fixed_pkt_queue_t *fixed_pkt_queue_new(size_t capacity)
{
fixed_pkt_queue_t *ret = osi_calloc(sizeof(fixed_pkt_queue_t));
if (!ret) {
goto error;
}
ret->capacity = capacity;
ret->pkt_list = pkt_queue_create();
if (!ret->pkt_list) {
goto error;
}
osi_sem_new(&ret->enqueue_sem, capacity, capacity);
if (!ret->enqueue_sem) {
goto error;
}
osi_sem_new(&ret->dequeue_sem, capacity, 0);
if (!ret->dequeue_sem) {
goto error;
}
return ret;
error:
fixed_pkt_queue_free(ret, NULL);
return NULL;
}
void fixed_pkt_queue_free(fixed_pkt_queue_t *queue, fixed_pkt_queue_free_cb free_cb)
{
if (queue == NULL) {
return;
}
fixed_pkt_queue_unregister_dequeue(queue);
pkt_queue_destroy(queue->pkt_list, (pkt_queue_free_cb)free_cb);
queue->pkt_list = NULL;
if (queue->enqueue_sem) {
osi_sem_free(&queue->enqueue_sem);
}
if (queue->dequeue_sem) {
osi_sem_free(&queue->dequeue_sem);
}
osi_free(queue);
}
bool fixed_pkt_queue_is_empty(fixed_pkt_queue_t *queue)
{
if (queue == NULL) {
return true;
}
return pkt_queue_is_empty(queue->pkt_list);
}
size_t fixed_pkt_queue_length(fixed_pkt_queue_t *queue)
{
if (queue == NULL) {
return 0;
}
return pkt_queue_length(queue->pkt_list);
}
size_t fixed_pkt_queue_capacity(fixed_pkt_queue_t *queue)
{
assert(queue != NULL);
return queue->capacity;
}
bool fixed_pkt_queue_enqueue(fixed_pkt_queue_t *queue, pkt_linked_item_t *linked_pkt, uint32_t timeout)
{
bool ret = false;
assert(queue != NULL);
assert(linked_pkt != NULL);
if (osi_sem_take(&queue->enqueue_sem, timeout) != 0) {
return false;
}
ret = pkt_queue_enqueue(queue->pkt_list, linked_pkt);
assert(ret == true);
osi_sem_give(&queue->dequeue_sem);
return ret;
}
pkt_linked_item_t *fixed_pkt_queue_dequeue(fixed_pkt_queue_t *queue, uint32_t timeout)
{
pkt_linked_item_t *ret = NULL;
assert(queue != NULL);
if (osi_sem_take(&queue->dequeue_sem, timeout) != 0) {
return NULL;
}
ret = pkt_queue_dequeue(queue->pkt_list);
osi_sem_give(&queue->enqueue_sem);
return ret;
}
pkt_linked_item_t *fixed_pkt_queue_try_peek_first(fixed_pkt_queue_t *queue)
{
if (queue == NULL) {
return NULL;
}
return pkt_queue_try_peek_first(queue->pkt_list);
}
void fixed_pkt_queue_register_dequeue(fixed_pkt_queue_t *queue, fixed_pkt_queue_cb ready_cb)
{
assert(queue != NULL);
assert(ready_cb != NULL);
queue->dequeue_ready = ready_cb;
}
void fixed_pkt_queue_unregister_dequeue(fixed_pkt_queue_t *queue)
{
assert(queue != NULL);
queue->dequeue_ready = NULL;
}
void fixed_pkt_queue_process(fixed_pkt_queue_t *queue)
{
assert(queue != NULL);
if (queue->dequeue_ready) {
queue->dequeue_ready(queue);
}
}

View File

@@ -107,6 +107,11 @@ void config_set_string(config_t *config, const char *section, const char *key, c
// Neither |config| nor |section| may be NULL.
bool config_remove_section(config_t *config, const char *section);
// Updates |section| to be the first section in |config|. Return true if |section| is in
// |config| and updated successfully, false otherwise.
// Neither |config| nor |section| may be NULL.
bool config_update_newest_section(config_t *config, const char *section);
// Removes one specific |key| residing in |section| of the |config|. Returns true
// if the section and key were found and the key was removed, false otherwise.
// None of |config|, |section|, or |key| may be NULL.

View File

@@ -0,0 +1,79 @@
/*
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef _FIXED_PKT_QUEUE_H_
#define _FIXED_PKT_QUEUE_H_
#include "osi/pkt_queue.h"
#include "osi/semaphore.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifndef FIXED_PKT_QUEUE_SIZE_MAX
#define FIXED_PKT_QUEUE_SIZE_MAX 254
#endif
#define FIXED_PKT_QUEUE_MAX_TIMEOUT OSI_SEM_MAX_TIMEOUT
struct fixed_pkt_queue_t;
typedef struct fixed_pkt_queue_t fixed_pkt_queue_t;
typedef void (*fixed_pkt_queue_free_cb)(pkt_linked_item_t *data);
typedef void (*fixed_pkt_queue_cb)(fixed_pkt_queue_t *queue);
// Creates a new fixed queue with the given |capacity|. If more elements than
// |capacity| are added to the queue, the caller is blocked until space is
// made available in the queue. Returns NULL on failure. The caller must free
// the returned queue with |fixed_pkt_queue_free|.
fixed_pkt_queue_t *fixed_pkt_queue_new(size_t capacity);
// Freeing a queue that is currently in use (i.e. has waiters
// blocked on it) results in undefined behaviour.
void fixed_pkt_queue_free(fixed_pkt_queue_t *queue, fixed_pkt_queue_free_cb free_cb);
// Returns a value indicating whether the given |queue| is empty. If |queue|
// is NULL, the return value is true.
bool fixed_pkt_queue_is_empty(fixed_pkt_queue_t *queue);
// Returns the length of the |queue|. If |queue| is NULL, the return value
// is 0.
size_t fixed_pkt_queue_length(fixed_pkt_queue_t *queue);
// Returns the maximum number of elements this queue may hold. |queue| may
// not be NULL.
size_t fixed_pkt_queue_capacity(fixed_pkt_queue_t *queue);
// Enqueues the given |data| into the |queue|. The caller will be blocked or immediately return or wait for timeout according to the parameter timeout.
// If enqueue failed, it will return false, otherwise return true
bool fixed_pkt_queue_enqueue(fixed_pkt_queue_t *queue, pkt_linked_item_t *linked_pkt, uint32_t timeout);
// Dequeues the next element from |queue|. If the queue is currently empty,
// this function will block the caller until an item is enqueued or immediately return or wait for timeout according to the parameter timeout.
// If dequeue failed, it will return NULL, otherwise return a point.
pkt_linked_item_t *fixed_pkt_queue_dequeue(fixed_pkt_queue_t *queue, uint32_t timeout);
// Returns the first element from |queue|, if present, without dequeuing it.
// This function will never block the caller. Returns NULL if there are no
// elements in the queue or |queue| is NULL.
pkt_linked_item_t *fixed_pkt_queue_try_peek_first(fixed_pkt_queue_t *queue);
// Registers |queue| with |reactor| for dequeue operations. When there is an element
// in the queue, ready_cb will be called. The |context| parameter is passed, untouched,
// to the callback routine. Neither |queue|, nor |reactor|, nor |read_cb| may be NULL.
// |context| may be NULL.
void fixed_pkt_queue_register_dequeue(fixed_pkt_queue_t *queue, fixed_pkt_queue_cb ready_cb);
// Unregisters the dequeue ready callback for |queue| from whichever reactor
// it is registered with, if any. This function is idempotent.
void fixed_pkt_queue_unregister_dequeue(fixed_pkt_queue_t *queue);
void fixed_pkt_queue_process(fixed_pkt_queue_t *queue);
#endif

View File

@@ -0,0 +1,88 @@
/*
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef _PKT_LIST_H_
#define _PKT_LIST_H_
#include "sys/queue.h"
#include <stdint.h>
#include <stdbool.h>
#ifdef __cplusplus
extern "C" {
#endif
struct pkt_queue;
typedef struct pkt_linked_item {
STAILQ_ENTRY(pkt_linked_item) next;
uint8_t data[];
} pkt_linked_item_t;
#define BT_PKT_LINKED_HDR_SIZE (sizeof (pkt_linked_item_t))
typedef void (*pkt_queue_free_cb)(pkt_linked_item_t *item);
/*
* brief: create a pkt_queue instance. pkt_queue is a wrapper class of a FIFO implemented by single linked list.
* The enqueue and dequeue operations of the FIFO are protected against race conditions of multiple tasks
* return: NULL if not enough memory, otherwise a valid pointer
*/
struct pkt_queue *pkt_queue_create(void);
/*
* brief: enqueue one item to the FIFO
* param queue: pkt_queue instance created using pkt_queue_create
* param item: the item to be enqueued to the FIFO
* return: true if enqueued successfully, false when the arguments passed in are invalid
*/
bool pkt_queue_enqueue(struct pkt_queue *queue, pkt_linked_item_t *item);
/*
* brief: dequeue one item for the FIFO
* param queue: pkt_queue instance created using pkt_queue_create
* return: pointer of type pkt_linked_item_t dequeued, NULL if the queue is empty or upon exception
*/
pkt_linked_item_t *pkt_queue_dequeue(struct pkt_queue *queue);
/*
* brief: get the pointer of the first item from the FIFO but not get it dequeued
* param queue: pkt_queue instance created using pkt_queue_create
* return: pointer of the first item in the FIFO, NULL if the FIFO is empty
*/
pkt_linked_item_t *pkt_queue_try_peek_first(struct pkt_queue *queue);
/*
* brief: retrieve the number of items existing in the FIFO
* param queue: pkt_queue instance created using pkt_queue_create
* return: total number of items in the FIFO
*/
size_t pkt_queue_length(const struct pkt_queue *queue);
/*
* brief: retrieve the status whether the FIFO is empty
* param queue: pkt_queue instance created using pkt_queue_create
* return: false if the FIFO is not empty, otherwise true
*/
bool pkt_queue_is_empty(const struct pkt_queue *queue);
/*
* brief: delete the item in the FIFO one by one
* param free_cb: destructor function for each item in the FIFO, if set to NULL, will use osi_free_func by default
*/
void pkt_queue_flush(struct pkt_queue *queue, pkt_queue_free_cb free_cb);
/*
* brief: delete the items in the FIFO and then destroy the pkt_queue instance.
* param free_cb: destructor function for each item in the FIFO, if set to NULL, will use osi_free_func by default
*/
void pkt_queue_destroy(struct pkt_queue *queue, pkt_queue_free_cb free_cb);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -28,6 +28,7 @@
#define OSI_THREAD_MAX_TIMEOUT OSI_SEM_MAX_TIMEOUT
struct osi_thread;
struct osi_event;
typedef struct osi_thread osi_thread_t;
@@ -48,7 +49,7 @@ typedef enum {
* param work_queue_num: speicify queue number, the queue[0] has highest priority, and the priority is decrease by index
* return : if create successfully, return thread handler; otherwise return NULL.
*/
osi_thread_t *osi_thread_create(const char *name, size_t stack_size, int priority, osi_thread_core_t core, uint8_t work_queue_num);
osi_thread_t *osi_thread_create(const char *name, size_t stack_size, int priority, osi_thread_core_t core, uint8_t work_queue_num, const size_t work_queue_len[]);
/*
* brief: Destroy a thread or task
@@ -88,4 +89,42 @@ const char *osi_thread_name(osi_thread_t *thread);
*/
int osi_thread_queue_wait_size(osi_thread_t *thread, int wq_idx);
/*
* brief: Create an osi_event struct and register the handler function and its argument
* An osi_event is a kind of work that can be posted to the workqueue of osi_thread to process,
* but the work can have at most one instance the thread workqueue before it is processed. This
* allows the "single post, multiple data processing" jobs.
* param func: the handler to process the job
* param context: the argument to be passed to the handler function when the job is being processed
* return: NULL if no memory, otherwise a valid struct pointer
*/
struct osi_event *osi_event_create(osi_thread_func_t func, void *context);
/*
* brief: Bind an osi_event to a specific work queue for an osi_thread.
* After binding is completed, a function call of API osi_thread_post_event will send a work
* to the workqueue of the thread, with specified queue index.
* param func: event: the pointer to osi_event that is created using osi_event_create
* param thread: the pointer to osi_thread that is created using osi_thread_create
* param queue_idx: the index of the workqueue of the specified osi_thread, with range starting from 0 to work_queue_num - 1
* return: true if osi_event binds to the thread's workqueue successfully, otherwise false
*/
bool osi_event_bind(struct osi_event* event, osi_thread_t *thread, int queue_idx);
/*
* brief: Destroy the osi_event struct created by osi_event_create and free the allocated memory
* param event: the pointer to osi_event
*/
void osi_event_delete(struct osi_event* event);
/*
* brief: try sending a work to the binded thread's workqueue, so that it can be handled by the worker thread
* param event: pointer to osi_event, created by osi_event_create
* param timeout: post timeout, OSI_THREAD_MAX_TIMEOUT means blocking forever, 0 means never blocking, others means block millisecond
* return: true if the message is enqueued to the thread workqueue, otherwise failed
* note: if the return value of function is false, it is the case that the workqueue of the thread is full, and users
* are expected to post the event sometime later to get the work handled.
*/
bool osi_thread_post_event(struct osi_event *event, uint32_t timeout);
#endif /* __THREAD_H__ */

View File

@@ -0,0 +1,144 @@
/*
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "osi/pkt_queue.h"
#include "osi/allocator.h"
#include "osi/mutex.h"
STAILQ_HEAD(pkt_queue_header, pkt_linked_item);
struct pkt_queue {
osi_mutex_t lock;
size_t length;
struct pkt_queue_header header;
} pkt_queue_t;
struct pkt_queue *pkt_queue_create(void)
{
struct pkt_queue *queue = calloc(1, sizeof(struct pkt_queue));
if (queue == NULL) {
return NULL;
}
if (osi_mutex_new(&queue->lock) != 0) {
osi_free(queue);
}
struct pkt_queue_header *p = &queue->header;
STAILQ_INIT(p);
return queue;
}
static void pkt_queue_cleanup(struct pkt_queue *queue, pkt_queue_free_cb free_cb)
{
if (queue == NULL) {
return;
}
struct pkt_queue_header *header = &queue->header;
pkt_linked_item_t *item = STAILQ_FIRST(header);
pkt_linked_item_t *tmp;
pkt_queue_free_cb free_func = (free_cb != NULL) ? free_cb : (pkt_queue_free_cb)osi_free_func;
while (item != NULL) {
tmp = STAILQ_NEXT(item, next);
free_func(item);
item = tmp;
queue->length--;
}
STAILQ_INIT(header);
queue->length = 0;
}
void pkt_queue_flush(struct pkt_queue *queue, pkt_queue_free_cb free_cb)
{
if (queue == NULL) {
return;
}
osi_mutex_lock(&queue->lock, OSI_MUTEX_MAX_TIMEOUT);
pkt_queue_cleanup(queue, free_cb);
osi_mutex_unlock(&queue->lock);
}
void pkt_queue_destroy(struct pkt_queue *queue, pkt_queue_free_cb free_cb)
{
if (queue == NULL) {
return;
}
osi_mutex_lock(&queue->lock, OSI_MUTEX_MAX_TIMEOUT);
pkt_queue_cleanup(queue, free_cb);
osi_mutex_unlock(&queue->lock);
osi_mutex_free(&queue->lock);
osi_free(queue);
}
pkt_linked_item_t *pkt_queue_dequeue(struct pkt_queue *queue)
{
if (queue == NULL || queue->length == 0) {
return NULL;
}
struct pkt_linked_item *item;
struct pkt_queue_header *header;
osi_mutex_lock(&queue->lock, OSI_MUTEX_MAX_TIMEOUT);
header = &queue->header;
item = STAILQ_FIRST(header);
if (item != NULL) {
STAILQ_REMOVE_HEAD(header, next);
if (queue->length > 0) {
queue->length--;
}
}
osi_mutex_unlock(&queue->lock);
return item;
}
bool pkt_queue_enqueue(struct pkt_queue *queue, pkt_linked_item_t *item)
{
if (queue == NULL || item == NULL) {
return false;
}
struct pkt_queue_header *header;
osi_mutex_lock(&queue->lock, OSI_MUTEX_MAX_TIMEOUT);
header = &queue->header;
STAILQ_INSERT_TAIL(header, item, next);
queue->length++;
osi_mutex_unlock(&queue->lock);
return true;
}
size_t pkt_queue_length(const struct pkt_queue *queue)
{
if (queue == NULL) {
return 0;
}
return queue->length;
}
bool pkt_queue_is_empty(const struct pkt_queue *queue)
{
return pkt_queue_length(queue) == 0;
}
pkt_linked_item_t *pkt_queue_try_peek_first(struct pkt_queue *queue)
{
if (queue == NULL) {
return NULL;
}
struct pkt_queue_header *header = &queue->header;
pkt_linked_item_t *item;
osi_mutex_lock(&queue->lock, OSI_MUTEX_MAX_TIMEOUT);
item = STAILQ_FIRST(header);
osi_mutex_unlock(&queue->lock);
return item;
}

View File

@@ -19,16 +19,28 @@
#include <string.h>
#include "osi/allocator.h"
#include "osi/fixed_queue.h"
#include "freertos/FreeRTOS.h"
#include "freertos/queue.h"
#include "osi/semaphore.h"
#include "osi/thread.h"
#include "osi/mutex.h"
struct work_item {
osi_thread_func_t func;
void *context;
};
struct work_queue {
QueueHandle_t queue;
size_t capacity;
};
struct osi_thread {
void *thread_handle; /*!< Store the thread object */
int thread_id; /*!< May for some OS, such as Linux */
bool stop;
uint8_t work_queue_num; /*!< Work queue number */
fixed_queue_t **work_queues; /*!< Point to queue array, and the priority inverse array index */
struct work_queue **work_queues; /*!< Point to queue array, and the priority inverse array index */
osi_sem_t work_sem;
osi_sem_t stop_sem;
};
@@ -39,13 +51,98 @@ struct osi_thread_start_arg {
int error;
};
typedef struct {
osi_thread_func_t func;
void *context;
} work_item_t;
struct osi_event {
struct work_item item;
osi_mutex_t lock;
uint16_t is_queued;
uint16_t queue_idx;
osi_thread_t *thread;
};
static const size_t DEFAULT_WORK_QUEUE_CAPACITY = 100;
static struct work_queue *osi_work_queue_create(size_t capacity)
{
if (capacity == 0) {
return NULL;
}
struct work_queue *wq = (struct work_queue *)osi_malloc(sizeof(struct work_queue));
if (wq != NULL) {
wq->queue = xQueueCreate(capacity, sizeof(struct work_item));
if (wq->queue != 0) {
wq->capacity = capacity;
return wq;
} else {
osi_free(wq);
}
}
return NULL;
}
static void osi_work_queue_delete(struct work_queue *wq)
{
if (wq != NULL) {
if (wq->queue != 0) {
vQueueDelete(wq->queue);
}
wq->queue = 0;
wq->capacity = 0;
osi_free(wq);
}
return;
}
static bool osi_thead_work_queue_get(struct work_queue *wq, struct work_item *item)
{
assert (wq != NULL);
assert (wq->queue != 0);
assert (item != NULL);
if (pdTRUE == xQueueReceive(wq->queue, item, 0)) {
return true;
} else {
return false;
}
}
static bool osi_thead_work_queue_put(struct work_queue *wq, const struct work_item *item, uint32_t timeout)
{
assert (wq != NULL);
assert (wq->queue != 0);
assert (item != NULL);
bool ret = true;
if (timeout == OSI_SEM_MAX_TIMEOUT) {
if (xQueueSend(wq->queue, item, portMAX_DELAY) != pdTRUE) {
ret = false;
}
} else {
if (xQueueSend(wq->queue, item, timeout / portTICK_PERIOD_MS) != pdTRUE) {
ret = false;
}
}
return ret;
}
static size_t osi_thead_work_queue_len(struct work_queue *wq)
{
assert (wq != NULL);
assert (wq->queue != 0);
assert (wq->capacity != 0);
size_t available_spaces = (size_t)uxQueueSpacesAvailable(wq->queue);
if (available_spaces <= wq->capacity) {
return wq->capacity - available_spaces;
} else {
assert (0);
}
return 0;
}
static void osi_thread_run(void *arg)
{
struct osi_thread_start_arg *start = (struct osi_thread_start_arg *)arg;
@@ -62,11 +159,10 @@ static void osi_thread_run(void *arg)
break;
}
struct work_item item;
while (!thread->stop && idx < thread->work_queue_num) {
work_item_t *item = fixed_queue_dequeue(thread->work_queues[idx], 0);
if (item) {
item->func(item->context);
osi_free(item);
if (osi_thead_work_queue_get(thread->work_queues[idx], &item) == true) {
item.func(item.context);
idx = 0;
continue;
} else {
@@ -107,31 +203,32 @@ static void osi_thread_stop(osi_thread_t *thread)
}
//in linux, the stack_size, priority and core may not be set here, the code will be ignore the arguments
osi_thread_t *osi_thread_create(const char *name, size_t stack_size, int priority, osi_thread_core_t core, uint8_t work_queue_num)
osi_thread_t *osi_thread_create(const char *name, size_t stack_size, int priority, osi_thread_core_t core, uint8_t work_queue_num, const size_t work_queue_len[])
{
int ret;
struct osi_thread_start_arg start_arg = {0};
if (stack_size <= 0 ||
core < OSI_THREAD_CORE_0 || core > OSI_THREAD_CORE_AFFINITY ||
work_queue_num <= 0) {
work_queue_num <= 0 || work_queue_len == NULL) {
return NULL;
}
osi_thread_t *thread = (osi_thread_t *)osi_malloc(sizeof(osi_thread_t));
osi_thread_t *thread = (osi_thread_t *)osi_calloc(sizeof(osi_thread_t));
if (thread == NULL) {
goto _err;
}
thread->stop = false;
thread->work_queue_num = work_queue_num;
thread->work_queues = (fixed_queue_t **)osi_malloc(sizeof(fixed_queue_t *) * work_queue_num);
thread->work_queues = (struct work_queue **)osi_calloc(sizeof(struct work_queue *) * work_queue_num);
if (thread->work_queues == NULL) {
goto _err;
}
thread->work_queue_num = work_queue_num;
for (int i = 0; i < thread->work_queue_num; i++) {
thread->work_queues[i] = fixed_queue_new(DEFAULT_WORK_QUEUE_CAPACITY);
size_t queue_len = work_queue_len[i] ? work_queue_len[i] : DEFAULT_WORK_QUEUE_CAPACITY;
thread->work_queues[i] = osi_work_queue_create(queue_len);
if (thread->work_queues[i] == NULL) {
goto _err;
}
@@ -175,12 +272,14 @@ _err:
for (int i = 0; i < thread->work_queue_num; i++) {
if (thread->work_queues[i]) {
fixed_queue_free(thread->work_queues[i], osi_free_func);
osi_work_queue_delete(thread->work_queues[i]);
}
thread->work_queues[i] = NULL;
}
if (thread->work_queues) {
osi_free(thread->work_queues);
thread->work_queues = NULL;
}
if (thread->work_sem) {
@@ -206,12 +305,14 @@ void osi_thread_free(osi_thread_t *thread)
for (int i = 0; i < thread->work_queue_num; i++) {
if (thread->work_queues[i]) {
fixed_queue_free(thread->work_queues[i], osi_free_func);
osi_work_queue_delete(thread->work_queues[i]);
thread->work_queues[i] = NULL;
}
}
if (thread->work_queues) {
osi_free(thread->work_queues);
thread->work_queues = NULL;
}
if (thread->work_sem) {
@@ -235,15 +336,12 @@ bool osi_thread_post(osi_thread_t *thread, osi_thread_func_t func, void *context
return false;
}
work_item_t *item = (work_item_t *)osi_malloc(sizeof(work_item_t));
if (item == NULL) {
return false;
}
item->func = func;
item->context = context;
struct work_item item;
if (fixed_queue_enqueue(thread->work_queues[queue_idx], item, timeout) == false) {
osi_free(item);
item.func = func;
item.context = context;
if (osi_thead_work_queue_put(thread->work_queues[queue_idx], &item, timeout) == false) {
return false;
}
@@ -273,5 +371,83 @@ int osi_thread_queue_wait_size(osi_thread_t *thread, int wq_idx)
return -1;
}
return fixed_queue_length(thread->work_queues[wq_idx]);
return (int)(osi_thead_work_queue_len(thread->work_queues[wq_idx]));
}
struct osi_event *osi_event_create(osi_thread_func_t func, void *context)
{
struct osi_event *event = osi_calloc(sizeof(struct osi_event));
if (event != NULL) {
if (osi_mutex_new(&event->lock) == 0) {
event->item.func = func;
event->item.context = context;
return event;
}
osi_free(event);
}
return NULL;
}
void osi_event_delete(struct osi_event* event)
{
if (event != NULL) {
osi_mutex_free(&event->lock);
memset(event, 0, sizeof(struct osi_event));
osi_free(event);
}
}
bool osi_event_bind(struct osi_event* event, osi_thread_t *thread, int queue_idx)
{
if (event == NULL || event->thread != NULL) {
return false;
}
if (thread == NULL || queue_idx >= thread->work_queue_num) {
return false;
}
event->thread = thread;
event->queue_idx = queue_idx;
return true;
}
static void osi_thread_generic_event_handler(void *context)
{
struct osi_event *event = (struct osi_event *)context;
if (event != NULL && event->item.func != NULL) {
osi_mutex_lock(&event->lock, OSI_MUTEX_MAX_TIMEOUT);
event->is_queued = 0;
osi_mutex_unlock(&event->lock);
event->item.func(event->item.context);
}
}
bool osi_thread_post_event(struct osi_event *event, uint32_t timeout)
{
assert(event != NULL && event->thread != NULL);
assert(event->queue_idx >= 0 && event->queue_idx < event->thread->work_queue_num);
bool ret = false;
if (event->is_queued == 0) {
uint16_t acquire_cnt = 0;
osi_mutex_lock(&event->lock, OSI_MUTEX_MAX_TIMEOUT);
event->is_queued += 1;
acquire_cnt = event->is_queued;
osi_mutex_unlock(&event->lock);
if (acquire_cnt == 1) {
ret = osi_thread_post(event->thread, osi_thread_generic_event_handler, event, event->queue_idx, timeout);
if (!ret) {
// clear "is_queued" when post failure, to allow for following event posts
osi_mutex_lock(&event->lock, OSI_MUTEX_MAX_TIMEOUT);
event->is_queued = 0;
osi_mutex_unlock(&event->lock);
}
}
}
return ret;
}

View File

@@ -205,6 +205,11 @@ menu "HCI UART(H4) Options"
help
UART Baudrate for HCI. Please use standard baudrate.
config BTDM_CTRL_HCI_UART_FLOW_CTRL_EN
bool "Enable UART flow control"
depends on BTDM_CTRL_HCI_MODE_UART_H4
default y
endmenu
menu "MODEM SLEEP Options"
@@ -351,7 +356,23 @@ config BTDM_SCAN_DUPL_CACHE_SIZE
default 100
help
Maximum number of devices which can be recorded in scan duplicate filter.
When the maximum amount of device in the filter is reached, the cache will be refreshed.
When the maximum amount of device in the filter is reached, the oldest device will be refreshed.
config BTDM_SCAN_DUPL_CACHE_REFRESH_PERIOD
int "Duplicate scan list refresh period (seconds)"
depends on BTDM_BLE_SCAN_DUPL
range 0 1000
default 0
help
If the period value is non-zero, the controller will periodically clear the device information
stored in the scan duuplicate filter. If it is 0, the scan duuplicate filter will not be cleared
until the scanning is disabled. Duplicate advertisements for this period should not be sent to the
Host in advertising report events.
There are two scenarios where the ADV packet will be repeatedly reported:
1. The duplicate scan cache is full, the controller will delete the oldest device information and
add new device information.
2. When the refresh period is up, the controller will clear all device information and start filtering
again.
config BTDM_BLE_MESH_SCAN_DUPL_EN
bool "Special duplicate scan mechanism for BLE Mesh scan"

View File

@@ -88,14 +88,9 @@ do{\
} while(0)
#define OSI_FUNCS_TIME_BLOCKING 0xffffffff
#define OSI_VERSION 0x00010003
#define OSI_VERSION 0x00010004
#define OSI_MAGIC_VALUE 0xFADEBEAD
/* SPIRAM Configuration */
#if CONFIG_SPIRAM_USE_MALLOC
#define BTDM_MAX_QUEUE_NUM (6)
#endif
/* Types definition
************************************************************************
*/
@@ -113,14 +108,10 @@ typedef struct {
intptr_t end;
} btdm_dram_available_region_t;
/* PSRAM configuration */
#if CONFIG_SPIRAM_USE_MALLOC
typedef struct {
QueueHandle_t handle;
void *handle;
void *storage;
void *buffer;
} btdm_queue_item_t;
#endif
/* OSI function */
struct osi_funcs_t {
@@ -184,6 +175,7 @@ struct osi_funcs_t {
void (*_interrupt_l3_disable)(void);
void (*_interrupt_l3_restore)(void);
void *(* _customer_queue_create)(uint32_t queue_len, uint32_t item_size);
int (* _coex_version_get)(unsigned int *major, unsigned int *minor, unsigned int *patch);
uint32_t _magic;
};
@@ -242,6 +234,8 @@ extern int coex_wifi_channel_get(uint8_t *primary, uint8_t *secondary);
extern int coex_register_wifi_channel_change_callback(void *cb);
/* Shutdown */
extern void esp_bt_controller_shutdown(void);
extern void sdk_config_set_bt_pll_track_enable(bool enable);
extern void sdk_config_set_uart_flow_ctrl_enable(bool enable);
extern char _bss_start_btdm;
extern char _bss_end_btdm;
@@ -266,11 +260,6 @@ extern uint32_t _btdm_data_end;
/* Local Function Declare
*********************************************************************
*/
#if CONFIG_SPIRAM_USE_MALLOC
static bool btdm_queue_generic_register(const btdm_queue_item_t *queue);
static bool btdm_queue_generic_deregister(btdm_queue_item_t *queue);
#endif /* CONFIG_SPIRAM_USE_MALLOC */
#if CONFIG_BTDM_CTRL_HLI
static xt_handler set_isr_hlevel_wrapper(int n, xt_handler f, void *arg);
static void IRAM_ATTR interrupt_hlevel_disable(void);
@@ -333,11 +322,13 @@ static uint8_t coex_schm_curr_period_get_wrapper(void);
static void * coex_schm_curr_phase_get_wrapper(void);
static int coex_wifi_channel_get_wrapper(uint8_t *primary, uint8_t *secondary);
static int coex_register_wifi_channel_change_callback_wrapper(void *cb);
static int coex_version_get_wrapper(unsigned int *major, unsigned int *minor, unsigned int *patch);
#if CONFIG_BTDM_CTRL_HLI
static void *customer_queue_create_hlevel_wrapper(uint32_t queue_len, uint32_t item_size);
#endif /* CONFIG_BTDM_CTRL_HLI */
static void IRAM_ATTR interrupt_l3_disable(void);
static void IRAM_ATTR interrupt_l3_restore(void);
static void bt_controller_deinit_internal(void);
/* Local variable definition
***************************************************************************
@@ -424,6 +415,7 @@ static const struct osi_funcs_t osi_funcs_ro = {
#else
._customer_queue_create = NULL,
#endif /* CONFIG_BTDM_CTRL_HLI */
._coex_version_get = coex_version_get_wrapper,
._magic = OSI_MAGIC_VALUE,
};
@@ -450,11 +442,6 @@ SOC_RESERVE_MEMORY_REGION(SOC_MEM_BT_DATA_START, SOC_MEM_BT_DATA_END,
static DRAM_ATTR struct osi_funcs_t *osi_funcs_p;
#if CONFIG_SPIRAM_USE_MALLOC
static DRAM_ATTR btdm_queue_item_t btdm_queue_table[BTDM_MAX_QUEUE_NUM];
static DRAM_ATTR SemaphoreHandle_t btdm_queue_table_mux = NULL;
#endif /* #if CONFIG_SPIRAM_USE_MALLOC */
/* Static variable declare */
// timestamp when PHY/RF was switched on
static DRAM_ATTR int64_t s_time_phy_rf_just_enabled = 0;
@@ -506,52 +493,6 @@ static inline void btdm_check_and_init_bb(void)
}
}
#if CONFIG_SPIRAM_USE_MALLOC
static bool btdm_queue_generic_register(const btdm_queue_item_t *queue)
{
if (!btdm_queue_table_mux || !queue) {
return NULL;
}
bool ret = false;
btdm_queue_item_t *item;
xSemaphoreTake(btdm_queue_table_mux, portMAX_DELAY);
for (int i = 0; i < BTDM_MAX_QUEUE_NUM; ++i) {
item = &btdm_queue_table[i];
if (item->handle == NULL) {
memcpy(item, queue, sizeof(btdm_queue_item_t));
ret = true;
break;
}
}
xSemaphoreGive(btdm_queue_table_mux);
return ret;
}
static bool btdm_queue_generic_deregister(btdm_queue_item_t *queue)
{
if (!btdm_queue_table_mux || !queue) {
return false;
}
bool ret = false;
btdm_queue_item_t *item;
xSemaphoreTake(btdm_queue_table_mux, portMAX_DELAY);
for (int i = 0; i < BTDM_MAX_QUEUE_NUM; ++i) {
item = &btdm_queue_table[i];
if (item->handle == queue->handle) {
memcpy(queue, item, sizeof(btdm_queue_item_t));
memset(item, 0, sizeof(btdm_queue_item_t));
ret = true;
break;
}
}
xSemaphoreGive(btdm_queue_table_mux);
return ret;
}
#endif /* CONFIG_SPIRAM_USE_MALLOC */
#if CONFIG_BTDM_CTRL_HLI
struct interrupt_hlevel_cb{
uint32_t status;
@@ -624,6 +565,9 @@ static void IRAM_ATTR task_yield_from_isr(void)
static void *semphr_create_wrapper(uint32_t max, uint32_t init)
{
btdm_queue_item_t *semphr = heap_caps_calloc(1, sizeof(btdm_queue_item_t), MALLOC_CAP_8BIT|MALLOC_CAP_INTERNAL);
assert(semphr);
void *handle = NULL;
#if !CONFIG_SPIRAM_USE_MALLOC
@@ -632,112 +576,94 @@ static void *semphr_create_wrapper(uint32_t max, uint32_t init)
StaticQueue_t *queue_buffer = NULL;
queue_buffer = heap_caps_malloc(sizeof(StaticQueue_t), MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
if (!queue_buffer) {
goto error;
}
assert(queue_buffer);
semphr->storage = queue_buffer;
handle = (void *)xSemaphoreCreateCountingStatic(max, init, queue_buffer);
if (!handle) {
goto error;
}
btdm_queue_item_t item = {
.handle = handle,
.storage = NULL,
.buffer = queue_buffer,
};
if (!btdm_queue_generic_register(&item)) {
goto error;
}
#endif
assert(handle);
#if CONFIG_BTDM_CTRL_HLI
SemaphoreHandle_t downstream_semaphore = handle;
assert(downstream_semaphore);
hli_queue_handle_t s_semaphore = hli_semaphore_create(max, downstream_semaphore);
assert(downstream_semaphore);
return s_semaphore;
assert(s_semaphore);
semphr->handle = (void *)s_semaphore;
#else
return handle;
semphr->handle = handle;
#endif /* CONFIG_BTDM_CTRL_HLI */
#if CONFIG_SPIRAM_USE_MALLOC
error:
if (handle) {
vSemaphoreDelete(handle);
}
if (queue_buffer) {
free(queue_buffer);
}
return NULL;
#endif
return semphr;
}
static void semphr_delete_wrapper(void *semphr)
{
if (semphr == NULL) {
return;
}
btdm_queue_item_t *semphr_item = (btdm_queue_item_t *)semphr;
void *handle = NULL;
#if CONFIG_BTDM_CTRL_HLI
if (((hli_queue_handle_t)semphr)->downstream != NULL) {
handle = ((hli_queue_handle_t)semphr)->downstream;
}
hli_queue_delete(semphr);
if (semphr_item->handle) {
handle = ((hli_queue_handle_t)(semphr_item->handle))->downstream;
hli_queue_delete((hli_queue_handle_t)(semphr_item->handle));
}
#else
handle = semphr;
handle = semphr_item->handle;
#endif /* CONFIG_BTDM_CTRL_HLI */
#if !CONFIG_SPIRAM_USE_MALLOC
vSemaphoreDelete(handle);
#else
btdm_queue_item_t item = {
.handle = handle,
.storage = NULL,
.buffer = NULL,
};
if (btdm_queue_generic_deregister(&item)) {
vSemaphoreDelete(item.handle);
free(item.buffer);
if (handle) {
vSemaphoreDelete(handle);
}
#ifdef CONFIG_SPIRAM_USE_MALLOC
if (semphr_item->storage) {
free(semphr_item->storage);
}
#endif
free(semphr);
}
static int32_t IRAM_ATTR semphr_take_from_isr_wrapper(void *semphr, void *hptw)
{
#if CONFIG_BTDM_CTRL_HLI
return (int32_t)xSemaphoreTakeFromISR(((hli_queue_handle_t)semphr)->downstream, hptw);
// Not support it
assert(0);
return 0;
#else
return (int32_t)xSemaphoreTakeFromISR(semphr, hptw);
void *handle = ((btdm_queue_item_t *)semphr)->handle;
return (int32_t)xSemaphoreTakeFromISR(handle, hptw);
#endif /* CONFIG_BTDM_CTRL_HLI */
}
static int32_t IRAM_ATTR semphr_give_from_isr_wrapper(void *semphr, void *hptw)
{
void *handle = ((btdm_queue_item_t *)semphr)->handle;
#if CONFIG_BTDM_CTRL_HLI
UNUSED(hptw);
assert(xPortGetCoreID() == CONFIG_BTDM_CTRL_PINNED_TO_CORE);
return hli_semaphore_give(semphr);
return hli_semaphore_give(handle);
#else
return (int32_t)xSemaphoreGiveFromISR(semphr, hptw);
return (int32_t)xSemaphoreGiveFromISR(handle, hptw);
#endif /* CONFIG_BTDM_CTRL_HLI */
}
static int32_t semphr_take_wrapper(void *semphr, uint32_t block_time_ms)
{
bool ret;
void *handle = ((btdm_queue_item_t *)semphr)->handle;
#if CONFIG_BTDM_CTRL_HLI
if (block_time_ms == OSI_FUNCS_TIME_BLOCKING) {
ret = xSemaphoreTake(((hli_queue_handle_t)semphr)->downstream, portMAX_DELAY);
ret = xSemaphoreTake(((hli_queue_handle_t)handle)->downstream, portMAX_DELAY);
} else {
ret = xSemaphoreTake(((hli_queue_handle_t)semphr)->downstream, block_time_ms / portTICK_PERIOD_MS);
ret = xSemaphoreTake(((hli_queue_handle_t)handle)->downstream, block_time_ms / portTICK_PERIOD_MS);
}
#else
if (block_time_ms == OSI_FUNCS_TIME_BLOCKING) {
ret = xSemaphoreTake(semphr, portMAX_DELAY);
ret = xSemaphoreTake(handle, portMAX_DELAY);
} else {
ret = xSemaphoreTake(semphr, block_time_ms / portTICK_PERIOD_MS);
ret = xSemaphoreTake(handle, block_time_ms / portTICK_PERIOD_MS);
}
#endif /* CONFIG_BTDM_CTRL_HLI */
return (int32_t)ret;
@@ -745,72 +671,22 @@ static int32_t semphr_take_wrapper(void *semphr, uint32_t block_time_ms)
static int32_t semphr_give_wrapper(void *semphr)
{
void *handle = ((btdm_queue_item_t *)semphr)->handle;
#if CONFIG_BTDM_CTRL_HLI
return (int32_t)xSemaphoreGive(((hli_queue_handle_t)semphr)->downstream);
return (int32_t)xSemaphoreGive(((hli_queue_handle_t)handle)->downstream);
#else
return (int32_t)xSemaphoreGive(semphr);
return (int32_t)xSemaphoreGive(handle);
#endif /* CONFIG_BTDM_CTRL_HLI */
}
static void *mutex_create_wrapper(void)
{
#if CONFIG_SPIRAM_USE_MALLOC
StaticQueue_t *queue_buffer = NULL;
QueueHandle_t handle = NULL;
queue_buffer = heap_caps_malloc(sizeof(StaticQueue_t), MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
if (!queue_buffer) {
goto error;
}
handle = xSemaphoreCreateMutexStatic(queue_buffer);
if (!handle) {
goto error;
}
btdm_queue_item_t item = {
.handle = handle,
.storage = NULL,
.buffer = queue_buffer,
};
if (!btdm_queue_generic_register(&item)) {
goto error;
}
return handle;
error:
if (handle) {
vSemaphoreDelete(handle);
}
if (queue_buffer) {
free(queue_buffer);
}
return NULL;
#else
return (void *)xSemaphoreCreateMutex();
#endif
}
static void mutex_delete_wrapper(void *mutex)
{
#if !CONFIG_SPIRAM_USE_MALLOC
vSemaphoreDelete(mutex);
#else
btdm_queue_item_t item = {
.handle = mutex,
.storage = NULL,
.buffer = NULL,
};
if (btdm_queue_generic_deregister(&item)) {
vSemaphoreDelete(item.handle);
free(item.buffer);
}
return;
#endif
}
static int32_t mutex_lock_wrapper(void *mutex)
@@ -825,109 +701,93 @@ static int32_t mutex_unlock_wrapper(void *mutex)
static void *queue_create_wrapper(uint32_t queue_len, uint32_t item_size)
{
btdm_queue_item_t *queue = NULL;
queue = (btdm_queue_item_t*)heap_caps_malloc(sizeof(btdm_queue_item_t), MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
assert(queue);
#if CONFIG_SPIRAM_USE_MALLOC
StaticQueue_t *queue_buffer = NULL;
uint8_t *queue_storage = NULL;
QueueHandle_t handle = NULL;
queue_buffer = heap_caps_malloc(sizeof(StaticQueue_t), MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
if (!queue_buffer) {
goto error;
}
queue->storage = heap_caps_calloc(1, sizeof(StaticQueue_t) + (queue_len*item_size), MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
assert(queue->storage);
queue_storage = heap_caps_malloc((queue_len*item_size), MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
if (!queue_storage ) {
goto error;
}
queue->handle = xQueueCreateStatic( queue_len, item_size, ((uint8_t*)(queue->storage)) + sizeof(StaticQueue_t), (StaticQueue_t*)(queue->storage));
assert(queue->handle);
handle = xQueueCreateStatic(queue_len, item_size, queue_storage, queue_buffer);
if (!handle) {
goto error;
}
btdm_queue_item_t item = {
.handle = handle,
.storage = queue_storage,
.buffer = queue_buffer,
};
if (!btdm_queue_generic_register(&item)) {
goto error;
}
return handle;
error:
if (handle) {
vQueueDelete(handle);
}
if (queue_storage) {
free(queue_storage);
}
if (queue_buffer) {
free(queue_buffer);
}
return NULL;
#else
return (void *)xQueueCreate(queue_len, item_size);
queue->handle = xQueueCreate( queue_len, item_size);
assert(queue->handle);
#endif
return queue;
}
static void queue_delete_wrapper(void *queue)
{
#if !CONFIG_SPIRAM_USE_MALLOC
vQueueDelete(queue);
#else
btdm_queue_item_t item = {
.handle = queue,
.storage = NULL,
.buffer = NULL,
};
btdm_queue_item_t *queue_item = (btdm_queue_item_t *)queue;
if (queue_item) {
if(queue_item->handle){
vQueueDelete(queue_item->handle);
}
if (btdm_queue_generic_deregister(&item)) {
vQueueDelete(item.handle);
free(item.storage);
free(item.buffer);
}
return;
#if CONFIG_SPIRAM_USE_MALLOC
if (queue_item->storage) {
free(queue_item->storage);
}
#endif
free(queue_item);
}
}
#if CONFIG_BTDM_CTRL_HLI
static void *queue_create_hlevel_wrapper(uint32_t queue_len, uint32_t item_size)
{
QueueHandle_t downstream_queue = queue_create_wrapper(queue_len, item_size);
assert(downstream_queue);
btdm_queue_item_t *queue_item = queue_create_wrapper(queue_len, item_size);
assert(queue_item);
QueueHandle_t downstream_queue = queue_item->handle;
assert(queue_item->handle);
hli_queue_handle_t queue = hli_queue_create(queue_len, item_size, downstream_queue);
assert(queue);
return queue;
queue_item->handle = queue;
return (void *)queue_item;
}
static void *customer_queue_create_hlevel_wrapper(uint32_t queue_len, uint32_t item_size)
{
QueueHandle_t downstream_queue = queue_create_wrapper(queue_len, item_size);
assert(downstream_queue);
btdm_queue_item_t *queue_item = queue_create_wrapper(queue_len, item_size);
assert(queue_item);
QueueHandle_t downstream_queue = queue_item->handle;
assert(queue_item->handle);
hli_queue_handle_t queue = hli_customer_queue_create(queue_len, item_size, downstream_queue);
assert(queue);
return queue;
queue_item->handle = queue;
return (void *)queue_item;
}
static void queue_delete_hlevel_wrapper(void *queue)
{
if (((hli_queue_handle_t)queue)->downstream != NULL) {
queue_delete_wrapper(((hli_queue_handle_t)queue)->downstream);
if (queue == NULL) {
return;
}
btdm_queue_item_t *queue_item = (btdm_queue_item_t *)queue;
if (queue_item->handle) {
void *handle = ((hli_queue_handle_t)(queue_item->handle))->downstream;
hli_queue_delete(queue_item->handle);
queue_item->handle = handle;
queue_delete_wrapper(queue_item);
}
hli_queue_delete(queue);
}
static int32_t queue_send_hlevel_wrapper(void *queue, void *item, uint32_t block_time_ms)
{
void *handle = ((btdm_queue_item_t *)queue)->handle;
if (block_time_ms == OSI_FUNCS_TIME_BLOCKING) {
return (int32_t)xQueueSend(((hli_queue_handle_t)queue)->downstream, item, portMAX_DELAY);
return (int32_t)xQueueSend(((hli_queue_handle_t)handle)->downstream, item, portMAX_DELAY);
} else {
return (int32_t)xQueueSend(((hli_queue_handle_t)queue)->downstream, item, block_time_ms / portTICK_PERIOD_MS);
return (int32_t)xQueueSend(((hli_queue_handle_t)handle)->downstream, item, block_time_ms / portTICK_PERIOD_MS);
}
}
@@ -946,16 +806,18 @@ static int32_t IRAM_ATTR queue_send_from_isr_hlevel_wrapper(void *queue, void *i
{
UNUSED(hptw);
assert(xPortGetCoreID() == CONFIG_BTDM_CTRL_PINNED_TO_CORE);
return hli_queue_put(queue, item);
void *handle = ((btdm_queue_item_t *)queue)->handle;
return hli_queue_put(handle, item);
}
static int32_t queue_recv_hlevel_wrapper(void *queue, void *item, uint32_t block_time_ms)
{
bool ret;
void *handle = ((btdm_queue_item_t *)queue)->handle;
if (block_time_ms == OSI_FUNCS_TIME_BLOCKING) {
ret = xQueueReceive(((hli_queue_handle_t)queue)->downstream, item, portMAX_DELAY);
ret = xQueueReceive(((hli_queue_handle_t)handle)->downstream, item, portMAX_DELAY);
} else {
ret = xQueueReceive(((hli_queue_handle_t)queue)->downstream, item, block_time_ms / portTICK_PERIOD_MS);
ret = xQueueReceive(((hli_queue_handle_t)handle)->downstream, item, block_time_ms / portTICK_PERIOD_MS);
}
return (int32_t)ret;
@@ -963,7 +825,9 @@ static int32_t queue_recv_hlevel_wrapper(void *queue, void *item, uint32_t block
static int32_t IRAM_ATTR queue_recv_from_isr_hlevel_wrapper(void *queue, void *item, void *hptw)
{
return (int32_t)xQueueReceiveFromISR(((hli_queue_handle_t)queue)->downstream, item, hptw);
// Not support it
assert(0);
return 0;
}
#else
@@ -971,24 +835,24 @@ static int32_t IRAM_ATTR queue_recv_from_isr_hlevel_wrapper(void *queue, void *i
static int32_t queue_send_wrapper(void *queue, void *item, uint32_t block_time_ms)
{
if (block_time_ms == OSI_FUNCS_TIME_BLOCKING) {
return (int32_t)xQueueSend(queue, item, portMAX_DELAY);
return (int32_t)xQueueSend(((btdm_queue_item_t*)queue)->handle, item, portMAX_DELAY);
} else {
return (int32_t)xQueueSend(queue, item, block_time_ms / portTICK_PERIOD_MS);
return (int32_t)xQueueSend(((btdm_queue_item_t*)queue)->handle, item, block_time_ms / portTICK_PERIOD_MS);
}
}
static int32_t IRAM_ATTR queue_send_from_isr_wrapper(void *queue, void *item, void *hptw)
{
return (int32_t)xQueueSendFromISR(queue, item, hptw);
return (int32_t)xQueueSendFromISR(((btdm_queue_item_t*)queue)->handle, item, hptw);
}
static int32_t queue_recv_wrapper(void *queue, void *item, uint32_t block_time_ms)
{
bool ret;
if (block_time_ms == OSI_FUNCS_TIME_BLOCKING) {
ret = xQueueReceive(queue, item, portMAX_DELAY);
ret = xQueueReceive(((btdm_queue_item_t*)queue)->handle, item, portMAX_DELAY);
} else {
ret = xQueueReceive(queue, item, block_time_ms / portTICK_PERIOD_MS);
ret = xQueueReceive(((btdm_queue_item_t*)queue)->handle, item, block_time_ms / portTICK_PERIOD_MS);
}
return (int32_t)ret;
@@ -996,7 +860,7 @@ static int32_t queue_recv_wrapper(void *queue, void *item, uint32_t block_time_m
static int32_t IRAM_ATTR queue_recv_from_isr_wrapper(void *queue, void *item, void *hptw)
{
return (int32_t)xQueueReceiveFromISR(queue, item, hptw);
return (int32_t)xQueueReceiveFromISR(((btdm_queue_item_t*)queue)->handle, item, hptw);
}
#endif /* CONFIG_BTDM_CTRL_HLI */
@@ -1046,7 +910,11 @@ static void *malloc_internal_wrapper(size_t size)
static int32_t IRAM_ATTR read_mac_wrapper(uint8_t mac[6])
{
return esp_read_mac(mac, ESP_MAC_BT);
int ret = esp_read_mac(mac, ESP_MAC_BT);
ESP_LOGI(BTDM_LOG_TAG, "Bluetooth MAC: %02x:%02x:%02x:%02x:%02x:%02x",
mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
return ret;
}
static void IRAM_ATTR srand_wrapper(unsigned int seed)
@@ -1370,6 +1238,30 @@ static int coex_register_wifi_channel_change_callback_wrapper(void *cb)
#endif
}
static int coex_version_get_wrapper(unsigned int *major, unsigned int *minor, unsigned int *patch)
{
#if CONFIG_SW_COEXIST_ENABLE
const char *ver_str = esp_coex_version_get();
if (ver_str != NULL) {
unsigned int _major = 0, _minor = 0, _patch = 0;
if (sscanf(ver_str, "%u.%u.%u", &_major, &_minor, &_patch) != 3) {
return -1;
}
if (major != NULL) {
*major = _major;
}
if (minor != NULL) {
*minor = _minor;
}
if (patch != NULL) {
*patch = _patch;
}
return 0;
}
#endif
return -1;
}
bool esp_vhci_host_check_send_available(void)
{
return API_vhci_host_check_send_available();
@@ -1614,21 +1506,13 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg)
ESP_LOGI(BTDM_LOG_TAG, "BT controller compile version [%s]", btdm_controller_get_compile_version());
#if CONFIG_SPIRAM_USE_MALLOC
btdm_queue_table_mux = xSemaphoreCreateMutex();
if (btdm_queue_table_mux == NULL) {
return ESP_ERR_NO_MEM;
}
memset(btdm_queue_table, 0, sizeof(btdm_queue_item_t) * BTDM_MAX_QUEUE_NUM);
#endif
s_wakeup_req_sem = semphr_create_wrapper(1, 0);
if (s_wakeup_req_sem == NULL) {
err = ESP_ERR_NO_MEM;
goto error;
}
esp_phy_pd_mem_init();
esp_phy_modem_init();
esp_bt_power_domain_on();
@@ -1688,6 +1572,12 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg)
btdm_controller_set_sleep_mode(BTDM_MODEM_SLEEP_MODE_NONE);
#endif
#if CONFIG_BTDM_CTRL_HCI_UART_FLOW_CTRL_EN
sdk_config_set_uart_flow_ctrl_enable(true);
#else
sdk_config_set_uart_flow_ctrl_enable(false);
#endif
#ifdef CONFIG_PM_ENABLE
if (!s_btdm_allow_light_sleep) {
if ((err = esp_pm_lock_create(ESP_PM_NO_LIGHT_SLEEP, 0, "btLS", &s_light_sleep_pm_lock)) != ESP_OK) {
@@ -1725,26 +1615,9 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg)
return ESP_OK;
error:
#ifdef CONFIG_PM_ENABLE
if (!s_btdm_allow_light_sleep) {
if (s_light_sleep_pm_lock != NULL) {
esp_pm_lock_delete(s_light_sleep_pm_lock);
s_light_sleep_pm_lock = NULL;
}
}
if (s_pm_lock != NULL) {
esp_pm_lock_delete(s_pm_lock);
s_pm_lock = NULL;
}
if (s_btdm_slp_tmr != NULL) {
esp_timer_delete(s_btdm_slp_tmr);
s_btdm_slp_tmr = NULL;
}
#endif
if (s_wakeup_req_sem) {
semphr_delete_wrapper(s_wakeup_req_sem);
s_wakeup_req_sem = NULL;
}
bt_controller_deinit_internal();
return err;
}
@@ -1756,6 +1629,13 @@ esp_err_t esp_bt_controller_deinit(void)
btdm_controller_deinit();
bt_controller_deinit_internal();
return ESP_OK;
}
static void bt_controller_deinit_internal(void)
{
periph_module_disable(PERIPH_BT_MODULE);
#ifdef CONFIG_PM_ENABLE
@@ -1777,17 +1657,16 @@ esp_err_t esp_bt_controller_deinit(void)
s_pm_lock_acquired = false;
#endif
semphr_delete_wrapper(s_wakeup_req_sem);
s_wakeup_req_sem = NULL;
#if CONFIG_SPIRAM_USE_MALLOC
vSemaphoreDelete(btdm_queue_table_mux);
btdm_queue_table_mux = NULL;
memset(btdm_queue_table, 0, sizeof(btdm_queue_item_t) * BTDM_MAX_QUEUE_NUM);
#endif
if (s_wakeup_req_sem) {
semphr_delete_wrapper(s_wakeup_req_sem);
s_wakeup_req_sem = NULL;
}
free(osi_funcs_p);
osi_funcs_p = NULL;
if (osi_funcs_p) {
free(osi_funcs_p);
osi_funcs_p = NULL;
}
btdm_controller_status = ESP_BT_CONTROLLER_STATUS_IDLE;
@@ -1796,9 +1675,7 @@ esp_err_t esp_bt_controller_deinit(void)
esp_bt_power_domain_off();
esp_phy_pd_mem_deinit();
return ESP_OK;
esp_phy_modem_deinit();
}
static void bt_controller_shutdown(void* arg)
@@ -1852,6 +1729,8 @@ esp_err_t esp_bt_controller_enable(esp_bt_mode_t mode)
btdm_controller_enable_sleep(true);
}
sdk_config_set_bt_pll_track_enable(true);
// inititalize bluetooth baseband
btdm_check_and_init_bb();

View File

@@ -4,11 +4,13 @@ config BT_CTRL_MODE_EFF
config BT_CTRL_BLE_MAX_ACT
int "BLE Max Instances"
default 10
default 6
range 1 10
help
BLE maximum activities of bluetooth controllerboth of connections,
scan , sync and adv(periodic adv, multi-adv).
scan , sync and adv(periodic adv, multi-adv). Each instance needs to
consume 828 bytes, you can save RAM by modifying the instance value
according to actual needs.
config BT_CTRL_BLE_MAX_ACT_EFF
int
@@ -24,8 +26,24 @@ config BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB
(alloate when controller initialise, never free until controller de-initialise)
another is dynamically allocating (allocate before TX and free after TX).
choice BT_CTRL_PINNED_TO_CORE_CHOICE
prompt "The cpu core which bluetooth controller run"
depends on !FREERTOS_UNICORE
help
Specify the cpu core to run bluetooth controller.
Can not specify no-affinity.
config BT_CTRL_PINNED_TO_CORE_0
bool "Core 0 (PRO CPU)"
config BT_CTRL_PINNED_TO_CORE_1
bool "Core 1 (APP CPU)"
depends on !FREERTOS_UNICORE
endchoice
config BT_CTRL_PINNED_TO_CORE
int
default 0 if BT_CTRL_PINNED_TO_CORE_0
default 1 if BT_CTRL_PINNED_TO_CORE_1
default 0
choice BT_CTRL_HCI_MODE_CHOICE
@@ -36,7 +54,7 @@ choice BT_CTRL_HCI_MODE_CHOICE
config BT_CTRL_HCI_MODE_VHCI
bool "VHCI"
help
Normal option. Mostly, choose this VHCI when bluetooth host run on ESP32C3, too.
Normal option. Mostly, choose this VHCI when bluetooth host run on ESP32S3 or ESP32C3.
config BT_CTRL_HCI_MODE_UART_H4
bool "UART(H4)"
@@ -60,15 +78,29 @@ config BT_CTRL_ADV_DUP_FILT_MAX
help
The maxinum number of suplicate scan filter
config BT_CTRL_HW_CCA
bool "HW CCA check enable"
default n
choice BT_BLE_CCA_MODE
prompt "BLE CCA mode"
default BT_BLE_CCA_MODE_NONE
help
It enables HW CCA feature in controller
Define BT BLE CCA mode
config BT_BLE_CCA_MODE_NONE
bool "NONE"
config BT_BLE_CCA_MODE_HW
bool "Hardware"
config BT_BLE_CCA_MODE_SW
bool "Software"
endchoice
config BT_BLE_CCA_MODE
int
default 0 if BT_BLE_CCA_MODE_NONE
default 1 if BT_BLE_CCA_MODE_HW
default 2 if BT_BLE_CCA_MODE_SW
config BT_CTRL_HW_CCA_VAL
int "CCA threshold value"
range 20 60
range 20 100
default 20
help
It is the threshold value of HW CCA, if the value is 30, it means CCA threshold is -30 dBm.
@@ -134,12 +166,10 @@ config BT_CTRL_RX_ANTENNA_INDEX_EFF
choice BT_CTRL_DFT_TX_POWER_LEVEL
prompt "BLE default Tx power level"
default BT_CTRL_DFT_TX_POWER_LEVEL_P3
default BT_CTRL_DFT_TX_POWER_LEVEL_P9
help
Specify default Tx power level
config BT_CTRL_DFT_TX_POWER_LEVEL_N27
bool "-27dBm"
config BT_CTRL_DFT_TX_POWER_LEVEL_N24
bool "-24dBm"
config BT_CTRL_DFT_TX_POWER_LEVEL_N21
@@ -170,26 +200,28 @@ choice BT_CTRL_DFT_TX_POWER_LEVEL
bool "+15dBm"
config BT_CTRL_DFT_TX_POWER_LEVEL_P18
bool "+18dBm"
config BT_CTRL_DFT_TX_POWER_LEVEL_P21
bool "+21dBm"
endchoice
config BT_CTRL_DFT_TX_POWER_LEVEL_EFF
int
default 0 if BT_CTRL_DFT_TX_POWER_LEVEL_N27
default 1 if BT_CTRL_DFT_TX_POWER_LEVEL_N24
default 2 if BT_CTRL_DFT_TX_POWER_LEVEL_N21
default 3 if BT_CTRL_DFT_TX_POWER_LEVEL_N18
default 4 if BT_CTRL_DFT_TX_POWER_LEVEL_N15
default 5 if BT_CTRL_DFT_TX_POWER_LEVEL_N12
default 6 if BT_CTRL_DFT_TX_POWER_LEVEL_N9
default 7 if BT_CTRL_DFT_TX_POWER_LEVEL_N6
default 8 if BT_CTRL_DFT_TX_POWER_LEVEL_N3
default 9 if BT_CTRL_DFT_TX_POWER_LEVEL_N0
default 10 if BT_CTRL_DFT_TX_POWER_LEVEL_P3
default 11 if BT_CTRL_DFT_TX_POWER_LEVEL_P6
default 12 if BT_CTRL_DFT_TX_POWER_LEVEL_P9
default 13 if BT_CTRL_DFT_TX_POWER_LEVEL_P12
default 14 if BT_CTRL_DFT_TX_POWER_LEVEL_P15
default 15 if BT_CTRL_DFT_TX_POWER_LEVEL_P18
default 0 if BT_CTRL_DFT_TX_POWER_LEVEL_N24
default 1 if BT_CTRL_DFT_TX_POWER_LEVEL_N21
default 2 if BT_CTRL_DFT_TX_POWER_LEVEL_N18
default 3 if BT_CTRL_DFT_TX_POWER_LEVEL_N15
default 4 if BT_CTRL_DFT_TX_POWER_LEVEL_N12
default 5 if BT_CTRL_DFT_TX_POWER_LEVEL_N9
default 6 if BT_CTRL_DFT_TX_POWER_LEVEL_N6
default 7 if BT_CTRL_DFT_TX_POWER_LEVEL_N3
default 8 if BT_CTRL_DFT_TX_POWER_LEVEL_N0
default 9 if BT_CTRL_DFT_TX_POWER_LEVEL_P3
default 10 if BT_CTRL_DFT_TX_POWER_LEVEL_P6
default 11 if BT_CTRL_DFT_TX_POWER_LEVEL_P9
default 12 if BT_CTRL_DFT_TX_POWER_LEVEL_P12
default 13 if BT_CTRL_DFT_TX_POWER_LEVEL_P15
default 14 if BT_CTRL_DFT_TX_POWER_LEVEL_P18
default 15 if BT_CTRL_DFT_TX_POWER_LEVEL_P21
default 0
config BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP
@@ -247,20 +279,19 @@ choice BT_CTRL_SCAN_DUPL_TYPE
config BT_CTRL_SCAN_DUPL_TYPE_DEVICE
bool "Scan Duplicate By Device Address"
help
This way is to use advertiser address filtering. The adv packet of the same address is only
allowed to be reported once
Advertising packets with the same address, address type, and advertising type are reported once.
config BT_CTRL_SCAN_DUPL_TYPE_DATA
bool "Scan Duplicate By Advertising Data"
help
This way is to use advertising data filtering. All same advertising data only allow to be reported
once even though they are from different devices.
Advertising packets with identical advertising data, address type, and advertising type
are reported only once, even if they originate from different devices.
config BT_CTRL_SCAN_DUPL_TYPE_DATA_DEVICE
bool "Scan Duplicate By Device Address And Advertising Data"
help
This way is to use advertising data and device address filtering. All different adv packets with
the same address are allowed to be reported.
Advertising packets with the same address, advertising data, address type,
and advertising type are reported only once.
endchoice
config BT_CTRL_SCAN_DUPL_TYPE
@@ -280,6 +311,22 @@ config BT_CTRL_SCAN_DUPL_CACHE_SIZE
Maximum number of devices which can be recorded in scan duplicate filter.
When the maximum amount of device in the filter is reached, the cache will be refreshed.
config BT_CTRL_DUPL_SCAN_CACHE_REFRESH_PERIOD
int "Duplicate scan list refresh period (seconds)"
depends on BT_CTRL_BLE_SCAN_DUPL
range 0 1000
default 0
help
If the period value is non-zero, the controller will periodically clear the device information
stored in the scan duuplicate filter. If it is 0, the scan duuplicate filter will not be cleared
until the scanning is disabled. Duplicate advertisements for this period should not be sent to the
Host in advertising report events.
There are two scenarios where the ADV packet will be repeatedly reported:
1. The duplicate scan cache is full, the controller will delete the oldest device information and
add new device information.
2. When the refresh period is up, the controller will clear all device information and start filtering
again.
config BT_CTRL_BLE_MESH_SCAN_DUPL_EN
bool "Special duplicate scan mechanism for BLE Mesh scan"
depends on BT_CTRL_BLE_SCAN_DUPL
@@ -351,12 +398,12 @@ menu "MODEM SLEEP Options"
bool "Main crystal"
help
Main crystal can be used as low power clock for bluetooth modem sleep. If this option is
selected, bluetooth modem sleep can work under Dynamic Frequency Scaling(DFS) enabled, but
cannot work when light sleep is enabled. Main crystal has a relatively better performance than
other bluetooth low power clock sources.
selected, bluetooth modem sleep can work under Dynamic Frequency Scaling(DFS) enabled, and
bluetooth can work under light sleep enabled. Main crystal has a relatively better performance
than other bluetooth low power clock sources.
config BT_CTRL_LPCLK_SEL_EXT_32K_XTAL
bool "External 32kHz crystal"
depends on ESP32C3_RTC_CLK_SRC_EXT_CRYS
depends on (ESP32C3_RTC_CLK_SRC_EXT_CRYS || ESP32S3_RTC_CLK_SRC_EXT_CRYS)
help
External 32kHz crystal has a nominal frequency of 32.768kHz and provides good frequency
stability. If used as Bluetooth low power clock, External 32kHz can support Bluetooth
@@ -364,13 +411,21 @@ menu "MODEM SLEEP Options"
config BT_CTRL_LPCLK_SEL_RTC_SLOW
bool "Internal 150kHz RC oscillator"
depends on ESP32C3_RTC_CLK_SRC_INT_RC
depends on (ESP32C3_RTC_CLK_SRC_INT_RC || ESP32S3_RTC_CLK_SRC_INT_RC)
help
Internal 150kHz RC oscillator. The accuracy of this clock is a lot larger than 500ppm which is required
in Bluetooth communication, so don't select this option in scenarios such as BLE connection state.
endchoice
config BT_CTRL_MAIN_XTAL_PU_DURING_LIGHT_SLEEP
bool "power up main XTAL during light sleep"
depends on (BT_CTRL_LPCLK_SEL_MAIN_XTAL || BT_CTRL_LPCLK_SEL_EXT_32K_XTAL) && FREERTOS_USE_TICKLESS_IDLE
default n
help
If this option is selected, the main crystal will power up during light sleep when the low power clock
selects an external 32kHz crystal but the external 32kHz crystal does not exist or the low power clock
selects the main crystal.
endmenu
config BT_CTRL_SLEEP_MODE_EFF
@@ -404,3 +459,19 @@ config BT_CTRL_CODED_AGC_RECORRECT_EN
default n
help
Enable coded phy AGC recorrect
config BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX
bool "Disable active scan backoff"
default n
help
Disable active scan backoff. The bluetooth spec requires that scanners should run a backoff procedure to
minimize collision of scan request PDUs from nultiple scanners. If scan backoff is disabled, in active
scanning, scan request PDU will be sent every time when HW receives scannable ADV PDU.
config BT_BLE_ADV_DATA_LENGTH_ZERO_AUX
bool "Enable aux packet when ext adv data length is zero"
default n
help
When this option is enabled, auxiliary packets will be present in the events of
'Non-Connectable and Non-Scannable' regardless of whether the advertising length is 0.
If this option is not enabled, auxiliary packets will only be present when the advertising length is not 0.

File diff suppressed because it is too large Load Diff

View File

@@ -1,423 +1 @@
config BT_CTRL_MODE_EFF
int
default 1
config BT_CTRL_BLE_MAX_ACT
int "BLE Max Instances"
default 10
range 1 10
help
BLE maximum instances of bluetooth controller.
config BT_CTRL_BLE_MAX_ACT_EFF
int
default BT_CTRL_BLE_MAX_ACT
default 0
config BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB
int "BLE static ACL TX buffer numbers"
range 0 12
default 0
help
BLE ACL buffer have two methods to be allocated. One is persistent allocating
(alloate when controller initialise, never free until controller de-initialise)
another is dynamically allocating (allocate before TX and free after TX).
choice BT_CTRL_PINNED_TO_CORE_CHOICE
prompt "The cpu core which bluetooth controller run"
depends on !FREERTOS_UNICORE
help
Specify the cpu core to run bluetooth controller.
Can not specify no-affinity.
config BT_CTRL_PINNED_TO_CORE_0
bool "Core 0 (PRO CPU)"
config BT_CTRL_PINNED_TO_CORE_1
bool "Core 1 (APP CPU)"
depends on !FREERTOS_UNICORE
endchoice
config BT_CTRL_PINNED_TO_CORE
int
default 0 if BT_CTRL_PINNED_TO_CORE_0
default 1 if BT_CTRL_PINNED_TO_CORE_1
default 0
choice BT_CTRL_HCI_MODE_CHOICE
prompt "HCI mode"
help
Specify HCI mode as VHCI or UART(H4)
config BT_CTRL_HCI_MODE_VHCI
bool "VHCI"
help
Normal option. Mostly, choose this VHCI when bluetooth host run on ESP32S3, too.
config BT_CTRL_HCI_MODE_UART_H4
bool "UART(H4)"
help
If use external bluetooth host which run on other hardware and use UART as the HCI interface,
choose this option.
endchoice
config BT_CTRL_HCI_TL
int
default 0 if BT_CTRL_HCI_MODE_UART_H4
default 1 if BT_CTRL_HCI_M0DE_VHCI
default 1
help
HCI mode as VHCI or UART(H4)
config BT_CTRL_ADV_DUP_FILT_MAX
int "The maxinum number of 5.0 extend duplicate scan filter"
range 1 500
default 30
help
The maxinum number of suplicate scan filter
config BT_CTRL_HW_CCA
bool "HW CCA check enable"
default n
help
It enables HW CCA feature in controller
config BT_CTRL_HW_CCA_VAL
int "CCA threshold value"
range 20 60
default 20
help
It is the threshold value of HW CCA, if the value is 30, it means CCA threshold is -30 dBm.
config BT_CTRL_HW_CCA_EFF
int
default 1 if BT_CTRL_HW_CCA
default 0
help
If other devices are sending packets in the air and the signal is strong,
the packet hw to be sent this time is cancelled.
choice BT_CTRL_CE_LENGTH_TYPE
prompt "Connection event length determination method"
help
Specify connection event length determination
config BT_CTRL_CE_LENGTH_TYPE_ORIG
bool "ORIGINAL"
config BT_CTRL_CE_LENGTH_TYPE_CE
bool "Use CE parameter for HCI command"
config BT_CTRL_CE_LENGTH_TYPE_SD
bool "Use Espressif self-defined method"
endchoice
config BT_CTRL_CE_LENGTH_TYPE_EFF
int
default 0 if BT_CTRL_CE_LENGTH_TYPE_ORIG
default 1 if BT_CTRL_CE_LENGTH_TYPE_CE
default 2 if BT_CTRL_CE_LENGTH_TYPE_SD
choice BT_CTRL_TX_ANTENNA_INDEX
prompt "default Tx anntena used"
help
Specify default Tx antenna used for bluetooth
config BT_CTRL_TX_ANTENNA_INDEX_0
bool "Antenna 0"
config BT_CTRL_TX_ANTENNA_INDEX_1
bool "Antenna 1"
endchoice
config BT_CTRL_TX_ANTENNA_INDEX_EFF
int
default 0 if BT_CTRL_TX_ANTENNA_INDEX_0
default 1 if BT_CTRL_TX_ANTENNA_INDEX_1
choice BT_CTRL_RX_ANTENNA_INDEX
prompt "default Rx anntena used"
help
Specify default Rx antenna used for bluetooth
config BT_CTRL_RX_ANTENNA_INDEX_0
bool "Antenna 0"
config BT_CTRL_RX_ANTENNA_INDEX_1
bool "Antenna 1"
endchoice
config BT_CTRL_RX_ANTENNA_INDEX_EFF
int
default 0 if BT_CTRL_RX_ANTENNA_INDEX_0
default 1 if BT_CTRL_RX_ANTENNA_INDEX_1
choice BT_CTRL_DFT_TX_POWER_LEVEL
prompt "BLE default Tx power level"
default BT_CTRL_DFT_TX_POWER_LEVEL_P3
help
Specify default Tx power level
config BT_CTRL_DFT_TX_POWER_LEVEL_N27
bool "-27dBm"
config BT_CTRL_DFT_TX_POWER_LEVEL_N24
bool "-24dBm"
config BT_CTRL_DFT_TX_POWER_LEVEL_N21
bool "-21dBm"
config BT_CTRL_DFT_TX_POWER_LEVEL_N18
bool "-18dBm"
config BT_CTRL_DFT_TX_POWER_LEVEL_N15
bool "-15dBm"
config BT_CTRL_DFT_TX_POWER_LEVEL_N12
bool "-12dBm"
config BT_CTRL_DFT_TX_POWER_LEVEL_N9
bool "-9dBm"
config BT_CTRL_DFT_TX_POWER_LEVEL_N6
bool "-6dBm"
config BT_CTRL_DFT_TX_POWER_LEVEL_N3
bool "-3dBm"
config BT_CTRL_DFT_TX_POWER_LEVEL_N0
bool "0dBm"
config BT_CTRL_DFT_TX_POWER_LEVEL_P3
bool "+3dBm"
config BT_CTRL_DFT_TX_POWER_LEVEL_P6
bool "+6dBm"
config BT_CTRL_DFT_TX_POWER_LEVEL_P9
bool "+9dBm"
config BT_CTRL_DFT_TX_POWER_LEVEL_P12
bool "+12dBm"
config BT_CTRL_DFT_TX_POWER_LEVEL_P15
bool "+15dBm"
config BT_CTRL_DFT_TX_POWER_LEVEL_P18
bool "+18dBm"
endchoice
config BT_CTRL_DFT_TX_POWER_LEVEL_EFF
int
default 0 if BT_CTRL_DFT_TX_POWER_LEVEL_N27
default 1 if BT_CTRL_DFT_TX_POWER_LEVEL_N24
default 2 if BT_CTRL_DFT_TX_POWER_LEVEL_N21
default 3 if BT_CTRL_DFT_TX_POWER_LEVEL_N18
default 4 if BT_CTRL_DFT_TX_POWER_LEVEL_N15
default 5 if BT_CTRL_DFT_TX_POWER_LEVEL_N12
default 6 if BT_CTRL_DFT_TX_POWER_LEVEL_N9
default 7 if BT_CTRL_DFT_TX_POWER_LEVEL_N6
default 8 if BT_CTRL_DFT_TX_POWER_LEVEL_N3
default 9 if BT_CTRL_DFT_TX_POWER_LEVEL_N0
default 10 if BT_CTRL_DFT_TX_POWER_LEVEL_P3
default 11 if BT_CTRL_DFT_TX_POWER_LEVEL_P6
default 12 if BT_CTRL_DFT_TX_POWER_LEVEL_P9
default 13 if BT_CTRL_DFT_TX_POWER_LEVEL_P12
default 14 if BT_CTRL_DFT_TX_POWER_LEVEL_P15
default 15 if BT_CTRL_DFT_TX_POWER_LEVEL_P18
default 0
config BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP
bool "BLE adv report flow control supported"
default y
help
The function is mainly used to enable flow control for advertising reports. When it is enabled,
advertising reports will be discarded by the controller if the number of unprocessed advertising
reports exceeds the size of BLE adv report flow control.
config BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM
int "BLE adv report flow control number"
depends on BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP
range 50 1000
default 100
help
The number of unprocessed advertising report that bluetooth host can save.If you set
`BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM` to a small value, this may cause adv packets lost.
If you set `BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM` to a large value, bluetooth host may cache a
lot of adv packets and this may cause system memory run out. For example, if you set
it to 50, the maximum memory consumed by host is 35 * 50 bytes. Please set
`BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM` according to your system free memory and handle adv
packets as fast as possible, otherwise it will cause adv packets lost.
config BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD
int "BLE adv lost event threshold value"
depends on BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP
range 1 1000
default 20
help
When adv report flow control is enabled, The ADV lost event will be generated when the number
of ADV packets lost in the controller reaches this threshold. It is better to set a larger value.
If you set `BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD` to a small value or printf every adv lost event, it
may cause adv packets lost more.
config BT_CTRL_BLE_SCAN_DUPL
bool "BLE Scan Duplicate Options"
default y
help
This select enables parameters setting of BLE scan duplicate.
choice BT_CTRL_SCAN_DUPL_TYPE
prompt "Scan Duplicate Type"
default BT_CTRL_SCAN_DUPL_TYPE_DEVICE
depends on BT_CTRL_BLE_SCAN_DUPL
help
Scan duplicate have three ways. one is "Scan Duplicate By Device Address", This way is to use
advertiser address filtering. The adv packet of the same address is only allowed to be reported once.
Another way is "Scan Duplicate By Device Address And Advertising Data". This way is to use advertising
data and device address filtering. All different adv packets with the same address are allowed to be
reported. The last way is "Scan Duplicate By Advertising Data". This way is to use advertising data
filtering. All same advertising data only allow to be reported once even though they are from
different devices.
config BT_CTRL_SCAN_DUPL_TYPE_DEVICE
bool "Scan Duplicate By Device Address"
help
This way is to use advertiser address filtering. The adv packet of the same address is only
allowed to be reported once
config BT_CTRL_SCAN_DUPL_TYPE_DATA
bool "Scan Duplicate By Advertising Data"
help
This way is to use advertising data filtering. All same advertising data only allow to be reported
once even though they are from different devices.
config BT_CTRL_SCAN_DUPL_TYPE_DATA_DEVICE
bool "Scan Duplicate By Device Address And Advertising Data"
help
This way is to use advertising data and device address filtering. All different adv packets with
the same address are allowed to be reported.
endchoice
config BT_CTRL_SCAN_DUPL_TYPE
int
depends on BT_CTRL_BLE_SCAN_DUPL
default 0 if BT_CTRL_SCAN_DUPL_TYPE_DEVICE
default 1 if BT_CTRL_SCAN_DUPL_TYPE_DATA
default 2 if BT_CTRL_SCAN_DUPL_TYPE_DATA_DEVICE
default 0
config BT_CTRL_SCAN_DUPL_CACHE_SIZE
int "Maximum number of devices in scan duplicate filter"
depends on BT_CTRL_BLE_SCAN_DUPL
range 10 1000
default 100
help
Maximum number of devices which can be recorded in scan duplicate filter.
When the maximum amount of device in the filter is reached, the cache will be refreshed.
config BT_CTRL_BLE_MESH_SCAN_DUPL_EN
bool "Special duplicate scan mechanism for BLE Mesh scan"
depends on BT_CTRL_BLE_SCAN_DUPL
default n
help
This enables the BLE scan duplicate for special BLE Mesh scan.
config BT_CTRL_MESH_DUPL_SCAN_CACHE_SIZE
int "Maximum number of Mesh adv packets in scan duplicate filter"
depends on BT_CTRL_BLE_MESH_SCAN_DUPL_EN
range 10 1000
default 100
help
Maximum number of adv packets which can be recorded in duplicate scan cache for BLE Mesh.
When the maximum amount of device in the filter is reached, the cache will be refreshed.
choice BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM
prompt "Coexistence: limit on MAX Tx/Rx time for coded-PHY connection"
default BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_DIS
depends on ESP32_WIFI_SW_COEXIST_ENABLE
help
When using PHY-Coded in BLE connection, limitation on max tx/rx time can be applied to
better avoid dramatic performance deterioration of Wi-Fi.
config BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EN
bool "Force Enable"
help
Always enable the limitation on max tx/rx time for Coded-PHY connection
config BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_DIS
bool "Force Disable"
help
Disable the limitation on max tx/rx time for Coded-PHY connection
endchoice
config BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF
int
default 0 if (!ESP32_WIFI_SW_COEXIST_ENABLE)
default 1 if BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EN
default 0 if BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_DIS
menu "MODEM SLEEP Options"
visible if BT_ENABLED
config BT_CTRL_MODEM_SLEEP
bool "Bluetooth modem sleep"
depends on !BT_CTRL_HCI_MODE_UART_H4
default n
help
Enable/disable bluetooth controller low power mode.
Modem sleep is not supported to be used with UART HCI.
config BT_CTRL_MODEM_SLEEP_MODE_1
bool "Bluetooth Modem sleep Mode 1"
depends on BT_CTRL_MODEM_SLEEP
default y
help
Mode 1 is the currently supported sleep mode. In this mode,
bluetooth controller sleeps between and BLE events. A low
power clock is used to maintain bluetooth reference clock.
choice BT_CTRL_LOW_POWER_CLOCK
prompt "Bluetooth low power clock"
depends on BT_CTRL_MODEM_SLEEP_MODE_1
help
Select the low power clock source for bluetooth controller
config BT_CTRL_LPCLK_SEL_MAIN_XTAL
bool "Main crystal"
help
Main crystal can be used as low power clock for bluetooth modem sleep. If this option is
selected, bluetooth modem sleep can work under Dynamic Frequency Scaling(DFS) enabled, but
cannot work when light sleep is enabled. Main crystal has a relatively better performance than
other bluetooth low power clock sources.
config BT_CTRL_LPCLK_SEL_EXT_32K_XTAL
bool "External 32kHz crystal"
depends on ESP32S3_RTC_CLK_SRC_EXT_CRYS
help
External 32kHz crystal has a nominal frequency of 32.768kHz and provides good frequency
stability. If used as Bluetooth low power clock, External 32kHz can support Bluetooth
modem sleep to be used with both DFS and light sleep.
config BT_CTRL_LPCLK_SEL_RTC_SLOW
bool "Internal 150kHz RC oscillator"
depends on ESP32S3_RTC_CLK_SRC_INT_RC
help
Internal 150kHz RC oscillator. The accuracy of this clock is a lot larger than 500ppm which is required
in Bluetooth communication, so don't select this option in scenarios such as BLE connection state.
endchoice
endmenu
config BT_CTRL_SLEEP_MODE_EFF
int
default 1 if BT_CTRL_MODEM_SLEEP_MODE_1
default 0
config BT_CTRL_SLEEP_CLOCK_EFF
int
default 1 if BT_CTRL_LPCLK_SEL_MAIN_XTAL
default 2 if BT_CTRL_LPCLK_SEL_EXT_32K_XTAL
default 3 if BT_CTRL_LPCLK_SEL_RTC_SLOW
default 0
config BT_CTRL_HCI_TL_EFF
int
default 0 if BT_CTRL_HCI_MODE_UART_H4
default 1 if BT_CTRL_HCI_M0DE_VHCI
default 1
config BT_CTRL_AGC_RECORRECT_EN
bool "Enable HW AGC recorrect"
default n
help
Enable uncoded phy AGC recorrect
config BT_CTRL_CODED_AGC_RECORRECT_EN
bool "Enable coded phy AGC recorrect"
depends on BT_CTRL_AGC_RECORRECT_EN
default n
help
Enable coded phy AGC recorrect
source "$IDF_PATH/components/bt/controller/esp32c3/Kconfig.in"

File diff suppressed because it is too large Load Diff

View File

@@ -6,6 +6,15 @@ if BLE_MESH
help
It is a temporary solution and needs further modifications.
config BLE_MESH_RANDOM_ADV_INTERVAL
bool "Support using random adv interval for mesh packets"
select BT_BLE_HIGH_DUTY_ADV_INTERVAL if BT_BLUEDROID_ENABLED
default n
help
Enable this option to allow using random advertising interval
for mesh packets. And this could help avoid collision of
advertising packets.
config BLE_MESH_USE_DUPLICATE_SCAN
bool "Support Duplicate Scan in BLE Mesh"
depends on BT_BLUEDROID_ENABLED
@@ -536,6 +545,20 @@ if BLE_MESH
Provisioner can provision up to 20 nodes and each node contains two elements,
then the replay protection list size of Provisioner should be at least 40.
config BLE_MESH_NOT_RELAY_REPLAY_MSG
bool "Not relay replayed messages in a mesh network"
depends on BLE_MESH_EXPERIMENTAL
default n
help
There may be many expired messages in a complex mesh network that would be
considered replayed messages.
Enable this option will refuse to relay such messages, which could help to
reduce invalid packets in the mesh network.
However, it should be noted that enabling this option may result in packet
loss in certain environments.
Therefore, users need to decide whether to enable this option according to
the actual usage situation.
config BLE_MESH_MSG_CACHE_SIZE
int "Network message cache size"
default 10
@@ -585,6 +608,21 @@ if BLE_MESH
stored to flash. E.g. the default value of 4 means that the
state is saved every 24 hours (96 / 4).
config BLE_MESH_IVU_RECOVERY_IVI
bool "Recovery the IV index when the latest whole IV update procedure is missed"
default n
help
According to Section 3.10.5 of Mesh Specification v1.0.1.
If a node in Normal Operation receives a Secure Network beacon with an IV index
equal to the last known IV index+1 and the IV Update Flag set to 0, the node may
update its IV without going to the IV Update in Progress state, or it may initiate
an IV Index Recovery procedure (Section 3.10.6), or it may ignore the Secure
Network beacon. The node makes the choice depending on the time since last IV
update and the likelihood that the node has missed the Secure Network beacons
with the IV update Flag.
When the above situation is encountered, this option can be used to decide whether
to perform the IV index recovery procedure.
config BLE_MESH_TX_SEG_MSG_COUNT
int "Maximum number of simultaneous outgoing segmented messages"
default 1
@@ -803,6 +841,13 @@ if BLE_MESH
help
Maximum number of groups to which the LPN can subscribe.
config BLE_MESH_LPN_SUB_ALL_NODES_ADDR
bool "Automatically subscribe all nodes address"
default n
help
Automatically subscribe all nodes address when friendship
established.
endif # BLE_MESH_LOW_POWER
config BLE_MESH_FRIEND
@@ -1110,6 +1155,19 @@ if BLE_MESH
This option adds extra self-tests which are run every time BLE Mesh
networking is initialized.
config BLE_MESH_BQB_TEST
bool "Enable BLE Mesh specific internal test"
default n
help
This option is used to enable some internal functions for auto-pts test.
config BLE_MESH_BQB_TEST_LOG
bool
depends on BLE_MESH_BQB_TEST
default y
help
This option is used to enable the log of auto-pts test.
if BLE_MESH_SELF_TEST
config BLE_MESH_TEST_AUTO_ENTER_NETWORK
@@ -1204,4 +1262,12 @@ if BLE_MESH
endmenu
config BLE_MESH_EXPERIMENTAL
bool "Make BLE Mesh experimental features visible"
default n
help
Make BLE Mesh Experimental features visible.
Experimental features list:
- CONFIG_BLE_MESH_NOT_RELAY_REPLAY_MSG
endif # BLE_MESH

View File

@@ -43,7 +43,7 @@ esp_err_t esp_ble_mesh_start_ble_advertising(const esp_ble_mesh_ble_adv_param_t
memcpy(&arg.start_ble_adv.data, data, sizeof(esp_ble_mesh_ble_adv_data_t));
}
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_ble_args_t), NULL)
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_ble_args_t), NULL, NULL)
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}
@@ -64,7 +64,7 @@ esp_err_t esp_ble_mesh_stop_ble_advertising(uint8_t index)
arg.stop_ble_adv.index = index;
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_ble_args_t), NULL)
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_ble_args_t), NULL, NULL)
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}
#endif /* CONFIG_BLE_MESH_SUPPORT_BLE_ADV */
@@ -81,7 +81,7 @@ esp_err_t esp_ble_mesh_start_ble_scanning(esp_ble_mesh_ble_scan_param_t *param)
msg.pid = BTC_PID_BLE_MESH_BLE_COEX;
msg.act = BTC_BLE_MESH_ACT_START_BLE_SCAN;
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_ble_args_t), NULL)
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_ble_args_t), NULL, NULL)
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}
@@ -96,7 +96,7 @@ esp_err_t esp_ble_mesh_stop_ble_scanning(void)
msg.pid = BTC_PID_BLE_MESH_BLE_COEX;
msg.act = BTC_BLE_MESH_ACT_STOP_BLE_SCAN;
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_ble_args_t), NULL)
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_ble_args_t), NULL, NULL)
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}
#endif /* CONFIG_BLE_MESH_SUPPORT_BLE_SCAN */

View File

@@ -47,7 +47,7 @@ esp_err_t esp_ble_mesh_init(esp_ble_mesh_prov_t *prov, esp_ble_mesh_comp_t *comp
msg.pid = BTC_PID_PROV;
msg.act = BTC_BLE_MESH_ACT_MESH_INIT;
if (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL) != BT_STATUS_SUCCESS) {
if (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL, NULL) != BT_STATUS_SUCCESS) {
vSemaphoreDelete(semaphore);
BT_ERR("Failed to start mesh init");
return ESP_FAIL;
@@ -65,7 +65,9 @@ esp_err_t esp_ble_mesh_init(esp_ble_mesh_prov_t *prov, esp_ble_mesh_comp_t *comp
esp_err_t esp_ble_mesh_deinit(esp_ble_mesh_deinit_param_t *param)
{
btc_ble_mesh_prov_args_t arg = {0};
SemaphoreHandle_t semaphore = NULL;
btc_msg_t msg = {0};
esp_err_t ret = ESP_OK;
if (param == NULL) {
return ESP_ERR_INVALID_ARG;
@@ -73,13 +75,36 @@ esp_err_t esp_ble_mesh_deinit(esp_ble_mesh_deinit_param_t *param)
ESP_BLE_HOST_STATUS_CHECK(ESP_BLE_HOST_STATUS_ENABLED);
// Create a semaphore
if ((semaphore = xSemaphoreCreateCounting(1, 0)) == NULL) {
BT_ERR("Failed to create semaphore");
return ESP_ERR_NO_MEM;
}
arg.mesh_deinit.param.erase_flash = param->erase_flash;
/* Transport semaphore pointer to BTC layer, and will give the semaphore in the BTC task */
arg.mesh_deinit.semaphore = semaphore;
msg.sig = BTC_SIG_API_CALL;
msg.pid = BTC_PID_PROV;
msg.act = BTC_BLE_MESH_ACT_DEINIT_MESH;
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL)
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
if (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL, NULL) != BT_STATUS_SUCCESS) {
vSemaphoreDelete(semaphore);
BT_ERR("Failed to start mesh deinit");
return ESP_FAIL;
}
/* Take the Semaphore, wait BLE Mesh de-initialization to finish. */
xSemaphoreTake(semaphore, portMAX_DELAY);
/* Don't forget to delete the semaphore at the end. */
vSemaphoreDelete(semaphore);
ret = bt_mesh_host_deinit();
if (ret != ESP_OK) {
return ret;
}
return ESP_OK;
}
#endif /* CONFIG_BLE_MESH_DEINIT */

View File

@@ -92,7 +92,7 @@ esp_err_t esp_ble_mesh_model_subscribe_group_addr(uint16_t element_addr, uint16_
arg.model_sub_group_addr.model_id = model_id;
arg.model_sub_group_addr.group_addr = group_addr;
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL)
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL, NULL)
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}
@@ -118,7 +118,7 @@ esp_err_t esp_ble_mesh_model_unsubscribe_group_addr(uint16_t element_addr, uint1
arg.model_unsub_group_addr.model_id = model_id;
arg.model_unsub_group_addr.group_addr = group_addr;
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL)
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL, NULL)
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}
@@ -152,7 +152,7 @@ esp_err_t esp_ble_mesh_node_add_local_net_key(const uint8_t net_key[16], uint16_
arg.node_add_local_net_key.net_idx = net_idx;
memcpy(arg.node_add_local_net_key.net_key, net_key, 16);
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL)
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL, NULL)
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}
@@ -175,7 +175,7 @@ esp_err_t esp_ble_mesh_node_add_local_app_key(const uint8_t app_key[16], uint16_
arg.node_add_local_app_key.app_idx = app_idx;
memcpy(arg.node_add_local_app_key.app_key, app_key, 16);
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL)
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL, NULL)
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}
@@ -200,7 +200,7 @@ esp_err_t esp_ble_mesh_node_bind_app_key_to_local_model(uint16_t element_addr, u
arg.node_local_mod_app_bind.company_id = company_id;
arg.node_local_mod_app_bind.app_idx = app_idx;
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL)
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL, NULL)
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}

View File

@@ -21,7 +21,7 @@ esp_err_t esp_ble_mesh_lpn_enable(void)
msg.pid = BTC_PID_PROV;
msg.act = BTC_BLE_MESH_ACT_LPN_ENABLE;
return (btc_transfer_context(&msg, NULL, 0, NULL) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
return (btc_transfer_context(&msg, NULL, 0, NULL, NULL) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}
esp_err_t esp_ble_mesh_lpn_disable(bool force)
@@ -37,7 +37,7 @@ esp_err_t esp_ble_mesh_lpn_disable(bool force)
arg.lpn_disable.force = force;
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL)
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL, NULL)
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}
@@ -51,5 +51,5 @@ esp_err_t esp_ble_mesh_lpn_poll(void)
msg.pid = BTC_PID_PROV;
msg.act = BTC_BLE_MESH_ACT_LPN_POLL;
return (btc_transfer_context(&msg, NULL, 0, NULL) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
return (btc_transfer_context(&msg, NULL, 0, NULL, NULL) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}

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