Compare commits

..

3809 Commits
v5.5 ... v4.4.8

Author SHA1 Message Date
morris
e499576efd change(version): Update version to 4.4.8 2024-06-27 18:24:14 +08:00
morris
8498af6bd4 Merge branch 'ci/fix_macos_runner_v4.4' into 'release/v4.4'
ci: select correct python version for mac runners (v4.4)

See merge request espressif/esp-idf!31577
2024-06-26 12:41:57 +08:00
morris
0ab74e5c5d Merge branch 'docs/delete_user_guide_esp32_s2_devkitm_1_v4.4' into 'release/v4.4'
docs: Delete user guide esp32-s2-devkitm-1 (v4.4)

See merge request espressif/esp-idf!31611
2024-06-26 11:30:59 +08:00
Fu Hanxi
d1c0cc5e3d ci: disable macos test on 4.4 branch
python 3.6 failed to install with requirements.txt
2024-06-25 16:27:04 +08:00
zhangshuxian
c689d2ab9e docs: Delete user guide esp32-s2-devkitm-1 2024-06-25 16:02:08 +08:00
Jiang Jiang Jian
1558b05d1c Merge branch 'bugfix/wpa3_sta_mem_leak_v4.4' into 'release/v4.4'
Fix memory leak in wpa3 station mode (Backport v4.4)

See merge request espressif/esp-idf!31612
2024-06-20 21:37:09 +08:00
Shyamal Khachane
eaba2427aa fix(esp_wifi): Fix memory leak in wpa3 station mode 2024-06-20 14:14:47 +08:00
Jiang Jiang Jian
d98ba8b570 Merge branch 'bugfix/station_ic_pmf_state_v4.4' into 'release/v4.4'
fix(wifi): Disable IC_PMF variable properly when station disconnects from PMF AP and always clear keys in tx_cb (Backport v4.4)

See merge request espressif/esp-idf!31557
2024-06-20 10:44:37 +08:00
Sarvesh Bodakhe
2b39e1c625 fix(wifi): Fix station PMF issues
Fix issue of station PMF not getting reset when disconnecting from PMF connection
2024-06-18 12:14:11 +05:30
Jiang Jiang Jian
d07bdc70b6 Merge branch 'feature/refactor_ftm_code_v4.4' into 'release/v4.4'
Refactor and improve FTM code (Backport v4.4)

See merge request espressif/esp-idf!31402
2024-06-18 10:43:56 +08:00
Jiang Jiang Jian
834ae1c002 Merge branch 'fix/fsync-call-propagation-to-secondary-console_v4.4' into 'release/v4.4'
fix(console): Fsync not propagated to secondary output (backport v4.4)

See merge request espressif/esp-idf!30265
2024-06-14 10:22:51 +08:00
Jiang Jiang Jian
147bc3b889 Merge branch 'docs/update_esp_vfs_notes_v4.4' into 'release/v4.4'
docs(vfs): update esp_vfs_register_fd api description (v4.4)

See merge request espressif/esp-idf!30429
2024-06-14 10:21:31 +08:00
Jiang Jiang Jian
b145507fff Merge branch 'docs/add_missing_usb_functions_to_esp32-c3_devkit_user_guides_v4.4' into 'release/v4.4'
Docs: Added missing USB functions to ESP32-C3 DevKit User Guides (v4.4)

See merge request espressif/esp-idf!30870
2024-06-14 10:21:03 +08:00
Jiang Jiang Jian
df497dde7a Merge branch 'docs/fix_a_typo_in_cn_version' into 'release/v4.4'
docs: Edit a typo in CN version

See merge request espressif/esp-idf!31377
2024-06-14 10:17:31 +08:00
Jiang Jiang Jian
a7a18f4632 Merge branch 'refactor/avoid_using_git_v4.4' into 'release/v4.4'
fix(tools): Avoiding crashing when Git is not present in system when acquiring IDF version (v4.4)

See merge request espressif/esp-idf!31437
2024-06-14 10:15:51 +08:00
Nachiket Kukade
9d1a374e01 feat(esp_wifi): Refactor and improve FTM code
Update wifi libs with below -

1. Break FTM State Machine code into separate functions
2. Use dynamic allocation for FTM session to save memory
3. Add API to get FTM report instead of event based mechanism
4. Add FTM Request retry and comeback support
2024-06-13 21:03:44 +05:30
Jiang Jiang Jian
fd916b39ef Merge branch 'bugfix/free_reattempt_adv_data_v4.4' into 'release/v4.4'
fix(nimble): Added change to free memory in case of failure (v4.4)

See merge request espressif/esp-idf!31165
2024-06-13 22:25:38 +08:00
Jiang Jiang Jian
7c2922a7d5 Merge branch 'bugfix/fix_ble_evt_time_v4.4' into 'release/v4.4'
fix(ble/controller): Update esp32 bt-lib (1e63e23) (v4.4)

See merge request espressif/esp-idf!31485
2024-06-13 20:51:52 +08:00
Rahul Tank
dd8185bdf1 Added change to free memory in case of failure 2024-06-13 17:58:51 +05:30
linruihao
9f0e5aec6c fix(bt/controller): Fixed assert issue caused by DPORT access 2024-06-13 17:34:12 +08:00
zhanghaipeng
5b4f8a6e50 fix(ble/controller): Update esp32 bt-lib (1e63e23)
- Optimized GATT write and notify throughput on ESP32
- Fixed BLE connect timeout after using DTM on ESP32
- Added ke memory debug tools on ESP32
- Fixed memory leak issue when BLE SCAN and other event coexist on ESP32
2024-06-13 14:53:10 +08:00
Jiang Jiang Jian
d1c8a1d1c2 Merge branch 'bugfix/fix_ble_pktlen_change_v4.4' into 'release/v4.4'
Bugfix/fix ble pktlen change (v4.4)

See merge request espressif/esp-idf!31253
2024-06-13 14:47:41 +08:00
Jiang Jiang Jian
2146569780 Merge branch 'fix/assert_in_bt_controller_v4.4' into 'release/v4.4'
fix(bt): fix some issues in bluetooth controller(backport v4.4)

See merge request espressif/esp-idf!31325
2024-06-13 14:46:42 +08:00
Jiang Jiang Jian
ed01a2a32d Merge branch 'fix/fix_sta_scan_when_connected_cause_bcn_timeout_loop_v4.4' into 'release/v4.4'
fix(wifi):fix sta scan when connected cause bcn timeout loop issue

See merge request espressif/esp-idf!31467
2024-06-13 14:46:22 +08:00
Jakub Kocka
1091defe43 fix(tools): Avoid crashing when Git is used to acquire IDF version
Closes https://github.com/espressif/esp-idf/issues/13345
2024-06-12 13:50:50 +02:00
wangtao@espressif.com
de8df121e6 fix(wifi):fix sta scan when connected cause bcn timeout loop issue 2024-06-12 17:59:01 +08:00
shenmengjing
6912d661d9 docs: Edit a typo in CN version 2024-06-07 10:53:00 +08:00
gongyantao
a0eb182f45 fix(bt): fix some issues in bluetooth controller
1: fix return incorrect link key with hci command rd_stored_link_key
2: fix the assert triggered during APB TX
3: fix role switch LMP collision bug
2024-06-05 09:14:31 +08:00
zhanghaipeng
64b1fe94e8 fix(ble/bluedroid): Optimize BLE stack connect callback name 2024-06-03 17:34:29 +08:00
zhanghaipeng
818644cf5a fix(ble/bluedroid): Fixed BLE no data length change event 2024-06-02 19:28:26 +08:00
Jiang Jiang Jian
c0e0af03d1 Merge branch 'bugfix/fix_esp32_cant_tx_after_tx_timeout_v4.4' into 'release/v4.4'
fix(wifi): fix esp32 unrecoverable m f issue, fix rxAppendBlock issue

See merge request espressif/esp-idf!31136
2024-05-28 20:02:49 +08:00
Jiang Jiang Jian
1e877f6872 Merge branch 'bugfix/stop_tg_wdt_in_xpd_xtal_lightsleep_v4.4' into 'release/v4.4'
fix(esp_hw_support): stop tg wdt in xpd xtal lightsleep (v4.4)

See merge request espressif/esp-idf!31137
2024-05-28 19:35:34 +08:00
wuzhenghui
7521a51845 fix(esp_hw_support/sleep): stop TG0/TG1 watchdog if XTAL not power down in lightsleep 2024-05-28 17:56:56 +08:00
wuzhenghui
339ae99b04 change(esp_hw_support/sleep): improve esp32c3 systimer stall bug workaround 2024-05-28 17:56:52 +08:00
liuning
b8477e0282 fix(wifi): fix esp32 unrecoverable m f issue, fix rxAppendBlock issue 2024-05-28 17:49:07 +08:00
Jiang Jiang Jian
ea45a644f0 Merge branch 'bugfix/ftm_fix_wrong_compensation_v4.4' into 'release/v4.4'
Fix issues in calibration and selecting FTM compensation with external AP (Backport v4.4)

See merge request espressif/esp-idf!30927
2024-05-28 17:02:21 +08:00
Nachiket Kukade
9b0602adbd fix(esp_wifi): Fix issue in selecting FTM compensation with external AP
Additionally update FTM Compensation values with calibration
2024-05-28 12:14:21 +05:30
Jiang Jiang Jian
822fbc2fc2 Merge branch 'bugfix/mldv6_report_memory_leak_v4.4' into 'release/v4.4'
fix(esp_netif): Fix mldv6 report memory leak in esp_netif(v4.4)

See merge request espressif/esp-idf!31060
2024-05-28 10:58:18 +08:00
Island
d84b40dc5a Merge branch 'feat/add_api_to_set_privacy_mode_v4.4' into 'release/v4.4'
feat(bt/bluedroid): support BLE set privacy mode (v4.4)

See merge request espressif/esp-idf!30908
2024-05-27 14:56:05 +08:00
Rahul Tank
799e503c47 Merge branch 'feature/ble_resolve_adv_data_v4.4' into 'release/v4.4'
feat(nimble): Added API to get resolve ADV data (v4.4)

See merge request espressif/esp-idf!31057
2024-05-24 17:30:05 +08:00
WanqQixiang
ef5a6437a8 fix(esp_netif): Fix mldv6 report memory leak in esp_netif 2024-05-24 15:17:55 +08:00
Abhinav Kudnar
c9972418fb feat(nimble): Added API to get resolve ADV data 2024-05-24 12:04:59 +05:30
Jiang Jiang Jian
1fda281bb7 Merge branch 'bugfix/libphy_esp32s2_ant_cfg_20240523_v4.4' into 'release/v4.4'
fix(phy): update esp32s2 libphy support ant api(Backport v4.4)

See merge request espressif/esp-idf!31041
2024-05-24 14:27:21 +08:00
Island
a94dcb9cda Merge branch 'fix/ble_mesh_gatts_bugfix_v4.4' into 'release/v4.4'
BLE Mesh Gatts bugfix (v4.4)

See merge request espressif/esp-idf!30876
2024-05-24 14:10:07 +08:00
Rahul Tank
1424b2b1e6 Merge branch 'bugfix/restart_advertising_if_slave_23e_v4.4' into 'release/v4.4'
fix(nimble): start advertising if disconnect due to 0x3E in slave (v4.4)

See merge request espressif/esp-idf!31036
2024-05-23 20:39:04 +08:00
luoxu
5c642bf0ee fix(ble_mesh): Create service after service register success 2024-05-23 14:34:03 +08:00
muhaidong
5d4a90e7a6 fix(phy): update esp32s2 libphy support ant api 2024-05-23 14:33:14 +08:00
Jiang Jiang Jian
79e71e008c Merge branch 'bugfix/loadprohibited_after_bt_deinit_v4.4' into 'release/v4.4'
Fixed some coexist issues

See merge request espressif/esp-idf!31007
2024-05-22 16:19:00 +08:00
Rahul Tank
ccb2bc24cb fix(nimble): start advertising if disconnect due to 0x3E in slave 2024-05-22 13:27:04 +05:30
Jiang Jiang Jian
b2bc7b17f8 Merge branch 'bugfix/libphy_chips_20240430_v4.4' into 'release/v4.4'
update c3 s3 libphy, fix coex bug

See merge request espressif/esp-idf!30972
2024-05-22 14:00:08 +08:00
baohongde
77106b3238 fix(coex): Fixed some coexist issues
- Fixed crash issue in coexist callback
- Fixed coexist scheme status update issue
2024-05-22 11:49:07 +08:00
chenjianhua
6e0661ab3e fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(a771b7c)
- Fixed assert when starting advertising due to preemption
- Fixed RPA generation after each reboot
- Fixed RPA renew timer start and stop
2024-05-22 11:49:06 +08:00
Jiang Jiang Jian
509c4c2953 Merge branch 'bugfix/sae_memleak_v4.4' into 'release/v4.4'
fix(wpa_supplicant):Fix memory leak in wpa3-sae

See merge request espressif/esp-idf!30986
2024-05-22 11:45:41 +08:00
chenjianhua
543276b4ab feat(bt/bluedroid): support BLE set privacy mode 2024-05-22 10:47:42 +08:00
aditi_lonkar
fc33940ce9 fix(wpa_supplicant):Fix memory leak in wpa3-sae 2024-05-21 18:53:04 +05:30
Sergei Silnov
d0274c0efb Merge branch 'ci/use_github_on_macos_runners_v4.4' into 'release/v4.4'
ci: use github repo for mac runners (v4.4)

See merge request espressif/esp-idf!30975
2024-05-21 18:49:07 +08:00
Wang Meng Yang
22dd4ba5e8 Merge branch 'bugfix/fix_hid_connection_failed_bug_v4.4' into 'release/v4.4'
fix(bt/bluedroid): Fix HID connection bugs[backport 4.4]

See merge request espressif/esp-idf!30592
2024-05-21 16:47:07 +08:00
Fu Hanxi
68ad59ac93 ci: make fast_template_app optional 2024-05-21 05:55:51 +02:00
Fu Hanxi
99e551beb9 ci: use github repo for mac runners 2024-05-21 05:49:17 +02:00
liuning
f13847832b update c3 s3 libphy, fix coex bug 2024-05-21 11:27:35 +08:00
Jiang Jiang Jian
58c78162b9 Merge branch 'bugfix/fix_some_wifi_bugs_240516_v4.4' into 'release/v4.4'
fix(wifi): fix some wifi issues(Backport v4.4)

See merge request espressif/esp-idf!30905
2024-05-17 14:03:57 +08:00
muhaidong
de337d5625 fix(wifi): fixed some wifi bugs 240516
1. fix esp_wifi_set_mode() return error issue
2. fix qos encapsulated eapol issue
3. eapol arp and dhcp add flag PP_F_PER_PKT_RATE
4. fix lmac_stop_hw_txq issue
5. fix typo
6. limite number of amsdu  block in eb
7. fix recycle cache sub amsdu eb issue
8. update ba session store and restore rx ba num
9. fix multicast address qos frame by reset rx ba
10. fix lmacStopTransmit issue
11. sync multi antenna gpio register from IDF
12. clear eb to fix tx single AMPDU to some AP not reply BA when ampdu_entry single bit was set
2024-05-17 11:43:49 +08:00
muhaidong
5b7985b89f fix(wifi): fixed scan get ap number issue 2024-05-17 10:32:22 +08:00
muhaidong
7fbb4cfa51 fix(wifi): fixed task watchdog got triggered by esp_wifi_stop issue 2024-05-17 10:31:36 +08:00
muhaidong
a5e717662f fix(wifi): fix multicast address qos frames issue 2024-05-17 10:30:22 +08:00
muhaidong
9d34f39c37 fix(wifi): fix some wifi issues
1. fix qos encapsulated eapol issue
2. fixed dhcp offer and dhcp ack data rates
2024-05-16 21:59:15 +08:00
Jiang Jiang Jian
4a69a889a5 Merge branch 'fix/assert_1024_in_rwbt_isr_v4.4' into 'release/v4.4'
fix(bt/ble): fix some issues in bluetooth controller(backport v4.4)

See merge request espressif/esp-idf!30817
2024-05-16 16:43:21 +08:00
wangning
d783018e82 docs(esp32c3): Added missing USB functions to esp32-c3 devkit user guides 2024-05-16 11:49:32 +08:00
Jiang Jiang Jian
a3233986a2 Merge branch 'bugfix/fix_mesh_packet_tx_issue_v4.4' into 'release/v4.4'
fix(wifi): fix the tx issue when mesh packet lifetime remain equal to zero (v4.4)

See merge request espressif/esp-idf!30812
2024-05-16 10:49:53 +08:00
Rahul Tank
74767e9704 Merge branch 'feat/add_data_len_chg_evt_v4.4' into 'release/v4.4'
fix(nimble): Add support for data length change evt (v4.4)

See merge request espressif/esp-idf!30842
2024-05-15 17:57:49 +08:00
Rahul Tank
280a7f71c6 fix(nimble): Add support for data length change evt 2024-05-15 12:06:02 +05:30
Rahul Tank
3168c79b05 Merge branch 'bugix/avoid_reset_extract_cb_v4.4' into 'release/v4.4'
fix(nimble): Avoid slave instance reset inside extract_cb (v4.4)

See merge request espressif/esp-idf!30491
2024-05-15 13:45:49 +08:00
Jin Cheng
b6028aa34e fix(bt/controller): Parse out the correct packet types from Host parameters
- For HCI command HCI_Enhanced_Setup_Synchronous_Connection
2024-05-14 11:51:44 +08:00
gongyantao
eee102f4ee fix(bt/ble): fix some issues in bluetooth controller
1: fix assert 1024 issue when bt tx and wifi coexist on esp32
2: fix ble scan backoff
3: parse out the correct packet types from host parameters for
   hci command hci_enhanced_setup_synchronous_connection
2024-05-14 10:11:48 +08:00
zhangyanjiao
7fe58c450c fix(wifi): fix the tx issue when mesh packet lifetime remain equal to zero 2024-05-14 10:08:05 +08:00
Jiang Jiang Jian
5bdc532007 Merge branch 'doc/update_bt_sleep_process_v4.4' into 'release/v4.4'
docs: Update the process of Bluetooth entering sleep in the sleep_modes.rst(v4.4)

See merge request espressif/esp-idf!30764
2024-05-13 14:28:49 +08:00
Jiang Jiang Jian
9160abc5c5 Merge branch 'bugfix/bt_bss_in_extram_v4.4' into 'release/v4.4'
fix(bt): Fix missing linker symbol when ESP_ALLOW_BSS_SEG_EXTERNAL_MEMORY enabled(backport v4.4)

See merge request espressif/esp-idf!30376
2024-05-13 11:04:20 +08:00
Island
1b42fee4f0 Merge branch 'fix/idfgh-12762_v4.4' into 'release/v4.4'
fix(ble_mesh):Fixed a compatibility issue with the provisioner (v4.4)

See merge request espressif/esp-idf!30733
2024-05-10 17:14:23 +08:00
Island
2faabba4a4 Merge branch 'bugfix/BLEQABR23-798_v4.4' into 'release/v4.4'
bugfix(ble_mesh): Close BLEQABR23-798 (v4.4)

See merge request espressif/esp-idf!30648
2024-05-10 17:14:07 +08:00
Wang Meng Yang
5510aabe91 Merge branch 'optimize/bt_make_alarm_num_configurable_v4.4' into 'release/v4.4'
optimize(ble_mesh): Make alarm number configurable (v4.4)

See merge request espressif/esp-idf!30509
2024-05-10 15:05:52 +08:00
xiongweichao
79b78a4b9d docs: Update the process of Bluetooth entering sleep in the sleep_modes.rst 2024-05-10 11:58:01 +08:00
Rahul Tank
6abd351b76 fix(nimble): Avoid slave instance reset inside extract_cb 2024-05-09 12:12:02 +05:30
luoxu
d4aa5c8cc0 fix(ble_mesh):Fixed a compatibility issue with the provisioner
Closes https://github.com/espressif/esp-idf/issues/13741
2024-05-09 10:58:11 +08:00
luoxu
1b16370e83 bugfix(ble_mesh): Close BLEQABR23-798 2024-05-07 09:49:44 +08:00
Wang Mengyang
69a1d87f46 fix(bt): Fix missing linker symbol when ESP_ALLOW_BSS_SEG_EXTERNAL_MEMORY enabled
1. Closes https://github.com/espressif/esp-idf/issues/10427
2: Rename ymbol names
3. support memory release in case that ESP_ALLOW_BSS_SEG_EXTERNAL_MEMORY is enabled
4. improve the implementation of memory release
2024-05-07 09:42:29 +08:00
liqigan
21df723fca fix(bt/bluedroid): Fix HID Device connection failed bug
Closes https://github.com/espressif/esp-idf/issues/13671
2024-04-30 18:04:34 +08:00
liqigan
bc6f4b7e31 fix(bt/bluedroid): Fix HID Host connection bugs
1. Fix is_orig value inconsistency for HIDH open event
2. Fix the error state for repeat connection of the same device
2024-04-30 18:04:28 +08:00
Wang Meng Yang
be2fba6057 Merge branch 'bugfix/hf_local_param_null_v4.4' into 'release/v4.4'
fix(bt/bluedroid): allocate memory for control block of HFP Audio Gateway (v4.4)

See merge request espressif/esp-idf!30443
2024-04-30 17:25:15 +08:00
wangjialiang
50b301fc14 feat(ble_mesh): Make alarm number configurable 2024-04-30 16:16:15 +08:00
Island
c1f02f6f09 Merge branch 'bugfix/fix_ble_coex_assert_v4.4' into 'release/v4.4'
Update esp32 bt-lib (4012cfb)(backport v4.4)

See merge request espressif/esp-idf!30518
2024-04-28 10:48:10 +08:00
Island
29221d1926 Merge branch 'bugfix/fix_ble_max_attribute_value_v4.4' into 'release/v4.4'
Bugfix/fix ble max attribute value v4.4

See merge request espressif/esp-idf!30413
2024-04-28 10:37:14 +08:00
zhanghaipeng
2ca8c10a49 feat(ble/bluedroid): Support BLE command status debug log 2024-04-26 17:15:00 +08:00
zhanghaipeng
8bf1391cac fix(ble/controller): Update esp32 bt-lib (4012cfb)
- Fixed BLE coex assert
- Fixed BLE DTM status and tx count
2024-04-26 16:51:49 +08:00
morris
8f44525dd8 Merge branch 'fix/uart_wakeup_threshold_v4.4' into 'release/v4.4'
fix(uart): Fix mismatch wakeup rising edges required with the threshold configured (v4.4)

See merge request espressif/esp-idf!30477
2024-04-25 10:37:27 +08:00
morris
6c3f8c2092 Merge branch 'bugfix/gpio_drive_cap_v4.4' into 'release/v4.4'
fix(gpio): add workaround to ensure correct IO drive strength for C3 and S3 (v4.4)

See merge request espressif/esp-idf!30471
2024-04-25 10:37:17 +08:00
Michael (XIAO Xufeng)
88b9c7130e Merge branch 'bugfix/i2c_timeout_issue_v4.4' into 'release/v4.4'
fix(i2c): fix issues related to timeout and alive interval tick (backport v4.4)

See merge request espressif/esp-idf!29982
2024-04-24 23:57:01 +08:00
Song Ruo Jing
06442fd319 fix(uart): Fix mismatch wakeup rising edges required with the threshold configured
Closes https://github.com/espressif/esp-idf/issues/12586
2024-04-24 17:40:35 +08:00
Song Ruo Jing
6a82e5d232 fix(gpio): add workaround to ensure correct IO drive strength for C3 and S3 2024-04-24 17:15:59 +08:00
zhanghaipeng
c13311dacb fix(ble/bluedroid): Optimized BLE SPP example for improved compatibility 2024-04-24 15:59:28 +08:00
zhanghaipeng
b4d51f2202 feat(ble/bluedroid): Support BLE add device to resolving list 2024-04-24 12:22:38 +08:00
zhanghaipeng
f9a646879b feat(ble/bluedroid): Support create BLE static random address and NRPA 2024-04-24 10:55:32 +08:00
zhanghaipeng
8eeaea0c58 feat(ble/bluedroid): Support set resolvable provate address timeout by api 2024-04-24 10:55:14 +08:00
Rahul Tank
370636b183 Merge branch 'bugfix/rpa_timeout_api_v4.4' into 'release/v4.4'
fix(nimble): Expose API to set RPA Timeout (v4.4)

See merge request espressif/esp-idf!30411
2024-04-24 10:28:00 +08:00
Jin Cheng
97eb2e7f8d fix(bt/bluedroid): allocate memory for control block of HFP Audio Gateway in its initialization when dynamic memory is wnabled 2024-04-24 08:29:27 +08:00
sonika.rathi
78c572bbc3 docs(vfs): update esp_vfs_register_fd api description
Closes https://github.com/espressif/esp-idf/issues/11586
2024-04-23 15:25:41 +02:00
zhanghaipeng
c8a8f026ca fix(ble/bluedroid): Fixed BLE GATT max length of an attribute value 2024-04-23 16:47:28 +08:00
zhanghaipeng
597baf46fc fix(ble/bluedroid): Optimize BLE documentation comments to comply with Doxygen syntax 2024-04-23 16:47:15 +08:00
zhanghaipeng
1a7b33cf9d fix(ble/bluedroid): Optimize the BLE documentation 2024-04-23 16:45:37 +08:00
Rahul Tank
e992cafbca fix(nimble): Expose API to set RPA Timeout 2024-04-23 12:01:58 +05:30
Jiang Jiang Jian
7cd82420c2 Merge branch 'doc/update_espnow_example_v4.4' into 'release/v4.4'
docs(wifi): change the magic varible from int to uint32_t on the receiving side (v4.4)

See merge request espressif/esp-idf!30310
2024-04-22 10:44:27 +08:00
Jiang Jiang Jian
a4eb486982 Merge branch 'bugfix/fix_some_ble_bugs_cjh_v4.4' into 'release/v4.4'
Fixed some BT and BLE bugs 2404 (backport v4.4)

See merge request espressif/esp-idf!30261
2024-04-22 10:43:57 +08:00
Wang Meng Yang
0f651657c1 Merge branch 'bugfix/crash_after_bluedroid_deinit_v4.4' into 'release/v4.4'
fix(bt/bluedroid): Fixed controller using null pointer after bluedroid deinit(v4.4)

See merge request espressif/esp-idf!30330
2024-04-19 12:19:08 +08:00
chenjianhua
b30aa8f087 feat(bt): Update bt lib for ESP32-C3 and ESP32-S3(c23ab4c)
- Support QA test vendor HCI command and event
2024-04-18 14:52:26 +08:00
baohongde
fd2122886a fix(ble/controller): Fixed LoadProhibited after bluetooth deinit 2024-04-18 14:52:18 +08:00
chenjianhua
cae9f68eff fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(5274796)
- Fixed extended uncoded and coded scan scheduling
- Add config for channel assessment and ping procedure
- Clear random address for extended advertising
- Add periodic advertising list check
- Fixed periodic advertising data setting with zero length
2024-04-18 14:52:12 +08:00
baohongde
02bfd5749f feat(ble/controller): Add coexist schm for BLE 2024-04-18 14:49:56 +08:00
chenjianhua
fe1299e5da feat(bt): Update bt lib for ESP32(e314148)
- Support QA test vendor HCI command and event
2024-04-18 14:47:53 +08:00
zhanghaipeng
b01187b472 fix(bt/controller): Update bt lib for ESP32(5838b68)
- Fixed BLE scan assert
 - Fixed assert(10,0) in lld_pdu
 - Add BLE scan backoff in menuconfig
2024-04-18 14:47:53 +08:00
Jin Cheng
4bbb3c9203 fix(bt/controller): Use embedded assembly to get access to DPORT registers 2024-04-18 14:47:53 +08:00
xiongweichao
0e31aae24d fix(bt/bluedroid): Fixed crash after bluedroid deinit
hci_host_env.downstream_data_ready is set to NULL during bluedroid deinit,
causing the controller to use a null pointer when calling callback.
2024-04-18 10:58:35 +08:00
Island
d1f549f670 Merge branch 'bugfix/fix_ble_appearance_v4.4' into 'release/v4.4'
Fixed BLE appearance category ranges (v4.4)

See merge request espressif/esp-idf!30288
2024-04-18 10:44:04 +08:00
zhanghaipeng
54205481df fix(ble/bluedroid): Fixed set BLE appearance value 2024-04-17 20:39:36 +08:00
zhangyanjiao
f7fe5728ce docs(wifi): update the docmentation for sniffer API
Closes https://github.com/espressif/esp-idf/issues/10740
2024-04-17 16:22:08 +08:00
zhangyanjiao
4d7478002d docs(wifi): change the magic varible from int to uint32_t on the receiving side
Closes https://github.com/espressif/esp-idf/issues/10912
2024-04-17 16:20:51 +08:00
Jiang Jiang Jian
6b60008e50 Merge branch 'feature/update_mbedtls_version_to_2.28.8' into 'release/v4.4'
feat(mbedtls): updated mbedtls version from 2.28.7 to 2.28.8

See merge request espressif/esp-idf!30018
2024-04-17 10:43:56 +08:00
Jiang Jiang Jian
c902eacbe9 Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20240318_v4.4' into 'release/v4.4'
feat(tools): update openocd version to v0.12.0-esp32-20240318 (v4.4)

See merge request espressif/esp-idf!30048
2024-04-17 10:43:39 +08:00
morris
0036aaac89 Merge branch 'doc/auto_suspend_disabled_by_default_v4.4' into 'release/v4.4'
doc(flash): fix auto suspend enabled by default issue (v4.4)

See merge request espressif/esp-idf!30269
2024-04-17 10:05:49 +08:00
Xiao Xufeng
21ece5e0ed doc(flash): fix auto suspend enabled by default issue 2024-04-16 23:15:24 +08:00
Wang Meng Yang
5c8b63c773 Merge branch 'feature/add_api_to_send_vendor_hci_cmd_v4.4' into 'release/v4.4'
Feature/add api to send vendor hci cmd (backport v4.4)

See merge request espressif/esp-idf!30228
2024-04-16 17:45:44 +08:00
Guillaume Souchere
5c42c794d3 fix(console): Fsync not propagated to secondary output
Calls to fsync need to also be propagated to secondary
output when CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG
is enabled.

Closes https://github.com/espressif/esp-idf/issues/13162
2024-04-16 08:47:05 +02:00
Jiang Jiang Jian
309ffa5565 Merge branch 'bugfix/fix_coded_phy_s8_tx_issue_v4.4' into 'release/v4.4'
fix(esp_phy): fixed BLE coded phy s8 tx issue in coexistence scenarios (backport v4.4)

See merge request espressif/esp-idf!30192
2024-04-15 11:03:57 +08:00
Jiang Jiang Jian
7731658ec9 Merge branch 'feat/set_get_lpclk_src_v4.4' into 'release/v4.4'
feat(ble): Added API to get low power clock source(v4.4)

See merge request espressif/esp-idf!30110
2024-04-15 11:00:30 +08:00
Jiang Jiang Jian
5017ec08bb Merge branch 'bugfix/aud-5252_v4.4' into 'release/v4.4'
backport v4.4: fix the issue of modem hang caused by incorrect configuration of power and isolate signals

See merge request espressif/esp-idf!30097
2024-04-15 10:44:51 +08:00
zhiweijian
8d7c759e11 fix(ble/bluedroid): Fixed adv not restart due to disconnection reason 0x3e 2024-04-13 18:25:20 +08:00
zhiweijian
9a7b3f80b2 feat(bt/common): Add bluerooth hci layer data stream record 2024-04-13 18:25:08 +08:00
zhiweijian
db9ba9378f feat(bt/bluedroid): add api to setnd vendor hci command 2024-04-13 15:06:25 +08:00
zhiweijian
60d757c5a4 fix(ble/bluedroid): fixed bluedroid host DTM API 2024-04-13 15:06:11 +08:00
zhiweijian
f837394d59 feat(ble/bluedroid): Add APIs for BLE direct test mode on bluedroid host 2024-04-13 15:05:56 +08:00
Rahul Tank
96db015f7b Merge branch 'bugfix/fix_cccd_compilation_warning_v4.4' into 'release/v4.4'
fix(nimble): Fix compilation issues when CCCD is set to 0 (v4.4)

See merge request espressif/esp-idf!30214
2024-04-12 20:10:23 +08:00
Aditya Patwardhan
c70664772b Merge branch 'bugfix/howsmyssl_cert_update_v4.4' into 'release/v4.4'
fix(examples): update root certificate for howsmyssl endpoint (v4.4)

See merge request espressif/esp-idf!30206
2024-04-12 17:45:01 +08:00
Rahul Tank
fcc210d34e fix(nimble): Fix compilation issues when CCCD is set to 0 2024-04-12 12:38:51 +05:30
Rahul Tank
caa1e6339d Merge branch 'bugfix/fix_cve_2024_24746_v4.4' into 'release/v4.4'
fix(nimble): Fix for Vulnerability CVE_2024_24746 (v4.4)

See merge request espressif/esp-idf!30202
2024-04-12 13:17:35 +08:00
Mahavir Jain
db40be7a17 fix(examples): update root certificate for howsmyssl endpoint
This fixes CI failure seen because of cert migration of howsmyssl
endpoint from previous "DST Root CA X3" (cross-signed) to "ISRG Root X1".
2024-04-12 11:12:44 +08:00
Rahul Tank
31fd152cc6 fix(nimble): Fix for Vulnerability CVE_2024_24746 2024-04-11 20:03:56 +05:30
linruihao
ca7b269dc8 fix(esp_phy): update phylib for C3 and S3
- fixed BLE coded phy s8 tx issue in coexistence scenarios
- fixed ESP32-C3 and ESP32-S3 BLE RX issue
- optimized ESP32-C3 and ESP32-S3 light sleep current
2024-04-11 17:49:01 +08:00
morris
94dff9b23f Merge branch 'bugfix/fix_rtc_cntl_v4.4' into 'release/v4.4'
[S3]fix(rtc_cntl_reg.h): fix RTC_CNTL_SLAVE_PD_M

See merge request espressif/esp-idf!30168
2024-04-11 11:39:27 +08:00
zlq
8855a3d6c4 [S3]fix(rtc_cntl_reg.h): fix RTC_CNTL_SLAVE_PD_M 2024-04-10 19:39:59 +08:00
Island
ae5d8a6fae Merge branch 'bugfix/ble_mesh_heartbeat_filter_add_v4.4' into 'release/v4.4'
Fix(ble_mesh):fix error condition for heartbeat filter adding node address (v4.4)

See merge request espressif/esp-idf!29989
2024-04-09 16:12:10 +08:00
Marius Vikhammer
be6cf38b31 Merge branch 'fix/heap-calloc-fail-wrong-size_v4.4' into 'release/v4.4'
fix(heap): Wrong size propagated in alloc fail callback of heap_caps_calloc() (backport v4.4)

See merge request espressif/esp-idf!30093
2024-04-09 12:05:37 +08:00
Rahul Tank
fadb4082b0 Merge branch 'bugfix/set_correct_addr_type_v4.4' into 'release/v4.4'
fix(nimble): Set correct peer_addr during reattempt connection (v4.4)

See merge request espressif/esp-idf!30058
2024-04-08 20:58:25 +08:00
xiongweichao
d47b2e4612 feat(ble): Added API to get low power clock source 2024-04-08 20:02:43 +08:00
Li Shuai
0dea8d7df8 fix(esp_hw_support): fixed modem hang caused by incorrect configuration of power and isolate signals 2024-04-08 16:01:30 +08:00
jingli
01117ef986 soc/soc_caps: update soc caps for chips that support power-down of modem hardware
Closes WIFI-4424
2024-04-08 15:50:29 +08:00
Guillaume Souchere
98bd872f3c fix(heap): Wrong size propagated in alloc fail callback
Propagate `n * size` as the size of the failed allocation
instead of just `size` when heap_caps_calloc() fails since
`n * size` is the actual number of bytes that the heap
component tried to allocate.
2024-04-08 08:47:54 +02:00
luoxu
523cd6291b fix(ble_mesh): fix error condition for heartbeat filter adding node address 2024-04-08 14:28:39 +08:00
Jiang Jiang Jian
e83ed8b345 Merge branch 'bugfix/spp_crash_after_deint_v4.4' into 'release/v4.4'
fix(bt/bluedroid): Fixed SPP crash due to the connection not being disconnected before esp_spp_deinit was called(v4.4)

See merge request espressif/esp-idf!30084
2024-04-08 12:03:44 +08:00
Jiang Jiang Jian
fc56e0e008 Merge branch 'fix/log_buffer_4.4' into 'release/v4.4'
fix(log): Fixed incorrect argument type in hexdump log functions (v4.4)

See merge request espressif/esp-idf!29784
2024-04-08 10:31:35 +08:00
Jiang Jiang Jian
1e9c933b20 Merge branch 'fix/gcov_fault_v4.4' into 'release/v4.4'
fix(gcov): fix exceptions on gcov task_tick_hook (v4.4)

See merge request espressif/esp-idf!30028
2024-04-08 10:30:41 +08:00
Alexey Gerenkov
79f0dfeafa feat(tools): update openocd version to v0.12.0-esp32-20240318 2024-04-08 03:34:40 +08:00
xiongweichao
0c4fbbff02 fix(bt/bluedroid): Fix SPP crash after deinit
- The disconnection event comes up after spp disable is completed, so a null pointer is used.
2024-04-07 20:03:33 +08:00
Jiang Jiang Jian
204d181fad Merge branch 'bugfix/variable_length_rsnxe_v44' into 'release/v4.4'
Expands maximum size of RSNXE IE to 255(v4.4)

See merge request espressif/esp-idf!30052
2024-04-07 10:29:50 +08:00
Rahul Tank
4c00c5c29c fix(nimble): Remove extra code in reattempt connection 2024-04-06 20:32:33 +05:30
nilesh.kale
a5350112fb feat(mbedtls): updated mbedtls version from 2.28.7 to 2.28.8
This MR updated MbedTLS version to 2.28.8.
2024-04-05 15:17:03 +05:30
jgujarathi
eeedc3e00e fix(rsnxe): Expands maximum size of RSNXE IE to 255
- Allows for RSNXE IE to be processed as a variable length upto
255 bytes, changing the earlier max of 20.
2024-04-05 10:41:44 +05:30
Rahul Tank
ff9db0dc80 Merge branch 'feat/add_vendor_hci_cmd' into 'release/v4.4'
Nimble: Add APIs to handle vs HCI commands and events (v4.4)

See merge request espressif/esp-idf!29995
2024-04-03 21:52:06 +08:00
Alexey Lapshin
85f0a4c1a7 fix(gcov): fix exceptions on gcov task_tick_hook
Closes https://github.com/espressif/esp-idf/issues/13511
2024-04-03 15:30:25 +04:00
Jiang Jiang Jian
e1affdc8f7 Merge branch 'bugfix/dpp_auth_deinit_crash_v44' into 'release/v4.4'
Ensure dpp auth structure is deinited in dpp task context(v4.4)

See merge request espressif/esp-idf!29836
2024-04-03 17:29:00 +08:00
Rahul Tank
d9a1302095 Nimble: Add APIs to handle vs HCI commands and events 2024-04-03 10:46:13 +05:30
Jiang Jiang Jian
9dce0a4ac7 Merge branch 'bugfix/fix_some_wifi_coexist_issue_v4.4' into 'release/v4.4'
bugfix/fix some wifi coexist issue v4.4

See merge request espressif/esp-idf!29990
2024-04-03 11:29:08 +08:00
jgujarathi
15ba8fb5ab fix(wpa_supplicant): Cancel offchannel listen operations before sending dpp fail
- Ensure that offchannel listening operations are cancelled before sending dpp
  fail events
2024-04-03 11:10:34 +08:00
jgujarathi
69321d1dda fix(wpa_supplicant): Ensure dpp auth structure is deinited in dpp task context
- Ensure that the dpp auth data gets deinited only in DPP task context to ensure
  that there are no concurrency issues in usage of DPP auth data.
2024-04-03 11:10:34 +08:00
Jiang Jiang Jian
efcbfbefc2 Merge branch 'fix/rd_stored_link_key_error_v4.4' into 'release/v4.4'
fix(bt): fix some issues in bt controller(backport v4.4)

See merge request espressif/esp-idf!29974
2024-04-03 11:09:54 +08:00
Rahul Tank
b65ac342c0 Merge branch 'bugfix/revamp_reconn_scheme_v4.4' into 'release/v4.4'
fix(nimble): Cleanup code in connection reconnection implementation (v4.4)

See merge request espressif/esp-idf!29967
2024-04-02 15:30:09 +08:00
liuning
d0d1676fcc feat(coex): support to scan long time on channel, fix coexist sync issue 2024-04-02 12:01:58 +08:00
liuning
f13d02da8c example: add custom partition table for mesh manual networking 2024-04-02 11:55:34 +08:00
liuning
ac0e88403c feat(coex): improve Wi-Fi connecting compatibility at coexistence 2024-04-02 11:55:29 +08:00
Omar Chebib
976b847ca1 fix(i2c): fix issues related to timeout and alive interval tick
Fixes https://github.com/espressif/esp-idf/issues/4999

Former usage of I2C_CMD_ALIVE_INTERVAL_TICK macro overrode the ticks_to_wait
parameter when the latter was too big
2024-04-02 10:47:51 +08:00
gongyantao
b0a6609e7a fix(bt): fix some issues in bt controller
1: fixed the incorrect timeing in reporting HCI_Link_Key_Type_Changed.
2: fixed the incorrect iv value during resuming encryption.
3: fixed the incorrect return with hci command rd_stored_link_key.
2024-04-02 09:42:49 +08:00
Rahul Tank
5ff6298956 fix(nimble): Change reconnection scheme 2024-04-01 18:23:16 +05:30
Jiang Jiang Jian
718c649e06 Merge branch 'bugfix/fix_call_to_header_event_callback_v4.4' into 'release/v4.4'
fix: Fix call to event_handler on on_header state of HTTP Client (v4.4)

See merge request espressif/esp-idf!29957
2024-04-01 19:49:26 +08:00
Harshit Malpani
1451ec389b Revert "fix(esp_http_client): Call event_handler after header value is received"
This reverts commit 04ac8e43db.

Fixes https://github.com/espressif/esp-idf/issues/13497
Fixes https://github.com/espressif/esp-idf/issues/13097
2024-04-01 13:21:45 +05:30
Jiang Jiang Jian
e1f8314fd7 Merge branch 'change/add_convt_from_hci_state_to_esp_state_v4.4' into 'release/v4.4'
change(bt/bluedroid): Use BTC util to convert HCI status to ESP status (v4.4)

See merge request espressif/esp-idf!29924
2024-04-01 14:17:23 +08:00
Rahul Tank
31932039fc Merge branch 'bugfix/handle_missing_free_v4.4' into 'release/v4.4'
fix(nimble): Handle missing free in application (v4.4)

See merge request espressif/esp-idf!29890
2024-03-29 21:02:52 +08:00
Rahul Tank
c71bd1e681 fix(nimble): Handle missing free in application 2024-03-28 08:52:24 +05:30
Jin Cheng
9ce03290cc change(bt/bluedroid): Use BTC util to convert HCI status to ESP status 2024-03-28 11:06:22 +08:00
Island
1e1030e5ef Merge branch 'bugfix/BT-3491_v4.4' into 'release/v4.4'
bugfix(ble_mesh): Avoid provisioner handling messages from nodes that have...(v4.4)

See merge request espressif/esp-idf!28052
2024-03-25 12:11:15 +08:00
Rahul Tank
718cdd6c65 Merge branch 'bugfix/bonding_across_reboot_v4.4' into 'release/v4.4'
fix(nimble): Added support for deleting the oldest bonded device across reboot (v4.4)

See merge request espressif/esp-idf!29765
2024-03-21 16:49:26 +08:00
Jakob Hasse
5dbe8d3539 fix(log): Fixed incorrect argument type in hexdump log functions
Closes https://github.com/espressif/esp-idf/issues/13347
Thanks @matthew-8925
2024-03-21 16:18:37 +08:00
Darshan Dobariya
eabb77e9bc fix(nimble): Added support for deleting the oldest bonded device across reboot (v4.4) 2024-03-21 10:52:13 +05:30
Rahul Tank
6f4ff9b30f Merge branch 'bugfix/fix_dangling_pointer_compilation_warning_v4.4' into 'release/v4.4'
fix(nimble): Fix dangling pointer error during compilation (v4.4)

See merge request espressif/esp-idf!29743
2024-03-21 13:05:37 +08:00
wangjialiang
000bf3a365 update invalid links in the ble mesh example documentation 2024-03-21 11:13:37 +08:00
luoxu
ce36163317 bugfix(ble_mesh): Avoid provisioner handling messages from nodes that have already left the network. 2024-03-21 11:13:37 +08:00
Roland Dobai
2a4923faa6 Merge branch 'refactor/idf_tools_version_v4.4' into 'release/v4.4'
refactor(idf_tools): IDF version is acquired only from version or header file (backport v4.4)

See merge request espressif/esp-idf!29745
2024-03-20 21:33:30 +08:00
Jakub Kocka
dfe281bbf4 refactor(idf_tools): IDF version is acquired only from version or header file
Closes https://github.com/espressif/esp-idf/issues/13385
2024-03-20 13:42:27 +01:00
Jiang Jiang Jian
5452195e33 Merge branch 'bugfix/cve-2023-52160_v4.4' into 'release/v4.4'
fix(wpa_supplicant): (PEAP client) Update Phase 2 auth requirements (v4.4)

See merge request espressif/esp-idf!29752
2024-03-20 16:25:51 +08:00
Jiang Jiang Jian
8df220e6a4 Merge branch 'bugfix/fix_fastmem_slowmem_lost_data_bug_v4.4' into 'release/v4.4'
[C3/S3]Fix sleep fast_mem & slow_mem may lost bug (v4.4)

See merge request espressif/esp-idf!29643
2024-03-20 16:24:56 +08:00
Jiang Jiang Jian
894a0d54e5 Merge branch 'bugfix/fix_s3_bbpll_cali_fail_bug_v4.4' into 'release/v4.4'
fix: fix s3 bbpll calibration fail bug (v4.4)

See merge request espressif/esp-idf!29647
2024-03-20 16:21:22 +08:00
Kapil Gupta
4db2ef0f33 fix(wpa_supplicant): (PEAP client) Update Phase 2 auth requirements
The previous PEAP client behavior allowed the server to skip Phase 2
authentication with the expectation that the server was authenticated
during Phase 1 through TLS server certificate validation. Various PEAP
specifications are not exactly clear on what the behavior on this front
is supposed to be and as such, this ended up being more flexible than
the TTLS/FAST/TEAP cases. However, this is not really ideal when
unfortunately common misconfiguration of PEAP is used in deployed
devices where the server trust root (ca_cert) is not configured or the
user has an easy option for allowing this validation step to be skipped.

Change the default PEAP client behavior to be to require Phase 2
authentication to be successfully completed for cases where TLS session
resumption is not used and the client certificate has not been
configured. Those two exceptions are the main cases where a deployed
authentication server might skip Phase 2 and as such, where a more
strict default behavior could result in undesired interoperability
issues. Requiring Phase 2 authentication will end up disabling TLS
session resumption automatically to avoid interoperability issues.

Allow Phase 2 authentication behavior to be configured with a new phase1
configuration parameter option:
'phase2_auth' option can be used to control Phase 2 (i.e., within TLS
tunnel) behavior for PEAP:
 * 0 = do not require Phase 2 authentication
 * 1 = require Phase 2 authentication when client certificate
   (private_key/client_cert) is no used and TLS session resumption was
   not used (default)
 * 2 = require Phase 2 authentication in all cases
2024-03-20 09:42:14 +05:30
Marius Vikhammer
8643854656 Merge branch 'fix/console-build-error_v4.4' into 'release/v4.4'
console: Fix building issue when serial JTAG is set (v4.4)

See merge request espressif/esp-idf!23737
2024-03-20 10:35:53 +08:00
Rahul Tank
7489d8ff2d fix(nimble): Fix dangling pointer error during compilation 2024-03-19 19:32:56 +05:30
hongshuqing
fbe83d8738 fix: fix s3 bbpll cali fail bug 2024-03-19 14:22:56 +08:00
Jiang Jiang Jian
7bc11370e6 Merge branch 'doc/update_espnow_doc_v4.4' into 'release/v4.4'
docs(wifi): Updated the LMK description in ESP-NOW (v4.4)

See merge request espressif/esp-idf!29672
2024-03-19 14:22:02 +08:00
Jiang Jiang Jian
dc354527dc Merge branch 'bugfix/make_coexist_callback_safe_v4.4' into 'release/v4.4'
fix(bt/controller): Fixed some bugs in esp32 bt controller (v4.4)

See merge request espressif/esp-idf!29685
2024-03-19 14:21:34 +08:00
chaijie@espressif.com
30edfaeb06 fix: fix sleep fast_mem & slow_mem may lost bug 2024-03-15 20:02:29 +08:00
linruihao
24b5515d4f fix(bt/controller): Fixed some bugs in esp32 bt controller
1. fixed crash issue in coexist callback
2. fixed wrong LMP message send when expect peer device increase tx power to max
2024-03-15 19:09:07 +08:00
Roland Dobai
0b75989e37 Merge branch 'fix/fix_curses_py312_v4.4' into 'release/v4.4'
Fix Access Violation Error on Windows with Python 3.12 (v4.4)

See merge request espressif/esp-idf!29512
2024-03-15 16:20:14 +08:00
zhangyanjiao
457c7ed867 docs(wifi): Updated the LMK description in ESP-NOW
Closes https://github.com/espressif/esp-idf/issues/12976
2024-03-15 15:25:16 +08:00
Jiang Jiang Jian
d3a0f26c84 Merge branch 'feat/move_ag_cb_malloc_to_btc_v4.4' into 'release/v4.4'
feat(bt/bluedroid): Moved the memory allocation of HF AG control blocks to BTC module (v4.4)

See merge request espressif/esp-idf!29634
2024-03-14 16:22:56 +08:00
Jiang Jiang Jian
30f96ffe48 Merge branch 'bugfix/sdspi_acmd41_arg_v4.4' into 'release/v4.4'
fix(sdmmc): fixes for card initialization (ACMD41) (v4.4)

See merge request espressif/esp-idf!29379
2024-03-14 16:22:32 +08:00
Jin Cheng
9830b8bb22 feat(bt/bluedroid): Moved the memory allocation of HF AG control blocks to BTC module 2024-03-14 10:56:25 +08:00
Rahul Tank
f2d72feab8 Merge branch 'contrib/github_pr_13034_v4.4' into 'release/v4.4'
docs(nimble): Fixed typo in examples/bluetooth/nimble/blehr/README (GitHub PR) (v4.4)

See merge request espressif/esp-idf!29618
2024-03-14 03:30:47 +08:00
Martin Vychodil
d2bc43f543 Merge branch 'bugfix/nvs_lock_initi_and_multipage_blob_v4.4' into 'release/v4.4'
Bugfix/nvs Improved handling of BLOB during unreliable power environment and concurrent data access scenarios (v4.4)

See merge request espressif/esp-idf!29324
2024-03-13 23:04:32 +08:00
Alex Verschoot
60b9b7ef82 Update README.md
Fix typo
2024-03-13 17:09:53 +05:30
Rahul Tank
cfb86ecfc6 Merge branch 'bugfix/reconnect_host_based_v4.4' into 'release/v4.4'
fix(nimble): Added ble_host_rpa_enabled flag for address resoultion for esp32 (v4.4)

See merge request espressif/esp-idf!29573
2024-03-13 12:25:49 +08:00
radek.tandler
651102302a fix(nvs): CMakeLists.txt adopted for nvs_host_test v4.4 2024-03-12 13:36:15 +01:00
radek.tandler
156429b56a fix(nvs): Fixed Page::findItem performance degradation caused by wrong condition before hash map use
The condition enabling use of hash map when page is searched for Item was modified
to correct the bug introduced by commit addressing delete of any BLOB_INDEX Items.
This correction returns the performance of findItem to the state before previous change.
2024-03-12 13:34:51 +01:00
Roland Dobai
cebb1b3068 Merge branch 'feature/export_bat_exit_codes_v4.4' into 'release/v4.4'
feat(tools): produce correct err code in install/export .bat scripts (v4.4)

See merge request espressif/esp-idf!29547
2024-03-12 15:14:07 +08:00
Darshan Dobariya
1243dab84d fix(nimble): Added ble_host_rpa_enabled flag for address resoultion for esp32 (v4.4) 2024-03-12 12:30:25 +05:30
Jiang Jiang Jian
5bd00ecceb Merge branch 'bugfix/fix_some_ble_bugs_cjh_v4.4' into 'release/v4.4'
Fixed some BLE bugs 2403 (backport v4.4)

See merge request espressif/esp-idf!29468
2024-03-12 11:02:39 +08:00
Marek Fiala
d65e3c8f4e feat(tools): produce correct err code in export/install .bat scripts
Plus unify labels to begin with underscore
2024-03-11 10:11:40 +01:00
Jiang Jiang Jian
c4ce15b33d Merge branch 'bugfix/fix_some_ble_bugs_240310_v4.4' into 'release/v4.4'
Bugfix/fix some ble bugs 240310 v4.4(backport v4.4)

See merge request espressif/esp-idf!29520
2024-03-11 11:24:50 +08:00
zhanghaipeng
7eebebff0c fix(ble/bluedroid): Fixed BLE BLE periodic advertising parameter check 2024-03-10 20:08:51 +08:00
zhanghaipeng
4b40817158 fix(ble/bluedroid): Fixed BLE crash when repeatedly initialize and deinitialize host 2024-03-10 20:05:16 +08:00
Rahul Tank
c93a15c19d Merge branch 'bugfix/gap_connect_failed_with_0x0d_v4.4' into 'release/v4.4'
fix(nimble): Revise the help section for the Kconfig macro BLE_RPA_TIMEOUT (v4.4)

See merge request espressif/esp-idf!29495
2024-03-08 22:44:16 +08:00
Jan Beran
009d84cc8f fix(menuconfig): Prevent Access violation on Windows with Python 3.12
Closes https://github.com/espressif/esp-idf/issues/13232
2024-03-08 14:30:43 +01:00
Abhinav Kudnar
64b278f74e fix(nimble): Revise the help section for the Kconfig macro BLE_RPA_TIMEOUT 2024-03-08 11:31:36 +05:30
chenjianhua
285bffbffd feat(bt/bluedroid): Add ext adv and privacy status check 2024-03-07 14:25:35 +08:00
thekurtovic
a2cc7980e4 fix(bt/bluedroid): Fixed "reprot" typo in esp_ble_gap_ext_adv_reprot_t 2024-03-07 14:25:28 +08:00
Raghu Saxena
c6f12bdf29 fix(bt/example): Use correct struct type 2024-03-07 14:25:15 +08:00
Joshua
6ca03fc600 fix(bt/blufi): Fixed BluFi module link error(C++ hybrid compilation) 2024-03-07 14:22:42 +08:00
chenjianhua
8ada7f868b fix(bt/bluedroid): Fixed crash when calculating GATTS database hash 2024-03-07 14:19:00 +08:00
chenjianhua
17e3c69694 fix(bt): Update bt lib for ESP32(5ea2fca)
- Fixed HCI command status event sending for disconnect command
- Fixed LE transmitter test command param check
2024-03-07 14:18:18 +08:00
Jin Cheng
4734fb0044 fix(bt/controller): Fixed 3 esp32 bt controller bugs
update esp32 bt-lib (952debf4)

1. Increased the length of queue for coexist requestions
2. fix(bt/controller): Cleared BT SNIFF when no connections exists
3. fix(bt/controller): Corrected a typo in coex module
2024-03-07 14:18:13 +08:00
chenjianhua
e249971122 fix(bt): Update bt lib for ESP32(2de69f3)
- Fixed HCI command status event send when LLCP busy
2024-03-07 14:18:07 +08:00
Rahul Tank
407795da51 Merge branch 'bugfix/addr_resol_for_esp32_v4.4' into 'release/v4.4'
fix(nimble): Added the check to prevent address resolution in case of identity addr for esp32(v4.4)

See merge request espressif/esp-idf!29347
2024-03-06 20:17:55 +08:00
Abhinav Kudnar
4e73d06135 fix(nimble): Added the check to prevent address resolution in case of identity addr for esp32 2024-03-06 15:16:50 +05:30
Island
29efc9650d Merge branch 'bugfix/struct_init_order_blemesh_v4.4' into 'release/v4.4'
ble_mesh: example: fix the structure init order to meet C++ requirements(backport v4.4)

See merge request espressif/esp-idf!28929
2024-03-06 14:09:28 +08:00
Rahul Tank
0eb7ad2032 Merge branch 'feat/ble_gap_dev_auth_v4.4' into 'release/v4.4'
feat(nimble): Authorize or deauthorize a BLE device for a connection (v4.4)

See merge request espressif/esp-idf!29244
2024-03-05 20:50:29 +08:00
Darshan Dobariya
e79e35219e feat(nimble): Authorize or deauthorize a BLE device for a connection (v4.4) 2024-03-05 10:02:37 +05:30
Michael (XIAO Xufeng)
e374f8fd6a Merge branch 'feature/add_new_pkg_and_flash_psram_efuses_v4.4' into 'release/v4.4'
feat(efuse): Add flash&psram efuses for S3 (v4.4)

See merge request espressif/esp-idf!29145
2024-03-05 10:54:38 +08:00
Rahul Tank
7a00499cc9 Merge branch 'bugfix/move_count_v4.4' into 'release/v4.4'
fix(nimble): Fix compilation issue in nimble for -O2 flag (v4.4)

See merge request espressif/esp-idf!29076
2024-03-04 22:05:56 +08:00
Rahul Tank
29f92595bf Merge branch 'bugfix/increase_reattempt_conn_count_v4.4' into 'release/v4.4'
fix(nimble): Increase range of reattempt connection count (v4.4)

See merge request espressif/esp-idf!29343
2024-03-04 19:44:21 +08:00
Darshan Dobariya
0e9b28f7fb fix(nimble): Fix compilation issue in nimble for -O2 flag (v4.4) 2024-03-04 15:19:52 +05:30
Guillaume Souchere
f47d9432a0 console: Fix building issue when serial JTAG is set
Closes https://github.com/espressif/esp-idf/issues/10707
2024-03-04 14:29:39 +08:00
morris
0241b95b71 Merge branch 'bugfix/usb_host_usbh_callback_misses_action_v4.4' into 'release/v4.4'
fix(usb): Fix bug where usbh_process() misses an event (v4.4)

See merge request espressif/esp-idf!29367
2024-03-04 11:38:12 +08:00
Jiang Jiang Jian
6ec1935ccb Merge branch 'bugfix/fix_issues_in_mesh_and_scan_v4.4' into 'release/v4.4'
fix(wifi): fixed scan and mesh deinit issues (v4.4)

See merge request espressif/esp-idf!29203
2024-03-04 10:56:29 +08:00
Jiang Jiang Jian
093f04510f Merge branch 'bugfix/ip101_reset_timing_v4.4' into 'release/v4.4'
fix(esp_eth): ip101-specific reset_hw to match reset timings from datasheet (v4.4)

See merge request espressif/esp-idf!29015
2024-03-04 10:40:47 +08:00
Jiang Jiang Jian
fdfe99cdb2 Merge branch 'bugfix/improve_find_by_addr' into 'release/v4.4'
fix(nimble): Improve find conn by ble_addr_t (v4.4)

See merge request espressif/esp-idf!29134
2024-03-04 10:40:27 +08:00
Jiang Jiang Jian
6cb955e8e6 Merge branch 'bugfix/update_spp_doc_v4.4' into 'release/v4.4'
docs(bt/bluedroid): update API documents of SPP (v4.4)

See merge request espressif/esp-idf!29173
2024-03-04 10:40:05 +08:00
Jiang Jiang Jian
8247e0b058 Merge branch 'bugfix/fix_ble_max_reconnect_v4.4' into 'release/v4.4'
fix(ble/bluedroid): Update maximum BLE reconnection attempts configuration(backport v4.4)

See merge request espressif/esp-idf!29221
2024-03-04 10:38:03 +08:00
Jiang Jiang Jian
303ad716b6 Merge branch 'bugfix/bootloader_custom_rtc_data_crc' into 'release/v4.4'
fix(bootloader): add legacy retained memory CRC calculation (backport v4.4)

See merge request espressif/esp-idf!28142
2024-03-04 10:36:39 +08:00
Jiang Jiang Jian
5c5ab4b0c9 Merge branch 'change/reduce_usage_of_iram_when_bt_in_single_mode_v4.4' into 'release/v4.4'
change(bt/bluedroid): Redirect app functions in controller based on the bluetooth mode(backport v4.4)

See merge request espressif/esp-idf!29227
2024-03-04 10:35:29 +08:00
Jiang Jiang Jian
fac1a07248 Merge branch 'bugfix/fix_coex_lib_circular_dependency_v4.4' into 'release/v4.4'
fix(esp_coex): fix circular dependency issue on esp32 (v4.4)

See merge request espressif/esp-idf!29175
2024-03-04 10:34:18 +08:00
Roland Dobai
611a3735b5 Merge branch 'feature/add_esp_idf_version_env_var' into 'release/v4.4'
feat(tools): add ESP_IDF_VERSION env var to v4.4

See merge request espressif/esp-idf!29230
2024-03-01 21:55:19 +08:00
Roland Dobai
23ddb21992 Merge branch 'feat/bump_up_pre_commit_hook_v4.4' into 'release/v4.4'
fix: Bump up pre-commit hooks version (v4.4)

See merge request espressif/esp-idf!29255
2024-03-01 21:55:05 +08:00
Ivan Grokhotkov
6383fd550a fix(sdmmc): extend the maximum number of retries of ACMD41
According to the application note in SD Card Physical Specification:

> The host shall set ACMD41 timeout more than 1 second to abort repeat
of issuing ACMD41 when the card does not indicate ready. The timeout
count starts from the first ACMD41 which is set voltage window
in the argument.

Previously, the timeout was exactly one second, and this caused
certain larger-capacity cards to "time out", because they couldn't
finish initialization process in time.
2024-03-01 10:50:29 +01:00
Ivan Grokhotkov
dceec3fac0 fix(sdmmc): use correct argument for ACMD41 in SPI mode
ACMD41 argument is different between SD mode and SPI mode.
In SPI mode, the only non-zero bit may be the HCS bit. Unlike the SD
mode, the bits reflecting the host's OCR should be zero.
Previously, we used to set these bits the same way as for the SD mode.
This has caused certain cards to fail initializing, apparently their
controllers have checked the ACMD41 argument more strictly and refused
to finish initialization, resulting in an error such as

    sdmmc_common: sdmmc_init_ocr: send_op_cond (1) returned 0x107

(Note that this error may have other causes than the one fixed in
this commit. For example, if the card doesn't have a sufficient and
stable power supply, it may also fail to complete the internal
initialization process, and will never clear the busy flag in R1
response.)

Closes https://github.com/espressif/esp-idf/issues/6686
Closes https://github.com/espressif/esp-idf/issues/10542
2024-03-01 10:50:29 +01:00
Darian Leung
8f208fd0c0 fix(usb): Fix bug where usbh_process() misses an event
This commit fixes a bug where if multiple concurrent USBH API calls trigger
multiple events on the same device, some events will be lost. As a result,
those lost events don't get processed by the subsequent usbh_process() call.
2024-03-01 14:34:28 +08:00
Rahul Tank
1b249261f3 fix(nimble): Increase range of reattempt connection count 2024-02-29 15:58:33 +05:30
Roland Dobai
d9b9b76785 Merge branch 'fix/reachable_tag_v4.4' into 'release/v4.4'
CI: Make the v4.4.7 tag be reachable from release/v4.4

See merge request espressif/esp-idf!29316
2024-02-29 15:31:31 +08:00
radek.tandler
e6f5608739 fix(nvs): Improved lockig mechanism for initialization phase 2024-02-28 14:18:10 +01:00
radek.tandler
871534b64b fix(nvs): eraseMultiPageBlob to robustly delete all related BLOB_DATA records and respect VER_ANY 2024-02-28 12:44:09 +01:00
radek.tandler
62dc1fdf04 fix(nvs): corrected findItem to return BLOB_DATA when chunkIndex = CHUNK_ANY 2024-02-28 12:44:09 +01:00
radek.tandler
e818c42e1c fix(nvs): added check and erase of mismatched BLOB_DATA on init 2024-02-28 12:44:08 +01:00
Ivan Grokhotkov
5bd115a12e fix(nvs): prevent out of bounds write if blob data is inconsistent 2024-02-28 12:44:08 +01:00
Roland Dobai
2e21cf9cc7 Merge branch 'update/version_4_4_7' into 'release/v4.4'
Update version to 4.4.7

See merge request espressif/esp-idf!29284
2024-02-27 21:50:38 +08:00
Roland Dobai
38eeba213a change(version): Update version to 4.4.7 2024-02-27 09:07:40 +01:00
Roland Dobai
4bd9aae42b change(version): Update version to 4.4.7 2024-02-27 07:28:32 +01:00
Marek Fiala
b5b0b4d150 feat(tools): add ESP_IDF_VERSION env var to v4.4
Closes https://github.com/espressif/esp-idf/issues/10677
2024-02-26 10:59:19 +01:00
Jan Beran
c8ec6573bc fix: Bump up pre-commit hooks version 2024-02-26 10:35:26 +01:00
gongyantao
9fac48f089 change(bt/bluedroid): Redirect app functions in controller based on the bluetooth mode 2024-02-23 19:08:50 +08:00
zhanghaipeng
c73823095d fix(ble/bluedroid): Update maximum BLE reconnection attempts configuration 2024-02-23 15:49:30 +08: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
zhangyanjiao
989eb18f5d fix(wifi): fixed scan and mesh deinit issues
1. update scan ap number when clear scan ap records
2. wait for child disconnect when mesh deinit
2024-02-23 10:55:19 +08:00
Konstantin Kondrashov
d78b2b6af9 feat(efuse): Adds support for alternative efuse names 2024-02-22 11:57:17 +02:00
KonstantinKondrashov
9cb32917a5 feat(efuse): Add flash&psram efuses for S3 2024-02-22 11:49:28 +02:00
linruihao
2c62a152fb fix(esp_coex): fix circular dependency issue on esp32
Closes https://github.com/espressif/esp-idf/issues/13113
2024-02-22 16:54:58 +08:00
Rahul Tank
ead3022f5b fix(nimble): Improve find conn by ble_addr_t 2024-02-22 09:01:42 +05:30
Jin Cheng
5c8190f2ad docs(bt/bluedroid): update API documents of SPP 2024-02-22 10:01:19 +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
Bogdan Kolendovskyy
bf73313e42 fix(esp_eth): ip101-specific reset_hw to match reset timings from datasheet
IP101 requires 10ms reset assertion time and 10ms post-reset delay to properly initialize.
2024-02-09 15:22:02 +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
InfiniteYuan
6b3109d161 ble_mesh: example: fix the structure init order to meet C++ requirements
Closes https://github.com/espressif/esp-idf/issues/8110
2024-02-07 16:38:19 +08:00
InfiniteYuan
d3290e761b ble_mesh: stack: fix the structure init order to meet C++ requirements 2024-02-07 16:38:19 +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
Omar Chebib
dbe4d156fe fix(bootloader): add legacy retained memory CRC calculation
* Closes https://github.com/espressif/esp-idf/issues/12849

In former versions of ESP-IDF, the user custom memory data in the retained memory
was taken into account during the CRC calculation. This was changed in a later
commit, the custom memory was ignored, therefore this can seen as a breaking change.
This commit gives the possibility to choose between the former (legacy) or new way of calculating the CRC.
2023-12-28 11:01:33 +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
Roland Dobai
1b16ef6cfc versions: Update version to 4.4.2 2022-08-02 14:06:15 +02: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
Jiang Jiang Jian
6d85d53cee Merge branch 'bugfix/qatest_spp_crash_v4.4' into 'release/v4.4'
bugfix/qatest spp crash (v4.4)

See merge request espressif/esp-idf!19238
2022-07-28 16:06:56 +08:00
Jiang Jiang Jian
e26a02d783 Merge branch 'bugfix/temp_fix_clk8m_and_cpu_cannot_pd_at_the_same_time_backport_v4.4' into 'release/v4.4'
esp_hw_support/sleep: fix cannot pd cpu and rc fast at the same time during light sleep(backport v4.4)

See merge request espressif/esp-idf!19266
2022-07-28 16:06:16 +08:00
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
jingli
23d934429c esp_hw_support/sleep: fix cannot pd cpu and rc fast at the same time during light sleep
Since cpu retention dma use rc fast as clk source, so rc_fast_digi
will be enabled when we config to pd cpu. And cpu retention does not
need rc fast keep on during light sleep. So, if we use rc_fast_digi
to determine whether rc fast can be powered down, then cpu and and
rc fast cannot pd at the same time.
2022-07-28 11:24:40 +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
jincheng
a066de7fec 1. add protect for bt_util_buf_env buffers when multi-access
2. ignore assert_err in em_bt_clkoff1_setf
2022-07-27 18:01:12 +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
Jiang Jiang Jian
14903a46d1 Merge branch 'bugfix/optimize_beacon_timeout_issue_4.4' into 'release/v4.4'
esp_wifi:bugfix optimize beacon timeout issue(4.4)

See merge request espressif/esp-idf!19157
2022-07-25 15:48:57 +08: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
Jiang Jiang Jian
47b6a8c85a Merge branch 'bugfix/phy_init_failed_when_wifi_deinit_4.4' into 'release/v4.4'
esp_wifi:bugfix for phy init failed when wifi deinit(4.4)

See merge request espressif/esp-idf!19137
2022-07-25 10:52:28 +08:00
jincheng
9892ce6a53 fix the dependency error of macro for memory debug 2022-07-22 16:17:14 +08:00
Jiang Jiang Jian
145c3cd000 Merge branch 'bugfix/wps_disable_disconnect_v4.4' into 'release/v4.4'
WiFi: Do not disconnect in WPS disable API incase WPS is done/scanning (v4.4)

See merge request espressif/esp-idf!19148
2022-07-22 15:13:54 +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
xueyunfei
91dc99a3ce esp_wifi:bugfix optimize beacon timeout issue 2022-07-21 10:57:20 +08:00
Kapil Gupta
f42fd4236c WiFi: Do not disconnect in WPS disable incase WPS is done/scanning
Closes https://github.com/espressif/esp-idf/issues/9341
2022-07-20 18:17:45 +05:30
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
xueyunfei
1a17610895 bugfix for phy init failed when wifi deinit 2022-07-20 15:14:34 +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
Jiang Jiang Jian
f0a3ccc732 Merge branch 'ci/support_nightly_build_keyword_in_ttfw_v4.4' into 'release/v4.4'
ci: support keyword `nightly_run` in ttfw_idf decorator (v4.4)

See merge request espressif/esp-idf!18946
2022-07-18 21:20:28 +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
Jiang Jiang Jian
ee2029c38a Merge branch 'update_v4.4/mbedtls_v2.28.1' into 'release/v4.4'
mbedtls: Update to release v2.28.1 (v4.4)

See merge request espressif/esp-idf!19041
2022-07-14 22:51:26 +08:00
morris
f69e6b3714 Merge branch 'bugfix/rgb_panel_set_gap_v4.4' into 'release/v4.4'
rgb_lcd: fix error in rgb_panel_set_gap

See merge request espressif/esp-idf!19051
2022-07-14 20:35:05 +08:00
Jiang Jiang Jian
c9119cbcef Merge branch 'docs/update_wifi_beacon_timeout_doc_v4.4' into 'release/v4.4'
docs: update wifi beacon timeout docs (v4.4)

See merge request espressif/esp-idf!19044
2022-07-14 18:10:12 +08:00
morris
dee1bd1a24 rgb_lcd: fix error in rgb_panel_set_gap
Closes https://github.com/espressif/esp-idf/issues/9279
2022-07-14 16:52:55 +08:00
muhaidong
4b79600876 docs: add WIFI_EVENT_STA_BEACON_TIMEOUT event docs. 2022-07-14 15:38:33 +08:00
muhaidong
91a315f7c0 docs: update wifi beacon timeout docs 2022-07-14 15:38:33 +08:00
Laukik Hase
f7c20f3718 mbedtls: Update to release v2.28.1
- Changelog: https://github.com/Mbed-TLS/mbedtls/releases/tag/v2.28.1
2022-07-14 10:01:39 +05:30
Jiang Jiang Jian
d446c4a18f Merge branch 'bugfix/fix_beacon_timeout_timer_assert_issue_v4.4' into 'release/v4.4'
esp_wifi: fix sta reset beacon timeout timer issue(Backport v4.4)

See merge request espressif/esp-idf!19035
2022-07-14 11:25:14 +08:00
Jiang Jiang Jian
8dbe7582a9 Merge branch 'bugfix/print_ready_after_init_transaction_forv4.4' into 'release/v4.4'
ble_mesh:example:change the location of print ready(V4.4)

See merge request espressif/esp-idf!19028
2022-07-14 11:24:48 +08:00
Jiang Jiang Jian
c074da530b Merge branch 'feature/temp_sensor_v4.4' into 'release/v4.4'
temperature sensor: Add support on ESP32-S3 (backport v4.4)

See merge request espressif/esp-idf!18718
2022-07-14 10:51:43 +08:00
Jiang Jiang Jian
5744a18555 Merge branch 'docs/update_linker_script_generation_v4.4' into 'release/v4.4'
docs:update linker script generation (v4.4)

See merge request espressif/esp-idf!19039
2022-07-14 10:50:09 +08:00
Linda
5b816c8551 docs:update linker script generation 2022-07-14 10:27:49 +08:00
Michael (XIAO Xufeng)
e33df4d5b5 Merge branch 'bugfix/flash_encryption_8l_psram_v4.4' into 'release/v4.4'
flash_encryption: Fix issue that flash encryption cannot work when 8-line psram enabled(backport v4.4)

See merge request espressif/esp-idf!19023
2022-07-13 23:33:06 +08:00
muhaidong
9f0532bdf3 esp_wifi: fix sta reset beacon timeout timer issue 2022-07-13 20:37:38 +08:00
Yuan Hong Hui
c2fe9327f2 ble_mesh:change the location of print ready 2022-07-13 17:58:39 +08:00
Cao Sen Miao
daceb3516d temperature sensor: Add support on ESP32-S3,
Closes https://github.com/espressif/esp-idf/issues/8086
2022-07-13 17:22:59 +08:00
Cao Sen Miao
8538153616 flash_encryption: Fix issue that flash encryption cannot work when 8-line psram enabled,
Closes https://github.com/espressif/esp-idf/issues/9244,
                  Closes https://github.com/espressif/esp-idf/issues/9287
2022-07-13 17:20:38 +08:00
Jiang Jiang Jian
322a2240f1 Merge branch 'bugfix/eapol_drop_issue_v4.4' into 'release/v4.4'
esp_wifi: clear old keys before going for new connection(backport v4.4)

See merge request espressif/esp-idf!18996
2022-07-13 15:40:11 +08:00
Jiang Jiang Jian
b68fd2b88f Merge branch 'bugfix/fix_memory_leak_in_hidh_v4.4' into 'release/v4.4'
Fix memory leak in bt_hidh.c[backport 4.4]

See merge request espressif/esp-idf!19007
2022-07-13 14:03:32 +08:00
Jiang Jiang Jian
dfb75aa230 Merge branch 'feature/uart_get_free_tx_buffer_size_v4.4' into 'release/v4.4'
uart: Add a new API to get the free space size of tx buffer (backport v4.4)

See merge request espressif/esp-idf!18977
2022-07-13 10:56:44 +08:00
Jiang Jiang Jian
bd7269411a Merge branch 'bugfix/wifi_sta_and_ble_disconnect_BCI-303_v4.4' into 'release/v4.4'
component_bt: Fix wifi is initialized before bluetooth initialization, bluetooth can't stay connected(v4.4)

See merge request espressif/esp-idf!18999
2022-07-13 00:13:03 +08:00
Jiang Jiang Jian
327624b04c Merge branch 'bugfix/correct_blecmd_for_rf_path_v4.4' into 'release/v4.4'
Bluedroid: Fixed compilation error due to incorrect macro name (v4.4)

See merge request espressif/esp-idf!18994
2022-07-12 20:32:02 +08:00
Jiang Jiang Jian
692ba818fe Merge branch 'bugfix/fix_esp32_ke_mem_c_assert_v4.4' into 'release/v4.4'
fix esp32 BLE ke_mem.c assert for v4.4

See merge request espressif/esp-idf!19000
2022-07-12 20:30:32 +08:00
Jiang Jiang Jian
4e6f8b362d Merge branch 'bugfix/ble_50_sync_periodic_adv_lost_data_v4.4' into 'release/v4.4'
components/bt: Fix ble sync periodic adv report will lost data(backport release/v4.4)

See merge request espressif/esp-idf!18958
2022-07-12 17:30:04 +08:00
Jiang Jiang Jian
9f5b700c9a Merge branch 'bugfix/fix_esp32c3_s3_adv_report_duplicate_check_v4.4' into 'release/v4.4'
Fix esp32c3/s3 adv report duplicate check for v4.4

See merge request espressif/esp-idf!18962
2022-07-12 17:29:35 +08:00
liqigan
c2f9a0ad87 fix memory leak in esp_bt_hidh_dev_report_write and esp_bt_hidh_dev_set_report in bt_hidh.c
Closes https://github.com/espressif/esp-idf/issues/9323
2022-07-12 15:57:23 +08:00
zwj
f39df9a9c0 fix esp32 BLE ke_mem.c assert 2022-07-12 14:40:21 +08:00
xiongweichao
c85f71aee3 Fix wifi is initialized before bluetooth initialization, bluetooth can't stay connected 2022-07-12 14:35:32 +08:00
Kapil Gupta
522e0a6b06 esp_wifi: clear old keys before going for new connection 2022-07-12 10:43:34 +05:30
Rahul Tank
b5522f5709 Bluedroid: Fixed compilation error due to incorrect macro name 2022-07-12 09:42:27 +05:30
Jiang Jiang Jian
68225b63de Merge branch 'docs/404_tips_backport_v4.4' into 'release/v4.4'
docs: update 404.rst (backport v4.4)

See merge request espressif/esp-idf!18975
2022-07-12 11:57:10 +08:00
Jiang Jiang Jian
724cbd4167 Merge branch 'bugfix/fix_spi_slave_example_sender_ccount_issue' into 'release/v4.4'
spi: fix spi slave example sender ccount issue (v4.4)

See merge request espressif/esp-idf!18423
2022-07-12 11:49:28 +08:00
Jiang Jiang Jian
cd13a62952 Merge branch 'bufix/Backport_some_wifi_lwip_bugs_for_4.4_0711' into 'release/v4.4'
Backport some wifi&lwip bugs for 4.4 0711

See merge request espressif/esp-idf!18984
2022-07-12 11:36:25 +08:00
Jiang Jiang Jian
2476d5d837 Merge branch 'fix/usb_cdc_reconnection' into 'release/v4.4'
tinyusb: Fix lost packet after reconnection

See merge request espressif/esp-idf!18952
2022-07-12 10:32:31 +08:00
Jiang Jiang Jian
b3e8d0f7bf Merge branch 'bugfix/tinyusb_prs_v4.4' into 'release/v4.4'
Fix tinyusb_driver_install (dangling pointer) and ESP32S3 USB external PHY pinout (backport v4.4)

See merge request espressif/esp-idf!18978
2022-07-12 10:31:14 +08:00
Tomas Rezucha
4b4289ebba tinyusb: Fix lost packet after reconnection 2022-07-11 17:06:33 +02:00
muhaidong
c3f077397a esp_wifi: reset beacon timeout timer when keep alive null works or hw drop beacon 2022-07-11 21:29:34 +08:00
xueyunfei
f8a4504bc5 Icmp: get tos parameter in icmp reply
bugfix for add ttl for ping socket
2022-07-11 20:24:18 +08:00
Jeff H
101762718a add option to route LWIP logs through ESP_LOG interface
Signed-off-by: xueyunfei <xueyunfei@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/8785
Closes https://github.com/espressif/esp-idf/issues/8361
2022-07-11 19:26:41 +08:00
xueyunfei
3e7aefd9fe udp example:Optimization udp example with recv_msg 2022-07-11 19:16:30 +08:00
xueyunfei
4a3875c4c7 wifi:bugfix for wrong configuration of static txbuf
wifi:bugfix fix qos null update ba ssn
2022-07-11 19:16:11 +08:00
lsita
88361bddf2 USB external PHY pinout set as in Reference Manual Figure 29-3.
(cherry picked from commit 9ceff23c6d)
2022-07-11 17:26:45 +08:00
lsita
41f78c1347 Fix tinyusb_driver_install (dangling pointer)
(cherry picked from commit db90b512a1)
2022-07-11 17:20:57 +08:00
songruojing
f4d33d2739 uart: Add a new API to get the free space size of tx buffer
Closes https://github.com/espressif/esp-idf/issues/8932

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

(cherry picked from commit 9d73475e44)
2022-07-11 17:04:11 +08:00
xiewenxiang
3838e3da4a components/bt: Fix ble sync periodic adv report lost data issue 2022-07-11 16:50:30 +08:00
Jiang Jiang Jian
b9a1020fcf Merge branch 'bugfix/reset_ble_hw_on_inititalization_v4.4' into 'release/v4.4'
[Bluetooth] Reset Bluetooth hardware during controller inititalization on ESP32-C3/ESP32-S3(release/v4.4)

See merge request espressif/esp-idf!18964
2022-07-11 16:28:53 +08:00
Jiang Jiang Jian
65becd2edf Merge branch 'bugfix/fix_osi_men_dbg_xxx_not_defined_when_enable_mem_dbg_v4.4' into 'release/v4.4'
bugfix/fix the issue of functions not defined when enable memory debug (v4.4)

See merge request espressif/esp-idf!18815
2022-07-11 16:28:27 +08:00
wangziyan
def63b6ec7 docs: update 404.rst 2022-07-11 16:18:34 +08:00
wangmengyang
eb15c547f2 fix licence copyright for header file syscon_reg.h on ESP32C3 and ESP32S3 2022-07-11 11:09:06 +08:00
wangmengyang
4d5aa82cea component/bt: reset Bluetooth hardware during controller inititalization on ESP32-C3/ESP32-S3
1. Rename MACROs SYSTEM_WIFI_RST_EN register bit fields to be more recognizable
2. reset Bluetooth baseband and MAC bits to fix the issue of task watchdog triggered during controller initialization due to invalid hardware state
2022-07-11 11:06:11 +08:00
chenjianhua
1595e008f0 fix esp32c3/s3 adv report duplicate check 2022-07-11 10:53:53 +08:00
Jiang Jiang Jian
db8ef465a4 Merge branch 'ci/only_run_deploy_cases_on_master_backport4.4' into 'release/v4.4'
CI: Only deploy test cases on master (backport 4.4)

See merge request espressif/esp-idf!18955
2022-07-10 15:42:51 +08:00
Jiang Jiang Jian
3ab8c3fff4 Merge branch 'doc/ble_deinit_v4.4' into 'release/v4.4'
doc(bt): Add description for de-initialize bt controller(backport release/v4.4)

See merge request espressif/esp-idf!18928
2022-07-10 15:37:50 +08:00
Jiang Jiang Jian
e26594d8f4 Merge branch 'bugfix/fix_wrong_params_in_hidd_v4.4' into 'release/v4.4'
Fix wrong parameter of get_report_by_id_and_type in bt_hidd.c[backport 4.4]

See merge request espressif/esp-idf!18930
2022-07-10 15:36:28 +08:00
Jiang Jiang Jian
4a2a974257 Merge branch 'bugfix/main_task_on_cpu1_startup_failure_v4.4' into 'release/v4.4'
freertos: Fix issue with bootup failure in ESP_MAIN_TASK_AFFINITY_CPU1 config (v4.4)

See merge request espressif/esp-idf!18935
2022-07-10 15:36:05 +08:00
Jiang Jiang Jian
52dda7f100 Merge branch 'docs/update_wifi_csi_sub_carrier_index_doc_v4.4' into 'release/v4.4'
docs:update wifi sci subcarrier index docs (v4.4)

See merge request espressif/esp-idf!18941
2022-07-10 15:35:49 +08:00
Jiang Jiang Jian
e519e437fe Merge branch 'docs/add_chiptype_link_gpio_v4.4' into 'release/v4.4'
docs: Add chip target and link to gpio.h (v4.4)

See merge request espressif/esp-idf!18948
2022-07-10 15:35:31 +08:00
Chen Yudong
f54d484502 CI: Only deploy test cases on master (backport 4.4) 2022-07-08 23:38:37 +08:00
Linda
bc4338625c docs:add chiptype and link to gpio.h 2022-07-08 16:29:11 +08:00
Fu Hanxi
1b0fe85245 ci: support keyword nightly_run in ttfw_idf decorator 2022-07-08 15:37:23 +08:00
muhaidong
f9d96d28bf docs: modify some Chinese expressions related to CSI 2022-07-08 14:42:12 +08:00
muhaidong
ef9eaae48c docs:update wifi sci subcarrier index docs 2022-07-08 14:34:46 +08:00
Jiang Jiang Jian
603be06120 Merge branch 'fix/tls-size-esp32c2_esp32c3_esp32h2_v4.4' into 'release/v4.4'
esp_system: Fix esp32c2/esp32c3/esp32h2 TLS size

See merge request espressif/esp-idf!18810
2022-07-08 11:14:34 +08:00
Mahavir Jain
5ebc86354a freertos: Fix issue with bootup failure in ESP_MAIN_TASK_AFFINITY_CPU1 config
Idle tick hook that indicates completion of scheduler init must be launched
on other core than the one where main task runs. Earlier it was assumed that
main task shall always run on PRO cpu but that behavior can be changed with
ESP_MAIN_TASK_AFFINITY_CPU1 and hence this fix.

Closes https://github.com/espressif/esp-idf/issues/9247
Closes IDFGH-7705
2022-07-08 08:36:19 +05:30
jincheng
875915a822 fix the issue of functions not defined when enable memory debug 2022-07-08 11:03:07 +08:00
xiewenxiang
fe1fb25078 doc(bt): Add description for de-initialize bt controller 2022-07-08 11:02:01 +08:00
liqigan
7b305f9f56 fix wrong params of get_report_by_id_and_type in bt_hidd.c 2022-07-08 10:11:17 +08:00
Jiang Jiang Jian
f84d5de899 Merge branch 'docs/improve_docs_for_flash_power_down_backport_v4.4' into 'release/v4.4'
docs: improve docs about flash power-down(backport v4.4)

See merge request espressif/esp-idf!18910
2022-07-07 14:01:39 +08:00
jingli
3e2aa8e97b improve docs about flash power-down 2022-07-07 11:30:51 +08:00
Jiang Jiang Jian
afc6f7f932 Merge branch 'docs/update_wifi_api_doc_v4.4' into 'release/v4.4'
DOC: update wifi api docs ( backport v4.4)

See merge request espressif/esp-idf!18076
2022-07-07 10:57:36 +08:00
Jiang Jiang Jian
f68d61d5f4 Merge branch 'bugfix/lower_a2dp_appT_prio_v4.4' into 'release/v4.4'
bugfix/lower the priority of application task of a2dp demo (v4.4)

See merge request espressif/esp-idf!18819
2022-07-07 10:56:20 +08:00
Jiang Jiang Jian
6e63caa4fa Merge branch 'bugfix/resolve_redefinition_in_spp_and_hid_v4.4' into 'release/v4.4'
bugfix/resolve redefinition in btc_spp.h and btc_hd.h/btc_hh.h (v4.4)

See merge request espressif/esp-idf!18824
2022-07-07 10:56:04 +08:00
Jiang Jiang Jian
ed7d2d3f0d Merge branch 'bugfix/fix_ble_ke_mem_c_assert_on_c3_s3_v4.4' into 'release/v4.4'
Fixed BLE ke_mem.c assert for v4.4

See merge request espressif/esp-idf!18878
2022-07-07 10:55:49 +08:00
Jiang Jiang Jian
eaf6f3c2cd 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!18903
2022-07-07 10:54:08 +08:00
zhiweijian@espressif.com
363b8b2973 Fixed bluedroid host memory overflow 2022-07-06 21:21:30 +08:00
Jiang Jiang Jian
d949df8dcb Merge branch 'bugfix/ext_adv_param_check_v4.4' into 'release/v4.4'
Bluedroid: fix channel map of ext adv params check for v4.4

See merge request espressif/esp-idf!18890
2022-07-06 17:21:27 +08:00
Jiang Jiang Jian
bdaeab5de7 Merge branch 'bugfix/xtensa_sol_frame_saves_extra_registers_v4.4' into 'release/v4.4'
freertos: Xtensa solicited stack frame should save threadptr register (v4.4)

See merge request espressif/esp-idf!18853
2022-07-06 17:19:32 +08:00
Jiang Jiang Jian
8546527213 Merge branch 'bugfix/restore_edr_en_and_protect_for_vhci_env_v4.4' into 'release/v4.4'
bugfix/restore edr_en and add protect for vhci_env (v4.4)

See merge request espressif/esp-idf!18811
2022-07-06 17:15:54 +08:00
Jiang Jiang Jian
a3f72a9310 Merge branch 'feature/esp_docs_1.0.0_v4.4' into 'release/v4.4'
docs: update esp-docs to 1.0.0  (v4.4)

See merge request espressif/esp-idf!18210
2022-07-06 17:14:03 +08:00
chenjianhua
9113f72078 Bluedroid: fix channel map of ext adv params check 2022-07-05 19:44:12 +08:00
zwj
3e6cc4892b fix BLE ke_mem.c assert 2022-07-05 16:12:57 +08:00
Marius Vikhammer
90e58c3721 docs: fix all doxygen warnings
Doxygen warnings would previously not result in a failed pipeline.
Fixed this as well as all current warnings.
2022-07-05 11:14:40 +08:00
Jiang Jiang Jian
690f802b1c Merge branch 'bugfix/not_use_malloc_in_bluedroid_v4.4' into 'release/v4.4'
component/bt: use osi_malloc instead of malloc in bluedroid

See merge request espressif/esp-idf!18843
2022-07-04 20:05:46 +08:00
Jiang Jiang Jian
977a040301 Merge branch 'bugfix/fix_sink_wrong_sniff_params_v4.4' into 'release/v4.4'
Fix A2DP Sink Wrong Sniff Parameters which Caused by HID Porting[backport 4.4]

See merge request espressif/esp-idf!18801
2022-07-04 19:57:53 +08:00
Darian Leung
c26d2ad132 freertos: Xtensa FreeRTOS saves threadptr in solicited stack frame
The Xtensa FreeRTOS port does not save the threadptr register when
doing a voluntary yield. This can result in a crash when multiple
tasks used the threadptr register and call "taskYIELD()".

This commit adds the threadptr register to the solicited stack frame.
2022-07-04 18:27:57 +08:00
baohongde
65ed4b5339 component/bt: use osi_malloc instead of malloc in bluedroid 2022-07-04 16:10:25 +08:00
Marius Vikhammer
e07d16d6a3 docs: update linkcheck configs
linkcheck CI job can now pass, no longer necessary to ignore the results from it.
2022-07-04 11:05:49 +08:00
Marius Vikhammer
27cd55dca1 docs: fix broken links 2022-07-04 11:05:49 +08:00
Marius Vikhammer
2ad49d47eb docs: fix indention in dac code snippet 2022-07-04 11:05:49 +08:00
Marius Vikhammer
116eda0bd2 CI: update esp-idf-doc-env docker image version 2022-07-04 11:05:49 +08:00
Marius Vikhammer
389cef7739 docs: update esp-docs 1.0.0
Update esp-docs to 1.0.0 and fix new warnings introduced from update
2022-07-04 11:05:49 +08:00
jincheng
f3917d1706 restore edr_en which wrongly cleared by rsw
add critical protection for vhci_env_p->vhci_intr_st
ignore max_page when handle remote features
2022-07-01 19:28:36 +08:00
jincheng
59b50180a0 resolve redefinition in btc_spp.h and btc_hd.h/btc_hh.h
Closes https://github.com/espressif/esp-idf/issues/9199
2022-07-01 19:21:37 +08:00
Alexey Lapshin
09289fe451 esp_system: Fix esp32c2/esp32c3/esp32h2 TLS size
The change fixes thread-local-storage size by removing .srodata section
from it. It initially was included in TLS section by mistake.
The issue was found when stack size increased after building applications
with GCC-11.1 compiler. Stack size became bigger because some new data
appeared in .srodata. See more details here:
adce62f53d
2022-07-01 15:19:21 +04:00
jincheng
9de7886528 lower the priority of application task of a2dp demo 2022-07-01 19:08:47 +08:00
zhangyanjiao
53c186af26 esp_wifi: backport some wifi fix
1.Update wifi doc for espnow/LR/fix rate/disable 11b/multiple antennas
2.Optimization example of wifi station
3.Optimize the null pointer judgment of eb
4.Bugfix for close sniffer mode when wifi stop
5.Fix deep sleep can't reconnect to ap when pmf enable.
6.Fix some ap will ignore auth when rx deauth for a while.
7.Fixed espnow recv unencrypted packets issue
8.Fix not update phy according to country code.
9.Update regdomain max channel according to country info from nvs and or AP.
10.Channel 14 is allowed only 11b mode.
11.Remove csa when switch channel from/to 14 channel.
12.Update phy mode nvs when softap channel from 14 to other.
13.Fix the bug that check whether channel parameter is valid.
2022-07-01 17:39:53 +08:00
xueyunfei
d9a278827c optimize the null pointer judgment of eb 2022-07-01 17:39:53 +08:00
xueyunfei
be5b89d217 wifi example:optimization example of wifi station 2022-07-01 17:39:53 +08:00
Dai Zi Yan
ea13b4ed8b Apply 1 suggestion(s) to 1 file(s) 2022-07-01 17:39:53 +08:00
Krzysztof Budzynski
2db401a737 Apply 1 suggestion(s) to 1 file(s) 2022-07-01 17:39:53 +08:00
Marius Vikhammer
db85519413 Apply 2 suggestions by Marius Vikhammer 2022-07-01 17:39:53 +08:00
muhaidong
795c4a4b2a docs: update wifi multiple antennas docs 2022-07-01 17:39:53 +08:00
Jack Farley
15845ff47b DOC:Correct IP_EVENT_STA_LOST_IP name
Fix the name of the IP_EVENT_STA_LOST_IP event (was IP_STA_LOST_IP)

Signed-off-by: xueyunfei <xueyunfei@espressif.com>

Closes https://github.com/espressif/esp-idf/pull/8347
2022-07-01 17:39:53 +08:00
Jessy Chen
31035183da esp_wifi: update esp_wifi_internal_set_fix_rate usage 2022-07-01 17:39:53 +08:00
Jessy Chen
29432233f8 esp_wifi: update noise floor unit 2022-07-01 17:39:53 +08:00
xueyunfei
05770a1f52 Doc:update wifi api docs
* Add documents related to espnow config rate

* Optimization set dns server api description
2022-07-01 17:39:53 +08:00
zhangyanjiao
e04b4d9b81 modify API-reference using Sphinx directives 2022-07-01 17:39:53 +08:00
zhangyanjiao
254ec47ae4 update wifi api docs 2022-07-01 17:39:53 +08:00
Jiang Jiang Jian
c9140caf8c Merge branch 'bugfix/no_proxy_beacon_send_after_deinit_v4.4' into 'release/v4.4'
ble_mesh: stack: Bugfix for proxy beacon send after reinit mesh(v4.4)

See merge request espressif/esp-idf!18791
2022-07-01 17:17:39 +08:00
Jiang Jiang Jian
9616ef8ee8 Merge branch 'bugfix/wifi_condition_linker_mapping_v4.4' into 'release/v4.4'
esp_wifi: Fix linking of WiFi functions dependent on PM_ENABLE (v4.4)

See merge request espressif/esp-idf!18796
2022-07-01 17:17:21 +08:00
liqigan
4f598d2ec3 fix sink wrong sniff params which caused by HID porting 2022-07-01 14:49:54 +08:00
Jiang Jiang Jian
597ff180d8 Merge branch 'bugfix/fix_stale_pmf_config_v4.4' into 'release/v4.4'
Fix stale PMF config in NVS issue (Backport v4.4)

See merge request espressif/esp-idf!18662
2022-07-01 13:54:42 +08:00
Darian Leung
41b9e66082 wifi: Fix linking of WiFi functions dependent on PM_ENABLE
The following functions are only defined when CONFIG_PM_ENABLE is defined:

- wifi_apb80m_request()
- wifi_apb80m_release()

This commit makes their linker script mapping statements also dependent on CONFIG_PM_ENABLE
thus fixing some linker errors when CONFIG_PM_ENABLE is disabled.
2022-07-01 12:29:35 +08:00
wangjialiang
23e482feeb ble_mesh: stack: Bugfix for proxy beacon send after reinit mesh 2022-07-01 11:42:07 +08:00
Jiang Jiang Jian
69951819a0 Merge branch 'bugfix/s3_increase_static_alloc_size_v4.4' into 'release/v4.4'
bootloader, esp_system: increase static allocation space for esp32s3 (v4.4)

See merge request espressif/esp-idf!18685
2022-07-01 10:54:25 +08:00
Jiang Jiang Jian
b9e018aa53 Merge branch 'bugfix/ledc_auto_clk_refactor_v4.4' into 'release/v4.4'
LEDC: improved support for ESP32-C3 and refactored divisor calculation (v4.4)

See merge request espressif/esp-idf!17101
2022-07-01 10:52:00 +08:00
Jiang Jiang Jian
cb012683ff Merge branch 'bugfix/spiffs_readdir_errno_v4.4_2' into 'release/v4.4'
spiffs: update submodule to fix SPIFFS_readdir errno issue (v4.4)

See merge request espressif/esp-idf!18637
2022-07-01 10:51:45 +08:00
Jiang Jiang Jian
1bd2e3f9df Merge branch 'feature/s3_ulp_support_v4.4' into 'release/v4.4'
ulp: Added ULP support for  esp32s3 (v4.4)

See merge request espressif/esp-idf!18621
2022-07-01 10:51:18 +08:00
Jiang Jiang Jian
d28dc7f49b Merge branch 'bugfix/idf_as_lib_cmakelists' into 'release/v4.4'
Build: fix idf_as_lib example and toolchain CMake files (v4.4)

See merge request espressif/esp-idf!18589
2022-07-01 10:44:30 +08:00
Jiang Jiang Jian
cd2f38a7bb Merge branch 'feature/efuse_rst_is_treated_as_poweron_rst_v4.4' into 'release/v4.4'
reset_reasons: EFUSE_RST is treated as POWERON_RST + checks errors of eFuse BLOCK0 (v4.4)

See merge request espressif/esp-idf!17871
2022-07-01 10:43:40 +08:00
Jiang Jiang Jian
e8c7364fa3 Merge branch 'bugfix/mbedtls_free_keypair_v4.4' into 'release/v4.4'
Nimble: Fixed memory leak while generating keypair using embedtls v4.4

See merge request espressif/esp-idf!18775
2022-07-01 10:43:19 +08:00
Jiang Jiang Jian
f768b809bb Merge branch 'bugfix/fix_deinit_init_connect_fail_issue_v4.4' into 'release/v4.4'
esp_wifi: clear phy calibrated flag when phy pd memory deinit(Backport v4.4)

See merge request espressif/esp-idf!18777
2022-07-01 10:42:57 +08:00
muhaidong
52c78344c1 esp_wifi: clear phy calibrated flag when phy pd memory deinit 2022-06-30 17:12:05 +08:00
Jiang Jiang Jian
5c33bb8ae2 Merge branch 'bugfix/fix_blufi_example_softap_current_connection_equal_zero_issue_v4.4' into 'release/v4.4'
bluetooth: fix two blufi example bugs(Backport v4.4)

See merge request espressif/esp-idf!18772
2022-06-30 17:01:47 +08:00
Nachiket Kukade
279638a39b esp_wifi: Update wifi lib
Fix issue where set_config API uses stale NVS config if PMF disable
API was used before
2022-06-30 14:28:32 +05:30
Jiang Jiang Jian
d5ed8f9db6 Merge branch 'feat/revert_touch_s3_v4.4' into 'release/v4.4'
touch: Added support for using touch in sleep modes back on ESP32-S3 (v4.4)

See merge request espressif/esp-idf!18691
2022-06-30 16:55:23 +08:00
Jiang Jiang Jian
0a8fc491c7 Merge branch 'bugfix/a2dp_source_not_stop_discovery_correctly_v4.4' into 'release/v4.4'
bugfix/avoid wrongly restart discovery in a2dp_source (v4.4)

See merge request espressif/esp-idf!18710
2022-06-30 16:54:52 +08:00
Jiang Jiang Jian
7804d1c4db Merge branch 'bugfix/esp32s2_startup_garbled_output_v4.4' into 'release/v4.4'
esp_system: fix garbled UART output on startup on esp32s2 (v4.4)

See merge request espressif/esp-idf!18750
2022-06-30 16:52:11 +08:00
Rahul Tank
ec6155dff1 Nimble: Fixed memory leak while generating keypair using embedtls 2022-06-30 14:21:54 +05:30
Jiang Jiang Jian
e4e49783db Merge branch 'bugfix/enable_gcmp_gmac_192bit_v4.4' into 'release/v4.4'
esp_example: Enable GCMP, GMAC for 192 bit config example by default(backport v4.4)

See merge request espressif/esp-idf!18681
2022-06-30 16:51:46 +08:00
Jiang Jiang Jian
f015bcdaed Merge branch 'bugfix/a_small_fix_for_multi_heap_backport_v4.4' into 'release/v4.4'
Heap: fix param passed to assert_valid_block, should be block not ptr(backport v4.4)

See merge request espressif/esp-idf!18673
2022-06-30 16:51:28 +08:00
Jiang Jiang Jian
d1ae2b8ffd Merge branch 'bugfix/app_trace_iram_v4.4' into 'release/v4.4'
apptrace: move all apptrace related functions to IRAM (v4.4)

See merge request espressif/esp-idf!18728
2022-06-30 16:50:55 +08:00
Jiang Jiang Jian
7c28a05c69 Merge branch 'bugfix/configure_link_encryption_for_charac_v4.4' into 'release/v4.4'
WifiProv: Add configuration support for forcing link encryption (v4.4)

See merge request espressif/esp-idf!18660
2022-06-30 16:49:26 +08:00
Jiang Jiang Jian
55773f878d Merge branch 'bugfix/mbedtls_custom_cert_ut_v4.4' into 'release/v4.4'
ci: Fix `custom certificate bundle` UT failure for S3 (v4.4)

See merge request espressif/esp-idf!18658
2022-06-30 16:48:45 +08:00
Jiang Jiang Jian
46cff3cd1c Merge branch 'feature/add_filter_seq_auth_config_v4.4' into 'release/v4.4'
ble_mesh: stack: Add filter old seq_auth packet menuconfig(v4.4)

See merge request espressif/esp-idf!18649
2022-06-30 16:48:01 +08:00
Jiang Jiang Jian
54e01833be Merge branch 'bugfix/fix_wss_server_example_v4.4' into 'release/v4.4'
fix(example): Fix wss_server_example not close socket (backport v4.4)

See merge request espressif/esp-idf!18602
2022-06-30 16:47:24 +08:00
Jiang Jiang Jian
d76d3580c6 Merge branch 'wifi_prov_mgr/wpa3_psk_v4.4' into 'release/v4.4'
wifi_prov: Added support for WPA3_PSK and WPA2_WPA3_PSK APs (v4.4)

See merge request espressif/esp-idf!18601
2022-06-30 16:46:53 +08:00
Jiang Jiang Jian
93d8cf3eb6 Merge branch 'bugfix/sync_host_nocp_cmd_v4.4' into 'release/v4.4'
Nimble: Sync sending Host Number of Completed Packets command

See merge request espressif/esp-idf!18607
2022-06-30 16:39:58 +08:00
Jiang Jiang Jian
1b17711caa Merge branch 'bugfix/dirent-definition_v4.4' into 'release/v4.4'
newlib: dirent d_ino type fix (v4.4)

See merge request espressif/esp-idf!18611
2022-06-30 16:39:39 +08:00
Jiang Jiang Jian
d27d10ae16 Merge branch 'tools/update_cmake_v4.4' into 'release/v4.4'
tools: Update CMake (v4.4)

See merge request espressif/esp-idf!18606
2022-06-30 16:37:48 +08:00
Jiang Jiang Jian
b784b1c239 Merge branch 'feature/update_hfp_ag_version_v4.4' into 'release/v4.4'
component_bt: update hfp_ag version to 1.7.2(v4.4)

See merge request espressif/esp-idf!18603
2022-06-30 16:37:14 +08:00
Jiang Jiang Jian
e8ea685214 Merge branch 'bugfix/sap_mode_change_crash_issue_v4.4' into 'release/v4.4'
Fixes for SAP mode change and PMF issues (Backport v4.4)

See merge request espressif/esp-idf!18590
2022-06-30 16:33:58 +08:00
muhaidong
8827fc28a0 bluetooth: fix two blufi example bugs
1. Softap mode do not assign ip
2. SotAp current connection always show 0
2022-06-30 15:06:53 +08:00
Ivan Grokhotkov
74e9376022 esp_system: fix garbled UART output on startup on esp32s2
Closes https://github.com/espressif/esp-idf/issues/9168
2022-06-29 12:33:05 +02:00
Marius Vikhammer
3c358dd074 ulp: only enable relevant wakeup sources for ULP
Do not enable co-processor trap wakeup source when running ULP FSM, as this
could cause spurious wake-ups.
2022-06-29 11:57:05 +08:00
Sudeep Mohanty
a0e3d488da ulp: Added support for ULP FSM on esp32s3 and fixed bugs for esp32s2
This commit enables ULP FSM support for esp32s3 and updates ULP FSM code
flow for other chips.
It adds C Macro support for the ULP FSM instruction set on esp32s2 and
esp32s3.
The unit tests are also updated to test ULP FSM on ep32s2 and esp32s3.
2022-06-29 11:57:02 +08:00
intern
74d745a80b docs: update cn trans for upl docs 2022-06-29 11:56:59 +08:00
Marius Vikhammer
dafcb9a883 apptrace: move all apptrace related functions to IRAM
Closes: https://github.com/espressif/esp-idf/issues/9131
2022-06-29 10:17:48 +08:00
jincheng
66e52c60f5 avoid wrongly restart discovery 2022-06-28 13:03:44 +08:00
Sudeep Mohanty
886c2d742d docs: Updated ULP documentation
This commit updates documentation for ULP.
2022-06-28 12:09:33 +08:00
Marius Vikhammer
477844806e re-enable riscv ulp gpio support and examples 2022-06-27 17:17:06 +08:00
Michael (XIAO Xufeng)
d424b93192 Revert "touch: add protection for touch sleep case"
This reverts commit 974ac3b4b8.
2022-06-27 14:33:09 +08:00
Michael (XIAO Xufeng)
c3c802d9b8 Revert "touch_sensor: forbid from using touch sensor with sleep on ESP32-S3"
This reverts commit a84faa3cef.
2022-06-27 14:33:09 +08:00
Ivan Grokhotkov
6e6b9ec5a6 bootloader, esp_system: increase static allocation space for esp32s3
The previously used splits between memory allocated for ROM code,
2nd stage bootloader and the app were somewhat safe and conservative.
This resulted in some space being unavailable for static allocation
in the app.

This commit increases the space available for static allocation to the
maximum possible amount.

1. Some of the ROM code static allocation is only used in UART/USB/SPI
   download modes. This region ("shared buffers") has been placed at
   the lower end of ROM memory area, to be reusable in flash boot
   mode. The 2nd stage bootloader linker script is modified to "pack"
   all sections exactly up to the end but with roughly 8K margin between
   startup stacks.
2. Instead of calculating the sections placement and hardcoding the
   addresses in the LD script again, rewrite it to calculate the
   start address of each memory region automatically based on the
   logic above.
3. Adjust the app memory layout (SRAM_IRAM_END) accordingly,
   increasing the space available for static allocation.

Overall these changes increase the space available for static
allocation by about 78kB.

The downside of these changes is that the 2nd stage bootloader .data
segment is now directly adjacent to the startup stack on the PRO CPU.
Previously, there was effectively about 78kB of extra stack space for
the PRO CPU, before the stack would run into the data segment.
2022-06-27 09:22:01 +05:30
Kapil Gupta
5a58ab0d4a esp_example: Enable GCMP, GMAC for 192 bit config 2022-06-24 17:37:06 +05:30
jingli
41a0757bcc fix param passed to assert_valid_block, should be block not ptr 2022-06-23 21:43:53 +08:00
Rahul Tank
7a01fe7a71 WifiProv: Extended support for configuring if link encryption is needed
when attempting to read / write characteristic to bluedroid stack
2022-06-23 17:44:38 +05:30
Laukik Hase
9e2369cb79 ci: Enable custom certificate bundle test for ESP32-S3
- Increase leakage limit for `test performance RSA key operations`
  UT by 64 bytes
2022-06-23 16:32:26 +05:30
Laukik Hase
e114850dda mbedtls: Acquire lock before enabling MPI (RSA) hardware
- For ESP32-S3
2022-06-23 16:32:26 +05:30
wangjialiang
b82782f109 ble_mesh: stack: Add filter old seq_auth packet menuconfig 2022-06-23 16:17:20 +08:00
Martin Vychodil
1736fdf256 spiffs: update submodule to fix SPIFFS_readdir errno issue
See https://github.com/pellepl/spiffs/pull/288 for the description of the issue.
Reported in https://github.com/esp-rs/rust/issues/117#issuecomment-1142159661
2022-06-22 17:52:17 +02:00
KonstantinKondrashov
c563d799fe efuse: Checks errors of 4x coding scheme for BLOCK0 if so then abort 2022-06-22 17:16:26 +08:00
KonstantinKondrashov
dcc706280d reset_reasons: EFUSE_RST is treated as POWERON_RST
ESP32 does not have the EFUSE_RST, the rest chips has this reset reason.
2022-06-22 16:39:02 +08:00
gaoxu
afe3bfe19f SPI:fix spi slave example sender ccount issue
On riscv core, core cycle counter counts the clock cycles only when core is active (not sleeping).
In spi_slave/sender example, it uses ccount (core cycle counter) to do a simple debounce.
Therefore, when using spi_slave/sender and spi_slave/receiver, program will be stuck.
This commit fix this issue by using esp_timer
2022-06-22 15:06:29 +08:00
Sudeep Mohanty
b72f987c5c ulp: Added ULP RISC-V support for esp32s3
This commit adds support for ULP RISC-V for esp32s3.

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2022-06-22 13:33:14 +08:00
Scott Mabin
e6964819b4 newlib: dirent d_ino type fix
As per the posix spec, `d_ino` should be defined as `ino_t`. See the
reference:
http://pubs.opengroup.org/onlinepubs/7908799/xsh/dirent.h.html.
2022-06-21 14:40:13 +01:00
Rahul Tank
9ddf575e42 Nimble: Sync sending Host Number of Completed Packets command 2022-06-21 16:40:59 +05:30
Djordje Nedic
ddfc699abf tools: Update CMake
This updates CMake to the latest version (3.23).
There are no deprecations and feature removals that affect us going from the previous version:

https://cmake.org/cmake/help/latest/release/3.21.html#deprecated-and-removed-features

https://cmake.org/cmake/help/latest/release/3.22.html#deprecated-and-removed-features

https://cmake.org/cmake/help/latest/release/3.23.html#deprecated-and-removed-features

Closes https://github.com/espressif/esp-idf/issues/8821
2022-06-21 11:26:09 +02:00
xiongweichao
5020faf559 update hfp_ag version to 1.7.2 2022-06-21 14:41:19 +08:00
yuanjm
3169baa76d fix(example): Fix wss_server_example not close socket 2022-06-21 14:23:46 +08:00
Laukik Hase
279ab23244 wifi_prov: Added support for WPA3_PSK and WPA2_WPA3_PSK APs 2022-06-21 11:17:09 +05:30
Omar Chebib
d5664cd7e5 Build: Xtensa assembly files are now assembled with -mlongcalls option 2022-06-21 11:20:07 +08:00
Omar Chebib
d629502586 Build: fix idf_as_lib example not building 2022-06-21 11:17:39 +08:00
Omar Chebib
8e7ee9ff26 Build: CMake compiler flags will be set, regardless of the cache status
Defining CMake variables from the command-line or from another CMake project,
such as `-DCMAKE_C_FLAGS= -DCMAKE_CXX_FLAGS=`, caused a link failure as ESP
CMake was unable to set its proper compilation flags.
Additional CMake compiler flags can now be provided by another project.

* Closes https://github.com/espressif/esp-idf/issues/7507
2022-06-21 11:07:50 +08:00
Jiang Jiang Jian
6c5fb29c2c Merge branch 'bugfix/light_sleep_when_rtc_is_used_for_gettimeofday_v4.4' into 'release/v4.4'
esp_hw_support: Fix time spent in light sleep when RTC is used for gettimeofday (v4.4)

See merge request espressif/esp-idf!18413
2022-06-21 01:27:33 +08:00
Jiang Jiang Jian
3356aa38ed Merge branch 'feat/add_track_startup_time_to_startup_time_example_v4.4' into 'release/v4.4'
feat: Added tracking startup_time example startup times (v4.4)

See merge request espressif/esp-idf!18441
2022-06-21 01:16:58 +08:00
Jiang Jiang Jian
746df6107c Merge branch 'bugfix/bond_not_saved_for_pairing_again' into 'release/v4.4'
Bugfix/bond not saved properly after re-pairing

See merge request espressif/esp-idf!18235
2022-06-21 00:21:13 +08:00
Aleksei Apaseev
8a2c9cf47f feat: Added tracking startup_time example startup times 2022-06-20 16:20:00 +00:00
KonstantinKondrashov
b0a15716ee esp_hw_support: Fix time spent in light sleep when RTC is used for gettimeofday
The esp_timer was not advanced correctly.
2022-06-20 16:17:00 +00:00
Nachiket Kukade
586d9a2ef1 esp_wifi: Update wifi libs
Update wifi libs with below fixes -
1. Fix issues caused during SoftAP mode change
2. Error handling and cleanup related to STA PMF
2022-06-20 10:09:45 +00:00
Jiang Jiang Jian
582f9548d6 Merge branch 'nvs/remove_asserts_v4.4' into 'release/v4.4'
change: NVS assertions as runtime errorcodes (v4.4)

See merge request espressif/esp-idf!18460
2022-06-20 16:50:36 +08:00
Jiang Jiang Jian
b085cd2821 Merge branch 'refactor/improve_flash_power_down_logic_backport_v4.4' into 'release/v4.4'
system/sleep: improve flash power down logic(backport v4.4)

See merge request espressif/esp-idf!18587
2022-06-20 15:36:46 +08:00
Jiang Jiang Jian
d273837a51 Merge branch 'feature/modbus_update_for_other_targets_v44' into 'release/v4.4'
modbus: update to support other targets (Backport v4.4)

See merge request espressif/esp-idf!17385
2022-06-20 15:34:06 +08:00
Alex Lisitsyn
76bde2df72 modbus: update to support other targets (Backport v4.4) 2022-06-20 15:34:06 +08:00
jingli
4cc873dfd9 improve flash power down logic 2022-06-20 11:32:20 +08:00
Jiang Jiang Jian
076c6764d9 Merge branch 'bugfix/update_gpio_intr_enable_note_v4.4' into 'release/v4.4'
Update the note of the gpio_intr_enable function(v4.4)

See merge request espressif/esp-idf!18541
2022-06-20 01:24:50 +08:00
Jiang Jiang Jian
a77509a140 Merge branch 'feature/btdm_add_link_role_param_for_gatt_disconnection_event_v4.4' into 'release/v4.4'
component/bt: add link role param for gatt disconnection event(backport v4.4)

See merge request espressif/esp-idf!15948
2022-06-20 00:42:33 +08:00
Jiang Jiang Jian
439c808555 Merge branch 'bugfix/avdtp_genreal_reject_format_error_v4.4' into 'release/v4.4'
component_bt: Fix AVDTP general reject format error(v4.4)

See merge request espressif/esp-idf!18556
2022-06-20 00:09:01 +08:00
Jiang Jiang Jian
57dcaf6ee7 Merge branch 'bugfix/adds_iram_attr_for_efuse_apis_v4.4' into 'release/v4.4'
bootloader_efuse: Adds IRAM_ATTR for efuse API (v4.4)

See merge request espressif/esp-idf!18561
2022-06-20 00:08:43 +08:00
Jiang Jiang Jian
4d0fe48431 Merge branch 'bugfix/enterprise_certs_ca_expired_v4.4' into 'release/v4.4'
esp_wifi: Fix issue of ca certificate expired

See merge request espressif/esp-idf!18519
2022-06-20 00:01:20 +08:00
Jiang Jiang Jian
b7d5e8160f Merge branch 'bugfix/fix_some_memory_leak_in_phy_v4.4' into 'release/v4.4'
Bugfix/fix some memory leak in phy v4.4

See merge request espressif/esp-idf!18551
2022-06-19 23:50:54 +08:00
Jiang Jiang Jian
1133b0ef10 Merge branch 'bugfix/touch_wait_circle_after_wakeup_from_sleep_on_s3_v4.4' into 'release/v4.4'
touch: fix the touch sensor wait cycle on s3 (v4.4)

See merge request espressif/esp-idf!17424
2022-06-19 22:49:08 +08:00
Jiang Jiang Jian
646b52f26e Merge branch 'bugfix/uart_isr_followup' into 'release/v4.4'
UART: Fix custom ISR registration function

See merge request espressif/esp-idf!17359
2022-06-19 22:48:17 +08:00
xiewenxiang
3176c707da component/bt: add link role param for gatt disconnection event(backport v4.4) 2022-06-19 14:41:55 +00:00
Jiang Jiang Jian
469e2e540b Merge branch 'feature/adds_check_32k_xtal_stopped_v4.4' into 'release/v4.4'
esp_hw_support: Adds a msg when 32k xtal was stopped (v4.4)

See merge request espressif/esp-idf!18411
2022-06-19 22:41:20 +08:00
Jiang Jiang Jian
93bf6be8bd Merge branch 'bugfix/ipc_blocking_v4.4' into 'release/v4.4'
esp_ipc: Fix a case when ipc_task() can wake up blocking task early (v4.4)

See merge request espressif/esp-idf!18415
2022-06-19 22:39:54 +08:00
Jiang Jiang Jian
44976afe6f Merge branch 'bugfix/fatfs_mtime_dst_v4.4' into 'release/v4.4'
fatfs: fix incorrect mtime returned for files created during DST (v4.4)

See merge request espressif/esp-idf!18458
2022-06-19 22:36:25 +08:00
Matus Fabo
ac4d9888e0 add: Kconfig assert or errorcode option
add: private include header
add: macro encapsulation for assertion or error check
add: ESP_FAIL return code documentation in public headers
change: replaced all assertions by NVS_ASSERT_OR_RETURN macro
change: few internal function return values from void to esp_err_t
change: ESP_ERR_NVS_VALUE_TOO_LONG macro comment
2022-06-19 14:35:42 +00:00
aditi_lonkar
08c30b1c32 esp_wifi: Fix issue of ca certificate expired 2022-06-19 14:35:23 +00:00
xiongweichao
dc0650503b Update the note of the gpio_intr_enable function 2022-06-19 14:33:13 +00:00
Jack
09b8af7398 fix the bug that some memory leaked in phy after wifi/ble deinit 2022-06-19 14:33:00 +00:00
Jack
af493beb76 deinit BB MAC back memory when they are not used 2022-06-19 14:33:00 +00:00
xiongweichao
8164030575 Fix AVDTP general reject format error. 2022-06-19 14:32:43 +00:00
KonstantinKondrashov
c9bec434aa bootloader_efuse: Adds IRAM_ATTR for efuse API
Fixes startup of app for case:
bootloader with 40Mhz and app with 80Mhz (ESPTOOLPY_FLASHFREQ)

Closes https://github.com/espressif/esp-idf/issues/9156
2022-06-19 14:32:15 +00:00
Roland Dobai
f68ef7f325 Merge branch 'tools/csv_handling_overhaul_v4.4' into 'release/v4.4'
tools: Overhaul csv handling for mfg_gen and nvs_partition_gen (v4.4)

See merge request espressif/esp-idf!18567
2022-06-18 01:23:45 +08:00
Djordje Nedic
367dff055d tools: overhaul csv handling for mfg_gen and nvs_partition_gen
This fixes the issue where multiline strings and strings with delimiters inside the nvs input csv file were incorrectly parsed, and adds back the ability to add comment lines anywhere in the CSV file.

The issue stems from the move away from the python built in csv module to manual parsing, which was made after moving away from using the csv module to parse mfg data.

This reverts back to using the csv module for parsing and writing csv data in both mfg_gen and nvs_partition_gen, fixes the original issue in mfg_gen and improves code quality which makes the code more readable and maintainable.

Closes https://github.com/espressif/esp-idf/issues/7175
2022-06-17 13:50:09 +00:00
Mahavir Jain
8062994960 Merge branch 'prov/update_protobuf_files' into 'release/v4.4'
provisioning: Updated proto auto-generated files for custom_config example

See merge request espressif/esp-idf!18569
2022-06-17 21:45:57 +08:00
Laukik Hase
b3c2a8c467 provisioning: Updated proto auto-generated files for custom_config example 2022-06-17 15:08:20 +05:30
Mahavir Jain
0391a7e9d0 Merge branch 'bugfix/fix_ws_ping_receive_v4.4' into 'release/v4.4'
fix(websocket): Support handler deal with PING and CLOSE frame (backport v4.4)

See merge request espressif/esp-idf!18529
2022-06-17 14:11:39 +08:00
Mahavir Jain
d02995240d Merge branch 'fix/gitlab_404_local_mirror_v4.4' into 'release/v4.4'
Handle gitlab 404 error (v4.4)

See merge request espressif/esp-idf!16958
2022-06-16 15:59:59 +08:00
yuanjm
1bd2145d6b ci: Add PING test for ci 2022-06-16 05:39:19 +00:00
yuanjm
7db0dcf72b fix(websocket): Support handler deal with PING and CLOSE frame 2022-06-16 05:39:19 +00:00
Tomas Sebestik
a0b227cf85 Handle gitlab 404 error
ci: do not retry on 404 when LOCAL_GITLAB_HTTPS_HOST not set
2022-06-16 05:38:46 +00:00
Roland Dobai
70c1ea2092 Merge branch 'bugfix/spiffs_flake8_check_v4.4' into 'release/v4.4'
ci: exclude spiffs submodule from flake8 checks (v4.4)

See merge request espressif/esp-idf!18535
2022-06-16 13:37:17 +08:00
Ivan Grokhotkov
1638cf47e4 ci: exclude spiffs submodule from flake8 checks 2022-06-16 07:23:24 +02:00
Jiang Jiang Jian
71c176d587 Merge branch 'bugfix/freertos_stack_tcb_alloc_order_v4.4' into 'release/v4.4'
freertos: fix allocation order for stack and TCB per portSTACK_GROWTH (v4.4)

See merge request espressif/esp-idf!18455
2022-06-15 10:55:51 +08:00
Jiang Jiang Jian
b38ba40d4b Merge branch 'bugfix/psram_startup_crash_v4.4' into 'release/v4.4'
psram: Fix startup crash when `CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=0` (v4.4)

See merge request espressif/esp-idf!18500
2022-06-15 10:54:53 +08:00
Jiang Jiang Jian
1081d9ef7f Merge branch 'bugfix/spi_bus_flag_check_v4.4' into 'release/v4.4'
driver(spi): fix flag check in bus initialization (v4.4)

See merge request espressif/esp-idf!18463
2022-06-15 10:54:25 +08:00
Jiang Jiang Jian
c1ee8ceda8 Merge branch 'bugfix/esp_crt_bundle_build_issue_v4.4' into 'release/v4.4'
esp_crt_bundle: Fix build problems if MBEDTLS_CERTIFICATE_BUNDLE is disabled (v4.4)

See merge request espressif/esp-idf!18464
2022-06-15 10:53:46 +08:00
Jiang Jiang Jian
9fbdb65ac3 Merge branch 'docs/update_pairing_popup_troubleshoot_v4.4' into 'release/v4.4'
docs: Added a subsection for FAQ regarding paring pop up during provisioning (v4.4)

See merge request espressif/esp-idf!18497
2022-06-15 10:53:20 +08:00
Jiang Jiang Jian
65c85e34b1 Merge branch 'bugfix/cpu_cycle_count_not_iram_v4.4' into 'release/v4.4'
HAL: place cpu_ll_get_cycle_count in IRAM (v4.4)

See merge request espressif/esp-idf!18293
2022-06-15 10:52:48 +08:00
Jiang Jiang Jian
aa95c6545b Merge branch 'fix/usb/buffer_sizes_backport_v4.4' into 'release/v4.4'
usb: TinyUSB buffer sizes (backport v4.4)

See merge request espressif/esp-idf!18502
2022-06-15 10:51:27 +08:00
Jiang Jiang Jian
4aada814cc Merge branch 'feature/remove_back_compatible_with_s3beta_rom_v4.4' into 'release/v4.4'
spi_flash: remove back-compatible with caller function of S3Beta ROM(backport v4.4)

See merge request espressif/esp-idf!18504
2022-06-15 10:50:53 +08:00
Jiang Jiang Jian
08643e5184 Merge branch 'bugfix/rmt_register_file' into 'release/v4.4'
rmt: fix error in rmt register file (v4.4)

See merge request espressif/esp-idf!18511
2022-06-15 10:50:34 +08:00
Jiang Jiang Jian
4908c4e27d Merge branch 'bugfix/eap_method_selection_release_v4.4' into 'release/v4.4'
esp_wifi: Fix the negotiation of method with eap server.

See merge request espressif/esp-idf!18507
2022-06-15 10:50:03 +08:00
Jiang Jiang Jian
18c02b7a24 Merge branch 'bugfix/wlan_fixes_backports' into 'release/v4.4'
esp_wifi: Backport some WLAN fixes(v4.4)

See merge request espressif/esp-idf!18495
2022-06-15 10:48:51 +08:00
morris
1ba0bf31b6 rmt: fix error in rmt register file
Closes https://github.com/espressif/esp-idf/issues/9100
2022-06-14 22:10:00 +08:00
jiangguangming
7706cc8daf spi_flash: remove back-compatible with caller function of S3Beta ROM 2022-06-14 19:30:59 +08:00
Tomas Rezucha
3806e36807 usb: Fixed RX buffer min size 2022-06-14 12:49:42 +02:00
morris
2b001daa78 Merge branch 'docs/i2c_thread_safety_backport_v4.4' into 'release/v4.4'
docs: Fix I2C thread-safety (backport v4.4)

See merge request espressif/esp-idf!18186
2022-06-14 18:45:07 +08:00
Hrudaynath Dhabe
7543b94b38 esp_wifi: Fix the negotiation of method with eap server. 2022-06-14 15:10:14 +05:30
Kapil Gupta
d7b5381fd2 esp_wifi: Remove group cipher check for PMF connection 2022-06-14 14:49:51 +05:30
Kapil Gupta
9fb3ad9946 wpa_supplicant: Unicast key renew in TKIP mic failure
Currently we always request group key renew for during
TKIP mic failure. Add support for unicast/multicast
key renew as per packet.
2022-06-14 14:49:51 +05:30
Kapil Gupta
f05d741c03 esp_wifi: Add APIs to check BTM and RRM support of connected AP 2022-06-14 14:49:51 +05:30
Kapil Gupta
972aa9a9a9 esp_wifi: Changes to not use pmkid caching when SSID is changed 2022-06-14 14:49:51 +05:30
Kapil Gupta
e4df46011c wpa_supplicant: Fix issues reported by coverity 2022-06-14 14:49:51 +05:30
Jiang Jiang Jian
a40641e3b1 Merge branch 'bugfix/wifi_backport_v4.4_0613' into 'release/v4.4'
esp_wifi: backport some wifi fix(v4.4)

See merge request espressif/esp-idf!18486
2022-06-14 17:12:26 +08:00
Laukik Hase
ed439cc7f3 freertos: Indicate completed initialization for APP CPU with idle task hook
Co-authored-by: Mahavir Jain <mahavir@espressif.com>
2022-06-14 14:19:01 +05:30
Jiang Jiang Jian
288929eb3a Merge branch 'bugfix/fix_ble_ext_adv_parameter_detection_v4.4' into 'release/v4.4'
component/bt: check the ble ext adv parameters (backport release/v4.4)

See merge request espressif/esp-idf!18489
2022-06-14 16:35:25 +08:00
Rahul Tank
8ad4039cc4 docs: Added a subsection for FAQ regarding paring pop up during provisioning 2022-06-14 11:26:16 +05:30
xiewenxiang
49baddf113 component/bt: check the ble ext adv parameters 2022-06-14 11:30:13 +08:00
Jiang Jiang Jian
6bbdcbef1e Merge branch 'bugfix/pm_enabled_bt_build_fail_v4.4' into 'release/v4.4'
Bluetooth build fail when power management is enabled(v4.4)

See merge request espressif/esp-idf!18375
2022-06-14 11:22:40 +08:00
Jiang Jiang Jian
6297fa4039 Merge branch 'feature/vfs_spiffs_(f)truncate_support_v4.4' into 'release/v4.4'
spiffs: Add vfs (f)truncate api support (v4.4)

See merge request espressif/esp-idf!17968
2022-06-14 11:22:08 +08:00
chenjianxing
e88621532e esp_wifi: backport some wifi fix
1. add ht40 support for espnow & 80211_tx
2. fix smartconfig v2 bssid is zero issue
3. Optimize phy calibration time for C3 and S3
2022-06-14 10:57:47 +08:00
Mahavir Jain
3e93a8c15f test_apps: add build only test for !MBEDTLS_CERTIFICATE_BUNDLE 2022-06-12 09:31:37 +05:30
Mahavir Jain
a597cc80aa examples: add dependency on cert bundle configuration
Refactor examples to build with MBEDTLS_CERTIFICATE_BUNDLE disabled. Only examples
that can work with certificate bundle disabled have been modified here.
2022-06-12 09:30:31 +05:30
Mahavir Jain
660b876465 esp_crt_bundle: Fix build problems if MBEDTLS_CERTIFICATE_BUNDLE is disabled
Exclude source and include file from build list if certificate bundle feature
is disabled.

Closes https://github.com/espressif/esp-idf/issues/8714
Closes IDFGH-7106
2022-06-12 09:29:12 +05:30
Mahavir Jain
cb0275cb8f Merge branch 'bugfix/esp_http_client_test_v4.4' into 'release/v4.4'
esp_http_client example: Fix CI failures (v4.4)

See merge request espressif/esp-idf!18466
2022-06-12 03:52:54 +08:00
Aditya Patwardhan
384ea8123b https_request_example:
Use local python server to test client session tickets
Update example test to test the client session tickets
Check for minimum heap info in the example test.
2022-06-11 12:19:08 +05:30
Shubham Kulkarni
68ee89eac9 esp_http_client_test.py: Remove check for HTTP manual redirect
Manual redirect example is not backported on release/v4.4
2022-06-11 12:12:29 +05:30
Mahavir Jain
f41a8df4cc Merge branch 'feature/esp-tls_optimize_memory_v4.4' into 'release/v4.4'
esp-tls: add api to free client session(backport v4.4)

See merge request espressif/esp-idf!18410
2022-06-10 20:22:00 +08:00
David Čermák
e75f4e5a1a Merge branch 'bugfix/mqtt_read_neg_and_ping_v4.4' into 'release/v4.4'
mqtt: Fix incorrect reads on error (v4.4)

See merge request espressif/esp-idf!18177
2022-06-10 18:25:06 +08:00
David Cermak
7691b44ee5 ci/mqtt: Fix weekend test publish-connect on target
* Fix thread safe issue in paho-mqtt library
* Move the weekend test to ethernet runner
2022-06-10 09:12:50 +02:00
David Cermak
61b5285cff mqtt: Fix incorrect reads on error (idf_v4.x)
* Update submodule: git log --oneline 985078affa8a2d2b56b87c8e6455252850f895c6..27eb4726067465c5c67d4ecdca5ddccd26f02580

Detailed description of the changes:
* MQTT: Fix signature matching for integer values (Backport to idf_v4.x)
  - See merge request espressif/esp-mqtt!133
  - Closes https://github.com/espressif/esp-idf/issues/8482
  - MQTT: Fix signature matching for integer values (espressif/esp-mqtt@f162002)
* ci: Deploy idf_v4.x branch to GitHub (espressif/esp-mqtt@ee5ecad)
2022-06-10 09:12:27 +02:00
Yannis Huber
8878b75a27 driver(spi): fix flag check in bus initialization
The current flag check in the SPI bus initialization is wrong and
causes exceptions when using certain SPI hosts in quad transfert mode.
2022-06-10 10:55:21 +08:00
Ivan Grokhotkov
507e273e1d fatfs: fix incorrect mtime returned for files created during DST
mktime function uses tm_isdst member as an indicator whether the time
stamp is expected to be in daylight saving time (1) or not (0).
FAT filesystem uses local time as mtime, so no information about DST
is available from the filesystem.

According to mktime documentation, tm_isdst can be set to -1, in which
case the C library will try to determine if DST was or wasn't in
effect at that time, and will set UTC time accordingly.

Note that the conversion from UTC to local time and then back to UTC
(time_t -> localtime_r -> FAT timestamp -> mktime -> time_t) does not
always recover the same UTC time. In particular, the local time in the
hour before DST comes into effect can be interpreted as "before DST"
or "after DST", which would correspond to different UTC values. In
this case which option the C library chooses is undefined.

Closes https://github.com/espressif/esp-idf/issues/9039
Originally reported in https://github.com/espressif/arduino-esp32/issues/6786
2022-06-09 22:02:46 +02:00
Mahavir Jain
5b6d9d87a3 freertos: add return value to API vTaskGetSnapshot
`vTaskGetSnapshot` is being used in coredump module to collect diagnostic information.
It is possible that input arguments are invalid and `assert` in this situation is not
correct.

This commit modifies API signature to return pdTRUE in case of success, and pdFALSE
otherwise. Caller can verify return value and then take appropriate decision.
2022-06-09 21:13:23 +05:30
Mahavir Jain
4a59036ab1 freertos: fix allocation order for stack and TCB per portSTACK_GROWTH
This is as per FreeRTOS recommendation and allows to protect task TCB
in case task stack has overflowed.
2022-06-09 20:49:27 +05:30
KonstantinKondrashov
871af8c5a5 esp_hw_support: Adds a msg when 32k xtal was stopped 2022-06-09 22:45:31 +08:00
Jiang Jiang Jian
62b46a0e92 Merge branch 'bugfix/s3_psram_spinlock_v4.4' into 'release/v4.4'
spinlock: fixed spinlocks not working on S3 if placed in PSRAM (v4.4)

See merge request espressif/esp-idf!18439
2022-06-09 17:18:18 +08:00
Jiang Jiang Jian
3a5e9d5ce1 Merge branch 'feature/add_mld6_flag_for_eth_v4.4' into 'release/v4.4'
feat(netif): Add NETIF_FLAG_MLD6 flag for eth netif (backport v4.4)

See merge request espressif/esp-idf!18266
2022-06-09 10:59:21 +08:00
Jiang Jiang Jian
c3d76d6496 Merge branch 'ci/force_based_on_commit_v4.4' into 'release/v4.4'
ci: support one pipeline must based on commmits (v4.4)

See merge request espressif/esp-idf!17920
2022-06-09 10:58:29 +08:00
Jiang Jiang Jian
be8129dc2d Merge branch 'bugfix/doc_static_Files_v4.4' into 'release/v4.4'
docs: fix missing static file path (v4.4)

See merge request espressif/esp-idf!17329
2022-06-09 10:56:28 +08:00
Jiang Jiang Jian
efdca9431c Merge branch 'bugfix/c3_efuse_fail_bits_v4.4' into 'release/v4.4'
soc: Fix efuse fail bits (v4.4)

See merge request espressif/esp-idf!18417
2022-06-09 10:53:31 +08:00
Jiang Jiang Jian
7905f0d3f8 Merge branch 'feature/adds_efuses_to_table_v4.4' into 'release/v4.4'
efuse: Adds ERR_RST_ENABLE efuse for C3 (v4.4)

See merge request espressif/esp-idf!18419
2022-06-09 10:53:16 +08:00
Marius Vikhammer
957505136b spinlock: fixed spinlocks not working on S3 if placed in PSRAM
The compare and set instruction (S32C1I) cannot be used when
lock is not in internal memory.

Closes https://github.com/espressif/esp-idf/issues/9120
2022-06-09 10:39:19 +08:00
Vamshi Gajjela
75491fe216 spiffs: Add vfs (f)truncate api support
Unit test cases added to verify truncate.

Closes https://github.com/espressif/esp-idf/issues/2234
2022-06-08 12:52:25 +00:00
Mahavir Jain
f1318fe7cb Merge branch 'bugfix/mbedtls_dynamic_memory_crash_on_rsa_ciphers_v4.4' into 'release/v4.4'
mbedtls: fix ssl server crash when enable mbedtls dynamic buffer(backport v4.4)

See merge request espressif/esp-idf!18426
2022-06-08 19:46:43 +08:00
Jiang Jiang Jian
270fadaee2 Merge branch 'bugfix/uninitialized-element_v4.4' into 'release/v4.4'
component_bt:initialize all elements of esp_bt_controller_config_t(v4.4)

See merge request espressif/esp-idf!18404
2022-06-08 15:24:39 +08:00
Li Jingyi
edcc76ec2e https_server: add mbedtls dynamic buffer function test 2022-06-08 15:09:38 +08:00
Li Jingyi
4896d0c8f3 mbedtls: fix ssl server crash when enable mbedtls dynamic buffer
Not free keycert until MBEDTLS_SSL_CLIENT_KEY_EXCHANGE for rsa key exchange methods, because keycert will be used to parse client key exchange.
2022-06-08 14:27:41 +08:00
Michael (XIAO Xufeng)
f86be6141b Merge branch 'bugfix/i2c_timeout_issue_v4.4' into 'release/v4.4'
I2C: patch for solving watchdog timeout issue(backport v4.4)

See merge request espressif/esp-idf!18130
2022-06-08 14:12:37 +08:00
Michael (XIAO Xufeng)
f20d229390 Merge branch 'refactor/flash_qio_overidable_v4.4' into 'release/v4.4'
spi_flash: refact that flash qio can be overidable(backport v4.4)

See merge request espressif/esp-idf!18036
2022-06-08 12:37:55 +08:00
Jiang Jiang Jian
e41a7d64b5 Merge branch 'bugfix/do_not_allow_unauthenticated_encrypted_key_data_release_v4.4' into 'release/v4.4'
esp_wifi: Ignore unauthenticated encrypted EAPOL-Key data and fix

See merge request espressif/esp-idf!18314
2022-06-08 10:51:57 +08:00
Mahavir Jain
9b07593ce5 Merge branch 'bugfix/esp_http_client_example_v4.4' into 'release/v4.4'
esp_http_client example: Add cert for redirect to HTTPS example (v4.4)

See merge request espressif/esp-idf!18402
2022-06-08 02:28:48 +08:00
KonstantinKondrashov
1979c68e82 efuse: Adds ERR_RST_ENABLE efuse for C3 and S3
Closes https://github.com/espressif/esp-idf/issues/8357
2022-06-07 22:06:45 +08:00
KonstantinKondrashov
02fe424e48 soc: Fix description of efuse fail bits 2022-06-07 21:42:33 +08:00
KonstantinKondrashov
e5d55fe1b1 esp_ipc: Fix a case when ipc_task() can wake up blocking task early
Closes https://github.com/espressif/esp-idf/issues/8559
2022-06-07 21:20:08 +08:00
Mahavir Jain
f47023f8c2 Merge branch 'update/protobuf_v4.4' into 'release/v4.4'
protobuf: Updated to v1.4.0  (v4.4)

See merge request espressif/esp-idf!18406
2022-06-07 20:37:47 +08:00
Li Jingyi
1191d9c8e6 example: https_request update free client session api 2022-06-07 19:37:10 +08:00
Li Jingyi
4be609a471 esp-tls: add api to free client session
Free session with mbedtls api to avoid mem-leak
2022-06-07 19:22:36 +08:00
Mahavir Jain
a7664ecb27 Merge branch 'fix/menuconfig_option_esp_cryptoauthlib_v4.4' into 'release/v4.4'
esp_tls_mbedtls.c: Fix esp-idf integration of esp-cryptoauthlib (v4.4)

See merge request espressif/esp-idf!18400
2022-06-07 18:56:00 +08:00
Mahavir Jain
fbf35a4874 esp_local_ctrl: Regenerated proto-c and python with protobuf compiler v3.21.0
$protoc --version
libprotoc 3.21.0

$ protoc-c --version
protobuf-c 1.4.0
2022-06-07 15:59:41 +05:30
Laukik Hase
0ca9ad5249 wifi_provisioning: Regenerated proto-c and python with protobuf compiler v3.21.0 2022-06-07 15:59:40 +05:30
Laukik Hase
509a423f83 protocomm: Regenerated proto-c and python with protobuf compiler v3.21.0 2022-06-07 15:59:40 +05:30
Laukik Hase
9549f0026f protobuf: Fix v4.21.0 (python) compatibility issue
- Added auto-generated protobuf files (proto-c and python to pre-commit hook ignore lists
2022-06-07 15:59:40 +05:30
Laukik Hase
0b05f1708d protobuf-c: Update submodule to v1.4.0 2022-06-07 15:59:39 +05:30
Michael (XIAO Xufeng)
d02db62bc3 Merge branch 'test/rtc_8m_d256_v4.4' into 'release/v4.4'
rtc: fixed 8MD256 can't be used as RTC slow src on ESP32 (v4.4)

See merge request espressif/esp-idf!18105
2022-06-07 18:21:12 +08:00
xiongweichao
f2048b2d15 initialize all elements of esp_bt_controller_config_t
Closes https://github.com/espressif/esp-idf/pull/9073
2022-06-07 17:30:48 +08:00
Shubham Kulkarni
b291be8a5d esp_http_client example: Add cert for redirect to HTTPS example
esp_http_client_test.py: Add checks for missing example logs
2022-06-07 14:53:25 +05:30
Aditya Patwardhan
b306517641 esp_tls_mbedtls.c: Fix esp-idf integration of esp-cryptoauthlib
menuconfig option
2022-06-07 14:45:40 +05:30
Marius Vikhammer
e595ae88d4 HAL: place cpu_ll_get_cycle_count in IRAM
Closes https://github.com/espressif/esp-idf/issues/9008
2022-06-07 06:30:46 +00:00
Mahavir Jain
57082d14a5 Merge branch 'feature/semihosting_call_number_change_v4.4' into 'release/v4.4'
Semihosting V2 (v4.4)

See merge request espressif/esp-idf!18332
2022-06-06 20:31:19 +08:00
morris
5accbaebab Merge branch 'bugfix/i2c_port_check_v4.4' into 'release/v4.4'
I2C: Fix I2C ports check in each function of the API implementation

See merge request espressif/esp-idf!18257
2022-06-06 14:56:36 +08:00
morris
5addf329d8 Merge branch 'bugfix/i2c_incorrect_speed_v4.4' into 'release/v4.4'
I2C: Fix SCL period timings on ESP targets (backport v4.4)

See merge request espressif/esp-idf!18271
2022-06-06 12:32:32 +08:00
xiongweichao
2ee9fc6aff Bluetooth build fail when power management is enabled
Closes https://github.com/espressif/esp-idf/issues/9081
2022-06-06 11:42:45 +08:00
Michael (XIAO Xufeng)
93d27565ac test_rtc: add test_app to test power consumption 2022-06-06 00:51:38 +08:00
Michael (XIAO Xufeng)
c61db5e9c9 soc_caps: add SOC_PM_SUPPORT_RTC_PERIPH_PD
Partially pick 6336f8191e
2022-06-06 00:17:39 +08:00
Michael (XIAO Xufeng)
deea85b848 pm: add test for RTC using 8MD256 as clock source 2022-06-06 00:16:03 +08:00
chaijie
2a1002b4a4 modify voltage param to fit all mode of S3 2022-06-05 02:33:51 +08:00
Michael (XIAO Xufeng)
a2e1b6756e esp32s3: fixed dangerous power parameters in sleep modes 2022-06-05 02:33:51 +08:00
Michael (XIAO Xufeng)
f46bd50884 pm: putting dbias and pd_cur code into same function 2022-06-05 02:33:51 +08:00
Michael (XIAO Xufeng)
254870c3c4 rtc: fixed 8MD256 can't be used as RTC slow src on ESP32
Sync configuration from other chips

Closes: https://github.com/espressif/esp-idf/issues/8007, https://github.com/espressif/esp-idf/pull/8089
2022-06-05 02:33:50 +08:00
Mahavir Jain
5e6cffbb14 Merge branch 'bugfix/backport_certificate_bundle_fixes_v4.4' into 'release/v4.4'
Certificate bundle fixes (v4.4)

See merge request espressif/esp-idf!18352
2022-06-03 16:27:47 +08:00
Ivan Grokhotkov
f1abc863a2 Merge branch 'bugfix/console_fixes_4.4' into 'release/v4.4'
console: various fixes and example improvements (backport v4.4)

See merge request espressif/esp-idf!18161
2022-06-03 03:54:30 +08:00
Erhan Kurubas
c55db5e688 semihosting: drop absolute path support 2022-06-02 11:14:18 +02:00
Espressif BOT
2d91698324 Update esp_crt_bundle certificates 2022-06-02 11:03:24 +05:30
Anton Maklakov
279ec3eb35 i2c: fix 'comparision is always true' warning 2022-06-02 13:28:21 +08:00
Jiang Jiang Jian
487df7cb61 Merge branch 'bugfix/add_bda_to_read_rmt_name_param_v4.4' into 'release/v4.4'
Bugfix/add bda to read rmt name param v4.4

See merge request espressif/esp-idf!18280
2022-06-02 11:46:07 +08:00
Jiang Jiang Jian
f51d746a9a Merge branch 'feature/docker_build_gh_actions_v4.4' into 'release/v4.4'
ci: move Docker image builds to Github, plus other improvements (v4.4)

See merge request espressif/esp-idf!18287
2022-06-02 11:45:29 +08:00
Ivan Grokhotkov
cd21a31416 vfs: usb_serial_jtag: consider O_NONBLOCK flag when reading via driver
Closes https://github.com/espressif/esp-idf/issues/8839
2022-06-01 16:32:28 +02:00
Ivan Grokhotkov
129cdcc08c console: linenoiseProbe: check if response is valid
Previously linenoiseProbe would accept any 4 byte response, even one
that isn't expected. This adds a check that the first byte of the
response is ESC.
Suggested in https://github.com/espressif/esp-idf/issues/8839.
2022-06-01 16:32:28 +02:00
Ivan Grokhotkov
78480e215a examples: console: add a readme with an overview of examples 2022-06-01 16:32:28 +02:00
Ivan Grokhotkov
6f57018c9d examples: support USB_CDC and USB_SERIAL_JTAG in basic console example
Related to https://github.com/espressif/esp-idf/issues/8738
Related to https://github.com/espressif/esp-idf/issues/8879

Doesn’t implement USB_CDC (over USB_OTG peripheral) for ESP32-S3 yet;
this only works on ESP32-S2 for now. On ESP32-S3 it is now possible to
use USB_SERIAL_JTAG console.
2022-06-01 16:32:28 +02:00
Ivan Grokhotkov
80f7b45672 examples: console: move duplicated cmd_wifi files into a new component 2022-06-01 16:32:28 +02:00
Ivan Grokhotkov
cb4a197a98 examples: move console_usb example to console directory 2022-06-01 16:30:14 +02:00
Ivan Grokhotkov
fa4256c885 ci: build and push Docker images in Github actions, add arm64 platform
Replaces the previously used Docker Hub autobuild infrastructure.
This allows for more flexible configuration of the build process,
at the expense of some extra maintenance of CI workflow files
required.
2022-06-01 16:23:50 +02:00
Ivan Grokhotkov
dc4fcdd2e1 docs: document build arguments of the Docker image 2022-06-01 16:23:50 +02:00
Ivan Grokhotkov
8eec6cb868 tools/docker: add IDF_CLONE_SHALLOW and IDF_INSTALL_TARGETS arguments
These two arguments can be used to reduce the size of the Docker
image:

- Setting IDF_CLONE_SHALLOW enables shallow cloning.
- Setting IDF_INSTALL_TARGETS to the comma separated list of targets
  results in toolchains being installed only for these targets.
2022-06-01 16:23:50 +02:00
Erhan Kurubas
c0df348156 semihosting: version 2 2022-06-01 14:49:03 +02:00
morris
c0dcebc41c Merge branch 'feat/esp32s3_support_gpio_deepsleep_wakeup_v4.4' into 'release/v4.4'
example/deep_sleep: add example of EXT0 and using internal pullups (v4.4)

See merge request espressif/esp-idf!18119
2022-06-01 19:56:17 +08:00
Aditya Patwardhan
a1d5a9b971 esp_crt_bundle: Add bounds checking for the "esp_crt_bundle_set" API.
Closes https://github.com/espressif/esp-idf/issues/8397
2022-06-01 15:09:50 +05:30
Mahavir Jain
ec0f7850a0 mbedtls: move locally managed root certificates to separate file
Purpose:
This will allow for easily automating periodic updates to
"cacrt_all.pem" file.

Note:
For now newly created "cacrt_local.pem" contains single "DST Root CA X3"
which we are keeping to manage compatibility with endpoints like
"howsmyssl.com". Please note this Root CA is expired and is not part of
Mozilla’s NSS root certificate store.
2022-06-01 15:07:31 +05:30
Laukik Hase
43d3cb37a0 esp_crt_bundle: Fix build error
- When `esp_crt_bundle.h` is included before any config,
  a build error (`esp_err_t` not defined) is observed

Closes https://github.com/espressif/esp-idf/issues/8606
2022-06-01 15:06:59 +05:30
Roland Dobai
f1fbbf3171 Merge branch 'bugfix/fixed-unsatisfiable-condition_v4.4' into 'release/v4.4'
Fixed comparison with ESP_MONITOR_DECODE (v4.4)

See merge request espressif/esp-idf!18334
2022-06-01 16:12:40 +08:00
Martin Gaňo
221bf746d0 Fixed comparsion of integer and string that evaluated always to False
Closes https://github.com/espressif/esp-idf/issues/9052
Closes IDFGH-7482
2022-05-31 14:07:18 +02:00
Jiang Jiang Jian
ae0e3e2e2a Merge branch 'feature/add_spiffs_check_v4.4_2' into 'release/v4.4'
spiffs: Add esp_spiffs_check() function (v4.4)

See merge request espressif/esp-idf!18189
2022-05-31 10:28:03 +08:00
Onkar
d5151ac1f7 Bugfix/bond not saved properly after re-pairing 2022-05-30 22:39:58 +05:30
David Čermák
afde319749 Merge branch 'bugfix/fix_lwip_kconfig_v4.4' into 'release/v4.4'
fix(Kconfig): Fix lw-ip Kconfig display garbled characters (backport v4.4)

See merge request espressif/esp-idf!18320
2022-05-30 17:53:55 +08:00
yuanjm
ad176653a0 fix(Kconfig): Fix lw-ip Kconfig display garbled characters 2022-05-30 16:21:09 +08:00
Hrudaynath Dhabe
26ad146077 esp_wifi: Ignore unauthenticated encrypted EAPOL-Key data and fix
handling of key RSC.

Closes https://github.com/espressif/esp-idf/issues/8401
2022-05-30 12:15:44 +05:30
Jiang Jiang Jian
fc30369909 Merge branch 'bugfix/update_efuse_name_v4.4' into 'release/v4.4'
efuse: update efuse name (backport v4.4)

See merge request espressif/esp-idf!18195
2022-05-30 11:15:16 +08:00
Wu Zheng Hui
2e4784611d efuse: update efuse name (backport v4.4) 2022-05-30 11:15:16 +08:00
morris
0340c2f2bc Merge branch 'bugfix/keep_rtc8m_in_lightsleep_v4.4' into 'release/v4.4'
pm: fixed RTC8M domain power down issue when used as RTC source (v4.4)

See merge request espressif/esp-idf!18075
2022-05-30 09:54:39 +08:00
keymoon
22cf1d0d58 assign value to uninitialized bt_addr field 2022-05-29 18:08:56 -07:00
keymoon
35fd2cee7c add address field to read_rmt_name_param 2022-05-29 18:08:41 -07:00
Roland Dobai
72dcce1ec2 Merge branch 'bugfix/return_idf_component_manager_build_property_v4.4' into 'release/v4.4'
build & config: Add IDF_COMPONENT_MANAGER build property (v4.4)

See merge request espressif/esp-idf!18286
2022-05-28 13:59:17 +08:00
Adam Múdry
12dfcdd1d9 spiffs: Add esp_spiffs_check() function
esp_spiffs_check() exposes SPIFFS_check() functionality to the user
2022-05-27 21:14:33 +00:00
Roland Dobai
fbb0e684e9 Merge branch 'bugfix/mkdfu_flash_parameters_v4.4' into 'release/v4.4'
mkdfu.py: Support setting flash parameters (backport v4.4)

See merge request espressif/esp-idf!18291
2022-05-28 03:26:29 +08:00
radim.karnis
f40b88e866 mkdfu.py: Support setting flash parameters 2022-05-27 16:24:13 +02:00
Roland Dobai
d15b02fdb2 Merge branch 'bugfix/disable_extensions_idfpy_tests_v4.4' into 'release/v4.4'
Tools: Make idf.py tests independent on extra extensions (v4.4)

See merge request espressif/esp-idf!18277
2022-05-27 18:57:43 +08:00
Sergei Silnov
c3969b789e build & config: Add IDF_COMPONENT_MANAGER build property 2022-05-27 12:57:00 +02:00
Sergei Silnov
395087ff44 Tools: Make idf.py tests independent on extra extensions 2022-05-27 11:14:08 +02:00
Jiang Jiang Jian
6260f53c14 Merge branch 'feature/modbus_master_fix_check_uart_set_pin_v44' into 'release/v4.4'
example/modbus_master: fix the assert for uart_set_pin (backport v4.4)

See merge request espressif/esp-idf!17624
2022-05-27 11:51:48 +08:00
Omar Chebib
8ac3d392a2 I2C: Fix SCL period timings on ESP targets
The output frequency is now more accurate as the SCL period timings have been fixed.
This fix applies for ESP32, ESP32S3, ESP32C3 and ESP32H2
2022-05-27 11:17:40 +08:00
Roland Dobai
692c1a6bea Merge branch 'feature/idf_py_clang_tidy_check_v4.4' into 'release/v4.4'
feat(idf.py): add `idf.py clang-check` and `idf.py clang-html-report` (v4.4)

See merge request espressif/esp-idf!18229
2022-05-26 16:40:10 +08:00
yuanjm
8215bd6670 feat(netif): Add NETIF_FLAG_MLD6 flag for eth netif 2022-05-26 16:07:50 +08:00
Omar Chebib
308f84972c I2C: Fix I2C ports check in each function of the API implementation
* Closes https://github.com/espressif/esp-idf/issues/9009
2022-05-26 12:44:46 +08:00
morris
992b4ffb1e Merge branch 'bugfix/systimer_counter_value_bit_field_v4.4' into 'release/v4.4'
HAL: Fix systimer counter value bit field (v4.4)

See merge request espressif/esp-idf!18254
2022-05-26 10:16:39 +08:00
Darian Leung
906bb0e4a3 hal: Fix systimer counter value bit field
This commit fixes the systimer_counter_value_t by adding a resreved field so that the
type fills 64-bits.

Without the reserved field, when compiling with -O0 optimization, the unoccupied high
bits would not be initalized by the compiler, leading to systimer_hal_get_counter_value()
returning a garbage value.
2022-05-26 01:47:33 +08:00
Jiang Jiang Jian
7e20435a54 Merge branch 'bugfix/fix_cannot_lslp_again_after_ulp_wakeup_backport_v4.4' into 'release/v4.4'
sleep: fix cannot lightsleep again after a wakeup from ULP(backport v4.4)

See merge request espressif/esp-idf!18180
2022-05-25 16:52:36 +08:00
Mahavir Jain
ff4875bc9b Merge branch 'bugfix/setup_defines_for_correct_mutex_usage' into 'release/v4.4'
coap_config_posix.h: Set up defines for correct mutex usage

See merge request espressif/esp-idf!18232
2022-05-25 13:55:44 +08:00
morris
3e7f721d33 Merge branch 'bugfix/i2s_write_timeout_when_setting_clock_v4.4' into 'release/v4.4'
i2s: fixed write timeout while setting the clock (v4.4)

See merge request espressif/esp-idf!18220
2022-05-25 13:34:28 +08:00
morris
1a6c817c27 Merge branch 'bugfix/s3_spi_pre_v4.4' into 'release/v4.4'
hal: Fix max value for clkdiv_pre in ESP32-S3 SPI master clock config (v4.4)

See merge request espressif/esp-idf!18237
2022-05-25 11:29:34 +08:00
Ivan Grokhotkov
0ebd381c16 Merge branch 'contrib/github_pr_9001_v4.4' into 'release/v4.4'
usbh_print_intf_desc prints wrong value for tbInterfaceClass (IDFGH-9000)

See merge request espressif/esp-idf!18236
2022-05-25 01:56:33 +08:00
Nicholas Palmer
cca9f93067 usbh_print_intf_desc prints wrong value for tbInterfaceClass (IDFGH-9000) 2022-05-24 14:28:54 +02:00
Gustavo Henrique Nihei
7a9daa3cd3 hal: Fix max value for clkdiv_pre in ESP32-S3 SPI master clock config
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-05-24 08:51:16 -03:00
Jon Shallow
993267d745 coap_config_posix.h: Set up defines for correct mutex usage
if COAP_CONSTRAINED_STACK is defined (is for esp-idf), the mutexes set up
to protect the critical sections were not working as expected and were just
dummy entries.

Use the pthread_ version of the mutex instead by defining HAVE_PTHREAD_H
and HAVE_PTHREAD_MUTEX_LOCK.
2022-05-24 14:43:02 +05:30
Fu Hanxi
f16e21aa9d docs(idf.py): add IDF Clang Tidy chapter 2022-05-24 16:08:40 +08:00
Fu Hanxi
5c19581bfe feat(idf.py): add idf.py clang-check and idf.py clang-html-report 2022-05-24 16:08:40 +08:00
laokaiyao
9b0f7b657b i2s: fixed write timeout while setting the clock (v4.4) 2022-05-24 10:14:44 +08:00
Ivan Grokhotkov
064148212b Merge branch 'bugfix/read_eof_no_vfs_4.4' into 'release/v4.4'
newlib: fix return value of no-VFS _read_r if nothing received (v4.4)

See merge request espressif/esp-idf!18160
2022-05-23 17:53:47 +08:00
Mahavir Jain
9d2238d6e4 Merge branch 'bugfix/mbedtls_dynamic_buffer_crash_on_ssl_server_v4.4' into 'release/v4.4'
fix(mbedtls): fix ssl server memory leak when enable mbedtls dynamic buffer function(backport v4.4)

See merge request espressif/esp-idf!18166
2022-05-23 11:20:30 +08:00
David Čermák
fc8ef9d1c2 Merge branch 'bugfix/mdsn_fuzzer_extend_v4.4' into 'release/v4.4'
mdns: ~~Extend fuzzing and~~ Fix various petty issues (v4.4)

See merge request espressif/esp-idf!18056
2022-05-20 16:58:13 +08:00
Tomas Rezucha
11cf565834 docs: Fix I2C thread-safety 2022-05-20 08:34:04 +02:00
David Čermák
db98a4b2ef Merge branch 'bugfix/vfs_sock_select_race_v4.4' into 'release/v4.4'
vfs: Fix potential select() race if both sock and other-fd trigger (v4.4)

See merge request espressif/esp-idf!18175
2022-05-20 12:55:09 +08:00
jingli
bef5b2ac6e remove wrong function rtc_cntl_ll_ulp_wakeup_enable for esp32s2 and esp32s3 2022-05-19 23:27:32 +08:00
jingli
25c49588f9 esp_hw_‎support/sleep: ‎fix cannot lightsleep again after a wakeup from ULP
Since ulp wakeup signal are connected to ulp int raw(except esp32), we
need to clear ulp int raw before sleep when ulp wakeup enabled. Otherwise,
if the ulp int raw is already set, chip will not sleep properly.

Closes https://github.com/espressif/esp-idf/issues/6229
2022-05-19 23:13:42 +08:00
David Cermak
f974099b42 vfs: Fix potential select() race if both sock and other-fd trigger
This fixes a potential race condition in select() if both a socket-fd
and non-socket fd trigger simultaneously to unblock this select.
In case of both fds, we use lwip's local thread semaphore, so we only
have to try return it (if it was taken/triggered more than once) when
we exit select().

Closes https://github.com/espressif/esp-idf/issues/8896
2022-05-19 16:57:39 +02:00
Michael (XIAO Xufeng)
ae6c52e9f9 Merge branch 'bugfix/fix_memory_miss_bug_v4.4' into 'release/v4.4'
esp32c3/esp32s3: Fix cpu crash bug when wakeup from lightsleep for memory data miss (backport v4.4)

See merge request espressif/esp-idf!17826
2022-05-19 13:47:20 +08:00
Jiang Jiang Jian
5d95cd58b2 Merge branch 'bugfix/fix_wifi_pm_state_v4.4' into 'release/v4.4'
esp_wifi: fix no null data after WiFi waking up. (backport v4.4)

See merge request espressif/esp-idf!18142
2022-05-19 10:51:59 +08:00
Jiang Jiang Jian
416d01db7a Merge branch 'bugfix/wifi_provisioning_arduino_v4.4' into 'release/v4.4'
provisioning: replace <lwip/inet.h> by <lwip/ip4_addr.h> in wifi_provisioning/wifi_config.h (v4.4)

See merge request espressif/esp-idf!18162
2022-05-19 10:45:38 +08:00
Jiang Jiang Jian
263e1cec64 Merge branch 'bugfix/tools_clang_atomic_alignment_v4.4' into 'release/v4.4'
cmake: add "-Wno-atomic-alignment" flag to cmake script (v4.4)

See merge request espressif/esp-idf!18163
2022-05-19 10:44:46 +08:00
Jiang Jiang Jian
9ce3973f19 Merge branch 'bugfix/errno_overlap_v4.4' into 'release/v4.4'
newlib: fix ESHUTDOWN and ENOTSOCK having the same numerical value (v4.4)

See merge request espressif/esp-idf!18164
2022-05-19 10:44:12 +08:00
Li Jingyi
81c195fed2 fix(mbedtls): fix ssl server memory leak when enable mbedtls dynamic buffer function 2022-05-19 10:41:40 +08:00
Jiang Jiang Jian
c5deb7a971 Merge branch 'bugfix/disable_bt_pll_track_v4.4' into 'release/v4.4'
Bluetooth: disable PLL track function for ESP32-C3/ESP32-S3 as it introduced coexistence issues(bacport v4.4)

See merge request espressif/esp-idf!18139
2022-05-19 10:41:27 +08:00
Jiang Jiang Jian
74dd39d8b0 Merge branch 'bugfix/Fix_ios_ble_adv_rsp_v4.4' into 'release/v4.4'
Fix iOS advertisement response and simplify (v4.4)

See merge request espressif/esp-idf!18038
2022-05-19 10:40:57 +08:00
Jiang Jiang Jian
7a72f8e852 Merge branch 'bugfix/driver_uart_fix_tx_bytes_rts_assert_failure_v44' into 'release/v4.4'
driver: fixes context switch while sending cause rts reset before send (backport v4.4)

See merge request espressif/esp-idf!17929
2022-05-19 10:40:34 +08:00
Alex Lisitsyn
6bf650c159 driver: fixes context switch while sending cause rts reset before send (backport v4.4) 2022-05-19 10:40:34 +08:00
Jiang Jiang Jian
0bbdd67231 Merge branch 'bugfix/fix_s3_bbpll_calibrate_fail_bug_v4.4' into 'release/v4.4'
ESP32S3: fix bbpll calibrate fail bug in high temperature  (backport v4.4)

See merge request espressif/esp-idf!17896
2022-05-19 10:39:52 +08:00
Jiang Jiang Jian
6382b51bfb Merge branch 'feature/check_block_after_burn_v4.4' into 'release/v4.4'
efuse: Validates data after burning and re-burnes it if necessary (v4.4)

See merge request espressif/esp-idf!17702
2022-05-19 10:39:17 +08:00
Jiang Jiang Jian
80c516e6ad Merge branch 'bugfix/vfs_fat_(p)write_on_diskfull_v4.4' into 'release/v4.4'
vfs: bugfix vfs_fat_write/pwrite upon disk-full (v4.4)

See merge request espressif/esp-idf!17649
2022-05-19 10:39:01 +08:00
Jiang Jiang Jian
8fe41e2e41 Merge branch 'fix/backport/usb_host/cdc_build' into 'release/v4.4'
usb_host: Don't build CDC host driver for unsupported targets (backport v4.4)

See merge request espressif/esp-idf!17526
2022-05-19 10:38:50 +08:00
Ivan Grokhotkov
b02cf33bfa newlib: fix ESHUTDOWN and ENOTSOCK having the same numerical value 2022-05-18 19:52:15 +02:00
Andrei Safronov
50356cb073 cmake: add "-Wno-atomic-alignment" flag to clang scripts
Clang outputs performance warnings by default for atomic operations with
access size more then 4 bytes. So add "-Wno-atomic-alignment add" flag to
ESP-IDF cmake script.
2022-05-18 19:50:04 +02:00
Rodrigo Garcia
9359c61fea provisioning: Fix include for Arduino INADDR_NONE 2022-05-18 19:44:05 +02:00
Ivan Grokhotkov
134b5153e3 newlib: fix return value of no-VFS _read_r if nothing received
'read' function should return 0 when encountering an end of file. When
newlib calls read and sees EOF returned, it assumes that this
condition is permanent and never calls 'read' for this file again
(unless the read pointer is moved using fseek).
The correct behavior in case no characters were received over UART is
to return -1. In this case newlib will retry reading from file on next
call to fread, fgetc or another function which calls __srefill_r.
2022-05-18 19:33:10 +02:00
chaijie
d222adbeeb solve memory error bug when in lightsleep mode 2022-05-18 17:43:13 +08:00
liuning
d6f51a5cab esp_wifi: fix no null data after WiFi waking up (backport v4.4). 2022-05-17 23:12:33 +08:00
Karl Wang
5c24b7f75f components/bt: disable Bluetooth PLL track function for ESP32-C3/ESP32-S3 as it introduced coexistence issues 2022-05-17 20:54:51 +08:00
Roland Dobai
fe1cf490b9 Merge branch 'feature/enable_component_manager_by_default_for_pure_cmake_v4.4' into 'release/v4.4'
tools: Enable the component manager by default in CMake (v4.4)

See merge request espressif/esp-idf!18121
2022-05-17 18:42:19 +08:00
Cao Sen Miao
04f7c342f0 I2C: patch for solving watchdog timeout issue 2022-05-17 16:36:40 +08:00
Michael (XIAO Xufeng)
bfce7241c4 example/deep_sleep: add example of EXT0 and using internal pullups 2022-05-17 10:45:31 +08:00
Sergei Silnov
66f60095c2 tools: Enable the component manager by default in CMake 2022-05-16 17:10:07 +02:00
morris
81391f57f6 Merge branch 'feature/disable_protection_v4.4' into 'release/v4.4'
bootloader: Create option for toggling memory region protection (v4.4)

See merge request espressif/esp-idf!18117
2022-05-16 22:09:44 +08:00
Michael (XIAO Xufeng)
4efab0d0ff soc/esp32s3: merge gpio caps into soc_caps.h 2022-05-16 22:01:11 +08:00
Gustavo Henrique Nihei
477d11e9c1 bootloader: Create option for enabling memory region protection
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-05-16 09:39:51 -03:00
Mahavir Jain
4995e24199 Merge branch 'feature/optimize_wifi_provisioning_memory_v4.4' into 'release/v4.4'
feat(wifi_provisioning): Optimize memory for wifi scan ap number (backport v4.4)

See merge request espressif/esp-idf!18113
2022-05-16 15:20:44 +08:00
yuanjm
a706a482c6 feat(wifi_provisioning): Optimize memory for wifi scan ap number 2022-05-16 14:07:19 +08:00
Michael (XIAO Xufeng)
e119d6cb06 pm: add powerdown for int_8m on ESP32-H2
Also move the xtal fpu logic to sleep_modes.c
2022-05-16 00:59:36 +08:00
Roland Dobai
3806b240cf Merge branch 'bugfix/interrupted_thread_gdb_bt_v4.4' into 'release/v4.4'
riscv: Fixes GDB backtrace of interrupted threads (v4.4)

See merge request espressif/esp-idf!17716
2022-05-13 21:59:18 +08:00
Omar Chebib
caa5444c93 RISC-V: Fix vectors.S assembly file indentation and macro usage
The file is now more consistent as the macros have been fixed, more comments
have been added and the indentation is now using spaces only.
2022-05-13 12:54:21 +03:00
Alexey Gerenkov
9017ff235b riscv: Use semihosting to set breakpoint and watchpoint when running under debugger 2022-05-13 12:54:21 +03:00
Alexey Gerenkov
46a98fb8d1 riscv: Adds support for returning from exception handler 2022-05-13 12:52:06 +03:00
Alexey Gerenkov
300d67411a riscv: Fixes GDB backtrace end function to point to prvTaskExitError 2022-05-13 12:52:06 +03:00
Alexey Gerenkov
44bfddd784 riscv: Fixes GDB backtrace of interrupted threads
Save missed SP value on stack
2022-05-13 12:52:06 +03:00
Jiang Jiang Jian
80ea94dd36 Merge branch 'bufix/esp32c3_s3_build_err_v4.4' into 'release/v4.4'
component_bt: Fix ESP32C3/S3 build error after enable light sleep(v4.4)

See merge request espressif/esp-idf!17995
2022-05-13 15:39:38 +08:00
Zim Kalinowski
832c199c25 Merge branch 'bugfix/fix_heap_free_memory_v4.4' into 'release/v4.4'
Heap: fix free bytes calculation for TLSF heap (backport v4.4)

See merge request espressif/esp-idf!17688
2022-05-12 16:20:32 +08:00
Michael (XIAO Xufeng)
17b9cc6b4a pm: fixed RTC8M domain power issues
introduced in e44ead5356

1. The int8M power domain config by default is PD. While LEDC is using
RTC8M as clock source, this power domain will be kept on.

But when 8MD256 is used as RTC clock source, the power domain should
also be kept on.

On ESP32, there was protection for it, but broken by commit
e44ead5356. Currently the power domain
will be forced on when LEDC is using RTC8M as clock source &&
!int8m_pd_en (user enable ESP_PDP_DOMAIN_RTC8M in lightsleep). Otherwise
the power domain will be powered off, regardless of RTC clock source.

In other words, int8M domain will be forced off (even when 8MD256
used as RTC clock source) if LEDC not using RTC8M as clock source, user
doesn't enable ESP_PDP_DOMAIN_RTC8M, or in deep sleep.

On later chips, there's no such protection, so 8MD256 could't be used as
RTC clock source in sleep modes.

This commit adds protection of 8MD256 clock to other chips. Fixes the
incorrect protection logic overriding on ESP32. Now the power domain
will be determiend by the logic below (order by priority):

    1. When RTC clock source uses 8MD256, power up
    2. When LEDC uses RTC8M clock source, power up
    3. In deepsleep, power down
    4. Otherwise determined by user config of ESP_PDP_DOMAIN_RTC8M,
       power down by default. (This is preferred to have highest
       priority, but it's kept as is because of current code structure.)

2. Before, after the macro `RTC_SLEEP_CONFIG_DEFAULT` decides dbias, the
protection above may force the int8m PU. This may cause the inconsistent
of dbias and the int8m PU status.

This commit lifts the logic of pd int8m/xtal fpu logic to upper layer
(sleep_modes.c).

Related: https://github.com/espressif/esp-idf/issues/8007, https://github.com/espressif/esp-idf/pull/8089

temp
2022-05-12 15:57:09 +08:00
Omar Chebib
18fb3d60b8 Apply 1 suggestion(s) to 1 file(s) 2022-05-12 07:49:28 +00:00
KonstantinKondrashov
06aeeff54e efuse: fix 2022-05-12 07:49:28 +00:00
KonstantinKondrashov
8c063a326e efuse: Fix 3/4 coding scheme UTs 2022-05-12 07:49:28 +00:00
KonstantinKondrashov
ce148dd7b8 efuse: Improve messages during burn operation 2022-05-12 07:49:28 +00:00
KonstantinKondrashov
24af86071d efuse: Burn func can return an error
esp_efuse_utility_burn_chip()
2022-05-12 07:49:28 +00:00
KonstantinKondrashov
114608142a efuse: Validates data after burning and re-burnes it if necessary
It checks the content of the written data and encoding errors.
2022-05-12 07:49:28 +00:00
morris
009e66e625 Merge branch 'feature/esp_lcd_read_i2c_v4.4' into 'release/v4.4'
Feature/esp lcd read i2c (backport v4.4)

See merge request espressif/esp-idf!18066
2022-05-11 22:33:41 +08:00
Zim Kalinowski
9f2d407105 Merge branch 'bugfix/i2c_too_short_panics_v4.4' into 'release/v4.4'
I2C: Read transactions, without a STOP, won't panic anymore (backport v4.4)

See merge request espressif/esp-idf!17954
2022-05-11 14:04:46 +08:00
morris
571afca7dc Merge branch 'bugfix/rmt_undetermined_idle_level' into 'release/v4.4'
rmt: fix undetermined idle level (v4.4)

See merge request espressif/esp-idf!18035
2022-05-11 12:25:21 +08:00
David Cermak
0bd2c55413 mdns: Fix potential read behind parsed packet 2022-05-10 16:45:43 +02:00
David Cermak
d6ad597b0f mdns: Fix memleak when adding delegated host 2022-05-10 16:45:43 +02:00
David Cermak
c8874b0d85 mdns: Fix null-service issue when parsing packets
Closes https://github.com/espressif/esp-idf/issues/8307
2022-05-10 16:45:43 +02:00
Vilem Zavodny
c9b0be6ef7 esp_lcd: Add support for rx_param on I2C transport.
(cherry picked from commit 4a2766d906)
2022-05-10 15:03:53 +02:00
lorenzo.consolaro
c9d5c14451 Fix iOS advertisement response and simplify 2022-05-09 10:09:06 +05:30
Cao Sen Miao
ea4b3fdfe5 spi_flash: refact that flash qio can be overidable 2022-05-09 11:08:53 +08:00
morris
f33720a263 rmt_legacy: fix undetermined idle level
Closes https://github.com/espressif/esp-idf/issues/8864
2022-05-08 07:20:30 +00:00
Michael (XIAO Xufeng)
4222e93351 Merge branch 'flash/opi_12345G_support_v4.4' into 'release/v4.4'
opi_flash: Add new 16MB opi flash (MX25UW12345G) support.(backport v4.4)

See merge request espressif/esp-idf!17782
2022-05-08 12:23:18 +08:00
morris
b021055190 Merge branch 'bugfix/i2s_only_right_mode_v4.4' into 'release/v4.4'
i2s: fix only right case and mono stereo switch issue (v4.4)

See merge request espressif/esp-idf!18022
2022-05-07 22:46:45 +08:00
laokaiyao
cdaa440d98 i2s: fix only right case v4.4 2022-05-07 13:43:01 +00:00
morris
baa2748f23 Merge branch 'docs/fix_command_in_partition-tables_4.4' into 'release/v4.4'
docs: Fix a command in partition-tables.rst (backport v4.4)

See merge request espressif/esp-idf!18029
2022-05-07 16:57:14 +08:00
mofeifei
91315de70c docs: fix a command in partition-tables 2022-05-07 15:15:22 +08:00
xiongweichao
39c63420ba Fix ESP32C3/S3 build error after enable light sleep 2022-05-07 06:19:33 +00:00
Jiang Jiang Jian
123288c1c6 Merge branch 'bugfix/default_ssid_not_set_v4.4' into 'release/v4.4'
esp_wifi: Fix for default ap ssid not set.(v4.4)

See merge request espressif/esp-idf!18005
2022-05-07 12:36:41 +08:00
Jiang Jiang Jian
d72ba54138 Merge branch 'bugfix/fix_websocket_server_v4.4' into 'release/v4.4'
fix(server): Fix websocket server not support handle multiple connections when client send CLOSE frame (backport v4.4)

See merge request espressif/esp-idf!18018
2022-05-07 10:17:59 +08:00
morris
97caa51152 Merge branch 'bugfix/spi_slave_intr_iram_v4.4' into 'release/v4.4'
driver: spi_slave: make sure CS helpers are in IRAM if the ISR is (v4.4)

See merge request espressif/esp-idf!17831
2022-05-06 22:23:13 +08:00
yuanjm
e759fa4697 fix(server): Fix websocket server not support handle multiple connections when client send CLOSE frame 2022-05-06 17:55:14 +08:00
morris
2cd59a1a77 Merge branch 'docs/update_usb_pins_and_add_a_note_to_uart_v4.4' into 'release/v4.4'
doc: update usb pins and provide a note in api-reference/uart (v4.4)

See merge request espressif/esp-idf!17986
2022-05-05 18:31:14 +08:00
aditi_lonkar
88f79ca9ca esp_wifi: Fix for default ap ssid not set.
Closes https://github.com/espressif/esp-idf/issues/8744
2022-05-05 14:04:49 +05:30
Roland Dobai
e12b3c5644 Merge branch 'fix/idf_tools_fstrings_v4.4' into 'release/v4.4'
Tools: Don't use f-string in idf_tools.py

See merge request espressif/esp-idf!17990
2022-05-04 22:30:49 +08:00
Roland Dobai
7b33262d26 Tools: Don't use f-string in idf_tools.py
ESP-IDF v4.4 supports Python 3.6 or newer. F-strings are available there
but idf_tools.py can fail if run with older Pythons because the Python
version check is done later.

Closes https://github.com/espressif/esp-idf/issues/8890
2022-05-04 12:01:49 +02:00
Ivan Grokhotkov
a6a245f75f Merge branch 'feature/ftruncate_vfs_fatfs_support_v4.4' into 'release/v4.4'
fatfs: Implement ftruncate function in VFS and FAT VFS (v4.4)

See merge request espressif/esp-idf!17864
2022-05-04 08:14:46 +08:00
Wang Fang
70c336963b doc: update usb pins and provide a note in api-reference/uart
Closes https://github.com/espressif/esp-idf/issues/8811

Signed-off-by: Ivan Grokhotkov <ivan@espressif.com>
2022-05-03 23:41:02 +02:00
Ivan Grokhotkov
a615fccd01 Merge branch 'bugfix/spiffs_check_part_alignment_v4.4' into 'release/v4.4'
spiffs: add init checks for partition alignment and data types (v4.4)

See merge request espressif/esp-idf!17835
2022-05-03 17:01:50 +08:00
Jiang Jiang Jian
b6f4629e11 Merge branch 'bugfix/_rtc_slow_length_incorrectly_optimized_backport_v4.4' into 'release/v4.4'
sleep_power_domain: fix _rtc_slow_length being incorrectly optimized by compiler(backport v4.4)

See merge request espressif/esp-idf!17974
2022-05-03 15:04:09 +08:00
Jiang Jiang Jian
653cddf091 Merge branch 'bugfix/fix_rtc_mem_load_err_backport_v4.4' into 'release/v4.4'
rtc_regulator: fix rtc mem load err(backport v4.4)

See merge request espressif/esp-idf!17977
2022-05-03 15:03:41 +08:00
Vamshi Gajjela
ebb9cc3670 fatfs: Add ftruncate api support for VFS and FAT-VFS
Unit test cases added to verify ftruncate within fatfs tests.

Closes https://github.com/espressif/esp-idf/issues/8279
2022-05-02 04:37:56 +00:00
jingli
a2f141807f fix rtc mem load err(since the voltage of rtc regulator is too low) 2022-05-01 23:29:12 +08:00
jingli
74399f5b44 fix _rtc_slow_length being incorrectly optimized by compiler 2022-05-01 23:14:18 +08:00
Jiang Jiang Jian
8efd164e7f Merge branch 'bugfix/fix_esp32c3_brownout_bug_after_deepsleep_v4.4' into 'release/v4.4'
rtc: fix c3 brownout bug after deepsleep (backport v4.4)

See merge request espressif/esp-idf!17957
2022-05-01 17:29:33 +08:00
David Čermák
8c8f700c1d Merge branch 'update/mqtt_refs_v4.4' into 'release/v4.4'
mqtt: Fix sending log data; dup flag after queue (v4.4)

See merge request espressif/esp-idf!17402
2022-04-28 22:45:59 +08:00
chaijie
fe83802d65 fix c3 brownout bug after deepsleep 2022-04-28 18:23:28 +08:00
Jiang Jiang Jian
dcc77b0bed Merge branch 'bugfix/idle_task_skipped_light_sleep_backport_v4.4' into 'release/v4.4'
pm_impl: fix neither enter light sleep nor enter waiti state in idle task(backport v4.4)

See merge request espressif/esp-idf!17837
2022-04-28 16:12:23 +08:00
David Cermak
198dfc92dd mqtt: Fix sending log data; dup flag after queue
* Fix sending mqtt message longer than Tx buffer size
* Fix enqueue API to send data with correct dup flag
* Update submodule: git log --oneline b86d42c130ac64a916ce6cf299d99f9756692394..985078affa8a2d2b56b87c8e6455252850f895c6

Detailed description of the changes:
* Isolate IDF env for v4.4 and v5.0(master)
  - See merge request espressif/esp-mqtt!111
  - ci: Isolate IDF env for v4.4 and v5.0(master) (espressif/esp-mqtt@4c5a65c)
* Client: Remove usage of legacy FreeRTOS types
  - See merge request espressif/esp-mqtt!120
  - ci: Fix build issues with IDF-4.4 against master (espressif/esp-mqtt@c28a56d)
  - See commit https://github.com/espressif/esp-mqtt/commit/6ef98d6
* mqtt_client: Fix mqtt send long data error
  - See merge request espressif/esp-mqtt!117
  - Closes https://github.com/espressif/esp-mqtt/issues/214
  - See commit https://github.com/espressif/esp-mqtt/commit/372b323
* Client: Fix use esp_mqtt_client_enqueue API to send data, data dup flag will be set 1
  - See merge request espressif/esp-mqtt!116
  - See commit https://github.com/espressif/esp-mqtt/commit/df8dc92
2022-04-28 07:55:25 +00:00
Roland Dobai
6398e19245 Merge branch 'feature/update_openocd_version_v4.4' into 'release/v4.4'
Update OpenOCD version (v4.4)

See merge request espressif/esp-idf!17934
2022-04-28 14:58:59 +08:00
Omar Chebib
0da60f7b83 I2C: Read transactions, without a STOP, won't panic anymore
* Closes https://github.com/espressif/esp-idf/issues/8548
2022-04-28 14:05:22 +08:00
Omar Chebib
751c546a68 Heap: fix typos in test and component 2022-04-28 05:59:31 +00:00
Omar Chebib
bf8fd5f42c Heap: fix free bytes calculation for TLSF heap
* Closes https://github.com/espressif/esp-idf/issues/8270
2022-04-28 05:59:31 +00:00
Michael (XIAO Xufeng)
4178cdaa4f Merge branch 'bugfix/wrong_gpio_is_deep_sleep_wakeup_valid_gpio_v4.4' into 'release/v4.4'
gpio: fix wrong GPIO_IS_DEEP_SLEEP_WAKEUP_VALID_GPIO macro (backport v4.4)

See merge request espressif/esp-idf!17807
2022-04-28 11:19:20 +08:00
Jiang Jiang Jian
4fedbdd264 Merge branch 'bugfix/spp_crash_after_call_spp_deinit_v4.4' into 'release/v4.4'
Component_bt/Fix spp crash after call esp_spp_deinit(v4.4)

See merge request espressif/esp-idf!17930
2022-04-28 01:26:06 +08:00
Marius Vikhammer
eff2402b5b Merge branch 'docs/remove_bt_doc_fillers_v4.4' into 'release/v4.4'
docs: remove filler template content from BT docs (v4.4)

See merge request espressif/esp-idf!17947
2022-04-27 20:35:06 +08:00
Jiang Jiang Jian
9ae38aa873 Merge branch 'bugfix/fix_disable_bt_log_ci_fail_v4.4' into 'release/v4.4'
component_bt: Fix CI failure when disable bluetooth debug log(v4.4)

See merge request espressif/esp-idf!17899
2022-04-27 18:20:41 +08:00
Jiang Jiang Jian
ef7ce17dbd Merge branch 'bugfix/fix_build_warring_v4.4' into 'release/v4.4'
esp_phy: fix build warning(v4.4)

See merge request espressif/esp-idf!17840
2022-04-27 18:19:27 +08:00
Marius Vikhammer
fc30e896c0 docs: remove filler template content from BT docs 2022-04-27 17:51:27 +08:00
Jiang Jiang Jian
fd45998249 Merge branch 'contrib/github_pr_8779_v4.4' into 'release/v4.4'
esp_wifi: fix clearing default wifi netif procedure(v4.4)

See merge request espressif/esp-idf!17938
2022-04-27 17:17:47 +08:00
Anton Maklakov
e72017bb23 tools: print system platform 2022-04-27 08:58:32 +02:00
Erhan Kurubas
6ae22d9f3b tools: add distro links for macos-arm64 2022-04-27 08:56:33 +02:00
Erhan Kurubas
46c5be3197 tools: OpenOCD version updated to v0.11.0-esp32-20220411 2022-04-27 08:55:36 +02:00
xiongweichao
6232753804 Fix spp initialization failure without free mutex 2022-04-27 14:19:59 +08:00
xiongweichao
eb8a4d3423 Fix spp crash after calling esp_spp_deinit 2022-04-27 14:19:50 +08:00
Fu Hanxi
97c9fa7aca ci: support one pipeline must based on commmits 2022-04-27 11:05:08 +08:00
Krzysztof Lewandowski
e0d6398a99 esp_wifi: fix clearing default wifi netif procedure
Prior to this change "esp_wifi_clear_default_wifi_driver_and_handlers"
will not remove netif pointer from table when both AP and STA interfaces were
created and destroying default wifi interfaces is done in unfortunate
order. As a result there is dangling pointer left and it may cause crash in
later code (i.e. when esp_wifi_stop() is called).
2022-04-26 22:50:40 -04:00
Island
c41208550a Merge branch 'bugfix/oversized_SegN_as_valid_v4.4' into 'release/v4.4'
ble_mesh: stack: Bugfix for oversized SegN as valid(v4.4)

See merge request espressif/esp-idf!17772
2022-04-26 20:11:35 +08:00
Jiang Jiang Jian
75e50e97f8 Merge branch 'bugfix/scan_mixed_keymgmt_issue_v4.4' into 'release/v4.4'
Combined fix for scan issue and PMF disable API (Backport v4.4)

See merge request espressif/esp-idf!17743
2022-04-26 19:24:12 +08:00
Jessy Chen
e57697aef2 esp_phy: fix tx power limit for esp32s2/s3/c3 2022-04-26 03:36:47 -04:00
Jessy Chen
e97720131d esp_phy: fix build warning 2022-04-26 03:36:47 -04:00
Jiang Jiang Jian
36823b45cc Merge branch 'bugfix/rrm_dpp_task_delete_v4.4' into 'release/v4.4'
wpa_supplicant: backport WLAN fixes (release v4.4)

See merge request espressif/esp-idf!17655
2022-04-26 12:38:04 +08:00
xiongweichao
1ce01c6f76 Fix CI failure when disable bluetooth debug log 2022-04-26 11:28:01 +08:00
chaijie
a86cad6afe fix s3 bbpll calibrate fail bug in high temperature 2022-04-25 18:21:10 +08:00
wangjialiang
7a34692e6f ble_mesh: stack: Bugfix for oversized SegN as valid 2022-04-25 11:49:50 +08:00
Michael (XIAO Xufeng)
69a3bdacb0 Merge branch 'bugfix/adc2_cal_assert_arbiter_failed_v4.4' into 'release/v4.4'
adc_cal: fixed the assertion failure or returning wrong error code when ADC2 failed the arbitration (v4.4)

See merge request espressif/esp-idf!17586
2022-04-25 10:14:12 +08:00
morris
3419823c46 Merge branch 'bugfix/add_spinlock_for_dma_channel' into 'release/v4.4'
gdma: add spin lock for gdma channel (v4.4)

See merge request espressif/esp-idf!17855
2022-04-24 18:16:58 +08:00
Michael (XIAO Xufeng)
127d187743 Merge branch 'bugfix/i2c_iram_placement_fix_v4.4' into 'release/v4.4'
i2c: Correct hal functions iram placement and remove IRAM_ATTR for i2c_hw_fsm_reset (backport v4.4)

See merge request espressif/esp-idf!17808
2022-04-21 18:28:59 +08:00
morris
5e49369a2c lcd: spi lcd support transmit lsb first
Closes https://github.com/espressif/esp-idf/issues/8790
2022-04-21 10:11:20 +00:00
morris
2f1393ad53 gdma: add spin lock for gdma channel
... because we allow several control functions to be runable under ISR
context
2022-04-21 10:11:20 +00:00
Michael (XIAO Xufeng)
7071506033 Merge branch 'feature/esp32c3_eco4_v4.4' into 'release/v4.4'
esp32c3: Adds ECO4 revision (v4.4)

See merge request espressif/esp-idf!17717
2022-04-21 18:06:41 +08:00
Michael (XIAO Xufeng)
86b39a5042 Merge branch 'bugfix/spi_free_crash_uninitialized_v4.4' into 'release/v4.4'
spi: fixed crash when calling spi_bus_free when not initialized (v4.4)

See merge request espressif/esp-idf!17608
2022-04-21 15:47:13 +08:00
Omar Chebib
e365f0782e UART: Fix custom ISR registration function
* Closes https://github.com/espressif/esp-idf/issues/8491
2022-04-21 03:05:01 +00:00
Jiang Jiang Jian
7bf3277692 Merge branch 'update/c3_s3_phy_lib_20220419_v4.4' into 'release/v4.4'
Update esp c3/s3 phy lib aa05aec (backport v4.4)

See merge request espressif/esp-idf!17815
2022-04-21 11:01:00 +08:00
Ivan Grokhotkov
be2bd983f4 Merge branch 'feature/vfs_semihosting_c3_v4.4' into 'release/v4.4'
vfs: add support for semihosting on ESP32-C3 (v4.4)

See merge request espressif/esp-idf!17527
2022-04-21 04:43:02 +08:00
Ivan Grokhotkov
de7d69e5cc Merge branch 'bugfix/fatfs_warning_fix_v4.4' into 'release/v4.4'
fatfs: Fix putc_bfd compilation warning (v4.4)

See merge request espressif/esp-idf!17521
2022-04-21 01:56:22 +08:00
Martin Vychodil
fccd450304 fatfs: Fix putc_bfd compilation warning
Fixed FatFs\ff.c: warning: argument of type "TCHAR **" is incompatible with parameter of type "const TCHAR **"

Closes https://github.com/espressif/esp-idf/issues/5870
2022-04-20 16:38:28 +00:00
Mahavir Jain
7494f12319 Merge branch 'bugfix/linenoise_unint_buffer_and_color_v4.4' into 'release/v4.4'
console: linenoise: fix usage of an uninitialized buffer, fix no-color output (v4.4)

See merge request espressif/esp-idf!17829
2022-04-20 20:30:29 +08:00
gaoxiaojie
784b46be11 pm_impl: fix neither enter light sleep nor enter waiti state in idle task 2022-04-20 19:37:46 +08:00
Ivan Grokhotkov
6eeaf50da8 spiffs: add init checks for partition alignment and data types
Closes https://github.com/espressif/esp-idf/issues/8593
2022-04-20 12:53:30 +02:00
Ivan Grokhotkov
43f929de4d driver: spi_slave: make sure CS helpers are in IRAM if the ISR is
Closes https://github.com/espressif/esp-idf/issues/3870
2022-04-20 12:49:49 +02:00
Ivan Grokhotkov
c0b97b6749 console: linenoise: fix usage of an uninitialized buffer
Reported in https://github.com/espressif/esp-idf/issues/6440

The issue could occur if esp_console_config_t::hint_color
was set to -1.
2022-04-20 16:03:09 +05:30
Ivan Grokhotkov
38a16e05d9 console: disable colored hints if CONFIG_LOG_COLORS is not set 2022-04-20 16:03:08 +05:30
Kapil Gupta
2231a3bcbe wpa_supplicant: Remove scan done event in task 2022-04-20 10:08:45 +00:00
Kapil Gupta
fee9509d5d wpa_supplicant: static analysis fixes 2022-04-20 10:08:45 +00:00
Kapil Gupta
f6da49c3c9 wpa_supplicant: Add BTM security checks 2022-04-20 10:08:45 +00:00
Kapil Gupta
bac4173161 esp_example: Enable MbedTLS for DPP enrollee by default 2022-04-20 10:08:45 +00:00
Kapil Gupta
6e826523b1 wpa_supplicant: Correct task deletion for RRM and DPP tasks
Closes https://github.com/espressif/esp-idf/issues/7409
2022-04-20 10:08:45 +00:00
KonstantinKondrashov
73164b87ae esp32c3: Adds ECO4 revision 2022-04-20 08:40:56 +00:00
Krzysztof Budzynski
4b2098bc58 Merge branch 'docs/update_cn_trans_jtag_debugging_docs_4.4' into 'release/v4.4'
docs: update jtag_debugging docs and get-started-devkitc.rst (backport v4.4)

See merge request espressif/esp-idf!17493
2022-04-20 16:21:04 +08:00
Krzysztof Budzynski
3d6f7f7fe0 Merge branch 'docs/mr16635_backport_v4.4' into 'release/v4.4'
docs: Update CN translation for !16635, !16702, !17043 (v4.4)

See merge request espressif/esp-idf!17465
2022-04-20 16:20:42 +08:00
Krzysztof Budzynski
fefa65239b Merge branch 'docs/mr16425_backport_v4.4' into 'release/v4.4'
docs: Update CN translation for !16425 (v4.4)

See merge request espressif/esp-idf!17459
2022-04-20 16:19:48 +08:00
Roland Dobai
20e0e9e502 Merge branch 'feature/add_h2_target_to_tools_v4.4' into 'release/v4.4'
tools: add RISC-V toolchain for esp32h2 and target (v4.4)

See merge request espressif/esp-idf!17690
2022-04-20 13:56:24 +08:00
Ivan Grokhotkov
7c740c38cd Merge branch 'feature/flash_size_gt_16mb_pr_v4.4' into 'release/v4.4'
add support for Flash 32MB..128MB (S2, S3) (Github PR + fixups) (v4.4)

See merge request espressif/esp-idf!17423
2022-04-20 13:26:10 +08:00
Wang Meng Yang
70adf8f631 Merge branch 'bugfix/fix_spp_initiator_connect_failed_v4.4' into 'release/v4.4'
Component_bt/Fix SPP initiator can not free resource when connection is failed[backport 4.4]

See merge request espressif/esp-idf!17744
2022-04-20 11:01:30 +08:00
Anton Maklakov
5ad3fe66be tools: add RISC-V toolchain for esp32h2 target 2022-04-20 09:52:32 +07:00
Ivan Grokhotkov
01d950feea Merge branch 'bugfix/sdspi_example_esp32s3_v4.4' into 'release/v4.4'
examples: sdspi: re-enable for ESP32-S3, add Kconfig options for pins (v4.4)

See merge request espressif/esp-idf!17420
2022-04-20 06:11:48 +08:00
David Čermák
3604770abb Merge branch 'bugfix/websocket_example_echo_server_v4.4' into 'release/v4.4'
websocket: Updated Kconfig to use 'echo.websocket.events' echo server(v4.4)

See merge request espressif/esp-idf!17604
2022-04-20 05:42:00 +08:00
Ivan Grokhotkov
333fc0c9f8 Merge branch 'bugfix/sdmmc_example_esp32s3_v4.4' into 'release/v4.4'
examples: sdmmc: re-enable for ESP32-S3, add Kconfig options for pins (v4.4)

See merge request espressif/esp-idf!17422
2022-04-20 02:33:42 +08:00
Mahavir Jain
438834b150 Merge branch 'contrib/github_pr_8564_v4.4' into 'release/v4.4'
Fix nested redirect (GitHub PR) (v4.4)

See merge request espressif/esp-idf!17734
2022-04-19 23:36:22 +08:00
morris
213da04fcd Merge branch 'bugfix/esp_lcd_improvements_v4.4' into 'release/v4.4'
bunch of esp lcd improvements (v4.4)

See merge request espressif/esp-idf!17555
2022-04-19 22:39:10 +08:00
Ivan Grokhotkov
6e9414206a partition_table: add a test for total partition size error 2022-04-19 14:00:11 +00:00
rudi ;-)
04959af635 add support for Flash 32MB..128MB (S2, S3)
ESP32-S2 and ESP32-S3
supports up to 1 GB of external flash and RAM
add support for
-    32MB
-    64MB
-    128MB ( example NOR spiFLASH 1G-BIT W25Q01JVZEIQ Winbond 0xEF 0x40 0x21 )

Merges https://github.com/espressif/esp-idf/pull/7688

Signed-off-by: Ivan Grokhotkov <ivan@espressif.com>
2022-04-19 14:00:11 +00:00
Ivan Grokhotkov
c9db320410 xtensa: fix semihosting arguments potentially begin optimized out
The compiler was not informed that the assembly block should be
treated as a memory barrier and could optimize out the initialization
of local arrays which could be used as semihosting arguments.
This resulted in garbage values being passed as semihosting call
arguments.

Additionally this commit changes the approach for placing values into
specific register. Instead of clobbers, local register variables are
used. This results in simpler generated code, since the compiler is
able to place values directly into the registers used for semihosting
arguments, avoiding additional moves.
2022-04-19 13:55:36 +00:00
Ivan Grokhotkov
ad532236ae vfs: add support for semihosting on ESP32-C3 2022-04-19 13:55:36 +00:00
Roland Dobai
050d6977f0 Merge branch 'bugfix/idfpy_erase_otadata_v4.4' into 'release/v4.4'
tools: set baudrate and port with otatool. (v4.4)

See merge request espressif/esp-idf!17466
2022-04-19 21:49:11 +08:00
Roland Dobai
cc3e13305d Merge branch 'bugfix/fix-monitor-attribute-error-coredump_v4.4' into 'release/v4.4'
Fix missing coredump in idf_monitor.py (v4.4)

See merge request espressif/esp-idf!17678
2022-04-19 21:48:54 +08:00
Roland Dobai
0a79719b27 Merge branch 'bugfix/python_env_not_installed_by_install.ps1_v4.4' into 'release/v4.4'
tools: fix python-env install by install.ps1 (v4.4)

See merge request espressif/esp-idf!17751
2022-04-19 21:48:36 +08:00
Roland Dobai
c00c343161 Merge branch 'bugfix/flash_from_monitor_on_windows_v4.4' into 'release/v4.4'
Tools: IDF Monitor should flash with the unmodified port (v4.4)

See merge request espressif/esp-idf!17257
2022-04-19 21:46:10 +08:00
Roland Dobai
76037c66d8 Merge branch 'bugfix/s3_otg_compressed_flash_with_stub_v4.4' into 'release/v4.4'
esptool_py: Support ESP32-S3 USB OTG compressed flashing with stub (v4.4)

See merge request espressif/esp-idf!17780
2022-04-19 21:45:21 +08:00
morris
3e262942fb esp_lcd: remove lvgl v7 port in test cases
LVGL porting examples are temporarily left in test folder.
Now we can remove it, as we have lvgl examples in esp-idf.
And lvgl v7 is legacy, we recommend to use lvgl v8
2022-04-19 13:01:13 +00:00
morris
d23c3fb314 gdma: correct the iram placement logic 2022-04-19 13:01:13 +00:00
morris
5f28db177d i80_lcd: support PSRAM buffer for esp32s3 2022-04-19 13:01:13 +00:00
morris
3e7448d0f3 i80_lcd: support I2S1 LCD mode for esp32 2022-04-19 13:01:13 +00:00
rrforte
862ccae396 spi_lcd: support large color transfer 2022-04-19 13:01:13 +00:00
morris
ab3d75ab75 rgb_lcd: workaround auto-next frame bug
Closes https://github.com/espressif/esp-idf/issues/8620
2022-04-19 13:01:13 +00:00
xiewenxiang
c7ee618b25 Update esp c3/s3 phy lib (aa05aec) 2022-04-19 20:17:21 +08:00
Wang Meng Yang
d54df43d4c Merge branch 'bugfix/bt_add_some_debug_log_v4.4' into 'release/v4.4'
component_bt: Add some bluetooth debug log(v4.4)

See merge request espressif/esp-idf!17614
2022-04-19 20:12:00 +08:00
Wang Meng Yang
37da6d5ede Merge branch 'bugfix/hfp_disc_audio_err_v4.4' into 'release/v4.4'
bugfix/fix_err_when_ag_disc_audio_v4.4

See merge request espressif/esp-idf!17473
2022-04-19 20:07:41 +08:00
Wang Meng Yang
98c41377cc Merge branch 'bugfix/crash_when_reconnect_to_sink_v4.4' into 'release/v4.4'
bugfix/fix the failure of reconnect to sink (v4.4)

See merge request espressif/esp-idf!17476
2022-04-19 20:06:38 +08:00
liqigan
4a88aed12b add missing unlock in btc_spp_cb_handler of BTA_JV_RFCOMM_WRITE_EVT 2022-04-19 20:06:32 +08:00
liqigan
3897d12024 fix SPP initiator can not free resource when connection is failed 2022-04-19 20:06:32 +08:00
Ivan Grokhotkov
3fe117f84d examples: sdmmc: re-enable for ESP32-S3, add Kconfig options for pins 2022-04-19 13:48:54 +02:00
Ivan Grokhotkov
be56c85b18 examples: file_serving: add support for ESP32-S3, refactoring
* Move filesystem mounting code into a separate file to simplify the
  main source file.
* Clean up SDMMC and SDSPI related code. Move pin configuration into
  Kconfig.
* Use same base_path ('/data') for either SPIFFS or SD. Remove the
  check in file_server.c about the base path.
* Update README according to the changes above.
2022-04-19 13:46:37 +02:00
Ivan Grokhotkov
b76971d353 examples: sdspi: use default DMA channel 2022-04-19 13:46:37 +02:00
Ivan Grokhotkov
2d54f4584e driver: sdspi: set default DMA channel compatible with S3, C3 or later 2022-04-19 13:46:37 +02:00
Ivan Grokhotkov
9b1e76360b examples: sdspi: re-enable for ESP32-S3, add Kconfig options for pins 2022-04-19 13:46:36 +02:00
Mahavir Jain
792eb70334 Merge branch 'https_server/min_cert_auth_mode_v4.4' into 'release/v4.4'
https_server: Add config option to set minimum certificate auth mode (v4.4)

See merge request espressif/esp-idf!17796
2022-04-19 16:26:22 +08:00
Mahavir Jain
0c6ad1b7ba Merge branch 'bugfix/smtp_client_v4.4' into 'release/v4.4'
smtp_client: Fix heap leakage (v4.4)

See merge request espressif/esp-idf!17794
2022-04-19 16:24:35 +08:00
Mahavir Jain
2afe86be7f Merge branch 'bugfix/http_code_v4.4' into 'release/v4.4'
esp_http_client, esp_https_ota: Handle HTTP 303 status code (v4.4)

See merge request espressif/esp-idf!17732
2022-04-19 16:24:20 +08:00
Wang Meng Yang
1861ca5700 Merge branch 'bugfix/wifi_prov_mgr_conn_issue_v4.4' into 'release/v4.4'
Wifi_prov_mgr: Fix for device disconnection after pairing (v4.4)

See merge request espressif/esp-idf!17618
2022-04-19 15:47:12 +08:00
David Čermák
677a01851f Merge branch 'bugfix/security_update_pppos_crash_v4.4' into 'release/v4.4'
lw-ip: Apply security fixes from upstream; Fix PPPoS and NAPT ip-forward (v4.4)

See merge request espressif/esp-idf!17419
2022-04-19 15:45:31 +08:00
dizcza
5b54b1d2c0 websocket: Updated Kconfig to use 'echo.websocket.events' echo server
Updated README to show how to run websocket echo server using Flask

Merges https://github.com/espressif/esp-idf/pull/8262
2022-04-19 07:36:53 +00:00
Shubham Kulkarni
7509ca57b5 advanced_https_ota/example_test.py: Update redirect URL test to include two redirects 2022-04-19 07:34:33 +00:00
Shubham Kulkarni
3529b9450e esp_http_client: Add comment for clearing location field in esp_http_client_prepare 2022-04-19 07:34:33 +00:00
Nicklas Frahm
9a7d85c09b esp_http_client: fix redirect by resetting location before parsing
Closes #8563.

Signed-off-by: Nicklas Frahm <nicklas.frahm@gmail.com>
2022-04-19 07:34:33 +00:00
Ivan Grokhotkov
b8050b365e Merge branch 'update/version_4_4_1' into 'release/v4.4'
Update version to 4.4.1

See merge request espressif/esp-idf!17791
2022-04-19 15:29:27 +08:00
songruojing
00229547b2 i2c: Correct hal functions iram placement and remove IRAM_ATTR for i2c_hw_fsm_reset
Closes https://github.com/espressif/esp-idf/issues/8422

(cherry picked from commit 1ceb7c8cd6)
2022-04-18 22:24:47 +08:00
songruo
25668f96e4 gpio: fix wrong GPIO_IS_DEEP_SLEEP_WAKEUP_VALID_GPIO macro
Closes https://github.com/espressif/esp-idf/issues/8733

(cherry picked from commit 0d52cb04dc)
2022-04-18 22:18:17 +08:00
Laukik Hase
c1bb9032c2 https_server: Add config option to min. cert. auth mode
- Added a config option to set the minimum Certificate Verification
  mode to Optional
- When this option is enabled, the peer (the client) certificate
  is checked by the server, however the handshake continues even if
  verification failed.
- By default, the peer certificate is not checked and ignored by the server.

Closes https://github.com/espressif/esp-idf/issues/8664
2022-04-18 11:10:14 +05:30
Laukik Hase
b8263bb5ba smtp_client: Fixed garbage characters being printed
- The R/W buffers were not cleared before reading/writing
  anything new
2022-04-18 10:33:02 +05:30
Laukik Hase
fd80ad82c2 smtp_client: Fix heap leakage
- Freed all allocated resources by Mbed TLS at the end of routine
2022-04-18 10:33:02 +05:30
xiongweichao
3e494ec5fd Add some bluetooth debug log 2022-04-16 07:14:51 +00:00
Michael (XIAO Xufeng)
1329b19fe4 versions: Update version to 4.4.1 2022-04-16 09:43:14 +08:00
Michael (XIAO Xufeng)
9b75e5664e Merge branch 'bugfix/iperf_performance_v4.4' into 'release/v4.4'
Bugfix/iperf performance (v4.4)

See merge request espressif/esp-idf!17600
2022-04-15 15:52:13 +08:00
Michael (XIAO Xufeng)
82f5cc3402 Merge branch 'bugfix/gdbgui_deps_4.4' into 'release/v4.4'
Tools: Fix incompatible package dependencies of gdbgui

See merge request espressif/esp-idf!17742
2022-04-15 15:07:05 +08:00
Cao Sen Miao
4a7f5f41ea spi_flash: esptool temporarily supports H2 clock configurations 2022-04-14 13:22:50 +02:00
Cao Sen Miao
71c2f2618f opi_flash: Add new 16MB opi flash (MXIC25UW12345G) support,
Closes https://github.com/espressif/esp-idf/issues/7996
2022-04-14 19:06:18 +08:00
Roland Dobai
ff84535758 esptool_py: Update to support ESP32-S3 USB OTG compressed flashing with stub 2022-04-14 12:28:28 +02:00
Jiang Jiang Jian
fdb756b8f9 Merge branch 'bugfix/fix_phy_i2c_crash_v4.4' into 'release/v4.4'
esp_phy: Add IRAM_ATTR for phy i2c spinlock (backport v4.4)

See merge request espressif/esp-idf!17757
2022-04-14 18:26:35 +08:00
Nachiket Kukade
c4c8aab39d esp_wifi: Update wifi lib
1. In scan, correctly identify AP's with mixed key mgmt
2. Add API to disable PMF configuration
2022-04-13 10:22:00 +05:30
xiewenxiang
ea1a9f9e3a esp_phy: Add IRAM_ATTR for phy i2c spinlock 2022-04-13 12:15:38 +08:00
simon.chupin
0b7068f287 tools: fix python-env install by install.ps1
Closes https://github.com/espressif/esp-idf/issues/8647
2022-04-12 15:06:25 +02:00
Roland Dobai
734c6f8998 Tools: Fix incompatible package dependencies of gdbgui
Closes https://github.com/espressif/esp-idf/issues/8760
2022-04-12 08:59:30 +02:00
Jiang Jiang Jian
d58b394dc5 Merge branch 'bugfix/fix_i2c_critical_and_iram_funcations_v4.4' into 'release/v4.4'
Update esp c3/s3 phy lib (dcbe608)

See merge request espressif/esp-idf!17714
2022-04-11 15:02:15 +08:00
Shubham Kulkarni
d485a8cd35 esp_https_ota: Add check for 303 and 308 status code
Closes https://github.com/espressif/esp-idf/issues/8581
2022-04-11 09:42:51 +05:30
Shubham Kulkarni
98c2132498 esp_http_client: Add new status code 303 and 308 2022-04-11 09:42:47 +05:30
xiewenxiang
b37df7e3df Update esp c3/s3 phy lib (dcbe608) 2022-04-08 16:42:50 +08:00
Michael (XIAO Xufeng)
b436132f9f Merge branch 'bugfix/phy_regi2c_critical_section_v4.4' into 'release/v4.4'
esp_phy: use spinlock to avoid regi2c access conflicts (v4.4)

See merge request espressif/esp-idf!17691
2022-04-07 19:23:51 +08:00
Ondrej Kosta
2dff50c3e2 Eth iperf default sdkconfig: Enable lwIP IRAM optimization 2022-04-06 10:44:31 +00:00
Ondrej Kosta
4d581456e4 Added bandwidth limitaion option to iperf test scripts 2022-04-06 10:44:31 +00:00
Ondrej Kosta
3f7cf8a540 iperf: added Tx bandwidth limit option 2022-04-06 10:44:31 +00:00
Ondrej Kosta
ba62cbc04f Fixed Ethernet lwIP netif error indication 2022-04-06 10:44:31 +00:00
Michael (XIAO Xufeng)
d378ca2b78 esp_phy: use spinlock to avoid regi2c access conflicts 2022-04-06 12:18:23 +08:00
Michael (XIAO Xufeng)
8522bb1178 regi2c: use safe version of spinlock, instead of ISR ver 2022-04-06 09:34:43 +08:00
Elbert van de Put
154778c2a3 example/modbus_master: fix the assert for uart_set_pin
Signed-off-by: aleks <aleks@espressif.com>

Closes https://github.com/espressif/esp-idf/pull/8607
2022-04-05 09:14:08 +00:00
Martin Gaňo
1459ac0915 Fix coredump attribute error in idf_monitor.py
Closes https://github.com/espressif/esp-idf/issues/8651
2022-04-04 14:20:44 +02:00
Vamshi Gajjela
b33e7f27ea vfs: bugfix vfs_fat_write/pwrite upon disk-full
Closes https://github.com/espressif/esp-idf/issues/5027
2022-03-30 09:55:57 +02:00
Michael (XIAO Xufeng)
f5ee7093b8 Merge branch 'test/disable_touch_sleep_testcase_v4.4' into 'release/v4.4'
touch: add protection for touch sleep case (v4.4)

See merge request espressif/esp-idf!17611
2022-03-30 15:24:15 +08:00
Michael (XIAO Xufeng)
4e827ca09b adc_cal: fixed the assertion failure or returning wrong error code when ADC2 failed the arbitration
Issue exist since first IDF version supporting ESP32-S2.
2022-03-28 10:23:48 +00:00
Isha Pardikar
916533ef92 Merge branch 'bugfix/wifi_prov_mgr_conn_issue' into 'release/v4.4'
NimBLE: Fixed device disconnection issue of wifi prov mgr

Closes IDF-4655

See merge request espressif/esp-idf!17618
2022-03-28 11:49:09 +05:30
Michael (XIAO Xufeng)
472cbbe73b Merge branch 'bugfix/disable_touch_sleep_s3_v4.4' into 'release/v4.4'
touch_sensor: forbid from using touch sensor with sleep on ESP32-S3 (v4.4)

See merge request espressif/esp-idf!17579
2022-03-28 11:27:51 +08:00
Michael (XIAO Xufeng)
b6c2c80e44 touch: add protection for touch sleep case 2022-03-27 02:44:47 +08:00
Michael (XIAO Xufeng)
36d989b16c spi: fixed crash when calling spi_bus_free when not initialized
introduced in 49a48644e4

Closes: https://github.com/espressif/esp-idf/issues/8642
2022-03-27 02:33:18 +08:00
Michael (XIAO Xufeng)
3503ee41ca sleep: fixed the issue error log not printed 2022-03-25 14:50:26 +08:00
Michael (XIAO Xufeng)
ea27a8543a touch_sensor: forbid from using touch sensor with sleep on ESP32-S3
This is not supported yet.
2022-03-25 14:50:26 +08:00
Tomas Rezucha
161eaeed25 usb_host: Don't build CDC host driver for unsupported targets 2022-03-18 14:49:58 +01:00
intern
cc054605a0 docs: backport jtag_debugging docs 2022-03-15 18:59:21 +08:00
Shang Zhou
e9e77e3598 docs: backport cn translation for mr16635 2022-03-14 11:36:43 +08:00
jincheng
c265a31c97 fix the failure of reconnect to sink 2022-03-14 11:24:17 +08:00
jincheng
500e4bd06d correct the rate of data-producing
Closes https://github.com/espressif/esp-idf/issues/7911
2022-03-14 10:42:36 +08:00
Marek Fiala
fdee1faf1e tools: set baudrate and port with otatool.
Bugfix: Allow setting options port -p and baudrate -b, with idf.py otatool commands.

Closes https://github.com/espressif/esp-idf/issues/8317
2022-03-11 15:30:56 +01:00
Roland Dobai
c29343eb94 Merge branch 'feature/update_esptool_v4.4' into 'release/v4.4'
esptool: Update esptool submodule (v4.4)

See merge request espressif/esp-idf!17454
2022-03-11 16:00:22 +08:00
Shang Zhou
5da4a79b04 docs: backport cn translation for mr16425 2022-03-11 15:25:52 +08:00
KonstantinKondrashov
353abc5702 esptool: Update esptool submodule 2022-03-11 06:39:30 +00:00
laokaiyao
19faa6ef43 touch: fix the touch sensor wait cycle on s3 2022-03-11 06:24:07 +00:00
David Cermak
47414efe0b lwip: Security fixes; PPPoS null-deref; NAPT ip-forward
* Cherry-pick important fixes to 2.1.2-esp
  - CVE-2020-22283: Attacker could craft a packet that would disclose 8 bytes of some heap memory:
    - icmp6: Don't copy too much data
    - icmp6: Fix copying of chained pbuf in reply
    - icmp6: keep to the RFC and send as much as possible with icmp6 error messages
  - CVE-2020-22284: ZEP - ZigBee Encapsulation Protocol/6LoWPAN is not supported in IDF,
    the netif module (zepif.c) is not included in the build, but users can still inject
    the file into compilation process, implement IO interface and use this.
    - zepif: Copy possibly chained output pbuf properly
    - Add #define for minimum IPv6 MTU length
    - pbuf: Add pbuf_copy_partial_pbuf library function
* PPPoS: Fix null-deref when processing double break packet
  - pppos: fix in_tail null (espressif/esp-lwip@537c69d5)
  - PPP: Add test exhibiting empty packet null-deref (espressif/esp-lwip@202a07da)
* NAPT: Fix PBUF_REF type to clone the pbuf before forwarding
  - IP-FORWARD: If packet-type is PBUF_REF clone it before forwarding
  - Add NAPT unit test to exercise NAT feature for both RAM and REF pbuf types
* version: Update version numbers to match 2.1.2-esp

* Update submodule: 2749568fe1...76303df238
  - test/napt: Add unit test for IP forward with PBUF_REF (espressif/esp-lwip@76303df2)
  - napt: Fix PBUF_REF type to clone the pbuf before forwarding (espressif/esp-lwip@39068263)
  - version: Update version numbers to match 2.1.2-esp (espressif/esp-lwip@2b922919)
  - pppos: fix in_tail null (espressif/esp-lwip@537c69d5)
  - PPP: Add test exhibiting empty packet null-deref (espressif/esp-lwip@202a07da)
  - pbuf: Add pbuf_copy_partial_pbuf library function (espressif/esp-lwip@1c9cd9c1)
  - Add #define for minimum IPv6 MTU length (espressif/esp-lwip@d2dc577b)
  - zepif: Copy possibly chained output pbuf properly (espressif/esp-lwip@64ab7f2a)
  - icmp6: Don't copy too much data (espressif/esp-lwip@4a64731b)
  - icmp6: Fix copying of chained pbuf in reply (espressif/esp-lwip@7c822ff4)
  - icmp6: keep to the RFC and send as much as possible with icmp6 error messages (espressif/esp-lwip@29100ab6)
  - dns: Add API to clear dns cache (espressif/esp-lwip@ee59f77d)
  - CI: Fixed adding gitlab key (espressif/esp-lwip@5a2bdba7)
  - test case: modify test case test_tcp_new_max_num_remove_FIN_WAIT_1 (espressif/esp-lwip@6b090f7d)

Closes https://github.com/espressif/esp-idf/issues/8300
Closes https://github.com/espressif/esp-idf/issues/8451
2022-03-11 06:05:39 +00:00
morris
45dcc4384c Merge branch 'feature/emac_start_stop_test_v4.4' into 'release/v4.4'
test_emac: extended Ethernet start/stop stress test (v4.4)

See merge request espressif/esp-idf!17306
2022-03-11 10:38:40 +08:00
Ondrej Kosta
11ae0ed007 increased parallel count of UT_T1_1 test 2022-03-10 15:59:07 +01:00
Wang Meng Yang
7a2068c864 Merge branch 'feature/update_hfp_hf_version_v4.4' into 'release/v4.4'
Update HFP_HF version to 1.7.2(v4.4)

See merge request espressif/esp-idf!17382
2022-03-10 20:20:16 +08:00
Ondrej Kosta
7768c389ad Created EMAC start/stop stress test under heavy traffic 2022-03-10 10:15:34 +01:00
Ondrej Kosta
d53094bdc0 esp_eth: EMAC start/stop optimization 2022-03-10 10:15:34 +01:00
Krzysztof Budzynski
c469316970 Merge branch 'docs/add_note_for_malloc_cap_dma_backport_v4.4' into 'release/v4.4'
docs: add note for MALLOC_CAP_DMA for ESP32-S2 according to customer feedback (backport v4.4)

See merge request espressif/esp-idf!17343
2022-03-10 17:10:10 +08:00
morris
0fca632ffd Merge branch 'bugfix/modbus_fix_start_after_destroy_issues_v44' into 'release/v4.4'
modbus: fix tcp slave destroy issues (backport v4.4)

See merge request espressif/esp-idf!17406
2022-03-09 09:48:36 +08:00
Marius Vikhammer
c9ce438466 Merge branch 'bugfix/inline_intrmask_from_isr_v4.4' into 'release/v4.4'
freertos: always inline xPortSetInterruptMaskFromISR and vPortClearInterruptMaskFromISR (v4.4)

See merge request espressif/esp-idf!17325
2022-03-09 09:38:36 +08:00
morris
121ddb87e5 Merge branch 'bugfix/fix_adc_digital_not_reset_issue_v4.4' into 'release/v4.4'
adc: fix adc digital part not reset issue (v4.4)

See merge request espressif/esp-idf!17375
2022-03-08 23:16:33 +08:00
aleks
d7fafdc916 freemodbus: fix port enable disable sequence for tcp master and slave 2022-03-08 10:07:19 +01:00
aleks
ba9c0c29a9 modbus: fix tcp slave destroy issues
Closes https://github.com/espressif/esp-idf/issues/8211
2022-03-08 09:52:54 +01:00
Roland Dobai
c45dee0a7a Merge branch 'bugfix/idf_size_assertions_v4.4' into 'release/v4.4'
tools: Fix assertion messages and fix some of them in idf_size.py (v4.4)

See merge request espressif/esp-idf!17348
2022-03-08 02:58:04 +08:00
morris
1b06c55ab1 Merge branch 'bugfix/fix_adc_calibration_light_sleep_issue_v4.4' into 'release/v4.4'
adc: fix calibration error when waking up from light sleep (v4.4)

See merge request espressif/esp-idf!16930
2022-03-07 19:01:31 +08:00
xiongweichao
898a7d071b Update HFP_HF version to 1.7.2 2022-03-07 18:16:05 +08:00
Jiang Jiang Jian
dc7cb6de4b Merge branch 'bugfix/ignore_pmf_capable_flag_v4.4' into 'release/v4.4'
Always connect Station in PMF mode if possible (Backport v4.4)

See merge request espressif/esp-idf!17036
2022-03-07 16:24:44 +08:00
Armando
e1515beb26 adc: fix adc digital not reset issue 2022-03-07 11:40:18 +08:00
Armando
d53ea1166d rng: fix rng adc digital inpu not disabled issue 2022-03-07 11:39:27 +08:00
Armando
32afe6a498 sleep: restore analog calibration registers after waking up from light sleep
Closes https://github.com/espressif/esp-idf/issues/8287
Closes https://github.com/espressif/esp-idf/issues/7921
2022-03-07 11:28:48 +08:00
Jiang Jiang Jian
92a67e0fff Merge branch 'bugfix/add-resolution-suggestion-for-coredump_v4.4' into 'release/v4.4'
idf_monitor.py: Remove line finalization when coredump is in progress to avoid coredump failure (v4.4)

See merge request espressif/esp-idf!17364
2022-03-07 11:04:50 +08:00
Jiang Jiang Jian
a97dd5e0e9 Merge branch 'bugfix/ble_mesh_console_correct_repl_config_prompt_forv4.4' into 'release/v4.4'
ble mesh:example:correct repl config prompt in ble mesh console(v4.4)

See merge request espressif/esp-idf!17183
2022-03-07 11:03:54 +08:00
Yuan Hong Hui
b2e67d6ff1 ble mesh:example:correct repl config prompt in ble mesh console(v4.4) 2022-03-07 11:03:54 +08:00
Jiang Jiang Jian
3d2700146e Merge branch 'bugfix/uart_no_int_after_flush_v4.4' into 'release/v4.4'
UART: RX interrupts are now properly restored after a flush (backport v4.4)

See merge request espressif/esp-idf!17122
2022-03-07 11:03:33 +08:00
Jiang Jiang Jian
d326c5283d Merge branch 'bugfix/ledc_consecutive_fade_v4.4' into 'release/v4.4'
ledc: Bugfixes for issues related to fade protection (backport v4.4)

See merge request espressif/esp-idf!16953
2022-03-07 11:00:46 +08:00
Jiang Jiang Jian
964db79c0e Merge branch 'docs/add_a_note_to_mck_io_num_v4.4' into 'release/v4.4'
docs: add a note to mck_io_num: for esp32, only gpio0/gpio1/gpio3 can be set (v4.4)

See merge request espressif/esp-idf!16694
2022-03-07 11:00:25 +08:00
Island
3c9657fa4e Merge branch 'feature/add_proxy_conn_and_disconn_event_v4.4' into 'release/v4.4'
ble_mesh: stack: Add proxy server connect and disconnect event (v4.4)

See merge request espressif/esp-idf!16993
2022-03-06 14:10:20 +08:00
wangjialiang
90083fcbb7 ble_mesh: stack: Bugfix the proxy client abnormal disconnection 2022-03-04 12:33:15 +00:00
wangjialiang
1016801eaf ble_mesh: stack: Add proxy server connect and disconnect event 2022-03-04 12:33:15 +00:00
Martin Gaňo
eed93ac5bb Remove line finalization when coredump is active to avoid coredump failure
Closes https://github.com/espressif/esp-idf/issues/8099
2022-03-04 11:40:32 +01:00
Wang Fang
21cdaeade9 docs: add a note to mck_io_num: for esp32, only gpio0/gpio1/gpio3 can be set 2022-03-04 07:00:18 +00:00
Jiang Jiang Jian
380ee4b87a Merge branch 'bugfix/update_stack_init_check_v4.4' into 'release/v4.4'
Nimble: Remove stack initialization status from unwanted functions (v4.4)

See merge request espressif/esp-idf!17234
2022-03-04 14:11:23 +08:00
Jiang Jiang Jian
975b525e03 Merge branch 'bugfix/add_pll_track_feature_mr_4.4' into 'release/v4.4'
Add pll track feature

See merge request espressif/esp-idf!17285
2022-03-04 13:54:19 +08:00
morris
f17a435ea7 Merge branch 'refactor/i2s_deprecate_confusing_names_v4.4' into 'release/v4.4'
i2s: Add detailed comments for confusing names (v4.4)

See merge request espressif/esp-idf!16748
2022-03-04 13:18:32 +08:00
Mahavir Jain
103cab3664 Merge branch 'bugfix/tcp_iperf_example_issue_for_4.4' into 'release/v4.4'
wifi:bugfix for iperf issue(backport v4.4)

See merge request espressif/esp-idf!17334
2022-03-04 11:15:11 +08:00
morris
75cfdc63c8 Merge branch 'ci/test_utils_ipc_stack_v4.4' into 'release/v4.4'
CI: increase IPC stack size for test_utils configs (v4.4)

See merge request espressif/esp-idf!17353
2022-03-04 10:44:19 +08:00
Marius Vikhammer
03cf81087b CI: increase IPC stack size for test_utils configs 2022-03-04 09:19:09 +08:00
Ivan Grokhotkov
89f57f3402 Merge branch 'bugfix/rom_time_t_size_deps_v4.4' into 'release/v4.4'
esp_rom: remove functions which depend on sizeof(struct stat) and all their callers (v4.4)

See merge request espressif/esp-idf!17040
2022-03-04 04:38:42 +08:00
Jiang Jiang Jian
169008616b Merge branch 'bugfix/a2dp_sniff_v4.4' into 'release/v4.4'
Fix crash when host exit sniff mode(v4.4)

See merge request espressif/esp-idf!17313
2022-03-03 23:37:37 +08:00
morris
aa260a9376 Merge branch 'bugfix/i2s_mono_issue_on_c3_s3_v4.4' into 'release/v4.4'
🔧 i2s: fix bug of switching mono/stereo mode by 'i2s_set_clk' on c3/s3 (v4.4)

See merge request espressif/esp-idf!17331
2022-03-03 21:54:20 +08:00
Roland Dobai
524da1e4af Tools/idf_size.py: Support .noinit sections
Closes https://github.com/espressif/esp-idf/issues/8428
2022-03-03 13:55:46 +01:00
Roland Dobai
68a8a7de0d tools/idf_size.py: Identify objects without extension in MAP files 2022-03-03 13:55:46 +01:00
morris
0f11ac2bd3 Merge branch 'bugfix/i2s_dac_incorrect_clock_v4.4' into 'release/v4.4'
i2s: fix adc/dac clock calculation (v4.4)

See merge request espressif/esp-idf!17336
2022-03-03 20:37:43 +08:00
Mahavir Jain
a472035d97 Merge branch 'feature/websocket_server_support_close_handle_v4.4' into 'release/v4.4'
esp_http_server: Websocket CLOSE frame can support callback function (backport v4.4)

See merge request espressif/esp-idf!17339
2022-03-03 18:40:34 +08:00
Mahavir Jain
e6bbfb085f Merge branch 'bugfix/http_client_body_v4.4' into 'release/v4.4'
esp_http_client: Fix data corruption in http_on_body callback (v4.4)

See merge request espressif/esp-idf!17314
2022-03-03 18:29:26 +08:00
Shang Zhou
d7f8526207 docs: add note for MALLOC_CAP_DMA for ESP32-S2 according to customer feedback 2022-03-03 16:54:18 +08:00
xueyunfei
e00580109b examples/common_components: iperf: fix closing of client socket in TCP server mode
Details of the problem : After iperf ended, the socket was not closed, resulting in the WIFI buffer not being released.
2022-03-03 15:47:58 +08:00
yuanjm
3b91281c91 esp_http_server: Websocket CLOSE frame can support callback function
Closes https://github.com/espressif/esp-idf/issues/7493
2022-03-03 15:46:09 +08:00
laokaiyao
299d496c30 i2s: add detailed comments to some fileds (v4.4) 2022-03-03 05:55:35 +00:00
laokaiyao
15e8601cfc i2s: add mclk_div underflow check
Closes https://github.com/espressif/esp-idf/issues/8344
2022-03-03 12:23:47 +08:00
Stephan Hadinger
19f4eca4b9 Fix for mclk/bclk divisors #8326
Merges https://github.com/espressif/esp-idf/pull/8327
2022-03-03 12:23:47 +08:00
Shubham Kulkarni
7600869c35 esp_http_client: Cache received data in http_on_body callback.
This change fixes issue with data loss when multiple body chunks are
received after calling esp_http_client_fetch_headers.
2022-03-03 03:54:37 +00:00
laokaiyao
86d78c1592 i2s: fix bug of switching mono/stereo mode by 'i2s_set_clk' on c3/s3 2022-03-03 03:23:41 +00:00
Michael (XIAO Xufeng)
eff03cbbd9 Merge branch 'feat/support_mxic_unlock_v4.4' into 'release/v4.4'
spi_flash: support unlock MXIC flash chips (v4.4)

See merge request espressif/esp-idf!17251
2022-03-03 11:13:09 +08:00
xiongweichao
d8c7c41a43 Fix crash when host exit sniff mode 2022-03-03 02:59:31 +00:00
Marius Vikhammer
2792b95c83 docs: fix missing static file path
Also update layout of version table
2022-03-03 10:48:20 +08:00
Marius Vikhammer
1690785432 spi flash: fix cache accessed while disabled issues at -O0
mask_get_id and gpio_hal_iomux_func_sel were called while cache
is disabled, but were not inlined as expected at -0O.
Force these functions to always be inlined.
2022-03-03 09:45:22 +08:00
Marius Vikhammer
3a7ec8acfa freertos: always inline xPortSetInterruptMaskFromISR and vPortClearInterruptMaskFromISR
These were called from IRAM context where the caller expect them to be inlined
and accessible when cache is disabled. This was not the case when compiled with -O0.

Closes https://github.com/espressif/esp-idf/issues/8301
2022-03-03 09:44:31 +08:00
Mahavir Jain
6ee5e622e8 Merge branch 'bugfix/http_client_ci_v4.4' into 'release/v4.4'
esp_http_client example: Use dl.espressif.com URL for performing request with Range header (v4.4)

See merge request espressif/esp-idf!17316
2022-03-03 00:55:23 +08:00
Jiang Jiang Jian
f0e894e540 Merge branch 'bugfix/remove_c_series_chips_unsupported_efuse_field_backport_v4.4' into 'release/v4.4'
efuse: free esp32c3/esp32h2 unused efuse field (backport v4.4)

See merge request espressif/esp-idf!17292
2022-03-02 18:36:13 +08:00
Mahavir Jain
05bf1cd0f5 Merge branch 'fix/prod_mode_in_configure_ds_script_v4.4' into 'release/v4.4'
configure_ds.py: Fix the error for prod mode. They script now only verifies... (v4.4)

See merge request espressif/esp-idf!17209
2022-03-02 17:19:23 +08:00
Mahavir Jain
27e49aee72 Merge branch 'bugfix/check_chip_id_at_start_ota_v4.4' into 'release/v4.4'
esp_https_ota: fix for checking chip id at start of OTA (v4.4)

See merge request espressif/esp-idf!17220
2022-03-02 17:19:14 +08:00
morris
5f56bbd2d0 Merge branch 'bugfix/rtcio_increase_size_v4.4' into 'release/v4.4'
sleep: fixed ext1 cannot wakeup via RTCIO >= 18 issue (v4.4)

See merge request espressif/esp-idf!17201
2022-03-02 16:53:05 +08:00
Mahavir Jain
ae2a6e40ab Merge branch 'bugfix/spiffs_example_test_v4.4' into 'release/v4.4'
examples/spiffs: increase test timeout (v4.4)

See merge request espressif/esp-idf!17265
2022-03-02 16:51:59 +08:00
morris
64f41ed6c4 Merge branch 'bugfix/bootloader_uart_custom_gpio_v4.4' into 'release/v4.4'
bootloader: fixed the issue custom_uart_gpio doesn't take effect (v4.4)

See merge request espressif/esp-idf!17307
2022-03-02 16:50:49 +08:00
morris
2e8df440c1 Merge branch 'feature/usb_host_cleanup_v4.4' into 'release/v4.4'
USB: Host stack cleanup and QOL update + wTotalLength Fix + omit MSC reset (v4.4.1)

See merge request espressif/esp-idf!16678
2022-03-02 16:49:38 +08:00
Roland Dobai
0ccee00059 Merge branch 'bugfix/coredump_data_section_v4.4' into 'release/v4.4'
espcoredump: fix a bug where tracked DRAM data where not dumped (v4.4)

See merge request espressif/esp-idf!17120
2022-03-02 16:48:00 +08:00
Roland Dobai
66e6cac168 Merge branch 'bugfix/tools_fix_gdb_2021r2_patch3_v4.4' into 'release/v4.4'
tools: update esp-2021r2-patch3 toolchain for fixing GDB (v4.4)

See merge request espressif/esp-idf!17245
2022-03-02 16:47:04 +08:00
Michael (XIAO Xufeng)
143c62d95d Merge branch 'bugfix/uart_custom_isr_test_disable_brk' into 'release/v4.4'
UART: Fix custom ISR unit test (v4.4)

See merge request espressif/esp-idf!17232
2022-03-02 16:45:07 +08:00
Shubham Kulkarni
81f8dce34c examples/esp_http_client: Use dl.espressif.com URL for performing request with Range header
esp_http_client_test.py: Add check for range request log
2022-03-02 13:20:28 +05:30
songruojing
2ef6b8845b uart: fixed reset logic on ESP32-S3 2022-03-02 02:42:46 +08:00
songruojing
bdd7610e66 uart: fixed incorrect channel number on ESP32S2, S3 and C3 2022-03-02 02:42:06 +08:00
Michael (XIAO Xufeng)
8543d1b88a bootloader: fixed the issue custom_uart_gpio doesn't take effect 2022-03-02 02:40:45 +08:00
Yang Zhao
2bdea81b2a Update ESP32-C3 and ESP32-S3 bt lib and phy lib
Add the pll track feature to keep the ble connection stable when the environment
temprature increase form 0 to 74.
2022-03-01 14:56:47 +08:00
Nachiket Kukade
659306b243 esp_wifi: Always connect Station in PMF mode if possible
While using esp_wifi_set_config, flag pmf_capable defaults to 0.
Users may not bother to enable it, which prevents connection to a
WPA3 AP. Or the AP may reset into WPA3 mode failing the re-connection.
To ensure better security, deprecate the pmf_capable flag and set it to
true internally.
2022-02-28 17:55:42 +05:30
wuzhenghui
e6e76195e8 remove in esptool 2022-02-28 17:40:02 +08:00
wuzhenghui
6c2f5a16bb remove esp32h2 unsupported efuse field 2022-02-28 17:33:12 +08:00
wuzhenghui
c6aa1cf732 remove esp32c3 unsupported efuse field 2022-02-28 17:26:28 +08:00
Mahavir Jain
377267775c examples/spiffs: increase test timeout
This is to address frequent CI test failure where test most likely
timeouts during SPIFFS formatting operation.
2022-02-24 09:19:53 +05:30
Roland Dobai
b600c5f30a Tools: IDF Monitor should flash with the unmodified port
Closes https://github.com/espressif/esp-idf/issues/8432
2022-02-23 13:35:42 +01:00
Michael (XIAO Xufeng)
e835599979 bootloader: support unlock MXIC flash chips 2022-02-23 16:23:34 +08:00
Anton Maklakov
48f8a7a26e test_apps/panic: GDB in esp-2021r2-patch3 toolchain doesn't contain the fix for interrupted backtraced
Revert "test_apps/panic: remove workaround for incorrect GDB backtrace"

This reverts commit 4548b6da63.
2022-02-23 10:52:05 +07:00
Anton Maklakov
1982883618 tools: update esp-2021r2-patch3 toolchain for fixing GDB
Closes https://github.com/espressif/esp-idf/issues/8065
    Closes https://github.com/espressif/esp-idf/issues/8342
    Closes https://github.com/espressif/openocd-esp32/issues/210
2022-02-23 09:20:43 +07:00
Rahul Tank
ae546316d3 Nimble: Check stack initialization status before executing stack command
Previous commit added checks in some functions that can be called
    without stack initalization. Corrected such instances.
2022-02-22 10:26:43 +05:30
Omar Chebib
2fb3824dfa UART: Fix custom ISR unit test
On ESP32, UART_INTR_BRK_DET may be triggered after setting the new ISR handler.
Disable these interrrupts.
2022-02-22 10:54:06 +08:00
Omar Chebib
9a36ced294 espcoredump: add a test for coredump dumped sections 2022-02-22 02:38:00 +00:00
Omar Chebib
b868fd2a95 espcoredump: fix a bug where tracked DRAM data where not dumped
Variables marked as COREDUMP_DRAM_ATTR will now be part of the core dump.

* Closes https://github.com/espressif/esp-idf/issues/8151
2022-02-22 02:38:00 +00:00
Omar Chebib
1e117f2f83 UART: RX interrupts are now properly restored after a flush
Added a unit test to make sure the expected behavior happens
2022-02-22 02:28:21 +00:00
Harshit Malpani
bf7934aa84 esp_https_ota: fix for checking chip id at start of OTA 2022-02-21 13:55:53 +05:30
Aditya Patwardhan
e37d149233 configure_ds.py: Fix the error for prod mode. They script now only verifies the purpose in the prod mode.
Closes https://github.com/espressif/esp-idf/issues/8285
2022-02-21 01:33:00 +05:30
Martin Valik
d2a2a315ba Bugfix: omit MSC reset during initialization 2022-02-18 15:51:05 +08:00
Martin Valik
e898e4b2f5 Bugfix: make wTotalLength uint16_t to avoid truncation 2022-02-18 15:51:05 +08:00
Darian Leung
c46b74191e usb: Add USB Host Library documentation
This commit adds the USB Host Library documentation and fixes some nitpicks
in the Host Stack types.

Closes https://github.com/espressif/esp-idf/issues/6408
2022-02-18 15:51:05 +08:00
Darian Leung
6f6986277c usb: Add USB Host Library Example
The commit adds a basic example for the USB Host Library
2022-02-18 15:51:05 +08:00
Darian Leung
ebd058c8c9 usb: Update USB Host Library
This commit updates the USB Host Library as follows:

- usb_helpers.h
    - Removed dependency on USB Host Library API
    - Added function to print string descriptors
- usbh
    - Fixed bug where an interface/endpoint could be claimed/allocated multiple times
    - Removed redundant device ref_count change
- Added unit test for USB Host Library API usage
2022-02-18 15:51:05 +08:00
Darian Leung
50bbdbc1de usb: Hub Driver and USBH recover port automatically after disconnection
This commit updates the Hub Driver and USBH as follows:
- Updated communication mechanism between Hub Driver and USBH
    - USBH notifies the Hub Driver via Hub request callback (usbh_hub_req_cb_t)
    - Hub Driver notifies the USBH via usbh_hub_pass_event()
- Hub Driver now defers all event handling to hub_process.
- Hub Driver and USBH will now automatically recover the port after a disconnected
    device has been closed.
- Fixed incorrect assert in usbh_dev_close()
2022-02-18 15:51:05 +08:00
Darian Leung
ea6de613bf usb: Hub Driver Update and Refactor
Hub Driver is refactored as follows:

This commit update and refactors the Hub Driver as follows:

- Refactored enumeration state machine and stage functions
    - Enumeration stage is now incremented
    - Combined transfer stages of enumeration into common functions
- Comments updated
- Fixed usbh_hal_disable_debounce_lock() that would cause root_port_handle_events()
    to fail the HCD_PORT_CMD_RESET call because the previous port connection interrupt
    was not cleared.

The following features were added to the Hub Driver

- Enumeration config descriptor is now fetched in two separate stages
    - Header is fetched first to determine the wTotalLength of the descriptor
    - Fetching the full descriptor will request exactly wTotalLength bytes
    - This works around some non-compliant devices that will babble/return zero
        when requesting a length > wTotalLength
    - Closes https://github.com/espressif/esp-idf/issues/7799
- Enumeration now stores string descriptors
    - The Manufacturer, Product, and Serial Number string descriptors are
        now read and stored during enumeration
    - String descriptors are now part of usb_device_info_t
- Added unit test to test enumeration
2022-02-18 15:51:05 +08:00
Darian Leung
7f09fe1b23 usb: USB Host stack uses USB PHY driver
This commit updates the USB Host stack to use the USB PHY driver. The
USB PHY and the OTG Controller should now both be setup/deleted using
usb_new_phy() and usb_del_phy() respectively.

- The hcd_install() now expects the USB PHY and OTG Contorller to be
    already setup before it is called
- usb_host_install() now has an option to skip calling usb_del_phy() if
    the user wants to setup their own USB PHY (e.g., in the case of using
    and external PHY).
- CDC-ACM and MSC examples/test updated to use internal PHY

Closes https://github.com/espressif/esp-idf/issues/8061
2022-02-18 15:51:05 +08:00
Darian Leung
b3b8ed79c8 usb: HCD multiple fixes
This commit fixes the following bugs in the HCD

- HCD control pipes fill incorrect transfer size

_buffer_fill_ctrl() would fill the transfer descriptors length with
wLength instead of transfer->num_bytes. Therefore, the remaining length
would be incorrect when a control transfer requests more bytes than are
available.

- Fix USB_TRANSFER_FLAG_ZERO_PACK behavior

The previous behavior of USB_TRANSFER_FLAG_ZERO_PACK was incorrect, and did not
support interrupt pipes. A zero length packet can now be added to Bulk/Interrupt
OUT transfers where the length is a multiple of the endpoint's MPS.

- Fixed HCD port suspend and resume test case

Halting a control pipe mid control transfer can lead some test devices to get stuck
2022-02-18 15:51:05 +08:00
Darian Leung
8888179439 usb: Tidy up usbh
- Remove enum_todo_flags from usbh
- USBH move config_desc to constant fields
2022-02-18 15:51:05 +08:00
Zim Kalinowski
000d3823bb Merge branch 'cumulative_backport_into_v4.4' into 'release/v4.4'
Cumulative backport MR (v4.4)

See merge request espressif/esp-idf!17194
2022-02-18 07:16:52 +00:00
Marius Vikhammer
cdfd59cc0e docs: update copyright date for docs automatically 2022-02-18 12:59:12 +08:00
Zim Kalinowski
a8c073c1cc fixed trailing whitespace 2022-02-18 12:58:53 +08:00
Zim Kalinowski
dc4783945a freertos: Move Espressif's specific esp_reent_init into collective ifdef 2022-02-18 12:58:53 +08:00
Omar Chebib
7caacf20c1 Documentation: added ESP32S3 interrupt allocation doc 2022-02-18 12:36:05 +08:00
KonstantinKondrashov
90c63f7250 esp_system: ipc_isr does not use its own initialization task, it is done from ipc_task()
It helps to reduce the memory usage at startup.

Closes https://github.com/espressif/esp-idf/issues/8111
2022-02-18 12:36:05 +08:00
Michael (XIAO Xufeng)
21b80a969f soc: updated soc_caps about rtc_io and the format 2022-02-18 11:44:43 +08:00
Michael (XIAO Xufeng)
fd20ac807c sleep: fixed ext1 cannot wakeup via RTCIO >= 18 issue
Closes https://github.com/espressif/esp-idf/issues/8231
2022-02-18 11:44:20 +08:00
Jakob Hasse
c904b4807b bugfix (nvs): Fixed issues found by Coverity
*  Fixed potential memory leak
*  Fixed wrong strncpy usage
*  Fixed potential out of bounds access
2022-02-17 22:22:26 +08:00
Marius Vikhammer
f3639dafc8 freertos: add pm_trace header include 2022-02-17 22:22:26 +08:00
Chip Weinberger
9cc4c2f34d SPIRAM: 'Abort on allocation failure' should not trigger when there is available SPI ram
(cherry picked from commit 8dcdb2f363fd3fa00bd77e4bd75e7c73d6c7d0fb)
2022-02-17 22:22:26 +08:00
Jiang Jiang Jian
5ff09f0a06 Merge branch 'bugfix/modbus_allow_address_gaps_in_master_data_dict_v44' into 'release/v4.4'
freemodbus: allow address gaps in master data dictionary (support of UID field in MBAP) (backport v4.4)

See merge request espressif/esp-idf!16896
2022-02-17 08:38:57 +00:00
Alex Lisitsyn
d2399f6d8c freemodbus: allow address gaps in master data dictionary (support of UID field in MBAP) (backport v4.4) 2022-02-17 08:38:56 +00:00
Jiang Jiang Jian
b2ef617a34 Merge branch 'bugfix/fix_ble_adv_underrun_error_v4.4' into 'release/v4.4'
components/bt: Fix ble adv_underrun issue(backport v4.4)

See merge request espressif/esp-idf!17164
2022-02-17 08:30:38 +00:00
Jiang Jiang Jian
38cca53445 Merge branch 'bugfix/assoc_comeback_fail_issue_v4.4' into 'release/v4.4'
Fix assoc comeback causing invalid state & FTM cleanup (Backport v4.4)

See merge request espressif/esp-idf!17170
2022-02-17 04:42:52 +00:00
Jiang Jiang Jian
98c5c7bac8 Merge branch 'bugfix/enterprise_certs_weak_md_v4.4' into 'release/v4.4'
esp_wifi: Fixed issue of weak md for certificates in wifi_enterprise example.(v4.4)

See merge request espressif/esp-idf!16979
2022-02-17 04:40:12 +00:00
Jiang Jiang Jian
b39d0dbf2c Merge branch 'bugfix/usb_default_print_wifi_v4.4' into 'release/v4.4'
esp_phy: enable usb under default(without choosing USB_SERIAL_JTAG) (backport v4.4)

See merge request espressif/esp-idf!17075
2022-02-17 04:15:54 +00:00
Jiang Jiang Jian
f9927119b8 Merge branch 'bugfix/efuse_timesettings_for_esp32s3_v4.4' into 'release/v4.4'
efuse: Fixes eFuse timesettings issue on esp32S3 (v4.4)

See merge request espressif/esp-idf!17177
2022-02-17 04:00:14 +00:00
Jiang Jiang Jian
174bd31bc0 Merge branch 'bugfix/usb_no_rom_log_v4.4' into 'release/v4.4'
USB_SERIAL_JTAG: Fix the issue that there is no rom log when restarting(backport v4.4)

See merge request espressif/esp-idf!17073
2022-02-17 03:59:36 +00:00
Marius Vikhammer
6664e6cf43 ds: update gen_digital_signature_tests.py to handle different max key sizes
Max key size is now decided by target parameter, and related parameters are
no longer hard coded.

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


(cherry picked from commit 4a3f50faa0)
2022-02-17 11:24:54 +08:00
morris
35d5a30d47 Merge branch 'feature/adc_calibration_version_2_on_c3_v4.4' into 'release/v4.4'
adc: upgrade adc calibration algorithm to version 2 on c3 (v4.4)

See merge request espressif/esp-idf!17049
2022-02-17 03:04:35 +00:00
morris
11440c8757 Merge branch 'bugfix/gpio_intr_on_core1_s3_v4.4' into 'release/v4.4'
gpio: Fix the bug that gpio interrupt cannot be triggered on app cpu on ESP32S3 (backport v4.4)

See merge request espressif/esp-idf!16595
2022-02-17 01:47:46 +00:00
David Čermák
ae6f171370 Merge branch 'bugfix/mdns_null_deref_fuzzer_v4.4_' into 'release/v4.4'
mdns: Fix potential null deref reported by fuzzer test(v4.4)

See merge request espressif/esp-idf!17147
2022-02-17 01:21:00 +00:00
David Čermák
bf7266312c Merge branch 'bugfix/esp_eth_start_tx_buff_v4.4_followup' into 'release/v4.4'
Fixed ESP32 EMAC driver `insufficient TX buffer size` (v4.4 followup)

See merge request espressif/esp-idf!16666
2022-02-16 18:33:12 +00:00
David Čermák
299b6538e4 Merge branch 'bugfix/protocols_test_on_eth_v4.4' into 'release/v4.4'
ci/mqtt: Move protocol tests to eth runners(v4.4)

See merge request espressif/esp-idf!17010
2022-02-16 18:31:54 +00:00
David Čermák
538401aa06 Merge branch 'contrib/github_pr_8337_v4.4' into 'release/v4.4'
Set success when closing socket (GitHub PR) (v4.4)

See merge request espressif/esp-idf!17097
2022-02-16 18:31:30 +00:00
KonstantinKondrashov
d011404607 esptool: Fixes esp32h2 target name 2022-02-17 00:14:45 +08:00
Nachiket Kukade
908874c642 esp_wifi: Update wifi lib
1. Fix assoc comeback causing invalid state
2. Better cleanup in some FTM failure cases
2022-02-16 15:51:50 +05:30
KonstantinKondrashov
5c7b597594 efuse: Fixes eFuse timesettings issue on esp32S3 2022-02-16 15:15:27 +08:00
songruojing
60b0d30d9c ci: increase target-test.yml UT_T1_1 job to support newly added LEDC fade ut tests
(cherry picked from commit f5cbe89487)
2022-02-16 15:02:46 +08:00
songruojing
83edf2dbcf ledc: Fix FADE_NO_WAIT mode concurrency problem.
Add test cases for fade concurrency issue and fade timing check.

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

(cherry picked from commit be2ab09832)
2022-02-16 15:02:45 +08:00
songruojing
574f2c6a17 ledc: bugfix - Simplify the procedure to perform a one-time duty update
Avoid adding one extra fade cycle when performing a one-time duty update.
Add some notes to ledc_get_duty and ledc_update_duty APIs, so that users
are aware of when the new duty will be effective.

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

(cherry picked from commit e175086226)
2022-02-16 15:02:45 +08:00
Armando
175132a874 adc: upgrade adc calibration algorithm to version 2 on c3 2022-02-16 14:58:42 +08:00
Ivan Grokhotkov
492afe4d4a esp_adc_cal: move esp_adc_cal_get_voltage into common source file 2022-02-16 14:58:42 +08:00
Ivan Grokhotkov
be542db463 esp_adc_cal: simplify CMakeLists.txt 2022-02-16 14:58:42 +08:00
songruojing
9991b1b021 ci: increase target-test.yml UT_T1_1 job to support newly added ut test 2022-02-16 14:52:39 +08:00
songruojing
41e452e7d8 gpio: Fix the bug that gpio interrupt cannot be triggered on app cpu on ESP32S3
Closes https://github.com/espressif/esp-idf/issues/7885

(cherry picked from commit 91f1159f9c)
2022-02-16 14:50:51 +08:00
songruojing
b722e6f6ec gpio: Bugfix - Move esp_intr_free() out of the critical section in gpio_uninstall_isr_service()
Closes https://github.com/espressif/esp-idf/issues/5571

Fix the bug that if the API was called from one core to free the interrupt source on the other core, it would trigger interrupt watchdog.

(cherry picked from commit 0e8286c57b)
2022-02-16 14:50:51 +08:00
Zim Kalinowski
81861d03c0 Merge branch 'bugfix/fix_i2c_crash_v4.4' into 'release/v4.4'
I2C: Fix I2C Master operation with repeated start condition (backport v4.4)

See merge request espressif/esp-idf!17118
2022-02-16 06:30:44 +00:00
David Cermak
c0e105cc41 mdns: Fix potential null deref reported by fuzzer test 2022-02-16 06:23:57 +00:00
Zim Kalinowski
33f7009bef Merge branch 'bugfix/i2c_spiram_bug_v4.4' into 'release/v4.4'
i2c: fix buffer check when SPIRAM used as a heap (backport v4.4)

See merge request espressif/esp-idf!17098
2022-02-16 05:16:32 +00:00
Jiang Jiang Jian
d483bd9518 Merge branch 'feature/support_eap_fast_release_v4.4' into 'release/v4.4'
Add support for EAP-FAST authentication (backport v4.4)

See merge request espressif/esp-idf!16279
2022-02-16 03:28:15 +00:00
Jiang Jiang Jian
11ec6ed917 Merge branch 'bugfix/eap_client_crash_v4.4' into 'release/v4.4'
wpa_supplicant: Fix memory corruption (v4.4)

See merge request espressif/esp-idf!17128
2022-02-16 03:27:47 +00:00
Jiang Jiang Jian
e3a5a85e2f Merge branch 'feature/gcov_esp32c3_v4.4' into 'release/v4.4'
debug_stubs and gcov: Refactor and add support for RISCV (v4.4)

See merge request espressif/esp-idf!17068
2022-02-16 03:26:49 +00:00
Zim Kalinowski
6ba07ccfaa Merge branch 'bugfix/typo_in_i2c_macro_v4.4' into 'release/v4.4'
I2C: Fix typo in I2C_TIMING_VAL_ERR_STR macro name (backport v4.4)

See merge request espressif/esp-idf!17116
2022-02-16 02:49:01 +00:00
Zim Kalinowski
118478cd51 Merge branch 'docs/add_an_example_list_for_esp32-wrover-kit_v4.4' into 'release/v4.4'
docs: add an example list for esp-wrover-kit (v4.4)

See merge request espressif/esp-idf!16691
2022-02-16 02:39:04 +00:00
Zim Kalinowski
192503abbb Merge branch 'example/nimble_readme_cleanup_v4.4' into 'release/v4.4'
docs/examples Changes on README files on Bluetooth Examples (v4.4)

See merge request espressif/esp-idf!16374
2022-02-16 02:30:04 +00:00
Zim Kalinowski
ee908e4ef1 Merge branch 'feature/mdns_null_value_txt_v4.4' into 'release/v4.4'
mdns: Support for null-value TXT records (v4.4)

See merge request espressif/esp-idf!17172
2022-02-16 02:27:25 +00:00
xiewenxiang
35b2b3e24c components/bt: Fix ble adv_underrun issue
components/bt: Fix LLCP collision for channel map update
2022-02-16 00:39:00 +08:00
David Cermak
a145a5ee48 mdns: Use memcpy() for copy to support non-text TXTs 2022-02-15 13:32:53 +01:00
David Cermak
ec9dbd922d mdns: Support for null-value TXT records
Closes https://github.com/espressif/esp-idf/issues/8267
2022-02-15 13:32:53 +01:00
Cao Sen Miao
93be7d5192 usb_serial_jtag: remove the strict condition check in esp_phy 2022-02-15 18:56:49 +08:00
Cao Sen Miao
bf523af21d usb_serial_jtag: can print when wifi enabled by default
Closes https://github.com/espressif/esp-idf/issues/8131
2022-02-15 18:56:48 +08:00
Cao Sen Miao
a74e06560b USB_SERIAL_JTAG: Fix the issue that there is no rom log when restarting 2022-02-15 18:56:06 +08:00
Zim Kalinowski
83daa6dabb Merge branch 'bugfix/bump_docs_docker_tag_v4.4' into 'release/v4.4'
ci: bump esp-docs image tag to v5

See merge request espressif/esp-idf!17157
2022-02-15 10:15:14 +00:00
Marius Vikhammer
ed8f29c406 ci: bump esp-docs image tag to v5 2022-02-15 11:55:01 +08:00
Michael (XIAO Xufeng)
8c61c5c565 Merge branch 'bugfix/lcd_rgb_memory_alignment_v4.4' into 'release/v4.4'
rgb lcd memory alignment(v4.4)

See merge request espressif/esp-idf!16883
2022-02-14 15:34:49 +00:00
morris
21b6c46d11 Merge branch 'bugfix/sdio_slave_dma_desc_int_v4.4' into 'release/v4.4'
sdio_slave: Fixed the issue that DMA descriptors allocated to non-DMA capable area (v4.4)

See merge request espressif/esp-idf!17135
2022-02-14 06:27:47 +00:00
Jiang Jiang Jian
13d30652cc Merge branch 'bugfix/wps_fixes_v4.4' into 'release/v4.4'
wpa_supplicant: Add WPS Fixes (Backport V4.4)

See merge request espressif/esp-idf!17064
2022-02-14 06:24:16 +00:00
Jiang Jiang Jian
71b81e4a01 Merge branch 'bugfix/support_esp32s2_eco1_v4.4' into 'release/v4.4'
esp_phy: Update ESP32S2 phy lib to support eco1 chip(V4.4)

See merge request espressif/esp-idf!16715
2022-02-14 05:55:29 +00:00
Michael (XIAO Xufeng)
21b4cd8325 sdio_slave: fixed the issue DMA desc not capable 2022-02-13 22:35:04 +08:00
Michael (XIAO Xufeng)
c2c4b126f7 Merge branch 'feature/support_new_psram_v4.4' into 'release/v4.4'
psram: add ESP32-D0WD-R2-V3 support(backport v4.4)

See merge request espressif/esp-idf!16705
2022-02-13 14:13:38 +00:00
Michael (XIAO Xufeng)
246f72020f Merge branch 'bugfix/modbus_port_fix_lgpl_licensed_files_v4.4' into 'release/v4.4'
freemodbus: fix port contains lgpl licensed files (v4.4)

See merge request espressif/esp-idf!16550
2022-02-12 20:43:22 +00:00
Kapil Gupta
136c5b8204 wpa_supplicant: Fix invalid memory dereference 2022-02-12 10:32:33 +05:30
Dmitry Koptsov
f60a914bae I2C: Fix I2C Master operation with repeated start condition
* Closes https://github.com/espressif/esp-idf/pull/8353
2022-02-11 15:37:24 +08:00
paul
8f3b47da39 I2C: Fix typo in I2C_TIMING_VAL_ERR_STR macro name
* Closes https://github.com/espressif/esp-idf/pull/8012
2022-02-11 15:29:52 +08:00
Mahavir Jain
47583770a1 Merge branch 'bugfix/fix_esp_http_client_example_v4.4' into 'release/v4.4'
esp_http_client: Fix memory leak in esp_http_client_example (backport v4.4)

See merge request espressif/esp-idf!17095
2022-02-11 04:56:29 +00:00
Roland Dobai
83ef7b6a95 Merge branch 'feature/limit_component_manager_version' into 'release/v4.4'
Tools: Limit idf-component-manager version

See merge request espressif/esp-idf!16405
2022-02-10 16:07:02 +00:00
Michael (XIAO Xufeng)
730ca0ea43 Merge branch 'bugfix/cpu_reset_perip_clk_disable_v4.4' into 'release/v4.4'
esp_system: change range comparsion for reset reason to specifc cpu reset reason comparison (backport v4.4)

See merge request espressif/esp-idf!15898
2022-02-10 10:32:09 +00:00
Hrudaynath Dhabe
0658a5b1da esp_wifi: Add an example for EAP-FAST. 2022-02-10 15:55:21 +05:30
Hrudaynath Dhabe
e21832cabb esp_wifi: Add support for EAP-FAST authentication method 2022-02-10 15:54:15 +05:30
Michael (XIAO Xufeng)
8b86834a72 Merge branch 'bugfix/gpio_pin_num_fix_v4.4' into 'release/v4.4'
gpio: Fix some gpio pin num errors on esp32s2 and esp32c3 (backport v4.4)

See merge request espressif/esp-idf!16594
2022-02-10 10:21:52 +00:00
Michael (XIAO Xufeng)
954d52ff3a Merge branch 'flash/add_th_support_v4.4' into 'release/v4.4'
spi_flash: add support for th 1M flash(backport v4.4)

See merge request espressif/esp-idf!16714
2022-02-10 09:40:40 +00:00
Michael (XIAO Xufeng)
fb1695ade7 Merge branch 'bugfix/fix_spi_cs_hold_time_issue_v4.4' into 'release/v4.4'
spi_master: fix spi cs_ena_posttrans issue (v4.4)

See merge request espressif/esp-idf!16686
2022-02-10 09:12:15 +00:00
morris
38b5c012f9 Merge branch 'bugfix/rmt_s2_doesnt_support_rx_wrap_v4.4' into 'release/v4.4'
rmt: do not support rx wrap on esp32s2 (v4.4)

See merge request espressif/esp-idf!17076
2022-02-10 09:11:32 +00:00
Omar Chebib
9e000d4177 LEDC: divisor calculation will now be rounded up when necessary
Closes https://github.com/espressif/esp-idf/issues/7722
2022-02-10 16:56:07 +08:00
Omar Chebib
63afc84de5 LEDC: improved support for ESP32-C3 and refactored divisor calculation
As ESP32C3 does not have support for REF_TICK source clock, it is now not
possible to select it anymore.
Auto cfg clock has been improved for all boards.
2022-02-10 16:54:00 +08:00
Omar Chebib
98647cf351 i2c: fix buffer check when SPIRAM used as a heap
* Closes https://github.com/espressif/esp-idf/issues/8173
2022-02-10 16:16:01 +08:00
Mahavir Jain
5355ba06f1 transport_ssl: use return value from close for non-TLS case 2022-02-10 13:03:32 +05:30
Dániel Buga
9e892fbf46 Set success when closing socket
Closes https://github.com/espressif/esp-idf/pull/8337
Closes IDFGH-6709
2022-02-10 13:02:58 +05:30
yuanjm
1b8c04bb57 esp_http_client: Fix memory leak in esp_http_client_example
Closes https://github.com/espressif/esp-idf/issues/8346
2022-02-10 14:35:13 +08:00
chenjianxing
50302e4157 esp_phy: Update ESP32S2 phy lib to support eco1 chip 2022-02-10 14:13:02 +08:00
Mahavir Jain
14b52e9d83 Merge branch 'bugfix/improve_ota_test_success_rate_v4.4' into 'release/v4.4'
OTA examples: Reduce example test failure rate (v4.4)

See merge request espressif/esp-idf!16613
2022-02-10 05:52:27 +00:00
Wang Meng Yang
c7b9f94733 Merge branch 'bugfix/fix_bluedroid_compile_issue_v4.4' into 'release/v4.4'
components/bt: Fix bluedroid compile issue(backport release/v4.4)

See merge request espressif/esp-idf!16592
2022-02-09 11:28:57 +00:00
Wang Meng Yang
5cc185c442 Merge branch 'bugfix/controller_hci_uart_esp32c3_readme_v4.4' into 'release/v4.4'
Added support for ESP32-S3 chip in controller_hci_uart_esp32c3_and_esp32s3's README (v4.4)

See merge request espressif/esp-idf!16738
2022-02-09 11:18:40 +00:00
Shubham Kulkarni
4ecd0ef9fc advanced_https_ota: Move example tests on ethernet runners
Move BT tests to nightly run
2022-02-09 15:03:04 +05:30
Shubham Kulkarni
42e389263d native_ota_example: Move all example tests to ethernet based runners 2022-02-09 15:03:04 +05:30
Shubham Kulkarni
f2c5c8e6d8 simple_ota_example: Move redundant and failing example_tests to nightly run 2022-02-09 15:03:04 +05:30
Shubham Kulkarni
690d7a5d6b target-test.yml: Add EXAMPLE_ETH_OTA runner to OTA on ethernet based runners 2022-02-09 15:03:04 +05:30
morris
956c6b889f rmt: do not support rx wrap on esp32s2
Closes https://github.com/espressif/esp-idf/issues/8354
2022-02-09 17:29:09 +08:00
Jiang Jiang Jian
c8075df214 Merge branch 'bugfix/a2dp_source_congest_v4.4' into 'release/v4.4'
component_bt: Fixed a2dp source audio data packet congestion causing choppy audio in a2dp sink (v4.4)

See merge request espressif/esp-idf!16733
2022-02-09 08:16:01 +00:00
Jiang Jiang Jian
4158da586b Merge branch 'demo/opt_a2dp_demo_doc_v4.4' into 'release/v4.4'
demo/optimize a2dp demo documents (v4.4)

See merge request espressif/esp-idf!16587
2022-02-09 08:13:55 +00:00
Island
afe82b4e1b Merge branch 'bugfix/filter_repeated_packages_v4.4' into 'release/v4.4'
filter repeated packages but not send response(v4.4)

See merge request espressif/esp-idf!16817
2022-02-09 06:18:43 +00:00
Yuan Hong Hui
006b4456e7 filter repeated packages but not send response(v4.4) 2022-02-09 06:18:42 +00:00
Island
4b7eea25ca Merge branch 'feature/pro_recv_hb_forv4.4' into 'release/v4.4'
provisioner receive heartbeat message (v4.4)

See merge request espressif/esp-idf!16636
2022-02-09 06:18:14 +00:00
Yuan Hong Hui
006c679f85 provisioner receive heartbeat message (v4.4) 2022-02-09 06:18:13 +00:00
Krzysztof Budzynski
690ff75346 Merge branch 'doc/esp32s3_sdmmc_v4.4' into 'release/v4.4'
docs: peripherals: update SD related docs for ESP32-S3 (v4.4)

See merge request espressif/esp-idf!17043
2022-02-09 03:28:57 +00:00
Krzysztof Budzynski
c2a6f0fe29 Merge branch 'bugfix/perfmon_s3_v4.4' into 'release/v4.4'
perfmon: re-enable example for ESP32-S3, remove warning from the docs (v4.4)

See merge request espressif/esp-idf!17042
2022-02-09 03:28:01 +00:00
Alexey Gerenkov
54e416d3b8 docs: Updates apptrace menuconfig options in examples 2022-02-08 22:25:33 +03:00
Alexey Gerenkov
e366d569d8 example/gcov: Adds support for esp32s2, esp32s3, esp32c3 and esp32h2 2022-02-08 22:25:33 +03:00
Alexey Gerenkov
89fe956ebc gcov: Fixes interference of gcov dump with normal IPC calls 2022-02-08 22:25:33 +03:00
Alexey Gerenkov
792f510d0d gcov: Do not use shrunk ROM's fake stdout and stderr FILE struct 2022-02-08 22:24:54 +03:00
Alexey Gerenkov
1bbefc3e5d debug_stubs: Refactor and add support for RISCV 2022-02-08 22:24:54 +03:00
Roland Dobai
1603b8181f Merge branch 'bugfix/win_rename_delay_v4.4' into 'release/v4.4'
Tools: Use delay between rename attempts on Windows in the installer (v4.4)

See merge request espressif/esp-idf!17056
2022-02-08 18:23:56 +00:00
Ivan Grokhotkov
330da63548 Merge branch 'bugfix/nvs_oom_check_wrong_pointer_v4.4' into 'release/v4.4'
nvs: fixed OOM check wrong pointer issue (backport 4.4)

See merge request espressif/esp-idf!16976
2022-02-08 14:54:48 +00:00
Ivan Grokhotkov
6c0c3029ab Merge branch 'bugfix/vfs_open_errno_v4.4' into 'release/v4.4'
vfs: don't overwrite errno by a hard coded ENOENT (Github PR) (v4.4)

See merge request espressif/esp-idf!17044
2022-02-08 14:37:29 +00:00
Kapil Gupta
757445422d wpa_supplicant: Add WPS Fixes
Add following bugfixes

1. Station not able to connect when WPS pin is pressed first on AP.
2. PBC overlap getting detected for selected registrar PIN APs.
3. Station not considering authorised MACs for PIN method.
4. For PIN methodm If no AP is found, station will loop through
   APs in its vicinity and try to do WPS with them one by one till
   WPS timeout occurs. This is for some APs which do not set
   selected registrar correctly.
2022-02-08 17:22:40 +05:30
aleks
e26318bcac freemodbus: fix port contains lgpl licensed files
Initial version of freemodbus master port files have been added to ESP-IDF based on https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32.
The overall repository license, at the time of adding these files, has been BSD 3-clause. However at that time, several port files carried LGPL license headers. As the author of these files confirmed in https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32/issues/61#issuecomment-977828450, this wasn't intentional. ESP-IDF version of modbus master port has been rewritten to target FreeRTOS instead of RT-Thread, but the license headers remained from the original version. This commit corrects this, replacing the license of these files with BSD 3-clause.
2022-02-08 12:43:08 +01:00
David Cermak
f4e54541f3 ws_client: Optimize example test payloads and timeouts
Important update: NO_DATA_TIMEOUT_SEC=5, as some ws-servers typically send pings in 30s or 10s intervals, so we might never fire shutdown test
2022-02-08 18:15:53 +08:00
David Cermak
ff1846bebe ci/websockets: Run ws-client example test on ethernet runners 2022-02-08 18:15:53 +08:00
David Cermak
936bbdc75b ci/mdns: Run mdns test on ethernet runners 2022-02-08 18:15:49 +08:00
David Cermak
63dda9f1d9 ci: Increase parallel job count for Eth runners 2022-02-08 18:15:49 +08:00
David Cermak
2b62d7bfdc ci/mqtt: Move publish-connect test to ethernet runners 2022-02-08 18:15:48 +08:00
David Cermak
d24241d5ad ci/mqtt: Move mqtt example tests to ethernet runners 2022-02-08 18:15:48 +08:00
Roland Dobai
18da1180ad Tools: Use delay between rename attempts on Windows in the installer 2022-02-08 11:06:14 +01:00
Jiang Jiang Jian
6934a0164a Merge branch 'bugfix/fix_common_clock_bug_v4.4' into 'release/v4.4'
esp_wifi: fix common clock bug (backport v4.4)

See merge request espressif/esp-idf!16971
2022-02-08 09:10:34 +00:00
Ivan Grokhotkov
f98ec313f2 Merge branch 'revert-0a1e309e' into 'release/v4.4'
Revert "Merge branch 'bugfix/temp_disable_f8r8_test_v4.4' into 'release/v4.4'"

See merge request espressif/esp-idf!17037
2022-02-07 14:51:55 +00:00
Mahavir Jain
93855605f3 Merge branch 'bugfix/esp32c3_sysview_examples_build_error_v4.4' into 'release/v4.4'
riscv: fix portSTACK_GROWTH redefinition error (v4.4)

See merge request espressif/esp-idf!17038
2022-02-07 12:48:02 +00:00
Ivan Grokhotkov
23b0cdad8a vfs: add test for errno value after 'open' 2022-02-07 11:36:00 +01:00
hörbert
931dd74da6 vfs: don't overwrite errno by a hard coded ENOENT
Calling "open" in CHECK_AND_CALL sets a perfectly correct errno.
There is no need to overwrite that with a value of ENOENT, since doing
so hides lower level errors like EIO.

Closes https://github.com/espressif/esp-idf/pull/8036
2022-02-07 11:35:59 +01:00
Ivan Grokhotkov
aaa2a344c6 docs: peripherals: update SD related docs for ESP32-S3 2022-02-07 11:31:17 +01:00
Ivan Grokhotkov
faac0e7589 perfmon: re-enable example for ESP32-S3, remove warning from the docs
Includes minor fix for formatting of code blocks in the example readme
2022-02-07 11:28:57 +01:00
Ivan Grokhotkov
096c013675 esp_rom: remove functions which depend on sizeof(struct stat)
...and all their callers.

With the upcoming switch from sizeof(time_t)==4 to sizeof(time_t)==8,
sizeof(struct stat) is also increasing.

A few newlib functions present in ROM allocate 'struct stat' on the
stack and call _fstat_r on this structure. The implementation of
fstat is provided in ESP-IDF. This implementation will often do
memset(st, 0, sizeof(*st)), where st is 'struct stat*', before setting
some fields of this structure. If IDF is built with sizeof(st)
different from sizeof(st) which ROM was built with, this will lead
to an out-of-bounds write and a stack corruption.

This commit removes problematic ROM functions from the linker script.
Here are the functions which allocate 'struct stat':
* _isatty_r (in ROM)
* __swhatbuf_r, called by __smakebuf_r, called by __swsetup_r and
  __srefill_r (in ROM)
* _fseeko_r (not in ROM)
* glob2 (not in ROM)
* _gettemp (not in ROM)

As a result, these functions are used from libc.a, and use correct
size of 'stat' structure.

Closes https://github.com/espressif/esp-idf/issues/7980
2022-02-07 11:23:59 +01:00
Michael (XIAO Xufeng)
1e80a52de4 Merge branch 'bugfix/i2s_mclk_stopped_when_set_clock' into 'release/v4.4'
i2s: fix mclk stop issue when setting clock (v4.4)

See merge request espressif/esp-idf!16706
2022-02-07 09:47:19 +00:00
Erhan Kurubas
8fc5f8ae55 heap: use HEAP_TRACING_STACK_DEPTH default value for riscv 2022-02-07 09:47:57 +01:00
Erhan Kurubas
5c8bfa9b46 esp32c3: fix portSTACK_GROWTH redefinition error 2022-02-07 09:47:57 +01:00
xiewenxiang
2fe53759c9 components/bt: Fix bluedroid compile issue 2022-02-07 16:04:50 +08:00
Wang Meng Yang
0a0b652815 Merge branch 'bugfix/fix_bluedroid_ble50_adv_data_length_issue_v4.4' into 'release/v4.4'
components/bt: Fix bluedroid ble50 adv data length issue(backport release/v4.4)

See merge request espressif/esp-idf!16579
2022-02-07 08:01:55 +00:00
Lu Ai Jun
aae55512b7 Update copyright headers 2022-02-07 07:41:03 +00:00
Lu Ai Jun
371ab10bcd Revert "Merge branch 'bugfix/temp_disable_f8r8_test_v4.4' into 'release/v4.4'"
This reverts merge request !17031
2022-02-07 15:39:25 +08:00
laokaiyao
a9df58c776 i2s: fix mclk stopped when setting clock 2022-02-07 15:27:35 +08:00
Armando
1140036424 spi_master: fix spi cs_ena_posttrans issue 2022-02-07 12:19:51 +08:00
Wang Meng Yang
5e5af3606b Merge branch 'bugfix/nimble_spp_v4.4' into 'release/v4.4'
NimBLE :  SPP example fails to build on Windows (v4.4)

See merge request espressif/esp-idf!17013
2022-02-07 02:35:30 +00:00
Zim Kalinowski
7c986a64c7 Merge branch 'feature/adds_tips_to_run_ci_example_tests_v4.4' into 'release/v4.4'
examples: Adds a note on how to meet requirements to run the example_test.py (v4.4)

See merge request espressif/esp-idf!16944
2022-02-06 09:25:40 +00:00
Mahavir Jain
0a1e309ee4 Merge branch 'bugfix/temp_disable_f8r8_test_v4.4' into 'release/v4.4'
ci: temporarily disable MSPI_F8R8 test (v4.4)

See merge request espressif/esp-idf!17031
2022-02-05 05:34:09 +00:00
Ivan Grokhotkov
e67ecd998c ci: temporarily disable MSPI_F8R8 test 2022-02-04 15:23:05 +01:00
Mahavir Jain
d501a53f2f Merge branch 'feature/mbedtls-2.28.0_v4.4' into 'release/v4.4'
mbedtls: Upgrading to v2.28.0 (v4.4)

See merge request espressif/esp-idf!17004
2022-02-02 13:52:54 +00:00
Isha Pardikar
db80244920 Merge branch 'bugfix/nimble_spp' into 'release/v4.4'
NimBLE : Fixed BLE SPP build fail on Windows

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

See merge request espressif/esp-idf!17013
2022-02-02 15:15:24 +05:30
Laukik Hase
51fc67f5fa ci: Fix issues for build stage
- Fixed logs expecting different format specifier
- Updated ignore list for check_public_header test
- Updated functions ported from mbedTLS
- Fix for make-system build errors
2022-02-02 15:03:48 +05:30
Laukik Hase
11366d643f mbedtls: Added option MBEDTLS_SSL_KEEP_PEER_CERTIFICATE
- Removed code regarding MBEDTLS_DYNAMIC_FREE_PEER_CERT
  (config was kept for backward compatibility)
- Combined mbedTLS v2.28.x related options under a separate Kconfig menu
2022-02-02 10:56:48 +05:30
Laukik Hase
c3d2f2361c protocomm: Updated function for constant time buffer comparison
- mbedtls_ssl_safer_memcmp() -> mbedtls_ct_memcmp()
2022-02-02 10:56:48 +05:30
Laukik Hase
b10d0a533c wpa_supplicant: Saved message-type digest used in handshake for PRF operations 2022-02-02 10:56:48 +05:30
Laukik Hase
76b9beff3c mbedtls: Moved mbedtls_mpi_mul_int to port layer 2022-02-02 10:56:48 +05:30
Laukik Hase
76658d5066 mbedtls: Added config options for v2.28.0 upgrade 2022-02-02 10:56:48 +05:30
Laukik Hase
0fdc5f7490 mbedtls: Upgrade to v2.28.0 2022-02-02 10:56:13 +05:30
Mahavir Jain
28489ac412 Merge branch 'bugfix/provisioning_not_stopping_v4.4' into 'release/v4.4'
wifi_prov_mgr: Fix provisioning not stopping in release mode (v4.4)

See merge request espressif/esp-idf!17002
2022-02-01 05:22:38 +00:00
Laukik Hase
b7c1c4913e wifi_prov_mgr: Fix provisioning not stopping in release mode
- For the wifi_prov_mgr example in release mode (with NDEBUG defined -
  assertions disabled), the task to stop provisioning is never started
  as it is voided by the assert function it is called in.

Closes https://github.com/espressif/esp-idf/issues/8309
2022-02-01 09:49:45 +05:30
Mahavir Jain
602b26ccd4 Merge branch 'feature/upgrade_expat_component_v4.4' into 'release/v4.4'
expat: upgrade to v2.4.3 release

See merge request espressif/esp-idf!16981
2022-01-31 07:14:04 +00:00
Harshit Malpani
3dbe641c6b expat: upgrade to v2.4.3 release
Detailed changelog: https://github.com/libexpat/libexpat/blob/R_2_4_3/expat/Changes
2022-01-31 11:13:26 +05:30
Mahavir Jain
eb3797dc3f Merge branch 'provisioning/update_readme_v4.4' into 'release/v4.4'
provisioning: Remove legacy examples reference (v4.4)

See merge request espressif/esp-idf!16987
2022-01-29 10:46:56 +00:00
Anton Maklakov
bfd3e9c54c Merge branch 'ci/split_assign_test_and_add_c3_integration_test_4.4' into 'release/v4.4'
Ci: split assign test and add c3 integration test 4.4

See merge request espressif/esp-idf!16925
2022-01-28 14:39:16 +00:00
Ivan Grokhotkov
b9eda8431e Merge branch 'test/esp32s2_fatfs_speedtest_ci_fix_v4.4' into 'release/v4.4'
[Storage]: Re-enable FatFS write/read speed test (v4.4)

See merge request espressif/esp-idf!16080
2022-01-28 10:37:10 +00:00
Laukik Hase
954844a308 esp_prov.py: Replaced deprecated function for loading modules 2022-01-28 15:46:27 +05:30
Anton Maklakov
e0968e506c Merge branch 'bugfix/unused_tag_string' into 'release/v4.4'
build: fix unused tag string (v4.4)

See merge request espressif/esp-idf!16838
2022-01-28 07:58:40 +00:00
aditi_lonkar
0113e2768d esp_wifi: Fixed issue of weak md for certificates in wifi_enterprise example. 2022-01-28 11:02:06 +05:30
morris
42abd894d4 build: fix unused tag string
Closes https://github.com/espressif/esp-idf/issues/8250
2022-01-28 11:59:45 +08:00
Michael (XIAO Xufeng)
c8eb02bb39 bugfix (nvs): fixed wrong pointer check 2022-01-28 11:37:53 +08:00
Krzysztof Budzynski
257d95fc22 Merge branch 'docs/pinlayout_image_update_backport_v4.4' into 'release/v4.4'
docs: Update ESP32-DevKitC Pin Layout figure of higher resolution (backport v4.4)

See merge request espressif/esp-idf!16364
2022-01-28 03:22:51 +00:00
Mahavir Jain
036e3f2e46 Merge branch 'bugfix/address_already_used_exception_in_ota_tests_v4.4' into 'release/v4.4'
Fix 'address already in use' exception in OTA tests (v4.4)

See merge request espressif/esp-idf!16416
2022-01-27 12:32:45 +00:00
liuning
6e6c8bb682 esp_wifi: fix common clock bug (backport v4.4) 2022-01-27 20:19:41 +08:00
Roland Dobai
7acb7a9e00 Merge branch 'bugfix/rm_copyright_ignore_list' into 'release/v4.4'
CI: Remove unused copyright ignore list

See merge request espressif/esp-idf!16963
2022-01-27 12:15:56 +00:00
Roland Dobai
4649f3a46e CI: Remove unused copyright ignore list 2022-01-27 12:26:33 +01:00
Matus Fabo
e64ae67888 fix: pin definitions for other boards
fix: re-enabled fatfs r/w test on sdspi
fix: copyright notice
add: pin definitions for esp32c3
fix: Changed fixed spi dma channel to a macro definition
2022-01-27 12:06:41 +01:00
Mahavir Jain
d16aaae498 Merge branch 'feature/memprot_api_unified_c3_v4.4' into 'release/v4.4'
Memprot API unified - ESP32C3 (v4.4.1)

See merge request espressif/esp-idf!16489
2022-01-27 11:00:03 +00:00
Sergei Silnov
3d5b947355 Tools: Limit idf-component-manager version 2022-01-27 11:46:54 +01:00
songruojing
b80a070395 esp_system: replace the range comparsion for reset reason in perip clk init with specific reset reason check, also add a test case in LEDC to check for the perip clk not being disabled after cpu reset
(cherry picked from commit f57456e9dd919e5eea1d3cd0caa64b5c97a4df73)
2022-01-27 09:51:00 +00:00
Shang Zhou
26a876e63f docs:update ESP32-DevKitC Pin Layout figure of higher resolution 2022-01-27 17:05:01 +08:00
Krzysztof Budzynski
8ec62d1d86 Merge branch 'docs/translation_backport_v4.4' into 'release/v4.4'
docs: update CN translation for MR15221 for v4.4

See merge request espressif/esp-idf!16756
2022-01-27 08:27:06 +00:00
Shang Zhou
3c76a058aa docs: update CN translation for MR15221 for v4.4 2022-01-27 08:27:04 +00:00
Krzysztof Budzynski
c02f6b96af Merge branch 'docs/update_inconsistency_backport_v4.4' into 'release/v4.4'
docs: Update incorrect pins for S3 documentation, set a default value for future targets, and remove line breaks inside paragraphs (backport v4.4)

See merge request espressif/esp-idf!16367
2022-01-27 08:26:07 +00:00
Jiang Jiang Jian
1f45f160a8 Merge branch 'bugfix/fix_console_linenosie_backport_v4.4' into 'release/v4.4'
console: fix console stuck in auto test (backport v4.4)

See merge request espressif/esp-idf!16914
2022-01-27 07:18:46 +00:00
KonstantinKondrashov
9af4484ce3 examples: Adds a note on how to meet requirements to run the example_test.py
export PYTHONPATH="$IDF_PATH/tools:$IDF_PATH/tools/ci/python_packages"
python -m pip install -r $IDF_PATH/tools/ci/python_packages/ttfw_idf/requirements.txt

It helps to fix the ModuleNotFoundError issue with ttfw_idf and tiny_test_fw modules.

Closes https://github.com/espressif/esp-idf/issues/7815
2022-01-27 14:40:10 +08:00
Jiang Jiang Jian
8ab30f72b2 Merge branch 'bugfix/rd_rem_ext_feats_delayed_cs_v4.4' into 'release/v4.4'
bugfix/fix cs event for rd_rem_ext_feats delayed issue (v4.4)

See merge request espressif/esp-idf!16813
2022-01-27 05:45:35 +00:00
Jiang Jiang Jian
6114ac2994 Merge branch 'bugfix/fix_smartconfig_setopt_fail_v4.4' into 'release/v4.4'
smartconfig: Fix smartconfig set socket option fail (backport v4.4)

See merge request espressif/esp-idf!16772
2022-01-27 05:44:35 +00:00
Jiang Jiang Jian
d982a9a5e1 Merge branch 'bugfix/config_parse_crash_after_flash_erase_v4.4' into 'release/v4.4'
component_bt: fixed config parse crash after flash_erase(v4.4)

See merge request espressif/esp-idf!16730
2022-01-27 05:44:17 +00:00
Jiang Jiang Jian
4f9afec016 Merge branch 'bugfix/ci_check_blobs_v4.4' into 'release/v4.4'
ci: improve checks for Wi-Fi/PHY libraries (v4.4)

See merge request espressif/esp-idf!16659
2022-01-27 05:42:56 +00:00
Jiang Jiang Jian
551cd2793b Merge branch 'doc/optimize_hfp_doc_4_4' into 'release/v4.4'
Doc/optimize hfp doc [backport v4.4]

See merge request espressif/esp-idf!16451
2022-01-27 05:42:17 +00:00
Jiang Jiang Jian
bfd68507d8 Merge branch 'bugfix/PRs_on_esp_hid_v4.4' into 'release/v4.4'
bugfix/handle_3_esp_hid_PRs (v4.4)

See merge request espressif/esp-idf!16590
2022-01-27 05:41:52 +00:00
Jiang Jiang Jian
80a395e319 Merge branch 'Doc/optimize_spp_doc_v4.4' into 'release/v4.4'
Doc/Optimize SPP Document[backport 4.4]

See merge request espressif/esp-idf!16603
2022-01-27 05:41:33 +00:00
Jiang Jiang Jian
5788a393ea Merge branch 'doc/update_document_of_demo_bt_discovery_v4.4' into 'release/v4.4'
Doc/update document of demo bt discovery v4.4

See merge request espressif/esp-idf!16575
2022-01-27 05:40:52 +00:00
Mahavir Jain
7d9b93e2e0 Merge branch 'bugfix/MR16031_v4.4' into 'release/v4.4'
heap: adjust the order of RTC memory heap caps and regions(backport v4.4)

See merge request espressif/esp-idf!16704
2022-01-27 05:30:02 +00:00
Martin Vychodil
7d9652dccf System/Security: Memprot API unified (ESP32C3,ESP32S3)
Unified Memory protection API for all PMS-aware chips

Closes JIRA IDF-3849
2022-01-27 12:40:27 +08:00
Chen Yudong
386c2a2322 bugfix: checkout ref failed for origin branches 2022-01-27 11:55:58 +08:00
Chen Yudong
fc1b518ef7 ci: exclude git files when uploading artifacts 2022-01-27 11:55:58 +08:00
Chen Yudong
beda92a7a5 ci: update intergration test to support esp32c3 2022-01-27 11:55:53 +08:00
Chen Yudong
606f8fd59b ci: optimize downloading build_ssc artifacts 2022-01-26 22:33:14 +08:00
Chen Yudong
641bfa388a ci: move integration test related files outside of components 2022-01-26 22:33:14 +08:00
Chen Yudong
2ba22c4c6e ci: fix target_test label usage 2022-01-26 22:33:14 +08:00
Chen Yudong
6e11783992 ci: split assign tests 2022-01-26 22:33:09 +08:00
Mahavir Jain
55b1756d5f Merge branch 'contrib/github_pr_8139_backport_v4.4' into 'release/v4.4'
ledc.h - fix extern "C" to include ledc_cb_register() (backport v4.4)

See merge request espressif/esp-idf!16585
2022-01-26 13:40:22 +00:00
Mahavir Jain
b5217ba9a2 Merge branch 'ci/enable_s3_examples_build_v4.4' into 'release/v4.4'
ci: re-enable s3 build for few examples (v4.4)

See merge request espressif/esp-idf!16894
2022-01-26 13:38:14 +00:00
Jiang Jiang Jian
56e854bb4e Merge branch 'bugfix/set_authmode_by_switching_number_to_string_v4.4' into 'release/v4.4'
CI: change ap authmode from number to string (backport v4.4)

See merge request espressif/esp-idf!16553
2022-01-26 11:53:30 +00:00
Roland Dobai
46fba83ac8 Merge branch 'bugfix/idf_tools_python_env_v4.4' into 'release/v4.4'
tools: improve virtualenv diagnostics, set python path explicitly (v4.4)

See merge request espressif/esp-idf!16807
2022-01-26 10:00:32 +00:00
Roland Dobai
65b3e0601f Merge branch 'bugfix/add_dummy_to_total_size_v4.4' into 'release/v4.4'
Tools: fix bug with total size calculation issue (v4.4)

See merge request espressif/esp-idf!16859
2022-01-26 09:59:48 +00:00
Roland Dobai
a59e3ab59d Merge branch 'feature/esp32s3_apptrace_v4.4' into 'release/v4.4'
Feature/esp32s3 apptrace v4.4

See merge request espressif/esp-idf!16649
2022-01-26 09:58:35 +00:00
Ivan Grokhotkov
ea62bcfaf0 Merge branch 'feature/ccache_in_ci_v4.4' into 'release/v4.4'
ci: enable ccache for build jobs (v4.4)

See merge request espressif/esp-idf!16806
2022-01-26 09:12:32 +00:00
Michael (XIAO Xufeng)
a76f908074 Merge branch 'test/remove_spi_flash_perf_thr_v4.4' into 'release/v4.4'
spi_flash_test: remove threshold from unit test (v4.4)

See merge request espressif/esp-idf!16821
2022-01-26 08:20:26 +00:00
Harshit Malpani
446d3bfec8 Fix for advanced_ota_redirect_url example failure in CI 2022-01-26 10:42:13 +08:00
Harshit Malpani
839c34fd0a Fix 'address already in use' exception in OTA tests
We will stop the server instance at the end of each test case. This will solve the "address already in use" exception
2022-01-26 10:42:13 +08:00
Mahavir Jain
f546d5e493 Merge branch 'fix/http2_request_example_v4.4' into 'release/v4.4'
http2_request_example: Change the target http2 server to http2.github.io (v4.4)

See merge request espressif/esp-idf!16670
2022-01-26 02:39:16 +00:00
Mahavir Jain
f5ef3e2cf2 Merge branch 'wifi_prov_mgr/service_key_check_v4.4' into 'release/v4.4'
wifi_prov_mgr: Added check for passphrase length in softAP scheme (v4.4)

See merge request espressif/esp-idf!16569
2022-01-26 02:37:43 +00:00
Mahavir Jain
48eea7c479 Merge branch 'bugfix/fix_esp_https_ota_v4.4' into 'release/v4.4'
esp_https_ota: Fix esp_https_ota_begin may return error and exist memory leak (backport v4.4)

See merge request espressif/esp-idf!16777
2022-01-26 02:36:56 +00:00
Mahavir Jain
39386e05a5 Merge branch 'bugfix/invalid_url_cause_to_crash_v4.4' into 'release/v4.4'
http: Fix parsing invalid url cause to crash (v4.4)

See merge request espressif/esp-idf!16478
2022-01-26 02:34:29 +00:00
Mahavir Jain
e19cc280d9 Merge branch 'docs/update_ws_server_example_readme_v4.4' into 'release/v4.4'
docs: Add user-friendly guide about how to use ws_server_example_test.py (backport v4.4)

See merge request espressif/esp-idf!16782
2022-01-26 02:31:22 +00:00
Zim Kalinowski
fb1d00a9d1 Merge branch 'bugfix/efuse_timesettigs_in_burn_op_v4.4' into 'release/v4.4'
efuse: Fixes eFuse timesettings issue on esp32c3 (v4.4)

See merge request espressif/esp-idf!16921
2022-01-26 00:52:33 +00:00
Zim Kalinowski
979745417b Merge branch 'refactor/tinyusb_uses_usb_phy_v4.4' into 'release/v4.4'
tinyusb: Update tinyusb.c to use the usb_phy API to configure PHY (v4.4)

See merge request espressif/esp-idf!16855
2022-01-26 00:51:42 +00:00
Zim Kalinowski
40949e8d43 Merge branch 'bugfix/app_compatible_with_3_1_bootloader_v4.4' into 'release/v4.4'
esp_system: Fix RTC_WDT protection in esp_restart_noos (v4.4)

See merge request espressif/esp-idf!16740
2022-01-26 00:50:54 +00:00
Zim Kalinowski
eb13f8a61d Merge branch 'bugfix/freertos_pd_ticks_to_ms_precision_v4.4' into 'release/v4.4'
Freertos: Fix loss of precision in pdTICKS_TO_MS (v4.4)

See merge request espressif/esp-idf!16673
2022-01-26 00:50:35 +00:00
Zim Kalinowski
3ea2a2ba9c Merge branch 'bugfix/bootloader_common_get_sha256_of_partition_when_image_invalid_v4.4' into 'release/v4.4'
bootloader: Fixes bootloader_common_get_sha256_of_partition. Adds hash check. (v4.4)

See merge request espressif/esp-idf!16923
2022-01-26 00:50:09 +00:00
KonstantinKondrashov
0b5d4edbc6 bootloader: Fixes bootloader_common_get_sha256_of_partition. Adds hash check.
Closes https://github.com/espressif/esp-idf/issues/8274
2022-01-25 19:58:29 +08:00
KonstantinKondrashov
1638b36804 efuse: Fixes eFuse timesettings issue on esp32c3 2022-01-25 19:14:31 +08:00
wuzhenghui
c11b6f4885 fix console stuck in auto test 2022-01-25 17:04:48 +08:00
Ivan Grokhotkov
780b9b6d78 Merge branch 'update/version_4_4_0' into 'release/v4.4'
Update version to 4.4.0

See merge request espressif/esp-idf!16909
2022-01-25 08:42:49 +00:00
David Čermák
c899c1b1da Merge branch 'bugfix/mdns_txt_alloc_issue_v4.4' into 'release/v4.4'
mdns: Fix alloc issue if TXT has empty value(Backport v4.4)

See merge request espressif/esp-idf!16889
2022-01-25 06:33:54 +00:00
Ivan Grokhotkov
8153bfe412 versions: Update version to 4.4.0 2022-01-24 23:05:26 +01:00
jincheng
9f3b116e4f optmize a2dp demo document 2022-01-24 14:23:09 +08:00
Harshit Malpani
e088379b26 ci: re-enable s3 build for few examples 2022-01-24 09:54:08 +05:30
Suren Gabrielyan
9f0a6d8e16 Merge branch 'bugfix/mdns_txt_alloc_issue_v4.4' into 'release/v4.4'
mdns: Fix alloc issue if TXT has empty value

See merge request espressif/esp-idf!16889
2022-01-21 18:55:51 +00:00
David Cermak
b3f913a058 mdns: Fix alloc issue if TXT has empty value 2022-01-21 22:52:33 +04:00
David Čermák
0b46ac1732 Merge branch 'bugfix/pppos_client_docs_power' into 'release/v4.4'
Examples/PPPoS: Add troubleshooting to correctly power modem (v4.4)

See merge request espressif/esp-idf!16235
2022-01-21 09:46:13 +00:00
David Čermák
88486324db Merge branch 'bugfix/fix_tcp_transport_exception_v4.4' into 'release/v4.4'
tcp_transport: fix tcp trasnport exception(backport release/v4.4)

See merge request espressif/esp-idf!16811
2022-01-21 09:45:45 +00:00
Michael (XIAO Xufeng)
f4c97455c4 Merge branch 'bugfix/apll_coeff_calculate_v4.4' into 'release/v4.4'
i2s: impove the clock division calculation (v4.4)

See merge request espressif/esp-idf!16783
2022-01-21 07:06:30 +00:00
Aditya Patwardhan
b4fbd87f42 http2_request_example: Change the target http2 server to http2.github.io and
perform only a `GET` request.
2022-01-21 09:15:32 +05:30
morris
f6ab703390 lcd: alloc framebuffer in alignment 2022-01-21 11:30:20 +08:00
morris
9c262ce065 lcd: split gpio check for de and hv mode 2022-01-21 11:30:20 +08:00
Michael (XIAO Xufeng)
ab118fe8be Merge branch 'bugfix/i2s_return_error_code_v4.4' into 'release/v4.4'
i2s: revert the reading/writing can return timeout error (v4.4)

See merge request espressif/esp-idf!16749
2022-01-21 01:21:07 +00:00
David Čermák
a48c6e097a tcp_transport: fix tcp trasnport exception 2022-01-20 15:38:44 +08:00
simon.chupin
960672b979 add test for checking memory segments with esptool.py 2022-01-19 17:32:19 +01:00
simon.chupin
40eede261e tools/idf_size: Fixed bug with wrong memory calculation 2022-01-19 17:32:18 +01:00
songruojing
6a6801e357 tinyusb: Update tinyusb.c to use the usb_phy API to configure PHY 2022-01-19 18:18:08 +08:00
Michael (XIAO Xufeng)
0382215ec7 spi_flash_test: remove threshold from unit test 2022-01-17 15:07:06 +08:00
jincheng
a0e20e17f0 fix cs event for rd_rem_ext_feats delayed issue 2022-01-17 13:02:26 +08:00
Ivan Grokhotkov
2e3f4ff6dd tools: improve virtualenv diagnostics, set python path explicitly
- Check if pip is installed for sys.executable before attempting to
  create the virtual environment, bail out with an error if not.
- Don't pass --seeder argument to virtualenv if its version is
  too old. For example, on Ubuntu 18.04, virtualenv 15.1.0 doesn't
  support this argument.
- Pass --python argument to virtualenv to request specific interpreter
  to be used.

Closes https://github.com/espressif/esp-idf/issues/8045
2022-01-16 21:45:30 +01:00
Ivan Grokhotkov
698b406e56 ci: enable ccache for build jobs 2022-01-16 21:43:15 +01:00
Ivan Grokhotkov
d17194caea ci: disable ccache when running CMake build system tests
Some tests check if certain files are rebuilt when source files are
'touch'ed. With ccache, 'touch'ing source files doesn't cause a
rebuild, hence the test fails. In case IDF_CCACHE_ENABLE was set in
the environment, unset it before starting the tests.
2022-01-16 21:43:15 +01:00
laokaiyao
816b0ce878 i2s: impove the apll and clock division calculation 2022-01-13 11:06:40 +08:00
Ivan Grokhotkov
f3e0c8bc41 Merge branch 'feature/oocd_ver_upgrade_v4.4' into 'release/v4.4'
tools: Updates OpenOCD version to 'v0.11.0-esp32-20211220' (v4.4)

See merge request espressif/esp-idf!16765
2022-01-12 14:19:54 +00:00
Yuan Jian Min
2a89b3c15a docs: Add user-friendly guide about how to use ws_server_example_test.py
Closes https://github.com/espressif/esp-idf/issues/8060
2022-01-12 20:36:59 +08:00
yuanjm
dbb0eeecc7 esp_https_ota: Fix esp_https_ota_begin may return ESP_OK when http status code is not 200 and may exist memory leak
Closes https://github.com/espressif/esp-idf/issues/8195
2022-01-12 19:53:08 +08:00
Alexey Gerenkov
a3a05dc056 tools: Updates OpenOCD version to 'v0.11.0-esp32-20211220' 2022-01-12 16:39:07 +08:00
Ivan Grokhotkov
813948d137 Merge branch 'bugfix/tools_win_patch2_v4.4' into 'release/v4.4'
Add toolchain patch2 version for Windows with --with-gnu-ld option (v4.4)

See merge request espressif/esp-idf!16758
2022-01-12 08:33:35 +00:00
Ivan Grokhotkov
d0d3a2f2a0 Merge branch 'bugfix/idf_tools_test_without_versions_v4.4' into 'release/v4.4'
Tools: Load tool versions automatically for IDF Tools tests (v4.4)

See merge request espressif/esp-idf!16510
2022-01-12 08:29:46 +00:00
yuanjm
9cf57a86a0 smartconfig: Fix smartconfig set socket option fail
Closes https://github.com/espressif/esp-idf/issues/8189
2022-01-12 14:48:02 +08:00
Anton Maklakov
c22e33d2ca tools: Add toolchain esp-2021r2-patch2 version for Windows with --with-gnu-ld option
Closes https://github.com/espressif/esp-idf/issues/7864
2022-01-11 20:20:43 +07:00
laokaiyao
f0aaf48a93 i2s: revert reading/writing return error code
Closes https://github.com/espressif/esp-idf/issues/8121

Revert reading/writing return ESP_ERR_TIMEOUT introduced in commit b26da6f
2022-01-11 15:43:29 +08:00
likunqiao
7aa2577d86 esp_phy: move lib_printf.c to esp_phy
* fix the issue when esp32h2 target using phy_printf and rtc_printf
2022-01-11 12:09:11 +08:00
KonstantinKondrashov
8f2045f0da esp_system: Fix RTC_WDT protection in esp_restart_noos
Fixed issue - v4.3 app not compatible with 3.1 bootloader
2022-01-10 21:57:29 +08:00
xiongweichao
f4b329f9a5 Rename controller_hci_uart_esp32c3 to controller_hci_uart_esp32c3_and_esp32s3 2022-01-10 20:18:24 +08:00
xiongweichao
b5d76c8c32 Added support for ESP32-S3 chip in controller_hci_uart_esp32c3's README 2022-01-10 20:18:17 +08:00
xiongweichao
121b33be29 add nvs initialize 2022-01-10 20:18:12 +08:00
xiongweichao
7485b4d4b2 btc_a2dp_control_set_datachnl_stat is only used by a2dp sink 2022-01-10 19:17:13 +08:00
xiongweichao
49f496e539 remove btc_a2dp_dispatch_datapath_evt and event 2022-01-10 19:16:25 +08:00
xiongweichao
e4277d5202 Fixed the crash caused by calling esp_a2d_media_ctrl(ESP_A2D_MEDIA_CTRL_START) after stream started 2022-01-10 19:15:30 +08:00
xiongweichao
d338750b86 Fixed a2dp source audio data packet congestion causing choppy audio in a2dp sink 2022-01-10 19:15:17 +08:00
xiongweichao
50e00e641b fixed config parse crash after flash_erase
Closes https://github.com/espressif/esp-idf/issues/6170
2022-01-10 17:41:57 +08:00
Jiang Jiang Jian
03d3c43882 Merge branch 'bugfix/fix_null_pointer_deference_issue_4.4_mr' into 'release/v4.4'
Fix the null pointer deference issue via Reconnection Spamming

See merge request espressif/esp-idf!16637
2022-01-10 08:31:33 +00:00
Cao Sen Miao
67b4ba33dd spi_flash: add support for th 1M flash 2022-01-10 12:39:09 +08:00
Cao Sen Miao
e2ef65e117 psram: add ESP32-D0WD-R2-V3 support 2022-01-10 10:39:00 +08:00
jingli
23ec015d75 adjust the order of RTC memory heap caps and regions 2022-01-08 16:19:35 +08:00
Wang Fang
81936fd2b6 docs: add an example list for esp-wrover-kit 2022-01-07 16:47:54 +08:00
Jiang Jiang Jian
22b57850bd Merge branch 'bugfix/dpp_no_ip_issue_v4.4' into 'release/v4.4'
Fix STA not getting IP after DPP issue (Backport v4.4)

See merge request espressif/esp-idf!16645
2022-01-06 10:07:02 +00:00
lisekt84
bead7c2eeb freertos: Fix loss of precision in pdTICKS_TO_MS
Closes https://github.com/espressif/esp-idf/pull/7856
Closes https://github.com/espressif/esp-idf/issues/7853

[darian@espressif.com: Updated commit message]
Signed-off-by: Darian Leung <darian@espressif.com>
2022-01-06 15:44:17 +08:00
Krzysztof Budzynski
c1162b15dc Merge branch 'docs/s3_update_v4.4' into 'release/v4.4'
docs: update remaining programming guide docs for S3 (v4.4)

See merge request espressif/esp-idf!16668
2022-01-06 06:39:19 +00:00
Zim Kalinowski
b5a1df1db4 Merge branch 'bugfix/spi_slave_test_non_dma_v4.4' into 'release/v4.4'
spi-slave: fix single-board: hd test failing due to DMA buffers ending up in PSRAM (v4.4)

See merge request espressif/esp-idf!16305
2022-01-06 03:11:12 +00:00
Zim Kalinowski
219242de89 Merge branch 'bugfix/uart_custom_isr_broken' into 'release/v4.4'
UART: fix a bug preventing the user from freeing a previously registered ISR

See merge request espressif/esp-idf!16581
2022-01-06 03:10:29 +00:00
Zim Kalinowski
b64925c567 Merge branch 'docs/fatal_errors_update_4.4' into 'release/v4.4'
refactor (docs): improved fatal errors doc (backport v4.4)

See merge request espressif/esp-idf!16626
2022-01-06 03:10:05 +00:00
Darian Leung
116ecf098c docs: Refactor FreeRTOS documentation
This commit refactors the FreeRTOS documentation as follows:

- Rewrite FreeRTOS SMP changes document (ESP-IDF FreeRTOS SMP)
    - Reorganized sections in kernel behavior changes
    - Rewrote descriptions of each kernel behavior changes
    - Added notes about using ESP-IDF FreeRTOS for single core targets
- Moved TLSP callback section to FreeRTOS Additions document
- Moved FreeRTOS configuration section to FreeRTOS API document
- Added notes about FreeRTOS applications in ESP-IDF
2022-01-06 10:19:33 +08:00
Jakob Hasse
5869a4854f docs: fix hard coded target name in essl doc 2022-01-06 10:14:58 +08:00
Darian Leung
65e9385d0a docs: Update Power Management and Sleep Modes docs for ESP32-S3 2022-01-06 10:14:57 +08:00
Darian Leung
b0812baacd docs: Update TWAI docs for ESP32-S3 2022-01-06 10:14:57 +08:00
Marius Vikhammer
a0ed387f71 docs: update performance guide docs with S3 information 2022-01-06 10:14:57 +08:00
Marius Vikhammer
02bf07a1a0 docs: update docs with S3 specific information. 2022-01-06 10:14:54 +08:00
xueyunfei
2e4c95c1ee update s3 doc 2022-01-06 10:09:51 +08:00
Alexey Gerenkov
8c2990fcea trax: Adds ESP32-S3 support 2022-01-05 19:34:28 +01:00
Alexey Gerenkov
18cd2ea3e6 apptrace: Adds ESP32-S3 support 2022-01-05 19:26:33 +01:00
Ondrej Kosta
fd9f97b5f4 emac_hal_start/stop function description added 2022-01-05 16:26:37 +01:00
Jack
63366f011a phy: update phy lib to remove ets_printf references 2022-01-05 17:29:55 +08:00
Ivan Grokhotkov
09552fdf68 ci: improve checks for Wi-Fi/PHYlibraries
- add missing Wi-Fi header MD5 checks for esp32c3, esp32s3
- check PHY libraries for references to ets_printf, in addition to
  checking Wi-Fi libraries. This used to happen until libphy.a was
  moved into a separate submodule.

Reported in https://github.com/espressif/esp-phy-lib/issues/3
2022-01-05 17:29:35 +08:00
Nachiket Kukade
b9989d3644 esp_wifi: Update wifi lib
Fix STA not getting IP after DPP
2022-01-05 16:24:00 +08:00
Jiang Jiang Jian
d83021a6e8 Merge branch 'bugfix/ftm_misc_issues_v4.4' into 'release/v4.4'
Miscellaneous FTM bugfixes (Backport v4.4)

See merge request espressif/esp-idf!16644
2022-01-05 08:12:39 +00:00
Murray Fordyce
52224aebcf Fixed left right key confusion in comments.
"Left" and "Right" were swapped in some comments.
2022-01-05 10:46:46 +08:00
Nachiket Kukade
53c2b1f65b esp_wifi: Miscellaneous FTM bugfixes
1. Update wifi libs with bugfixes for corner cases
2. Avoid ASSERT for scan failure in FTM example
2022-01-04 15:49:45 +05:30
Omar Chebib
4288588751 UART: fix a bug preventing the user from freeing a previously registered ISR
* Closes https://github.com/espressif/esp-idf/issues/8150
2022-01-04 13:38:03 +08:00
Jiang Jiang Jian
d1f1b03beb Merge branch 'contrib/github_pr_7971_v4.4' into 'release/v4.4'
bugfix: Conflicting declaration error when include<rom/secure_boot.h> (v4.4)

See merge request espressif/esp-idf!16566
2022-01-04 03:37:35 +00:00
Jiang Jiang Jian
9a00ef1bc2 Merge branch 'feature/s3_rng_v4.4' into 'release/v4.4'
Bootloader add rng sampling (v4.4)

See merge request espressif/esp-idf!16623
2022-01-04 03:37:15 +00:00
Jiang Jiang Jian
abc18659e6 Merge branch 'bugfix/freertos_appcpu_int_disable_v4.4' into 'release/v4.4'
freertos: ensure interrupts are disabled before enabling tick timer (v4.4)

See merge request espressif/esp-idf!16606
2022-01-04 03:36:54 +00:00
“YangZhao”
8628079c42 There is an issue that if the the btm_cb.p_sec_dev_rec_list is full,but at the same
time we can't find old device to be replaced,then this can cause crash. So we need
to change the way to malloc the new device or replace the old in the list.
2022-01-04 10:42:09 +08:00
Jakob Hasse
f9e7eb1fbf refactor (docs): improved fatal errors doc 2022-01-04 10:02:29 +08:00
Jakob Hasse
ee24264c75 feat (bootloader): added rng sampling
Set maximum RNG query frequency to save value known from tests
2022-01-03 16:24:41 +05:30
Chen Wu
bd9ee38f3c http: Fix parsing invalid url cause to crash
Reason:
For example, if an url is lack of leading 'http:' by mistake, it causes to http_parser_parse_url() cannot parse http host item,
and then pass the null host pointer to _get_host_header(), crash happens.

Fix:
http added null pointer check now.

Closes https://jira.espressif.com:8443/browse/ESPAT-953
2021-12-31 14:40:21 +08:00
liqigan
f29492dc9d fix typos and format 2021-12-31 11:18:17 +08:00
Ivan Grokhotkov
dc707d5933 freertos: ensure interrupts are disabled before enabling tick timer
xPortStartScheduler calls vPortSetupTimer -> _frxt_tick_timer_init,
which enables tick timer interrupt and sets up the first timeout.
From that point on, the interrupt can fire. If the interrupt happens
while _frxt_dispatch is running, the scheduler will enter an infinite
loop. This is because _frxt_dispatch isn't supposed to be preemptable,
and the tick interrupt will overwrite some of the registers used by
_frxt_dispatch.
Note that this situation doesn't practically occur on the real
hardware, where the execution of vPortSetupTimer and _frxt_dispatch
happens quickly enough. However it can be reproduced on an emulator
if the tick period is set to 1ms.

Add an explicit call to portDISABLE_INTERRUPTS in xPortStartScheduler
to guarantee that _frxt_dispatch doesn't run with interrupts enabled.
This is similar to the esprv_intc_int_set_threshold(1); call in
RISC-V version of port.c.
2021-12-30 18:00:59 +08:00
liqigan
3b1bdce816 optimize SPP documents 2021-12-30 16:11:56 +08:00
songruojing
b25fb1111d gpio: Fix some gpio pin num errors on esp32s2 and esp32c3 2021-12-30 12:27:14 +08:00
Robin Krens
e39b0dcd2e spacing styling correction 2021-12-30 10:47:49 +08:00
Robin Krens
a61a935506 minor styling changes 2021-12-30 10:47:49 +08:00
Robin Krens
b72a03fd07 esp_hid: fix output report char declaration
Current issue: output reports sent by Windows not received.
The report characteristic declaration should also support write without
response as specified by HIDS profile:
See https://www.bluetooth.com/specifications/GATT/ (page 14)
2021-12-30 10:47:49 +08:00
jincheng
629bd67001 fix on esp_hidh report map length checking function
Closes https://github.com/espressif/esp-idf/issues/7586
2021-12-30 10:47:49 +08:00
Emil Muratov
8423e7d785 ledc.h - fix extern "C" to include ledc_cb_register()
(cherry picked from commit d4de08182e)
2021-12-29 21:14:37 +08:00
xiewenxiang
bf6b3ec0a8 component/bt: Support set HW CCA threshold value 2021-12-29 14:43:33 +08:00
xiewenxiang
5fc5016981 component/bt: fix periodic adv parameters detection issue 2021-12-29 14:43:22 +08:00
baohongde
ace24fd3f8 components/bt: modify name of file 2021-12-29 14:31:54 +08:00
baohongde
f4c6c48123 components/bt: Update the document of demo bt discovery 2021-12-29 14:31:38 +08:00
baohongde
55bd48b24e components/bt: Modify demo bt_discovery 2021-12-29 14:31:20 +08:00
Laukik Hase
474ff3e38f wifi_prov_mgr: Added check for passphrase length in softAP scheme
Closes https://github.com/espressif/esp-idf/issues/8063
2021-12-28 18:13:40 +05:30
Mahavir Jain
9d73448272 Fix copyright headers for few include files 2021-12-28 14:29:33 +05:30
lovyan03
530a06cf61 bugfix: Conflicting declaration error with include<esp_efuse.h>, and Unified secure_boot.h include guard to "pragma once". 2021-12-28 14:29:28 +05:30
huchaoru
bd8e9d98ba CI: change ap authmode from number to string (backport v4.4) 2021-12-27 19:57:40 +08:00
Jiang Jiang Jian
214d62b9ad Merge branch 'bugfix/install_key_refactor_v4.4' into 'release/v4.4'
esp_wifi: Refactor key install code(backport v4.4)

See merge request espressif/esp-idf!16532
2021-12-24 11:48:51 +00:00
Kapil Gupta
d57b946bbf esp_wifi: Refactor key install code 2021-12-24 11:58:18 +08:00
Jiang Jiang Jian
f9ab0ac458 Merge branch 'feature/usb-msc_v4.4' into 'release/v4.4'
USB MSC class (v4.4)

See merge request espressif/esp-idf!16530
2021-12-24 03:48:29 +00:00
Jiang Jiang Jian
84ac488837 Merge branch 'bugfix/alarm_update_invalid_v4.4' into 'release/v4.4'
timer: stop alarm if alarm value doesn't change in ISR callback (v4.4)

See merge request espressif/esp-idf!16524
2021-12-24 03:48:10 +00:00
Jiang Jiang Jian
3171667845 Merge branch 'bugfix/rtc_section_alignment_v4.4_2' into 'release/v4.4'
System: fix RTCFAST section alignment (v4.4)

See merge request espressif/esp-idf!16517
2021-12-24 03:47:02 +00:00
Jiang Jiang Jian
3b4c2b8281 Merge branch 'bugfix/doc_for_ipc_isr_v4.4' into 'release/v4.4'
esp_ipc: Update documentation and API descriptions (v4.4)

See merge request espressif/esp-idf!16032
2021-12-24 03:35:54 +00:00
Jiang Jiang Jian
11cbcdf46a Merge branch 'bugfix/wpa3_memory_leak_v4.4' into 'release/v4.4'
esp_wifi: Fixes memory leak in wpa3.

See merge request espressif/esp-idf!16528
2021-12-24 03:27:31 +00:00
Martin Valik
204aa05d0b USB: added MSC Host Driver with VFS support
Closes https://github.com/espressif/esp-idf/issues/6401
2021-12-23 18:30:24 +01:00
Michael (XIAO Xufeng)
88acf66506 Merge branch 'bugfix/freemodbus_timer_struct_not_initialized' into 'release/v4.4'
freemodbus: fixed timer config struct not initialized issue (v4.4)

See merge request espressif/esp-idf!16117
2021-12-23 17:15:00 +00:00
Michael (XIAO Xufeng)
e093575e39 freemodbus: fixed timer config struct not initialized issue (v4.4) 2021-12-23 17:15:00 +00:00
Michael (XIAO Xufeng)
ec554944b7 Merge branch 'feature/backport/usb_host/cdc_driver' into 'release/v4.4'
USB: Add CDC-ACM subclass host driver (backport v4.4)

See merge request espressif/esp-idf!16363
2021-12-23 17:02:33 +00:00
aditi_lonkar
7cd52401b0 esp_wifi: Fixes memory leak in wpa3. 2021-12-23 19:05:03 +05:30
Michael (XIAO Xufeng)
5b80dd44be Merge branch 'feature/gdma_iram_interrupt_v4.4' into 'release/v4.4'
gdma: support IRAM interrupt (v4.4)

See merge request espressif/esp-idf!15993
2021-12-23 12:50:22 +00:00
Michael (XIAO Xufeng)
9f5c6f287e Merge branch 'feature/update_adc_cali_due_to_efuse_version_change_v4.4' into 'release/v4.4'
adc: update s3 adc calibration efuse version (v4.4)

See merge request espressif/esp-idf!16357
2021-12-23 12:49:11 +00:00
Michael (XIAO Xufeng)
81f81b97c3 Merge branch 'feature/adc_dma_driver_4.4' into 'release/v4.4'
adc: dma driver (v4.4)

See merge request espressif/esp-idf!16437
2021-12-23 12:48:47 +00:00
Jiang Jiang Jian
9a42760b22 Merge branch 'feature/posix_compat_functions_v4.4' into 'release/v4.4'
newlib: implement posix_memalign, sysconf, realpath (v4.4)

See merge request espressif/esp-idf!16464
2021-12-23 11:20:54 +00:00
Jiang Jiang Jian
66dd3dade9 Merge branch 'bugfix/ldgen_plus_in_archive_name_v4.4' into 'release/v4.4'
ldgen: allow + sign in archive names (v4.4)

See merge request espressif/esp-idf!16467
2021-12-23 11:15:47 +00:00
morris
b0122177b7 timer: stop alarm if alarm value doesn't change in ISR handler
Alarm will be disabled by hardware when alarm event happend.
In the ISR, if auto-reload is enabled, we should re-enable the alarm.
If the alarm target value is changed in user's callback,
the alarm will be reenabled as well.

Closes https://github.com/espressif/esp-idf/issues/7001
Closes https://github.com/espressif/esp-idf/issues/8095
2021-12-23 18:58:43 +08:00
Michael (XIAO Xufeng)
ec380d04b2 Merge branch 'refactor/fun_pointer_opi_v4.4' into 'release/v4.4'
opi_flash: Add a function pointer for opi required registers(backport v4.4)

See merge request espressif/esp-idf!16359
2021-12-23 09:24:18 +00:00
Jiang Jiang Jian
61149302e5 Merge branch 'bugfix/fix_spp_open_err_bda_v4.4' into 'release/v4.4'
Component_bt/Fix SPP acceptor open with wrong remote address[backport 4.4]

See merge request espressif/esp-idf!16519
2021-12-23 09:23:33 +00:00
Armando
1ec46ad3b8 adc: support adc dma driver on all chips 2021-12-23 17:13:46 +08:00
Jiang Jiang Jian
6279f9eb62 Merge branch 'bugfix/fix_heap_memory_corruption_v4.4' into 'release/v4.4'
Heap: Fix a possible bug in the TLSF allocator (backport v4.4)

See merge request espressif/esp-idf!16507
2021-12-23 03:29:45 +00:00
Jiang Jiang Jian
7f48664eda Merge branch 'feature/mbedtls-2.16.12-integration_v4.4' into 'release/v4.4'
mbedtls: upgrade to release v2.16.12 (v4.4)

See merge request espressif/esp-idf!16483
2021-12-23 03:26:17 +00:00
Jiang Jiang Jian
cb2906c7b2 Merge branch 'bugfix/fix_blufi_encryption_fail_v4.4' into 'release/v4.4'
components/bt: fix blufi encryption fail(backport release/v4.4)

See merge request espressif/esp-idf!16314
2021-12-23 03:23:24 +00:00
liqigan
3390caf994 fix SPP open with wrong remote bd_addr 2021-12-23 10:02:39 +08:00
Martin Vychodil
60386410ae System: fix RTCFAST section alignment
This bugfix contains 3 fixes:
1. .rtc_dummy section is removed (not needed for C3)
2. .rtc_text section is padded with 16B for possible CPU prefetch
3. .rtc_text section is aligned to 4B boundary to comply with PMS Memprot requirements
2021-12-22 21:58:20 +01:00
Jiang Jiang Jian
ba50a4e25e Merge branch 'bugfix/stdatomic_sync_op_and_fetch_v4.4' into 'release/v4.4'
newlib: stdatomic: implement missing "op_fetch", "nand" builtins (v4.4)

See merge request espressif/esp-idf!16465
2021-12-22 12:44:09 +00:00
Jiang Jiang Jian
62322caf38 Merge branch 'contrib/github_pr_7966_v4.4' into 'release/v4.4'
Changed argument pointer to correct data (GitHub PR) (v4.4)

See merge request espressif/esp-idf!16423
2021-12-22 12:42:27 +00:00
xiewenxiang
3051ad2159 components/bt: fix blufi encryption fail 2021-12-22 20:40:48 +08:00
Jiang Jiang Jian
710883d9bf Merge branch 'bugfix/scannable_adv_duration_estimation_v4.4' into 'release/v4.4'
[Coexistence]: fixed BLE scannable extended adv performance issue in case of Wi-Fi coexistence(backport v4.4)

See merge request espressif/esp-idf!16476
2021-12-22 12:38:17 +00:00
Jiang Jiang Jian
af429e56bb Merge branch 'bugfix/esp_eth_start_tx_buff_v4.4' into 'release/v4.4'
Fixed ESP32 EMAC driver `insufficient TX buffer size` (v4.4)

See merge request espressif/esp-idf!16497
2021-12-22 12:36:40 +00:00
Jiang Jiang Jian
a15bac6b5c Merge branch 'docs/fix_typo_in_header_file' into 'release/v4.4'
docs: Fix typo in sdmmc_cmd.h and inconsistency in spi_master.h (backport release/v4.4)

See merge request espressif/esp-idf!16382
2021-12-22 12:34:05 +00:00
Jiang Jiang Jian
451a173960 Merge branch 'bugfix/idf_exe_dll_deps_v4.4' into 'release/v4.4'
tools: fix idf_exe dependency on vcruntime140.dll, move it out of IDF (v4.4)

See merge request espressif/esp-idf!16352
2021-12-22 12:29:58 +00:00
Jiang Jiang Jian
255ca3d18e Merge branch 'feature/cmake_linux_arm64_v4.4' into 'release/v4.4'
tools: updates for linux-arm64 (aarch64) platform (v4.4)

See merge request espressif/esp-idf!16353
2021-12-22 12:29:33 +00:00
Jiang Jiang Jian
abc7365777 Merge branch 'docs/pthread_rw_lock' into 'release/v4.4'
Docs: documentation about reader-writer-lock impl (v4.4)

See merge request espressif/esp-idf!16148
2021-12-22 12:29:19 +00:00
Jiang Jiang Jian
07221ebaf5 Merge branch 'bugifx/freertos_missing_api_config_v4.4' into 'release/v4.4'
freertos: Add missing INCLUDE_ configurations for some functions (v4.4)

See merge request espressif/esp-idf!16267
2021-12-22 12:28:35 +00:00
Jiang Jiang Jian
c2a71ce5c6 Merge branch 'feature/mbedtls_dynamic_memory_v4.4' into 'release/v4.4'
fix(mbedtls): fix compiling error when open MBEDTLS_SSL_PROTO_DTLS and disable...(backport v4.4)

See merge request espressif/esp-idf!16472
2021-12-22 12:27:27 +00:00
Ivan Grokhotkov
f158a0d538 newlib: implement posix_memalign, sysconf, realpath
Closes https://github.com/espressif/esp-idf/issues/6119
Closes https://github.com/espressif/esp-idf/issues/7798
2021-12-22 10:54:54 +01:00
Roland Dobai
0b43544a24 Tools: Load tool versions automatically for IDF Tools tests 2021-12-22 10:31:17 +01:00
Omar Chebib
155de9c49e Heap: Add a target test to check that TLFS allocates the requested size 2021-12-22 14:06:41 +08:00
Omar Chebib
09db8845c6 Heap: Fix a possible bug in the TLSF allocator
Fix a bug that could return a chunk of memory smaller than requested,
easily leading to a memory corruption, when the required memory alignment
passed to the allocator is 4.
2021-12-22 14:06:41 +08:00
Jiang Jiang Jian
5f5f8bd64e Merge branch 'bugifx/nimble_timer_memory_leak_v4.4' into 'release/v4.4'
[NimBLE]: Fixed memory leak of timer during NimBLE Host start-stop process(backport v4.4)

See merge request espressif/esp-idf!16445
2021-12-22 05:45:23 +00:00
Jiang Jiang Jian
02c7dbab81 Merge branch 'ci/upload_build_example_for_release_test_4.4' into 'release/v4.4'
ci: preserve artifacts for local test apps (4.4)

See merge request espressif/esp-idf!16291
2021-12-22 05:44:01 +00:00
Jiang Jiang Jian
775f2886cc Merge branch 'bugfix/fix_rx_fragment_error_issue_v4.4' into 'release/v4.4'
esp_wifi: fix fragment issue and PMF compatible for faulty APs(Backport v4.4)

See merge request espressif/esp-idf!16390
2021-12-22 05:40:19 +00:00
Ondrej Kosta
74ba1175b6 Fixed ESP32 EMAC driver insufficient TX buffer size which could followed esp_eth_stop and esp_eth_start sequence 2021-12-21 14:04:55 +01:00
Li Jingyi
c91afab332 fix(mbedtls): fix compiling error when open MBEDTLS_SSL_PROTO_DTLS and disable MBEDTLS_SSL_PROTO_DTLS when open MBEDTLS_DYNAMIC_BUFFER 2021-12-21 16:31:47 +08:00
Mahavir Jain
3e3e1a9a9d mbedtls: upgrade to release v2.16.12
For release notes, please refer to:
https://github.com/ARMmbed/mbedtls/releases/tag/v2.16.12
2021-12-21 13:58:40 +05:30
Mahavir Jain
d0b465c7cd mbedtls: small documentation update 2021-12-21 13:58:40 +05:30
wangmengyang
8152978d73 component/bt: fixed coexistence scannable extended adv performance issue 2021-12-21 12:43:33 +08:00
wangmengyang
bcd47fa0cc component/bt/host/nimble: fixed memory leak due to timer not destroyed during NimBLE host start-stop 2021-12-21 12:31:42 +08:00
Jiang Jiang Jian
d037359359 Merge branch 'bugfix/static_analysis_fixes_v4.4' into 'release/v4.4'
ESP_WIFI: Remove static analysis warnings(backport v4.4)

See merge request espressif/esp-idf!16333
2021-12-21 04:11:22 +00:00
Jiang Jiang Jian
187f47d232 Merge branch 'feature/support_ble_direct_ind_low_adv_v4.4' into 'release/v4.4'
components/bt: Support low duty cycle directed advertising(backport release/v4.4)

See merge request espressif/esp-idf!16377
2021-12-21 04:07:13 +00:00
Jiang Jiang Jian
c50eec53d1 Merge branch 'bugfix/fix_spp_listen_err_v4.4' into 'release/v4.4'
Component_bt/Fix SPP cannot malloc slot bugs[backport v4.4]

See merge request espressif/esp-idf!16383
2021-12-21 04:06:40 +00:00
Jiang Jiang Jian
a650995a2e Merge branch 'bugfix/bt_enc_proc_finish_v4.4' into 'release/v4.4'
bt/bugfix: ACL Rx data is sent to host before enc change event

See merge request espressif/esp-idf!16424
2021-12-21 04:06:22 +00:00
Jiang Jiang Jian
8529a1da35 Merge branch 'bugfix/wpa_supplicant_logs_release_v4.4' into 'release/v4.4'
esp_wifi: Change the verbosity of wpa_supplicant logs (Backport v4.4)

See merge request espressif/esp-idf!16340
2021-12-21 04:03:17 +00:00
Jiang Jiang Jian
f01fa89404 Merge branch 'mesh/bugfix_fix_no_ip_issue_v4.4' into 'release/v4.4'
esp_wifi_mesh: fix the device can not receive IP_EVENT_STA_GOT_IP when the router restarted(backport_v4.4)

See merge request espressif/esp-idf!16343
2021-12-21 04:02:14 +00:00
Jiang Jiang Jian
518f94270b Merge branch 'bugfix/v4.4-otbr-crash' into 'release/v4.4'
openthread: update libraries to v4.4 release

See merge request espressif/esp-idf!16447
2021-12-21 04:01:38 +00:00
Darian Leung
f72baac109 freertos: Add missing INCLUDE_ configurations for some functions
This commit adds missing INCLUDE_ configurations to FreeRTOSConfig.h for
the following functions:

- xTaskAbortDelay()
- xTaskGetHandle()

Unit tests for these functions were also added.

Closes https://github.com/espressif/esp-idf/issues/7902
2021-12-21 10:54:28 +08:00
Ivan Grokhotkov
fbdb781fcb ldgen: allow + sign in archive names
Closes https://github.com/espressif/esp-idf/issues/8073
2021-12-21 02:16:32 +01:00
Ivan Grokhotkov
c8c65a2854 newlib: stdatomic: implement missing "op_fetch", "nand" builtins
* Adds implementations of __{atomic,sync}_nand_fetch_n. These builtins
  were implemented for other operations but were not defined for NAND.
* Adds implementation of __atomic_OP_fetch_n for all OPs.
* Adds implementation of __sync_OP_and_fetch_n for all OPs.

Reported in https://github.com/espressif/arduino-esp32/issues/5948
2021-12-21 02:15:45 +01:00
weitianhua
8763c82e26 Fix Typos 2021-12-20 17:04:24 +08:00
weitianhua
dec183dbb5 Optimize HFP Documents 2021-12-20 17:04:15 +08:00
Jiacheng Guo
9688cf5c04 openthread: update libraries to v4.4 release
Fixes the library mismatch and border router crash issue in v4.4
release.
2021-12-20 16:16:10 +08:00
Darian Leung
63ac2111ce esp_ipc: Update documentation and API descriptions
This commit updates the documentation and API descriptions of
the esp_ipc and esp_ipc_isr features.
2021-12-20 12:41:10 +08:00
Jiang Jiang Jian
a79dc75f0a Merge branch 'bugfix/fix_variable_on_stack_bug_in_seg_slave_example_v4.4' into 'release/v4.4'
spi_slave_hd: fix stack variable bug in seg_slave example (v4.4)

See merge request espressif/esp-idf!16388
2021-12-16 10:17:56 +00:00
Jiang Jiang Jian
161d7ee25a Merge branch 'bugfix/mcpwm_ll_missing_type_conversion_v4.4' into 'release/v4.4'
mcpwm: fix implicit conversion in LL function (v4.4)

See merge request espressif/esp-idf!16407
2021-12-16 10:16:03 +00:00
Jiang Jiang Jian
a2b88eb1a0 Merge branch 'bugfix/fix_adc1_chan8_9_not_defined_on_s3_v4.4' into 'release/v4.4'
adc: fix adc1 channel 8 and 9 not defined bug on s3 (v4.4)

See merge request espressif/esp-idf!16399
2021-12-16 10:14:17 +00:00
Chinmay Chhajed
431bf72295 bt/bugfix: ACL Rx data is sent to host before enc change event 2021-12-16 15:41:31 +05:30
Ondrej Kosta
04fab6f1ac Fixed pcap summary print of 802.11 frame
802.11 Packet Type and Packet Subtype is now correctly decoded
2021-12-16 10:28:30 +01:00
Tomáš Bravenec
762031424b Changed argument pointer to correct data 2021-12-16 10:28:30 +01:00
shenjun
b67c833c88 esp_wifi_mesh: fix the device can not receive IP_EVENT_STA_GOT_IP when the router restarted 2021-12-16 17:23:55 +08:00
morris
23e4c12a86 mcpwm: fix implicit conversion in LL function
Closes https://github.com/espressif/esp-idf/issues/8066
2021-12-15 10:24:42 +08:00
Armando
2aed35b804 adc: fix adc1 channel 8 and 9 not defined bug on s3 2021-12-14 20:10:47 +08:00
Hrudaynath Dhabe
40ae2037bc esp_wifi: Change the verbosity of wpa_supplicant log. 2021-12-14 14:29:09 +05:30
NikLeberg
416b3b9465 allow for minimal scope of wifi_init_config_t
With this change one can use the default config as a variable with minimal scope: esp_wifi_init(&(wifi_init_config_t)WIFI_INIT_CONFIG_DEFAULT())
2021-12-14 12:46:37 +08:00
Shang Zhou
c42db9308f docs: Update miswritten and abbreviated words and syntax errors for initialize WiFi section in esp_wifi.h header file 2021-12-14 12:46:11 +08:00
muhaidong
094b3dba33 esp_wifi: fix fragment issue and PMF compatible for faulty APs
1. fix(pp): fix fragment plt loss when 2td pn compare with 1th pn
2. pmf allow keyindex in big endian format to workaround faulty APs
3. docs: update miswritten and abbreviated words and syntax errors for initialize WiFi section in esp_wifi.h header file
4. allow for minimal scope of wifi_init_config_t
2021-12-14 12:42:25 +08:00
Armando
39ed1b2862 spi_slave_hd: fix stack variable bug in seg_slave example
Closes https://github.com/espressif/esp-idf/issues/7163
2021-12-14 12:36:40 +08:00
liqigan
b8602d4bf9 fix SPP server bugs when the BTC layer can not allocate a slot for the listen port 2021-12-14 11:03:57 +08:00
intern
215f8fe68e docs: fix typo in header files 2021-12-14 11:01:17 +08:00
xiewenxiang
a628ef5be0 components/bt: Fix high duty cycle directed advertising will not be stopped when timeout 2021-12-14 09:32:34 +08:00
xiewenxiang
5086d6f3d2 components/bt: Support low duty cycle directed advertising 2021-12-14 09:32:15 +08:00
pedro.minatel
7506a725be docs: Rebase and typos fixed for the bluetooth README files 2021-12-13 10:31:09 +00:00
Armando
4a429d59ac adc: update adc calibration efuse version
ADC calibration scheme and algorithm are not changed. Only the eFuse bit BLOCK1_VERSION is changed. This MR updated the logic to recognize the adc efuse version
2021-12-13 13:03:23 +08:00
Shang Zhou
f64f2e4955 docs: Update inconsistency parts for S3 documentation, set a default value for future targets, and remove line breaks inside paragraphs 2021-12-13 11:23:18 +08:00
Tomas Rezucha
e04eae6659 usb: Add USB host CDC-ACM class driver 2021-12-10 10:04:16 +01:00
Cao Sen Miao
a9a5894fe9 opi_flash: Add a function pointer for opi required registers 2021-12-10 15:11:33 +08:00
Ivan Grokhotkov
36934317b0 tools: don't install binutils-esp32ulp on aarch64
Once new binutils-esp32ulp is made and aarch64 artifacts are added,
will add these tools back.

Related to https://github.com/espressif/esp-idf/issues/6432
2021-12-09 17:36:00 +01:00
Ivan Grokhotkov
4949d55ea0 tools: add CMake for linux-arm64 (aarch64) platform
Allows installing cmake on aarch64 linux platforms. Also necessary
when building IDF docker image on macOS aarch64.

Part of https://github.com/espressif/esp-idf/issues/6432
2021-12-09 17:36:00 +01:00
Ivan Grokhotkov
8b4b2234e4 tools: upgrade idf_exe to 1.0.3
https://github.com/espressif/idf_py_exe_tool/releases/tag/v1.0.3
2021-12-09 17:24:43 +01:00
Ivan Grokhotkov
07644ee5cd tools: move idf_exe out of IDF
Source code moved into https://github.com/espressif/idf_py_exe_tool,
so that releases can be built in CI and hosted on Github.
2021-12-09 17:24:43 +01:00
Jiang Jiang Jian
f23dcd3555 Merge branch 'bugfix/fix_phy_enable_watchdog_timeout_issue_4.4' into 'release/v4.4'
Fix the ble task watchdog timeout issue

See merge request espressif/esp-idf!16287
2021-12-09 08:32:34 +00:00
Jiang Jiang Jian
a39af9b000 Merge branch 'bugfix/s3_rtc_ram_deepsleep_test_v4.4' into 'release/v4.4'
ci: fix "can set sleep wake stub from stack in RTC RAM" test case failure (v4.4)

See merge request espressif/esp-idf!16341
2021-12-09 08:25:04 +00:00
Roland Dobai
25873a668a Merge branch 'bugfix/remove_PIP_USER_v4.4' into 'release/v4.4'
tools: Add check for PIP_USER variable (backport v4.4)

See merge request espressif/esp-idf!16338
2021-12-09 08:11:55 +00:00
Marius Vikhammer
d730c84038 ci: fix "can set sleep wake stub from stack in RTC RAM" test case failure
"can set sleep wake stub from stack in RTC RAM" would randomly fail on S3 due to stack overflow.

Fixed wrong usage of stack size and slightly increased it.
2021-12-09 13:59:30 +08:00
Chen Yudong
fd2000184a ci: add test dir examples/bluetooth/hci/controller_hci_uart_esp32 2021-12-09 13:48:38 +08:00
Chen Yudong
4d73d4db36 example: build ble_mesh_console example on c3 and s3 as well 2021-12-09 13:48:38 +08:00
Chen Yudong
4a11276cf4 ci: preserve artifacts for local test apps 2021-12-09 13:48:38 +08:00
Jiang Jiang Jian
e104dd7f27 Merge branch 'bugfix/fix_wifi_bugs_v4.4' into 'release/v4.4'
esp_wifi: fix wifi bugs (Backport v4.4)

See merge request espressif/esp-idf!16278
2021-12-08 15:46:40 +00:00
Juraj Sadel
1e39970e91 tools: Add check for PIP_USER variable
Closes https://github.com/espressif/esp-idf/issues/7910
2021-12-08 16:25:17 +01:00
Jiang Jiang Jian
bd650062ca Merge branch 'feature/update_rtc_memory_heap_caps' into 'release/v4.4'
heap: update RTC memory heap caps (backport v4.4)

See merge request espressif/esp-idf!15941
2021-12-08 13:35:18 +00:00
Jiang Jiang Jian
141c1cd004 Merge branch 'bugfix/crypto_allocate_lldesc_v4.4' into 'release/v4.4'
crypto: dont create DMA descriptors on the stack (v4.4)

See merge request espressif/esp-idf!16323
2021-12-08 13:31:41 +00:00
Kapil Gupta
a77ab8c03e ESP_WIFI: Remove static analysis warnings 2021-12-08 18:03:43 +05:30
Mahavir Jain
c190ab1830 Merge branch 'fix/remove_warning_when_disabling_rom_dl_mode_v4.4' into 'release/v4.4'
secure_boot: Fix warning when UART ROM DL mode is disabled (v4.4)

See merge request espressif/esp-idf!16228
2021-12-08 11:56:15 +00:00
Yang Zhao
9c686ff341 Update esp32c3 and esp32s3 phy lib and bb lib
Fix the ble task watchdog timeout issue caused by phy enable when exit modem sleep.
2021-12-08 19:16:28 +08:00
Jiang Jiang Jian
fe5ee1041c Merge branch 'bugfix/minimal_stacksize_watchpoint_aware_4.4' into 'release/v4.4'
[freertos]: Changed minimal stack size to regard watchpoint usage (backport v4.4)

See merge request espressif/esp-idf!16303
2021-12-08 10:28:05 +00:00
Jiang Jiang Jian
f2db4c7520 Merge branch 'bugfix/ringbuf_send_semaphore_release_order_v4.4' into 'release/v4.4'
esp_ringbuf: Fix order of semaphore release in xRingbufferSend (v4.4)

See merge request espressif/esp-idf!16229
2021-12-08 10:26:12 +00:00
Jiang Jiang Jian
b4a32e3812 Merge branch 'bugfix/html_redirect_v4.4' into 'release/v4.4'
docs: fix html redirects not working (v4.4)

See merge request espressif/esp-idf!16284
2021-12-08 10:25:47 +00:00
Jiang Jiang Jian
a6e31652b8 Merge branch 'feature/mbedtls_dynamic_memory_v4.4' into 'release/v4.4'
feat(mbedtls): modify __wrap_mbedtls_ssl_setup to decrease SSL peak heap cost(backport v4.4)

See merge request espressif/esp-idf!16275
2021-12-08 10:21:04 +00:00
Jiang Jiang Jian
7d7f91e1d8 Merge branch 'docs/update_the_pinout_figure_of_esp32_devkitc_v4.4' into 'release/v4.4'
docs: update the module on esp32-devkitc from esp32-wrover to esp32-wroom (v4.4)

See merge request espressif/esp-idf!15963
2021-12-08 10:15:54 +00:00
Jiang Jiang Jian
a89ff2677b Merge branch 'bugfix/fix_esp32h2_efuse_get_ext_mac_v4.4' into 'release/v4.4'
efuse_table_gen: Fixes wrong joining fields with omitted names (v4.4)

See merge request espressif/esp-idf!15735
2021-12-08 10:12:25 +00:00
Jiang Jiang Jian
67fcfc2e02 Merge branch 'feature/freertos_try_enter_critical_v4.4' into 'release/v4.4'
freertos: Add portTRY_ENTRY_CRITICAL() and deprecate legacy spinlock fucntions (v4.4)

See merge request espressif/esp-idf!16040
2021-12-08 10:10:17 +00:00
Mahavir Jain
ff3922d217 Merge branch 'bugfix/fix_select_timeout_v4.4' into 'release/v4.4'
VFS: `select` function's timeout is now POSIX compliant (and fix eventfd example) (backport v4.4)

See merge request espressif/esp-idf!16189
2021-12-08 08:32:42 +00:00
Aditya Patwardhan
2a2d8f5cbc efuse_example_test: Fix the example test
*Unify the log messages when UART ROM Download mode is kept enabled
2021-12-08 16:11:59 +08:00
Aditya Patwardhan
2c0081b286 secure_boot: Fix warning when UART ROM DL mode is disabled
*Additionally use updated calls to enable rom secure download mode
2021-12-08 16:11:59 +08:00
Marius Vikhammer
a1ee43fe9d crypto: also apply cache writeback/invalidate for SPIRAM_USE_MEMMAP
Closes https://github.com/espressif/esp-idf/issues/7944
2021-12-08 16:10:19 +08:00
Marius Vikhammer
3b3826b61c crypto: allocate all DMA descriptors to DMA capable memory.
These were previously placed on the stack, but the stack could be placed in
RTC RAM which is not DMA capable.
2021-12-08 16:10:18 +08:00
Jiang Jiang Jian
36e1d1c180 Merge branch 'bugfix/wifi_netif_on_off_cycle_race_v4.4' into 'release/v4.4'
wifi: Fix race conditon invoking invalid callback on deinit (v4.4)

See merge request espressif/esp-idf!16309
2021-12-08 07:31:13 +00:00
Jiang Jiang Jian
feee6a2f36 Merge branch 'bugfix/eth_emac_reset_dma_desc_v4.4' into 'release/v4.4'
esp-eth: emac: Reset Tx DMA channel owner on init (v4.4)

See merge request espressif/esp-idf!16008
2021-12-08 07:18:42 +00:00
Michael (XIAO Xufeng)
f4e5948102 Merge branch 'bugfix/lcd_rgb_pclk_default_to_low_v4.4' into 'release/v4.4'
lcd: rgb pclk idle default to low && RMT IR protocol example for esp32s3 (v4.4)

See merge request espressif/esp-idf!16211
2021-12-08 07:01:08 +00:00
David Cermak
1b7cc59b10 wifi: Fix race conditon invoking invalid callback on deinit
Closes https://github.com/espressif/esp-idf/issues/7579
2021-12-08 07:14:08 +01:00
Jakob Hasse
32077601c4 bugfix (freertos): Changed minimal stack size to regard watchpoint usage 2021-12-08 11:29:09 +08:00
Marius Vikhammer
68fc49c4d2 spi-slave: fix single-board: hd test failing due to DMA buffers ending up in PSRAM 2021-12-08 10:59:26 +08:00
Marius Vikhammer
d1dc428820 docs: fix html redirects not working
HTML redirects for docs broke during migration to esp-docs.
2021-12-07 09:12:46 +08:00
Nachiket Kukade
d7599a53b8 esp_wifi: Update wifi lib
1. Fix FTM failures after repeated operations
2. Update Mexico channel refer to FCC
3. Mesh: fix the issue that layer2 node connect to lower-layer node when FIXED-ROOT root disappeared
4. Decouple softap and 8684 support
2021-12-06 17:45:57 +08:00
Zhang Jun Hao
f490adf800 esp_wifi: support station only mode for code size down 2021-12-06 17:34:56 +08:00
Christoph Rackwitz
440b0001d0 esp_wifi: Reset event bits in ftm example to avoid repeated failures
Closes https://github.com/espressif/esp-idf/pull/7773
2021-12-06 17:34:00 +08:00
Li Jingyi
03b7ffdf4a feat(mbedtls): modify __wrap_mbedtls_ssl_setup to decrease SSL peak heap cost 2021-12-06 17:07:11 +08:00
Jiang Jiang Jian
220a91ae30 Merge branch 'feature/adds_fault_injection_protection_for_check_anti_rollback_v4.4' into 'release/v4.4'
bootloader_support: Adds fault injection protection for check_anti_rollback (v4.4)

See merge request espressif/esp-idf!16179
2021-12-06 04:03:11 +00:00
Jiang Jiang Jian
6affb3da3c Merge branch 'bugfix/scheduler_state_query_thread_safety_v4.4' into 'release/v4.4'
freertos: fix thread safety for checking scheduler state (v4.4)

See merge request espressif/esp-idf!16126
2021-12-06 04:02:53 +00:00
Jiang Jiang Jian
3211346669 Merge branch 'bugfix/hardware_mpi_fallback_issue_v4.4' into 'release/v4.4'
mbedtls: fix hardware MPI (bignum) related regression (v4.4)

See merge request espressif/esp-idf!16236
2021-12-06 04:00:36 +00:00
Jiang Jiang Jian
0c8391acb1 Merge branch 'reduce_bootup_time_when_using_usb-serial-jtag_v4.4' into 'release/v4.4'
rtc_clk: reduce bootup time when using usb-serial-jtag(backport v4.4)

See merge request espressif/esp-idf!16260
2021-12-06 04:00:01 +00:00
Jiang Jiang Jian
b458a60791 Merge branch 'bugfix/fix_can_not_find_mac_addr_error_mr_4.4' into 'release/v4.4'
fix can not find mac addr error

See merge request espressif/esp-idf!16145
2021-12-06 03:37:24 +00:00
Jiang Jiang Jian
5e9c085ae9 Merge branch 'bugfix/xStreamBufferReset_crashing_v4.4' into 'release/v4.4'
FreeRTOS: Fix xStreamBufferReset function always crashing (backport v4.4)

See merge request espressif/esp-idf!16170
2021-12-06 03:36:51 +00:00
Jiang Jiang Jian
faa6ec04f2 Merge branch 'feature/update_option_len_default_value_v4.4' into 'release/v4.4'
lw-ip: Update LWIP_DHCP_OPTIONS_LEN default value when LWIP_DHCP_DISABLE_VENDOR_CLASS_ID disabled(backport v4.4)

See merge request espressif/esp-idf!16253
2021-12-06 03:36:03 +00:00
morris
7ae887dead rmt: update ir example to work with esp32s3 out of box 2021-12-06 10:02:55 +08:00
morris
e311554554 lcd: rgb pclk idle default to low 2021-12-06 10:02:55 +08:00
jingli
1d6c95000b reduce bootup time when using usb-serial-jtag 2021-12-03 20:50:22 +08:00
yuanjm
3ebb1a2a00 lwip: Update LWIP_DHCP_OPTIONS_LEN default value when LWIP_DHCP_DISABLE_VENDOR_CLASS_ID disabled
Closes https://github.com/espressif/esp-idf/issues/7742
2021-12-03 17:23:35 +08:00
Anton Maklakov
4fca21b67c Merge branch 'feature/remove_component_manager_tests_v4.4' into 'release/v4.4'
ci: Remove component manager test from build system tests (v4.4)

See merge request espressif/esp-idf!16106
2021-12-02 12:09:49 +00:00
Mahavir Jain
a28e0bf064 mbedtls: remove wrap from component.mk as well
Note: This was not required in original MR, as master branch does
not support GNU Make.
2021-12-02 17:13:31 +05:30
Krzysztof Budzynski
2af37752fe Merge branch 'docs/update_s3_wroom_datasheet_link_backport_v4.4' into 'release/v4.4'
Fix link to esp32-s3-wroom-1 datasheet link (backport v4.4)

See merge request espressif/esp-idf!16093
2021-12-02 09:37:19 +00:00
Mahavir Jain
7fe9d41e33 esp_bignum: move check for supported MPI bits at start of API
This can allow hardware MPI API to return as soon as it identifies
that it can handle require bitlength operation.
2021-12-02 15:07:08 +05:30
Mahavir Jain
9cb4948a23 mbedtls: update mbedtls submodule pointer for MPI API change 2021-12-02 15:07:08 +05:30
Mahavir Jain
99c9637e9b mbedtls: fix hardware MPI (bignum) related regression
In commit de22f3a4e5, combination of
hardware and software MPI (bignum) related approach was used to
work around chip (e.g. ESP32-C3) limitation of max 3072 bits support.

This was done using linker "--wrap" flag but since the relevant API is
being used in same translation (compilation unit), hardware mode was not
getting used in some cases (e.g., RSA key generation).

This commit modified internal mbedTLS API and makes software+hardware
combination deterministic.
2021-12-02 15:07:08 +05:30
Mahavir Jain
e0e6523c09 mbedtls: update kconfig help to correct on supported MPI bits 2021-12-02 15:07:07 +05:30
Lv Xin Yue
c25408a009 docs:update the link to esp32-s3-wroom-1 datasheet 2021-12-02 16:51:23 +08:00
David Cermak
288b2a22a5 Examples/PPPoS: Add troubleshooting to correctly power modem
Closes https://github.com/espressif/esp-idf/issues/7807
2021-12-02 09:09:23 +01:00
David Čermák
b98a2a41e0 Merge branch 'bugfix/ksz8081_loopback' into 'release/v4.4'
KSZ8081 Loopback Callback Fix

See merge request espressif/esp-idf!16081
2021-12-02 07:29:31 +00:00
David Čermák
d5c607c54a Merge branch 'bugfix/dm9051_tx_throughput_rate_optimization_v4.4' into 'release/v4.4'
esp_eth: optimize dm9051 Tx throughput(v4.4)

See merge request espressif/esp-idf!15885
2021-12-02 06:51:22 +00:00
RichFalk
92829f66c8 esp_ringbuf: Fix assertion xQueueGenericSend queue.c:818
The release of the semaphore indicating the item was successfully sent must be the last semaphore released.  The receiver may be in another task and may delete the Ringbuffer (such as with a return code across tasks design pattern) if they are through with the Ringbuffer.

The function xRingbufferSendAcquire followed by xRingbufferSendComplete had the semaphores released in the proper order and that same pattern should have been used in xRingbufferSend and xRingbufferSendFromISR.  This commit fixes this order.

Issue (IDFGH-6030) #7716 describes the problem in more detail.

Closes IDFGH-6030, https://github.com/espressif/esp-idf/issues/7716
Closes IDFGH-6036, https://github.com/espressif/esp-idf/pull/7721
2021-12-02 10:25:06 +05:30
Anton Maklakov
762689de86 ci: Fix build system tests to clean the dir 2021-12-01 18:19:15 +01:00
Zim Kalinowski
aa96a98c0c Merge branch 'bugfix/riscv_fix_vector_mcause_v4.4' into 'release/v4.4'
RISC-V: fix usage of special register when interrupts are enabled (backport v4.4)

See merge request espressif/esp-idf!16187
2021-12-01 04:20:54 +00:00
Zim Kalinowski
66c547e5ab Merge branch 'bugfix/ringbuf_read_pointer_wrap_v4.4' into 'release/v4.4'
ringbuf: Fix bug where comparision between a signed and unsigned operand resulted in incorrect free size for no-split/allow-split buffers (v4.4)

See merge request espressif/esp-idf!15881
2021-12-01 04:18:48 +00:00
Roland Dobai
3a1e8a9810 Merge branch 'bugfix/avoid-exception-messages-while-export_v4.4' into 'release/v4.4'
Avoid exception messages while autocomplete initialization in export.sh (v4.4)

See merge request espressif/esp-idf!16199
2021-11-30 15:48:55 +00:00
Mahavir Jain
376514480d Merge branch 'feature/backport_v4.4_add_get_errno_api_for_http_client' into 'release/v4.4'
esp_http_client: add a get HTTP client session errno API for esp_http_client(backport v4.4)

See merge request espressif/esp-idf!16195
2021-11-30 12:23:31 +00:00
Martin Gaňo
ee881e3f96 Avoid exception messages while autocomplete initialization in export.sh 2021-11-30 12:42:53 +01:00
Wang Meng Yang
8848462d50 Merge branch 'nimble/add_throughput_example_v4.4' into 'release/v4.4'
NimBLE: Add NimBLE throughput demo examples (v4.4)

See merge request espressif/esp-idf!16138
2021-11-30 08:02:35 +00:00
xutao
5c08cd3fe1 esp_http_client: add a get HTTP client session errno API for esp_http_client(backport v4.4) 2021-11-30 15:26:48 +08:00
Yang Zhao
a96b8e151d Add the feature that switch random address to origin mac addr in the ADV
report data.
2021-11-30 14:24:52 +08:00
Omar Chebib
e91fd5ece9 Example: Fix eventfd example test and added a diagram to explain printed values 2021-11-30 12:01:43 +08:00
Jiang Jiang Jian
51e295b5c2 Merge branch 'bugfix/vfs-select-lock-latency-4.4' into 'release/v4.4'
vfs: reduce lock in vfs_select (v4.4)

See merge request espressif/esp-idf!16172
2021-11-30 03:56:08 +00:00
Jiang Jiang Jian
95eb17a61a Merge branch 'nimble_spp_v4.4' into 'release/v4.4'
NimBLE: BLE example for SPP service (v4.4)

See merge request espressif/esp-idf!16122
2021-11-30 03:54:44 +00:00
Jiang Jiang Jian
db6bc89b8c Merge branch 'bugfix/leedarson_v4.4' into 'release/v4.4'
component_bt: Fix some code logic errors (v4.4)

See merge request espressif/esp-idf!16016
2021-11-30 03:52:24 +00:00
Omar Chebib
cf21312d8d VFS: select function's timeout is now POSIX compliant
`select` function will now round up the timeout passed as a parameter (if any).
It  makes it POSIX compliant.

* Closes https://github.com/espressif/esp-idf/issues/7514
2021-11-30 11:51:46 +08:00
Omar Chebib
7cab983b86 RISC-V: fix usage of special register when interrupts are enabled 2021-11-30 11:45:18 +08:00
Ivan Grokhotkov
18612738db Merge branch 'docs/blink_update_supported_targets_on_readme_v4.4' into 'release/v4.4'
example: Update on the README file to change from ESP32-S3-Addax-1 to ESP32-S3-DevKitC-1 (v4.4)

See merge request espressif/esp-idf!15956
2021-11-29 20:40:51 +00:00
Mahavir Jain
5f7037d143 bootloader: add anti-FI checks around secure version in anti-rollback scheme 2021-11-29 18:49:22 +05:30
Christian Fischerauer
26baeaca60 esp_eth: add loopback for ksz8081 2021-11-29 20:16:35 +08:00
Jiacheng Guo
ce7c936633 vfs: reduce lock in vfs_select 2021-11-29 17:32:43 +08:00
Omar Chebib
581f1c4550 FreeRTOS: Fix xStreamBufferReset function always crashing
This function resets the spinlock given as a parameter after taking it
(when entering the critical section). This then results in a panic once
it tries to exit the same critical section.

* Closes https://github.com/espressif/esp-idf/issues/7725
2021-11-29 15:31:30 +08:00
Jiang Jiang Jian
75fa6d7e3f Merge branch 'feature/add_coex_hci_command_v4.4' into 'release/v4.4'
Add hci command to set coexistence status (v4.4)

See merge request espressif/esp-idf!16053
2021-11-29 03:23:32 +00:00
Mahavir Jain
a524bd85fd Merge branch 'bugfix/bootloader_utility_warnings_v4.4' into 'release/v4.4'
bootloader_support: Fix compiler warnings (v4.4)

See merge request espressif/esp-idf!16139
2021-11-26 13:32:28 +00:00
Roland Dobai
3c02b30a54 Merge branch 'bugfix/app_trace_tmo_init_v4.4' into 'release/v4.4'
startup: init timer before calling esp_apptrace_tmo_init (v4.4)

See merge request espressif/esp-idf!16136
2021-11-26 11:53:09 +00:00
Jakob Hasse
8179e858a9 docs(pthread): documentation about reader-writer-lock impl 2021-11-26 16:21:03 +08:00
Isha Pardikar
8fec43eecb Merge branch 'nimble/add_throughput_example' into 'master'
NimBLE throughput example: Changed write api to write without response

See merge request espressif/esp-idf!16138
2021-11-26 12:07:11 +05:30
Island
19727b4968 Merge branch 'docs/examples_bluedroid_ble50_v4.4' into 'release/v4.4'
Readme for the bluedroid ble50 example with tutorial of walkthrough example (v4.4)

See merge request espressif/esp-idf!16099
2021-11-26 06:35:06 +00:00
Jiang Jiang Jian
fe91b306e4 Merge branch 'bugfix/multi_heap_get_info_impl_backport_v4.4' into 'release/v4.4'
heap: fix multi_heap_get_info_impl(backport v4.4)

See merge request espressif/esp-idf!16119
2021-11-26 05:44:49 +00:00
Gustavo Henrique Nihei
6f6538f053 bootloader_support: Fix unused-but-set-variable compiler warning
When building with BOOTLOADER_LOG_LEVEL lesser then VERBOSE, an error
code variable was being set but not consumed, resulting in a compiler
warning.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-11-26 01:34:42 -03:00
Gustavo Henrique Nihei
d21ef9b10a bootloader_support: Fix unused-variable compiler warning
Builds for every chip other than ESP32 resulted in a compiler warning
due to "drom_load_addr_aligned" and "irom_load_addr_aligned" not being
used, besides being possible to actually reuse them.
Furthermore, extended the logic for the other similar variables.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-11-26 01:34:40 -03:00
Prasad Alatkar
279e135c8f NimBLE throughput example: Add espressif license 2021-11-26 10:03:06 +05:30
Prasad Alatkar
76e3e3476e NimBLE throughput example: make multi target support readable 2021-11-26 10:03:06 +05:30
Prasad Alatkar
ed43a4eb50 NimBLE: Add throughput demo examples
- Added blecent_throughput(client) and bleprph_throughput(server) examples to
  demonstrate application throughput.
2021-11-26 10:03:06 +05:30
isha pardikar
1ef94299a5 Merge branch 'nimble_spp' of ssh://gitlab.espressif.cn:27227/espressif/esp-idf into 'release/v4.4'
Nimble: Added BLE SPP Service

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

See merge request espressif/esp-idf!16122
2021-11-26 09:58:42 +05:30
Erhan Kurubas
b748053e2e startup: init timer before calling esp_apptrace_tmo_init 2021-11-25 23:58:36 +01:00
Mahavir Jain
41906a8d31 freertos: fix thread safety for checking scheduler state
This issue was earlier fixed in commit 79e74e5d5f
but during migration to newer FreeRTOS release, it got introduced again.

This commit fixes thread safety issues with configASSERT() calls
regarding the value of uxSchedulerSuspended. A false negative
occurs if a context switch to the opposite core occurs in between
the getting the core ID and the assesment.

Relevant https://github.com/espressif/esp-idf/issues/4230
Closes https://github.com/espressif/esp-idf/issues/7726
Closes IDFGH-6041
2021-11-25 15:43:07 +05:30
Wang Meng Yang
02237e4b77 Merge branch 'bugfix/bt_assert_failed_when_interrupt_hlevel_disable_v4.4' into 'release/v4.4'
component/bt: fix assert fail when interrupt hlevel disable(backport release/v4.4)

See merge request espressif/esp-idf!16043
2021-11-25 06:30:08 +00:00
Anton Maklakov
98a932d406 Merge branch 'feature/docker_build_use_git_mirror_v4.4' into 'release/v4.4'
ci: use LOCAL_GIT_MIRROR in docker build job, if set (v4.4)

See merge request espressif/esp-idf!16110
2021-11-25 05:33:42 +00:00
gaoxiaojie
666218d753 heap: fix multi_heap_get_info_impl 2021-11-25 10:34:06 +08:00
Ivan Grokhotkov
ac6793c02a ci: use LOCAL_GIT_MIRROR in docker build job, if set
When the build runner has a local git mirror configured via
LOCAL_GIT_MIRROR variable, use that mirror when cloning IDF insider
the docker build job. Follows similar logic for
LOCAL_GITLAB_HTTPS_HOST, which is used for geo nodes.
2021-11-24 15:40:36 +01:00
Sergei Silnov
adf61033a7 ci: Remove component manager test from build system tests
Component manager itself has a set of integration tests
that run against different ESP-IDF versions
2021-11-24 13:49:46 +01:00
satish.solanke
426c79c7ad Readme for the bluedroid ble50 example with tutorial of walkthrough example. 2021-11-24 14:56:53 +05:30
Roland Dobai
4ce9678c2b Merge branch 'feature/json_schema_for_idf_size_v4.4' into 'release/v4.4'
tools: add json schema for idf_size (v4.4)

See merge request espressif/esp-idf!15959
2021-11-24 09:00:09 +00:00
Mahavir Jain
c193371028 Merge branch 'bugfix/bootloader_debug_buffers_v4.4' into 'release/v4.4'
bootloader_support: Fix and re-enable bootloader_debug_buffer function (v4.4)

See merge request espressif/esp-idf!16073
2021-11-24 03:38:57 +00:00
Gustavo Henrique Nihei
18dc2cfcc2 bootloader_support: Fix and re-enable bootloader_debug_buffer function
The body of the bootloader_debug_buffer function was conditioned to
macros that were never defined, resulting in deactivated code.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-11-23 09:01:24 -03:00
xiewenxiang
d7995a650e component/bt: fix assert fail when interrupt hlevel disable 2021-11-23 19:50:54 +08:00
Jiang Jiang Jian
8539939c7d Merge branch 'bugfix/nimble_dirty_timer_handle_after_deinit_v4.4' into 'release/v4.4'
[NimBLE]: clear timer handler during de-initialization(backport for v4.4)

See merge request espressif/esp-idf!16028
2021-11-23 07:15:50 +00:00
Jiang Jiang Jian
e073663660 Merge branch 'bugfix/11kv_scan_event_removal_v4.4' into 'release/v4.4'
esp_wifi: Fixes related to 802.11kv (v4.4)

See merge request espressif/esp-idf!16034
2021-11-23 07:15:31 +00:00
Jiang Jiang Jian
09a892a44f Merge branch 'bugfix/sleep_wrong_log_lvl_v4.4' into 'release/v4.4'
Sleep: fix wrong debug level (backport v4.4)

See merge request espressif/esp-idf!16036
2021-11-23 07:15:02 +00:00
Jiang Jiang Jian
958d63a8d2 Merge branch 'bugfix/fix_static_check_error_mr_4.4' into 'release/v4.4'
Fix the high-impact issues from the code analysis report from customer.

See merge request espressif/esp-idf!16044
2021-11-23 07:14:41 +00:00
Mahavir Jain
81e0c7f662 Merge branch 'bugfix/nvs_partition_encrypted_flag_compatibility_v4.4' into 'release/v4.4'
nvs: add config to ignore "encrypted" flag of nvs partitions (v4.4)

See merge request espressif/esp-idf!15920
2021-11-23 05:46:44 +00:00
xiongweichao
a24ea59820 Add hci command to set coexistence status 2021-11-23 11:34:34 +08:00
xiongweichao
d43f5af6ef Missing break in switch 2021-11-23 11:31:06 +08:00
xiongweichao
c48dec0d44 Dereference null return value 2021-11-23 11:31:06 +08:00
xiongweichao
74be458e62 already defined in bt_target.h 2021-11-23 11:31:06 +08:00
xiongweichao
a946b6042a Dereference after null check 2021-11-23 11:31:06 +08:00
xiongweichao
abbc552f5f Dereference before null check 2021-11-23 11:31:06 +08:00
xiongweichao
86ea712aa4 Logically dead code 2021-11-23 11:31:06 +08:00
“YangZhao”
4345e15f23 Fix the high-impact issues from the code analysis report from customer.
For the CID10564,10384,10280,10098,10038,The memory was released in other place.
For the CID10365,it release the memory in the function when sent successfully.
For the CID10268,10011, we need not change the code.
2021-11-22 19:41:50 +08:00
Darian Leung
c5efb55d43 freertos: Add portTRY_ENTRY_CRITICAL() and deprecate legacy spinlock fucntions
Add TRY_ENTRY_CRITICAL() API to all for timeouts when entering critical sections.
The following port API were added:
- portTRY_ENTER_CRITICAL()
- portTRY_ENTER_CRITICAL_ISR()
- portTRY_ENTER_CRITICAL_SAFE()

Deprecated legacy spinlock API in favor of spinlock.h. The following API were deprecated:
- vPortCPUInitializeMutex()
- vPortCPUAcquireMutex()
- vPortCPUAcquireMutexTimeout()
- vPortCPUReleaseMutex()

Other Changes:
- Added portMUX_INITIALIZE() to replace vPortCPUInitializeMutex()
- The assembly of the critical section functions ends up being about 50 instructions longer,
  thus the spinlock test pass threshold had to be increased to account for the extra runtime.

Closes https://github.com/espressif/esp-idf/issues/5301
2021-11-22 18:42:10 +08:00
Omar Chebib
2ca86a3eaf Sleep: fix wrong debug level
Fix usage of ESP_LOGD in sleep_modes.c which triggers a panic when
used in debug log level.

* Closes https://github.com/espressif/esp-idf/issues/7942
2021-11-22 16:32:21 +08:00
Kapil Gupta
1780c7d8da esp_wifi: Remove scan done event for supplicant scans
Closes https://github.com/espressif/esp-idf/issues/7423
2021-11-22 13:37:42 +05:30
Kapil Gupta
57dc6de613 wpa_supplicant: Fix compilation error when debug enabled
Closes https://github.com/espressif/esp-idf/issues/7789
2021-11-22 13:37:42 +05:30
Kapil Gupta
e5091bb7af wpa_supplicant: Optimize BTM request scan 2021-11-22 13:37:42 +05:30
Jiang Jiang Jian
4aa2ca369b Merge branch 'ci/add_esp32s3_ssc_build_jobs_v4.4' into 'release/v4.4'
CI: add esp32s3 SSC build jobs

See merge request espressif/esp-idf!15910
2021-11-22 07:43:44 +00:00
Jiang Jiang Jian
81ce15f0e0 Merge branch 'bugfix/fix_esp32s3_usb_otg_v4.4' into 'release/v4.4'
esp_phy: fix esp32s3 phy work with USB-OTG issue(v4.4)

See merge request espressif/esp-idf!15914
2021-11-22 06:17:21 +00:00
Wang Meng Yang
7816b597a1 Merge branch 'bugfix/fix_modem_sleep_hw_error_mr_4.4' into 'release/v4.4'
fix modem sleep hw error

See merge request espressif/esp-idf!16017
2021-11-22 03:33:54 +00:00
wangmengyang
9d67cd8ac6 [nimble]: clear timer handler during de-initialization 2021-11-22 11:17:23 +08:00
Anton Maklakov
ddc44956bf Merge branch 'bugfix/esp32s3_esp_timer_test_failure_v4.4' into 'release/v4.4'
examples: esp_timer: disable secondary console for S3/C3 that can affect test timing (v4.4)

See merge request espressif/esp-idf!16021
2021-11-19 14:35:01 +00:00
Mahavir Jain
997040222d examples: esp_timer: disable secondary console for S3/C3 that can affect test timing 2021-11-19 14:46:06 +05:30
Roland Dobai
f952b9f71b Merge branch 'feature/oocd_ver_upgrade_v4.4' into 'release/v4.4'
tools: Updates OpenOCD version to 'v0.10.0-esp32-20211111' (v4.4)

See merge request espressif/esp-idf!15999
2021-11-19 08:56:24 +00:00
Yang Zhao
9b450e19da It is abnormal when getting the deep sleep state bit. So we need to check
the state again and run the "ble_master_soft_rst()" if neesed.
2021-11-19 15:54:20 +08:00
Yang Zhao
1c792fe57d Fix the issue of device name len limited 2021-11-19 15:50:18 +08:00
Mahavir Jain
056ec73dd2 Merge branch 'bugfix/protocomm_nimble_allocation_v4.4' into 'release/v4.4'
Fix for potential allocation bug in protocomm_nimble.c (v4.4)

See merge request espressif/esp-idf!15996
2021-11-19 05:26:32 +00:00
Wang Meng Yang
b2e1c6eb57 Merge branch 'bugfix/fix_custmoer_issues_v4.4' into 'release/v4.4'
bugfix/fix_3_controller_issues_v4.4

See merge request espressif/esp-idf!15973
2021-11-19 03:34:13 +00:00
Anton Maklakov
b7377f0e53 Merge branch 'bugfix/ci_fix_using_branch_name_v4.4' into 'release/v4.4'
ci: fix using HEAD and SHA since we started using merged result pipelines (v4.4)

See merge request espressif/esp-idf!15721
2021-11-19 03:31:20 +00:00
Wang Meng Yang
f16bad24ec Merge branch 'bugfix/wifi_prov_mgr_crash_v4.4' into 'release/v4.4'
NimBLE: Fixed wifi_prov_mgr crash after provisioning (v4.4)

See merge request espressif/esp-idf!15859
2021-11-19 03:00:47 +00:00
Michael (XIAO Xufeng)
bafb157749 Merge branch 'bugfix/remove_mcpwm_deprecations_v4.4' into 'release/v4.4'
mcpwm: revert back to allow user register isr handler (v4.4)

See merge request espressif/esp-idf!15940
2021-11-18 09:58:33 +00:00
Steinbart Andreas (HAU-EDS)
43811dc172 esp-eth: emac: Reset Tx DMA channel owner on init
Reset ethernet TX DMA descriptors sets owner to CPU, so re-installing the ethernet driver will now not result in packet loss

Merges https://github.com/espressif/esp-idf/pull/7752
2021-11-18 10:46:07 +01:00
isha pardikar
5ba6ac26c4 Merge branch 'bugfix/protocomm_nimble_allocation' into 'master'
NimBLE: Fixed potential allocation bug in protocomm_nimble.c

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

See merge request espressif/esp-idf!15669
2021-11-18 14:17:35 +05:30
Michael (XIAO Xufeng)
44b1f9272c Merge branch 'feature/usb_serial_default_option_v4.4' into 'release/v4.4'
vfs_usb_serial: set secondary selection for making usb port can output under default menu (backport v4.4)

See merge request espressif/esp-idf!15877
2021-11-18 07:16:55 +00:00
Alexey Gerenkov
37dc255bc4 idf_tools: Adds 'linux-armhf' platform support 2021-11-17 23:27:45 +03:00
Alexey Gerenkov
b7bee807ed tools: Updates OpenOCD version to 'v0.10.0-esp32-20211111' 2021-11-17 23:27:45 +03:00
Rahul Tank
45bc50b2d2 NimBLE: Fixed wifi_prov_mgr crash after provisioning
See merge request espressif/esp-idf!15793
2021-11-17 18:37:20 +05:30
Cao Sen Miao
fcecbde778 vfs_usb_serial: set secondary selection for making usb port can output under default menu 2021-11-17 19:54:15 +08:00
Wang Meng Yang
8517af090d Merge branch 'bugfix/fix_memory_leak_controller_deinit_v4.4' into 'release/v4.4'
Bugfix/fix memory leak controller deinit v4.4

See merge request espressif/esp-idf!15968
2021-11-17 10:22:32 +00:00
jincheng
66b887a680 fix HCI_Read_Clock error
fix HCI_Create_Connection_Cancel error
fix ASSERT_WARN during epr
2021-11-17 17:59:26 +08:00
Michael (XIAO Xufeng)
e54802113d Merge branch 'bugfix/esp_timer_before_init_v4.4' into 'release/v4.4'
esp_timer: allow querying the timer before esp_timer_init is called(backport v4.4)

See merge request espressif/esp-idf!15876
2021-11-17 09:20:35 +00:00
morris
ee00029c05 gdma: support IRAM interrupt 2021-11-17 12:57:52 +08:00
chenjianxing
c3951d5e9d esp_phy: fix esp32s3 phy work with USB-OTG issue 2021-11-17 11:12:40 +08:00
Roland Dobai
adc83d532c Merge branch 'bugfix/ps_export_prs_v4.4' into 'release/v4.4'
Tools: PowerShell export script improvements from PRs (v4.4)

See merge request espressif/esp-idf!15923
2021-11-16 15:48:37 +00:00
Rahul Tank
1891761fbb ESP32: Fix memory leak in controller deinit function
Added change to dealloc s_pm_lock in controller deinit as it gets allocated
during init procedure.

Closes https://github.com/espressif/esp-idf/issues/7653
2021-11-16 10:41:32 +05:30
morris
e6ee8b2fcf mcpwm: revert back to allow user register isr handler
Closes https://github.com/espressif/esp-idf/issues/7890
2021-11-16 11:38:48 +08:00
Wang Fang
1d4fda8890 docs: replace the module on esp32-devkitc from esp32-wrover to esp32-wroom 2021-11-15 14:48:54 +01:00
Mahavir Jain
35b20cadce Merge branch 'bugfix/efuse_utility_header_v4.4' into 'release/v4.4'
efuse: Add missing esp_rom_sys.h include file (v4.4)

See merge request espressif/esp-idf!15955
2021-11-15 13:19:39 +00:00
Mahavir Jain
1846c29693 Merge branch 'bugfix/efuse_stdbool_v4.4' into 'release/v4.4'
efuse: Add missing stdbool.h include file (v4.4)

See merge request espressif/esp-idf!15935
2021-11-15 12:58:46 +00:00
simon.chupin
e9dd044712 tools: add json schema for idf_size 2021-11-15 13:57:24 +01:00
Mahavir Jain
ad233f4896 Merge branch 'bugfix/aes_gcm_unaligned_psram_v4.4' into 'release/v4.4'
aes: fix potential unaligned access in aes-gcm (v4.4)

See merge request espressif/esp-idf!15801
2021-11-15 12:54:50 +00:00
KonstantinKondrashov
deff19706f spi_flash: No CPU release time for an erase operation when OS is not running
During the early start, the virtual eFuse mode can call erase operations when OS is not yet running.

Possible workaround: CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n

Fixed for the legacy flash driver as well.
2021-11-15 19:38:09 +08:00
Cao Sen Miao
99caa4950c esp_timer: init rtc timer and system timer in early init 2021-11-15 19:38:09 +08:00
Ivan Grokhotkov
85bc2d7240 esp_timer: allow querying the timer before esp_timer_init is called 2021-11-15 19:38:09 +08:00
pedro.minatel
23be52fa89 example: Update on the README file to change from ESP32-S3-Addax-1 to ESP32-S3-DevKitC-1 2021-11-15 12:02:04 +01:00
Gustavo Henrique Nihei
8d9ab894c3 efuse: Add missing esp_rom_sys.h include file
This prevents the compiler error for the implicit declaration of
function "esp_rom_printf".

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-11-15 07:52:01 -03:00
Zim Kalinowski
ebaffab2fb Merge branch 'bugfix/freertos_round_robin_scheduling_retain_skip_v4.4' into 'release/v4.4'
freertos: Implement best effort round robin scheduling (v4.4)

See merge request espressif/esp-idf!15907
2021-11-15 07:47:43 +00:00
Zim Kalinowski
a0f339fead Merge branch 'bugfix/usb_hcd_robustness_v4.4' into 'release/v4.4'
USB Host: Fix how disconnections an EP halts are handled (v4.4)

See merge request espressif/esp-idf!15908
2021-11-15 07:47:37 +00:00
Jiang Jiang Jian
3a7024990e Merge branch 'bugfix/wifi_bt_mac_bb_pd_light_sleep_v4.4' into 'release/v4.4'
backport v4.4: fixes some sleep related issues

See merge request espressif/esp-idf!15932
2021-11-15 07:18:56 +00:00
wuzhenghui
8d33d54af7 heap: update RTC memory heap caps 2021-11-15 10:56:08 +08:00
Gustavo Henrique Nihei
3c341364eb efuse: Enable C++ linkage for the include headers on esp_efuse.h
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-11-12 13:29:58 -03:00
Gustavo Henrique Nihei
0132d2c868 efuse: Add missing stdbool.h include file
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-11-12 13:29:58 -03:00
Li Shuai
e75762b02f sleep: deep sleep does not need cpu and wifi/bt mac retention 2021-11-12 19:38:32 +08:00
Li Shuai
0665e0165b light sleep: replace new kconfig option of mac bb power down & phy reduce tx power 2021-11-12 19:38:09 +08:00
Roland Dobai
4083c4ae33 Tools: Make clear the used platform in the PowerShell export script 2021-11-12 07:51:53 +01:00
Chris Mumford
74950663cf Define $IsWindows if not defined.
The `$IsWindows` PowerShell variable was added in PowerShell Core 6 and
PowerShell 7, and is not present in earlier PowerShell versions. Set to
true if undefined. This fixes https://github.com/espressif/esp-idf/issues/7820.

The first version to run on non-Windows platforms was PowerShell Core
6.0[^1] which means that IsWindows is guaranteed to be defined on all
non-Windows systems. So, if undefined this indicates a Windows platform.

[^1]: https://docs.microsoft.com/en-us/powershell/scripting/install/powershell-support-lifecycle?view=powershell-7.2#release-history

Closes https://github.com/espressif/esp-idf/pull/7858

Closes https://github.com/espressif/esp-idf/issues/7820
2021-11-12 07:51:53 +01:00
Chris Mumford
4975197d1d Initialize $envvars_array to an empty list.
With strict debugging, i.e. `Set-PSDebug -strict`, execution of export.ps1 will
report the following error:

```
The variable '$envars_array' cannot be retrieved because it has not been set.
At C:\path\to\export.ps1:15 char:1
+ $envars_array # will be filled like:
+ ~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (envars_array:String) [], RuntimeException
    + FullyQualifiedErrorId : VariableIsUndefined
```

Closes https://github.com/espressif/esp-idf/pull/7819
2021-11-12 07:51:53 +01:00
Marius Vikhammer
e3a771511a aes: fix potential unaligned access in aes-gcm 2021-11-12 12:28:28 +08:00
Mahavir Jain
29aba769f2 spi_flash: minor cleanup, use type/subtype from esp_partition.h 2021-11-12 09:43:51 +05:30
Mahavir Jain
e2fb582cf8 nvs: add config to ignore "encrypted" flag of nvs partitions
This is to allow having pre IDF v4.3 behavior where "encrypted"
flag was not being checked for NVS partitions.

It is recommended to enable this new config only if you have
production devices where NVS partition was being set with "encrypted"
flag by mistake.

Please see commit aca9ec28b3 which
introduced check to not allow NVS partitions with "encrypted" flag set.

More discussion on this at:
https://github.com/espressif/esp-idf/issues/5747#issuecomment-956223024
https://github.com/espressif/esp-idf/issues/7839#issuecomment-961477667

Closes https://github.com/espressif/esp-idf/issues/7839
Closes IDFGH-6162
2021-11-12 09:43:51 +05:30
Michael (XIAO Xufeng)
df0929009a Merge branch 'bugfix/gpio_interrupt_on_app_cpu_v4.4' into 'release/v4.4'
gpio: Fix the bug that esp32 gpio interrupt cannot be triggered on core 1 (backport v4.4)

See merge request espressif/esp-idf!15902
2021-11-11 17:01:36 +00:00
He Yin Ling
d9ae8068fc CI: add esp32s3 SSC build jobs 2021-11-11 18:03:10 +08:00
Michael (XIAO Xufeng)
9b46f4e086 Merge branch 'feature/update_adc_calibration_doc_on_c3_s3_v4.4' into 'release/v4.4'
doc: add adc calibration programming guide on c3 and s3 (v4.4)

See merge request espressif/esp-idf!15896
2021-11-11 08:57:53 +00:00
Jiang Jiang Jian
dd5d452428 Merge branch 'bugfix/power_down_bluetooth_module_when_deinit_v4.4' into 'release/v4.4'
component/bt: Power down bluetooth module when deinit

See merge request espressif/esp-idf!15717
2021-11-11 08:27:51 +00:00
Darian Leung
1af36a5b9d usb: Change API and refactor tests
This commit updates the USB Host Library API in the following wasy:
- usb_host_client_handle_t and usb_device_handle_t made into struct pointers
  to generate compiler warnings about conflicting handle types
- usb_host_client_config_t changed to future proof API for Synchronous Clients
- Added usb_host_lib_unblock()
- Added usb_host_device_addr_list_fill()
- Return of usb_host_device_free_all() updated to indicate whether there
  are still devices yet to be freed.
- Blockg APIs are now marked explicitly
- Fixed a bug in usb_host_transfer_submit_control() when checking the bEndpointAddress
  of a control transfer.

Tests are also refactored to move some common macros into shared headers

Closes https://github.com/espressif/esp-idf/issues/7786
2021-11-11 16:26:56 +08:00
Darian Leung
891c979c64 usb: Add USB Host Library sudden disconnect tests 2021-11-11 16:26:35 +08:00
Darian Leung
0a948594cb usb: Fix USBH handling of disconnections
This commit fixes how the USBH handling of a sudden device disconnection,
more specifically handling of device gone.
- Previously the USBH would only halt, flush, and dequeue the device's
default EP, then send a device gone event to the Host Library layer.
- Now the USBH will also halt and flush all non-default EPs, allowing
all of the URBs to be dequeud.
- Some internal object members are now protected by a mutex instead of
a spinlock.

Closes https://github.com/espressif/esp-idf/issues/7505
2021-11-11 16:26:09 +08:00
Darian Leung
de6bf09f40 usb: Fix how the HCD handles sudden disconnection
This commit fixes how the USB Host HCD handles sudden disconnections.

Bugs:
- HW channels remain active when the port suddenly disconnects, and
previously the channel would be disabled by setting the disabled bit,
then waiting for a disabled interrupt. However, ISOC channels do not
generate the disabled interrupt when the port is invalid, thus leading
to tasks getting indefinitely blocked in hcd_pipe_command().

Fix:
On a sudden disconnection, forcibly treat all channels as halted even
if their HCCHAR.ChEna bit is still set. We do a soft reset after a port
error anyways, so the channels will eventually be reset.

Closes https://github.com/espressif/esp-idf/issues/7505
2021-11-11 16:25:01 +08:00
Darian Leung
a1082dfa59 usb: Fix LL 8/16 bit register field access
This commit addes the 8/16 bit register field access workarounds to
the DWC_OTG peripheral. This workaround was applied to all other
peripherals in commit 874a720286.
2021-11-11 16:24:08 +08:00
Darian Leung
466c42c3c1 freertos: Fix SMP round robin scheduling
The previous SMP freertos round robin would skip over tasks when
time slicing. This commit implements a Best Effort Round Robin
where selected tasks are put to the back of the list, thus
makes the time slicing more fair.

- Documentation has been updated accordingly.
- Tidy up vTaskSwitchContext() to match v10.4.3 more
- Increased esp_ipc task stack size to avoid overflow

Closes https://github.com/espressif/esp-idf/issues/7256
2021-11-11 16:16:11 +08:00
songruojing
762ca128b4 gpio: Fix the bug that esp32 gpio interrupt cannot be triggered on core 1
Introduced in 874a720286

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

(cherry picked from commit 7ec38fcc42)
2021-11-11 12:43:09 +08:00
Jiang Jiang Jian
f6db71539e Merge branch 'bugfix/esp32_light_sleep_crash_4.4' into 'release/v4.4'
Fix crash caused by bluetooth high level interrupt (v4.4)

See merge request espressif/esp-idf!15872
2021-11-11 03:38:49 +00:00
baohongde
0c0d0f9b35 components/bt: Fix the issue caused by the power off the bt power domain 2021-11-11 11:33:15 +08:00
Li Shuai
a2790756b0 fix the wifi scan fail issue caused by the power off the wifi power domain 2021-11-11 11:33:04 +08:00
Armando (Dou Yiwen)
bd9d8c314e Merge branch 'bugfix/fix_120m_sdr_flash_config_on_non_s3_bug_v4.4' into 'release/v4.4'
spi_flash: make 120m config only visible on s3 sdr mode (v4.4)

See merge request espressif/esp-idf!15868
2021-11-11 02:47:47 +00:00
Ondrej Kosta
018bc054a5 Merge branch 'bugfix/LAN8720_reset_assertion_v4.4' into 'release/v4.4'
Increased LAN8720 ETH-PHY reset assertion time (v4.4)

See merge request espressif/esp-idf!15825
2021-11-10 20:39:58 +00:00
Darian
d722a37aa6 Merge branch 'refactor/freertos_deprecate_critical_nested_macros_v4.4' into 'release/v4.4'
freertos: Deprecate critical nested macros (v4.4)

See merge request espressif/esp-idf!15613
2021-11-10 16:16:53 +00:00
Anton Maklakov
c62f7fd6ee Merge branch 'bugfix/tools_fix_win_gdb_dlls_v4.4' into 'release/v4.4'
tools: Fix missed DLLs in GDB for Windows (v4.4)

See merge request espressif/esp-idf!15894
2021-11-10 13:55:34 +00:00
Xie Wen Xiang
10afcc9f63 Merge branch 'bugfix/fix_ble_prefered_ext_conn_parameter_detection_v4.4' into 'release/v4.4'
component/bt: check the ble ext conn parameter(backport v4.4)

See merge request espressif/esp-idf!15768
2021-11-10 13:01:22 +00:00
Darian Leung
7e725751e4 freertos: Remove critical nested macros
This commit removes the following critical nested macros as follows:

- portENTER_CRITICAL_NESTED()
- portEXIT_CRITICAL_NESTED()

They are replaced with portSET_INTERRUPT_MASK_FROM_ISR() and
portCLEAR_INTERRUPT_MASK_FROM_ISR() which are the proper FreeRTOS interfaces.

Created a portmacro_deprecated.h for each port to contain deprecated API
that were originally from portmacro.h
2021-11-10 18:34:32 +08:00
Zim Kalinowski
6438af2ef9 Merge branch 'bugfix/simplify_codeowners_v4.4' into 'release/v4.4'
gitlab: simplify approvals for backports (v4.4)

See merge request espressif/esp-idf!15865
2021-11-10 10:24:38 +00:00
Armando
4a8d4b584a docs: add adc calibration docs on c3 and s3 2021-11-10 18:12:54 +08:00
Anton Maklakov
3b0de88cad tools: Fix missed DLLs in GDB for Windows 2021-11-10 17:07:46 +07:00
Sudeep Mohanty
9e46667545 ringbuf: Fix bug where comparision between a signed and unsigned operand resulted in incorrect free size for no-split/allow-split buffers
This commit fixes a bug in no-split and allow-split ring buffers free buffer size calculation.
When the free size available in the buffers less than the size of one item header,
the function prvGetCurMaxSizeNoSplit/AllowSplit() incorrectly returned the maxItemSize instead of 0.
This is due to the comparision between a negative and a positive value
where both operands are treated as unsigned during the comparision operation,
thereby treating the negative operand as a large integer.

Also added new unit tests to test buffer-full and almost-full conditions
where this scenario is likely to be hit.

Closes https://github.com/espressif/esp-idf/issues/7344
Closes https://github.com/espressif/esp-idf/pull/7371
2021-11-10 14:42:40 +05:30
Tian Sen Wen
2c24beca04 esp_eth: optimize dm9051 Tx throughput 2021-11-10 17:08:21 +08:00
Jiang Jiang Jian
44d13c648b Merge branch 'bugfix/fix_ota_crash_backport_v4.4' into 'release/v4.4'
spi_flash: fix app crash when OTA because the OTA task's stack is in rtc fast memory(backport v4.4)

See merge request espressif/esp-idf!15852
2021-11-10 08:35:34 +00:00
xiongweichao
44b9e6e055 Fix crash caused by bluetooth high level interrupt 2021-11-10 16:14:52 +08:00
Mahavir Jain
214d2eeba7 Merge branch 'bugfix/manual_secure_boot_v2_multiple_digest_issue_v4.4' into 'release/v4.4'
secure_boot_v2: fix issue in pre-flashed digest (manual) workflow (v4.4)

See merge request espressif/esp-idf!15780
2021-11-10 04:22:55 +00:00
Armando
d5218e84e2 spi_flash: make 120m config only visible on s3 sdr mode 2021-11-10 12:04:49 +08:00
Martin Vychodil
43471b047b Merge branch 'feature/fatfs_disk_status_implementation_v4.4' into 'release/v4.4'
fatfs: Implementation of disk_status for SD/MMC card (v4.4)

See merge request espressif/esp-idf!15847
2021-11-09 18:45:42 +00:00
Ivan Grokhotkov
1ed627d022 gitlab: simplify approvals for backports (v4.4) 2021-11-09 18:39:26 +01:00
Roland Dobai
8a60e69c24 Merge branch 'bugfix/create_dir_idf_env_v4.4' into 'release/v4.4'
tools: Create the ".espressif" directory on the first run on clean system (v4.4)

See merge request espressif/esp-idf!15855
2021-11-09 13:40:56 +00:00
Jan Procházka
683da6b46d fatfs: Implementation of disk_status nad disk_initialize for SD/MMC card
FATFS provides a disk status and disk initialize callback which were not
implemented. Implementation has very low impact on SD/MMC speed and
fixes issues, when trying to open file when SD card was removed from
slot and not deinited.

If disk_status returns STA_NOINIT, it will always continue with
disk_initialize. If that returns 0, it will continue like everything is
working normally. So there has to be the same check as in disk_status.
Return of disk_initialize is always checked like this for STA_NOINIT or
STA_PROTECT so if command fails, we return the STA_NOINIT.

stat = disk_initialize(pdrv);
if (stat & STA_NOINIT) return FR_NOT_READY;
if (stat & STA_PROTECT) return FR_WRITE_PROTECTED;

Closes IDF-4125
2021-11-09 20:17:03 +08:00
Mahavir Jain
d9429ca7bc Merge branch 'add_agressive_revoke_v4.4' into 'release/v4.4'
secure_boot: Added Kconfig option for aggressive key revoke (v4.4)

See merge request espressif/esp-idf!15850
2021-11-09 11:15:07 +00:00
Roland Dobai
2cdf90f810 tools: Create the ".espressif" directory on the first run on clean system
Closes https://github.com/espressif/esp-idf/issues/7848
2021-11-09 12:02:50 +01:00
Sachin Parekh
2f39639c20 secure_boot: Do not allow key revocation in bootloader 2021-11-09 15:19:47 +05:30
Sachin Parekh
7fe2a4815d secure_boot: Added Kconfig option for aggressive key revoke
Applicable to S2, C3, and S3
2021-11-09 15:19:47 +05:30
jingli
07b1b45ad6 fix: app crash when OTA because the OTA task's stack is in rtc fast memory 2021-11-09 17:10:20 +08:00
Wang Meng Yang
5e4d166323 Merge branch 'bugfix/fix_crash_when_shutdown_bt_v4.4' into 'release/v4.4'
component/bt: fix crash when shutdown bt(backport v4.4)

See merge request espressif/esp-idf!15708
2021-11-09 08:06:24 +00:00
Wang Meng Yang
5c6a8711ad Merge branch 'bugfix/hfp_demo_audio_not_sine_v4.4' into 'release/v4.4'
fix hfp_ag demo audio not sine_v4.4

See merge request espressif/esp-idf!15749
2021-11-09 03:02:15 +00:00
Ivan Grokhotkov
864605785b Merge branch 'feature/rw_lock_cond_var_4.4' into 'release/v4.4'
pthread: reader-writer locks implementation (backport 4.4)

See merge request espressif/esp-idf!15830
2021-11-08 13:31:16 +00:00
morris
832865629c Merge branch 'feature/github-7661_v4.4' into 'release/v4.4'
mck pin not defined in i2s examples (v4.4)

See merge request espressif/esp-idf!15836
2021-11-08 13:23:59 +00:00
Arnaud-Oechslin
7195af2d7d i2s: add mck pin definition in the example
If the mck pin is not set to GPIO 0,1,3 or -1 the whole pin configuration fails. This fix corrects that.

Merges https://github.com/espressif/esp-idf/pull/7661
2021-11-08 17:33:18 +08:00
Kevin (Lao Kaiyao)
1433f5337f Merge branch 'bugfix/i2s_ws_polarity_in_tdm_v4.4' into 'release/v4.4'
i2s: fix ws signal polarity in tdm mode (v4.4)

See merge request espressif/esp-idf!15820
2021-11-08 09:30:14 +00:00
Wei Tian Hua
397e148049 Merge branch 'doc/make_classic_bt_API_ref_only_for_esp32_4.4' into 'release/v4.4'
Doc/make classic bt api ref only for esp32 [backport v4.4]

See merge request espressif/esp-idf!15727
2021-11-08 09:14:24 +00:00
Jakob Hasse
bbe2a1bf34 Merge branch 'feature/add_flash_psram_config_guide_v4.4' into 'release/v4.4'
doc: add flash and psram configuration guide on esp32s3 (4.4)

See merge request espressif/esp-idf!15811
2021-11-08 08:32:36 +00:00
KonstantinKondrashov
4d0e72dc5f efuse example: Fix pre-load SB test for S2, C3 (erase revoke bits) 2021-11-08 12:48:12 +08:00
Mahavir Jain
4ac351247d secure_boot_v2: fix issue in pre-flashed digest (manual) workflow
This commit fixes issue where empty (unprogrammed) digest slot out of
multiple supported (e.g. 3 for ESP32-C3) could cause issue in
workflow enablement process.

Notes:

1. This issue was applicable for chips supporting "secure-boot-v2"
scheme with multiple digests slots
2. This issue was affecting only manual workflow, where digest of
public was pre-flashed in efuse
3. Change in "flash_encrypt.c" is only for additional safety purpose
2021-11-08 12:48:12 +08:00
Armando
cc8214c59d doc: add flash and psram configuration doc in programming guide 2021-11-08 04:32:18 +00:00
morris
56aa8b6cb3 Merge branch 'bugfix/KSZ8851SNL_enable_multicast_v4.4' into 'release/v4.4'
esp_eth: KSZ8851SNL, enable Rx multicast in MAC filter (v4.4)

See merge request espressif/esp-idf!15823
2021-11-08 03:44:15 +00:00
xiewenxiang
7a6a61feef component/bt: fix crash when shutdown bt(backport v4.4) 2021-11-08 10:55:12 +08:00
Jakob Hasse
b117bcd2a0 feat (pthread): reader-writer locks implementation
* Added implementation based on cond. variables
* Added unit tests

Closes https://github.com/espressif/esp-idf/issues/7411
2021-11-08 10:21:37 +08:00
Roland Dobai
cd97e95a12 Merge branch 'bugfix/archive_details_always_run_like_diff_v4.4' into 'release/v4.4'
tools: fix bug with idf_size argument archive_details (v4.4)

See merge request espressif/esp-idf!15774
2021-11-05 15:38:38 +00:00
Ondrej Kosta
43b62a5b62 Copyright message fix for 'Increased LAN8720 ETH-PHY reset assertion time' 2021-11-05 11:39:04 +01:00
Frank Sautter
5f9ae3510a Increased LAN8720 ETH-PHY reset assertion time (IDFGH-6018)
Increase reset assertion time from 100µs (as specified minimum in the datasheet) to 150µs.
Some specimen of the LAN8720 need the reset signal asserted longer than 100µs to initialise properly. Otherwise they are in a zombie state where they are establishing and loosing an Ethernet link once in a seconds interval.
2021-11-05 11:35:35 +01:00
Ondrej Kosta
484d5c8491 esp_eth: KSZ8851SNL, enable Rx multicast in MAC filter
Closes https://github.com/espressif/esp-idf/issues/7750
2021-11-05 11:23:14 +01:00
laokaiyao
f7f9683ef1 i2s: fix ws signal polarity in tdm mode 2021-11-05 11:35:02 +08:00
liulinyan
b298795e37 Merge branch 'bugfix/sig_ble_mesh_errata_e16350_v4.4' into 'release/v4.4'
ble_mesh: stack: Apply the errata E16350 from Bluetooth SIG (v4.4)

See merge request espressif/esp-idf!15815
2021-11-05 03:16:51 +00:00
Island
b1102bb581 Merge branch 'bugfix/ble_mesh_host_init_v4.4' into 'release/v4.4'
ble_mesh: nimble: return error if init host twice (v4.4)

See merge request espressif/esp-idf!15816
2021-11-05 03:14:57 +00:00
Jakob Hasse
fd89e8dae4 Merge branch 'docs/update_mock_doc_v4.4' into 'release/v4.4'
DOCs: Update mocking documentation (backport v4.4)

See merge request espressif/esp-idf!15809
2021-11-05 02:25:00 +00:00
lly
461ffffd77 ble_mesh: nimble: return error if init host twice 2021-11-04 20:31:57 +08:00
lly
c255c6a6f8 ble_mesh: stack: Apply the errata E16350 from Bluetooth SIG 2021-11-04 20:29:38 +08:00
Island
dc20c1fd41 Merge branch 'bugfix/ble_mesh_update_license_v4.4' into 'release/v4.4'
ble_mesh: stack: Update license of esp specific files (v4.4)

See merge request espressif/esp-idf!15765
2021-11-04 12:12:05 +00:00
Darian
423b6697ac Merge branch 'bugfix/freertos_prvTaskIsTaskSuspended_v4.4' into 'release/v4.4'
freertos: Fix prvTaskIsTaskSuspended check (v4.4)

See merge request espressif/esp-idf!15612
2021-11-04 10:26:54 +00:00
Anton Maklakov
7c4c5b51de Merge branch 'ci/enable_s3_example_test_v4.4' into 'release/v4.4'
ci: run example test for c3 as well (v4.4)

See merge request espressif/esp-idf!15810
2021-11-04 05:00:42 +00:00
Fu Hanxi
295387167c ci: run example test for c3 as well 2021-11-04 12:12:12 +08:00
Jakob Hasse
40e0d733c2 docs: Update mocking documentation 2021-11-04 11:49:35 +08:00
Darian
9fae314f50 Merge branch 'feature/freertos_static_allocation_task_memory_callbacks_v4.4' into 'release/v4.4'
freertos: Add memory hooks for static IDLE and Timer tasks (v4.4)

See merge request espressif/esp-idf!15614
2021-11-03 11:20:10 +00:00
lly
c1df3636b7 ble_mesh: stack: Update license of esp specific files 2021-11-03 14:22:31 +08:00
liulinyan
226f49f37d Merge branch 'bugfix/heartbeat_filter_with_acceptlist_v4.4' into 'release/v4.4'
ble_mesh: stack: Fix heartbeat filter with accept list (v4.4)

See merge request espressif/esp-idf!15675
2021-11-03 06:21:32 +00:00
David Čermák
21b366da73 Merge branch 'feature/add_dhcp_option_v4.4' into 'release/v4.4'
lwip/dhcp: add configure for enable vendor class identify option (backport v4.4)

See merge request espressif/esp-idf!15619
2021-11-02 15:17:19 +00:00
simon.chupin
1232094197 change --archive_details output 2021-11-02 14:08:31 +01:00
simon.chupin
970132c94b tools: fix bug with idf_size argument archive_details 2021-11-02 14:08:31 +01:00
lly
9e82f7fdcf ble_mesh: stack: Update the license of provisioner_main.c 2021-11-02 20:56:25 +08:00
wangjialiang
77eb671168 ble_mesh: stack: Fix heartbeat filter with accept list 2021-11-02 20:54:02 +08:00
David Čermák
9303bc00b2 Merge branch 'bugfix/pppos_report_unknown_line' into 'release/v4.4'
esp_modem: Fix report unknown line (GitHub PR)

See merge request espressif/esp-idf!15621
2021-11-02 12:14:49 +00:00
Liu Han
89873937eb lwip/dhcp: add configure for enable vendor class identify option
Closes https://github.com/espressif/esp-idf/issues/6786
2021-11-02 18:02:22 +08:00
Wang Meng Yang
2d3ec44011 Merge branch 'bugfix/ble_conn_latency_max_value_v4.4' into 'release/v4.4'
BLE: Set connection max latency value to 499.

See merge request espressif/esp-idf!15754
2021-11-02 09:11:12 +00:00
David Cermak
14a652376f Examples/PPPoS: Fix handling empty lines with CRLF only
Tokenizing data by '\n' will effectively replace all LF characters by '\0' so checking for phantom lines has to be adjusted:
* minimal empty line is CR only (strlen = 1)
* checking for lines containing CR only
2021-11-02 09:00:34 +01:00
xiewenxiang
d89112badf component/bt: check the ble ext conn parameter 2021-11-02 15:54:27 +08:00
Darian Leung
5ac3b05cbe freertos: Add memory hooks for static IDLE and Timer tasks
This commit adds the following hook functions to obtain memory
for the IDLE and Timer Daemon tasks when configSUPPORT_STATIC_ALLOCATION
is enabled:

- vApplicationGetIdleTaskMemory()
- vApplicationGetTimerTaskMemory()

Currently, both functions simply allocate from the same memory as
regular tasks (i.e., internal memory for both the stack and TCB)

Closes https://github.com/espressif/esp-idf/issues/7511
2021-11-02 14:54:01 +08:00
Darian Leung
efad5e56ae freertos: Fix prvTaskIsTaskSuspended check
This commit fixes prvTaskIsTaskSuspended(). Both pending ready lists
should be checked to confirm that is truly suspended.

Closes https://github.com/espressif/esp-idf/issues/7564
2021-11-02 14:51:17 +08:00
Anton Maklakov
6a93575d97 Merge branch 'bugfix/xtensa_clang_version_regex_v4.4' into 'release/v4.4'
fix(tool): export.sh cannot export xtensa-clang if installed (v4.4)

See merge request espressif/esp-idf!15763
2021-11-02 03:38:57 +00:00
Anton Maklakov
dfe91ded9a Merge branch 'bugfix/rm_copyright_check_v4.4' into 'release/v4.4'
CI: Remove the copyright header check from the release branch

See merge request espressif/esp-idf!15758
2021-11-02 03:38:18 +00:00
Fu Hanxi
d269be1861 fix(tool): export.sh cannot export xtensa-clang if installed issue 2021-11-02 09:32:45 +08:00
Roland Dobai
de136451f1 CI: Remove the copyright header check from the release branch 2021-11-01 12:44:10 +01:00
Chinmay Chhajed
affe1a0692 BLE: Set connection max latency value to 499. 2021-11-01 16:45:16 +05:30
Anton Maklakov
148e0fce84 Merge branch 'feature/ci_runner_failure_retries_v4.4' into 'release/v4.4'
ci: runner system failure retries (v4.4)

See merge request espressif/esp-idf!15722
2021-11-01 11:11:16 +00:00
Martin Vychodil
86f8d65508 Merge branch 'bugfix/memprot_bad_esp_restart_check_v4.4' into 'release/v4.4'
System/Security: wrong check of the Memprot feature in esp_restart()/panic_restart() (v4.4)

See merge request espressif/esp-idf!15742
2021-11-01 11:07:06 +00:00
jincheng
ea4f069b45 fix hfp_ag demo audio not sine_v4.4 2021-11-01 12:12:10 +08:00
Martin Vychodil
3f26866533 System/Security: wrong check of the Memprot feature in esp_restart()/panic_restart()
esp_restart()/panic_restart() never resets the Digital system (so far required only by the Memprot feature) as there's a typo in the corresponding #define:
it checks CONFIG_ESP_SYSTEM_CONFIG_MEMPROT_FEATURE instead of CONFIG_ESP_SYSTEM_MEMPROT_FEATURE.
Issue fixed.

IDF-4094
2021-10-29 15:02:17 +02:00
KonstantinKondrashov
fb3c88510c efuse_table_gen: Fixes wrong joining fields with omitted names
The issue is related to the non-sequential way of description when
such fields going together sequential.

Related to esp32h2 chip for eFuses: MAC_FACTORY and MAC_EXT.
The issue is in wrong indexes of MAC_EXT.
MAC_EXT got indexes like it is joined to MAC_FACTORY.

const esp_efuse_desc_t* ESP_EFUSE_MAC_FACTORY[] = {
    &MAC_FACTORY[0],
    &MAC_FACTORY[1],
    &MAC_FACTORY[2],
    &MAC_FACTORY[3],
    &MAC_FACTORY[4],
    &MAC_FACTORY[5],
    NULL
};

const esp_efuse_desc_t* ESP_EFUSE_MAC_EXT[] = {
    &MAC_EXT[6],
    &MAC_EXT[7],
    NULL
};

This commit fixed it to:

const esp_efuse_desc_t* ESP_EFUSE_MAC_EXT[] = {
    &MAC_EXT[0],
    &MAC_EXT[1],
    NULL
};
2021-10-29 19:17:51 +08:00
zhangwenxu
281598077a efuse: fix esp32h2 get ext_mac 2021-10-29 19:17:51 +08:00
Anton Maklakov
006ab2d454 ci: Add retries on runner system failures 2021-10-29 13:49:37 +07:00
Anton Maklakov
10741e2254 ci: fix using HEAD and SHA with merged result pipelines 2021-10-29 13:34:53 +07:00
Fu Hanxi
d6e438f3c7 ci: add variable PIPELINE_COMMIT_SHA 2021-10-29 13:34:53 +07:00
weitianhua
1383785aa1 Remove dummy defines of Classic BT 2021-10-29 14:21:26 +08:00
weitianhua
8153b43705 Make ESP32 Bluetooth stack architecture Doc only visible for ESP32 2021-10-29 14:21:18 +08:00
weitianhua
f4aad85f8b Make Classic BT related document links only visible for ESP32 2021-10-29 14:21:12 +08:00
Mahavir Jain
6a7d83af19 Merge branch 'bugfix/fix_http_head_request_v4.4' into 'release/v4.4'
esp_http_client: Fix HEAD request will affect the all next HTTP requests unless we close the HTTP request(backport v4.4)

See merge request espressif/esp-idf!15715
2021-10-29 04:47:22 +00:00
baohongde
89d290f17a component/bt: Power down bluetooth module when deinit 2021-10-29 10:44:02 +08:00
yuanjm
9705ea5e97 esp_http_client: Fix HEAD request will affect the all next HTTP requests unless we close the HTTP request
Closes https://github.com/espressif/esp-idf/issues/7777
2021-10-29 10:16:12 +08:00
Krzysztof Budzynski
4aaec00c41 Merge branch 'bugfix/define__DOXYGEN___v4.4' into 'release/v4.4'
docs: define __DOXYGEN__ for doxygen builds (v4.4)

See merge request espressif/esp-idf!15679
2021-10-28 06:40:50 +00:00
Anton Maklakov
697f829d60 Merge branch 'bugfix/gdbstub_4_c3_v4.4' into 'release/v4.4'
bugfix/esp-gdbstrub: add missing function for esp32c3/esp32h2. (backport v4.4)

See merge request espressif/esp-idf!15664
2021-10-27 16:49:21 +00:00
Jiang Jiang Jian
7aa3dfc087 Merge branch 'bugfix/fix_phy_usb_issue_v4.4' into 'release/v4.4'
esp_phy: fix esp32c3/s3 phy USB & RSSI issue(v4.4)

See merge request espressif/esp-idf!15646
2021-10-27 14:01:48 +00:00
Jiang Jiang Jian
bd2b1c88ad Merge branch 'bugfix/remove_assert_when_inq_done_4.4' into 'release/v4.4'
component_bt: fix crash after inquiry has finished (v4.4)

See merge request espressif/esp-idf!15673
2021-10-27 11:28:50 +00:00
Dmitry
0c5b5d759a Remove table for all supported chips as useless. 2021-10-27 13:36:58 +03:00
Marius Vikhammer
a4821fac21 docs: define __DOXYGEN__ for doxygen builds
Some docs depended on __DOXYGEN__ but this was never defined anywhere.
2021-10-27 17:10:26 +08:00
xiongweichao
3187b9b5a4 1. Fix the scan failed issue.
2. Fix connection failed with LG 5.0 phone
3. Remove assert when inquiry done
2021-10-27 14:54:37 +08:00
Dmitry
1703b9d0f3 bugfix/esp-gdbstrub: add missing function for esp32c3/esp32h2. 2021-10-26 20:00:58 +03:00
David Čermák
43a81fb2f9 Merge branch 'bugfix/asio_ssl_build' into 'release/v4.4'
asio: Fix ssl example build removing openssl warning

See merge request espressif/esp-idf!15498
2021-10-26 14:26:12 +00:00
David Čermák
bf4ef23067 Merge branch 'bugfix/pppos_event_deinit_exit_ppp' into 'release/v4.4'
Examples/PPPoS: Minor fixes related to init/deinit cycling

See merge request espressif/esp-idf!15553
2021-10-26 14:25:37 +00:00
Ivan Grokhotkov
044e79ad99 Merge branch 'bugfix/highint_hdl_link_gnumake_v4.4' into 'release/v4.4'
esp_system: fix high level interrupt handler not linked for GNU Make (v4.4)

See merge request espressif/esp-idf!15651
2021-10-26 13:14:25 +00:00
Ivan Grokhotkov
d47d413e25 esp_system: fix high level interrupt handler not linked for GNU Make
In 4972605, high-level interrupt handler hook was renamed from
ld_include_highint_hdl to ld_include_panic_highint_hdl. However the
change wasn't applied in GNU Make based build system. As a result,
the default interrupt handler was linked and features which depended
on the high-level interrupt didn't work.

Closes https://github.com/espressif/esp-idf/issues/7759
Closes https://github.com/espressif/esp-idf/issues/7447
2021-10-26 11:26:45 +02:00
David Cermak
9ceadb4e18 Examples/PPPoS: Fix copyright headers 2021-10-26 10:45:19 +02:00
David Cermak
12f4f8f7f8 Examples/PPPoS: Fixed missed NETIF_PPP_STATUS event unregister
NETIF_PPP_STATUS is registerd while modem gets attached to the related netif.
we don't have any network detach functionality in the modem component, so we
unregister the event during esp_modem_netif_clear_default_handlers().

Related https://esp32.com/viewtopic.php?f=13&t=23632
Related https://github.com/espressif/esp-idf/issues/7469
2021-10-26 10:45:12 +02:00
David Cermak
28d534ad33 Examples/PPPoS: Add mandatory delay after +++ command
Switching back from data (PPP) mode to command mode must be done is the following sequence:
* No characters entered for T1 time (1 second)
* "+++" characters entered with no characters in between (1 second)
* No characters entered for T1 timer (1 second)
(per specification of SIM800 SIM800_Series_AT_Command_Manual_V1.09.pdf)

Related https://github.com/espressif/esp-idf/issues/7608
2021-10-26 10:45:05 +02:00
Ivan Grokhotkov
a0371c1a8f Merge branch 'feature/toolchain_2021r2_v4.4' into 'release/v4.4'
Update toolchains to esp-2021r2 (v4.4)

See merge request espressif/esp-idf!15637
2021-10-26 08:19:22 +00:00
chenjianxing
5eb55d2e7a esp_phy: fix esp32c3/s3 phy USB & RSSI issue 2021-10-26 15:48:27 +08:00
Anton Maklakov
076697a56d Update toolchains to esp-2021r2
Updated GDB to 9.2 version for xtensa chips
    Fixed coredump work for xtensa chips
    Fixed backtrace for xtensa chips
    Fixed multilib for riscv32 chips
    Fixed running GDB on some RaspberryPi configuration for riscv32 chip
    Fixed support of fnmatch(), iconv() and some other posix functions in stdlib

    Closes https://github.com/espressif/esp-idf/issues/6124
    Closes https://github.com/espressif/esp-idf/issues/2484
    Closes https://github.com/espressif/esp-idf/issues/3264
    Closes https://github.com/espressif/crosstool-NG/issues/13
    Closes https://github.com/espressif/crosstool-NG/pull/16
2021-10-25 19:55:41 +07:00
Anton Maklakov
4548b6da63 test_apps/panic: remove workaround for incorrect GDB backtrace 2021-10-25 19:55:41 +07:00
Anton Maklakov
91696b9d6d coredump: update test data for toolchain 2021r2 2021-10-25 19:55:41 +07:00
David Cermak
0a8c1259dc asio: Fix ssl example build removing openssl warning
Regression from e68afcb45036901ebc9174b2c8f3804f7921410c causing
non-clean builds for standard asio-ssl example (warning was
suppressed in the CI build only)
2021-10-25 11:59:02 +00:00
Wang Meng Yang
ac485b2824 Merge branch 'feature/add_README_for_controller_hci_uart_demo_v4.4' into 'release/v4.4'
feature/add README.md for demo controller_hci_uart_demo_v4.4

See merge request espressif/esp-idf!15571
2021-10-25 07:39:34 +00:00
Ivan Grokhotkov
2720d45e71 Merge branch 'bugfix/newlib_fix_stdatomic_clang_v4.4' into 'release/v4.4'
newlib: fix clang atomics (v4.4)

See merge request espressif/esp-idf!15600
2021-10-22 14:48:56 +00:00
Andrei Safronov
cb6e5b0980 newlib: fix clang atomics
Correction of the SYNC_LOCK_* macros in stdatomic
2021-10-21 17:34:48 +01:00
morris
25ae00cd11 Merge branch 'ci/update_esp_eth_cert_v4.4' into 'release/v4.4'
ci: update cert used for esp_eth test (v4.4)

See merge request espressif/esp-idf!15583
2021-10-21 04:23:34 +00:00
Marius Vikhammer
108f85f8b3 ci: update cert used for esp_eth test 2021-10-21 10:05:56 +08:00
jincheng
99f1687db7 add README.md for demo controller_hci_uart_demo 2021-10-20 09:09:46 +08:00
Axel Lin
0a15cc5e5a esp_modem: Fix report unknown line
In esp_dte_handle_line(), it tokenize the data to call handlers separately
for each *line*. So it needs to post the tokenized data when report unknown
line instead of the first token (which could be a '\r' in my test).

Fixes: 336de29413 ("Examples/pppos_client: Fix manual parsing to accept unexpected lines")
Signed-off-by: Axel Lin <axel.lin@gmail.com>
2021-10-18 10:14:31 +08:00
20285 changed files with 1714026 additions and 3057235 deletions

View File

@@ -1,4 +0,0 @@
[codespell]
skip = build,*.yuv,components/fatfs/src/*,alice.txt,*.rgb,components/wpa_supplicant/*,components/esp_wifi/*,*.pem,components/newlib/COPYING.*
ignore-words-list = ser,dout,rsource,fram,inout,shs,ans,aci,unstall,unstalling,hart,wheight,wel,ot,fane,assertIn,registr,oen,parms
write-changes = true

View File

@@ -31,7 +31,5 @@ indent_size = 4
max_line_length = 120
[{*.sh,*.yml,*.yaml}]
indent_size = 2
[*.ini]
indent_style = space
indent_size = 2

173
.flake8 Normal file
View File

@@ -0,0 +1,173 @@
[flake8]
select =
# Full lists are given in order to suppress all errors from other plugins
# Full list of pyflakes error codes:
F401, # module imported but unused
F402, # import module from line N shadowed by loop variable
F403, # 'from module import *' used; unable to detect undefined names
F404, # future import(s) name after other statements
F405, # name may be undefined, or defined from star imports: module
F406, # 'from module import *' only allowed at module level
F407, # an undefined __future__ feature name was imported
F601, # dictionary key name repeated with different values
F602, # dictionary key variable name repeated with different values
F621, # too many expressions in an assignment with star-unpacking
F622, # two or more starred expressions in an assignment (a, *b, *c = d)
F631, # assertion test is a tuple, which are always True
F701, # a break statement outside of a while or for loop
F702, # a continue statement outside of a while or for loop
F703, # a continue statement in a finally block in a loop
F704, # a yield or yield from statement outside of a function
F705, # a return statement with arguments inside a generator
F706, # a return statement outside of a function/method
F707, # an except: block as not the last exception handler
F721, F722, # doctest syntax error syntax error in forward type annotation
F811, # redefinition of unused name from line N
F812, # list comprehension redefines name from line N
F821, # undefined name name
F822, # undefined name name in __all__
F823, # local variable name referenced before assignment
F831, # duplicate argument name in function definition
F841, # local variable name is assigned to but never used
F901, # raise NotImplemented should be raise NotImplementedError
# Full list of pycodestyle violations:
E101, # indentation contains mixed spaces and tabs
E111, # indentation is not a multiple of four
E112, # expected an indented block
E113, # unexpected indentation
E114, # indentation is not a multiple of four (comment)
E115, # expected an indented block (comment)
E116, # unexpected indentation (comment)
E121, # continuation line under-indented for hanging indent
E122, # continuation line missing indentation or outdented
E123, # closing bracket does not match indentation of opening bracket's line
E124, # closing bracket does not match visual indentation
E125, # continuation line with same indent as next logical line
E126, # continuation line over-indented for hanging indent
E127, # continuation line over-indented for visual indent
E128, # continuation line under-indented for visual indent
E129, # visually indented line with same indent as next logical line
E131, # continuation line unaligned for hanging indent
E133, # closing bracket is missing indentation
E201, # whitespace after '('
E202, # whitespace before ')'
E203, # whitespace before ':'
E211, # whitespace before '('
E221, # multiple spaces before operator
E222, # multiple spaces after operator
E223, # tab before operator
E224, # tab after operator
E225, # missing whitespace around operator
E226, # missing whitespace around arithmetic operator
E227, # missing whitespace around bitwise or shift operator
E228, # missing whitespace around modulo operator
E231, # missing whitespace after ',', ';', or ':'
E241, # multiple spaces after ','
E242, # tab after ','
E251, # unexpected spaces around keyword / parameter equals
E261, # at least two spaces before inline comment
E262, # inline comment should start with '# '
E265, # block comment should start with '# '
E266, # too many leading '#' for block comment
E271, # multiple spaces after keyword
E272, # multiple spaces before keyword
E273, # tab after keyword
E274, # tab before keyword
E275, # missing whitespace after keyword
E301, # expected 1 blank line, found 0
E302, # expected 2 blank lines, found 0
E303, # too many blank lines
E304, # blank lines found after function decorator
E305, # expected 2 blank lines after end of function or class
E306, # expected 1 blank line before a nested definition
E401, # multiple imports on one line
E402, # module level import not at top of file
E501, # line too long (82 > 79 characters)
E502, # the backslash is redundant between brackets
E701, # multiple statements on one line (colon)
E702, # multiple statements on one line (semicolon)
E703, # statement ends with a semicolon
E704, # multiple statements on one line (def)
E711, # comparison to None should be 'if cond is None:'
E712, # comparison to True should be 'if cond is True:' or 'if cond:'
E713, # test for membership should be 'not in'
E714, # test for object identity should be 'is not'
E721, # do not compare types, use 'isinstance()'
E722, # do not use bare except, specify exception instead
E731, # do not assign a lambda expression, use a def
E741, # do not use variables named 'l', 'O', or 'I'
E742, # do not define classes named 'l', 'O', or 'I'
E743, # do not define functions named 'l', 'O', or 'I'
E901, # SyntaxError or IndentationError
E902, # IOError
W191, # indentation contains tabs
W291, # trailing whitespace
W292, # no newline at end of file
W293, # blank line contains whitespace
W391, # blank line at end of file
W503, # line break before binary operator
W504, # line break after binary operator
W505, # doc line too long (82 > 79 characters)
W601, # .has_key() is deprecated, use 'in'
W602, # deprecated form of raising exception
W603, # '<>' is deprecated, use '!='
W604, # backticks are deprecated, use 'repr()'
W605, # invalid escape sequence 'x'
W606, # 'async' and 'await' are reserved keywords starting with Python 3.7
# Full list of flake8 violations
E999, # failed to compile a file into an Abstract Syntax Tree for the plugins that require it
# Full list of mccabe violations
C901 # complexity value provided by the user
ignore =
E221, # multiple spaces before operator
E231, # missing whitespace after ',', ';', or ':'
E241, # multiple spaces after ','
W503, # line break before binary operator
W504 # line break after binary operator
max-line-length = 160
show_source = True
statistics = True
exclude =
.git,
__pycache__,
# submodules
components/bootloader/subproject/components/micro-ecc/micro-ecc,
components/bt/host/nimble/nimble,
components/cmock/CMock,
components/esptool_py/esptool,
components/expat/expat,
components/json/cJSON,
components/libsodium/libsodium,
components/mbedtls/mbedtls,
components/nghttp/nghttp2,
components/openthread/openthread,
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
components/protocomm/python/constants_pb2.py,
components/protocomm/python/sec0_pb2.py,
components/protocomm/python/sec1_pb2.py,
components/protocomm/python/session_pb2.py,
components/wifi_provisioning/python/wifi_scan_pb2.py,
components/wifi_provisioning/python/wifi_config_pb2.py,
components/wifi_provisioning/python/wifi_constants_pb2.py,
components/esp_local_ctrl/python/esp_local_ctrl_pb2.py,
examples/provisioning/legacy/custom_config/components/custom_provisioning/python/custom_config_pb2.py,
per-file-ignores =
# Sphinx conf.py files use star imports to setup config variables
docs/conf_common.py: F405,
components/freemodbus/docs/conf_common.py: F405

View File

@@ -1,125 +0,0 @@
name: Installation or build bug report
description: Report installation or build bugs
labels: ['Type: Bug']
body:
- type: checkboxes
id: checklist
attributes:
label: Answers checklist.
description: Before submitting a new issue, please follow the checklist and try to find the answer.
options:
- label: I have read the documentation [ESP-IDF Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/) and the issue is not addressed there.
required: true
- label: I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
required: true
- label: I have searched the issue tracker for a similar issue and not found a similar issue.
required: true
- type: input
id: idf_version
attributes:
label: IDF version.
description: On which IDF version does this issue occur on? Run `git describe --tags` to find it.
placeholder: ex. v3.2-dev-1148-g96cd3b75c
validations:
required: true
- type: dropdown
id: operating_system
attributes:
label: Operating System used.
multiple: false
options:
- Windows
- Linux
- macOS
validations:
required: true
- type: dropdown
id: build
attributes:
label: How did you build your project?
multiple: false
options:
- Command line with Make
- Command line with CMake
- Command line with idf.py
- Eclipse IDE
- CLion IDE
- VS Code IDE
- Other (please specify in More Information)
validations:
required: true
- type: dropdown
id: windows_comand_line
attributes:
label: If you are using Windows, please specify command line type.
multiple: false
options:
- PowerShell
- CMD
validations:
required: false
- type: textarea
id: expected
attributes:
label: What is the expected behavior?
description: Please provide a clear and concise description of the expected behavior.
placeholder: I expected it to...
validations:
required: true
- type: textarea
id: actual
attributes:
label: What is the actual behavior?
description: Please describe actual behavior.
placeholder: Instead it...
validations:
required: true
- type: textarea
id: steps
attributes:
label: Steps to reproduce.
description: 'How do you trigger this bug? Please walk us through it step by step. If this is build bug, please attach sdkconfig file (from your project folder). Please attach your code here.'
value: |
1. Step
2. Step
3. Step
...
validations:
required: true
- type: textarea
id: debug_logs
attributes:
label: Build or installation Logs.
description: Build or installation log goes here, should contain the backtrace, as well as the reset source if it is a crash.
placeholder: Your log goes here.
render: plain
validations:
required: false
- type: textarea
id: diag
attributes:
label: Diagnostic report archive.
description: |
Diagnostic report for ESP-IDF created using [idf.py diag](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-diag.html) or [esp-idf-diag](https://github.com/espressif/esp-idf-diag). The `idf.py diag` command is available beginning with ESP-IDF version 5.5. For older versions, you may want to consider using the `esp-idf-diag` command.
In your project directory, execute the following command:
Using `idf.py diag`
1. idf.py diag
Using `esp-idf-diag`
1. pip install esp-idf-diag
2. esp-idf-diag create
Once the report is generated, the tool will guide you with the next steps.
placeholder: Please attach the diagnostic report zip file here.
validations:
required: false
- type: textarea
id: more-info
attributes:
label: More Information.
description: Do you have any other information from investigating this?
placeholder: ex. I tried on my friend's Windows 10 PC and the command works there.
validations:
required: false

View File

@@ -1,153 +0,0 @@
name: Runtime bug report
description: Report runtime bugs
labels: ['Type: Bug']
body:
- type: checkboxes
id: checklist
attributes:
label: Answers checklist.
description: Before submitting a new issue, please follow the checklist and try to find the answer.
options:
- label: I have read the documentation [ESP-IDF Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/) and the issue is not addressed there.
required: true
- label: I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
required: true
- label: I have searched the issue tracker for a similar issue and not found a similar issue.
required: true
- type: input
id: idf_version
attributes:
label: IDF version.
description: On which IDF version does this issue occur on? Run `git describe --tags` to find it.
placeholder: ex. v3.2-dev-1148-g96cd3b75c
validations:
required: true
- type: input
id: chip_revision
attributes:
label: Espressif SoC revision.
description: On which Espressif SoC revision does your application run on? Run `esptool chip_id` to find it.
placeholder: ex. ESP32-C3 (QFN32) (revision v0.3)
validations:
required: true
- type: dropdown
id: operating_system
attributes:
label: Operating System used.
multiple: false
options:
- Windows
- Linux
- macOS
validations:
required: true
- type: dropdown
id: build
attributes:
label: How did you build your project?
multiple: false
options:
- Command line with Make
- Command line with CMake
- Command line with idf.py
- Eclipse IDE
- CLion IDE
- VS Code IDE
- Other (please specify in More Information)
validations:
required: true
- type: dropdown
id: windows_comand_line
attributes:
label: If you are using Windows, please specify command line type.
multiple: false
options:
- PowerShell
- CMD
validations:
required: false
- type: input
id: devkit
attributes:
label: Development Kit.
description: On which Development Kit does this issue occur on?
placeholder: ex. ESP32-Wrover-Kit v2 | Custom Board | QEMU
validations:
required: true
- type: dropdown
id: power_supply
attributes:
label: Power Supply used.
multiple: false
options:
- USB
- External 5V
- External 3.3V
- Battery
validations:
required: true
- type: textarea
id: expected
attributes:
label: What is the expected behavior?
description: Please provide a clear and concise description of the expected behavior.
placeholder: I expected it to...
validations:
required: true
- type: textarea
id: actual
attributes:
label: What is the actual behavior?
description: Please describe actual behavior.
placeholder: Instead it...
validations:
required: true
- type: textarea
id: steps
attributes:
label: Steps to reproduce.
description: 'How do you trigger this bug? Please walk us through it step by step. Please attach your code here.'
value: |
1. Step
2. Step
3. Step
...
validations:
required: true
- type: textarea
id: debug_logs
attributes:
label: Debug Logs.
description: Debug log goes here, should contain the backtrace, as well as the reset source if it is a crash.
placeholder: Your log goes here.
render: plain
validations:
required: false
- type: textarea
id: diag
attributes:
label: Diagnostic report archive.
description: |
Diagnostic report for ESP-IDF created using [idf.py diag](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-diag.html) or [esp-idf-diag](https://github.com/espressif/esp-idf-diag). The `idf.py diag` command is available beginning with ESP-IDF version 5.5. For older versions, you may want to consider using the `esp-idf-diag` command.
In your project directory, execute the following command:
Using `idf.py diag`
1. idf.py diag
Using `esp-idf-diag`
1. pip install esp-idf-diag
2. esp-idf-diag create
Once the report is generated, the tool will guide you with the next steps.
placeholder: Please attach the diagnostic report zip file here.
validations:
required: false
- type: textarea
id: more-info
attributes:
label: More Information.
description: Do you have any other information from investigating this?
placeholder: ex. I tried on my friend's Windows 10 PC and the command works there.
validations:
required: false

View File

@@ -1,34 +0,0 @@
name: Feature request
description: Suggest an idea for this project.
labels: ['Type: Feature Request']
body:
- type: markdown
attributes:
value: |
* We welcome any ideas or feature requests! Its helpful if you can explain exactly why the feature would be useful.
* There are usually some outstanding feature requests in the [existing issues list](https://github.com/espressif/esp-idf/labels/Type%3A%20Feature%20Request), feel free to add comments to them.
* If you would like to contribute, please read the [contributions guide](https://docs.espressif.com/projects/esp-idf/en/stable/esp32/contribute/index.html).
- type: textarea
id: problem-related
attributes:
label: Is your feature request related to a problem?
description: Please provide a clear and concise description of what the problem is.
placeholder: ex. I'm always frustrated when ...
- type: textarea
id: solution
attributes:
label: Describe the solution you'd like.
description: Please provide a clear and concise description of what you want to happen.
placeholder: ex. When connecting to an Espressif chip ...
- type: textarea
id: alternatives
attributes:
label: Describe alternatives you've considered.
description: Please provide a clear and concise description of any alternative solutions or features you've considered.
placeholder: ex. Choosing other approach wouldn't work, because ...
- type: textarea
id: context
attributes:
label: Additional context.
description: Please add any other context or screenshots about the feature request here.
placeholder: ex. This would work only when ...

View File

@@ -1,23 +0,0 @@
name: General issue report
description: File an issue report
body:
- type: checkboxes
id: checklist
attributes:
label: Answers checklist.
description: Before submitting a new issue, please follow the checklist and try to find the answer.
options:
- label: I have read the documentation [ESP-IDF Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/) and the issue is not addressed there.
required: true
- label: I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
required: true
- label: I have searched the issue tracker for a similar issue and not found a similar issue.
required: true
- type: textarea
id: issue
attributes:
label: General issue report
description: Your issue report goes here.
placeholder: ex. How do I run...
validations:
required: true

92
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,92 @@
---
name: Bug report
about: ESP-IDF crashes, produces incorrect output, or has incorrect behavior
title: ''
labels: ''
assignees: ''
---
----------------------------- Delete below -----------------------------
**Reminder: If your issue is a general question, starts similar to "How do I..", or is related to 3rd party development kits/libs, please discuss this on our community forum at https://esp32.com instead.**
INSTRUCTIONS
============
Before submitting a new issue, please follow the checklist and try to find the answer.
- [ ] I have read the documentation [ESP-IDF Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/) and the issue is not addressed there.
- [ ] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
- [ ] I have searched the issue tracker for a similar issue and not found a similar issue.
If the issue cannot be solved after the steps before, please follow these instructions so we can get the needed information to help you in a quick and effective fashion.
1. Fill in all the fields under **Environment** marked with [ ] by picking the correct option for you in each case and deleting the others.
2. Describe your problem.
3. Include [debug logs from the "monitor" tool](https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/tools/idf-monitor.html), or [coredumps](https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/core_dump.html).
4. Providing as much information as possible under **Other items if possible** will help us locate and fix the problem.
5. Use [Markdown](https://guides.github.com/features/mastering-markdown/) (see formatting buttons above) and the Preview tab to check what the issue will look like.
6. Delete these instructions from the above to the below marker lines before submitting this issue.
**IMPORTANT: If you do not follow these instructions and provide the necessary details, your issue may not be resolved.**
----------------------------- Delete above -----------------------------
## Environment
- Development Kit: [ESP32-Wrover-Kit|ESP32-DevKitC|ESP32-PICO-Kit|ESP32-LyraT|ESP32-LyraTD-MSC|none]
- Kit version (for WroverKit/PicoKit/DevKitC): [v1|v2|v3|v4]
- Module or chip used: [ESP32-WROOM-32|ESP32-WROOM-32D|ESP32-WROOM-32U|ESP32-WROVER|ESP32-WROVER-I|ESP32-WROVER-B|ESP32-WROVER-IB|ESP32-SOLO-1|ESP32-PICO-D4|ESP32]
- IDF version (run ``git describe --tags`` to find it):
// v3.2-dev-1148-g96cd3b75c
- Build System: [Make|CMake|idf.py]
- Compiler version (run ``xtensa-esp32-elf-gcc --version`` to find it):
// 1.22.0-80-g6c4433a
- Operating System: [Windows|Linux|macOS]
- (Windows only) environment type: [MSYS2 mingw32|ESP Command Prompt|Plain Command Prompt|PowerShell].
- Using an IDE?: [No|Yes (please give details)]
- Power Supply: [USB|external 5V|external 3.3V|Battery]
## Problem Description
//Detailed problem description goes here.
### Expected Behavior
### Actual Behavior
### Steps to reproduce
1. step1
2. ...
// If possible, attach a picture of your setup/wiring here.
### Code to reproduce this issue
```cpp
// the code should be wrapped in the ```cpp tag so that it will be displayed better.
#include "esp_log.h"
void app_main()
{
}
```
// If your code is longer than 30 lines, [GIST](https://gist.github.com) is preferred.
## Debug Logs
```
Debug log goes here, should contain the backtrace, as well as the reset source if it is a crash.
Please copy the plain text here for us to search the error log. Or attach the complete logs but leave the main part here if the log is *too* long.
```
## Other items if possible
- [ ] sdkconfig file (attach the sdkconfig file from your project folder)
- [ ] elf file in the ``build`` folder (**note this may contain all the code details and symbols of your project.**)
- [ ] coredump (This provides stacks of tasks.)

View File

@@ -1,4 +1,4 @@
blank_issues_enabled: true
blank_issues_enabled: false
contact_links:
- name: ESP-IDF Programming Guide
url: https://docs.espressif.com/projects/esp-idf/en/latest/

View File

@@ -0,0 +1,26 @@
---
name: Feature request
about: Suggest an idea for ESP-IDF
title: ''
labels: 'Type: Feature Request'
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
Please give as many details as you can. Include suggestions for useful APIs or interfaces if relevant.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@@ -1,27 +0,0 @@
name: DangerJS Pull Request review
on:
pull_request_target:
types: [opened, edited, reopened, synchronize]
permissions:
pull-requests: write
contents: write
jobs:
pull-request-style-linter:
runs-on: ubuntu-latest
steps:
- name: Check out PR head
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: DangerJS pull request linter
uses: espressif/shared-github-dangerjs@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
instructions-gitlab-mirror: 'true'
instructions-contributions-file: 'CONTRIBUTING.md'
instructions-cla-link: 'https://cla-assistant.io/espressif/esp-idf'

View File

@@ -73,15 +73,3 @@ jobs:
build-args: |
IDF_CLONE_URL=${{ github.server_url }}/${{ github.repository }}.git
IDF_CLONE_BRANCH_OR_TAG=${{ env.CLONE_BRANCH_OR_TAG }}
- name: Update Docker Hub repository description (master branch)
if: ${{ github.ref_type == 'branch' && github.ref_name == 'master' }}
uses: peter-evans/dockerhub-description@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
# Token based authentication is not supported here:
# https://github.com/peter-evans/dockerhub-description/issues/10
# https://github.com/docker/roadmap/issues/115#issuecomment-891694974
password: ${{ secrets.DOCKERHUB_PASSWORD }}
repository: ${{ env.DOCKERHUB_REPO }}
readme-filepath: ./tools/docker/README.md

View File

@@ -3,16 +3,12 @@ name: Sync issue comments to JIRA
# This workflow will be triggered when new issue comment is created (including PR comments)
on: issue_comment
# Limit to single concurrent run for workflows which can create Jira issues.
# Same concurrency group is used in new_issues.yml
concurrency: jira_issues
jobs:
sync_issue_comments_to_jira:
name: Sync Issue Comments to Jira
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@master
- name: Sync issue comments to JIRA
uses: espressif/github-actions/sync_issues_to_jira@master
env:

View File

@@ -3,16 +3,12 @@ name: Sync issues to Jira
# This workflow will be triggered when a new issue is opened
on: issues
# Limit to single concurrent run for workflows which can create Jira issues.
# Same concurrency group is used in issue_comment.yml
concurrency: jira_issues
jobs:
sync_issues_to_jira:
name: Sync issues to Jira
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@master
- name: Sync GitHub issues to Jira project
uses: espressif/github-actions/sync_issues_to_jira@master
env:

View File

@@ -6,16 +6,12 @@ on:
schedule:
- cron: "0 * * * *"
# Limit to single concurrent run for workflows which can create Jira issues.
# Same concurrency group is used in issue_comment.yml
concurrency: jira_issues
jobs:
sync_prs_to_jira:
name: Sync PRs to Jira
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@master
- name: Sync PRs to Jira project
uses: espressif/github-actions/sync_issues_to_jira@master
with:

View File

@@ -1,23 +0,0 @@
name: Sync approved PRs to internal codebase
on:
pull_request_target:
types: [labeled]
jobs:
sync_prs_to_internal_codebase:
name: GitHub PR to Internal Codebase Sync
runs-on: ubuntu-latest
if: (github.event.label.name == 'PR-Sync-Merge') ||
(github.event.label.name == 'PR-Sync-Rebase') ||
(github.event.label.name == 'PR-Sync-Update')
steps:
- uses: actions/checkout@v3
- name: Sync approved PRs to internal codebase
uses: espressif/github-actions/github_pr_to_internal_pr@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITLAB_URL: ${{ secrets.GITLAB_URL }}
GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }}
GIT_CONFIG_NAME: ${{ secrets.GIT_CONFIG_NAME }}
GIT_CONFIG_EMAIL: ${{ secrets.GIT_CONFIG_EMAIL }}
JIRA_PROJECT: IDFGH

View File

@@ -1,44 +0,0 @@
name: Check pre-commit rules
on:
pull_request:
types: [opened, reopened, synchronize]
permissions:
contents: read
jobs:
pre_commit_check:
runs-on: ubuntu-latest
env:
SKIP: "cleanup-ignore-lists" # Comma-separated string of ignored pre-commit check IDs
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Fetch head and base refs
# This is necessary for pre-commit to check the changes in the PR branch
run: |
git fetch origin ${{ github.base_ref }}:base_ref
git fetch origin pull/${{ github.event.pull_request.number }}/head:pr_ref
- name: Set up Python environment
uses: actions/setup-python@master
with:
python-version: v3.8
- name: Install python packages
run: |
pip install pre-commit
pre-commit install-hooks
- name: Run pre-commit and check for any changes
run: |
echo "Commits being checked:"
git log --oneline --no-decorate base_ref..pr_ref
echo ""
if ! pre-commit run --from-ref base_ref --to-ref pr_ref --show-diff-on-failure ; then
echo ""
echo "::notice::It looks like the commits in this PR have been made without having pre-commit hooks installed."
echo "::notice::Please see https://docs.espressif.com/projects/esp-idf/en/latest/esp32/contribute/install-pre-commit-hook.html for instructions."
echo ""
exit 1
fi
# Run pre-commit for PowerShell scripts check
pre-commit run --hook-stage manual check-powershell-scripts --from-ref base_ref --to-ref pr_ref --show-diff-on-failure

33
.github/workflows/python_lint.yml vendored Normal file
View File

@@ -0,0 +1,33 @@
name: Python CI
# This workflow will be triggered when a PR modifies some python relevant files
on:
pull_request:
paths:
- "**.py"
- "requirements.txt"
jobs:
python_lint:
name: python lint
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.6, 3.7, 3.8]
steps:
- name: Checkout
uses: actions/checkout@master
- name: Set up Python environment
uses: actions/setup-python@master
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
export IDF_PATH=${GITHUB_WORKSPACE}
pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
flake8 . --config=.flake8 --benchmark

View File

@@ -8,11 +8,10 @@ on:
jobs:
release_zips:
name: Create release zip file
runs-on: ubuntu-24.04
runs-on: ubuntu-20.04
steps:
- name: Create a recursive clone source zip
uses: espressif/release-zips-action@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
release_project_name: ESP-IDF
git_extra_args: --shallow-since="1 year ago"
uses: espressif/github-actions/release_zips@master
env:
RELEASE_PROJECT_NAME: ESP-IDF
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,35 +0,0 @@
name: Vulnerability scan
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
jobs:
vulnerability-scan:
strategy:
# We don't want to run all jobs in parallel, because this would
# overload NVD and we would get 503
max-parallel: 1
matrix:
# References/branches which should be scanned for vulnerabilities are
# defined in the VULNERABILITY_SCAN_REFS variable as json list.
# For example: ['master', 'release/v5.2', 'release/v5.1', 'release/v5.0', 'release/v4.4']
ref: ${{ fromJSON(vars.VULNERABILITY_SCAN_REFS) }}
name: Vulnerability scan
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
ref: ${{ matrix.ref }}
- name: Vulnerability scan
env:
SBOM_CHECK_LOCAL_DB: ${{ vars.SBOM_CHECK_LOCAL_DB }}
SBOM_MATTERMOST_WEBHOOK: ${{ secrets.SBOM_MATTERMOST_WEBHOOK }}
NVDAPIKEY: ${{ secrets.NVDAPIKEY }}
uses: espressif/esp-idf-sbom-action@master
with:
ref: ${{ matrix.ref }}

60
.gitignore vendored
View File

@@ -21,8 +21,15 @@ GPATH
# MacOS directory files
.DS_Store
# cache dir
.cache/
# Components Unit Test Apps files
components/**/build
components/**/sdkconfig
components/**/sdkconfig.old
# Example project files
examples/**/sdkconfig
examples/**/sdkconfig.old
examples/**/build
# Doc build artifacts
docs/_build/
@@ -32,32 +39,26 @@ docs/doxygen_sqlite3.db
docs/_static/DejaVuSans.ttf
docs/_static/NotoSansSC-Regular.otf
# Components Unit Test Apps files
components/**/build/
components/**/build_*_*/
components/**/sdkconfig
components/**/sdkconfig.old
# Example project files
examples/**/build/
examples/**/build_*_*/
examples/**/sdkconfig
examples/**/sdkconfig.old
# Unit test app files
tools/unit-test-app/build
tools/unit-test-app/build_*_*/
tools/unit-test-app/sdkconfig
tools/unit-test-app/sdkconfig.old
tools/unit-test-app/build
tools/unit-test-app/builds
tools/unit-test-app/output
tools/unit-test-app/test_configs
# Unit Test CMake compile log folder
log_ut_cmake
# test application build files
tools/test_apps/**/build/
tools/test_apps/**/build_*_*/
tools/test_apps/**/build
tools/test_apps/**/sdkconfig
tools/test_apps/**/sdkconfig.old
TEST_LOGS/
build_summary_*.xml
# IDF monitor test
tools/test_idf_monitor/outputs
TEST_LOGS
# gcov coverage reports
*.gcda
@@ -74,10 +75,6 @@ test_multi_heap_host
*.swp
*.swo
# Sublime Text files
*.sublime-project
*.sublime-workspace
# Clion IDE CMake build & config
.idea/
cmake-build-*/
@@ -94,18 +91,3 @@ dependencies.lock
# managed_components for examples
managed_components
# pytest log
pytest-embedded/
# legacy one
pytest_embedded_log/
list_job*.txt
size_info*.txt
XUNIT_RESULT*.xml
.manifest_sha
# clang config (for LSP)
.clangd
# Vale
.vale/styles/*

View File

@@ -1,35 +1,151 @@
stages:
- pre_check
- build
- assign_test
- build_doc
- target_test
- host_test
- test_deploy
- deploy
- post_deploy
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_COMMIT_TAG !~ /^qa-test/ && $CI_PIPELINE_SOURCE == "push"'
when: never
# when running merged result pipelines, CI_COMMIT_SHA represents the temp commit it created.
# Please use PIPELINE_COMMIT_SHA at all places that require a commit sha of the original commit.
# 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
- if: $CI_OPEN_MERGE_REQUESTS != null
variables:
PIPELINE_COMMIT_SHA: $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA
IS_MR_PIPELINE: 1
- if: $CI_OPEN_MERGE_REQUESTS == null
variables:
PIPELINE_COMMIT_SHA: $CI_COMMIT_SHA
IS_MR_PIPELINE: 0
- when: always
# Place the default settings in `.gitlab/ci/common.yml` instead
variables:
# System environment
# Common parameters for the 'make' during CI tests
MAKEFLAGS: "-j5 --no-keep-going"
# GitLab-CI environment
# XXX_ATTEMPTS variables (https://docs.gitlab.com/ce/ci/yaml/README.html#job-stages-attempts) are not defined here.
# Use values from "CI / CD Settings" - "Variables".
# GIT_STRATEGY is not defined here.
# Use an option from "CI / CD Settings" - "General pipelines".
# we will download archive for each submodule instead of clone.
# we don't do "recursive" when fetch submodule as they're not used in CI now.
GIT_SUBMODULE_STRATEGY: none
SUBMODULE_FETCH_TOOL: "tools/ci/ci_fetch_submodule.py"
# by default we will fetch all submodules
# jobs can overwrite this variable to only fetch submodules they required
# set to "none" if don't need to fetch submodules
SUBMODULES_TO_FETCH: "all"
# tell build system do not check submodule update as we download archive instead of clone
IDF_SKIP_CHECK_SUBMODULES: 1
IDF_PATH: "$CI_PROJECT_DIR"
BATCH_BUILD: "1"
V: "0"
CHECKOUT_REF_SCRIPT: "$CI_PROJECT_DIR/tools/ci/checkout_project_ref.py"
# Docker images
BOT_DOCKER_IMAGE_TAG: ":latest"
ESP_IDF_DOC_ENV_IMAGE: "$CI_DOCKER_REGISTRY/esp-idf-doc-env:v4.4-1-v6"
ESP_ENV_IMAGE: "$CI_DOCKER_REGISTRY/esp-env:v4.4-1"
AFL_FUZZER_TEST_IMAGE: "$CI_DOCKER_REGISTRY/afl-fuzzer-test:v4.4-1-1"
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 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"
# 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
export IDF_MIRROR_PREFIX_MAP=
fi
if [[ "$SETUP_TOOLS" == "1" || "$CI_JOB_STAGE" != "target_test" ]]; then
tools/idf_tools.py --non-interactive install ${SETUP_TOOLS_LIST:-} && eval "$(tools/idf_tools.py --non-interactive export)" || exit 1
if [[ ! -z "$OOCD_DISTRO_URL" && "$CI_JOB_STAGE" == "target_test" ]]; then
echo "Using custom OpenOCD from ${OOCD_DISTRO_URL}"
wget $OOCD_DISTRO_URL
ARCH_NAME=$(basename $OOCD_DISTRO_URL)
tar -x -f $ARCH_NAME
export OPENOCD_SCRIPTS=$PWD/openocd-esp32/share/openocd/scripts
export PATH=$PWD/openocd-esp32/bin:$PATH
fi
fi
before_script:
- source tools/ci/utils.sh
- is_based_on_commits $REQUIRED_ANCESTOR_COMMITS
- source tools/ci/setup_python.sh
- add_gitlab_ssh_keys
- source tools/ci/configure_ci_environment.sh
- *setup_tools_unless_target_test
- fetch_submodules
# used for check scripts which we want to run unconditionally
.before_script_no_sync_submodule:
before_script:
- echo "Not setting up GitLab key, not fetching submodules"
- source tools/ci/utils.sh
- is_based_on_commits $REQUIRED_ANCESTOR_COMMITS
- source tools/ci/setup_python.sh
- source tools/ci/configure_ci_environment.sh
.before_script_minimal:
before_script:
- echo "Only load utils.sh"
- source tools/ci/utils.sh
- is_based_on_commits $REQUIRED_ANCESTOR_COMMITS
.before_script_macos:
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
# This adds tools (compilers) and the version-specific Python environment to PATH
- *setup_tools_unless_target_test
# Install packages required by CI scripts into IDF Python environment
- pip install -r $IDF_PATH/tools/ci/python_packages/ttfw_idf/requirements.txt
- source tools/ci/configure_ci_environment.sh
# Part of tools/ci/setup_python.sh; we don't use pyenv on macOS, so can't run the rest of the script.
- export PYTHONPATH="$IDF_PATH/tools:$IDF_PATH/tools/ci/python_packages:$PYTHONPATH"
- fetch_submodules
default:
retry:
max: 2
# In case of a runner failure we could hop to another one, or a network error could go away.
when: runner_system_failure
include:
- '.gitlab/ci/danger.yml'
- '.gitlab/ci/common.yml'
- '.gitlab/ci/rules.yml'
- '.gitlab/ci/upload_cache.yml'
- '.gitlab/ci/docs.yml'
- '.gitlab/ci/static-code-analysis.yml'
- '.gitlab/ci/pre_commit.yml'
- '.gitlab/ci/pre_check.yml'
- '.gitlab/ci/build.yml'
- '.gitlab/ci/assign-test.yml'
- '.gitlab/ci/integration_test.yml'
- '.gitlab/ci/host-test.yml'
- '.gitlab/ci/target-test.yml'
- '.gitlab/ci/deploy.yml'
- '.gitlab/ci/post_deploy.yml'
- '.gitlab/ci/retry_failed_jobs.yml'
- '.gitlab/ci/test-win.yml'

View File

@@ -19,16 +19,6 @@
- [Functions](#functions)
- [CI Job Related](#ci-job-related)
- [Shell Script Related](#shell-script-related)
- [Manifest File to Control the Build/Test apps](#manifest-file-to-control-the-buildtest-apps)
- [Grammar](#grammar)
- [Special Rules](#special-rules)
- [Upload/Download Artifacts to Internal Minio Server](#uploaddownload-artifacts-to-internal-minio-server)
- [Users Without Access to Minio](#users-without-access-to-minio)
- [Users With Access to Minio](#users-with-access-to-minio)
- [Env Vars for Minio](#env-vars-for-minio)
- [Artifacts Types and File Patterns](#artifacts-types-and-file-patterns)
- [Upload](#upload)
- [Download](#download)
## General Workflow
@@ -55,7 +45,6 @@
- `custom_test[_esp32/esp32s2/...]`
- `docker`
- `docs`
- `docs_full`, triggers a full docs build, regardless of files changed
- `example_test[_esp32/esp32s2/...]`
- `fuzzer_test`
- `host_test`
@@ -65,11 +54,13 @@
- `macos_test`
- `nvs_coverage`
- `submodule`
- `unit_test[_esp32/esp32s2/...]`
- `weekend_test`
- `windows`
There are two general labels (not recommended since these two labels will trigger a lot of jobs)
- `target_test`: includes all target for `example_test`, `custom_test`, `component_ut`, `integration_test`
- `target_test`: includes all target for `example_test`, `custom_test`, `component_ut`, `unit_test`, `integration_test`
- `all_test`: includes all test labels
### How to trigger a `detached` pipeline without pushing new commits?
@@ -117,7 +108,7 @@ curl -X POST --header "PRIVATE-TOKEN: [YOUR PERSONAL ACCESS TOKEN]" [GITLAB_SERV
```yaml
check_docs_lang_sync:
extends:
- .pre_check_template
- .pre_check_job_template
- .rules:build:docs
script:
- cd docs
@@ -145,11 +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:patterns:clang_tidy:
.rules:patterns:python-files:
rules:
- <<: *if-protected
- <<: *if-dev-push
changes: *patterns-c-files
changes: *patterns-python-files
```
2. if there isn't
@@ -198,7 +189,7 @@ if a name has multi phrases, use `-` to concatenate them.
- `target_test`
a combination of `example_test`, `custom_test`, `component_ut`, `integration_test` and all targets
a combination of `example_test`, `custom_test`, `unit_test`, `component_ut`, `integration_test` and all targets
#### `rules` Template Naming Rules
@@ -233,93 +224,3 @@ To run these commands in shell script locally, place `source tools/ci/utils.sh`
- `info`: log in green color
- `run_cmd`: run the command with duration seconds info
- `retry_failed`: run the command with duration seconds info, retry when failed
## Manifest File to Control the Build/Test apps
`.build-test-rules.yml` file is a manifest file to control if the CI is running the build and test job or not. The Supported Targets table in `README.md` for apps would be auto-generated by `pre-commit` from the app's `.build-test-rules.yml`.
### Grammar
We're using the latest version of [idf-build-apps][idf-build-apps]. Please refer to their [documentation][manifest-doc]
[idf-build-apps]: https://github.com/espressif/idf-build-apps
[manifest-doc]: https://docs.espressif.com/projects/idf-build-apps/en/latest/manifest.html
### Special Rules
In ESP-IDF CI, there's a few more special rules are additionally supported to disable the check app dependencies feature:
- Add MR labels `BUILD_AND_TEST_ALL_APPS`
- Run in protected branches
## Upload/Download Artifacts to Internal Minio Server
### Users Without Access to Minio
If you don't have access to the internal Minio server, you can still download the artifacts from the shared link in the job log.
The log will look like this:
```shell
Pipeline ID : 587355
Job name : build_clang_test_apps_esp32
Job ID : 40272275
Created archive file: 40272275.zip, uploading as 587355/build_dir_without_map_and_elf_files/build_clang_test_apps_esp32/40272275.zip
Please download the archive file includes build_dir_without_map_and_elf_files from [INTERNAL_URL]
```
### Users With Access to Minio
#### Env Vars for Minio
Minio takes these env vars to connect to the server:
- `IDF_S3_SERVER`
- `IDF_S3_ACCESS_KEY`
- `IDF_S3_SECRET_KEY`
- `IDF_S3_BUCKET`
#### Artifacts Types and File Patterns
The artifacts types and corresponding file patterns are defined in tools/ci/artifacts_handler.py, inside `ArtifactType` and `TYPE_PATTERNS_DICT`.
#### Upload
```shell
python tools/ci/artifacts_handler.py upload
```
will upload the files that match the file patterns to minio object storage with name:
`<pipeline_id>/<artifact_type>/<job_name>/<job_id>.zip`
For example, job 39043328 will upload these four files:
- `575500/map_and_elf_files/build_pytest_examples_esp32/39043328.zip`
- `575500/build_dir_without_map_and_elf_files/build_pytest_examples_esp32/39043328.zip`
- `575500/logs/build_pytest_examples_esp32/39043328.zip`
- `575500/size_reports/build_pytest_examples_esp32/39043328.zip`
#### Download
You may run
```shell
python tools/ci/artifacts_handler.py download --pipeline_id <pipeline_id>
```
to download all files of the pipeline, or
```shell
python tools/ci/artifacts_handler.py download --pipeline_id <pipeline_id> --job_name <job_name_or_pattern>
```
to download all files with the specified job name or pattern, or
```shell
python tools/ci/artifacts_handler.py download --pipeline_id <pipeline_id> --job_name <job_name_or_pattern> --type <artifact_type> <artifact_type> ...
```
to download all files with the specified job name or pattern and artifact type(s).
You may check all detailed documentation with `python tools/ci/artifacts_handler.py download -h`

105
.gitlab/ci/assign-test.yml Normal file
View File

@@ -0,0 +1,105 @@
.assign_test_template:
image: $CI_DOCKER_REGISTRY/ubuntu-test-env$BOT_DOCKER_IMAGE_TAG
stage: assign_test
tags:
- assign_test
variables:
SUBMODULES_TO_FETCH: components/esptool_py/esptool
artifacts:
paths:
- ${TEST_DIR}/test_configs
- ${BUILD_DIR}/artifact_index.json
when: always
expire_in: 1 week
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_example_test:
extends:
- .assign_test_template
- .rules:build:example_test
needs:
- job: build_examples_cmake_esp32
artifacts: false
optional: true
- job: build_examples_cmake_esp32s2
artifacts: false
optional: true
- job: build_examples_cmake_esp32c3
artifacts: false
optional: true
- job: build_examples_cmake_esp32s3
artifacts: false
optional: true
variables:
TEST_TYPE: example_test
TEST_DIR: ${CI_PROJECT_DIR}/examples
BUILD_DIR: ${CI_PROJECT_DIR}/build_examples
assign_custom_test:
extends:
- .assign_test_template
- .rules:build:custom_test
needs:
- job: build_test_apps_esp32
artifacts: false
optional: true
- job: build_test_apps_esp32s2
artifacts: false
optional: true
- job: build_test_apps_esp32c3
artifacts: false
optional: true
- job: build_test_apps_esp32s3
artifacts: false
optional: true
variables:
TEST_TYPE: custom_test
TEST_DIR: ${CI_PROJECT_DIR}/tools/test_apps
BUILD_DIR: ${CI_PROJECT_DIR}/build_test_apps
assign_component_ut:
extends:
- .assign_test_template
- .rules:build:component_ut
needs:
- job: build_component_ut_esp32
artifacts: false
optional: true
- job: build_component_ut_esp32s2
artifacts: false
optional: true
- job: build_component_ut_esp32c3
artifacts: false
optional: true
- job: build_component_ut_esp32s3
artifacts: false
optional: true
variables:
TEST_TYPE: component_ut
TEST_DIR: ${CI_PROJECT_DIR}/component_ut
BUILD_DIR: ${CI_PROJECT_DIR}/build_component_ut
script:
# COMPONENT_UT_DIRS is set by `set_component_ut_vars` in `utils.sh`
- set_component_ut_vars
- python tools/ci/python_packages/ttfw_idf/IDFAssignTest.py $TEST_TYPE $COMPONENT_UT_DIRS -c $CI_TARGET_TEST_CONFIG_FILE -o $TEST_DIR/test_configs
assign_unit_test:
extends:
- .assign_test_template
- .rules:build:unit_test
needs:
- job: build_esp_idf_tests_cmake_esp32
optional: true
- job: build_esp_idf_tests_cmake_esp32s2
optional: true
- job: build_esp_idf_tests_cmake_esp32c3
optional: true
- job: build_esp_idf_tests_cmake_esp32s3
optional: true
variables:
TEST_TYPE: unit_test
TEST_DIR: ${CI_PROJECT_DIR}/components/idf_test/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

View File

@@ -1,76 +1,32 @@
.build_template:
stage: build
extends:
- .after_script:build:ccache-show-stats:upload-failed-job-logs
image: $ESP_ENV_IMAGE
tags:
- build
# build only on shiny servers since shiny storage server is at the same location
- shiny
variables:
SIZE_INFO_LOCATION: "$CI_PROJECT_DIR/size_info.txt"
# Enable ccache for all build jobs. See configure_ci_environment.sh for more ccache related settings.
IDF_CCACHE_ENABLE: "1"
after_script:
# Show ccache statistics if enabled globally
- test "$CI_CCACHE_STATS" == 1 && test -n "$(which ccache)" && ccache --show-stats || true
dependencies: []
.build_cmake_clang_template:
extends:
- .build_template
- .before_script:build
- .after_script:build:ccache-show-stats
dependencies: # set dependencies to null to avoid missing artifacts issue
needs:
- job: fast_template_app
artifacts: false
- pipeline_variables
artifacts:
paths:
# The other artifacts patterns are defined under tools/ci/artifacts_handler.py
# Now we're uploading/downloading the binary files from our internal storage server
#
# keep the log file to help debug
- "**/build*/build_log.txt"
# keep the size info to help track the binary size
- size_info.txt
- "**/build*/size.json"
expire_in: 1 week
when: always
variables:
IDF_TOOLCHAIN: clang
TEST_BUILD_OPTS_EXTRA: ""
TEST_DIR: tools/test_apps/system/clang_build_test
PYTEST_IGNORE_COLLECT_IMPORT_ERROR: "1"
script:
# CI specific options start from "--parallel-count xxx". could ignore when running locally
- run_cmd python tools/ci/ci_build_apps.py $TEST_DIR -v
-t $IDF_TARGET
--copy-sdkconfig
--parallel-count ${CI_NODE_TOTAL:-1}
--parallel-index ${CI_NODE_INDEX:-1}
--modified-components ${MR_MODIFIED_COMPONENTS}
--modified-files ${MR_MODIFIED_FILES}
$TEST_BUILD_OPTS_EXTRA
- python tools/ci/artifacts_handler.py upload
######################
# build_template_app #
######################
.build_template_app_template:
extends:
- .build_template
- .before_script:build
extends: .build_template
variables:
LOG_PATH: "${CI_PROJECT_DIR}/log_template_app"
BUILD_PATH: "${CI_PROJECT_DIR}/build_template_app"
BUILD_DIR: "${BUILD_PATH}/@t/@w"
BUILD_DIR: "@t/@w"
BUILD_LOG_MAKE: "${LOG_PATH}/make_@t_@w.txt"
BUILD_LOG_CMAKE: "${LOG_PATH}/cmake_@t_@w.txt"
BUILD_COMMAND_ARGS: ""
artifacts:
when: always
paths:
- log_template_app/*
- size_info.txt
- build_template_app/**/size.json
expire_in: 1 week
when: always
script:
# Set the variable for 'esp-idf-template' testing
- ESP_IDF_TEMPLATE_GIT=${ESP_IDF_TEMPLATE_GIT:-"https://github.com/espressif/esp-idf-template.git"}
@@ -79,6 +35,8 @@
# using on esp-idf. If it doesn't exist then just stick to the default branch
- python $CHECKOUT_REF_SCRIPT esp-idf-template esp-idf-template
- export PATH="$IDF_PATH/tools:$PATH"
- export EXTRA_CFLAGS=${PEDANTIC_CFLAGS}
- export EXTRA_CXXFLAGS=${PEDANTIC_CXXFLAGS}
# Only do the default cmake build for each target, remaining part are done in the build_template_app job
- tools/ci/build_template_app.sh ${BUILD_COMMAND_ARGS}
@@ -89,158 +47,291 @@ fast_template_app:
- .build_template_app_template
- .rules:build:target_test
stage: pre_check
tags: [fast_run, shiny]
variables:
BUILD_COMMAND_ARGS: "-p"
#------------------------------------------------------------------------------
#######################
# gnu_static_analyzer #
#######################
gcc_static_analyzer:
extends:
- .build_template_app_template
- .rules:build:target_test
stage: pre_check
tags: [build, shiny]
.build_esp_idf_tests_cmake_template:
extends: .build_template
dependencies: # set dependencies to null to avoid missing artifacts issue
needs:
- job: fast_template_app
artifacts: false
- scan_tests
artifacts:
paths:
- tools/unit-test-app/output/${IDF_TARGET}
- tools/unit-test-app/builds/*.json
- tools/unit-test-app/builds/${IDF_TARGET}/*/size.json
- components/idf_test/unit_test/*.yml
- $LOG_PATH
- $SIZE_INFO_LOCATION
when: always
expire_in: 4 days
variables:
CI_CCACHE_DISABLE: 1
ANALYZING_APP: "examples/get-started/hello_world"
LOG_PATH: "$CI_PROJECT_DIR/log_ut_cmake"
BUILD_PATH: ${CI_PROJECT_DIR}/tools/unit-test-app/builds
OUTPUT_PATH: ${CI_PROJECT_DIR}/tools/unit-test-app/output
BUILD_SYSTEM: "cmake"
TEST_TYPE: "unit_test"
PYTHON_VER: 3.6.13
LDGEN_CHECK_MAPPING: 1
script:
- echo "CONFIG_COMPILER_STATIC_ANALYZER=y" >> ${ANALYZING_APP}/sdkconfig.defaults
- python -m idf_build_apps build -v -p ${ANALYZING_APP} -t all
- ${IDF_PATH}/tools/ci/find_apps_build_apps.sh
- cd $CI_PROJECT_DIR/tools/unit-test-app
- python tools/UnitTestParser.py ${BUILD_PATH} ${CI_NODE_INDEX:-1}
########################################
# Clang Build Apps Without Tests Cases #
########################################
build_clang_test_apps_esp32:
build_esp_idf_tests_cmake_esp32:
extends:
- .build_cmake_clang_template
- .rules:build
- .build_esp_idf_tests_cmake_template
- .rules:build:unit_test-esp32
parallel: 2
variables:
IDF_TARGET: esp32
build_clang_test_apps_esp32s2:
build_esp_idf_tests_cmake_esp32s2:
extends:
- .build_cmake_clang_template
- .rules:build
- .build_esp_idf_tests_cmake_template
- .rules:build:unit_test-esp32s2
parallel: 2
variables:
IDF_TARGET: esp32s2
build_clang_test_apps_esp32s3:
build_esp_idf_tests_cmake_esp32s3:
extends:
- .build_cmake_clang_template
- .rules:build
- .build_esp_idf_tests_cmake_template
- .rules:build:unit_test-esp32s3
variables:
IDF_TARGET: esp32s3
.build_clang_test_apps_riscv:
build_esp_idf_tests_cmake_esp32c3:
extends:
- .build_cmake_clang_template
variables:
# https://reviews.llvm.org/D90108.
# GNU 'as' lets .weak override .globl since binutils-gdb
# https://github.com/bminor/binutils-gdb/commit/5ca547dc2399a0a5d9f20626d4bf5547c3ccfddd (1996)
# while MC lets the last directive win (PR38921).
# For RISCV chips we use integrated assembler by default, so suppress this warning to pass CI pipeline.
TEST_BUILD_OPTS_EXTRA: "--ignore-warning-str 'changed binding to STB_WEAK'"
build_clang_test_apps_esp32c3:
extends:
- .build_clang_test_apps_riscv
- .rules:build
- .build_esp_idf_tests_cmake_template
- .rules:build:unit_test-esp32c3
variables:
IDF_TARGET: esp32c3
build_clang_test_apps_esp32c2:
extends:
- .build_clang_test_apps_riscv
- .rules:build
.build_examples_template:
extends: .build_template
dependencies: # set dependencies to null to avoid missing artifacts issue
needs:
- job: fast_template_app
artifacts: false
- scan_tests
variables:
IDF_TARGET: esp32c2
TEST_PREFIX: examples
TEST_RELATIVE_DIR: examples
SCAN_TEST_JSON: ${CI_PROJECT_DIR}/${TEST_RELATIVE_DIR}/test_configs/scan_${IDF_TARGET}_${BUILD_SYSTEM}.json
TEST_TYPE: example_test
LOG_PATH: ${CI_PROJECT_DIR}/log_${TEST_PREFIX}
BUILD_PATH: ${CI_PROJECT_DIR}/build_${TEST_PREFIX}
PYTHON_VER: 3.6.13
LDGEN_CHECK_MAPPING: 1
script:
# it's not possible to build 100% out-of-tree and have the "artifacts"
# mechanism work, but this is the next best thing
- ${IDF_PATH}/tools/ci/find_apps_build_apps.sh
build_clang_test_apps_esp32c6:
build_examples_make:
extends:
- .build_clang_test_apps_riscv
- .rules:build
- .build_examples_template
- .rules:build:example_test-esp32
stage: host_test
# This is a workaround for a rarely encountered issue with building examples in CI.
# Probably related to building of Kconfig in 'make clean' stage
retry: 1
parallel: 8
artifacts:
paths:
- $LOG_PATH
- build_${TEST_PREFIX}/*/*/*/build/size.json
- $SIZE_INFO_LOCATION
when: always
expire_in: 4 days
variables:
IDF_TARGET: esp32c6
BUILD_SYSTEM: make
IDF_TARGET: esp32 # currently we only support esp32
build_clang_test_apps_esp32c5:
# same as above, but for CMake
.build_examples_cmake_template:
extends: .build_examples_template
artifacts:
paths:
- build_${TEST_PREFIX}/list.json
- build_${TEST_PREFIX}/list_job_*.json
- build_${TEST_PREFIX}/*/*/*/sdkconfig
- build_${TEST_PREFIX}/*/*/*/build/size.json
- build_${TEST_PREFIX}/*/*/*/build/*.bin
- build_${TEST_PREFIX}/*/*/*/build/*.elf
- build_${TEST_PREFIX}/*/*/*/build/*.map
- build_${TEST_PREFIX}/*/*/*/build/flasher_args.json
- build_${TEST_PREFIX}/*/*/*/build/bootloader/*.bin
- build_${TEST_PREFIX}/*/*/*/build/partition_table/*.bin
- $LOG_PATH
- $SIZE_INFO_LOCATION
when: always
expire_in: 4 days
variables:
BUILD_SYSTEM: cmake
build_examples_cmake_esp32:
extends:
- .build_clang_test_apps_riscv
- .rules:build
- .build_examples_cmake_template
- .rules:build:example_test-esp32
parallel: 10
variables:
IDF_TARGET: esp32c5
IDF_TARGET: esp32
build_clang_test_apps_esp32h2:
build_examples_cmake_esp32s2:
extends:
- .build_clang_test_apps_riscv
- .rules:build
- .build_examples_cmake_template
- .rules:build:example_test-esp32s2
parallel: 8
variables:
IDF_TARGET: esp32h2
IDF_TARGET: esp32s2
build_clang_test_apps_esp32p4:
build_examples_cmake_esp32s3:
extends:
- .build_clang_test_apps_riscv
- .rules:build
- .build_examples_cmake_template
- .rules:build:example_test-esp32s3
parallel: 8
variables:
IDF_TARGET: esp32p4
IDF_TARGET: esp32s3
build_examples_cmake_esp32c3:
extends:
- .build_examples_cmake_template
- .rules:build:example_test-esp32c3
parallel: 8
variables:
IDF_TARGET: esp32c3
.build_test_apps_template:
extends: .build_examples_cmake_template
variables:
TEST_PREFIX: test_apps
TEST_RELATIVE_DIR: tools/test_apps
TEST_TYPE: custom_test
script:
- ${IDF_PATH}/tools/ci/find_apps_build_apps.sh
build_test_apps_esp32:
extends:
- .build_test_apps_template
- .rules:build:custom_test-esp32
parallel: 8
variables:
IDF_TARGET: esp32
build_test_apps_esp32s2:
extends:
- .build_test_apps_template
- .rules:build:custom_test-esp32s2
parallel: 8
variables:
IDF_TARGET: esp32s2
build_test_apps_esp32s3:
extends:
- .build_test_apps_template
- .rules:build:custom_test-esp32s3
parallel: 8
variables:
IDF_TARGET: esp32s3
build_test_apps_esp32c3:
extends:
- .build_test_apps_template
- .rules:build:custom_test-esp32c3
parallel: 8
variables:
IDF_TARGET: esp32c3
.build_component_ut_template:
extends: .build_test_apps_template
variables:
TEST_PREFIX: component_ut
TEST_RELATIVE_DIR: component_ut
build_component_ut_esp32:
extends:
- .build_component_ut_template
- .rules:build:component_ut-esp32
variables:
IDF_TARGET: esp32
build_component_ut_esp32s2:
extends:
- .build_component_ut_template
- .rules:build:component_ut-esp32s2
variables:
IDF_TARGET: esp32s2
build_component_ut_esp32s3:
extends:
- .build_component_ut_template
- .rules:build:component_ut-esp32s3
variables:
IDF_TARGET: esp32s3
build_component_ut_esp32c3:
extends:
- .build_component_ut_template
- .rules:build:component_ut-esp32c3
variables:
IDF_TARGET: esp32c3
######################
# Build System Tests #
######################
.test_build_system_template:
stage: host_test
extends:
- .build_template
- .rules:build:check
dependencies: # set dependencies to null to avoid missing artifacts issue
- .rules:build
needs:
- job: fast_template_app
artifacts: false
optional: true
artifacts:
reports:
junit: XUNIT_RESULT.xml
paths:
- XUNIT_RESULT.xml
- test_build_system
expire_in: 1 week
when: always
script:
- ${IDF_PATH}/tools/ci/test_configure_ci_environment.sh
- cd ${IDF_PATH}/tools/test_build_system
- python ${IDF_PATH}/tools/ci/get_known_failure_cases_file.py
- pytest
--cleanup-idf-copy
--parallel-count ${CI_NODE_TOTAL:-1}
--parallel-index ${CI_NODE_INDEX:-1}
--work-dir ${CI_PROJECT_DIR}/test_build_system
--junitxml ${CI_PROJECT_DIR}/XUNIT_RESULT.xml
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
- rm -rf test_build_system
- mkdir test_build_system
- cd test_build_system
- ${IDF_PATH}/tools/ci/${SHELL_TEST_SCRIPT}
pytest_build_system:
test_build_system:
extends: .test_build_system_template
parallel: 3
pytest_build_system_macos:
extends:
- .test_build_system_template
- .before_script:build:macos
- .after_script:build:macos:upload-failed-job-logs:ccache-show-stats
- .rules:build:macos
tags:
- macos_shell
parallel: 3
variables:
PYENV_VERSION: "3.9"
# CCACHE_DIR: "/cache/idf_ccache". On macOS, you cannot write to this folder due to insufficient permissions.
CCACHE_DIR: "" # ccache will use "$HOME/Library/Caches/ccache".
CCACHE_MAXSIZE: "5G" # To preserve the limited Macbook storage. CCACHE automatically prunes old caches to fit the set limit.
SHELL_TEST_SCRIPT: test_build_system.sh
test_build_system_cmake:
extends: .test_build_system_template
variables:
SHELL_TEST_SCRIPT: test_build_system_cmake.sh
#test_build_system_cmake_macos:
# extends:
# - .test_build_system_template
# - .before_script_macos
# - .rules:build:macos
# tags:
# - macos_shell
# variables:
# SHELL_TEST_SCRIPT: test_build_system_cmake.sh
# script:
# - ${IDF_PATH}/tools/ci/test_configure_ci_environment.sh
# - rm -rf test_build_system
# - mkdir test_build_system
# - cd test_build_system
# # copy-paste the script from .test_build_system_template
# # since `ESP_IDF_TEMPLATE_GIT` is a group variable and has higher precedence than job variable
# # export here to override the group variable
# #
# # Clone the template app from github for macos runners
# - export ESP_IDF_TEMPLATE_GIT="https://github.com/espressif/esp-idf-template.git"
# - ${IDF_PATH}/tools/ci/${SHELL_TEST_SCRIPT}
build_docker:
extends:
- .before_script:minimal
- .before_script_minimal
- .rules:build:docker
stage: host_test
needs: []
@@ -268,57 +359,6 @@ build_template_app:
- .build_template_app_template
- .rules:build
stage: host_test
dependencies: # set dependencies to null to avoid missing artifacts issue
needs:
- job: fast_template_app
artifacts: false
####################
# Dynamic Pipeline #
####################
generate_build_child_pipeline:
extends:
- .build_template
tags: [fast_run, shiny]
dependencies: # set dependencies to null to avoid missing artifacts issue
needs:
- pipeline_variables
- job: baseline_manifest_sha
optional: true
artifacts:
paths:
- build_child_pipeline.yml
- test_related_apps.txt
- non_test_related_apps.txt
expire_in: 1 week
when: always
variables:
PYTEST_IGNORE_COLLECT_IMPORT_ERROR: "1"
script:
# requires basic pytest dependencies
- run_cmd bash install.sh --enable-pytest
- run_cmd python tools/ci/dynamic_pipelines/scripts/generate_build_child_pipeline.py
build_child_pipeline:
stage: build
needs:
- job: fast_template_app
optional: true
artifacts: false
- pipeline_variables
- generate_build_child_pipeline
variables:
IS_MR_PIPELINE: $IS_MR_PIPELINE
MR_MODIFIED_COMPONENTS: $MR_MODIFIED_COMPONENTS
MR_MODIFIED_FILES: $MR_MODIFIED_FILES
PARENT_PIPELINE_ID: $CI_PIPELINE_ID
BUILD_AND_TEST_ALL_APPS: $BUILD_AND_TEST_ALL_APPS
REPORT_EXIT_CODE: $REPORT_EXIT_CODE
# https://gitlab.com/gitlab-org/gitlab/-/issues/214340
inherit:
variables: false
trigger:
include:
- artifact: build_child_pipeline.yml
job: generate_build_child_pipeline
strategy: depend

View File

@@ -1,413 +0,0 @@
#####################
# Default Variables #
#####################
stages:
- upload_cache
- pre_check
- build
- assign_test
- build_doc
- target_test
- host_test
- test_deploy
- deploy
- post_deploy
- retry_failed_jobs
variables:
# System environment
# Common parameters for the 'make' during CI tests
MAKEFLAGS: "-j5 --no-keep-going"
# GitLab-CI environment
# Thanks to pack-objects cache, clone strategy should behave faster than fetch
# so we pick "clone" as default git strategy
# Shiny runners by default remove the CI_PROJECT_DIR every time at the beginning of one job
# and clone with a --depth=1
# Brew runners will fetch from locally mirror first, and cache the local CI_PROJECT_DIR
# In conclusion
# - set GIT_STRATEGY: "clone" to shiny runners
# - set GIT_STRATEGY: "fetch" to brew runners
GIT_STRATEGY: clone
# we will download archive for each submodule instead of clone.
# we don't do "recursive" when fetch submodule as they're not used in CI now.
GIT_SUBMODULE_STRATEGY: none
# since we're using merged-result pipelines, the last commit should work for most cases
GIT_DEPTH: 1
# --no-recurse-submodules: we use cache for submodules
# --prune --prune-tags: in case remote branch or tag is force pushed
GIT_FETCH_EXTRA_FLAGS: "--no-recurse-submodules --prune --prune-tags"
# we're using .cache folder for caches
GIT_CLEAN_FLAGS: -ffdx -e .cache/
LATEST_GIT_TAG: v5.5
SUBMODULE_FETCH_TOOL: "tools/ci/ci_fetch_submodule.py"
# by default we will fetch all submodules
# jobs can overwrite this variable to only fetch submodules they required
# set to "none" if don't need to fetch submodules
SUBMODULES_TO_FETCH: "all"
# tell build system do not check submodule update as we download archive instead of clone
IDF_SKIP_CHECK_SUBMODULES: 1
IDF_PATH: "$CI_PROJECT_DIR"
V: "0"
CHECKOUT_REF_SCRIPT: "$CI_PROJECT_DIR/tools/ci/checkout_project_ref.py"
# Docker images
ESP_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/esp-env-v5.5:3"
ESP_IDF_DOC_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/esp-idf-doc-env-v5.5:3-1"
TARGET_TEST_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/target-test-env-v5.5:2"
SONARQUBE_SCANNER_IMAGE: "${CI_DOCKER_REGISTRY}/sonarqube-scanner:5"
PRE_COMMIT_IMAGE: "${CI_DOCKER_REGISTRY}/esp-idf-pre-commit:1"
# cache python dependencies
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
# Set this variable to the branch of idf-constraints repo in order to test a custom Python constraint file. The
# branch name must be without the remote part ("origin/"). Keep the variable empty in order to use the constraint
# file from https://dl.espressif.com/dl/esp-idf.
CI_PYTHON_CONSTRAINT_BRANCH: ""
# Update the filename for a specific ESP-IDF release. It is used only with CI_PYTHON_CONSTRAINT_BRANCH.
CI_PYTHON_CONSTRAINT_FILE: "espidf.constraints.v5.5.txt"
# Set this variable to repository name of a Python tool you wish to install and test in the context of ESP-IDF CI.
# Keep the variable empty when not used.
CI_PYTHON_TOOL_REPO: ""
# Set this variable to the branch of a Python tool repo specified in CI_PYTHON_TOOL_REPO. The
# branch name must be without the remote part ("origin/"). Keep the variable empty when not used.
# This is used only if CI_PYTHON_TOOL_REPO is not empty.
CI_PYTHON_TOOL_BRANCH: ""
# Set this variable to Clang toolchain distro URL to be used.
# NOTE: We have separate toolchains for Xtensa and RISCV, therefore jobs for one arch will fail.
# This is OK as far as we use CI_CLANG_DISTRO_URL for pre-release tests purposes only.
# Keep the variable empty when not used.
CI_CLANG_DISTRO_URL: ""
# Set this variable to specify the file name for the known failure cases.
KNOWN_FAILURE_CASES_FILE_NAME: "master.txt"
IDF_CI_BUILD: 1
# ccache settings
# some settings need to set in .gitlab-ci.yml as it takes effect while start-up the job
# https://ccache.dev/manual/latest.html#_configuring_ccache
# host mapping volume to share ccache between runner concurrent jobs
CCACHE_DIR: "/cache/idf_ccache"
CCACHE_MAXSIZE: "50G"
FF_USE_NEW_BASH_EVAL_STRATEGY: "true"
################################################
# `before_script` and `after_script` Templates #
################################################
.common_before_scripts: &common-before_scripts |
source tools/ci/utils.sh
is_based_on_commits $REQUIRED_ANCESTOR_COMMITS
if [[ -n "$IDF_DONT_USE_MIRRORS" ]]; then
export IDF_MIRROR_PREFIX_MAP=
fi
if echo "$CI_MERGE_REQUEST_LABELS" | egrep "(^|,)include_nightly_run(,|$)"; then
export INCLUDE_NIGHTLY_RUN="1"
export NIGHTLY_RUN="1"
fi
# configure cmake related flags
source tools/ci/configure_ci_environment.sh
# add extra python packages
export PYTHONPATH="$IDF_PATH/tools:$IDF_PATH/tools/esp_app_trace:$IDF_PATH/components/partition_table:$IDF_PATH/tools/ci/python_packages:$PYTHONPATH"
.setup_tools_and_idf_python_venv: &setup_tools_and_idf_python_venv |
# must use after setup_tools_except_target_test
# otherwise the export.sh won't work properly
# download constraint file for dev
if [[ -n "$CI_PYTHON_CONSTRAINT_BRANCH" ]]; then
wget -O /tmp/constraint.txt --header="Authorization:Bearer ${ESPCI_TOKEN}" ${GITLAB_HTTP_SERVER}/api/v4/projects/2581/repository/files/${CI_PYTHON_CONSTRAINT_FILE}/raw?ref=${CI_PYTHON_CONSTRAINT_BRANCH}
mkdir -p ~/.espressif
mv /tmp/constraint.txt ~/.espressif/${CI_PYTHON_CONSTRAINT_FILE}
fi
# Mirror
if [[ -n "$IDF_DONT_USE_MIRRORS" ]]; then
export IDF_MIRROR_PREFIX_MAP=
fi
if [[ "${CI_JOB_STAGE}" != "target_test" ]]; then
section_start "running_install_sh" "Running install.sh"
if [[ "${CI_JOB_STAGE}" == "build_doc" ]]; then
run_cmd bash install.sh --enable-ci --enable-docs
elif [[ "${CI_JOB_STAGE}" == "build" ]]; then
run_cmd bash install.sh --enable-ci
else
if ! echo "${CI_JOB_NAME}" | egrep ".*pytest.*"; then
run_cmd bash install.sh --enable-ci
else
run_cmd bash install.sh --enable-ci --enable-pytest --enable-test-specific
fi
fi
section_end "running_install_sh"
else
section_start "install_python_env" "Install Python environment"
run_cmd python tools/idf_tools.py install-python-env --features ci,pytest,test-specific
section_end "install_python_env"
fi
if [[ ! -z "$INSTALL_EXTRA_TOOLS" ]]; then
section_start "installing_optional_tools" "Install optional tools ${INSTALL_EXTRA_TOOLS}"
$IDF_PATH/tools/idf_tools.py --non-interactive install $INSTALL_EXTRA_TOOLS
section_end "installing_optional_tools"
fi
# Install esp-clang if necessary (esp-clang is separately installed)
if [[ "$IDF_TOOLCHAIN" == "clang" && -z "$CI_CLANG_DISTRO_URL" ]]; then
$IDF_PATH/tools/idf_tools.py --non-interactive install esp-clang
fi
if [[ "${CI_JOB_STAGE}" == "target_test" ]]; then
section_start "IDF_SKIP_TOOLS_CHECK" "Skip required tools check"
export IDF_SKIP_TOOLS_CHECK=1
section_end "IDF_SKIP_TOOLS_CHECK"
fi
section_start "source_export" "Source export.sh"
source ./export.sh
section_end "source_export"
# Custom clang toolchain
if [[ "$IDF_TOOLCHAIN" == "clang" && ! -z "$CI_CLANG_DISTRO_URL" ]]; then
echo "Using custom clang from ${CI_CLANG_DISTRO_URL}"
wget $CI_CLANG_DISTRO_URL
ARCH_NAME=$(basename $CI_CLANG_DISTRO_URL)
tar -x -f $ARCH_NAME
export PATH=$PWD/esp-clang/bin:$PATH
fi
# Custom OpenOCD
if [[ "$CI_JOB_STAGE" == "target_test" ]]; then
machine="$(uname -m)"
if [[ "$machine" == "armv7l" ]] ; then
OOCD_DISTRO_URL="$OOCD_DISTRO_URL_ARMHF"
elif [[ "$machine" == "aarch64" ]] ; then
OOCD_DISTRO_URL="$OOCD_DISTRO_URL_ARM64"
fi
if [[ ! -z "$OOCD_DISTRO_URL" ]]; then
echo "Using custom OpenOCD from ${OOCD_DISTRO_URL}"
wget $OOCD_DISTRO_URL
ARCH_NAME=$(basename $OOCD_DISTRO_URL)
tar -x -f $ARCH_NAME
export OPENOCD_SCRIPTS=$PWD/openocd-esp32/share/openocd/scripts
export PATH=$PWD/openocd-esp32/bin:$PATH
fi
fi
if [[ -n "$CI_PYTHON_TOOL_REPO" ]]; then
git clone --quiet --depth=1 -b ${CI_PYTHON_TOOL_BRANCH} https://gitlab-ci-token:${ESPCI_TOKEN}@${GITLAB_HTTPS_HOST}/espressif/${CI_PYTHON_TOOL_REPO}.git
pip install ./${CI_PYTHON_TOOL_REPO}
rm -rf ${CI_PYTHON_TOOL_REPO}
fi
info "setup tools and python venv done"
.show_ccache_statistics: &show_ccache_statistics |
# Show ccache statistics if enabled globally
test "$CI_CCACHE_STATS" == 1 && test -n "$(which ccache)" && ccache --show-stats -vv || true
.upload_failed_job_log_artifacts: &upload_failed_job_log_artifacts |
if [ $CI_JOB_STATUS = "failed" ]; then
python tools/ci/artifacts_handler.py upload --type logs
fi
.before_script:minimal:
before_script:
- *common-before_scripts
.before_script:build:macos:
before_script:
# macos is running shell executor, which means it would use
# the system installed /usr/local/bin/python3 by default.
# Ensure pyenv and PYENV_VERSION installed
- eval "$(pyenv init -)"
- *common-before_scripts
# On macOS, these tools need to be installed
- export IDF_TOOLS_PATH="${HOME}/.espressif_runner_${CI_RUNNER_ID}_${CI_CONCURRENT_ID}"
# remove idf-env.json, since it may contains enabled "features"
- rm -f $IDF_TOOLS_PATH/idf-env.json
# This adds tools (compilers) and the version-specific Python environment to PATH
- *setup_tools_and_idf_python_venv
- fetch_submodules
variables:
INSTALL_EXTRA_TOOLS: cmake ninja
.after_script:build:macos:upload-failed-job-logs:ccache-show-stats:
after_script:
# macos is running shell executor, which means it would use
# the system installed /usr/local/bin/python3 by default.
# Ensure pyenv and PYENV_VERSION installed
- eval "$(pyenv init -)"
- *upload_failed_job_log_artifacts
- *show_ccache_statistics
.before_script:build:
before_script:
- *common-before_scripts
- *setup_tools_and_idf_python_venv
- add_gitlab_ssh_keys
- fetch_submodules
- export EXTRA_CFLAGS=${PEDANTIC_CFLAGS}
- export EXTRA_CXXFLAGS=${PEDANTIC_CXXFLAGS}
.after_script:build:ccache-show-stats:
after_script:
- *show_ccache_statistics
.after_script:build:ccache-show-stats:upload-failed-job-logs:
after_script:
- *show_ccache_statistics
- *upload_failed_job_log_artifacts
##############################
# Git Strategy Job Templates #
##############################
.git_init: &git_init |
mkdir -p "${CI_PROJECT_DIR}"
cd "${CI_PROJECT_DIR}"
git init
.git_fetch_from_mirror_url_if_exists: &git_fetch_from_mirror_url_if_exists |
# check if set mirror
if [ -n "${LOCAL_GITLAB_HTTPS_HOST:-}" ] && [ -n "${ESPCI_TOKEN:-}" ]; then
MIRROR_REPO_URL="https://bot:${ESPCI_TOKEN}@${LOCAL_GITLAB_HTTPS_HOST}/${CI_PROJECT_PATH}"
elif [ -n "${LOCAL_GIT_MIRROR:-}" ]; then
MIRROR_REPO_URL="${LOCAL_GIT_MIRROR}/${CI_PROJECT_PATH}"
fi
# fetch from mirror first if set
if [ -n "${MIRROR_REPO_URL:-}" ]; then
if git remote -v | grep origin; then
git remote set-url origin "${MIRROR_REPO_URL}"
else
git remote add origin "${MIRROR_REPO_URL}"
fi
# mirror url may fail with authentication issue
git fetch origin --no-recurse-submodules || true
fi
# set remote url to CI_REPOSITORY_URL
if git remote -v | grep origin; then
git remote set-url origin "${CI_REPOSITORY_URL}"
else
git remote add origin "${CI_REPOSITORY_URL}"
fi
.git_checkout_ci_commit_sha: &git_checkout_ci_commit_sha |
git checkout $CI_COMMIT_SHA
git clean ${GIT_CLEAN_FLAGS}
# git diff requires two commits, with different CI env var
#
# By default, we use git strategy "clone" with depth 1 to speed up the clone process.
# But for jobs requires running `git diff`, we need to fetch more commits to get the correct diffs.
#
# Since there's no way to get the correct git_depth before the job starts,
# we can't set `GIT_DEPTH` in the job definition.
#
# Set git strategy to "none" and fetch manually instead.
.before_script:fetch:git_diff:
variables:
GIT_STRATEGY: none
before_script:
- *git_init
- *git_fetch_from_mirror_url_if_exists
- |
# Store the diff output in a temporary file
TEMP_FILE=$(mktemp)
# merged results pipelines, by default
if [[ -n $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA ]]; then
git fetch origin $CI_MERGE_REQUEST_DIFF_BASE_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
git fetch origin $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
git diff --name-only $CI_MERGE_REQUEST_DIFF_BASE_SHA $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA > "$TEMP_FILE"
GIT_DIFF_OUTPUT=$(cat "$TEMP_FILE")
git fetch origin $CI_COMMIT_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
# merge request pipelines, when the mr got conflicts
elif [[ -n $CI_MERGE_REQUEST_DIFF_BASE_SHA ]]; then
git fetch origin $CI_MERGE_REQUEST_DIFF_BASE_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
git fetch origin $CI_COMMIT_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
git diff --name-only $CI_MERGE_REQUEST_DIFF_BASE_SHA $CI_COMMIT_SHA > "$TEMP_FILE"
GIT_DIFF_OUTPUT=$(cat "$TEMP_FILE")
# other pipelines, like the protected branches pipelines
elif [[ "$CI_COMMIT_BEFORE_SHA" != "0000000000000000000000000000000000000000" ]]; then
git fetch origin $CI_COMMIT_BEFORE_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
git fetch origin $CI_COMMIT_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
git diff --name-only $CI_COMMIT_BEFORE_SHA $CI_COMMIT_SHA > "$TEMP_FILE"
GIT_DIFF_OUTPUT=$(cat "$TEMP_FILE")
else
# pipeline source could be web, scheduler, etc.
git fetch origin $CI_COMMIT_SHA --depth=2 ${GIT_FETCH_EXTRA_FLAGS}
git diff --name-only $CI_COMMIT_SHA~1 $CI_COMMIT_SHA > "$TEMP_FILE"
GIT_DIFF_OUTPUT=$(cat "$TEMP_FILE")
fi
- *git_checkout_ci_commit_sha
- *common-before_scripts
- *setup_tools_and_idf_python_venv
- add_gitlab_ssh_keys
# target test runners may locate in different places
# for runners set git mirror, we fetch from the mirror first, then fetch the HEAD commit
.before_script:fetch:target_test:
variables:
GIT_STRATEGY: none
before_script:
- *git_init
- *git_fetch_from_mirror_url_if_exists
- git fetch origin "${CI_COMMIT_SHA}" --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
- *git_checkout_ci_commit_sha
- *common-before_scripts
- *setup_tools_and_idf_python_venv
- add_gitlab_ssh_keys
# no submodules
#############
# `default` #
#############
default:
cache:
# pull only for most of the use cases since it's cache dir.
# Only set "push" policy for "upload_cache" stage jobs
- key: pip-cache-${LATEST_GIT_TAG}
fallback_keys:
- pip-cache
paths:
- .cache/pip
policy: pull
- key: submodule-cache-${LATEST_GIT_TAG}
fallback_keys:
- submodule-cache
paths:
- .cache/submodule_archives
policy: pull
before_script:
- *common-before_scripts
- *setup_tools_and_idf_python_venv
- add_gitlab_ssh_keys
- fetch_submodules
# gitlab bug, setting them here doesn't work
# - expire_in: https://gitlab.com/gitlab-org/gitlab/-/issues/404563
# - when: https://gitlab.com/gitlab-org/gitlab/-/issues/440672
# artifacts:
# expire_in: 1 week
# when: always
retry:
max: 2
when:
# In case of a runner failure we could hop to another one, or a network error could go away.
- runner_system_failure
# Job execution timeout may be caused by a network issue.
- job_execution_timeout

View File

@@ -1,17 +0,0 @@
# External DangerJS
include:
- project: espressif/shared-ci-dangerjs
ref: master
file: danger.yaml
run-danger-mr-linter:
stage: pre_check
variables:
GIT_STRATEGY: none # no repo checkout
ENABLE_CHECK_AREA_LABELS: 'true'
ENABLE_CHECK_DOCS_TRANSLATION: 'true'
ENABLE_CHECK_UPDATED_CHANGELOG: 'false'
before_script: []
cache: []
tags:
- dangerjs

View File

@@ -1,25 +0,0 @@
# this file support two keywords:
# - extra_default_build_targets:
# besides of the SUPPORTED_TARGETS in IDF,
# enable build for the specified targets by default as well.
# - bypass_check_test_targets:
# suppress the check_build_test_rules check-test-script warnings for the specified targets
#
# This file should ONLY be used during bringup. Should be reset to empty after the bringup process
extra_default_build_targets:
- esp32c5
- esp32c61
- esp32h21
- esp32h4
bypass_check_test_targets:
- esp32h21
- esp32c61
- esp32h4
- esp32c5
#
# These lines would
# - enable the README.md check for esp32c6. Don't forget to add the build jobs in .gitlab/ci/build.yml
# - disable the test script check with the manifest file.
#

View File

@@ -97,4 +97,4 @@ There are a few extra dependencies while generating the dependency tree graph, p
### CLI usage
`python $IDF_PATH/tools/ci/generate_rules.py --graph OUTPUT_PATH`
`python generate_rules.py --graph OUTPUT_PATH`

View File

@@ -3,15 +3,11 @@
- esp32s2
- esp32s3
- esp32c3
- esp32c2
- esp32c6
- esp32c5
- esp32h2
- esp32p4
.target_test: &target_test
- example_test
- custom_test
- unit_test
- component_ut
##############
@@ -23,10 +19,8 @@
patterns:
- build_components
- build_system
- downloadable-tools
included_in:
- build:target_test
- build:check
# -------------------
# Specific Build Jobs
@@ -37,9 +31,14 @@
- docker
patterns:
- docker
- submodule
"build:windows":
labels:
- build
- windows
patterns:
- build_system
- downloadable-tools
- windows
"build:macos":
labels:
@@ -48,23 +47,62 @@
- macos_test # for backward compatibility
patterns:
- build_system
- build_macos
- downloadable-tools
- macos
# ---------------------------
# Add patterns to build rules
# ---------------------------
"patterns:template-app":
# ---------------
# Build Test Jobs
# ---------------
"build:{0}-{1}":
matrix:
- *target_test
- *all_targets
labels:
- build
patterns:
- build_template-app
- build_components
- build_system
included_in:
- "build:{0}"
- build:target_test
"patterns:build-check":
####################
# Target Test Jobs #
####################
"test:{0}-{1}":
matrix:
- *target_test
- *all_targets
labels: # For each rule, use labels <test_type> and <test_type>-<target>
- "{0}"
- "{0}_{1}"
- target_test
patterns: # For each rule, use patterns <test_type> and build-<test_type>
- "{0}"
- "build-{0}"
included_in: # Parent rules
- "build:{0}"
- "build:{0}-{1}"
- build:target_test
# -------------
# Special Cases
# -------------
"test:component_ut-{0}": # component_ut will trigger by unit_test as well, since now we have 2 kinds of UT
matrix:
- *all_targets
labels:
- component_ut
- "component_ut_{0}"
- unit_test
- "unit_test_{0}"
- target_test
patterns:
- build_check
- component_ut
- "build-component_ut-{0}"
included_in:
- build:check
- build:component_ut
- "build:component_ut-{0}"
- build:target_test
"test:host_test":
labels:
@@ -81,14 +119,27 @@
#################################
# Triggered Only By Labels Jobs #
#################################
"labels:iperf_stress_test": # example_test
labels:
- iperf_stress_test
included_in:
- build:example_test
- build:example_test-esp32
- build:target_test
"labels:weekend_test": # custom test
labels:
- weekend_test
included_in:
- build:custom_test
- build:custom_test-esp32
- build:target_test
"labels:nvs_coverage": # host_test
labels:
- nvs_coverage
"labels:windows_pytest_build_system":
"labels:fuzzer_test-weekend_test": # host test
labels:
- windows
specific_rules:
- if-schedule-test-build-system-windows
patterns:
- build_system
- fuzzer_test
- weekend_test

View File

@@ -1,7 +1,19 @@
#!/usr/bin/env python
#
# SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: Apache-2.0
# Copyright 2021 Espressif Systems (Shanghai) CO LTD
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import argparse
import inspect
import os
@@ -10,8 +22,6 @@ from collections import defaultdict
from itertools import product
import yaml
from idf_ci_utils import GitlabYmlConfig
from idf_ci_utils import IDF_PATH
try:
import pygraphviz as pgv
@@ -23,6 +33,8 @@ try:
except ImportError: # used for type hint
pass
IDF_PATH = os.path.abspath(os.getenv('IDF_PATH', os.path.join(os.path.dirname(__file__), '..', '..', '..')))
def _list(str_or_list): # type: (Union[str, list]) -> list
if isinstance(str_or_list, str):
@@ -76,12 +88,9 @@ class RulesWriter:
RULE_PROTECTED_NO_LABEL = ' - <<: *if-protected-no_label'
RULE_BUILD_ONLY = ' - <<: *if-label-build-only\n' \
' when: never'
RULE_REVERT_BRANCH = ' - <<: *if-revert-branch\n' \
' when: never'
RULE_LABEL_TEMPLATE = ' - <<: *if-label-{0}'
RULE_PATTERN_TEMPLATE = ' - <<: *if-dev-push\n' \
' changes: *patterns-{0}'
SPECIFIC_RULE_TEMPLATE = ' - <<: *{0}'
RULES_TEMPLATE = inspect.cleandoc(r"""
.rules:{0}:
rules:
@@ -99,7 +108,6 @@ class RulesWriter:
self.cfg = self.expand_matrices()
self.rules = self.expand_rules()
self.yml_config = GitlabYmlConfig()
self.graph = None
def expand_matrices(self): # type: () -> dict
@@ -157,8 +165,6 @@ class RulesWriter:
continue
if 'included_in' in v:
for item in _list(v['included_in']):
if 'specific_rules' in v:
res[item]['specific_rules'].update(_list(v['specific_rules']))
if 'labels' in v:
res[item]['labels'].update(_list(v['labels']))
if 'patterns' in v:
@@ -201,31 +207,19 @@ class RulesWriter:
def new_rules_str(self): # type: () -> str
res = []
for k, v in sorted(self.rules.items()):
if k.startswith('pattern'):
continue
if '.rules:' + k not in self.yml_config.used_templates:
print(f'WARNING: unused rule: {k}, skipping...')
continue
res.append(self.RULES_TEMPLATE.format(k, self._format_rule(k, v)))
return '\n\n'.join(res)
def _format_rule(self, name, cfg): # type: (str, dict) -> str
_rules = [self.RULE_REVERT_BRANCH]
_rules = []
if name.endswith('-production'):
_rules.append(self.RULE_PROTECTED_NO_LABEL)
else:
if not (name.endswith('-preview') or name.startswith('labels:')):
_rules.append(self.RULE_PROTECTED)
if name.startswith('test:'):
# Special case for esp32c3 example_test, for now it only run with label
if name.startswith('test:') or name == 'labels:example_test-esp32c3':
_rules.append(self.RULE_BUILD_ONLY)
for specific_rule in cfg['specific_rules']:
if f'.{specific_rule}' in self.rules_cfg:
_rules.append(self.SPECIFIC_RULE_TEMPLATE.format(specific_rule))
else:
print('WARNING: specific_rule {} not exists'.format(specific_rule))
for label in cfg['labels']:
_rules.append(self.RULE_LABEL_TEMPLATE.format(label))
for pattern in cfg['patterns']:

View File

@@ -1,19 +1,32 @@
.deploy_job_template:
extends: .before_script_no_sync_submodule
stage: deploy
image: $ESP_ENV_IMAGE
tags: [ deploy ]
tags:
- deploy
push_to_github:
extends:
- .deploy_job_template
- .before_script_minimal
- .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
# Check this before push_to_github
check_submodule_sync:
extends:
- .deploy_job_template
- .rules:test:submodule
stage: test_deploy
tags: [ brew, github_sync ]
tags:
- github_sync
retry: 2
variables:
# for brew runners, we always set GIT_STRATEGY to fetch
GIT_STRATEGY: fetch
GIT_STRATEGY: clone
SUBMODULES_TO_FETCH: "none"
PUBLIC_IDF_URL: "https://github.com/espressif/esp-idf.git"
dependencies: []
@@ -26,36 +39,3 @@ check_submodule_sync:
- git config --get-regexp '^submodule\..*\.url$' || true
- git submodule update --recursive
- echo "IDF was cloned from ${PUBLIC_IDF_URL} completely"
push_to_github:
extends:
- .deploy_job_template
- .before_script:minimal
- .rules:push_to_github
needs:
- check_submodule_sync
tags: [ brew, github_sync ]
variables:
# for brew runners, we always set GIT_STRATEGY to fetch
GIT_STRATEGY: fetch
# github also need full record of commits
GIT_DEPTH: 0
script:
- add_github_ssh_keys
- git remote remove github &>/dev/null || true
- git remote add github git@github.com:espressif/esp-idf.git
- tools/ci/push_to_github.sh
deploy_update_SHA_in_esp-dockerfiles:
extends:
- .deploy_job_template
- .before_script:minimal
- .rules:protected-no_label-always
dependencies: []
variables:
GIT_DEPTH: 2
tags: [ shiny, build ]
script:
- 'curl --header "PRIVATE-TOKEN: ${ESPCI_SCRIPTS_TOKEN}" -o create_MR_in_esp_dockerfile.sh $GITLAB_HTTP_SERVER/api/v4/projects/1260/repository/files/create_MR_in_esp_dockerfile%2Fcreate_MR_in_esp_dockerfile.sh/raw\?ref\=master'
- chmod +x create_MR_in_esp_dockerfile.sh
- ./create_MR_in_esp_dockerfile.sh

View File

@@ -1,20 +1,12 @@
.patterns-docs-full: &patterns-docs-full
.patterns-docs: &patterns-docs
- ".gitlab/ci/docs.yml"
- "docs/**/*"
- "**/*.rst"
- "CONTRIBUTING.rst"
- "**/soc_caps.h"
.patterns-docs-partial: &patterns-docs-partial
- "components/**/*.h"
- "components/**/Kconfig*"
- "components/**/CMakeList.txt"
- "components/**/sdkconfig*"
- "tools/tools.json"
- "tools/idf_tools.py"
.patterns-example-readme: &patterns-example-readme
- "examples/**/*.md"
- "tools/kconfig_new/**/*"
- "CONTRIBUTING.rst"
.patterns-docs-preview: &patterns-docs-preview
- "docs/**/*"
@@ -31,88 +23,93 @@
.if-label-build_docs: &if-label-build_docs
if: '$BOT_LABEL_BUILD_DOCS || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*build_docs(?:,[^,\n\r]+)*$/i'
.if-label-docs: &if-label-docs
if: '$BOT_LABEL_DOCS || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*docs(?:,[^,\n\r]+)*$/i'
.if-label-docs_full: &if-label-docs_full
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_COMMIT_TAG !~ /^qa-test/ && ($CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "merge_request_event")'
.doc-rules:build:docs-full:
.doc-rules:build:docs:
rules:
- <<: *if-qa-test-tag
when: never
- <<: *if-protected
- <<: *if-label-build_docs
- <<: *if-label-docs
- <<: *if-label-docs_full
- <<: *if-dev-push
changes: *patterns-docs-full
.doc-rules:build:docs-partial:
rules:
- <<: *if-qa-test-tag
when: never
- <<: *if-dev-push
changes: *patterns-docs-full
when: never
- <<: *if-dev-push
changes: *patterns-docs-partial
changes: *patterns-docs
# stage: pre_check
check_readme_links:
extends:
- .pre_check_template
- .pre_check_job_template
tags: ["build", "amd64", "internet"]
allow_failure: true
rules:
- <<: *if-protected
- <<: *if-dev-push
changes: *patterns-example-readme
script:
- python ${IDF_PATH}/tools/ci/check_readme_links.py
check_docs_lang_sync:
extends:
- .pre_check_template
- .doc-rules:build:docs-full
- .pre_check_job_template
- .doc-rules:build:docs
script:
- cd docs
- ./check_lang_folder_sync.sh
.build_docs_template:
image: $ESP_IDF_DOC_ENV_IMAGE
stage: build_doc
variables:
PYTHON_VER: 3.7.10
tags:
- build_docs
needs:
- job: fast_template_app
artifacts: false
optional: true
dependencies: []
script:
- if [ -n "${BREATHE_ALT_INSTALL_URL_PY39}" ]; then
pip uninstall -y breathe && pip install -U ${BREATHE_ALT_INSTALL_URL_PY39};
fi
- pip install -r requirements.txt
- cd docs
- pip install -U -r requirements.txt
- build-docs -t $DOCTGT -bs $DOC_BUILDERS -l $DOCLANG build
parallel:
matrix:
- DOCLANG: ["en", "zh_CN"]
DOCTGT: ["esp32", "esp32s2", "esp32s3", "esp32c3", "esp32c2", "esp32c6", "esp32c61", "esp32c5","esp32h2", "esp32h21", "esp32p4"]
DOCTGT: ["esp32", "esp32s2", "esp32s3", "esp32c3"]
check_docs_gh_links:
image: $ESP_IDF_DOC_ENV_IMAGE
variables:
PYTHON_VER: 3.7.10
extends:
- .pre_check_template
- .doc-rules:build:docs-full
- .pre_check_job_template
- .doc-rules:build:docs
script:
- pip install -r requirements.txt
- cd docs
- pip install -U -r requirements.txt
- build-docs gh-linkcheck
# stage: build_doc
# Add this stage to let the build_docs job run in parallel with build
.build_docs_build_stage_template:
extends:
- .build_docs_template
stage: build_doc
needs:
- job: check_docs_lang_sync
artifacts: false
- job: check_docs_gh_links
artifacts: false
# Doc jobs have a lot of special cases, we specify rules here directly instead
# in dependencies.yml to simplify things
build_docs_html_full:
extends:
- .build_docs_template
- .doc-rules:build:docs-full
- .build_docs_build_stage_template
rules:
- <<: *if-protected
- <<: *if-label-docs_full
artifacts:
when: always
paths:
@@ -122,10 +119,16 @@ build_docs_html_full:
variables:
DOC_BUILDERS: "html"
build_docs_html_partial:
build_docs_html_fast:
extends:
- .build_docs_template
- .doc-rules:build:docs-partial
- .build_docs_build_stage_template
rules:
- <<: *if-label-docs_full
when: never
- <<: *if-label-build_docs
- <<: *if-label-docs
- <<: *if-dev-push
changes: *patterns-docs
artifacts:
when: always
paths:
@@ -134,30 +137,39 @@ build_docs_html_partial:
expire_in: 4 days
variables:
DOC_BUILDERS: "html"
parallel:
matrix:
- DOCLANG: "en"
DOCTGT: "esp32"
- DOCLANG: "zh_CN"
DOCTGT: "esp32p4"
DOCS_FAST_BUILD: "yes"
build_docs_pdf:
extends:
- .build_docs_build_stage_template
rules:
- <<: *if-protected
- <<: *if-label-docs_full
artifacts:
when: always
paths:
- docs/_build/*/*/latex/*
expire_in: 4 days
variables:
DOC_BUILDERS: "latex"
.deploy_docs_template:
extends:
- .before_script_no_sync_submodule
image: $ESP_IDF_DOC_ENV_IMAGE
variables:
DOCS_BUILD_DIR: "${IDF_PATH}/docs/_build/"
PYTHONUNBUFFERED: 1
# ensure all tags are fetched, need to know the latest/stable tag for the docs
GIT_STRATEGY: clone
GIT_DEPTH: 0
stage: test_deploy
tags:
- deploy
- shiny
variables:
PYTHON_VER: 3.7.10
DOCS_BUILD_DIR: "${IDF_PATH}/docs/_build/"
PYTHONUNBUFFERED: 1
dependencies: []
script:
# ensure all tags are fetched, need to know the latest/stable tag for the docs
- git fetch --tags --prune
- add_doc_server_ssh_keys $DOCS_DEPLOY_PRIVATEKEY $DOCS_DEPLOY_SERVER $DOCS_DEPLOY_SERVER_USER
- export GIT_VER=$(git describe --always ${PIPELINE_COMMIT_SHA} --)
- pip install -U -r docs/requirements.txt
- deploy-docs
# stage: test_deploy
@@ -166,14 +178,13 @@ deploy_docs_preview:
- .deploy_docs_template
rules:
- <<: *if-label-build_docs
- <<: *if-label-docs_full
- <<: *if-label-docs
- <<: *if-dev-push
changes: *patterns-docs-preview
needs:
- job: build_docs_html_partial
optional: true
- job: build_docs_html_full
optional: true
dependencies:
- build_docs_html_fast
- build_docs_html_full
- build_docs_pdf
variables:
TYPE: "preview"
# older branches use DOCS_DEPLOY_KEY, DOCS_SERVER, DOCS_SERVER_USER, DOCS_PATH for preview server so we keep these names for 'preview'
@@ -194,6 +205,7 @@ deploy_docs_production:
dependencies: # set dependencies to null to avoid missing artifacts issue
needs: # ensure runs after push_to_github succeeded
- build_docs_html_full
- build_docs_pdf
- job: push_to_github
artifacts: false
variables:
@@ -203,17 +215,12 @@ deploy_docs_production:
DOCS_DEPLOY_SERVER_USER: "$DOCS_PROD_SERVER_USER"
DOCS_DEPLOY_PATH: "$DOCS_PROD_PATH"
DOCS_DEPLOY_URL_BASE: "https://docs.espressif.com/projects/esp-idf"
DEPLOY_STABLE: 1
check_doc_links:
extends:
- .build_docs_template
rules:
- <<: *if-protected-no_label
- .rules:protected
stage: post_deploy
needs:
- job: deploy_docs_production
artifacts: false
tags: ["build", "amd64", "internet"]
artifacts:
when: always
@@ -223,5 +230,7 @@ check_doc_links:
expire_in: 1 week
allow_failure: true
script:
- pip install -r requirements.txt
- cd docs
- pip install -U -r requirements.txt
- build-docs -t $DOCTGT -l $DOCLANG linkcheck

View File

@@ -2,39 +2,18 @@
extends: .rules:test:host_test
stage: host_test
image: $ESP_ENV_IMAGE
variables:
PYTHON_VER: 3.6.13
tags:
- host_test
dependencies: # set dependencies to null to avoid missing artifacts issue
# run host_test jobs immediately, only after upload cache
needs:
- job: upload-pip-cache
optional: true
artifacts: false
- job: upload-submodules-cache
optional: true
artifacts: false
- pipeline_variables
artifacts:
expire_in: 1 week
when: always
dependencies: []
needs: [] # run host_test jobs immediately
check_public_headers:
extends:
- .host_test_template
- .rules:build:check
test_nvs_on_host:
extends: .host_test_template
script:
- IDF_TARGET=esp32 python tools/ci/check_public_headers.py --jobs 4 --prefix xtensa-esp32-elf-
- IDF_TARGET=esp32s2 python tools/ci/check_public_headers.py --jobs 4 --prefix xtensa-esp32s2-elf-
- IDF_TARGET=esp32s3 python tools/ci/check_public_headers.py --jobs 4 --prefix xtensa-esp32s3-elf-
- IDF_TARGET=esp32c3 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32c2 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32c6 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32c5 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32h2 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32p4 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32c61 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32h21 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32h4 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- cd components/nvs_flash/test_nvs_host
- make test
test_nvs_coverage:
extends:
@@ -42,42 +21,100 @@ test_nvs_coverage:
- .rules:labels:nvs_coverage
artifacts:
paths:
- components/nvs_flash/host_test/nvs_host_test/coverage_report
- components/nvs_flash/test_nvs_host/coverage_report
expire_in: 1 week
script:
- cd components/nvs_flash/host_test/nvs_host_test
- idf.py build coverage
- cd components/nvs_flash/test_nvs_host
- make coverage_report
# the 'long' host tests take approx 11 hours on our current runners. Adding some margin here for possible CPU contention
timeout: 18 hours
test_partition_table_on_host:
extends: .host_test_template
tags:
- build
script:
- cd components/partition_table/test_gen_esp32part_host
- ./gen_esp32part_tests.py
test_wl_on_host:
extends: .host_test_template
artifacts:
paths:
- components/wear_levelling/test_wl_host/coverage_report.zip
expire_in: 1 week
script:
- cd components/wear_levelling/test_wl_host
- make test
test_fatfs_on_host:
extends: .host_test_template
script:
- cd components/fatfs/test_fatfs_host/
- make test
test_ldgen_on_host:
extends: .host_test_template
script:
- cd tools/ldgen/test
- export PYTHONPATH=$PYTHONPATH:..
- python -m unittest
- ./test_fragments.py
- ./test_generation.py
- ./test_entity.py
- ./test_output_commands.py
variables:
LC_ALL: C.UTF-8
.host_fuzzer_test_template:
extends:
- .host_test_template
- .rules:labels:fuzzer_test-weekend_test
image: $AFL_FUZZER_TEST_IMAGE
artifacts:
when: always
paths:
- ${FUZZER_TEST_DIR}/out/crashes
- ${FUZZER_TEST_DIR}/fuzz_output.log
expire_in: 1 week
script:
- export AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES=1 && export AFL_SKIP_CPUFREQ=1
- cd ${FUZZER_TEST_DIR}
# run AFL fuzzer for one hour
- ( ( make ${FUZZER_PARAMS} fuzz | tee fuzz_output.log | grep -v '\(Fuzzing test case\|Entering queue cycle\)' ) || pkill sleep ) &
- ( sleep 3600 || mkdir -p out/crashes/env_failed ) && pkill afl-fuz
# check no crashes found
- test -z "$(ls out/crashes/)" || exit 1
test_mdns_fuzzer_on_host:
extends: .host_fuzzer_test_template
variables:
FUZZER_TEST_DIR: components/mdns/test_afl_fuzz_host
test_lwip_dns_fuzzer_on_host:
extends: .host_fuzzer_test_template
variables:
FUZZER_TEST_DIR: components/lwip/test_afl_host
FUZZER_PARAMS: MODE=dns
test_lwip_dhcp_fuzzer_on_host:
extends: .host_fuzzer_test_template
variables:
FUZZER_TEST_DIR: components/lwip/test_afl_host
FUZZER_PARAMS: MODE=dhcp_client
test_lwip_dhcps_fuzzer_on_host:
extends: .host_fuzzer_test_template
variables:
FUZZER_TEST_DIR: components/lwip/test_afl_host
FUZZER_PARAMS: MODE=dhcp_server
test_spiffs_on_host:
extends: .host_test_template
script:
- cd components/spiffs/test_spiffsgen/
- cd components/spiffs/test_spiffs_host/
- make test
- cd ../test_spiffsgen
- ./test_spiffsgen.py
test_fatfsgen_on_host:
extends: .host_test_template
script:
- cd components/fatfs/test_fatfsgen/
- ./test_fatfsgen.py
- ./test_wl_fatfsgen.py
- ./test_fatfsparse.py
test_multi_heap_on_host:
extends: .host_test_template
script:
@@ -86,40 +123,86 @@ test_multi_heap_on_host:
test_certificate_bundle_on_host:
extends: .host_test_template
tags:
- build
script:
- cd components/mbedtls/esp_crt_bundle/test_gen_crt_bundle/
- ./test_gen_crt_bundle.py
test_gdbstub_on_host:
test_confserver:
extends: .host_test_template
script:
- cd components/esp_gdbstub/test_gdbstub_host
- make test
- cd tools/kconfig_new/test/confserver
- ./test_confserver.py
# Test for create virtualenv. It must be invoked from Python, not from virtualenv.
# Use docker image system python without any extra dependencies
test_cli_installer:
extends:
- .host_test_template
- .before_script:minimal
test_gen_kconfig_doc:
extends: .host_test_template
script:
- cd tools/kconfig_new/test/gen_kconfig_doc/
- ./test_target_visibility.py
- ./test_kconfig_out.py
test_confgen:
extends: .host_test_template
script:
- cd tools/kconfig_new/test/confgen/
- ./test_confgen.py
test_idf_monitor:
extends: .host_test_template
artifacts:
# save artifacts always in order to access results which were retried without consequent failure
when: always
paths:
- tools/test_idf_monitor/outputs/*
expire_in: 1 week
script:
- cd ${IDF_PATH}/tools/test_idf_monitor
- ./run_test_idf_monitor.py
test_idf_size:
extends: .host_test_template
artifacts:
when: on_failure
paths:
- tools/test_idf_size/output
- tools/test_idf_size/.coverage
expire_in: 1 week
script:
- cd ${IDF_PATH}/tools/test_idf_size
- ./test.sh
test_idf_py:
extends: .host_test_template
variables:
LC_ALL: C.UTF-8
script:
- cd ${IDF_PATH}/tools/test_idf_py
- ./test_idf_py.py
test_idf_tools:
extends: .host_test_template
artifacts:
when: on_failure
paths:
- tools/tools.new.json
- tools/test_idf_tools/test_python_env_logs.txt
image:
name: $ESP_ENV_IMAGE
entrypoint: [""] # use system python3. no extra pip package installed
expire_in: 1 week
script:
# Tools must be downloaded for testing
# We could use "idf_tools.py download all", but we don't want to install clang because of its huge size
- python3 ${IDF_PATH}/tools/idf_tools.py download required qemu-riscv32 qemu-xtensa cmake
# Remove Xtensa and ULP toolchains from the PATH, tests will expect a clean environment
- 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
- python3 -m pip install jsonschema
- python3 ./test_idf_tools.py -v
- python3 ./test_idf_tools_python_env.py
# It runs at the end because it modifies dependencies
- IDF_TEST_MAY_BREAK_DEPENDENCIES=1 python3 ./test_idf_tools.py -v TestSystemDependencies.test_commands_when_nodeps
- ./test_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
@@ -129,10 +212,11 @@ test_cli_installer:
when: on_failure
paths:
- components/efuse/${IDF_TARGET}/esp_efuse_table.c
expire_in: 1 week
script:
- cd ${IDF_PATH}/components/efuse/
- ./efuse_table_gen.py -t "${IDF_TARGET}" ${IDF_PATH}/components/efuse/${IDF_TARGET}/esp_efuse_table.csv
- git diff --exit-code -- ${IDF_TARGET}/esp_efuse_table.c || { echo 'Differences found for ${IDF_TARGET} target. Please run idf.py efuse-common-table and commit the changes.'; exit 1; }
- git diff --exit-code -- ${IDF_TARGET}/esp_efuse_table.c || { echo 'Differences found for ${IDF_TARGET} target. Please run make efuse_common_table or idf.py efuse-common-table and commit the changes.'; exit 1; }
- cd ${IDF_PATH}/components/efuse/test_efuse_host
- ./efuse_tests.py
@@ -159,11 +243,6 @@ test_efuse_table_on_host_esp32h2:
variables:
IDF_TARGET: esp32h2
test_efuse_table_on_host_esp32c6:
extends: .test_efuse_table_on_host_template
variables:
IDF_TARGET: esp32c6
test_logtrace_proc:
extends: .host_test_template
artifacts:
@@ -171,6 +250,7 @@ test_logtrace_proc:
paths:
- tools/esp_app_trace/test/logtrace/output
- tools/esp_app_trace/test/logtrace/.coverage
expire_in: 1 week
script:
- cd ${IDF_PATH}/tools/esp_app_trace/test/logtrace
- ./test.sh
@@ -182,86 +262,76 @@ test_sysviewtrace_proc:
paths:
- tools/esp_app_trace/test/sysview/output
- tools/esp_app_trace/test/sysview/.coverage
expire_in: 1 week
script:
- cd ${IDF_PATH}/tools/esp_app_trace/test/sysview
- ./test.sh
test_tools:
extends:
- .host_test_template
artifacts:
paths:
- ${IDF_PATH}/*.out
- ${IDF_PATH}/XUNIT_*.xml
reports:
junit: ${IDF_PATH}/XUNIT_*.xml
test_mkdfu:
extends: .host_test_template
variables:
LC_ALL: C.UTF-8
INSTALL_EXTRA_TOOLS: "qemu-xtensa qemu-riscv32" # for test_idf_qemu.py
script:
- stat=0
- cd ${IDF_PATH}/tools/ci/test_autocomplete
- pytest --noconftest test_autocomplete.py --junitxml=${IDF_PATH}/XUNIT_AUTOCOMP.xml || stat=1
- cd ${IDF_PATH}/tools/test_idf_py
- pytest --noconftest test_idf_py.py --junitxml=${IDF_PATH}/XUNIT_IDF_PY.xml || stat=1
- pytest --noconftest test_hints.py --junitxml=${IDF_PATH}/XUNIT_HINTS.xml || stat=1
- pytest --noconftest test_idf_qemu.py --junitxml=${IDF_PATH}/XUNIT_IDF_PY_QEMU.xml || stat=1
- cd ${IDF_PATH}/tools/test_bsasm
- pytest --noconftest test_bsasm.py --junitxml=${IDF_PATH}/XUNIT_BSASM.xml || stat=1
- cd ${IDF_PATH}/tools/test_mkdfu
- pytest --noconftest test_mkdfu.py --junitxml=${IDF_PATH}/XUNIT_MKDFU.xml || stat=1
- cd ${IDF_PATH}/tools/test_idf_size
- pytest --noconftest test_idf_size.py --junitxml=${IDF_PATH}/XUNIT_IDF_SIZE.xml || stat=1
- cd ${IDF_PATH}/tools/test_idf_diag
- pytest --noconftest test_idf_diag.py --junitxml=${IDF_PATH}/XUNIT_IDF_DIAG.xml || stat=1
- ./test_mkdfu.py
test_mkuf2:
extends: .host_test_template
script:
- cd ${IDF_PATH}/tools/test_mkuf2
- ./test_mkuf2.py
test_autocomplete:
extends: .host_test_template
image: $CI_DOCKER_REGISTRY/linux-shells:1
artifacts:
when: on_failure
paths:
- ${IDF_PATH}/*.out
expire_in: 1 week
script:
- ${IDF_PATH}/tools/ci/test_autocomplete.py
test_detect_python:
extends: .host_test_template
image: $CI_DOCKER_REGISTRY/linux-shells:1
script:
- cd ${IDF_PATH}
- shellcheck -s sh tools/detect_python.sh || stat=1
- shellcheck -s bash tools/detect_python.sh || stat=1
- shellcheck -s dash tools/detect_python.sh || stat=1
- shellcheck -s sh tools/detect_python.sh
- shellcheck -s bash tools/detect_python.sh
- shellcheck -s dash tools/detect_python.sh
- "bash -c '. tools/detect_python.sh && echo Our Python: ${ESP_PYTHON?Python is not set}'"
- "dash -c '. tools/detect_python.sh && echo Our Python: ${ESP_PYTHON?Python is not set}'"
- "zsh -c '. tools/detect_python.sh && echo Our Python: ${ESP_PYTHON?Python is not set}'"
- "fish -c 'source tools/detect_python.fish && echo Our Python: $ESP_PYTHON'"
- exit "$stat"
test_split_path_by_spaces:
test_nvs_page:
extends: .host_test_template
script:
- cd ${IDF_PATH}/tools
- python -m unittest split_paths_by_spaces.py
- cd ${IDF_PATH}/components/nvs_flash/host_test/nvs_page_test
- idf.py build
- build/test_nvs_page_host.elf
test_mqtt_on_host:
test_log:
extends: .host_test_template
script:
- cd ${IDF_PATH}/components/mqtt/esp-mqtt/host_test
- cd ${IDF_PATH}/components/log/host_test/log_test
- idf.py build
- LSAN_OPTIONS=verbosity=1:log_threads=1 build/host_mqtt_client_test.elf
- build/test_log_host.elf
test_transport_on_host:
extends: .host_test_template
allow_failure: true # IDFCI-2781 [v5.5, v5.4] test_transport_on_host fails on ubuntu 24.04
script:
- cd ${IDF_PATH}/components/tcp_transport/host_test
- idf.py build
- LSAN_OPTIONS=verbosity=1:log_threads=1 build/host_tcp_transport_test.elf
test_sockets_on_host:
test_esp_event:
extends: .host_test_template
script:
# test the tcp-client example with system sockets
- cd ${IDF_PATH}/examples/protocols/sockets/tcp_client
- echo 'CONFIG_EXAMPLE_IPV4_ADDR="127.0.0.1"' >> sdkconfig.defaults
- idf.py --preview set-target linux
- cd ${IDF_PATH}/components/esp_event/host_test/esp_event_unit_test
- idf.py build
- timeout 5 ./build/tcp_client.elf >test.log || true
- grep "Socket unable to connect" test.log
# test the udp-client example with lwip sockets
- cd ${IDF_PATH}/examples/protocols/sockets/udp_client
- idf.py --preview set-target linux
- cat sdkconfig.ci.linux > sdkconfig
- build/test_esp_event_host.elf
test_esp_timer_cxx:
extends: .host_test_template
script:
- cd ${IDF_PATH}/examples/cxx/experimental/experimental_cpp_component/host_test/esp_timer
- idf.py build
- timeout 5 ./build/udp_client.elf >test.log || true
- grep "Message sent" test.log
- build/test_esp_timer_cxx_host.elf
test_eh_frame_parser:
extends: .host_test_template
@@ -270,170 +340,24 @@ test_eh_frame_parser:
- make
- ./eh_frame_test
test_gen_soc_caps_kconfig:
test_rom_on_linux_works:
extends: .host_test_template
script:
- cd ${IDF_PATH}/tools/gen_soc_caps_kconfig/
- ./test/test_gen_soc_caps_kconfig.py
- cd ${IDF_PATH}/components/esp_rom/host_test/rom_test
- idf.py build
- build/test_rom_host.elf
test_pytest_qemu:
extends:
- .host_test_template
- .before_script:build
artifacts:
paths:
- XUNIT_RESULT.xml
- pytest-embedded/
- "**/build*/*.bin"
reports:
junit: XUNIT_RESULT.xml
parallel:
matrix:
- IDF_TARGET: "esp32"
INSTALL_EXTRA_TOOLS: "qemu-xtensa"
# Skip Clang + Xtensa tests due to bootloader size issue
IDF_TOOLCHAIN: [gcc]
- IDF_TARGET: "esp32c3"
INSTALL_EXTRA_TOOLS: "qemu-riscv32"
IDF_TOOLCHAIN: [gcc, clang]
script:
- run_cmd python tools/ci/ci_build_apps.py . -v
--target $IDF_TARGET
--pytest-apps
-m qemu
--collect-app-info "list_job_${CI_JOB_NAME_SLUG}.txt"
--modified-components ${MR_MODIFIED_COMPONENTS}
--modified-files ${MR_MODIFIED_FILES}
- python tools/ci/get_known_failure_cases_file.py
- run_cmd pytest
--target $IDF_TARGET
--log-cli-level DEBUG
-m qemu
--embedded-services idf,qemu
--junitxml=XUNIT_RESULT.xml
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
--app-info-filepattern \"list_job_*.txt\"
--qemu-extra-args \"-global driver=timer.$IDF_TARGET.timg,property=wdt_disable,value=true\"
test_pytest_linux:
extends:
- .host_test_template
- .before_script:build
artifacts:
paths:
- XUNIT_RESULT.xml
- pytest-embedded/
- "**/build*/build_log.txt"
reports:
junit: XUNIT_RESULT.xml
script:
- run_cmd python tools/ci/ci_build_apps.py components examples tools/test_apps -v
--target linux
--pytest-apps
-m host_test
--collect-app-info "list_job_${CI_JOB_NAME_SLUG}.txt"
--modified-components ${MR_MODIFIED_COMPONENTS}
--modified-files ${MR_MODIFIED_FILES}
- python tools/ci/get_known_failure_cases_file.py
- run_cmd pytest
--target linux
-m host_test
--embedded-services idf
--junitxml=XUNIT_RESULT.xml
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
--app-info-filepattern \"list_job_*.txt\"
test_pytest_macos:
extends:
- .host_test_template
- .before_script:build:macos
tags:
- macos_shell
artifacts:
paths:
- XUNIT_RESULT.xml
- pytest-embedded/
- "**/build*/build_log.txt"
reports:
junit: XUNIT_RESULT.xml
variables:
PYENV_VERSION: "3.9"
PYTEST_IGNORE_COLLECT_IMPORT_ERROR: "1"
script:
- run_cmd python tools/ci/ci_build_apps.py components examples tools/test_apps -v
--target linux
--pytest-apps
-m \"host_test and macos_shell\"
--collect-app-info "list_job_${CI_JOB_NAME_SLUG}.txt"
--modified-components ${MR_MODIFIED_COMPONENTS}
--modified-files ${MR_MODIFIED_FILES}
- python tools/ci/get_known_failure_cases_file.py
- run_cmd pytest
--target linux
-m \"host_test and macos_shell\"
--junitxml=XUNIT_RESULT.xml
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
--app-info-filepattern \"list_job_*.txt\"
test_idf_pytest_plugin:
extends:
- .host_test_template
- .rules:patterns:idf-pytest-plugin
variables:
SUBMODULES_TO_FETCH: "none"
artifacts:
reports:
junit: XUNIT_RESULT.xml
script:
- cd ${IDF_PATH}/tools/ci/dynamic_pipelines/tests/test_report_generator
- python -m unittest test_report_generator.py
- cd ${IDF_PATH}/tools/ci/idf_pytest
- pytest --junitxml=${CI_PROJECT_DIR}/XUNIT_RESULT.xml
test_idf_build_apps_load_soc_caps:
test_cxx_gpio:
extends: .host_test_template
script:
- python tools/ci/check_soc_headers_load_in_idf_build_apps.py
- cd ${IDF_PATH}/examples/cxx/experimental/experimental_cpp_component/host_test/gpio
- idf.py build
- build/test_gpio_cxx_host.elf
test_nvs_gen_check:
test_linux_example:
extends: .host_test_template
artifacts:
paths:
- XUNIT_RESULT.xml
- components/nvs_flash/nvs_partition_tool
reports:
junit: XUNIT_RESULT.xml
variables:
LC_ALL: C.UTF-8
script:
- cd ${IDF_PATH}/components/nvs_flash/nvs_partition_tool
- pytest --noconftest test_nvs_gen_check.py --junitxml=XUNIT_RESULT.xml
test_esp_rom:
extends: .host_test_template
artifacts:
paths:
- XUNIT_RESULT.xml
reports:
junit: XUNIT_RESULT.xml
script:
- cd ${IDF_PATH}/components/esp_rom/
- pytest --noconftest test_esp_rom.py --junitxml=XUNIT_RESULT.xml
make_sure_soc_caps_compatible_in_idf_build_apps:
extends:
- .host_test_template
- .rules:dev-push
artifacts:
paths:
- new.json
- base.json
when: always
when: manual
script:
- python tools/ci/idf_build_apps_dump_soc_caps.py new.json
- git fetch --depth=1 origin $CI_MERGE_REQUEST_DIFF_BASE_SHA
- git checkout -f $CI_MERGE_REQUEST_DIFF_BASE_SHA
- git checkout $CI_COMMIT_SHA -- tools/ci/idf_build_apps_dump_soc_caps.py
- python tools/ci/idf_build_apps_dump_soc_caps.py base.json
- diff new.json base.json
- cd ${IDF_PATH}/examples/build_system/cmake/linux_host_app
- idf.py build
- timeout 5 ./build/linux_host_app.elf >test.log || true
- grep "Restarting" test.log

View File

@@ -29,12 +29,13 @@
gen_integration_pipeline:
extends:
- .before_script:minimal
- .before_script_minimal
- .integration_test_rules
image: ${CI_INTEGRATION_ASSIGN_ENV}
stage: assign_test
cache: []
tags: [fast_run, shiny]
tags:
- assign_test
variables:
SUBMODULES_TO_FETCH: "none"
GIT_LFS_SKIP_SMUDGE: 1
@@ -46,7 +47,6 @@ gen_integration_pipeline:
paths:
- idf-integration-ci/child_pipeline/
expire_in: 2 weeks
when: always
script:
- add_gitlab_ssh_keys
- retry_failed git clone ${CI_GEN_INTEGRATION_PIPELINE_REPO} idf-integration-ci

View File

@@ -1,24 +0,0 @@
generate_failed_jobs_report:
stage: post_deploy
tags: [build, shiny]
image: $ESP_ENV_IMAGE
when: always
dependencies: [] # Do not download artifacts from the previous stages
artifacts:
expire_in: 1 week
when: always
paths:
- job_report.html
script:
- python tools/ci/dynamic_pipelines/scripts/generate_report.py --report-type job
sync_support_status:
stage: post_deploy
extends:
- .rules:sync_support_status
needs:
- push_to_github
image: $ESP_ENV_IMAGE
tags: [ brew, github_sync ]
script:
- curl --fail --request POST --form token="$IDF_STATUS_TRIG_TOKEN" --form ref="$IDF_STATUS_BRANCH" --form "variables[UPLOAD_TO_S3]=true" "$IDF_STATUS_TRIG_URL"

View File

@@ -1,84 +1,141 @@
.pre_check_template:
.pre_check_base_template:
stage: pre_check
image: $ESP_ENV_IMAGE
tags:
- host_test
dependencies: # set dependencies to null to avoid missing artifacts issue
dependencies: []
.pre_check_job_template:
extends:
- .pre_check_base_template
- .before_script_no_sync_submodule
.check_pre_commit_template:
extends: .pre_check_job_template
image: "$CI_DOCKER_REGISTRY/esp-idf-pre-commit:1"
before_script:
- source tools/ci/utils.sh
- is_based_on_commits $REQUIRED_ANCESTOR_COMMITS
- export PYTHONPATH="$CI_PROJECT_DIR/tools:$CI_PROJECT_DIR/tools/ci/python_packages:$PYTHONPATH"
check_pre_commit_master_release:
extends:
- .check_pre_commit_template
- .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: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
# esp_idf_version.h in a branch before tagging the next version.
extends:
- .pre_check_template
- .pre_check_job_template
- .rules:protected
tags: [ brew, github_sync ]
variables:
# need a full clone to get the latest tag
# the --shallow-since=$(git log -1 --format=%as $LATEST_GIT_TAG) option is not accurate
GIT_STRATEGY: fetch
SUBMODULES_TO_FETCH: "none"
GIT_DEPTH: 0
script:
- export IDF_PATH=$PWD
- tools/ci/check_idf_version.sh
check_api_usage:
extends: .pre_check_template
check_examples_cmake_make:
extends: .pre_check_job_template
script:
- python -m pip install ast-grep-cli # use ast-grep to describe customized lint rules
- ast-grep scan
- python ${IDF_PATH}/tools/ci/check_examples_cmake_make.py
check_rom_api_header:
extends: .pre_check_job_template
script:
- tools/ci/check_examples_rom_header.sh
- tools/ci/check_api_violation.sh
- tools/ci/check_examples_extra_component_dirs.sh
check_python_style:
extends:
- .pre_check_base_template
- .rules:patterns:python-files
variables:
PYTHON_VER: 3.6.13
artifacts:
when: on_failure
paths:
- flake8_output.txt
expire_in: 1 week
script:
- python -m flake8 --config=$IDF_PATH/.flake8 --output-file=flake8_output.txt --tee --benchmark $IDF_PATH
test_check_kconfigs:
extends: .pre_check_job_template
variables:
PYTHON_VER: 3.6.13
artifacts:
when: on_failure
paths:
- components/*/Kconfig*.new
- examples/*/*/*/Kconfig*.new
- examples/*/*/*/*/Kconfig*.new
- tools/*/Kconfig*.new
- tools/*/*/Kconfig*.new
- tools/*/*/*/Kconfig*.new
expire_in: 1 week
script:
- python ${IDF_PATH}/tools/ci/test_check_kconfigs.py
check_blobs:
extends:
- .pre_check_template
- .rules:build:check
extends: .pre_check_base_template
tags:
- build
variables:
SUBMODULES_TO_FETCH: "components/esp_wifi/lib;components/esp_phy/lib;components/esp_coex/lib"
SUBMODULES_TO_FETCH: "components/esp_wifi/lib;components/esp_phy/lib"
script:
# Check if Wi-Fi library header files match between IDF and the version used when compiling the libraries
- IDF_TARGET=esp32 $IDF_PATH/components/esp_wifi/test_md5/test_md5.sh
- IDF_TARGET=esp32s2 $IDF_PATH/components/esp_wifi/test_md5/test_md5.sh
- IDF_TARGET=esp32s3 $IDF_PATH/components/esp_wifi/test_md5/test_md5.sh
- IDF_TARGET=esp32c2 $IDF_PATH/components/esp_wifi/test_md5/test_md5.sh
- IDF_TARGET=esp32c3 $IDF_PATH/components/esp_wifi/test_md5/test_md5.sh
- IDF_TARGET=esp32c6 $IDF_PATH/components/esp_wifi/test_md5/test_md5.sh
- IDF_TARGET=esp32c5 $IDF_PATH/components/esp_wifi/test_md5/test_md5.sh
- IDF_TARGET=esp32c61 $IDF_PATH/components/esp_wifi/test_md5/test_md5.sh
- IDF_TARGET=esp32_host $IDF_PATH/components/esp_wifi/test_md5/test_md5.sh
# Check if Coexistence library header files match between IDF and the version used when compiling the libraries
- IDF_TARGET=esp32 $IDF_PATH/components/esp_coex/test_md5/test_md5.sh
- IDF_TARGET=esp32s2 $IDF_PATH/components/esp_coex/test_md5/test_md5.sh
- IDF_TARGET=esp32s3 $IDF_PATH/components/esp_coex/test_md5/test_md5.sh
- IDF_TARGET=esp32c2 $IDF_PATH/components/esp_coex/test_md5/test_md5.sh
- IDF_TARGET=esp32c3 $IDF_PATH/components/esp_coex/test_md5/test_md5.sh
- IDF_TARGET=esp32c6 $IDF_PATH/components/esp_coex/test_md5/test_md5.sh
- IDF_TARGET=esp32h2 $IDF_PATH/components/esp_coex/test_md5/test_md5.sh
- IDF_TARGET=esp32c5 $IDF_PATH/components/esp_coex/test_md5/test_md5.sh
- IDF_TARGET=esp32c61 $IDF_PATH/components/esp_coex/test_md5/test_md5.sh
# Check if Wi-Fi, PHY, BT blobs contain references to specific symbols
- bash $IDF_PATH/tools/ci/check_blobs.sh
check_chip_support_components:
check_fuzzer_compilation:
extends: .pre_check_base_template
image: $AFL_FUZZER_TEST_IMAGE
script:
- cd ${IDF_PATH}/components/lwip/test_afl_host
- make MODE=dhcp_server
- make MODE=dhcp_client
- make MODE=dns
- cd ${IDF_PATH}/components/mdns/test_afl_fuzz_host
- make
check_public_headers:
extends:
- .pre_check_template
- .rules:build:check
artifacts:
when: on_failure
paths:
- esp_hw_support_part.h
- bootloader_support_part.h
expire_in: 1 week
- .pre_check_base_template
- .rules:build
tags:
- build
script:
- python tools/ci/check_soc_headers_leak.py
- find ${IDF_PATH}/components/soc/**/include/soc/ ${IDF_PATH}/components/soc/**/register/soc/ -name "*_struct.h" -print0 | xargs -0 -n1 ./tools/ci/check_soc_struct_headers.py
- tools/ci/check_esp_memory_utils_headers.sh
- python tools/ci/check_public_headers.py --jobs 4 --prefix xtensa-esp32-elf-
check_soc_struct_headers:
extends:
- .pre_check_base_template
- .rules:build
tags:
- build
script:
- find ${IDF_PATH}/components/soc/*/include/soc/ -name "*_struct.h" -print0 | xargs -0 -n1 ./tools/ci/check_soc_struct_headers.py
check_esp_err_to_name:
extends:
- .pre_check_template
- .rules:build:check
- .pre_check_base_template
- .rules:build
tags:
- build
artifacts:
when: on_failure
paths:
@@ -89,135 +146,62 @@ check_esp_err_to_name:
- ./gen_esp_err_to_name.py
- git diff --exit-code -- ../components/esp_common/src/esp_err_to_name.c || { echo 'Differences found. Please run gen_esp_err_to_name.py and commit the changes.'; exit 1; }
check_esp_system:
scan_tests:
extends:
- .pre_check_template
- .rules:build
- .pre_check_base_template
- .rules:build:target_test
image: $CI_DOCKER_REGISTRY/ubuntu-test-env$BOT_DOCKER_IMAGE_TAG
tags:
- assign_test
artifacts:
paths:
- $EXAMPLE_TEST_OUTPUT_DIR
- $TEST_APPS_OUTPUT_DIR
- $COMPONENT_UT_OUTPUT_DIR
variables:
EXAMPLE_TEST_DIR: ${CI_PROJECT_DIR}/examples
EXAMPLE_TEST_OUTPUT_DIR: ${CI_PROJECT_DIR}/examples/test_configs
TEST_APPS_TEST_DIR: ${CI_PROJECT_DIR}/tools/test_apps
TEST_APPS_OUTPUT_DIR: ${CI_PROJECT_DIR}/tools/test_apps/test_configs
COMPONENT_UT_OUTPUT_DIR: ${CI_PROJECT_DIR}/component_ut/test_configs
CI_SCAN_TESTS_PY: ${CI_PROJECT_DIR}/tools/ci/python_packages/ttfw_idf/CIScanTests.py
EXTRA_TEST_DIRS: >-
examples/bluetooth/esp_ble_mesh/ble_mesh_console
examples/bluetooth/hci/controller_hci_uart_esp32
examples/wifi/iperf
script:
- python components/esp_system/check_system_init_priorities.py
- set_component_ut_vars
- run_cmd python $CI_SCAN_TESTS_PY example_test $EXAMPLE_TEST_DIR -b make --exclude examples/build_system/idf_as_lib -c $CI_TARGET_TEST_CONFIG_FILE -o $EXAMPLE_TEST_OUTPUT_DIR
- run_cmd python $CI_SCAN_TESTS_PY example_test $EXAMPLE_TEST_DIR -b cmake --exclude examples/build_system/idf_as_lib -c $CI_TARGET_TEST_CONFIG_FILE -o $EXAMPLE_TEST_OUTPUT_DIR --extra_test_dirs $EXTRA_TEST_DIRS
- run_cmd python $CI_SCAN_TESTS_PY test_apps $TEST_APPS_TEST_DIR -c $CI_TARGET_TEST_CONFIG_FILE -o $TEST_APPS_OUTPUT_DIR
- run_cmd python $CI_SCAN_TESTS_PY component_ut $COMPONENT_UT_DIRS --exclude $COMPONENT_UT_EXCLUDES -c $CI_TARGET_TEST_CONFIG_FILE -o $COMPONENT_UT_OUTPUT_DIR
# For release tag pipelines only, make sure the tag was created with 'git tag -a' so it will update
# the version returned by 'git describe'
# Don't forget to update the env var `LATEST_GIT_TAG` in .gitlab/ci/common.yml
check_version_tag:
extends:
- .pre_check_template
- .pre_check_job_template
- .rules:tag:release
tags: [ brew, github_sync ]
variables:
# need a full clone to get the latest tag
# the --shallow-since=$(git log -1 --format=%as $LATEST_GIT_TAG) option is not accurate
GIT_STRATEGY: fetch
SUBMODULES_TO_FETCH: "none"
GIT_DEPTH: 0
script:
- (git cat-file -t $CI_COMMIT_REF_NAME | grep tag) || (echo "ESP-IDF versions must be annotated tags." && exit 1)
check_test_scripts_build_test_rules:
extends:
- .pre_check_template
- .before_script:build
variables:
PYTEST_IGNORE_COLLECT_IMPORT_ERROR: "1"
check_ut_cmake_make:
extends: .pre_check_job_template
tags:
- build
script:
# requires basic pytest dependencies
- run_cmd bash install.sh --enable-pytest
- python tools/ci/check_build_test_rules.py check-test-scripts examples/ tools/test_apps components
- tools/ci/check_ut_cmake_make.sh
check_configure_ci_environment_parsing:
extends:
- .pre_check_template
- .before_script:build
- .rules:build
check_artifacts_expire_time:
extends: .pre_check_job_template
script:
- cd tools/ci
- python -m unittest ci_build_apps.py
# check if we have set expire time for all artifacts
- python tools/ci/check_artifacts_expire_time.py
pipeline_variables:
extends:
- .pre_check_template
- .before_script:fetch:git_diff
tags: [fast_run, shiny]
check_commit_msg:
extends: .pre_check_job_template
script:
# MODIFIED_FILES is a list of files that changed, could be used everywhere
- MODIFIED_FILES=$(echo "$GIT_DIFF_OUTPUT" | xargs)
- echo "MODIFIED_FILES=$MODIFIED_FILES" >> pipeline.env
- echo "REPORT_EXIT_CODE=0" >> pipeline.env
# MR_MODIFIED_FILES and MR_MODIFIED_COMPONENTS are semicolon separated lists that is used in MR only
# for non MR pipeline, these are empty lists
- |
if [ $IS_MR_PIPELINE == "0" ]; then
echo "MR_MODIFIED_FILES=\"\"" >> pipeline.env
echo "MR_MODIFIED_COMPONENTS=\"\"" >> pipeline.env
else
MR_MODIFIED_FILES=$(echo "$GIT_DIFF_OUTPUT" | tr '\n' ';')
echo "MR_MODIFIED_FILES=\"$MR_MODIFIED_FILES\"" >> pipeline.env
MR_MODIFIED_COMPONENTS=$(run_cmd python tools/ci/ci_get_mr_info.py components --modified-files $MODIFIED_FILES | tr '\n' ';')
echo "MR_MODIFIED_COMPONENTS=\"$MR_MODIFIED_COMPONENTS\"" >> pipeline.env
fi
- |
if echo "$CI_MERGE_REQUEST_LABELS" | egrep "(^|,)BUILD_AND_TEST_ALL_APPS(,|$)"; then
echo "BUILD_AND_TEST_ALL_APPS=1" >> pipeline.env
fi
# run full pipeline if testing constraint branch
- |
if [ -n "$CI_PYTHON_CONSTRAINT_BRANCH" ]; then
echo "BUILD_AND_TEST_ALL_APPS=1" >> pipeline.env
fi
- echo "OOCD_DISTRO_URL_ARMHF=$OOCD_DISTRO_URL_ARMHF" >> pipeline.env
- echo "OOCD_DISTRO_URL_ARM64=$OOCD_DISTRO_URL_ARM64" >> pipeline.env
- python tools/ci/ci_process_description.py
- cat pipeline.env
- python tools/ci/artifacts_handler.py upload --type modified_files_and_components_report
artifacts:
reports:
dotenv: pipeline.env
paths:
- pipeline.env
expire_in: 1 week
when: always
baseline_manifest_sha:
extends:
- .pre_check_template
- .rules:dev-push
tags: [fast_run, shiny]
script:
- |
# merged results pipelines, by default
# diff between target-branch-head and merged-result-head
if [ -n "$CI_MERGE_REQUEST_TARGET_BRANCH_SHA" ]; then
git fetch origin $CI_MERGE_REQUEST_TARGET_BRANCH_SHA --depth=1
git checkout FETCH_HEAD
idf-build-apps dump-manifest-sha \
--manifest-files $(find . -name ".build-test-rules.yml" | xargs) \
--output .manifest_sha
# merge request pipelines, when the mr got conflicts
# diff between diff-base-sha and merge-request-head
elif [ -n "$CI_MERGE_REQUEST_DIFF_BASE_SHA" ]; then
git fetch origin $CI_MERGE_REQUEST_DIFF_BASE_SHA --depth=1
git checkout FETCH_HEAD
idf-build-apps dump-manifest-sha \
--manifest-files $(find . -name ".build-test-rules.yml" | xargs) \
--output .manifest_sha
# other pipelines, like the protected branches pipelines
# not triggered in this job
fi
artifacts:
paths:
- .manifest_sha
expire_in: 1 week
when: always
redundant_pass_job:
stage: pre_check
tags: [shiny, fast_run]
image: $ESP_ENV_IMAGE
dependencies: null
before_script: []
cache: []
extends: []
script:
- echo "This job is redundant to ensure the 'retry_failed_jobs' job can exist and not be skipped"
when: always
- git status
- git log -n10 --oneline ${PIPELINE_COMMIT_SHA}
# commit start with "WIP: " need to be squashed before merge
- 'git log --pretty=%s origin/master..${PIPELINE_COMMIT_SHA} -- | grep -i "^WIP:" && exit 1 || exit 0'

View File

@@ -1,80 +0,0 @@
.check_pre_commit_template:
extends:
- .before_script:minimal
stage: pre_check
image: $PRE_COMMIT_IMAGE
tags: [cache, shiny]
needs:
- pipeline_variables
variables:
# cache pre_commit
PRE_COMMIT_HOME: "$CI_PROJECT_DIR/.cache/pre-commit"
script:
- fetch_submodules
- pre-commit run --files $MODIFIED_FILES
- pre-commit run --hook-stage post-commit validate-sbom-manifest
check_pre_commit_upload_cache:
extends:
- .check_pre_commit_template
rules:
- if: '($CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_BRANCH =~ /^release\/v/) && $CI_PIPELINE_SOURCE == "push"'
cache:
- key: pre_commit-cache-${LATEST_GIT_TAG}
paths:
- .cache/pre-commit
policy: pull-push
- key: submodule-cache-${LATEST_GIT_TAG}
paths:
- .cache/submodule_archives
policy: pull
check_pre_commit:
extends:
- .check_pre_commit_template
rules:
- if: '($CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_BRANCH =~ /^release\/v/) && $CI_PIPELINE_SOURCE == "push"'
when: never
- when: on_success
cache:
- key: pre_commit-cache-${LATEST_GIT_TAG}
paths:
- .cache/pre-commit
policy: pull
- key: submodule-cache-${LATEST_GIT_TAG}
paths:
- .cache/submodule_archives
policy: pull
check_powershell:
extends:
- .before_script:minimal
stage: pre_check
image: docker:latest
services:
- docker:dind
tags:
- dind
- amd64
needs:
- pipeline_variables
variables:
# cache pre_commit
PRE_COMMIT_HOME: "$CI_PROJECT_DIR/.cache/pre-commit"
rules:
- changes:
- "*.ps1"
script:
- apk add python3
- apk add py3-pip
- pip install pre-commit --break-system-packages
- pre-commit run --hook-stage manual check-powershell-scripts --files $MODIFIED_FILES
cache:
- key: pre_commit-cache-${LATEST_GIT_TAG}
paths:
- .cache/pre-commit
policy: pull
- key: submodule-cache-${LATEST_GIT_TAG}
paths:
- .cache/submodule_archives
policy: pull

View File

@@ -1,15 +0,0 @@
retry_failed_jobs:
stage: retry_failed_jobs
tags: [shiny, fast_run]
allow_failure: true
image: $ESP_ENV_IMAGE
dependencies: null
before_script: []
cache: []
extends: []
script:
- echo "Retrieving and retrying all failed jobs for the pipeline..."
- python tools/ci/python_packages/gitlab_api.py retry_failed_jobs $CI_MERGE_REQUEST_PROJECT_ID --pipeline_id $CI_PIPELINE_ID
when: manual
needs:
- redundant_pass_job

File diff suppressed because it is too large Load Diff

View File

@@ -1,99 +1,131 @@
# pre_check stage
clang_tidy_check:
extends:
- .pre_check_template
- .pre_check_base_template
- .rules:patterns:clang_tidy
image: ${CLANG_STATIC_ANALYSIS_IMAGE}
artifacts:
paths:
- clang_tidy_reports/
expire_in: 1 week
- $OUTPUT_DIR
when: always
expire_in: 1 day
variables:
IDF_TOOLCHAIN: clang
CLANG_TIDY_RUNNER_PROJ: 2107 # idf/clang-tidy-runner
CLANG_TIDY_DIRS_TXT: ${CI_PROJECT_DIR}/tools/ci/clang_tidy_dirs.txt
RULES_FILE: ${CI_PROJECT_DIR}/tools/ci/static-analysis-rules.yml
OUTPUT_DIR: ${CI_PROJECT_DIR}/clang_tidy_reports
script:
- run_cmd idf_clang_tidy $(cat tools/ci/clang_tidy_dirs.txt | xargs)
--output-path clang_tidy_reports
--limit-file tools/ci/static-analysis-rules.yml
- python -m pip install -U pip
- internal_pip_install $CLANG_TIDY_RUNNER_PROJ pyclang
- export PATH=$PATH:$(python -c "import sys; print(sys.executable.rsplit('/', 1)[0])")
- dirs=$(cat ${CLANG_TIDY_DIRS_TXT} | while read line; do echo ${CI_PROJECT_DIR}/${line}; done | xargs)
- run_cmd idf_clang ${dirs}
--output-path ${OUTPUT_DIR}
--limit-file ${RULES_FILE}
--xtensa-include-dir
--run-clang-tidy-py ${RUN_CLANG_TIDY_PY}
check_pylint:
extends:
- .pre_check_base_template
- .rules:patterns:python-files
- .before_script_minimal
image: $SONARQUBE_SCANNER_IMAGE
artifacts:
when: always
paths:
- pylint-report.txt
expire_in: 1 week
script:
- export PYTHONPATH="$IDF_PATH/tools:$IDF_PATH/tools/ci/python_packages:$PYTHONPATH"
- |
if [ -n "$CI_MERGE_REQUEST_IID" ]; then
export files=$(python ${CI_PROJECT_DIR}/tools/ci/ci_get_mr_info.py files ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME} | grep ".py");
else
export files=$(find . -iname "*.py" -print);
fi
- pylint --rcfile=.pylintrc $files -r n --output-format=parseable > pylint-report.txt || exit 0
# build stage
# Sonarqube related jobs put here for this reason:
# Here we have two jobs. code_quality_check and code_quality_report.
#
## build stage
## Sonarqube related jobs put here for this reason:
## Here we have two jobs. code_quality_check and code_quality_report.
##
## code_quality_check will analyze the code changes between your MR and
## code repo stored in sonarqube server. The analysis result is only shown in
## the comments under this MR and won't be transferred to the server.
##
## code_quality_report will analyze and transfer both of the newly added code
## and the analysis result to the server.
##
## Put in the front to ensure that the newly merged code can be stored in
## sonarqube server ASAP, in order to avoid reporting unrelated code issues
#.sonar_scan_template:
# stage: build
# extends: .pre_check_template
# # full clone since this image does not support fetch --shallow-since-cutoff
# # shiny runners are used for full clone
# tags: [build, shiny]
# image: $SONARQUBE_SCANNER_IMAGE
# before_script:
# - source tools/ci/utils.sh
# - export PYTHONPATH="$CI_PROJECT_DIR/tools:$CI_PROJECT_DIR/tools/ci/python_packages:$PYTHONPATH"
# - fetch_submodules
# # Exclude the submodules, all paths ends with /**
# - submodules=$(get_all_submodules)
# # get all exclude paths specified in tools/ci/sonar_exclude_list.txt | ignore lines start with # | xargs | replace all <space> to <comma>
# - custom_excludes=$(cat $CI_PROJECT_DIR/tools/ci/sonar_exclude_list.txt | grep -v '^#' | xargs | sed -e 's/ /,/g')
# # Exclude the report dir as well
# - export EXCLUSIONS="$custom_excludes,$submodules"
# - export SONAR_SCANNER_OPTS="-Xmx2048m"
# variables:
# GIT_DEPTH: 0
# REPORT_PATTERN: clang_tidy_reports/**/*.txt
# artifacts:
# paths:
# - $REPORT_PATTERN
# expire_in: 1 week
# when: always
# dependencies: # Here is not a hard dependency relationship, could be skipped when only python files changed. so we do not use "needs" here.
# - clang_tidy_check
# code_quality_check will analyze the code changes between your MR and
# code repo stored in sonarqube server. The analysis result is only shown in
# the comments under this MR and won't be transferred to the server.
#
#code_quality_check:
# extends:
# - .sonar_scan_template
# - .rules:patterns:static-code-analysis-preview
# allow_failure: true # it's using exit code to indicate the code analysis result,
# # we don't want to block ci when critical issues founded
# script:
# - export CI_MERGE_REQUEST_COMMITS=$(python ${CI_PROJECT_DIR}/tools/ci/ci_get_mr_info.py commits --src-branch ${CI_COMMIT_REF_NAME} | tr '\n' ',')
# # test if this branch have merge request, if not, exit 0
# - test -n "$CI_MERGE_REQUEST_IID" || exit 0
# - test -n "$CI_MERGE_REQUEST_COMMITS" || exit 0
# - sonar-scanner
# -Dsonar.analysis.mode=preview
# -Dsonar.branch.name=$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
# -Dsonar.cxx.clangtidy.reportPath=$REPORT_PATTERN
# -Dsonar.exclusions=$EXCLUSIONS
# -Dsonar.gitlab.ci_merge_request_iid=$CI_MERGE_REQUEST_IID
# -Dsonar.gitlab.commit_sha=$CI_MERGE_REQUEST_COMMITS
# -Dsonar.gitlab.merge_request_discussion=true
# -Dsonar.gitlab.ref_name=$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
# -Dsonar.host.url=$SONAR_HOST_URL
# -Dsonar.login=$SONAR_LOGIN
# code_quality_report will analyze and transfer both of the newly added code
# and the analysis result to the server.
#
#code_quality_report:
# extends:
# - .sonar_scan_template
# - .rules:protected
# allow_failure: true # it's using exit code to indicate the code analysis result,
# # we don't want to block ci when critical issues founded
# script:
# - sonar-scanner
# -Dsonar.branch.name=$CI_COMMIT_REF_NAME
# -Dsonar.cxx.clangtidy.reportPath=$REPORT_PATTERN
# -Dsonar.exclusions=$EXCLUSIONS
# -Dsonar.gitlab.commit_sha=$PIPELINE_COMMIT_SHA
# -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME
# -Dsonar.host.url=$SONAR_HOST_URL
# -Dsonar.login=$SONAR_LOGIN
# Put in the front to ensure that the newly merged code can be stored in
# sonarqube server ASAP, in order to avoid reporting unrelated code issues
.sonar_scan_template:
stage: build
image:
name: $SONARQUBE_SCANNER_IMAGE
before_script:
- source tools/ci/utils.sh
- is_based_on_commits $REQUIRED_ANCESTOR_COMMITS
- export PYTHONPATH="$CI_PROJECT_DIR/tools:$CI_PROJECT_DIR/tools/ci/python_packages:$PYTHONPATH"
- fetch_submodules
# Exclude the submodules, all paths ends with /**
- submodules=$(get_all_submodules)
# get all exclude paths specified in tools/ci/sonar_exclude_list.txt | ignore lines start with # | xargs | replace all <space> to <comma>
- custom_excludes=$(cat $CI_PROJECT_DIR/tools/ci/sonar_exclude_list.txt | grep -v '^#' | xargs | sed -e 's/ /,/g')
# Exclude the report dir as well
- export EXCLUSIONS="$custom_excludes,$submodules"
- export SONAR_SCANNER_OPTS="-Xmx2048m"
variables:
GIT_DEPTH: 0
REPORT_PATTERN: clang_tidy_reports/*.txt
artifacts:
when: always
paths:
- $REPORT_PATTERN
tags:
- host_test
dependencies: # Here is not a hard dependency relationship, could be skipped when only python files changed. so we do not use "needs" here.
- clang_tidy_check
- check_pylint
code_quality_check:
extends:
- .sonar_scan_template
- .rules:patterns:static-code-analysis-preview
allow_failure: true # since now it's using exit code to indicate the code analysis result,
# we don't want to block ci when critical issues founded
script:
- export CI_MERGE_REQUEST_COMMITS=$(python ${CI_PROJECT_DIR}/tools/ci/ci_get_mr_info.py commits ${CI_COMMIT_REF_NAME} | tr '\n' ',')
# test if this branch have merge request, if not, exit 0
- test -n "$CI_MERGE_REQUEST_IID" || exit 0
- test -n "$CI_MERGE_REQUEST_COMMITS" || exit 0
- sonar-scanner
-Dsonar.analysis.mode=preview
-Dsonar.branch.name=$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
-Dsonar.cxx.clangtidy.reportPath=$REPORT_PATTERN
-Dsonar.exclusions=$EXCLUSIONS
-Dsonar.gitlab.ci_merge_request_iid=$CI_MERGE_REQUEST_IID
-Dsonar.gitlab.commit_sha=$CI_MERGE_REQUEST_COMMITS
-Dsonar.gitlab.merge_request_discussion=true
-Dsonar.gitlab.ref_name=$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
-Dsonar.host.url=$SONAR_HOST_URL
-Dsonar.login=$SONAR_LOGIN
-Dsonar.python.pylint.reportPath=pylint-report.txt
code_quality_report:
extends:
- .sonar_scan_template
- .rules:protected
allow_failure: true # since now it's using exit code to indicate the code analysis result,
# we don't want to block ci when critical issues founded
script:
- sonar-scanner
-Dsonar.branch.name=$CI_COMMIT_REF_NAME
-Dsonar.cxx.clangtidy.reportPath=$REPORT_PATTERN
-Dsonar.exclusions=$EXCLUSIONS
-Dsonar.gitlab.commit_sha=$PIPELINE_COMMIT_SHA
-Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME
-Dsonar.host.url=$SONAR_HOST_URL
-Dsonar.login=$SONAR_LOGIN
-Dsonar.python.pylint.reportPath=pylint-report.txt

799
.gitlab/ci/target-test.yml Normal file
View File

@@ -0,0 +1,799 @@
# for parallel jobs, CI_JOB_NAME will be "job_name index/total" (for example, "IT_001 1/2")
# we need to convert to pattern "job_name_index.yml"
.define_config_file_name: &define_config_file_name |
JOB_NAME_PREFIX=$(echo ${CI_JOB_NAME} | awk '{print $1}')
JOB_FULL_NAME="${JOB_NAME_PREFIX}_${CI_NODE_INDEX}"
CONFIG_FILE="${CONFIG_FILE_PATH}/${JOB_FULL_NAME}.yml"
.target_test_job_template:
stage: target_test
artifacts:
when: always
paths:
- "**/*.log"
- $LOG_PATH
exclude:
- .git/**/*
expire_in: 1 week
reports:
junit: $LOG_PATH/*/XUNIT_RESULT.xml
variables:
TEST_FW_PATH: "$CI_PROJECT_DIR/tools/tiny-test-fw"
LOG_PATH: "$CI_PROJECT_DIR/TEST_LOGS"
ENV_FILE: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/EnvConfig.yml"
SUBMODULES_TO_FETCH: "components/esptool_py/esptool"
script:
- *define_config_file_name
# first test if config file exists, if not exist, exit 0
- |
{ [[ -e $CONFIG_FILE ]]; } || { echo 'No config file found. Consider decreasing the parallel count of this job in ".gitlab/ci/target-test.yml"'; exit 0; }
# clone test env configs
- 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
- 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_FILE_NAME}
.example_test_template:
extends: .target_test_job_template
needs:
- assign_example_test
variables:
TEST_CASE_PATH: "$CI_PROJECT_DIR/examples"
CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/examples/test_configs"
.example_debug_template:
extends:
- .example_test_template
- .rules:test:example_test-esp32
variables:
SUBMODULES_TO_FETCH: "all"
test_weekend_mqtt:
extends:
- .test_app_esp32_template
- .rules:labels:weekend_test
tags:
- ESP32
- Example_EthKitV1
script:
- export MQTT_PUBLISH_TEST=1
- export TEST_PATH=$CI_PROJECT_DIR/tools/test_apps/protocols/mqtt/publish_connect_test
- cd $IDF_PATH/tools/ci/python_packages/tiny_test_fw/bin
- run_cmd python Runner.py $TEST_PATH -c $TEST_PATH/publish_connect_mqtt_.yml
.example_test_esp32_template:
extends:
- .example_test_template
- .rules:test:example_test-esp32
.example_test_esp32s2_template:
extends:
- .example_test_template
- .rules:test:example_test-esp32s2
.example_test_esp32c3_template:
extends:
- .example_test_template
- .rules:test:example_test-esp32c3
.example_test_esp32s3_template:
extends:
- .example_test_template
- .rules:test:example_test-esp32s3
example_test_001A:
extends: .example_test_esp32_template
tags:
- ESP32
- Example_WIFI
example_test_001B:
extends: .example_test_esp32_template
tags:
- ESP32
- Example_EthKitV1
example_test_httpbin:
extends: .example_test_esp32_template
tags:
- ESP32
- httpbin
example_test_001B_V3:
extends: .example_test_esp32_template
tags:
- ESP32
- Example_EthKitV12
example_test_001C:
extends: .example_test_esp32_template
parallel: 4
tags:
- ESP32
- Example_GENERIC
example_test_001D:
extends: .example_test_esp32_template
tags:
- ESP32
- Example_8Mflash_Ethernet
example_test_OTA:
extends: .example_test_esp32_template
tags:
- ESP32
- EXAMPLE_ETH_OTA
example_test_protocols:
extends: .example_test_esp32_template
parallel: 2
tags:
- ESP32
- Example_WIFI_Protocols
# This job is only triggered by env var `NIGHTLY_RUN`, please do NOT remove
example_test_esp32_WIFI_OTA:
extends: .example_test_esp32_template
tags:
- ESP32
- Example_WIFI_OTA
example_test_002:
extends: .example_test_esp32_template
image: $CI_DOCKER_REGISTRY/ubuntu-test-env$BOT_DOCKER_IMAGE_TAG
tags:
- ESP32
- Example_ShieldBox_Basic
example_test_ethernet:
extends: .example_test_esp32_template
tags:
- ESP32
- Example_Ethernet
.example_test_003:
extends: .example_test_esp32_template
tags:
- ESP32
- Example_SDIO
example_test_004A:
extends: .example_test_esp32_template
tags:
- ESP32
- Example_TWAI1
example_test_004B:
extends: .example_test_esp32_template
tags:
- ESP32
- Example_TWAI2
example_test_005:
extends: .example_test_esp32_template
tags:
- ESP32
- Example_WIFI_BT
example_test_006:
extends:
- .example_test_esp32_template
- .rules:labels:iperf_stress_test
image: $CI_DOCKER_REGISTRY/ubuntu-test-env$BOT_DOCKER_IMAGE_TAG
tags:
- ESP32
- Example_ShieldBox
example_test_007:
extends: .example_test_esp32_template
tags:
- ESP32
- Example_I2C_CCS811_SENSOR
example_test_008A:
extends: .example_test_esp32_template
tags:
- ESP32
- Example_Flash_Encryption
example_test_008B:
extends: .example_test_esp32_template
tags:
- ESP32
- Example_Flash_Encryption_OTA
example_test_009:
extends: .example_test_esp32_template
tags:
- ESP32
- test_jtag_arm
variables:
SETUP_TOOLS: "1"
PYTHON_VER: 3
example_test_010:
extends: .example_test_esp32_template
tags:
- ESP32
- Example_ExtFlash
example_test_011:
extends: .example_debug_template
tags:
- ESP32
- Example_T2_RS485
variables:
SETUP_TOOLS: "1"
example_test_012:
extends: .example_test_esp32_template
tags:
- ESP32
- Example_RMT_IR_PROTOCOLS
example_test_013:
extends: .example_test_esp32_template
tags:
- ESP32
- UT_T1_SDMODE
example_test_014:
extends: .example_test_esp32_template
tags:
- ESP32
- 8Mpsram
example_test_015:
extends: .example_test_esp32_template
tags:
- ESP32
- Example_PPP
example_test_016:
extends: .example_test_esp32_template
tags:
- ESP32
- Example_Modbus_TCP
example_test_017:
extends: .example_test_esp32s2_template
tags:
- ESP32S2
- Example_GENERIC
example_test_C3_GENERIC:
extends: .example_test_esp32c3_template
parallel: 3
tags:
- ESP32C3
- Example_GENERIC
example_test_C3_FLASH_ENC:
extends: .example_test_esp32c3_template
tags:
- ESP32C3
- Example_Flash_Encryption
example_test_C3_FLASH_ENC_OTA:
extends: .example_test_esp32c3_template
tags:
- ESP32C3
- Example_Flash_Encryption_OTA_WiFi
example_test_ESP32_SDSPI:
extends: .example_test_esp32_template
tags:
- ESP32
- UT_T1_SPIMODE
example_test_S3_GENERIC:
extends: .example_test_esp32s3_template
tags:
- ESP32S3
- Example_GENERIC
example_test_ESP32S2_SDSPI:
extends: .example_test_esp32s2_template
tags:
- ESP32S2
- UT_T1_SPIMODE
example_test_ESP32C3_SDSPI:
extends: .example_test_esp32c3_template
tags:
- ESP32C3
- UT_T1_SPIMODE
.test_app_template:
extends: .target_test_job_template
needs:
- assign_custom_test
variables:
TEST_CASE_PATH: "$CI_PROJECT_DIR/tools/test_apps"
CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/tools/test_apps/test_configs"
.test_app_esp32_template:
extends:
- .test_app_template
- .rules:test:custom_test-esp32
.test_app_esp32s2_template:
extends:
- .test_app_template
- .rules:test:custom_test-esp32s2
.test_app_esp32c3_template:
extends:
- .test_app_template
- .rules:test:custom_test-esp32c3
.test_app_esp32s3_template:
extends:
- .test_app_template
- .rules:test:custom_test-esp32s3
test_app_test_001:
extends: .test_app_esp32_template
tags:
- ESP32
- test_jtag_arm
variables:
SETUP_TOOLS: "1"
test_app_test_002:
extends: .test_app_esp32_template
tags:
- ESP32
- Example_WIFI
test_app_test_eth:
extends: .test_app_esp32_template
tags:
- ESP32
- Example_EthKitV1
test_app_test_003:
extends: .test_app_esp32_template
tags:
- ESP32
- Example_PPP
test_app_test_004:
extends: .test_app_esp32s2_template
tags:
- ESP32S2
- Example_GENERIC
test_app_test_005:
extends: .test_app_esp32c3_template
tags:
- 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
tags:
- ESP32
- Example_GENERIC
variables:
SETUP_TOOLS: "1"
test_app_test_flash_psram_f4r4:
extends: .test_app_esp32s3_template
tags:
- ESP32S3
- MSPI_F4R4
test_app_test_flash_psram_f4r8:
extends: .test_app_esp32s3_template
tags:
- ESP32S3
- MSPI_F4R8
test_app_test_flash_psram_f8r8:
extends: .test_app_esp32s3_template
tags:
- 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
- assign_component_ut
variables:
CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/component_ut/test_configs"
script:
- *define_config_file_name
# first test if config file exists, if not exist, exit 0
- test -e $CONFIG_FILE || exit 0
- set_component_ut_vars
# clone test env configs
- 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
- 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_FILE_NAME}
.component_ut_esp32_template:
extends:
- .component_ut_template
- .rules:test:component_ut-esp32
.component_ut_esp32s2_template:
extends:
- .component_ut_template
- .rules:test:component_ut-esp32s2
.component_ut_esp32s3_template:
extends:
- .component_ut_template
- .rules:test:component_ut-esp32s3
.component_ut_esp32c3_template:
extends:
- .component_ut_template
- .rules:test:component_ut-esp32c3
component_ut_test_001:
extends: .component_ut_esp32_template
tags:
- ESP32
- COMPONENT_UT_GENERIC
component_ut_test_esp32s2:
extends: .component_ut_esp32s2_template
tags:
- ESP32S2
- COMPONENT_UT_GENERIC
component_ut_test_esp32s3:
extends: .component_ut_esp32s3_template
tags:
- ESP32S3
- COMPONENT_UT_GENERIC
component_ut_test_esp32c3:
extends: .component_ut_esp32c3_template
tags:
- ESP32C3
- COMPONENT_UT_GENERIC
.unit_test_template:
extends: .target_test_job_template
needs: # the assign already needs all the build jobs
- assign_unit_test
variables:
TEST_CASE_PATH: "$CI_PROJECT_DIR/tools/unit-test-app"
CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/components/idf_test/unit_test/test_configs"
.unit_test_esp32_template:
extends:
- .unit_test_template
- .rules:test:unit_test-esp32
.unit_test_esp32s2_template:
extends:
- .unit_test_template
- .rules:test:unit_test-esp32s2
.unit_test_esp32s3_template:
extends:
- .unit_test_template
- .rules:test:unit_test-esp32s3
.unit_test_esp32c3_template:
extends:
- .unit_test_template
- .rules:test:unit_test-esp32c3
UT_001:
extends: .unit_test_esp32_template
parallel: 50
tags:
- ESP32_IDF
- UT_T1_1
# Max. allowed value of 'parallel' is 50.
UT_002:
extends: .unit_test_esp32_template
parallel: 16
tags:
- ESP32_IDF
- UT_T1_1
- psram
UT_003:
extends: .unit_test_esp32_template
parallel: 2
tags:
- ESP32_IDF
- UT_T1_SDMODE
UT_004:
extends: .unit_test_esp32_template
tags:
- ESP32_IDF
- UT_T1_SPIMODE
UT_005:
extends: .unit_test_esp32_template
tags:
- ESP32_IDF
- UT_T1_SDMODE
- psram
UT_006:
extends: .unit_test_esp32_template
tags:
- ESP32_IDF
- UT_T1_SPIMODE
- psram
UT_007:
extends: .unit_test_esp32_template
parallel: 8
tags:
- ESP32_IDF
- UT_T1_1
UT_008:
extends: .unit_test_esp32_template
tags:
- ESP32_IDF
- UT_T1_GPIO
- psram
UT_012:
extends: .unit_test_esp32_template
tags:
- ESP32_IDF
- UT_T1_LEDC
- psram
UT_014:
extends: .unit_test_esp32_template
tags:
- ESP32_IDF
- UT_T2_RS485
- psram
UT_017:
extends: .unit_test_esp32_template
tags:
- ESP32_IDF
- EMMC
UT_018:
extends: .unit_test_esp32_template
parallel: 2
tags:
- ESP32_IDF
- UT_T1_1
- 8Mpsram
UT_020:
extends: .unit_test_esp32_template
tags:
- ESP32_IDF
- Example_SPI_Multi_device
- psram
UT_021:
extends: .unit_test_esp32_template
tags:
- ESP32_IDF
- psram
- UT_T1_FlashEncryption
UT_022:
extends: .unit_test_esp32_template
tags:
- ESP32_IDF
- UT_T2_I2C
- psram
UT_028:
extends: .unit_test_esp32_template
tags:
- ESP32_IDF
- UT_T2_1
- psram
UT_031:
extends: .unit_test_esp32_template
tags:
- ESP32_IDF
- UT_T1_FlashEncryption
UT_033:
extends: .unit_test_esp32_template
tags:
- ESP32_IDF
- UT_T2_Ethernet
- psram
UT_034:
extends: .unit_test_esp32_template
parallel: 2
tags:
- ESP32_IDF
- UT_T1_ESP_FLASH
UT_035:
extends: .unit_test_esp32s2_template
parallel: 50
tags:
- ESP32S2_IDF
- UT_T1_1
UT_036:
extends: .unit_test_esp32_template
tags:
- ESP32_IDF
- UT_T1_PSRAMV0
- psram
# ToDo: re-enable this job when ESP32-S2 LEDC runner installed
# UT_037:
# extends: .unit_test_esp32s2_template
# tags:
# - ESP32S2_IDF
# - UT_T1_LEDC
UT_038:
extends: .unit_test_esp32s2_template
parallel: 2
tags:
- ESP32S2_IDF
- UT_T1_ESP_FLASH
UT_041:
extends: .unit_test_esp32_template
tags:
- ESP32_IDF
- UT_T1_no32kXTAL
- psram
UT_043:
extends: .unit_test_esp32_template
tags:
- ESP32_IDF
- UT_T1_32kXTAL
- psram
UT_044:
extends: .unit_test_esp32_template
tags:
- ESP32_IDF
- UT_SDIO
UT_045:
extends: .unit_test_esp32_template
tags:
- ESP32_IDF
- UT_SDIO
- psram
UT_046:
extends: .unit_test_esp32_template
tags:
- ESP32_IDF
- UT_T1_GPIO
UT_047:
extends: .unit_test_esp32s2_template
parallel: 8
tags:
- ESP32S2_IDF
- UT_T1_1
UT_S2_SPI_DUAL:
extends: .unit_test_esp32s2_template
tags:
- ESP32S2_IDF
- Example_SPI_Multi_device
UT_S2_SDSPI:
extends: .unit_test_esp32s2_template
tags:
- ESP32S2_IDF
- UT_T1_SPIMODE
UT_C3:
extends: .unit_test_esp32c3_template
parallel: 36
tags:
- ESP32C3_IDF
- UT_T1_1
UT_C3_FLASH:
extends: .unit_test_esp32c3_template
parallel: 2
tags:
- ESP32C3_IDF
- UT_T1_ESP_FLASH
UT_C3_SPI_DUAL:
extends: .unit_test_esp32c3_template
tags:
- ESP32C3_IDF
- Example_SPI_Multi_device
UT_C3_FLASH_ENC:
extends: .unit_test_esp32c3_template
tags:
- ESP32C3_IDF
- UT_T1_FlashEncryption
UT_C3_I2C:
extends: .unit_test_esp32c3_template
tags:
- ESP32C3_IDF
- UT_T2_I2C
UT_C3_FLASH_SUSPEND:
extends: .unit_test_esp32c3_template
tags:
- ESP32C3_IDF
- UT_T1_Flash_Suspend
UT_C3_SDSPI:
extends: .unit_test_esp32c3_template
tags:
- ESP32C3_IDF
- UT_T1_SPIMODE
UT_S3:
extends: .unit_test_esp32s3_template
parallel: 33
tags:
- ESP32S3_IDF
- UT_T1_1
UT_S3_SPI_DUAL:
extends: .unit_test_esp32s3_template
tags:
- ESP32S3_IDF
- Example_SPI_Multi_device
UT_S3_FLASH:
extends: .unit_test_esp32s3_template
parallel: 2
tags:
- ESP32S3_IDF
- UT_T1_ESP_FLASH
component_ut_test_ip101:
extends: .component_ut_esp32_template
image: $CI_DOCKER_REGISTRY/ubuntu-test-env
tags:
- ESP32
- eth_ip101
component_ut_test_lan8720:
extends: .component_ut_esp32_template
image: $CI_DOCKER_REGISTRY/ubuntu-test-env
tags:
- ESP32
- eth_lan8720

View File

@@ -1,98 +0,0 @@
# Host tests
.host_test_win_template:
extends: .rules:test:host_test
stage: host_test
image: $ESP_ENV_IMAGE
tags:
- windows-build
dependencies: # set dependencies to null to avoid missing artifacts issue
# run host_test jobs immediately, only after upload cache
needs:
- job: upload-pip-cache
optional: true
artifacts: false
- job: upload-submodules-cache
optional: true
artifacts: false
before_script: []
after_script: []
test_cli_installer_win:
extends:
- .host_test_win_template
- .rules:labels:windows_pytest_build_system
artifacts:
when: on_failure
paths:
- tools/tools.new.json
- tools/test_idf_tools/test_python_env_logs.txt
expire_in: 1 week
variables:
IDF_PATH: "$CI_PROJECT_DIR"
timeout: 3h
allow_failure: true
script:
# Tools must be downloaded for testing
- python ${IDF_PATH}\tools\idf_tools.py download required qemu-riscv32 qemu-xtensa cmake
- cd ${IDF_PATH}\tools\test_idf_tools
- python -m pip install jsonschema
- python .\test_idf_tools.py
- python .\test_idf_tools_python_env.py
test_tools_win:
extends:
- .host_test_win_template
- .rules:labels:windows_pytest_build_system
artifacts:
paths:
- ${IDF_PATH}/*.out
- ${IDF_PATH}/XUNIT_*.xml
reports:
junit: ${IDF_PATH}/XUNIT_*.xml
expire_in: 1 week
when: always
variables:
LC_ALL: C.UTF-8
PYTHONPATH: "$PYTHONPATH;$IDF_PATH\\tools;$IDF_PATH\\tools\\esp_app_trace;$IDF_PATH\\components\\partition_table;$IDF_PATH\\tools\\ci\\python_packages"
script:
- python -m pip install jsonschema
- .\install.ps1 --enable-ci --enable-pytest
- .\export.ps1
- python "${SUBMODULE_FETCH_TOOL}" -s "all"
- cd ${IDF_PATH}/tools/test_idf_py
- pytest --noconftest test_idf_py.py --junitxml=${IDF_PATH}/XUNIT_IDF_PY.xml
- pytest --noconftest test_hints.py --junitxml=${IDF_PATH}/XUNIT_HINTS.xml
# Build tests
.test_build_system_template_win:
stage: host_test
variables:
# Enable ccache for all build jobs. See configure_ci_environment.sh for more ccache related settings.
IDF_CCACHE_ENABLE: "1"
PYTHONPATH: "$PYTHONPATH;$IDF_PATH\\tools;$IDF_PATH\\tools\\esp_app_trace;$IDF_PATH\\components\\partition_table;$IDF_PATH\\tools\\ci\\python_packages"
before_script: []
after_script: []
timeout: 4 hours
script:
- .\install.ps1 --enable-ci --enable-pytest
- . .\export.ps1
- python "${SUBMODULE_FETCH_TOOL}" -s "all"
- cd ${IDF_PATH}\tools\test_build_system
- pytest --parallel-count ${CI_NODE_TOTAL} --parallel-index ${CI_NODE_INDEX} --junitxml=${CI_PROJECT_DIR}\XUNIT_RESULT.xml
pytest_build_system_win:
extends:
- .test_build_system_template_win
- .rules:labels:windows_pytest_build_system
parallel: 2
needs: []
tags:
- windows-build
artifacts:
paths:
- XUNIT_RESULT.xml
- test_build_system
expire_in: 2 days
reports:
junit: XUNIT_RESULT.xml
when: always

View File

@@ -1,50 +0,0 @@
# pull only for most of the use cases for cache
# only set "push" policy for the jobs under this file.
# The cache would be updated when files matched specified patterns changes.
.upload_cache_template:
stage: upload_cache
image: $ESP_ENV_IMAGE
upload-pip-cache:
extends:
- .upload_cache_template
- .before_script:minimal
- .rules:upload-python-cache
tags:
- $GEO
- cache
cache:
key: pip-cache-${LATEST_GIT_TAG}
paths:
- .cache/pip
policy: push
script:
- rm -rf .cache/pip # clear old packages
- bash install.sh --enable-ci --enable-pytest
parallel:
matrix:
- GEO: [ 'shiny', 'brew' ]
upload-submodules-cache:
extends:
- .upload_cache_template
- .before_script:minimal
- .rules:upload-submodule-cache
tags:
- $GEO
- cache
cache:
key: submodule-cache-${LATEST_GIT_TAG}
paths:
- .cache/submodule_archives
policy: push
script:
# use the default gitlab server
- unset LOCAL_GITLAB_HTTPS_HOST
- rm -rf .cache/submodule_archives # clear old submodule archives
- add_gitlab_ssh_keys
- fetch_submodules
parallel:
matrix:
- GEO: [ 'shiny', 'brew' ]

View File

@@ -1,32 +0,0 @@
<!-- This Template states the absolute minimum for an MR.
If you want to have a more elaborate template or know why we have this structure,
please use the "Mixed Template" or consult the Wiki. -->
<!-- Add the CI labels to trigger the appropriate tests (e.g. "unit_test_esp32") --><!-- Mandatory -->
<!-- Make sure the commit message follows the Wiki about "Commit Messages" --><!-- Mandatory -->
<!-- Add description of the change here --><!-- Mandatory -->
## Related <!-- Optional -->
<!-- Related Jira issues and Github issues or write "No related issues"-->
## Release notes <!-- Mandatory -->
<!-- Either state release notes or write "No release notes" -->
<!-- ## Breaking change notes --><!-- Optional -->
<!-- ## Dynamic Pipeline Configuration
```yaml
Test Case Filters:
# Only run tests that match the given substring expression (modified files/components will be ignored):
# Please use a list of strings.
# This will run the test cases filtered like `pytest -k "(<list_item_1>) or (<list_item_2>) or ...`
# The fast pipeline will fail at the final stage.
# For example:
- test_sdm and not sdmmc
- test_hello_world
# This example will include all tests containing 'test_hello_world' in the name,
# and include all tests containing 'test_sdm' but not 'sdmmc' in the name.
``` --><!-- Optional -->
<!-- Don't remove the next line - assigns the MR author as the assignee -->
/assign me

View File

@@ -10,7 +10,8 @@ _This entire section can be deleted if all items are checked._
* [ ] All related links, including JIRA, backport, submodule MR, are mentioned in the `Related` subsection.
* [ ] Any GitHub issues are linked inside the git commit message and corresponding release notes
* [ ] Add label for the area this MR is part of
* [ ] For documentation updates, check if label `needs translation:CN` or `needs translation:EN` have been added when the other language version still needs the update. Don't add such labels if the document updated has never been translated before and requires translation from scratch.
* [ ] For documentation updates, check if label `Docs` and `needs translation:CN` or `needs translation:EN` have been added when the other language version still needs the update. Skip adding the label if the document is not yet translated.
* [ ] Check if documents requiring translation fall under get-started section. If yes, add the labels mentioned above. Then the documentation team will assign a translator for you. Please inform the translator to prepare translation once your MR is ready to merge. The translation should be included in your MR to get it merged. For more information, see documentation workflow in Wiki.
* [ ] Any necessary "needs backport" labels are added
* [ ] Check if this is a breaking change. If it is, add notes to the `Breaking change notes` subsection below
* [ ] Release note entry if this is a new public feature, or a fix for an issue introduced in the previous release.
@@ -41,7 +42,7 @@ _For other small/non-public changes, which are not expected to be in the release
_Don't touch the subsection titles below, they will be parsed by scripts._
## Release notes <!-- Mandatory -->
## Release notes (Mandatory)
_Changes made in this MR that should go into the **Release Notes** should be listed here. Please use **past tense** and *specify the area (see maintainers page of IDF internal wiki)*. If there is a subscope, include it and separate with slash (`/`). Minor changes can go to the descriptions above without a release notes entry._
@@ -60,6 +61,3 @@ _If there are any breaking changes, please mention it here. Talking about (1) wh
_Please strictly follow the breaking change restriction, which means, if there is a breaking change but you are merging to non-major versions, you have to separate the breaking part out to another MR for a major version. The breaking change subsection is only accepted in MRs merging to major versions._
* [VFS/UART] Now vfs_uart_set_rts_cts accept one more instance argument, to support configuration to different ports.
<!-- Don't remove the next line - assigns the MR author as the assignee -->
/assign me

83
.gitmodules vendored
View File

@@ -23,9 +23,13 @@
# 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
url = ../../espressif/esptool.git
[submodule "components/bt/controller/lib_esp32"]
path = components/bt/controller/lib_esp32
url = ../../espressif/esp32-bt-lib.git
url = ../../espressif/esp32-bt-lib.git
[submodule "components/bootloader/subproject/components/micro-ecc/micro-ecc"]
path = components/bootloader/subproject/components/micro-ecc/micro-ecc
@@ -37,6 +41,18 @@
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
url = ../../obgm/libcoap.git
[submodule "components/nghttp/nghttp2"]
path = components/nghttp/nghttp2
url = ../../nghttp2/nghttp2.git
[submodule "components/libsodium/libsodium"]
path = components/libsodium/libsodium
url = ../../jedisct1/libsodium.git
[submodule "components/spiffs/spiffs"]
path = components/spiffs/spiffs
url = ../../pellepl/spiffs.git
@@ -49,20 +65,25 @@
[submodule "components/json/cJSON"]
path = components/json/cJSON
url = ../../DaveGamble/cJSON.git
sbom-version = 1.7.18
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 = 8f2beb57ddad1f94bed899790b00f46df893ccac
sbom-cve-exclude-list = CVE-2024-31755 Resolved in v1.7.18
sbom-cve-exclude-list = CVE-2023-26819 Resolved in commit a328d65ad490b64da8c87523cbbfe16050ba5bf6
sbom-cve-exclude-list = CVE-2023-53154 Resolved in v1.7.18
sbom-hash = 87d8f0961a01bf09bef98ff89bae9fdec42181ee
[submodule "components/mbedtls/mbedtls"]
path = components/mbedtls/mbedtls
url = ../../espressif/mbedtls.git
[submodule "components/asio/asio"]
path = components/asio/asio
url = ../../espressif/asio.git
[submodule "components/expat/expat"]
path = components/expat/expat
url = ../../libexpat/libexpat.git
[submodule "components/lwip/lwip"]
path = components/lwip/lwip
url = ../../espressif/esp-lwip.git
@@ -84,20 +105,36 @@
[submodule "components/unity/unity"]
path = components/unity/unity
url = ../../ThrowTheSwitch/Unity.git
sbom-version = v2.6.0-RC1
sbom-version = v2.4.3-51-g7d2bf62b7e6a
sbom-supplier = Organization: ThrowTheSwitch community <http://www.throwtheswitch.org>
sbom-url = https://github.com/ThrowTheSwitch/Unity
sbom-description = Simple Unit Testing for C
sbom-hash = bf560290f6020737eafaa8b5cbd2177c3956c03f
sbom-hash = 7d2bf62b7e6afaf38153041a9d53c21aeeca9a25
[submodule "examples/build_system/cmake/import_lib/main/lib/tinyxml2"]
path = examples/build_system/cmake/import_lib/main/lib/tinyxml2
url = ../../leethomason/tinyxml2.git
[submodule "components/bt/host/nimble/nimble"]
path = components/bt/host/nimble/nimble
url = ../../espressif/esp-nimble.git
[submodule "components/cbor/tinycbor"]
path = components/cbor/tinycbor
url = ../../intel/tinycbor.git
[submodule "components/esp_wifi/lib"]
path = components/esp_wifi/lib
url = ../../espressif/esp32-wifi-lib.git
[submodule "components/tinyusb/tinyusb"]
path = components/tinyusb/tinyusb
url = ../../espressif/tinyusb.git
[submodule "examples/peripherals/secure_element/atecc608_ecdsa/components/esp-cryptoauthlib"]
path = examples/peripherals/secure_element/atecc608_ecdsa/components/esp-cryptoauthlib
url = ../../espressif/esp-cryptoauthlib.git
[submodule "components/cmock/CMock"]
path = components/cmock/CMock
url = ../../ThrowTheSwitch/CMock.git
@@ -123,30 +160,6 @@
path = components/openthread/lib
url = ../../espressif/esp-thread-lib.git
[submodule "components/bt/controller/lib_esp32h2/esp32h2-bt-lib"]
path = components/bt/controller/lib_esp32h2/esp32h2-bt-lib
url = ../../espressif/esp32h2-bt-lib.git
[submodule "components/bt/controller/lib_esp32c2/esp32c2-bt-lib"]
path = components/bt/controller/lib_esp32c2/esp32c2-bt-lib
url = ../../espressif/esp32c2-bt-lib.git
[submodule "components/bt/controller/lib_esp32c6/esp32c6-bt-lib"]
path = components/bt/controller/lib_esp32c6/esp32c6-bt-lib
url = ../../espressif/esp32c6-bt-lib.git
[submodule "components/bt/controller/lib_esp32c5/esp32c5-bt-lib"]
path = components/bt/controller/lib_esp32c5/esp32c5-bt-lib
url = ../../espressif/esp32c5-bt-lib.git
[submodule "components/heap/tlsf"]
path = components/heap/tlsf
url = ../../espressif/tlsf.git
[submodule "components/esp_coex/lib"]
path = components/esp_coex/lib
url = ../../espressif/esp-coex-lib.git
[submodule "components/bt/esp_ble_mesh/lib/lib"]
path = components/bt/esp_ble_mesh/lib/lib
url = ../../espressif/esp-ble-mesh-lib.git
[submodule "components/ieee802154/lib"]
path = components/ieee802154/lib
url = ../../espressif/esp-ieee802154-lib.git

View File

@@ -1,35 +1,9 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
default_stages: [pre-commit]
default_stages: [commit]
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: "v0.9.7"
hooks:
- id: ruff-format
- id: ruff
args: [ "--fix" ]
- repo: local
hooks:
- id: pytest-linter
name: Pytest Linter Check
entry: tools/ci/check_test_files.py
language: python
files: 'pytest_.*\.py$'
require_serial: true
additional_dependencies:
- pytest-embedded-idf[serial]~=1.16
- pytest-embedded-jtag~=1.16
- pytest-embedded-qemu~=1.16
- pytest-ignore-test-results~=0.3
- pytest-rerunfailures
- pytest-timeout
- idf-build-apps~=2.8
- python-gitlab
- minio
- click
- esp-idf-monitor
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
@@ -39,20 +13,17 @@ repos:
# 1 - some file extensions
# 2 - any file matching *test*/*expected* (for host tests, if possible use this naming pattern always)
# 3 - any directory named 'testdata'
# 4 - protobuf auto-generated files
# 5 - COPYING files
# 4 - IDF monitor test data
# 5 - protobuf auto-generated files
exclude: &whitespace_excludes |
(?x)^(
.+\.(md|rst|map|bin)|
.+test.*\/.*expected.*|
.+\/testdata\/.+|
.+test_idf_monitor\/tests\/.+|
.*_pb2.py|
.*.pb-c.h|
.*.pb-c.c|
.*.yuv|
.*.rgb|
.*COPYING.*|
docs/sphinx-known-warnings\.txt
.*.pb-c.c
)$
- id: end-of-file-fixer
exclude: *whitespace_excludes
@@ -60,17 +31,22 @@ repos:
- id: mixed-line-ending
args: ['-f=lf']
- id: double-quote-string-fixer
- id: no-commit-to-branch
name: Do not use more than one slash in the branch name
args: ['--pattern', '^[^/]*/[^/]*/']
- id: no-commit-to-branch
name: Do not use uppercase letters in the branch name
args: ['--pattern', '^[^A-Z]*[A-Z]']
- repo: https://github.com/codespell-project/codespell
rev: v2.3.0
- repo: https://github.com/PyCQA/flake8
rev: 3.9.2
hooks:
- id: codespell
exclude: ^docs/sphinx-known-warnings\.txt$
- id: flake8
args: ['--config=.flake8', '--tee', '--benchmark']
- repo: https://github.com/asottile/reorder-python-imports
rev: v3.12.0
hooks:
- id: reorder-python-imports
name: Reorder Python imports
args: [--py36-plus]
exclude: >
(?x)^(
.*_pb2.py
)$
- repo: local
hooks:
- id: check-executables
@@ -85,6 +61,16 @@ repos:
language: python
pass_filenames: false
always_run: true
- id: check-kconfigs
name: Validate Kconfig files
entry: tools/ci/check_kconfigs.py
language: python
files: '^Kconfig$|Kconfig.*$'
- id: check-deprecated-kconfigs-options
name: Check if any Kconfig Options Deprecated
entry: tools/ci/check_deprecated_kconfigs.py
language: python
files: 'sdkconfig\.ci$|sdkconfig\.rename$|sdkconfig.*$'
- id: cmake-lint
name: Check CMake Files Format
entry: cmakelint --linelength=120 --spaces=4 --filter=-whitespace/indent
@@ -97,41 +83,36 @@ repos:
name: Validate Codeowner File
entry: tools/ci/check_codeowners.py ci-check
language: python
always_run: true
files: '\.gitlab/CODEOWNERS'
pass_filenames: false
- id: check-rules-yml
name: Check rules.yml all rules have at lease one job applied, all rules needed exist
entry: tools/ci/check_rules_yml.py
language: python
files: '\.gitlab/ci/.+\.yml|\.gitlab-ci.yml'
pass_filenames: false
additional_dependencies:
- PyYAML == 5.3.1
- id: check-generated-rules
name: Check rules are generated (based on .gitlab/ci/dependencies/dependencies.yml)
entry: tools/ci/generate_rules.py
entry: .gitlab/ci/dependencies/generate_rules.py
language: python
files: '\.gitlab/ci/dependencies/.+|\.gitlab/ci/.*\.yml|.gitlab-ci.yml'
files: '\.gitlab/ci/dependencies/.+|\.gitlab/ci/rules\.yml'
pass_filenames: false
require_serial: true
additional_dependencies:
- PyYAML == 5.3.1
- id: mypy-check
name: Check type annotations in python files
entry: tools/ci/check_type_comments.py
additional_dependencies:
- 'mypy'
- 'mypy-extensions'
- 'types-setuptools'
- 'types-PyYAML'
- 'types-requests'
- 'mypy==1.0.1'
- 'mypy-extensions==1.0.0'
exclude: >
(?x)^(
.*_pb2.py
)$
language: python
types: [python]
- id: check-requirement-files
name: Check requirement files
entry: tools/ci/check_requirement_files.py
additional_dependencies:
- 'jsonschema'
language: python
files: 'tools/requirements.+|tools/requirements/.+'
pass_filenames: false
- id: check-tools-files-patterns
name: Check tools dir files patterns
entry: tools/ci/check_tools_files_patterns.py
@@ -140,118 +121,13 @@ repos:
additional_dependencies:
- PyYAML == 5.3.1
pass_filenames: false
- id: check-rules-components-patterns
name: check patterns-build_components in rules.yml
entry: tools/ci/check_rules_components_patterns.py
language: python
files: 'components/.+|.gitlab/ci/rules.yml'
additional_dependencies:
- PyYAML == 5.3.1
pass_filenames: false
- id: check-generated-soc-caps-kconfig
name: Check soc caps kconfig files are generated (based on components/soc/IDF_TARGET/include/soc/soc_caps.h)
entry: tools/gen_soc_caps_kconfig/gen_soc_caps_kconfig.py -d 'components/soc/*/include/soc/' 'components/esp_rom/*/' 'components/spi_flash/*/'
language: python
files: 'components/soc/.+/include/soc/.+_caps\.h|components/esp_rom/.+/.+_caps\.h|kconfig\.soc_caps.in|components/spi_flash/.+/.+_caps\.h'
pass_filenames: false
additional_dependencies:
- pyparsing
- id: check-all-apps-readmes
name: Check if all apps readme files match given .build-test-rules.yml files. Modify the supported target tables
entry: tools/ci/check_build_test_rules.py check-readmes
language: python
files: 'tools/test_apps/.+|examples/.+|components/.+|tools/idf_py_actions/constants.py|tools/ci/check_build_test_rules.py'
require_serial: true
additional_dependencies:
- PyYAML == 5.3.1
- idf-build-apps>=2.8,<3
- id: sort-yaml-files
name: sort yaml files
entry: tools/ci/sort_yaml.py
language: python
files: '\.build-test-rules\.yml$|known_generate_test_child_pipeline_warnings\.yml$'
additional_dependencies:
- ruamel.yaml
- id: sort-yaml-test
name: sort yaml test
entry: python -m unittest tools/ci/sort_yaml.py
language: python
files: 'tools/ci/sort_yaml\.py$'
additional_dependencies:
- ruamel.yaml
- id: check-build-test-rules-path-exists
name: check path in .build-test-rules.yml exists
entry: tools/ci/check_build_test_rules.py check-exist
language: python
additional_dependencies:
- PyYAML == 5.3.1
always_run: true
pass_filenames: false
require_serial: true
- id: cleanup-ignore-lists
name: Remove non-existing patterns from ignore lists
entry: tools/ci/cleanup_ignore_lists.py
language: python
always_run: true
require_serial: true
- id: gitlab-yaml-linter
name: Check gitlab yaml files
entry: tools/ci/gitlab_yaml_linter.py
language: python
files: '\.gitlab-ci\.yml|\.gitlab/ci/.+\.yml|\.gitmodules'
pass_filenames: false
additional_dependencies:
- PyYAML == 5.3.1
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.1
hooks:
- id: file-contents-sorter
files: 'tools\/ci\/(executable-list\.txt|mypy_ignore_list\.txt|check_copyright_ignore\.txt)'
- repo: https://github.com/espressif/check-copyright/
rev: v1.1.1
hooks:
- id: check-copyright
args: ['--ignore', 'tools/ci/check_copyright_ignore.txt', '--config', 'tools/ci/check_copyright_config.yaml']
- repo: https://github.com/espressif/conventional-precommit-linter
rev: v1.7.0
hooks:
- id: conventional-precommit-linter
stages: [commit-msg]
- repo: https://github.com/espressif/astyle_py.git
rev: v1.0.5
hooks:
- id: astyle_py
# If you are modifying astyle version, update tools/format.sh as well
args: ['--astyle-version=3.4.7', '--rules=tools/ci/astyle-rules.yml']
- repo: https://github.com/shellcheck-py/shellcheck-py
rev: v0.9.0.5
hooks:
- id: shellcheck
name: shellcheck bash
args: ['--shell', 'bash', '-x']
files: 'install.sh|export.sh'
- id: shellcheck
name: shellcheck dash (export.sh)
args: ['--shell', 'dash', '-x']
files: 'export.sh'
- repo: https://github.com/espressif/esp-pwsh-check
rev: v1.0.1
hooks:
- id: check-powershell-scripts
stages: [manual]
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]
- repo: https://github.com/sphinx-contrib/sphinx-lint
rev: v0.9.1
hooks:
- id: 'sphinx-lint'
name: Lint rST files in docs folder using Sphinx Lint
files: ^(docs/en|docs/zh_CN)/.*\.(rst|inc)$
- repo: https://github.com/espressif/esp-idf-kconfig.git
rev: v2.5.0
hooks:
- id: check-kconfig-files
- id: check-deprecated-kconfig-options

606
.pylintrc Normal file
View File

@@ -0,0 +1,606 @@
[MASTER]
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code.
extension-pkg-whitelist=
# Specify a score threshold to be exceeded before program exits with error.
fail-under=10
# Add files or directories to the blacklist. They should be base names, not
# paths.
ignore=CVS
# Add files or directories matching the regex patterns to the blacklist. The
# regex matches against base names, not paths.
ignore-patterns=
# Python code to execute, usually for sys.path manipulation such as
# pygtk.require().
#init-hook=
# Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the
# number of processors available to use.
jobs=1
# Control the amount of potential inferred values when inferring a single
# object. This can help the performance when dealing with large functions or
# complex, nested conditions.
limit-inference-results=100
# List of plugins (as comma separated values of python module names) to load,
# usually to register additional checkers.
load-plugins=
# Pickle collected data for later comparisons.
persistent=yes
# When enabled, pylint would attempt to guess common misconfiguration and emit
# user-friendly hints instead of false-positive error messages.
suggestion-mode=yes
# Allow loading of arbitrary C extensions. Extensions are imported into the
# active Python interpreter and may run arbitrary code.
unsafe-load-any-extension=no
[MESSAGES CONTROL]
# Only show warnings with the listed confidence levels. Leave empty to show
# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED.
confidence=
# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifiers separated by comma (,) or put this
# option multiple times (only on the command line, not in the configuration
# file where it should appear only once). You can also use "--disable=all" to
# disable everything first and then reenable specific checks. For example, if
# you want to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use "--disable=all --enable=classes
# --disable=W".
disable=print-statement,
parameter-unpacking,
unpacking-in-except,
old-raise-syntax,
backtick,
long-suffix,
old-ne-operator,
old-octal-literal,
import-star-module-level,
non-ascii-bytes-literal,
raw-checker-failed,
bad-inline-option,
locally-disabled,
file-ignored,
suppressed-message,
useless-suppression,
deprecated-pragma,
use-symbolic-message-instead,
apply-builtin,
basestring-builtin,
buffer-builtin,
cmp-builtin,
coerce-builtin,
execfile-builtin,
file-builtin,
long-builtin,
raw_input-builtin,
reduce-builtin,
standarderror-builtin,
unicode-builtin,
xrange-builtin,
coerce-method,
delslice-method,
getslice-method,
setslice-method,
no-absolute-import,
old-division,
dict-iter-method,
dict-view-method,
next-method-called,
metaclass-assignment,
indexing-exception,
raising-string,
reload-builtin,
oct-method,
hex-method,
nonzero-method,
cmp-method,
input-builtin,
round-builtin,
intern-builtin,
unichr-builtin,
map-builtin-not-iterating,
zip-builtin-not-iterating,
range-builtin-not-iterating,
filter-builtin-not-iterating,
using-cmp-argument,
eq-without-hash,
div-method,
idiv-method,
rdiv-method,
exception-message-attribute,
invalid-str-codec,
sys-max-int,
bad-python3-import,
deprecated-string-function,
deprecated-str-translate-call,
deprecated-itertools-function,
deprecated-types-field,
next-method-defined,
dict-items-not-iterating,
dict-keys-not-iterating,
dict-values-not-iterating,
deprecated-operator-function,
deprecated-urllib-function,
xreadlines-attribute,
deprecated-sys-function,
exception-escape,
comprehension-escape,
missing-function-docstring, # Modified since here, include this line
missing-class-docstring,
missing-module-docstring,
wrong-import-order,
invalid-name,
too-few-public-methods,
too-many-locals,
bad-super-call, # since we still haven't drop python2 support
too-many-nested-blocks,
too-many-branches,
too-many-statements,
# Enable the message, report, category or checker with the given id(s). You can
# either give multiple identifier separated by comma (,) or put this option
# multiple time (only on the command line, not in the configuration file where
# it should appear only once). See also the "--disable" option for examples.
enable=c-extension-no-member
[REPORTS]
# Python expression which should return a score less than or equal to 10. You
# have access to the variables 'error', 'warning', 'refactor', and 'convention'
# which contain the number of messages in each category, as well as 'statement'
# which is the total number of statements analyzed. This score is used by the
# global evaluation report (RP0004).
evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
# Template used to display messages. This is a python new-style format string
# used to format the message information. See doc for all details.
#msg-template=
# Set the output format. Available formats are text, parseable, colorized, json
# and msvs (visual studio). You can also give a reporter class, e.g.
# mypackage.mymodule.MyReporterClass.
output-format=text
# Tells whether to display a full report or only the messages.
reports=no
# Activate the evaluation score.
score=yes
[REFACTORING]
# Maximum number of nested blocks for function / method body
max-nested-blocks=5
# Complete name of functions that never returns. When checking for
# inconsistent-return-statements if a never returning function is called then
# it will be considered as an explicit return statement and no message will be
# printed.
never-returning-functions=sys.exit
[TYPECHECK]
# List of decorators that produce context managers, such as
# contextlib.contextmanager. Add to this list to register other decorators that
# produce valid context managers.
contextmanager-decorators=contextlib.contextmanager
# List of members which are set dynamically and missed by pylint inference
# system, and so shouldn't trigger E1101 when accessed. Python regular
# expressions are accepted.
generated-members=
# Tells whether missing members accessed in mixin class should be ignored. A
# mixin class is detected if its name ends with "mixin" (case insensitive).
ignore-mixin-members=yes
# Tells whether to warn about missing members when the owner of the attribute
# is inferred to be None.
ignore-none=yes
# This flag controls whether pylint should warn about no-member and similar
# checks whenever an opaque object is returned when inferring. The inference
# can return multiple potential results while evaluating a Python object, but
# some branches might not be evaluated, which results in partial inference. In
# that case, it might be useful to still emit no-member and other checks for
# the rest of the inferred objects.
ignore-on-opaque-inference=yes
# List of class names for which member attributes should not be checked (useful
# for classes with dynamically set attributes). This supports the use of
# qualified names.
ignored-classes=optparse.Values,thread._local,_thread._local
# List of module names for which member attributes should not be checked
# (useful for modules/projects where namespaces are manipulated during runtime
# and thus existing member attributes cannot be deduced by static analysis). It
# supports qualified module names, as well as Unix pattern matching.
ignored-modules=
# Show a hint with possible names when a member name was not found. The aspect
# of finding the hint is based on edit distance.
missing-member-hint=yes
# The minimum edit distance a name should have in order to be considered a
# similar match for a missing member name.
missing-member-hint-distance=1
# The total number of similar names that should be taken in consideration when
# showing a hint for a missing member.
missing-member-max-choices=1
# List of decorators that change the signature of a decorated function.
signature-mutators=ttfw_idf.idf_example_test,ttfw_idf.idf_unit_test,ttfw_idf.idf_custom_test,ttfw_idf.idf_component_unit_test
[SPELLING]
# Limits count of emitted suggestions for spelling mistakes.
max-spelling-suggestions=4
# Spelling dictionary name. Available dictionaries: none. To make it work,
# install the python-enchant package.
spelling-dict=
# List of comma separated words that should not be checked.
spelling-ignore-words=
# A path to a file that contains the private dictionary; one word per line.
spelling-private-dict-file=
# Tells whether to store unknown words to the private dictionary (see the
# --spelling-private-dict-file option) instead of raising a message.
spelling-store-unknown-words=no
[FORMAT]
# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
expected-line-ending-format=
# Regexp for a line that is allowed to be longer than the limit.
ignore-long-lines=^\s*(# )?<?https?://\S+>?$
# Number of spaces of indent required inside a hanging or continued line.
indent-after-paren=4
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
# tab).
indent-string=' '
# Maximum number of characters on a single line.
max-line-length=160
# Maximum number of lines in a module.
max-module-lines=1000
# List of optional constructs for which whitespace checking is disabled. `dict-
# separator` is used to allow tabulation in dicts, etc.: {1 : 1,\n222: 2}.
# `trailing-comma` allows a space between comma and closing bracket: (a, ).
# `empty-line` allows space-only lines.
no-space-check=trailing-comma,
dict-separator
# Allow the body of a class to be on the same line as the declaration if body
# contains single statement.
single-line-class-stmt=no
# Allow the body of an if to be on the same line as the test if there is no
# else.
single-line-if-stmt=no
[STRING]
# This flag controls whether inconsistent-quotes generates a warning when the
# character used as a quote delimiter is used inconsistently within a module.
check-quote-consistency=no
# This flag controls whether the implicit-str-concat should generate a warning
# on implicit string concatenation in sequences defined over several lines.
check-str-concat-over-line-jumps=no
[LOGGING]
# The type of string formatting that logging methods do. `old` means using %
# formatting, `new` is for `{}` formatting.
logging-format-style=old
# Logging modules to check that the string format arguments are in logging
# function parameter format.
logging-modules=logging
[MISCELLANEOUS]
# List of note tags to take in consideration, separated by a comma.
notes=FIXME,
XXX,
TODO
# Regular expression of note tags to take in consideration.
#notes-rgx=
[SIMILARITIES]
# Ignore comments when computing similarities.
ignore-comments=yes
# Ignore docstrings when computing similarities.
ignore-docstrings=yes
# Ignore imports when computing similarities.
ignore-imports=no
# Minimum lines number of a similarity.
min-similarity-lines=4
[VARIABLES]
# List of additional names supposed to be defined in builtins. Remember that
# you should avoid defining new builtins when possible.
additional-builtins=
# Tells whether unused global variables should be treated as a violation.
allow-global-unused-variables=yes
# List of strings which can identify a callback function by name. A callback
# name must start or end with one of those strings.
callbacks=cb_,
_cb
# A regular expression matching the name of dummy variables (i.e. expected to
# not be used).
dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_
# Argument names that match this expression will be ignored. Default to name
# with leading underscore.
ignored-argument-names=_.*|^ignored_|^unused_
# Tells whether we should check for unused import in __init__ files.
init-import=no
# List of qualified module names which can have objects that can redefine
# builtins.
redefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io
[BASIC]
# Naming style matching correct argument names.
argument-naming-style=snake_case
# Regular expression matching correct argument names. Overrides argument-
# naming-style.
#argument-rgx=
# Naming style matching correct attribute names.
attr-naming-style=snake_case
# Regular expression matching correct attribute names. Overrides attr-naming-
# style.
#attr-rgx=
# Bad variable names which should always be refused, separated by a comma.
bad-names=foo,
bar,
baz,
toto,
tutu,
tata
# Bad variable names regexes, separated by a comma. If names match any regex,
# they will always be refused
bad-names-rgxs=
# Naming style matching correct class attribute names.
class-attribute-naming-style=any
# Regular expression matching correct class attribute names. Overrides class-
# attribute-naming-style.
#class-attribute-rgx=
# Naming style matching correct class names.
class-naming-style=PascalCase
# Regular expression matching correct class names. Overrides class-naming-
# style.
#class-rgx=
# Naming style matching correct constant names.
const-naming-style=UPPER_CASE
# Regular expression matching correct constant names. Overrides const-naming-
# style.
#const-rgx=
# Minimum line length for functions/classes that require docstrings, shorter
# ones are exempt.
docstring-min-length=-1
# Naming style matching correct function names.
function-naming-style=snake_case
# Regular expression matching correct function names. Overrides function-
# naming-style.
#function-rgx=
# Good variable names which should always be accepted, separated by a comma.
good-names=i,
j,
k,
ex,
Run,
_
# Good variable names regexes, separated by a comma. If names match any regex,
# they will always be accepted
good-names-rgxs=
# Include a hint for the correct naming format with invalid-name.
include-naming-hint=no
# Naming style matching correct inline iteration names.
inlinevar-naming-style=any
# Regular expression matching correct inline iteration names. Overrides
# inlinevar-naming-style.
#inlinevar-rgx=
# Naming style matching correct method names.
method-naming-style=snake_case
# Regular expression matching correct method names. Overrides method-naming-
# style.
#method-rgx=
# Naming style matching correct module names.
module-naming-style=snake_case
# Regular expression matching correct module names. Overrides module-naming-
# style.
#module-rgx=
# Colon-delimited sets of names that determine each other's naming style when
# the name regexes allow several styles.
name-group=
# Regular expression which should only match function or class names that do
# not require a docstring.
no-docstring-rgx=^_
# List of decorators that produce properties, such as abc.abstractproperty. Add
# to this list to register other decorators that produce valid properties.
# These decorators are taken in consideration only for invalid-name.
property-classes=abc.abstractproperty
# Naming style matching correct variable names.
variable-naming-style=snake_case
# Regular expression matching correct variable names. Overrides variable-
# naming-style.
#variable-rgx=
[DESIGN]
# Maximum number of arguments for function / method.
max-args=5
# Maximum number of attributes for a class (see R0902).
max-attributes=12
# Maximum number of boolean expressions in an if statement (see R0916).
max-bool-expr=5
# Maximum number of branch for function / method body.
max-branches=12
# Maximum number of locals for function / method body.
max-locals=15
# Maximum number of parents for a class (see R0901).
max-parents=7
# Maximum number of public methods for a class (see R0904).
max-public-methods=20
# Maximum number of return / yield for function / method body.
max-returns=6
# Maximum number of statements in function / method body.
max-statements=50
# Minimum number of public methods for a class (see R0903).
min-public-methods=2
[CLASSES]
# List of method names used to declare (i.e. assign) instance attributes.
defining-attr-methods=__init__,
__new__,
setUp,
__post_init__
# List of member names, which should be excluded from the protected access
# warning.
exclude-protected=_asdict,
_fields,
_replace,
_source,
_make
# List of valid names for the first argument in a class method.
valid-classmethod-first-arg=cls
# List of valid names for the first argument in a metaclass class method.
valid-metaclass-classmethod-first-arg=cls
[IMPORTS]
# List of modules that can be imported at any level, not just the top level
# one.
allow-any-import-level=
# Allow wildcard imports from modules that define __all__.
allow-wildcard-with-all=no
# Analyse import fallback blocks. This can be used to support both Python 2 and
# 3 compatible code, which means that the block might have code that exists
# only in one or another interpreter, leading to false positives when analysed.
analyse-fallback-blocks=no
# Deprecated modules which should not be used, separated by a comma.
deprecated-modules=optparse,tkinter.tix
# Create a graph of external dependencies in the given file (report RP0402 must
# not be disabled).
ext-import-graph=
# Create a graph of every (i.e. internal and external) dependencies in the
# given file (report RP0402 must not be disabled).
import-graph=
# Create a graph of internal dependencies in the given file (report RP0402 must
# not be disabled).
int-import-graph=
# Force import order to recognize a module as part of the standard
# compatibility libraries.
known-standard-library=
# Force import order to recognize a module as part of a third party library.
known-third-party=enchant
# Couples of modules and preferred modules, separated by a comma.
preferred-modules=
[EXCEPTIONS]
# Exceptions that will emit a warning when being caught. Defaults to
# "BaseException, Exception".
overgeneral-exceptions=BaseException,
Exception

View File

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

View File

@@ -1,5 +0,0 @@
# This is shellcheck config file
# Files that are checked: install.sh, export.sh
# Do not complain about variables determined at runtime (IDF_PATH)
disable=SC1090

119
.vale.ini
View File

@@ -1,119 +0,0 @@
###################
### Vale Config ###
###################
# This is a Vale linter configuration file.
# - Repo: esp-idf
# - Based on Default config: v0-1-1
# It lists all necessary parameters to configure Vale for your project.
# For official documentation on all config settings, see
# https://vale.sh/docs/topics/config
##############
### Global ###
##############
# This section lists core settings applying to Vale itself.
# Specify path to external resources (e.g., styles and vocab files).
# The path value may be absolute or relative to this configuration file.
StylesPath = .vale/styles
# Specify the minimum alert severity that Vale will report.
MinAlertLevel = suggestion # "suggestion", "warning", or "error"
# Specify vocabulary for special treatment.
# Create a folder in <StylesPath>/Vocab/<name>/and add its name here
# The folder should contain two files:
# - accept.txt -- lists words with accepted case-sensitive spelling
# - reject.txt -- lists words whose occurrences throw an error
# Vocab = Espressif
# Specify the packages to import into your project.
# A package is a zip file containing a number of rules (style) written in YAML.
# For a list of official packages, see Package Hub at https://vale.sh/hub/
# For official documentation on packages, see
# https://vale.sh/docs/topics/packages/
# Before linting, navigate to your project and run `vale sync` to download
# the official packages specified below.
# Packages = Package1, Package2, \
# https://example.com/path/to/package/Package.zip
Packages = Google, Microsoft, RedHat, \
https://dl.espressif.com/dl/esp-vale-config/Espressif-latest.zip
###############
### Formats ###
###############
# This section enables association of "unknown" formats with the ones
# supported by Vale. For official documentation on supported formats, see
# https://vale.sh/docs/topics/scoping/
[formats]
# For example, treat MDX files as Markdown files.
# mdx = md
################################
### Format-specific settings ###
################################
# This section lists the settings that apply to specific file formats
# based on their glob pattern.
# Settings provided under a more specific glob pattern,
# such as [*.{md,txt}] will override those in [*].
[*.{md,rst}]
# Enable styles to activate all rules included in them.
# BasedOnStyles = Style1, Style2
BasedOnStyles = Vale, Espressif-latest
### Deactivate individual rules ###
### in enabled styles.
# Style1.Rule1 = NO
Vale.Repetition = NO
Vale.Spelling = NO
Espressif-latest.Admonitions = NO
Espressif-latest.Contractions = NO
Espressif-latest.Monospace = NO
Espressif-latest.PascalCamelCase = NO
### Change default severity level ###
### of an activated rule.
# Choose between "suggestion", "warning", or "error".
# Style1.Rule2 = error
### Activate individual rules ###
### in non-enabled styles stored in <StylesPath>.
# Style1.Rule = YES
Google.Gender = YES
Google.GenderBias = YES
Google.Slang = YES
Google.Spacing = YES
Microsoft.DateNumbers = YES
Microsoft.Ellipses = YES
Microsoft.FirstPerson = YES
Microsoft.Hyphens = YES
Microsoft.Ordinal = YES
Microsoft.OxfordComma = YES
Microsoft.Percentages = YES
Microsoft.RangeTime = YES
Microsoft.Semicolon = YES
Microsoft.SentenceLength = YES
Microsoft.Suspended = YES
Microsoft.Units = YES
Microsoft.URLFormat = YES
Microsoft.We = YES
Microsoft.Wordiness = YES
RedHat.Contractions = YES
RedHat.RepeatedWords = YES

View File

@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.16)
cmake_minimum_required(VERSION 3.5)
project(esp-idf C CXX ASM)
if(CMAKE_CURRENT_LIST_DIR STREQUAL CMAKE_SOURCE_DIR)
@@ -13,59 +13,36 @@ endif()
# Add the following build specifications here, since these seem to be dependent
# on config values on the root Kconfig.
if(BOOTLOADER_BUILD)
if(NOT BOOTLOADER_BUILD)
if(CONFIG_COMPILER_OPTIMIZATION_SIZE)
list(APPEND compile_options "-Os")
if(CMAKE_C_COMPILER_ID MATCHES "GNU")
list(APPEND compile_options "-freorder-blocks")
endif()
elseif(CONFIG_COMPILER_OPTIMIZATION_DEFAULT)
list(APPEND compile_options "-Og")
elseif(CONFIG_COMPILER_OPTIMIZATION_NONE)
list(APPEND compile_options "-O0")
elseif(CONFIG_COMPILER_OPTIMIZATION_PERF)
list(APPEND compile_options "-O2")
endif()
else() # BOOTLOADER_BUILD
if(CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE)
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
list(APPEND compile_options "-Oz")
else()
list(APPEND compile_options "-Os")
endif()
list(APPEND compile_options "-Os")
if(CMAKE_C_COMPILER_ID MATCHES "GNU")
list(APPEND compile_options "-freorder-blocks")
endif()
elseif(CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG)
list(APPEND compile_options "-Og")
if(CMAKE_C_COMPILER_ID MATCHES "GNU" AND NOT CONFIG_IDF_TARGET_LINUX)
list(APPEND compile_options "-fno-shrink-wrap") # Disable shrink-wrapping to reduce binary size
endif()
elseif(CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE)
list(APPEND compile_options "-O0")
elseif(CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF)
list(APPEND compile_options "-O2")
endif()
elseif(ESP_TEE_BUILD)
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
list(APPEND compile_options "-Oz")
else()
list(APPEND compile_options "-Os")
list(APPEND compile_options "-freorder-blocks")
endif()
else()
if(CONFIG_COMPILER_OPTIMIZATION_SIZE)
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
list(APPEND compile_options "-Oz")
else()
list(APPEND compile_options "-Os")
endif()
if(CMAKE_C_COMPILER_ID MATCHES "GNU")
list(APPEND compile_options "-freorder-blocks")
endif()
elseif(CONFIG_COMPILER_OPTIMIZATION_DEBUG)
list(APPEND compile_options "-Og")
if(CMAKE_C_COMPILER_ID MATCHES "GNU" AND NOT CONFIG_IDF_TARGET_LINUX)
list(APPEND compile_options "-fno-shrink-wrap") # Disable shrink-wrapping to reduce binary size
endif()
elseif(CONFIG_COMPILER_OPTIMIZATION_NONE)
list(APPEND compile_options "-O0")
elseif(CONFIG_COMPILER_OPTIMIZATION_PERF)
list(APPEND compile_options "-O2")
endif()
endif()
if(CONFIG_COMPILER_CXX_EXCEPTIONS)
@@ -85,6 +62,23 @@ if(CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS)
list(APPEND compile_options "-msave-restore")
endif()
if(CONFIG_COMPILER_DISABLE_GCC8_WARNINGS)
list(APPEND compile_options "-Wno-parentheses"
"-Wno-sizeof-pointer-memaccess"
"-Wno-clobbered")
list(APPEND compile_options "-Wno-format-overflow"
"-Wno-stringop-truncation"
"-Wno-misleading-indentation"
"-Wno-cast-function-type"
"-Wno-implicit-fallthrough"
"-Wno-unused-const-variable"
"-Wno-switch-unreachable"
"-Wno-format-truncation"
"-Wno-memset-elt-size"
"-Wno-int-in-bool-context")
endif()
if(CMAKE_C_COMPILER_ID MATCHES "GNU")
list(APPEND c_compile_options "-Wno-old-style-declaration")
endif()
@@ -113,7 +107,7 @@ if(CMAKE_C_COMPILER_ID MATCHES "Clang")
list(APPEND compile_options "-Wno-pointer-bool-conversion")
# mbedTLS md5.c triggers this warning in md5_test_buf (false positive)
list(APPEND compile_options "-Wno-string-concatenation")
# multiple cases of implicit conversions between unrelated enum types
# multiple cases of implict convertions between unrelated enum types
list(APPEND compile_options "-Wno-enum-conversion")
# When IRAM_ATTR is specified both in function declaration and definition,
# it produces different section names, since section names include __COUNTER__.
@@ -125,23 +119,8 @@ if(CMAKE_C_COMPILER_ID MATCHES "Clang")
# Disable Clang warnings for atomic operations with access size
# more then 4 bytes
list(APPEND compile_options "-Wno-atomic-alignment")
# several warnings in wpa_supplicant component
list(APPEND compile_options "-Wno-unused-but-set-variable")
# Clang also produces many -Wunused-function warnings which GCC doesn't.
list(APPEND compile_options "-Wno-unused-function")
# many warnings in bluedroid code
# warning: field 'hdr' with variable sized type 'BT_HDR' not at the end of a struct or class is a GNU extension
list(APPEND compile_options "-Wno-gnu-variable-sized-type-not-at-end")
# several warnings in bluedroid code
list(APPEND compile_options "-Wno-constant-logical-operand")
# warning: '_Static_assert' with no message is a C2x extension
list(APPEND compile_options "-Wno-c2x-extensions")
# warning on xMPU_SETTINGS for esp32s2 has size 0 for C and 1 for C++
list(APPEND compile_options "-Wno-extern-c-compat")
if(NOT (CONFIG_IDF_TARGET_LINUX AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin"))
# warning: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1
list(APPEND compile_options "-Wno-single-bit-bitfield-constant-conversion")
endif()
# However these aren't treated as errors.
endif()
# More warnings may exist in unit tests and example projects.
@@ -153,10 +132,6 @@ if(CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE)
list(APPEND compile_definitions "-DNDEBUG")
endif()
if(CONFIG_COMPILER_NO_MERGE_CONSTANTS)
list(APPEND compile_options "-fno-merge-constants")
endif()
if(CONFIG_COMPILER_STACK_CHECK_MODE_NORM)
list(APPEND compile_options "-fstack-protector")
elseif(CONFIG_COMPILER_STACK_CHECK_MODE_STRONG)
@@ -169,37 +144,18 @@ if(CONFIG_COMPILER_DUMP_RTL_FILES)
list(APPEND compile_options "-fdump-rtl-expand")
endif()
__generate_prefix_map(prefix_map_compile_options)
list(APPEND compile_options ${prefix_map_compile_options})
if(CONFIG_COMPILER_DISABLE_GCC12_WARNINGS)
list(APPEND compile_options "-Wno-address"
"-Wno-use-after-free")
endif()
if(CONFIG_COMPILER_DISABLE_GCC13_WARNINGS)
list(APPEND compile_options "-Wno-xor-used-as-pow")
list(APPEND c_compile_options "-Wno-enum-int-mismatch")
list(APPEND cxx_compile_options "-Wno-self-move"
"-Wno-dangling-reference")
endif()
if(CONFIG_COMPILER_DISABLE_GCC14_WARNINGS)
list(APPEND compile_options "-Wno-calloc-transposed-args")
endif()
if(CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS)
if(NOT CMAKE_C_COMPILER_ID MATCHES "Clang")
idf_build_replace_option_from_property(COMPILE_OPTIONS "-Werror" "-Werror=all")
if(NOT ${CMAKE_C_COMPILER_VERSION} VERSION_LESS 8.0.0)
if(CONFIG_COMPILER_HIDE_PATHS_MACROS)
list(APPEND compile_options "-fmacro-prefix-map=${CMAKE_SOURCE_DIR}=.")
list(APPEND compile_options "-fmacro-prefix-map=${IDF_PATH}=IDF")
endif()
endif()
# GCC-specific options
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
list(APPEND compile_options "-fstrict-volatile-bitfields")
if(CONFIG_COMPILER_STATIC_ANALYZER)
list(APPEND compile_options "-fanalyzer")
endif()
list(APPEND compile_options "-fstrict-volatile-bitfields"
"-Wno-error=unused-but-set-variable"
)
endif()
if(CONFIG_ESP_SYSTEM_USE_EH_FRAME)
@@ -207,56 +163,8 @@ if(CONFIG_ESP_SYSTEM_USE_EH_FRAME)
list(APPEND link_options "-Wl,--eh-frame-hdr")
endif()
if(CONFIG_ESP_SYSTEM_USE_FRAME_POINTER)
list(APPEND compile_options "-fno-omit-frame-pointer")
if(CMAKE_C_COMPILER_ID MATCHES "GNU")
list(APPEND compile_options "-mno-omit-leaf-frame-pointer")
endif()
endif()
list(APPEND link_options "-fno-lto")
if(CONFIG_IDF_TARGET_LINUX AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
# Not all versions of the MacOS linker support the -warn_commons flag.
# ld version 1053.12 (and above) have been tested to support it.
# Hence, we extract the version string from the linker output
# before including the flag.
# Get the ld version, capturing both stdout and stderr
execute_process(
COMMAND ${CMAKE_LINKER} -v
OUTPUT_VARIABLE LD_VERSION_OUTPUT
ERROR_VARIABLE LD_VERSION_ERROR
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_STRIP_TRAILING_WHITESPACE
)
# Combine stdout and stderr
set(LD_VERSION_OUTPUT "${LD_VERSION_OUTPUT}\n${LD_VERSION_ERROR}")
# Extract the version string
string(REGEX MATCH "PROJECT:(ld|dyld)-([0-9]+)\\.([0-9]+)" LD_VERSION_MATCH "${LD_VERSION_OUTPUT}")
set(LD_VERSION_MAJOR_MINOR "${CMAKE_MATCH_2}.${CMAKE_MATCH_3}")
message(STATUS "Linker Version: ${LD_VERSION_MAJOR_MINOR}")
# Compare the version with 1053.12
if(LD_VERSION_MAJOR_MINOR VERSION_GREATER_EQUAL "1053.12")
list(APPEND link_options "-Wl,-warn_commons")
endif()
list(APPEND link_options "-Wl,-dead_strip")
else()
list(APPEND link_options "-Wl,--gc-sections")
list(APPEND link_options "-Wl,--warn-common")
endif()
# SMP FreeRTOS user provided minimal idle hook. This allows the user to provide
# their own copy of vApplicationPassiveIdleHook()
if(CONFIG_FREERTOS_USE_PASSIVE_IDLE_HOOK)
list(APPEND link_options "-Wl,--wrap=vApplicationPassiveIdleHook")
endif()
# Placing jump tables in flash would cause issues with code that required
# to be placed in IRAM
list(APPEND compile_options "-fno-jump-tables")
@@ -266,17 +174,10 @@ if(CMAKE_C_COMPILER_ID MATCHES "GNU")
list(APPEND compile_options "-fno-tree-switch-conversion")
endif()
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
list(APPEND compile_options "-fno-use-cxa-atexit") # TODO IDF-10934
else()
list(APPEND cxx_compile_options "-fuse-cxa-atexit")
if(CMAKE_C_COMPILER_ID MATCHES "LLVM")
list(APPEND compile_options "-fno-use-cxa-atexit")
endif()
if(COMPILER_RT_LIB_NAME)
list(APPEND link_options "-rtlib=${CONFIG_COMPILER_RT_LIB_NAME}")
endif()
idf_build_set_property(COMPILE_OPTIONS "${compile_options}" APPEND)
idf_build_set_property(C_COMPILE_OPTIONS "${c_compile_options}" APPEND)
idf_build_set_property(CXX_COMPILE_OPTIONS "${cxx_compile_options}" APPEND)

View File

@@ -1,147 +0,0 @@
# Compatibility Between ESP-IDF Releases and Revisions of Espressif SoCs
* [中文版](./COMPATIBILITY_CN.md)
Espressif keeps improving the performance of its SoCs by providing new chip revisions. However, some of the improvements require special software support. Some of the software supports are even mandatory for the chip revisions to run normally.
This document describes the compatibility between ESP-IDF releases and Espressif SoC revisions.
NOTE: This document on release branches may be out-of-date. Check the [Compatibility file on master](https://github.com/espressif/esp-idf/blob/master/COMPATIBILITY.md) for the most accurate information.
See [Compatibility Advisory for Chip Revision Numbering Scheme](https://www.espressif.com.cn/sites/default/files/advisory_downloads/AR2022-005%20Compatibility%20Advisory%20for%20Chip%20Revision%20Numbering%20%20Scheme.pdf) on the versioning of Espressif SoC revisions.
You can run `esptool chip_id` to detect the series and revision of an SoC. See [SoC Errata](https://www.espressif.com.cn/en/support/documents/technical-documents?keys=errata) for more on how to distinguish between chip revisions, and the improvements provided by chip revisions. And run `idf.py --version` to know the version of current ESP-IDF.
## ESP-IDF Support for Different Chip Revisions
The sections below show the requirements to ESP-IDF version of chip revisions. Each chip revision corresponds to specific `Recommended` and `Required` versions of ESP-IDF:
- `Recommended`: shows from which version of ESP-IDF you can make use of all the improvements of the chip revision. Running binary compiled with ESP-IDF below the `Recommended` version of a chip revision, software may not benefit from the bugfix/features provided by the chip revision. The chip will have almost the same behavior as its previous revision.
- `Required`: shows the minimum version required to run the chip revision normally. Running binary compiled below the `Required` version, the binary may have unpredictable behavior.
Though the software can make use of all the features of a chip revision, if its version is higher than the `Recommended` version of the chip, it is still recommended to use the latest bugfix version of the release branch. The latest bugfix version fixes a number of issues and helps improve product stability.
For example, if we have a chip, whose `Required`/`Recommended` version of `release/v5.1` branch is `v5.1.2`/`v5.1.4`, and the latest release on that branch is `v5.1.6`. Then the chip will not boot up with ESP-IDF `v5.1`-`v5.1.1` or will have unpredictable behavior, and application may not make use of all benefits of the chip, when running with ESP-IDF `v5.1.2` or `v5.1.3`. Though `v5.1.4` well supports the chip revision, it is still recommended to upgrade ESP-IDF to `v5.1.6`.
### ESP32
#### v0.0, v1.0, v3.0
Supported since initial version of ESP-IDF.
#### v1.1
To be added.
#### v2.0
To be added.
#### v3.1
To be added.
### ESP32-S2
#### v0.0
Supported since ESP-IDF v4.2.
#### v1.0
| Release branch | Recommended | Required |
|------------------------|-------------|----------|
| release/v4.2 | v4.2.3+ | v4.2 |
| release/v4.3 | v4.3.3+ | v4.3 |
| release/v4.4 | v4.4.6+ | v4.4 |
| release/v5.0 | v5.0.4+ | v5.0 |
| release/v5.1 | v5.1.2+ | v5.1 |
| release/v5.2 and above | v5.2+ | v5.2 |
### ESP32-C3
#### v0.2 - v0.4
Supported since ESP-IDF v4.3.
#### v1.1
| Release branch | Recommended | Required |
|------------------------|-------------|----------|
| release/v4.2 | EOL | EOL |
| release/v4.3 | v4.3.7+ | v4.3.7 |
| release/v4.4 | v4.4.7+ | v4.4.7 |
| release/v5.0 | v5.0.5+ | v5.0.5 |
| release/v5.1 | v5.1.3+ | v5.1.3 |
| release/v5.2 and above | v5.2+ | v5.2 |
### ESP32-S3
#### v0.1, v0.2
Supported since ESP-IDF v4.4.
### ESP32-C2 & ESP8684
#### v1.0, v1.1
Supported since ESP-IDF v5.0.
#### v1.2
| Release branch | Recommended | Required |
|------------------------|-------------|----------|
| release/v5.0 | v5.0.7+ | v5.0 |
| release/v5.1 | v5.1.4+ | v5.1 |
| release/v5.2 | v5.2.2+ | v5.2 |
| release/v5.3 and above | v5.3+ | v5.3 |
#### v2.0
| Release branch | Recommended | Required |
|------------------------|-------------|----------|
| release/v5.0 | v5.0.8+ | v5.0.8 |
| release/v5.1 | v5.1.5+ | v5.1.5* |
| release/v5.2 | v5.2.4+ | v5.2.4 |
| release/v5.3 | v5.3.2+ | v5.3.2* |
| release/v5.4 and above | v5.4+ | v5.4 |
Note: IDF v5.1.5 and v5.3.2 are compatible with C2 v2.0. However the chip revision check hasn't been updated on these releases. Enable `ESP32C2_REV2_DEVELOPMENT` config to bypass the outdated check.
### ESP32-C6
#### v0.0, v0.1
Supported since ESP-IDF v5.1.
#### v0.2
| Release branch | Recommended | Required |
|------------------------|-------------|----------|
| release/v5.1 | v5.1.5+ | v5.1 |
| release/v5.2 | v5.2.4+ | v5.2 |
| release/v5.3 | v5.3.2+ | v5.3 |
| release/v5.4 and above | v5.4+ | v5.4 |
### ESP32-H2
#### v0.1, v0.2
Supported since ESP-IDF v5.1.
#### v1.2
| Release branch | Recommended | Required |
|------------------------|-------------|----------|
| release/v5.1 | v5.1.6+ | v5.1.6 |
| release/v5.2 | v5.2.5+ | v5.2.5 |
| release/v5.3 | v5.3.3+ | v5.3.3 |
| release/v5.4 | v5.4.1+ | v5.4.1 |
| release/v5.5 and above | v5.5+ | v5.5 |
## What If the ESP-IDF Version Is Lower than the `Required` Version?
Latest ESP-IDF versions can prevent from downloading to, or even execute binaries on unsupported chips. ESP-IDF of versions v4.4.5+, v5.0.1+, v5.1 and above have both esptool download check and bootloader loading check against the chip revision. While ESP-IDF v4.3.5 has only esptool downloading check.
For earlier ESP-IDF versions without such checking, which is incompatible with the given chip revision, the chips running such versions will have unpredictable behavior.

View File

@@ -1,148 +0,0 @@
# ESP-IDF 版本与乐鑫芯片版本兼容性
* [English Version](./COMPATIBILITY.md)
为不断提高芯片性能,乐鑫会为其芯片发布新版本。但新芯片版本中的某些性能提升依赖特殊的软件支持,有时候新芯片版本必须在一定的软件版本下才能正常运行。
本文档介绍了具体 ESP-IDF 版本与乐鑫芯片版本之间的兼容性情况。
注意:各分支上的兼容性文档可能不是最新版本,请参考 [master 分支上的兼容性文件](https://github.com/espressif/esp-idf/blob/master/COMPATIBILITY_CN.md) 以获取最新信息。
有关乐鑫芯片版本的编码方式,请参考 [关于芯片版本 (Chip Revision) 编码方式的兼容性公告](https://www.espressif.com/sites/default/files/advisory_downloads/AR2022-005%20%E5%85%B3%E4%BA%8E%E8%8A%AF%E7%89%87%E7%89%88%E6%9C%AC%E7%BC%96%E7%A0%81%E6%96%B9%E5%BC%8F%20%28Chip%20Revision%29%20%E7%9A%84%E5%85%BC%E5%AE%B9%E6%80%A7%E5%85%AC%E5%91%8A.pdf)。
运行 `esptool chip_id` 可查看芯片系列及其版本。有关区分芯片版本及版本改进内容的更多信息,请参考 [芯片勘误表](https://www.espressif.com.cn/zh-hans/support/documents/technical-documents?keys=%E5%8B%98%E8%AF%AF%E8%A1%A8)。运行 `idf.py --version` 可查看当前的 ESP-IDF 版本。
## ESP-IDF 对各芯片版本的支持
下文介绍了 ESP-IDF 对各芯片版本的支持情况,每个芯片版本都有对应的 ESP-IDF `推荐版本``需求版本`
- `推荐版本`:表示从该版本的 ESP-IDF 开始,软件可以利用芯片版本提升的性能。如果在该芯片版本上运行低于 `推荐版本` 的 ESP-IDF 来编译二进制文件,软件可能无法利用该芯片版本修复的错误或新增的功能,芯片行为将与其上一版本几乎相同。
- `需求版本`:表示该芯片版本正常运行所需的最低 ESP-IDF 版本。如果在该芯片版本上运行低于 `需求版本` 的 ESP-IDF 来编译二进制文件,可能会出现不可预测的芯片行为。
即便使用的软件版本已高于该芯片版本的对应 `推荐版本`,软件已经能够利用该芯片版本的所有功能,我们仍建议用户升级到该发布分支的最新 bugfix 版本。新的 bugfix 版本修复了一些问题,有助于提升产品稳定性。
例如,对于某一芯片版本,其 `release/v5.1` 分支的 `需求版本``推荐版本` 分别是 `v5.1.2``v5.1.4`,而该分支的最新版本是 `v5.1.6`。那么,在使用 ESP-IDF `v5.1` - `v5.1.1` 时,芯片将无法启动,或会出现不可预测的行为,而在使用 ESP-IDF `v5.1.2``v5.1.3` 时,应用程序可能无法使用芯片的部分性能。此外,虽然 `v5.1.4` 已支持该芯片版本,但仍建议将 ESP-IDF 升级到 `v5.1.6`
### ESP32
#### v0.0、v1.0 和 v3.0
从最初版本的 ESP-IDF 开始支持。
#### v1.1
待更新。
#### v2.0
待更新。
#### v3.1
待更新。
### ESP32-S2
#### v0.0
从 ESP-IDF v4.2 开始支持。
#### v1.0
| 发布分支 | 推荐版本 | 需求版本 |
|------------------------|-------------|----------|
| release/v4.2 | v4.2.3+ | v4.2 |
| release/v4.3 | v4.3.3+ | v4.3 |
| release/v4.4 | v4.4.6+ | v4.4 |
| release/v5.0 | v5.0.4+ | v5.0 |
| release/v5.1 | v5.1.2+ | v5.1 |
| release/v5.2 及以上 | v5.2+ | v5.2 |
### ESP32-C3
#### v0.2 - v0.4
从 ESP-IDF v4.3 开始支持。
#### v1.1
| 发布分支 | 推荐版本 | 需求版本 |
|------------------------|-------------|----------|
| release/v4.2 | EOL | EOL |
| release/v4.3 | v4.3.7+ | v4.3.7 |
| release/v4.4 | v4.4.7+ | v4.4.7 |
| release/v5.0 | v5.0.5+ | v5.0.5 |
| release/v5.1 | v5.1.3+ | v5.1.3 |
| release/v5.2 及以上 | v5.2+ | v5.2 |
### ESP32-S3
#### v0.1, v0.2
从 ESP-IDF v4.4 开始支持。
### ESP32-C2 & ESP8684
#### v1.0, v1.1
从 ESP-IDF v5.0 开始支持。
#### v1.2
| 发布分支 | 推荐版本 | 需求版本 |
|------------------------|-------------|----------|
| release/v5.0 | v5.0.7+ | v5.0 |
| release/v5.1 | v5.1.4+ | v5.1 |
| release/v5.2 | v5.2.2+ | v5.1 |
| release/v5.3 及以上 | v5.3+ | v5.3 |
#### v2.0
| 发布分支 | 推荐版本 | 需求版本 |
|------------------------|-------------|----------|
| release/v5.0 | v5.0.8+ | v5.0.8 |
| release/v5.1 | v5.1.5+ | v5.1.5* |
| release/v5.2 | v5.2.4+ | v5.2.4 |
| release/v5.3 | v5.3.2+ | v5.3.2* |
| release/v5.4 及以上 | v5.4+ | v5.4 |
提示: IDF v5.1.5 及 v5.3.2 与 C2 v2.0 兼容,但芯片版本检查尚未在这些发布版本更新。使能 `ESP32C2_REV2_DEVELOPMENT` 选项来跳过这些过时的检查。
### ESP32-C6
#### v0.0, v0.1
从 ESP-IDF v5.1 开始支持。
#### v0.2
| 发布分支 | 推荐版本 | 需求版本 |
|------------------------|-------------|----------|
| release/v5.1 | v5.1.5+ | v5.1 |
| release/v5.2 | v5.2.4+ | v5.2 |
| release/v5.3 | v5.3.2+ | v5.3 |
| release/v5.4 及以上 | v5.4+ | v5.4 |
### ESP32-H2
#### v0.1, v0.2
从 ESP-IDF v5.1 开始支持。
#### v1.2
| 发布分支 | 推荐版本 | 需求版本 |
|------------------------|-------------|----------|
| release/v5.1 | v5.1.6+ | v5.1.6 |
| release/v5.2 | v5.2.5+ | v5.2.5 |
| release/v5.3 | v5.3.3+ | v5.3.3 |
| release/v5.4 | v5.4.1+ | v5.4.1 |
| release/v5.5 及以上 | v5.5+ | v5.5 |
## 如果 ESP-IDF 版本低于 `需求版本` 会出现什么情况?
使用最新的 ESP-IDF 版本时软件会阻止下载二进制文件到不支持的芯片版本上甚至可以防止二进制文件在不支持的芯片版本上被执行。v4.4.5+、v5.0.1+、v5.1 及以上版本的 ESP-IDF 都支持针对芯片版本的 esptool 下载检查和引导加载器加载检查,但 ESP-IDF v4.3.5 只支持 esptool 下载检查。
更早的 ESP-IDF 版本没有此类检查,若与芯片版本不兼容,芯片运行软件时可能会出现不可预测的行为。

View File

@@ -1,6 +0,0 @@
# Contributing to ESP-IDF
Contributions to ESP-IDF - fixing bugs, adding features, adding documentation - are welcome! We accept contributions via Github Pull Requests.
Please see the [Contributions Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/contribute/index.html) for more information.

61
CONTRIBUTING.rst Normal file
View File

@@ -0,0 +1,61 @@
Contributions Guide
===================
We welcome contributions to the esp-idf project!
How to Contribute
-----------------
Contributions to esp-idf - fixing bugs, adding features, adding documentation - are welcome. We accept contributions via `Github Pull Requests <https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests>`_.
Before Contributing
-------------------
Before sending us a Pull Request, please consider this list of points:
* Is the contribution entirely your own work, or already licensed under an Apache License 2.0 compatible Open Source License? If not then we unfortunately cannot accept it.
* Does any new code conform to the esp-idf :doc:`Style Guide <style-guide>`?
* Have you installed the :doc:`pre-commit hook <install-pre-commit-hook>` for esp-idf project?
* Does the code documentation follow requirements in :doc:`documenting-code`?
* Is the code adequately commented for people to understand how it is structured?
* Is there documentation or examples that go with code contributions? There are additional suggestions for writing good examples in :idf:`examples` readme.
* Are comments and documentation written in clear English, with no spelling or grammar errors?
* Example contributions are also welcome. Please check the :doc:`creating-examples` guide for these.
* If the contribution contains multiple commits, are they grouped together into logical changes (one major change per pull request)? Are any commits with names like "fixed typo" `squashed into previous commits <https://eli.thegreenplace.net/2014/02/19/squashing-github-pull-requests-into-a-single-commit/>`_?
* If you're unsure about any of these points, please open the Pull Request anyhow and then ask us for feedback.
Pull Request Process
--------------------
After you open the Pull Request, there will probably be some discussion in the comments field of the request itself.
Once the Pull Request is ready to merge, it will first be merged into our internal git system for in-house automated testing.
If this process passes, it will be merged onto the public github repository.
Legal Part
----------
Before a contribution can be accepted, you will need to sign our :doc:`contributor-agreement`. You will be prompted for this automatically as part of the Pull Request process.
Related Documents
-----------------
.. toctree::
:maxdepth: 1
style-guide
install-pre-commit-hook
documenting-code
creating-examples
../api-reference/template
contributor-agreement

443
Kconfig
View File

@@ -1,57 +1,22 @@
#
# Please run the following command for opening a page with more information about this configuration file:
# idf.py docs -sp api-reference/kconfig.html
# For a description of the syntax of this configuration file,
# see kconfig/kconfig-language.txt.
#
mainmenu "Espressif IoT Development Framework Configuration"
orsource "./components/soc/$IDF_TARGET/include/soc/Kconfig.soc_caps.in"
config IDF_CMAKE
bool
default "y"
option env="IDF_CMAKE"
config IDF_ENV_FPGA
# This option is for internal use only
bool
option env="IDF_ENV_FPGA"
help
- This option is for internal use only.
- Enabling this option will help enable all FPGA support so as to
run ESP-IDF on an FPGA. This can help reproduce some issues that
only happens on FPGA condition, or when you have to burn some
efuses multiple times.
config IDF_ENV_BRINGUP
bool
help
- This option is ONLY used when doing new chip bringup.
- This option will only enable necessary hw / sw settings for running
a hello_world application.
config IDF_CI_BUILD
bool
default y if "$(IDF_CI_BUILD)" = "y" || "$(IDF_CI_BUILD)" = 1
config IDF_DOC_BUILD
bool
default y if "$(IDF_DOC_BUILD)" = "y" || "$(IDF_DOC_BUILD)" = 1
config IDF_TOOLCHAIN
# This option records the IDF target when sdkconfig is generated the first time.
# It is not updated if environment variable $IDF_TOOLCHAIN changes later, and
# the build system is responsible for detecting the mismatch between
# CONFIG_IDF_TOOLCHAIN and $IDF_TOOLCHAIN.
string
default "$IDF_TOOLCHAIN"
config IDF_TOOLCHAIN_CLANG
bool
default "y" if IDF_TOOLCHAIN="clang"
config IDF_TOOLCHAIN_GCC
bool
default "y" if IDF_TOOLCHAIN="gcc"
config IDF_TARGET_ARCH_RISCV
bool
default "n"
@@ -60,11 +25,6 @@ mainmenu "Espressif IoT Development Framework Configuration"
bool
default "n"
config IDF_TARGET_ARCH
string
default "riscv" if IDF_TARGET_ARCH_RISCV
default "xtensa" if IDF_TARGET_ARCH_XTENSA
config IDF_TARGET
# This option records the IDF target when sdkconfig is generated the first time.
# It is not updated if environment variable $IDF_TARGET changes later, and
@@ -73,12 +33,6 @@ mainmenu "Espressif IoT Development Framework Configuration"
string
default "$IDF_TARGET"
config IDF_INIT_VERSION
# This option records the IDF version when sdkconfig is generated the first time.
# It is not updated if environment variable $IDF_VERSION changes later
string
default "$IDF_INIT_VERSION"
config IDF_TARGET_ESP32
bool
default "y" if IDF_TARGET="esp32"
@@ -101,59 +55,12 @@ mainmenu "Espressif IoT Development Framework Configuration"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
config IDF_TARGET_ESP32C2
bool
default "y" if IDF_TARGET="esp32c2"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
config IDF_TARGET_ESP32C6
bool
default "y" if IDF_TARGET="esp32c6"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
config IDF_TARGET_ESP32C5
bool
default "y" if IDF_TARGET="esp32c5"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
# TODO: [ESPTOOL-1044] remove when stub supported
select IDF_ENV_BRINGUP
config IDF_TARGET_ESP32P4
bool
default "y" if IDF_TARGET="esp32p4"
select IDF_TARGET_ARCH_RISCV
config IDF_TARGET_ESP32H2
bool
default "y" if IDF_TARGET="esp32h2"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
config IDF_TARGET_ESP32C61
bool
default "y" if IDF_TARGET="esp32c61"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
config IDF_TARGET_ESP32H21
bool
default "y" if IDF_TARGET="esp32h21"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
select IDF_ENV_FPGA
select IDF_ENV_BRINGUP
config IDF_TARGET_ESP32H4
bool
default "y" if IDF_TARGET="esp32h4"
select FREERTOS_UNICORE # TODO: [ESP32H4] IDF-12319, need remove
select IDF_TARGET_ARCH_RISCV
select IDF_ENV_FPGA
select IDF_ENV_BRINGUP
config IDF_TARGET_LINUX
bool
default "y" if IDF_TARGET="linux"
@@ -164,16 +71,62 @@ mainmenu "Espressif IoT Development Framework Configuration"
default 0x0002 if IDF_TARGET_ESP32S2
default 0x0005 if IDF_TARGET_ESP32C3
default 0x0009 if IDF_TARGET_ESP32S3
default 0x000C if IDF_TARGET_ESP32C2
default 0x000D if IDF_TARGET_ESP32C6
default 0x0010 if IDF_TARGET_ESP32H2
default 0x0012 if IDF_TARGET_ESP32P4
default 0x0017 if IDF_TARGET_ESP32C5
default 0x0014 if IDF_TARGET_ESP32C61
default 0x0019 if IDF_TARGET_ESP32H21
default 0x001C if IDF_TARGET_ESP32H4
default 0x000A if IDF_TARGET_ESP32H2 # ESP32H2-TODO: IDF-3475
default 0xFFFF
menu "SDK tool configuration"
config SDK_TOOLPREFIX
string "Compiler toolchain path/prefix"
default "xtensa-esp32-elf-" if IDF_TARGET_ESP32
default "xtensa-esp32s2-elf-" if IDF_TARGET_ESP32S2
default "xtensa-esp32s3-elf-" if IDF_TARGET_ESP32S3
default "riscv32-esp-elf-" if IDF_TARGET_ESP32C3
default "riscv32-esp-elf-" if IDF_TARGET_ESP32H2
help
The prefix/path that is used to call the toolchain. The default setting assumes
a crosstool-ng gcc setup that is in your PATH.
config SDK_PYTHON
string "Python interpreter"
depends on !IDF_CMAKE
default "python"
help
The executable name/path that is used to run python.
(Note: This option is used with the legacy GNU Make build system only.)
config SDK_MAKE_WARN_UNDEFINED_VARIABLES
bool "'make' warns on undefined variables"
depends on !IDF_CMAKE
default "y"
help
Adds --warn-undefined-variables to MAKEFLAGS. This causes make to
print a warning any time an undefined variable is referenced.
This option helps find places where a variable reference is misspelled
or otherwise missing, but it can be unwanted if you have Makefiles which
depend on undefined variables expanding to an empty string.
(Note: this option is used with the legacy GNU Make build system only.)
config SDK_TOOLCHAIN_SUPPORTS_TIME_WIDE_64_BITS
bool "Toolchain supports time_t wide 64-bits"
default n
help
Enable this option in case you have a custom toolchain which supports time_t wide 64-bits.
This option checks time_t is 64-bits and disables ROM time functions
to use the time functions from the toolchain instead.
This option allows resolving the Y2K38 problem.
See "Setup Linux Toolchain from Scratch" to build
a custom toolchain which supports 64-bits time_t.
Note: ESP-IDF does not currently come with any pre-compiled toolchain
that supports 64-bit wide time_t.
This will change in a future major release,
but currently 64-bit time_t requires a custom built toolchain.
endmenu # SDK tool configuration
menu "Build type"
@@ -190,15 +143,13 @@ mainmenu "Espressif IoT Development Framework Configuration"
Another option, useful for only very small and limited applications, is to only link
the .elf file of the application, such that it can be loaded directly into RAM over
JTAG or UART. Note that since IRAM and DRAM sizes are very limited, it is not possible
to build any complex application this way. However for some kinds of testing and debugging,
JTAG. Note that since IRAM and DRAM sizes are very limited, it is not possible to
build any complex application this way. However for kinds of testing and debugging,
this option may provide faster iterations, since the application does not need to be
written into flash.
Note: when APP_BUILD_TYPE_RAM is selected and loaded with JTAG, ESP-IDF does not contain
all the startup code required to initialize the CPUs and ROM memory (data/bss).
Therefore it is necessary to execute a bit of ROM code prior to executing the application.
A gdbinit file may look as follows (for ESP32):
Note that at the moment, ESP-IDF does not contain all the startup code required to
initialize the CPUs and ROM memory (data/bss). Therefore it is necessary to execute
a bit of ROM code prior to executing the application. A gdbinit file may look as follows (for ESP32):
# Connect to a running instance of OpenOCD
target remote :3333
@@ -220,18 +171,11 @@ mainmenu "Espressif IoT Development Framework Configuration"
Example gdbinit files for other targets can be found in tools/test_apps/system/gdb_loadable_elf/
When loading the BIN with UART, the ROM will jump to ram and run the app after finishing the ROM
startup code, so there's no additional startup initialization required. You can use the
`load_ram` in esptool.py to load the generated .bin file into ram and execute.
Example:
esptool.py --chip {chip} -p {port} -b {baud} --no-stub load_ram {app.bin}
Recommended sdkconfig.defaults for building loadable ELF files is as follows.
CONFIG_APP_BUILD_TYPE_RAM is required, other options help reduce application
CONFIG_APP_BUILD_TYPE_ELF_RAM is required, other options help reduce application
memory footprint.
CONFIG_APP_BUILD_TYPE_RAM=y
CONFIG_APP_BUILD_TYPE_ELF_RAM=y
CONFIG_VFS_SUPPORT_TERMIOS=
CONFIG_NEWLIB_NANO_FORMAT=y
CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y
@@ -242,16 +186,13 @@ mainmenu "Espressif IoT Development Framework Configuration"
config APP_BUILD_TYPE_APP_2NDBOOT
bool
prompt "Default (binary application + 2nd stage bootloader)"
depends on !IDF_TARGET_LINUX
select APP_BUILD_GENERATE_BINARIES
select APP_BUILD_BOOTLOADER
select APP_BUILD_USE_FLASH_SECTIONS
config APP_BUILD_TYPE_RAM
config APP_BUILD_TYPE_ELF_RAM
bool
prompt "Build app runs entirely in RAM (EXPERIMENTAL)"
select APP_BUILD_GENERATE_BINARIES
prompt "ELF file, loadable into RAM (EXPERIMENTAL))"
endchoice # APP_BUILD_TYPE
# Hidden options, set according to the choice above
@@ -261,76 +202,9 @@ mainmenu "Espressif IoT Development Framework Configuration"
config APP_BUILD_BOOTLOADER
bool # Whether to build the bootloader
config APP_BUILD_TYPE_PURE_RAM_APP
bool
prompt "Build app without SPI_FLASH/PSRAM support (saves ram)"
depends on APP_BUILD_TYPE_RAM
help
If this option is enabled, external memory and related peripherals, such as Cache, MMU,
Flash and PSRAM, won't be initialized. Corresponding drivers won't be introduced either.
Components that depend on the spi_flash component will also be unavailable, such as
app_update, etc. When this option is enabled, about 26KB of RAM space can be saved.
config APP_BUILD_USE_FLASH_SECTIONS
bool # Whether to place code/data into memory-mapped flash sections
config APP_REPRODUCIBLE_BUILD
bool "Enable reproducible build"
default n
select COMPILER_HIDE_PATHS_MACROS
help
If enabled, all date, time, and path information would be eliminated. A .gdbinit file would be create
automatically. (or will be append if you have one already)
config APP_NO_BLOBS
bool "No Binary Blobs"
default n
help
If enabled, this disables the linking of binary libraries in the application build. Note
that after enabling this Wi-Fi/Bluetooth will not work.
config APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS
bool "App compatible with bootloaders before ESP-IDF v2.1"
select APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS
depends on IDF_TARGET_ESP32
default n
help
Bootloaders before ESP-IDF v2.1 did less initialisation of the
system clock. This setting needs to be enabled to build an app
which can be booted by these older bootloaders.
If this setting is enabled, the app can be booted by any bootloader
from IDF v1.0 up to the current version.
If this setting is disabled, the app can only be booted by bootloaders
from IDF v2.1 or newer.
Enabling this setting adds approximately 1KB to the app's IRAM usage.
config APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS
bool "App compatible with bootloader and partition table before ESP-IDF v3.1"
depends on IDF_TARGET_ESP32
default n
help
Partition tables before ESP-IDF V3.1 do not contain an MD5 checksum
field, and the bootloader before ESP-IDF v3.1 cannot read a partition
table that contains an MD5 checksum field.
Enable this option only if your app needs to boot on a bootloader and/or
partition table that was generated from a version *before* ESP-IDF v3.1.
If this option and Flash Encryption are enabled at the same time, and any
data partitions in the partition table are marked Encrypted, then the
partition encrypted flag should be manually verified in the app before accessing
the partition (see CVE-2021-27926).
config APP_INIT_CLK
bool
depends on IDF_TARGET_ESP32
default y if APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS
default y if APP_BUILD_TYPE_RAM
endmenu # Build type
source "$COMPONENT_KCONFIGS_PROJBUILD_SOURCE_FILE"
@@ -339,12 +213,12 @@ mainmenu "Espressif IoT Development Framework Configuration"
choice COMPILER_OPTIMIZATION
prompt "Optimization Level"
default COMPILER_OPTIMIZATION_DEBUG
default COMPILER_OPTIMIZATION_DEFAULT
help
This option sets compiler optimization level (gcc -O argument) for the app.
- The "Debug" setting will add the -Og flag to CFLAGS.
- The "Size" setting will add the -Os flag to CFLAGS (-Oz with Clang).
- The "Default" setting will add the -0g flag to CFLAGS.
- The "Size" setting will add the -0s flag to CFLAGS.
- The "Performance" setting will add the -O2 flag to CFLAGS.
- The "None" setting will add the -O0 flag to CFLAGS.
@@ -362,10 +236,10 @@ mainmenu "Espressif IoT Development Framework Configuration"
Compiler optimization for the IDF bootloader is set separately,
see the BOOTLOADER_COMPILER_OPTIMIZATION setting.
config COMPILER_OPTIMIZATION_DEBUG
config COMPILER_OPTIMIZATION_DEFAULT
bool "Debug (-Og)"
config COMPILER_OPTIMIZATION_SIZE
bool "Optimize for size (-Os with GCC, -Oz with Clang)"
bool "Optimize for size (-Os)"
config COMPILER_OPTIMIZATION_PERF
bool "Optimize for performance (-O2)"
config COMPILER_OPTIMIZATION_NONE
@@ -408,41 +282,6 @@ mainmenu "Espressif IoT Development Framework Configuration"
endchoice # assertions
config COMPILER_ASSERT_NDEBUG_EVALUATE
bool "Enable the evaluation of the expression inside assert(X) when NDEBUG is set"
default y
help
When NDEBUG is set, assert(X) will not cause code to trigger an assertion.
With this option set, assert(X) will still evaluate the expression X, though
the result will never cause an assertion. This means that if X is a function
then the function will be called.
This is not according to the standard, which states that the assert(X) should
be replaced with ((void)0) if NDEBUG is defined.
In ESP-IDF v6.0 the default behavior will change to "no" to be in line with the
standard.
choice COMPILER_FLOAT_LIB_FROM
prompt "Compiler float lib source"
default COMPILER_FLOAT_LIB_FROM_RVFPLIB if ESP_ROM_HAS_RVFPLIB
default COMPILER_FLOAT_LIB_FROM_GCCLIB
help
In the soft-fp part of libgcc, riscv version is written in C,
and handles all edge cases in IEEE754, which makes it larger
and performance is slow.
RVfplib is an optimized RISC-V library for FP arithmetic on 32-bit
integer processors, for single and double-precision FP.
RVfplib is "fast", but it has a few exceptions from IEEE 754 compliance.
config COMPILER_FLOAT_LIB_FROM_GCCLIB
bool "libgcc"
config COMPILER_FLOAT_LIB_FROM_RVFPLIB
depends on ESP_ROM_HAS_RVFPLIB
bool "librvfp"
endchoice # COMPILER_FLOAT_LIB_FROM
config COMPILER_OPTIMIZATION_ASSERTION_LEVEL
int
default 0 if COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE
@@ -462,6 +301,7 @@ mainmenu "Espressif IoT Development Framework Configuration"
menuconfig COMPILER_HIDE_PATHS_MACROS
bool "Replace ESP-IDF and project paths in binaries"
default y
depends on IDF_CMAKE
help
When expanding the __FILE__ and __BASE_FILE__ macros, replace paths inside ESP-IDF
with paths relative to the placeholder string "IDF", and convert paths inside the
@@ -544,15 +384,6 @@ mainmenu "Espressif IoT Development Framework Configuration"
help
Stack smashing protection.
config COMPILER_NO_MERGE_CONSTANTS
bool "Disable merging const sections"
depends on IDF_TOOLCHAIN_GCC
help
Disable merging identical constants (string/floating-point) across compilation units.
This helps in better size analysis of the application binary as the rodata section
distribution is more uniform across libraries. On downside, it may increase
the binary size and hence should be used during development phase only.
config COMPILER_WARN_WRITE_STRINGS
bool "Enable -Wwrite-strings warning flag"
default "n"
@@ -579,40 +410,12 @@ mainmenu "Espressif IoT Development Framework Configuration"
This option can be enabled for RISC-V targets only.
config COMPILER_DISABLE_DEFAULT_ERRORS
bool "Disable errors for default warnings"
default "y"
help
Enable this option if you do not want default warnings to be considered as errors,
especially when updating IDF.
This is a temporary flag that could help to allow upgrade while having
some time to address the warnings raised by those default warnings.
Alternatives are:
1) fix code (preferred),
2) remove specific warnings,
3) do not consider specific warnings as error.
config COMPILER_DISABLE_GCC12_WARNINGS
bool "Disable new warnings introduced in GCC 12"
config COMPILER_DISABLE_GCC8_WARNINGS
bool "Disable new warnings introduced in GCC 6 - 8"
default "n"
help
Enable this option if use GCC 12 or newer, and want to disable warnings which don't appear with
GCC 11.
config COMPILER_DISABLE_GCC13_WARNINGS
bool "Disable new warnings introduced in GCC 13"
default "n"
help
Enable this option if use GCC 13 or newer, and want to disable warnings which don't appear with
GCC 12.
config COMPILER_DISABLE_GCC14_WARNINGS
bool "Disable new warnings introduced in GCC 14"
default "n"
help
Enable this option if use GCC 14 or newer, and want to disable warnings which don't appear with
GCC 13.
Enable this option if using GCC 6 or newer, and wanting to disable warnings which don't appear with
GCC 5.
config COMPILER_DUMP_RTL_FILES
bool "Dump RTL files during compilation"
@@ -620,90 +423,28 @@ mainmenu "Espressif IoT Development Framework Configuration"
If enabled, RTL files will be produced during compilation. These files
can be used by other tools, for example to calculate call graphs.
choice COMPILER_RT_LIB
prompt "Compiler runtime library"
default COMPILER_RT_LIB_CLANGRT if IDF_TOOLCHAIN_CLANG
default COMPILER_RT_LIB_HOST if IDF_TARGET_LINUX
default COMPILER_RT_LIB_GCCLIB
help
Select runtime library to be used by compiler.
- GCC toolchain supports libgcc only.
- Clang allows to choose between libgcc or libclang_rt.
- For host builds ("linux" target), uses the default library.
config COMPILER_RT_LIB_GCCLIB
depends on !IDF_TARGET_LINUX
bool "libgcc"
config COMPILER_RT_LIB_CLANGRT
depends on IDF_TOOLCHAIN_CLANG && !IDF_TARGET_LINUX
bool "libclang_rt"
config COMPILER_RT_LIB_HOST
depends on IDF_TARGET_LINUX
bool "Host"
endchoice
config COMPILER_RT_LIB_NAME
string
default "clang_rt.builtins" if COMPILER_RT_LIB_CLANGRT
default "gcc" if COMPILER_RT_LIB_GCCLIB
default "" if COMPILER_RT_LIB_HOST
choice COMPILER_ORPHAN_SECTIONS
prompt "Orphan sections handling"
default COMPILER_ORPHAN_SECTIONS_WARNING
depends on !IDF_TARGET_LINUX
help
If the linker finds orphan sections, it attempts to place orphan sections after sections of the same
attribute such as code vs data, loadable vs non-loadable, etc.
That means that orphan sections could placed between sections defined in IDF linker scripts.
This could lead to corruption of the binary image. Configure the linker action here.
config COMPILER_ORPHAN_SECTIONS_WARNING
bool "Place with warning"
help
Places orphan sections with a warning message.
config COMPILER_ORPHAN_SECTIONS_PLACE
bool "Place silently"
help
Places orphan sections without a warning/error message.
endchoice
config COMPILER_STATIC_ANALYZER
bool "Enable compiler static analyzer"
default "n"
depends on IDF_TOOLCHAIN_GCC
help
Enable compiler static analyzer. This may produce false-positive results and increases compile time.
endmenu # Compiler Options
menu "Component config"
comment "!!! MINIMAL_BUILD is enabled !!!"
depends on "${IDF_MINIMAL_BUILD}"
comment "Only common components and those transitively required by the main component are listed"
depends on "${IDF_MINIMAL_BUILD}"
comment "If a component configuration is missing, please add it to the main component's requirements"
depends on "${IDF_MINIMAL_BUILD}"
source "$COMPONENT_KCONFIGS_SOURCE_FILE"
endmenu
config IDF_EXPERIMENTAL_FEATURES
bool "Make experimental features visible"
default "n"
help
By enabling this option, ESP-IDF experimental feature options will be visible.
menu "Compatibility options"
config LEGACY_INCLUDE_COMMON_HEADERS
bool "Include headers across components as before IDF v4.0"
default n
help
Soc, esp32, and driver components, the most common
components. Some header of these components are included
implicitly by headers of other components before IDF v4.0.
It's not required for high-level components, but still
included through long header chain everywhere.
Note you should still enable a certain experimental feature option to use it, and you
should read the corresponding risk warning and known issue list carefully.
This is harmful to the modularity. So it's changed in IDF
v4.0.
Current experimental feature list:
You can still include these headers in a legacy way until it
is totally deprecated by enable this option.
- CONFIG_ESPTOOLPY_FLASHFREQ_120M && CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_DTR
- CONFIG_SPIRAM_SPEED_120M && CONFIG_SPIRAM_MODE_OCT
- CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH
- CONFIG_ESP_WIFI_EAP_TLS1_3
- CONFIG_ESP_WIFI_ENABLE_ROAMING_APP
- CONFIG_USB_HOST_EXT_PORT_RESET_ATTEMPTS
- CONFIG_LIBC_PICOLIBC
endmenu #Compatibility options

View File

@@ -4,35 +4,21 @@
ESP-IDF is the development framework for Espressif SoCs supported on Windows, Linux and macOS.
# ESP-IDF Release Support Schedule
![Support Schedule](https://dl.espressif.com/dl/esp-idf/support-periods.svg?v=1)
- Please read [the support policy](SUPPORT_POLICY.md) and [the documentation](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/versions.html) for more information about ESP-IDF versions.
- Please see the [End-of-Life Advisories](https://www.espressif.com/en/support/documents/advisories?keys=&field_type_of_advisory_tid%5B%5D=817) for information about ESP-IDF releases with discontinued support.
# ESP-IDF Release and SoC Compatibility
The following table shows ESP-IDF support of Espressif SoCs where ![alt text][preview] and ![alt text][supported] denote preview status and support, respectively. The preview support is usually limited in time and intended for beta versions of chips. Please use an ESP-IDF release where the desired SoC is already supported.
The following table shows ESP-IDF support of Espressif SoCs where ![alt text][preview] and ![alt text][supported] denote preview status and support, respectively. In preview status the build is not yet enabled and some crucial parts could be missing (like documentation, datasheet). Please use an ESP-IDF release where the desired SoC is already supported.
|Chip | v5.1 | v5.2 | v5.3 | v5.4 | v5.5 | |
|:----------- |:--------------------: | :--------------------: | :--------------------: | :--------------------: | :--------------------: |:------------------------------------------------------------------- |
|ESP32 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-S2 |![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-C3 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-S3 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |[Announcement](https://www.espressif.com/en/news/ESP32_S3) |
|ESP32-C2 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |[Announcement](https://www.espressif.com/en/news/ESP32-C2) |
|ESP32-C6 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |[Announcement](https://www.espressif.com/en/news/ESP32_C6) |
|ESP32-H2 |![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |[Announcement](https://www.espressif.com/en/news/ESP32_H2) |
|ESP32-P4 | | | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |[Announcement](https://www.espressif.com/en/news/ESP32-P4) |
|ESP32-C5 | | | | |![alt text][preview] |[Announcement](https://www.espressif.com/en/news/ESP32-C5) |
|ESP32-C61 | | | | |![alt text][preview] |[Announcement](https://www.espressif.com/en/products/socs/esp32-c61) |
|Chip | v3.3 | v4.0 | v4.1 | v4.2 | v4.3 | v4.4 | |
|:----------- |:---------------------: | :---------------------:| :---------------------:| :---------------------:| :---------------------:| :---------------------:|:---------------------------------------------------------- |
|ESP32 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-S2 | | | | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-C3 | | | | | ![alt text][supported] | ![alt text][supported] | |
|ESP32-S3 | | | | | ![alt text][preview] | ![alt text][supported] | [Announcement](https://www.espressif.com/en/news/ESP32_S3) |
|ESP32-H2 | | | | | | ![alt text][preview] | [Announcement](https://www.espressif.com/en/news/ESP32_H2) |
[supported]: https://img.shields.io/badge/-supported-green "supported"
[preview]: https://img.shields.io/badge/-preview-orange "preview"
There are variants of revisions for a series of chips. See [Compatibility Between ESP-IDF Releases and Revisions of Espressif SoCs](https://github.com/espressif/esp-idf/blob/master/COMPATIBILITY.md) for the details of the compatibility between ESP-IDF and chip revisions.
Espressif SoCs released before 2016 (ESP8266 and ESP8285) are supported by [RTOS SDK](https://github.com/espressif/ESP8266_RTOS_SDK) instead.
# Developing With ESP-IDF
@@ -45,9 +31,11 @@ See https://idf.espressif.com/ for links to detailed instructions on how to set
### Non-GitHub forks
ESP-IDF uses relative locations as its submodules URLs ([.gitmodules](.gitmodules)). So they link to GitHub. If ESP-IDF is forked to a Git repository which is not on GitHub, you will need to run the script [tools/set-submodules-to-github.sh](tools/set-submodules-to-github.sh) after git clone.
The script sets absolute URLs for all submodules, allowing `git submodule update --init --recursive` to complete. If cloning ESP-IDF from GitHub, this step is not needed.
ESP-IDF uses relative locations as its submodules URLs ([.gitmodules](.gitmodules)). So they link to GitHub.
If ESP-IDF is forked to a Git repository which is not on GitHub, you will need to run the script
[tools/set-submodules-to-github.sh](tools/set-submodules-to-github.sh) after git clone.
The script sets absolute URLs for all submodules, allowing `git submodule update --init --recursive` to complete.
If cloning ESP-IDF from GitHub, this step is not needed.
## Finding a Project
@@ -94,7 +82,7 @@ You don't need to run `idf.py build` before running `idf.py flash`, `idf.py flas
## Viewing Serial Output
The `idf.py monitor` target uses the [esp-idf-monitor tool](https://github.com/espressif/esp-idf-monitor) to display serial output from Espressif SoCs. esp-idf-monitor also has a range of features to decode crash output and interact with the device. [Check the documentation page for details](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/idf-monitor.html).
The `idf.py monitor` target uses the [idf_monitor tool](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/idf-monitor.html) to display serial output from Espressif SoCs. idf_monitor also has a range of features to decode crash output and interact with the device. [Check the documentation page for details](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/idf-monitor.html).
Exit the monitor by typing Ctrl-].
@@ -123,8 +111,6 @@ This can be combined with other targets, ie `idf.py -p PORT erase-flash flash` w
* Documentation for the latest version: https://docs.espressif.com/projects/esp-idf/. This documentation is built from the [docs directory](docs) of this repository.
* [Beginner's Guide to Key Concepts and Resources of ESP-IDF](https://youtu.be/J8zc8mMNKtc?feature=shared)
* The [esp32.com forum](https://esp32.com/) is a place to ask questions and find community resources.
* [Check the Issues section on github](https://github.com/espressif/esp-idf/issues) if you find a bug or have a feature request. Please check existing Issues before opening a new one.

View File

@@ -4,36 +4,21 @@
ESP-IDF 是乐鑫官方推出的物联网开发框架,支持 Windows、Linux 和 macOS 操作系统。
# ESP-IDF 版本支持期限
![支持期限](https://dl.espressif.com/dl/esp-idf/support-periods.svg?v=1)
- 请参考 [ESP-IDF 支持政策](SUPPORT_POLICY_CN.md) 以及 [相关文档](https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/versions.html) 了解更多关于 ESP-IDF 版本的信息。
- 请参考 [ESP-IDF 版本停止维护 (EOL) 公告](https://www.espressif.com/zh-hans/support/documents/advisories?keys=&field_type_of_advisory_tid%5B%5D=817)。
# ESP-IDF 与乐鑫芯片
下表总结了乐鑫芯片在 ESP-IDF 各版本中的支持状态,其中 ![alt text][supported] 代表已支持,![alt text][preview] 代表目前处于预览支持状态。预览支持状态通常有时间限制,而且仅适用于测试版芯片。请确保使用与芯片相匹配的 ESP-IDF 版本。
芯片 | v5.1 | v5.2 | v5.3 | v5.4 | v5.5 | |
|:----------- | :--------------------: | :--------------------: | :--------------------: | :--------------------: | :--------------------: |:------------------------------------------------------------------------ |
|ESP32 |![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |![alt text][supported] | |
|ESP32-S2 |![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-C3 |![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-S3 |![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32_S3) |
|ESP32-C2 |![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32-C2) |
|ESP32-C6 |![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32_C6) |
|ESP32-H2 |![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] |![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32_H2) |
|ESP32-P4 | | | ![alt text][supported] | ![alt text][supported] |![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32-P4) |
|ESP32-C5 | | | | |![alt text][preview] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32-C5) |
|ESP32-C61 | | | | |![alt text][preview] | [芯片发布公告](https://www.espressif.com/zh-hans/products/socs/esp32-c61) |
下表总结了乐鑫芯片在 ESP-IDF 各版本中的支持状态,其中 ![alt text][supported] 代表已支持,![alt text][preview] 代表目前处于预览支持状态。预览支持阶段,因为新芯片尚未完全添加到构建系统目录,所以一些重要的内容(如文档和技术规格书等)可能会缺失。请确保使用与芯片相匹配的 ESP-IDF 版本。
| 芯片 | v3.3 | v4.0 | v4.1 | v4.2 | v4.3 | v4.4 | |
|:----------- |:---------------------: | :---------------------:| :---------------------:| :---------------------:| :---------------------:| :---------------------:|:---------------------------------------------------------- |
|ESP32 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-S2 | | | | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-C3 | | | | | ![alt text][supported] | ![alt text][supported] | |
|ESP32-S3 | | | | | ![alt text][preview] | ![alt text][supported] | [芯片发布公告](https://www.espressif.com/en/news/ESP32_S3) |
|ESP32-H2 | | | | | | ![alt text][preview] | [芯片发布公告](https://www.espressif.com/en/news/ESP32_H2) |
[supported]: https://img.shields.io/badge/-%E6%94%AF%E6%8C%81-green "supported"
[preview]: https://img.shields.io/badge/-%E9%A2%84%E8%A7%88-orange "preview"
每款乐鑫芯片都可能有不同版本。建议参考 [ESP-IDF 版本与乐鑫芯片版本兼容性](https://github.com/espressif/esp-idf/blob/master/COMPATIBILITY_CN.md),了解 ESP-IDF 版本与各芯片版本之间的兼容性。
对于 2016 年之前发布的乐鑫芯片(包括 ESP8266 和 ESP8285请参考 [RTOS SDK](https://github.com/espressif/ESP8266_RTOS_SDK)。
# 使用 ESP-IDF 进行开发
@@ -46,9 +31,11 @@ ESP-IDF 是乐鑫官方推出的物联网开发框架,支持 Windows、Linux
### 非 GitHub 分叉的 ESP-IDF 项目
ESP-IDF 中的子模块采用相对路径([详见 .gitmodules 文件](.gitmodules)),所以它们会指向 GitHub。 如果 ESP-IDF 被分叉到的仓库不在 GitHub 上,那么你需要在克隆结束后运行该脚本 [tools/set-submodules-to-github.sh](tools/set-submodules-to-github.sh)。
ESP-IDF 中的子模块采用相对路径([详见 .gitmodules 文件](.gitmodules)),所以它们会指向 GitHub。
如果 ESP-IDF 被分叉到的仓库不在 GitHub 上,那么你需要在克隆结束后运行该脚本 [tools/set-submodules-to-github.sh](tools/set-submodules-to-github.sh)。
这个脚本会为所有的子模块设置绝对路径,接着可以通过 `git submodule update --init --recursive` 完成子模块的更新。如果 ESP-IDF 是从 GitHub 上克隆得到,则不需要此步骤。
这个脚本会为所有的子模块设置绝对路径,接着可以通过 `git submodule update --init --recursive` 完成子模块的更新。
如果 ESP-IDF 是从 GitHub 上克隆得到,则不需要此步骤。
## 寻找项目
@@ -95,7 +82,7 @@ ESP-IDF 中的子模块采用相对路径([详见 .gitmodules 文件](.gitmodu
## 观察串口输入
`idf.py monitor` 会调用 [esp-idf-monitor 工具](https://github.com/espressif/esp-idf-monitor)来显示乐鑫芯片的串口输出。esp-idf-monitor 还包含一系列的功能来解析程序崩溃后的输出结果并与设备进行交互。更多详细内容,请参阅[文档](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/idf-monitor.html).
`idf.py monitor` 会调用 [idf_monitor 工具](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/idf-monitor.html)来显示乐鑫芯片的串口输出。`idf_monitor` 还包含一系列的功能来解析程序崩溃后的输出结果并与设备进行交互。更多详细内容,请参阅[文档](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/idf-monitor.html).
输入 `Ctrl-]` 可退出监视器。
@@ -124,8 +111,6 @@ ESP-IDF 中的子模块采用相对路径([详见 .gitmodules 文件](.gitmodu
* 最新版的文档https://docs.espressif.com/projects/esp-idf/ ,该文档是由本仓库 [docs 目录](docs) 构建得到。
* [初学者指南:主要概念和资源](https://www.bilibili.com/video/BV1114y1r7du/)
* 可以前往 [esp32.com 论坛](https://esp32.com/) 提问,挖掘社区资源。
* 如果你在使用中发现了错误或者需要新的功能,请先[查看 GitHub Issues](https://github.com/espressif/esp-idf/issues),确保该问题没有重复提交。

View File

@@ -1,130 +0,0 @@
# ESP-IDF Project Roadmap2025
* [中文版](./ROADMAP_CN.md)
This document outlines the goals of ESP-IDF project and is shared for the convenience of our customers. It is important to clarify that this document is not a binding commitment to our customers. Instead, its primary purpose is to offer a clear roadmap and direction for the project's development. By openly sharing this information, we aim to enhance our customers' understanding, promote transparency and ensure alignment with the overarching objectives of the ESP-IDF project.
## Project Overview
### Project Goals
In both minor and major releases, we integrate new chip support to enhance our product range. By expanding the chip matrix, we broaden the scope of our offerings, catering to a wider audience with diverse needs. This proactive approach ensures that our products remain at the forefront of technological advancements, consistently meeting and exceeding customer expectations.
Furthermore, we prioritize bugfix releases for active branches, focusing on improving the stability and performance of products already in production. By addressing bugs promptly, we aim to enhance the overall user experience and provide tangible benefits to customers relying on our solutions. This proactive maintenance strategy reflects our commitment to delivering reliable, high-quality products to our valued customer base.
Below are the main objectives that ESP-IDF project/teams would like to implement in 2025.
- New Chip Support
- Add support for ESP32-C5
- Add support for ESP32-C61
- More Minor/Major Releases
- Release IDF v5.5 in the middle of 2025
- Release IDF v6.0 at the end of 2025
- More Bugfix Releases
- Release v5.0.8 and v5.0.9 before ESP-IDF v5.0 goes End of Life in May 2025
- Release v5.1.6 and v5.1.7 before ESP-IDF v5.1 goes End of Life in December 2025
- Do more bugfix releases for IDF v5.2 and IDF v5.3 before release/5.2 and release/5.3 enter maintenance period
- Do more bug fixes releases for release/5.4 and release/5.5, and push the two releases to be more stable and production-ready
- Major Changes
- We plan to upgrade MbedTLS to v4.x series in IDF v6.0. In addition, we will also be migrating to newer PSA crypto API as part of this upgrade. Please note that this may involve some breaking changes on the application side for the crypto API usage.
Please note that support status of previous silicones could be found on [ESP-IDF Release and SoC Compatibility](https://github.com/espressif/esp-idf#esp-idf-release-and-soc-compatibility).
### Roadmap Details
The ESP-IDF project prioritizes consistent maintenance and updates to ensure our customers remain at the forefront of technological advancements. Our commitment to ongoing development ensures that customers continuously benefit from the latest innovations in the field.
Moreover, we are dedicated to empowering our customers to leverage newly implemented features and enhanced functionalities through iterative improvements. Our steadfast commitment to pushing boundaries ensures that clients not only keep pace with evolving technology but also extract optimal value from the cutting-edge capabilities of our products.
Below are the main roadmap details for functional areas inside ESP-IDF.
- New Chip Support
- Add the initial support for the mass production version of ESP32-C5 in ESP-IDF v5.5, refer to [ESP32-C5 Support Status](https://github.com/espressif/esp-idf/issues/14021)
- Add the initial support for the mass production version of ESP32-C61 in ESP-IDF v5.5, refer to [ESP32-C61 Support Status](https://developer.espressif.com/pages/chip-support-status/esp32c61/#esp-idf)
- Bugfix releases
- Do bugfix releases v5.0.8 and v5.0.9 and stop maintaining ESP-IDF v5.0 in May 2025
- Do bugfix releases v5.1.6 and v5.1.7 and stop maintaining ESP-IDF v5.1 in December 2025
- Release bugfix IDF v5.2.4, IDF v5.2.5 and IDF v5.2.6 in 2025, and push release/5.2 to maintenance period from February 2025
- Release bugfix IDF v5.3.3 and IDF v5.3.4 in 2025, and push release/5.3 to maintenance period from July 2025
- Do more bug fixes releases for release/5.4 (IDF v5.4.1, IDF v5.4.2, IDF v5.4.3) and release/5.5 (IDF v5.5.1, IDF v5.5.2), and push releases to be more stable and more production-ready
## ESP-IDF Planning information
For the full list of ESP-IDF releases, please visit https://github.com/espressif/esp-idf/releases
All the information provided here is subject to change without notice, due to business reasons and other factors.
### ESP-IDF Major Releases
```mermaid
timeline
title ESP-IDF Major Releases
section 2025 Q1 <br> Major Release Planning
No version planned : N/A
section 2025 Q2 <br> Major Release Planning
No version planned : N/A
section 2025 Q3 <br> Major Release Planning
No version planned : N/A
section 2025 Q4 <br> Major Release Planning
v6.0-beta1 : 2025/11/13
v6.0-beta2 : 2025/12/05
v6.0-RC1 : 2026/01/14
v6.0-RC2 : 2026/02/06
v6.0 : 2026/02/13
```
### ESP-IDF Minor Releases
```mermaid
timeline
title ESP-IDF Minor Releases
section 2025 Q1 <br> Minor Release Planning
No version planned : N/A
section 2025 Q2 <br> Minor Release Planning
v5.5-beta1 : 2025/05/14
v5.5-beta2 : 2025/06/04
section 2025 Q3 <br> Minor Release Planning
v5.5-RC1 : 2025/07/07
v5.5-RC2 : 2025/07/28
v5.5 : 2025/08/04
section 2025 Q4 <br> Minor Release Planning
No version planned : N/A
```
### ESP-IDF Bugfix Releases
```mermaid
timeline
title ESP-IDF Bugfix Releases
section 2025 Q1 <br> Bugfix Release Planning
v5.0.8 : 2025/01/14
v5.1.6 : 2025/02/18
v5.2.4 : 2025/02/23
v5.2.5 : 2025/02/28
v5.4.1 : 2025/03/27
v5.3.3 : 2025/04/04
section 2025 Q2 <br> Bugfix Release Planning
v5.0.9 : 2025/05/16
v5.4.2 : 2025/06/30
section 2025 Q3 <br> Bugfix Release Planning
v5.3.4 : 2025/08/03
v5.2.6 : 2025/09/04
v5.5.1 : 2025/09/11
v5.4.3 : 2025/10/08
section 2025 Q4 <br> Bugfix Release Planning
v5.5.2 : 2025/11/12
v5.1.7 : 2026/01/06
```

View File

@@ -1,130 +0,0 @@
# ESP-IDF 项目路线图 2025
* [English Version](./ROADMAP.md)
本文档概述了 ESP-IDF 项目的年度计划,方便客户据此规划自己的项目周期。需要说明的是该文档并不是我们对客户的约束性承诺。相反,其主要目的是为客户提供 ESP-IDF 项目开发的路线图和方向。通过公开这些信息,我们希望增进客户对 ESP-IDF 项目的理解,提高透明度,并确保与 ESP-IDF 项目的总体目标保持一致。
## 项目总览
### 项目目标
在 ESP-IDF 的主要版本和次要版本中,我们一般会增加对新芯片的支持,以扩展我们的产品线。通过扩展芯片矩阵,拓宽我们的产品范围,并满足广泛受众的各种需求。这样便能保证我们的产品始终处于技术进步的前沿,不断满足客户的需求并超越客户的期望。
此外ESP-IDF 各活跃分支的 Bugfix 版本发布也是我们项目的重中之重,着力提升已量产产品的稳定性和性能。通过及时解决问题,我们期待提升用户的整体体验,切实惠及使用乐鑫解决方案的客户。通过积极维护 ESP-IDF 的各活跃分支,我们践行了对宝贵的客户群提供可靠、高质量产品的承诺。
以下是 ESP-IDF 项目在 2025 年计划实现的主要目标。
* 新芯片支持
* 增加对 ESP32-C5 芯片的支持
* 增加对 ESP32-C61 芯片的支持
* 发布更多的次要和主要版本
* 在 2025 年中发布 IDF v5.5
* 在 2025 年底发布 IDF v6.0
* 发布更多 bugfix 版本
* 在 2025 年 5 月底 IDF v5.0 停止维护之前,发布 IDF v5.0.8 和 IDF v5.0.9
* 在 2025 年 12 月底 IDF v5.1 停止维护之前,发布 IDF v5.1.6 和 IDF v5.1.7
* 在 release/5.2 分支和 release/5.3 分支进入维护周期之前,发布更多 bugfix 版本
* release/5.4 分支和 release/5.5 分支发布更多 bugfix 版本,使这两个分支更加稳定和产品化
* 重大变更
* 我们计划在 IDF v6.0 中将 MbedTLS 版本升级到 v4.x。另外我们还会在升级中迁移到更新版的 PSA 加密 API但请注意这可能会导致应用程序端在使用加密 API 时出现一些非兼容性更新。
请注意,获取之前芯片的支持状态,请参阅 [ESP-IDF 发布和 SoC 兼容性](https://github.com/espressif/esp-idf/blob/master/README_CN.md#esp-idf-与乐鑫芯片)。
### 路线图细节
ESP-IDF 项目重视持续维护和更新,确保我们的客户始终处于技术进步的前沿。我们承诺持续进行开发,并将该领域的最新创新成果呈现给客户。
此外,我们也在给客户赋能,客户通过迭代改进便能接触到新开发的功能和更高的性能。我们在突破技术界限方面的坚定承诺,使客户不仅能接触到最新的技术,还能从我们产品的尖端功能中获取最大价值。
以下是 ESP-IDF 路线图的主要信息。
* 新芯片支持
* 在 ESP-IDF v5.4 中为 ESP32-C5 提供预览支持,并在 ESP-IDF v5.5 中为 ESP32-C5 提供完整支持,参考 [ESP32-C5 支持状态](https://github.com/espressif/esp-idf/issues/14021)
* 在 ESP-IDF v5.4 中增加对 ESP32-C61 早期样品的预览支持,并在 IDF v5.5 中增加对 ESP32-C61 量产版本的完整支持,参考 [ESP32-C61 支持状态](https://developer.espressif.com/pages/chip-support-status/esp32c61/#esp-idf)
* Bugfix 版本发布
* 发布 Bugfix 版本 IDF v5.0.8 和 IDF v5.0.9,并在 2025 年 5 月底停止维护 ESP-IDF v5.0
* 发布 Bugfix 版本 IDF v5.1.6 和 IDF v5.1.7,并在 2025 年 12 月底停止维护 ESP-IDF v5.1
* 发布 Bugfix 版本 IDF v5.2.4IDF v5.2.5 和 IDF v5.2.6release/5.2 分支自 2025 年 2 月进入维护周期
* 发布 Bugfix 版本 IDF v5.3.3 和 IDF v5.3.4release/5.3 分支自 2025 年 7 月进入维护周期
* release/5.4 分支发布更多 bugfix 版本,包括 IDF v5.4.1、IDF v5.4.2、IDF v5.4.3release/5.5 分支发布更多 bugfix 版本,包括 IDF v5.5.1、IDF v5.5.2。通过发布这些 Bugfix 版本,使 release/5.4 分支和 release/5.5 分支更加稳定和产品化。
## ESP-IDF 发布计划
获取 ESP-IDF 的完整发布列表,请访问 https://github.com/espressif/esp-idf/releases
此处提供的所有信息均可因业务原因及其他因素而在没有通知的情况下进行更改。
### ESP-IDF 主要版本发布
```mermaid
timeline
title ESP-IDF Major Releases
section 2025 Q1 <br> Major Release Planning
No version planned : N/A
section 2025 Q2 <br> Major Release Planning
No version planned : N/A
section 2025 Q3 <br> Major Release Planning
No version planned : N/A
section 2025 Q4 <br> Major Release Planning
v6.0-beta1 : 2025/11/13
v6.0-beta2 : 2025/12/05
v6.0-RC1 : 2026/01/14
v6.0-RC2 : 2026/02/06
v6.0 : 2026/02/13
```
### ESP-IDF 次要版本发布
```mermaid
timeline
title ESP-IDF Minor Releases
section 2025 Q1 <br> Minor Release Planning
No version planned : N/A
section 2025 Q2 <br> Minor Release Planning
v5.5-beta1 : 2025/05/14
v5.5-beta2 : 2025/06/04
section 2025 Q3 <br> Minor Release Planning
v5.5-RC1 : 2025/07/07
v5.5-RC2 : 2025/07/28
v5.5 : 2025/08/04
section 2025 Q4 <br> Minor Release Planning
No version planned : N/A
```
### ESP-IDF Bugfix 版本发布
```mermaid
timeline
title ESP-IDF Bugfix Releases
section 2025 Q1 <br> Bugfix Release Planning
v5.0.8 : 2025/01/14
v5.1.6 : 2025/02/18
v5.2.4 : 2025/02/23
v5.2.5 : 2025/02/28
v5.4.1 : 2025/03/27
v5.3.3 : 2025/04/04
section 2025 Q2 <br> Bugfix Release Planning
v5.0.9 : 2025/05/16
v5.4.2 : 2025/06/30
section 2025 Q3 <br> Bugfix Release Planning
v5.3.4 : 2025/08/03
v5.2.6 : 2025/09/04
v5.5.1 : 2025/09/11
v5.4.3 : 2025/10/08
section 2025 Q4 <br> Bugfix Release Planning
v5.5.2 : 2025/11/12
v5.1.7 : 2026/01/06
```

View File

@@ -1,9 +0,0 @@
# Security Policy
## Supported Versions
Please refer to https://docs.espressif.com/projects/esp-idf/en/latest/esp32/versions.html#support-periods for more details on ESP-IDF supported versions and support period policy.
## Reporting a Vulnerability
Please refer to [Espressif Security Incident Response Process](https://www.espressif.com/sites/default/files/Espressif%20Security%20Incident%20Response%20Process%20v1.0_EN.pdf) on the guidelines to report a security vulnerability. Please do **NOT** create a public GitHub issue.

View File

@@ -5,9 +5,12 @@ Support Period Policy
* [中文版](./SUPPORT_POLICY_CN.md)
Each ESP-IDF major and minor release (V4.1, V4.2, etc) is supported for 30 months after the initial stable release date.
Each ESP-IDF major and minor release (V4.1, V4.2, etc) is supported for
30 months after the initial stable release date.
Supported means that the ESP-IDF team will continue to apply bug fixes, security fixes, etc to the release branch on GitHub, and periodically make new bugfix releases as needed.
Supported means that the ESP-IDF team will continue to apply bug fixes,
security fixes, etc to the release branch on GitHub, and periodically
make new bugfix releases as needed.
Support period is divided into "Service" and "Maintenance" period:
@@ -16,36 +19,58 @@ Support period is divided into "Service" and "Maintenance" period:
| Service | 12 months | Yes |
| Maintenance | 18 months | No |
During the Service period, bugfixes releases are more frequent. In some cases, support for new features may be added during the Service period (this is reserved for features which are needed to meet particular regulatory requirements or standards for new products, and which carry a very low risk of introducing regressions.)
During the Service period, bugfixes releases are more frequent. In some cases,
support for new features may be added during the Service period (this is
reserved for features which are needed to meet particular regulatory
requirements or standards for new products, and which carry a very low risk of
introducing regressions.)
During the Maintenance period, the version is still supported but only bugfixes for high severity issues or security issues will be applied.
During the Maintenance period, the version is still supported but only bugfixes
for high severity issues or security issues will be applied.
Using an “In Service” version is recommended when starting a new project.
Users are encouraged to upgrade all projects to a newer ESP-IDF release before the support period finishes and the release becomes End of Life (EOL). It is our policy to not continue fixing bugs in End of Life releases.
Users are encouraged to upgrade all projects to a newer ESP-IDF release before
the support period finishes and the release becomes End of Life (EOL). It is our
policy to not continue fixing bugs in End of Life releases.
Pre-release versions (betas, previews, `-rc` and `-dev` versions, etc) are not covered by any support period. Sometimes a particular feature is marked as "Preview" in a release, which means it is also not covered by the support period.
Pre-release versions (betas, previews, `-rc` and `-dev` versions, etc)
are not covered by any support period. Sometimes a particular feature is
marked as "Preview" in a release, which means it is also not covered
by the support period.
ESP-IDF should be used in an up-to-date software environment. The operating system and other third-party tools should be supported by their maintainers. ESP-IDF cannot keep compatibility with unsupported third-party tools.
ESP-IDF should be used in an up-to-date software environment. The operating system
and other third-party tools should be supported by their maintainers.
ESP-IDF cannot keep compatibility with unsupported third-party tools.
The ESP-IDF Programming Guide has information about the [different versions of ESP-IDF](https://docs.espressif.com/projects/esp-idf/en/latest/versions.html) (major, minor, bugfix, etc).
The ESP-IDF Programming Guide has information about the
[different versions of ESP-IDF](https://docs.espressif.com/projects/esp-idf/en/latest/versions.html)
(major, minor, bugfix, etc).
Example
-------
ESP-IDF V3.3 was released in September 2019. It was supported for 30 months until February 2022.
ESP-IDF V3.3 was released in September 2019. It will be supported for 30 months
until February 2022.
- The first V3.3 release was `v3.3` in September 2019.
- The ESP-IDF team continues to backport bug fixes, security fixes, etc to the release branch `release/v3.3`.
- Periodically stable bugfix releases are created from the release branch. For example `v3.3.1`, `v3.3.2`, etc. Users are encouraged to always update to the latest bugfix release.
- V3.3 bugfix releases continue until February 2022, when all V3.3.x releases become End of Life.
- The ESP-IDF team continues to backport bug fixes, security fixes,
etc to the release branch `release/v3.3`.
- Periodically stable bugfix releases are created from the release
branch. For example `v3.3.1`, `v3.3.2`, etc. Users are encouraged to
always update to the latest bugfix release.
- V3.3 bugfix releases continue until February 2022, when all V3.3.x
releases become End of Life.
Existing Releases
-----------------
ESP-IDF release V4.1 and all newer releases will follow this support period policy. The support period for each release will be announced when the release is made.
ESP-IDF release V4.1 and all newer releases will follow this support period
policy. The support period for each release will be announced when the release
is made.
For releases made before the current support period policy was announced, the original support periods apply:
For releases made before the current support period policy was announced, the
original support periods apply:
* ESP-IDF V4.0.x will be supported until October 2021
* ESP-IDF V3.3.x will be supported until February 2022
@@ -54,5 +79,8 @@ For releases made before the current support period policy was announced, the or
Policy History
--------------
* September 2019. This policy splits ESP-IDF releases into Standard and Long Term Support.
* July 2020. All releases from now will have the same support period, which is equal to the previous Long Term Support period. Added “In Service” period, during which versions will receive more updates.
* September 2019. This policy split ESP-IDF releases into Standard and Long Term
Support.
* July 2020. All releases from now will have the same support period, which is
equal to the previous Long Term Support period. Added “In Service” period,
during which versions will receive more updates.

View File

@@ -3,8 +3,6 @@
支持期限政策
=====================
* [英文版](./SUPPORT_POLICY.md)
ESP-IDF 的每个主要版本和次要版本(如 V4.1、V4.2 等)自其首次稳定版本发布之日起将支持 30 个月。
支持意味着 ESP-IDF 团队将会对 GitHub 上的发布分支继续进行 bug 修复、安全修补等,并根据需求定期发布新的 bugfix 版本。
@@ -20,14 +18,12 @@ ESP-IDF 的每个主要版本和次要版本(如 V4.1、V4.2 等)自其首
在版本的维护周期内,版本仍然会继续支持,但仅会对严重问题或安全问题进行 bug 修复。
建议在开始新项目的时候使用处于服务周期的版本。
建议在开始新项目的时候使用处于服务周期的版本。
在某一版本支持期限结束,停止更新维护 (EOL) 前,建议用户升级所有项目至较新的 ESP-IDF 版本。根据《支持期限政策》,我们将停止对 EOL 版本进行 bug 修复。
《支持期限政策》不适用于预发布版本(包括 beta、preview、-rc 和 -dev 版本等)。有时,在发布的版本中存在被标记为 "Preview" 的特定功能,则该功能也不在支持期限内。
请确保在最新的软件环境中使用 ESP-IDF。操作系统和其他第三方工具应得到其维护者的支持。ESP-IDF 无法兼容不受支持的第三方工具。
有关 [ESP-IDF 不同版本](https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/versions.html)主要版本、次要版本、bugfix 版本等信息可参阅《ESP-IDF 编程指南》。
示例
@@ -49,10 +45,11 @@ ESP-IDF V4.1 及所有后续更新版本都将遵守该《支持期限政策》
* ESP-IDF V4.0.x 将支持至 2021 年 10 月。
* ESP-IDF V3.3.x 将支持至 2022 年 2 月。
* ESP-IDF v3.3 之前的版本已经停止支持。
* ESP-IDF V3.1.x 和 V3.2.x 都将在 2020 年 10 月停止支持。
* ESP-IDF v3.1.x 之前的版本已经停止支持。
政策历史
--------------
* 2019 年 9 月。该政策将 ESP-IDF 版本发布分为标准支持版本和长期支持版本。
* 2020 年 7 月。从现在开始,所有发布的版本都将有相同的支持周期,之前的长期支持周期。新增了”服务周期“,期间版本的更新将较为频繁。
* 2019 年 9 月。该政策将 ESP-IDF 版本发布分为标准支持版本和长期支持版本。
* 2020 年 7 月。从现在开始,所有发布的版本都将有相同的支持周期,等同于之前的长期支持周期。新增了”服务周期“,期间版本的更新将较为频繁。

View File

@@ -8,9 +8,16 @@ This document contains details about what the core components are, what they con
The core components are organized into two groups.
The first group (referred to as `G0`) includes `hal`, `arch` (where `arch` is either `riscv` or `xtensa` depending on the chip), `esp_rom`, `esp_common`, and `soc`. This group contains information about and provides low-level access to the underlying hardware. In the case of `esp_common`, it contains hardware-agnostic code and utilities. These components may have dependencies on each other within the group, but outside dependencies should be minimized. The reason for this approach is that these components are fundamental, and many other components may require them. Ideally, the dependency relationship only goes one way, making it easier for this group to be usable in other projects.
The first group (referred to as `G0` from now on) contains `hal`, `xtensa` and `riscv` (referred to as `arch` components from now on), `esp_rom`, `esp_common`, and `soc`. This
group contain information about and low-level access to underlying hardware; or in the case of `esp_common`, hardware-agnostic code and utilities.
These components can depend on each other, but as much as possible have no dependencies outside the group. The reason for this is that, due to the
nature of what these components contain, the likelihood is high that a lot of other components will require these. Ideally, then, the dependency
relationship only goes one way. This makes it easier for these components, as a group, to be usable in another project. One can conceivably implement
a competing SDK to ESP-IDF on top of these components.
The second group (referred to as `G1`) operates at a higher level than the first group. `G1` includes the components `esp_hw_support`, `esp_system`, `newlib`, `spi_flash`, `freertos`, `log`, and `heap`. Like the first group, circular dependencies within this group are allowed, and these components can have dependencies on the first group. G1 components represent essential software mechanisms for building other components.
The second group (referred to as `G1` from now on) sits at a higher level than the first group. This group contains the components `esp_hw_support`, `esp_system`, `newlib`, `spi_flash`,
`freertos`, `log`, and `heap`. Like the first group, circular dependencies within the group are allowed; and being at a higher level, dependency on the first group
is allowed. These components represent software mechanisms essential to building other components.
## Descriptions
@@ -25,7 +32,7 @@ into routines that achieve a meaningful action or state of the peripheral.
Example:
- `spi_flash_ll_set_address` is a low-level function part of the hardware abstraction `spi_flash_hal_read_block`
- `spi_flash_ll_set_address` is a low-level function part of the hardware abstraction `spi_flash_hal_read_block`
#### `arch`
@@ -34,9 +41,9 @@ This can also contain files provided by the architecture vendor.
Example:
- `xt_set_exception_handler`
- `rv_utils_intr_enable`
- `ERI_PERFMON_MAX`
- `xt_set_exception_handler`
- `riscv_global_interrupts_enable`
- `ERI_PERFMON_MAX`
#### `esp_common`
@@ -44,9 +51,9 @@ Contains hardware-agnostic definitions, constants, macros, utilities, 'pure' and
Example:
- `BIT(nr)` and other bit manipulation utilities in the future
- `IDF_DEPRECATED(REASON)`
- `ESP_IDF_VERSION_MAJOR`
- `BIT(nr)` and other bit manipulation utilities in the future
- `IDF_DEPRECATED(REASON)`
- `ESP_IDF_VERSION_MAJOR`
#### `soc`
@@ -54,9 +61,9 @@ Contains description of the underlying hardware: register structure, addresses,
Example:
- `DR_REG_DPORT_BASE`
- `SOC_MCPWM_SUPPORTED`
- `uart_dev_s`
- `DR_REG_DPORT_BASE`
- `SOC_MCPWM_SUPPORTED`
- `uart_dev_s`
#### `esp_rom`
@@ -64,8 +71,8 @@ Contains headers, linker scripts, abstraction layer, patches, and other related
Example:
- `esp32.rom.eco3.ld`
- `rom/aes.h`
- `esp32.rom.eco3.ld`
- `rom/aes.h`
### `G1` Components
@@ -91,20 +98,8 @@ Some functions n the standard library are implemented here, especially those nee
Example:
- `malloc` is implemented in terms of the component `heap`'s functions
- `gettimeofday` is implemented in terms of system time in `esp_system`
#### `esp_mm`
Memory management. Currently, this encompasses:
- Memory mapping for MMU supported memories
- Memory synchronisation via Cache
- Utils such as APIs to convert between virtual address and physical address
#### `esp_psram`
Contains implementation of PSRAM services
- `malloc` is implemented in terms of the component `heap`'s functions
- `gettimeofday` is implemented in terms of system time in `esp_system`
#### `esp_system`
@@ -112,10 +107,10 @@ Contains implementation of system services and controls system behavior. The imp
here may take hardware resources and/or decide on a hardware state needed for support of a system service/feature/mechanism.
Currently, this encompasses the following, but not limited to:
- Startup and initialization
- Panic and debug
- Reset and reset reason
- Task and interrupt watchdogs
- Startup and initialization
- Panic and debug
- Reset and reset reason
- Task and interrupt watchdogs
#### `esp_hw_support`
@@ -123,19 +118,19 @@ Contains implementations that provide hardware operations, arbitration, or resou
is used in the system. Unlike `esp_system`, implementations here do not decide on a hardware state or takes hardware resource, acting
merely as facilitator to hardware access. Currently, this encompasses the following, but not limited to:
- Interrupt allocation
- Sleep functions
- Memory functions (external SPIRAM, async memory, etc.)
- Clock and clock control
- Random generation
- CPU utilities
- MAC settings
- Interrupt allocation
- Sleep functions
- Memory functions (external SPIRAM, async memory, etc.)
- Clock and clock control
- Random generation
- CPU utilities
- MAC settings
### `esp_hw_support` vs `esp_system`
This section details list some implementations and the reason for placing it in either `esp_hw_support` or `esp_system`.
#### `task_wdt.c` (`esp_system`) vs `intr_alloc.c` (`esp_hw_support`)
#### `task_wdt.c` (`esp_system`) vs `intr_alloc.c` (`esp_hw_support`)
The task watchdog fits the definition of taking and configuring hardware resources (wdt, interrupt) for implementation of a system service/mechanism.
@@ -155,10 +150,11 @@ The current implementation in `esp_system` can then just register the interrupt
#### `esp_mac.h`, `esp_chip_info.h`, `esp_random.h` (`esp_hw_support`)
The functions in these headers used to be in `esp_system.h`, but have been split-off.
However, to maintain backward compatibility, `esp_system.h` includes these headers.
The remaining functions in `esp_system.h` are those that deal with system behavior, such
as `esp_register_shutdown_handler`, or are proxy for other system components's APIs such as
`esp_get_free_heap_size`.
The functions split-off from `esp_system.h` are much more hardware manipulation oriented such as:
`esp_read_mac`, `esp_random` and `esp_chip_info`.
`esp_read_mac`, `esp_random` and `esp_chip_info`.

View File

@@ -1,27 +1,8 @@
idf_build_get_property(target IDF_TARGET)
if(${target} STREQUAL "linux")
return() # This component is not supported by the POSIX/Linux simulator
endif()
set(srcs
"app_trace.c"
"app_trace_util.c"
"host_file_io.c")
if(CONFIG_ESP_DEBUG_STUBS_ENABLE)
list(APPEND srcs
"debug_stubs.c")
endif()
if(CONFIG_APPTRACE_GCOV_ENABLE)
if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
list(APPEND srcs
"gcov/gcov_rtio.c")
else()
fail_at_build_time(app_trace "Only GNU compiler can link with Gcov library")
endif()
endif()
"host_file_io.c"
"gcov/gcov_rtio.c")
set(include_dirs "include")
@@ -40,19 +21,17 @@ if(CONFIG_APPTRACE_MEMBUFS_APPTRACE_PROTO_ENABLE)
"port/riscv/port.c")
endif()
endif()
list(APPEND srcs
"port/port_uart.c")
if(CONFIG_APPTRACE_SV_ENABLE)
list(APPEND include_dirs
sys_view/Config
sys_view/SEGGER
sys_view/Sample/FreeRTOSV10.4)
sys_view/Sample/OS)
list(APPEND srcs
"sys_view/SEGGER/SEGGER_SYSVIEW.c"
"sys_view/Sample/FreeRTOSV10.4/Config/esp/SEGGER_SYSVIEW_Config_FreeRTOS.c"
"sys_view/Sample/FreeRTOSV10.4/SEGGER_SYSVIEW_FreeRTOS.c"
"sys_view/Sample/Config/SEGGER_SYSVIEW_Config_FreeRTOS.c"
"sys_view/Sample/OS/SEGGER_SYSVIEW_FreeRTOS.c"
"sys_view/esp/SEGGER_RTT_esp.c"
"sys_view/ext/heap_trace_module.c"
"sys_view/ext/logging.c")
@@ -60,64 +39,23 @@ endif()
if(CONFIG_HEAP_TRACING_TOHOST)
list(APPEND srcs "heap_trace_tohost.c")
if(CONFIG_IDF_TARGET_ARCH_XTENSA)
set_source_files_properties(heap_trace_tohost.c PROPERTIES COMPILE_FLAGS -Wno-frame-address)
endif()
set_source_files_properties(heap_trace_tohost.c
PROPERTIES COMPILE_FLAGS
-Wno-frame-address)
endif()
idf_component_register(SRCS "${srcs}"
INCLUDE_DIRS "${include_dirs}"
PRIV_INCLUDE_DIRS "${priv_include_dirs}"
PRIV_REQUIRES esp_driver_gptimer esp_driver_gpio esp_driver_uart
REQUIRES esp_timer
PRIV_REQUIRES soc esp_ipc
LDFRAGMENTS linker.lf)
# Force app_trace to also appear later than gcov in link line
idf_component_get_property(app_trace app_trace COMPONENT_LIB)
if(CONFIG_APPTRACE_GCOV_ENABLE)
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
# Coverage info is not supported when clang is used
# TODO: LLVM-214
message(FATAL_ERROR "Coverage info is not supported when building with Clang!")
endif()
# The original Gcov library from toolchain will be objcopy with symbols redefinitions (see file gcov/io_sym.map).
# This needs because ESP has no file-system onboard, and redefined functions solves this problem and transmits
# output file to host PC.
# Set a name for Gcov library
set(GCOV_LIB libgcov_rtio)
# Set include direcrory of Gcov internal headers
execute_process(COMMAND ${CMAKE_C_COMPILER} -print-file-name=plugin
OUTPUT_VARIABLE gcc_plugin_dir
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET)
set_source_files_properties(gcov/gcov_rtio.c
PROPERTIES COMPILE_FLAGS "-I${gcc_plugin_dir}/include")
# Copy libgcov.a with symbols redefinition
find_library(GCOV_LIBRARY_PATH gcov ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES})
add_custom_command(OUTPUT ${GCOV_LIB}.a
COMMAND ${_CMAKE_TOOLCHAIN_PREFIX}objcopy
--redefine-syms ${CMAKE_CURRENT_LIST_DIR}/gcov/io_sym.map
${GCOV_LIBRARY_PATH} ${GCOV_LIB}.a
MAIN_DEPENDENCY ${GCOV_LIBRARY_PATH}
VERBATIM)
add_custom_target(${GCOV_LIB}_target DEPENDS ${GCOV_LIB}.a)
add_library(${GCOV_LIB} STATIC IMPORTED)
set_target_properties(${GCOV_LIB}
PROPERTIES
IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${GCOV_LIB}.a)
add_dependencies(${GCOV_LIB} ${GCOV_LIB}_target)
add_dependencies(${COMPONENT_LIB} ${GCOV_LIB})
# disable --coverage for this component, as it is used as transport for gcov
# disable --coverage for this component, as it is used as transport
# for gcov
target_compile_options(${COMPONENT_LIB} PRIVATE "-fno-profile-arcs" "-fno-test-coverage")
target_link_options(${COMPONENT_LIB} INTERFACE "-Wl,--wrap=__gcov_init")
target_link_libraries(${COMPONENT_LIB} INTERFACE ${GCOV_LIB} $<TARGET_FILE:${app_trace}> c)
else()
target_link_libraries(${COMPONENT_LIB} INTERFACE $<TARGET_FILE:${app_trace}> c)
# 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

@@ -1,7 +1,7 @@
menu "Application Level Tracing"
choice APPTRACE_DESTINATION1
prompt "Data Destination 1"
choice APPTRACE_DESTINATION
prompt "Data Destination"
default APPTRACE_DEST_NONE
help
Select destination for application trace: JTAG or none (to disable).
@@ -14,127 +14,8 @@ menu "Application Level Tracing"
config APPTRACE_DEST_NONE
bool "None"
endchoice
config APPTRACE_DEST_UART
bool
config APPTRACE_DEST_UART_NOUSB
bool
choice APPTRACE_DESTINATION2
prompt "Data Destination 2"
default APPTRACE_DEST_UART_NONE
help
Select destination for application trace: UART(XX) or none (to disable).
config APPTRACE_DEST_UART0
bool "UART0"
select APPTRACE_ENABLE
select APPTRACE_DEST_UART
select APPTRACE_DEST_UART_NOUSB
depends on (ESP_CONSOLE_UART_NUM !=0)
config APPTRACE_DEST_UART1
bool "UART1"
select APPTRACE_ENABLE
select APPTRACE_DEST_UART
select APPTRACE_DEST_UART_NOUSB
depends on (ESP_CONSOLE_UART_NUM !=1)
config APPTRACE_DEST_UART2
bool "UART2"
select APPTRACE_ENABLE
select APPTRACE_DEST_UART
select APPTRACE_DEST_UART_NOUSB
depends on (ESP_CONSOLE_UART_NUM !=2) && (SOC_UART_NUM > 2)
config APPTRACE_DEST_USB_CDC
bool "USB_CDC"
select APPTRACE_ENABLE
select APPTRACE_DEST_UART
depends on !ESP_CONSOLE_USB_CDC && (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3) && !USB_ENABLED
config APPTRACE_DEST_UART_NONE
bool "None"
endchoice
config APPTRACE_UART_TX_GPIO
int "UART TX on GPIO<num>"
depends on APPTRACE_DEST_UART_NOUSB
range 0 46
default 12 if IDF_TARGET_ESP32
default 12 if IDF_TARGET_ESP32C3
default 12
help
This GPIO is used for UART TX pin.
config APPTRACE_UART_RX_GPIO
int "UART RX on GPIO<num>"
depends on APPTRACE_DEST_UART_NOUSB
range 0 46
default 13 if IDF_TARGET_ESP32
default 13 if IDF_TARGET_ESP32C3
default 13
help
This GPIO is used for UART RX pin.
config APPTRACE_UART_BAUDRATE
int
prompt "UART baud rate" if APPTRACE_DEST_UART
depends on APPTRACE_DEST_UART
default 1000000
range 1200 8000000
range 1200 1000000
help
This baud rate is used for UART.
The app's maximum baud rate depends on the UART clock source. If Power Management is disabled,
the UART clock source is the APB clock and all baud rates in the available range will be sufficiently
accurate. If Power Management is enabled, REF_TICK clock source is used so the baud rate is divided
from 1MHz. Baud rates above 1Mbps are not possible and values between 500Kbps and 1Mbps may not be
accurate.
config APPTRACE_UART_RX_BUFF_SIZE
int
prompt "UART RX ring buffer size" if APPTRACE_DEST_UART
depends on APPTRACE_DEST_UART
default 128
range 64 32768
help
Size of the UART input ring buffer.
This size related to the baudrate, system tick frequency and amount of data to transfer.
The data placed to this buffer before sent out to the interface.
config APPTRACE_UART_TX_BUFF_SIZE
int
prompt "UART TX ring buffer size" if APPTRACE_DEST_UART
depends on APPTRACE_DEST_UART
default 4096
range 2048 32768
help
Size of the UART output ring buffer.
This size related to the baudrate, system tick frequency and amount of data to transfer.
config APPTRACE_UART_TX_MSG_SIZE
int
prompt "UART TX message size" if APPTRACE_DEST_UART
depends on APPTRACE_DEST_UART
default 128
range 64 32768
help
Maximum size of the single message to transfer.
config APPTRACE_UART_TASK_PRIO
int
prompt "UART Task Priority" if APPTRACE_DEST_UART
default 1
range 1 32
help
UART task priority. In case of high events rate,
this parameter could be changed up to (configMAX_PRIORITIES-1).
config APPTRACE_DEST_TRAX
bool
depends on IDF_TARGET_ARCH_XTENSA && !ESP32_TRAX && !ESP32S2_TRAX && !ESP32S3_TRAX
@@ -207,54 +88,13 @@ menu "Application Level Tracing"
depends on APPTRACE_ENABLE
default n
help
Enables support for SEGGER SystemView tracing functionality.
choice APPTRACE_SV_DEST
prompt "SystemView destination"
depends on APPTRACE_SV_ENABLE
default APPTRACE_SV_DEST_JTAG
help
SystemView will transfer data through the defined interface.
config APPTRACE_SV_DEST_JTAG
bool "Data destination JTAG"
depends on !PM_ENABLE && !APPTRACE_DEST_NONE
help
Send SEGGER SystemView events through JTAG interface.
config APPTRACE_SV_DEST_UART
bool "Data destination UART"
depends on APPTRACE_DEST_UART
help
Send SEGGER SystemView events through UART interface.
endchoice
choice APPTRACE_SV_CPU
prompt "CPU to trace"
depends on APPTRACE_SV_DEST_UART && !ESP_SYSTEM_SINGLE_CORE_MODE
default APPTRACE_SV_DEST_CPU_0
help
Define the CPU to trace by SystemView.
config APPTRACE_SV_DEST_CPU_0
bool "CPU0"
help
Send SEGGER SystemView events for Pro CPU.
config APPTRACE_SV_DEST_CPU_1
bool "CPU1"
help
Send SEGGER SystemView events for App CPU.
endchoice
Enables supporrt for SEGGER SystemView tracing functionality.
choice APPTRACE_SV_TS_SOURCE
prompt "Timer to use as timestamp source"
depends on APPTRACE_SV_ENABLE
default APPTRACE_SV_TS_SOURCE_CCOUNT if ESP_SYSTEM_SINGLE_CORE_MODE && !PM_ENABLE && !IDF_TARGET_ESP32C3
default APPTRACE_SV_TS_SOURCE_GPTIMER if !ESP_SYSTEM_SINGLE_CORE_MODE && !PM_ENABLE && !IDF_TARGET_ESP32C3
default APPTRACE_SV_TS_SOURCE_CCOUNT if FREERTOS_UNICORE && !PM_ENABLE && !IDF_TARGET_ESP32C3
default APPTRACE_SV_TS_SOURCE_TIMER_00 if !FREERTOS_UNICORE && !PM_ENABLE && !IDF_TARGET_ESP32C3
default APPTRACE_SV_TS_SOURCE_ESP_TIMER if PM_ENABLE || IDF_TARGET_ESP32C3
help
SystemView needs to use a hardware timer as the source of timestamps
@@ -262,10 +102,22 @@ menu "Application Level Tracing"
config APPTRACE_SV_TS_SOURCE_CCOUNT
bool "CPU cycle counter (CCOUNT)"
depends on ESP_SYSTEM_SINGLE_CORE_MODE && !PM_ENABLE && !IDF_TARGET_ESP32C3
depends on FREERTOS_UNICORE && !PM_ENABLE && !IDF_TARGET_ESP32C3
config APPTRACE_SV_TS_SOURCE_GPTIMER
bool "General Purpose Timer (Timer Group)"
config APPTRACE_SV_TS_SOURCE_TIMER_00
bool "Timer 0, Group 0"
depends on !PM_ENABLE && !IDF_TARGET_ESP32C3
config APPTRACE_SV_TS_SOURCE_TIMER_01
bool "Timer 1, Group 0"
depends on !PM_ENABLE && !IDF_TARGET_ESP32C3
config APPTRACE_SV_TS_SOURCE_TIMER_10
bool "Timer 0, Group 1"
depends on !PM_ENABLE && !IDF_TARGET_ESP32C3
config APPTRACE_SV_TS_SOURCE_TIMER_11
bool "Timer 1, Group 1"
depends on !PM_ENABLE && !IDF_TARGET_ESP32C3
config APPTRACE_SV_TS_SOURCE_ESP_TIMER
@@ -390,11 +242,4 @@ menu "Application Level Tracing"
help
Enables support for GCOV data transfer to host.
config APPTRACE_GCOV_DUMP_TASK_STACK_SIZE
int "Gcov dump task stack size"
depends on APPTRACE_GCOV_ENABLE
default 2048
help
Configures stack size of Gcov dump task
endmenu

View File

@@ -1,40 +1,28 @@
/*
* SPDX-FileCopyrightText: 2017-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
* SPDX-License-Identifier: Apache-2.0
*/
#include <string.h>
#include "esp_cpu.h"
#include "esp_log.h"
#include "esp_app_trace.h"
#include "esp_app_trace_port.h"
#include "esp_private/startup_internal.h"
#ifdef CONFIG_APPTRACE_DEST_UART0
#define ESP_APPTRACE_DEST_UART_NUM 0
#elif CONFIG_APPTRACE_DEST_UART1
#define ESP_APPTRACE_DEST_UART_NUM 1
#elif CONFIG_APPTRACE_DEST_UART2
#define ESP_APPTRACE_DEST_UART_NUM 2
#elif CONFIG_APPTRACE_DEST_USB_CDC
#define ESP_APPTRACE_DEST_UART_NUM 10
#else
#define ESP_APPTRACE_DEST_UART_NUM 0
#endif
#define ESP_APPTRACE_MAX_VPRINTF_ARGS 256
#define ESP_APPTRACE_HOST_BUF_SIZE 256
#define ESP_APPTRACE_MAX_VPRINTF_ARGS 256
#define ESP_APPTRACE_HOST_BUF_SIZE 256
#define ESP_APPTRACE_PRINT_LOCK 0
const static char *TAG = "esp_apptrace";
/** tracing module internal data */
typedef struct {
esp_apptrace_hw_t *hw;
void *hw_data;
esp_apptrace_hw_t * hw;
void * hw_data;
} esp_apptrace_channel_t;
static esp_apptrace_channel_t s_trace_channels[ESP_APPTRACE_DEST_MAX];
static esp_apptrace_channel_t s_trace_channels[ESP_APPTRACE_DEST_NUM];
static bool s_inited;
esp_err_t esp_apptrace_init(void)
@@ -44,7 +32,7 @@ esp_err_t esp_apptrace_init(void)
void *hw_data = NULL;
// 'esp_apptrace_init()' is called on every core, so ensure to do main initialization only once
if (esp_cpu_get_core_id() == 0) {
if (cpu_hal_get_core_id() == 0) {
memset(&s_trace_channels, 0, sizeof(s_trace_channels));
hw = esp_apptrace_jtag_hw_get(&hw_data);
ESP_APPTRACE_LOGD("HW interface %p", hw);
@@ -52,16 +40,16 @@ esp_err_t esp_apptrace_init(void)
s_trace_channels[ESP_APPTRACE_DEST_JTAG].hw = hw;
s_trace_channels[ESP_APPTRACE_DEST_JTAG].hw_data = hw_data;
}
hw = esp_apptrace_uart_hw_get(ESP_APPTRACE_DEST_UART_NUM, &hw_data);
hw = esp_apptrace_uart_hw_get(0, &hw_data);
if (hw != NULL) {
s_trace_channels[ESP_APPTRACE_DEST_UART].hw = hw;
s_trace_channels[ESP_APPTRACE_DEST_UART].hw_data = hw_data;
s_trace_channels[ESP_APPTRACE_DEST_UART0].hw = hw;
s_trace_channels[ESP_APPTRACE_DEST_UART0].hw_data = hw_data;
}
s_inited = true;
}
// esp_apptrace_init() is called on every core, so initialize trace channel on every core
for (int i = 0; i < sizeof(s_trace_channels) / sizeof(s_trace_channels[0]); i++) {
for (int i = 0; i < sizeof(s_trace_channels)/sizeof(s_trace_channels[0]); i++) {
esp_apptrace_channel_t *ch = &s_trace_channels[i];
if (ch->hw) {
res = ch->hw->init(ch->hw_data);
@@ -75,11 +63,6 @@ esp_err_t esp_apptrace_init(void)
return ESP_OK;
}
ESP_SYSTEM_INIT_FN(esp_apptrace_init, SECONDARY, ESP_SYSTEM_INIT_ALL_CORES, 115)
{
return esp_apptrace_init();
}
void esp_apptrace_down_buffer_config(uint8_t *buf, uint32_t size)
{
esp_apptrace_channel_t *ch;
@@ -88,23 +71,17 @@ void esp_apptrace_down_buffer_config(uint8_t *buf, uint32_t size)
return;
}
// currently down buffer is supported for JTAG interface only
// TODO: one more argument should be added to this function to specify HW interface: JTAG, UART0 etc
// TODO: one more argument should be added to this function to specify HW inteface: JTAG, UART0 etc
ch = &s_trace_channels[ESP_APPTRACE_DEST_JTAG];
if (ch->hw != NULL) {
if (ch->hw->down_buffer_config != NULL) {
ch->hw->down_buffer_config(ch->hw_data, buf, size);
}
} else {
ESP_APPTRACE_LOGD("Trace destination for JTAG not supported!");
if (ch->hw == NULL) {
ESP_APPTRACE_LOGE("Trace destination not supported!");
return;
}
ch = &s_trace_channels[ESP_APPTRACE_DEST_UART];
if (ch->hw != NULL) {
if (ch->hw->down_buffer_config != NULL) {
ch->hw->down_buffer_config(ch->hw_data, buf, size);
}
} else {
ESP_APPTRACE_LOGD("Trace destination for UART not supported!");
if (ch->hw->down_buffer_config == NULL) {
return;
}
ch->hw->down_buffer_config(ch->hw_data, buf, size);
}
uint8_t *esp_apptrace_down_buffer_get(esp_apptrace_dest_t dest, uint32_t *size, uint32_t user_tmo)
@@ -192,9 +169,9 @@ esp_err_t esp_apptrace_read(esp_apptrace_dest_t dest, void *buf, uint32_t *size,
esp_apptrace_tmo_init(&tmo, user_tmo);
uint32_t act_sz = *size;
*size = 0;
uint8_t *ptr = ch->hw->get_down_buffer(ch->hw_data, &act_sz, &tmo);
uint8_t * ptr = ch->hw->get_down_buffer(ch->hw_data, &act_sz, &tmo);
if (ptr && act_sz > 0) {
ESP_APPTRACE_LOGD("Read %" PRIu32 " bytes from host", act_sz);
ESP_APPTRACE_LOGD("Read %d bytes from host", act_sz);
memcpy(buf, ptr, act_sz);
res = ch->hw->put_down_buffer(ch->hw_data, ptr, &tmo);
*size = act_sz;
@@ -327,7 +304,7 @@ int esp_apptrace_vprintf_to(esp_apptrace_dest_t dest, uint32_t user_tmo, const c
}
esp_apptrace_tmo_init(&tmo, user_tmo);
ESP_APPTRACE_LOGD("fmt %p", fmt);
ESP_APPTRACE_LOGD("fmt %x", fmt);
while ((p = (uint8_t *)strchr((char *)p, '%')) && nargs < ESP_APPTRACE_MAX_VPRINTF_ARGS) {
p++;
if (*p != '%' && *p != 0) {
@@ -353,7 +330,7 @@ int esp_apptrace_vprintf_to(esp_apptrace_dest_t dest, uint32_t user_tmo, const c
uint32_t arg = va_arg(ap, uint32_t);
*(uint32_t *)pout = arg;
pout += sizeof(uint32_t);
ESP_APPTRACE_LOGD("arg %" PRIx32, arg);
ESP_APPTRACE_LOGD("arg %x", arg);
}
int ret = ch->hw->put_up_buffer(ch->hw_data, p, &tmo);
@@ -442,10 +419,3 @@ bool esp_apptrace_host_is_connected(esp_apptrace_dest_t dest)
return ch->hw->host_is_connected(ch->hw_data);
}
#if !CONFIG_APPTRACE_DEST_JTAG
esp_apptrace_hw_t *esp_apptrace_jtag_hw_get(void **data)
{
return NULL;
}
#endif

View File

@@ -1,14 +1,13 @@
/*
* SPDX-FileCopyrightText: 2021-2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
* SPDX-License-Identifier: Apache-2.0
*/
#include <sys/param.h>
#include <string.h>
#include "sdkconfig.h"
#include "esp_log.h"
#include "esp_cpu.h"
#include "esp_app_trace_membufs_proto.h"
/** Trace data header. Every user data chunk is prepended with this header.
@@ -100,7 +99,7 @@ static esp_err_t esp_apptrace_membufs_swap(esp_apptrace_membufs_proto_data_t *pr
if (proto->hw->host_data_pending() && hdr->block_sz > 0) {
// TODO: add support for multiple blocks from host, currently there is no need for that
uint8_t *p = proto->blocks[new_block_num].start + proto->blocks[new_block_num].sz;
ESP_APPTRACE_LOGD("Recvd %" PRIu16 " bytes from host (@ %p) [%x %x %x %x %x %x %x %x .. %x %x %x %x %x %x %x %x]",
ESP_APPTRACE_LOGD("Recvd %d bytes from host (@ 0x%x) [%x %x %x %x %x %x %x %x .. %x %x %x %x %x %x %x %x]",
hdr->block_sz, proto->blocks[new_block_num].start,
*(proto->blocks[new_block_num].start+0), *(proto->blocks[new_block_num].start+1),
*(proto->blocks[new_block_num].start+2), *(proto->blocks[new_block_num].start+3),
@@ -109,7 +108,7 @@ static esp_err_t esp_apptrace_membufs_swap(esp_apptrace_membufs_proto_data_t *pr
*(p-8), *(p-7), *(p-6), *(p-5), *(p-4), *(p-3), *(p-2), *(p-1));
uint32_t sz = esp_apptrace_membufs_down_buffer_write_nolock(proto, (uint8_t *)(hdr+1), hdr->block_sz);
if (sz != hdr->block_sz) {
ESP_APPTRACE_LOGE("Failed to write %" PRIu32 " bytes to down buffer (%" PRIu16 " %" PRIu32 ")!", hdr->block_sz - sz, hdr->block_sz, sz);
ESP_APPTRACE_LOGE("Failed to write %d bytes to down buffer (%d %d)!", hdr->block_sz - sz, hdr->block_sz, sz);
}
hdr->block_sz = 0;
}
@@ -148,18 +147,6 @@ static esp_err_t esp_apptrace_membufs_swap_waitus(esp_apptrace_membufs_proto_dat
if (res != ESP_OK) {
break;
}
#if CONFIG_IDF_TARGET_ESP32S3
/*
* ESP32S3 has a serious data corruption issue with the transferred data to host.
* This delay helps reduce the failure rate by temporarily reducing heavy memory writes
* from RTOS-level tracing and giving OpenOCD more time to read trace memory before
* the current thread continues execution. While this doesn't completely prevent
* memory access from other threads/cores/ISRs, it has shown to significantly improve
* reliability when combined with CRC checks in OpenOCD. In practice, this reduces the
* number of retries needed to read an entire block without corruption.
*/
esp_rom_delay_us(100);
#endif
}
return res;
}
@@ -208,7 +195,7 @@ static uint32_t esp_apptrace_membufs_down_buffer_write_nolock(esp_apptrace_membu
uint32_t total_sz = 0;
while (total_sz < size) {
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock WRS %" PRIu32 "-%" PRIu32 "-%" PRIu32 " %" PRIu32, proto->rb_down.wr, proto->rb_down.rd,
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock WRS %d-%d-%d %d", proto->rb_down.wr, proto->rb_down.rd,
proto->rb_down.cur_size, size);
uint32_t wr_sz = esp_apptrace_rb_write_size_get(&proto->rb_down);
if (wr_sz == 0) {
@@ -218,15 +205,15 @@ static uint32_t esp_apptrace_membufs_down_buffer_write_nolock(esp_apptrace_membu
if (wr_sz > size - total_sz) {
wr_sz = size - total_sz;
}
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock wr %" PRIu32, wr_sz);
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock wr %d", wr_sz);
uint8_t *ptr = esp_apptrace_rb_produce(&proto->rb_down, wr_sz);
if (!ptr) {
assert(false && "Failed to produce bytes to down buffer!");
}
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock wr %" PRIu32 " to %p from %p", wr_sz, ptr, data + total_sz + wr_sz);
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock wr %d to 0x%x from 0x%x", wr_sz, ptr, data + total_sz + wr_sz);
memcpy(ptr, data + total_sz, wr_sz);
total_sz += wr_sz;
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock wr %" PRIu32 "/%" PRIu32 "", wr_sz, total_sz);
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock wr %d/%d", wr_sz, total_sz);
}
return total_sz;
}
@@ -272,8 +259,8 @@ static inline uint8_t *esp_apptrace_membufs_wait4buf(esp_apptrace_membufs_proto_
static inline uint8_t *esp_apptrace_membufs_pkt_start(uint8_t *ptr, uint16_t size)
{
// it is safe to use esp_cpu_get_core_id() in macro call because arg is used only once inside it
((esp_tracedata_hdr_t *)ptr)->block_sz = ESP_APPTRACE_USR_BLOCK_CORE(esp_cpu_get_core_id()) | size;
// it is safe to use cpu_hal_get_core_id() in macro call because arg is used only once inside it
((esp_tracedata_hdr_t *)ptr)->block_sz = ESP_APPTRACE_USR_BLOCK_CORE(cpu_hal_get_core_id()) | size;
((esp_tracedata_hdr_t *)ptr)->wr_sz = 0;
return ptr + sizeof(esp_tracedata_hdr_t);
}
@@ -290,7 +277,7 @@ uint8_t *esp_apptrace_membufs_up_buffer_get(esp_apptrace_membufs_proto_data_t *p
uint8_t *buf_ptr = NULL;
if (size > ESP_APPTRACE_USR_DATA_LEN_MAX(proto)) {
ESP_APPTRACE_LOGE("Too large user data size %" PRIu32 "!", size);
ESP_APPTRACE_LOGE("Too large user data size %d!", size);
return NULL;
}
@@ -320,21 +307,21 @@ uint8_t *esp_apptrace_membufs_up_buffer_get(esp_apptrace_membufs_proto_data_t *p
#endif
if (ESP_APPTRACE_INBLOCK_MARKER(proto) + ESP_APPTRACE_USR_BLOCK_RAW_SZ(size) > ESP_APPTRACE_INBLOCK(proto)->sz) {
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
ESP_APPTRACE_LOGD("Block full. Get %" PRIu32 " bytes from PEND buffer", size);
ESP_APPTRACE_LOGD("Block full. Get %d bytes from PEND buffer", size);
buf_ptr = esp_apptrace_rb_produce(&proto->rb_pend, ESP_APPTRACE_USR_BLOCK_RAW_SZ(size));
#endif
if (buf_ptr == NULL) {
int pended_buf;
ESP_APPTRACE_LOGD(" full. Get %" PRIu32 " bytes from pend buffer", size);
ESP_APPTRACE_LOGD(" full. Get %d bytes from pend buffer", size);
buf_ptr = esp_apptrace_membufs_wait4buf(proto, ESP_APPTRACE_USR_BLOCK_RAW_SZ(size), tmo, &pended_buf);
if (buf_ptr && !pended_buf) {
ESP_APPTRACE_LOGD("Got %" PRIu32 " bytes from block", size);
ESP_APPTRACE_LOGD("Got %d bytes from block", size);
// update cur block marker
ESP_APPTRACE_INBLOCK_MARKER_UPD(proto, ESP_APPTRACE_USR_BLOCK_RAW_SZ(size));
}
}
} else {
ESP_APPTRACE_LOGD("Get %" PRIu32 " bytes from buffer", size);
ESP_APPTRACE_LOGD("Get %d bytes from buffer", size);
// fit to curr nlock
buf_ptr = ESP_APPTRACE_INBLOCK(proto)->start + ESP_APPTRACE_INBLOCK_MARKER(proto);
// update cur block marker
@@ -351,7 +338,7 @@ uint8_t *esp_apptrace_membufs_up_buffer_get(esp_apptrace_membufs_proto_data_t *p
esp_err_t esp_apptrace_membufs_up_buffer_put(esp_apptrace_membufs_proto_data_t *proto, uint8_t *ptr, esp_apptrace_tmo_t *tmo)
{
esp_apptrace_membufs_pkt_end(ptr);
// TODO: mark block as busy in order not to reuse it for other tracing calls until it is completely written
// TODO: mark block as busy in order not to re-use it for other tracing calls until it is completely written
// TODO: avoid potential situation when all memory is consumed by low prio tasks which can not complete writing due to
// higher prio tasks and the latter can not allocate buffers at all
// this is abnormal situation can be detected on host which will receive only uncompleted buffers
@@ -364,12 +351,12 @@ esp_err_t esp_apptrace_membufs_flush_nolock(esp_apptrace_membufs_proto_data_t *p
int res = ESP_OK;
if (ESP_APPTRACE_INBLOCK_MARKER(proto) < min_sz) {
ESP_APPTRACE_LOGI("Ignore flush request for min %" PRIu32 " bytes. Bytes in block: %" PRIu32, min_sz, ESP_APPTRACE_INBLOCK_MARKER(proto));
ESP_APPTRACE_LOGI("Ignore flush request for min %d bytes. Bytes in block: %d.", min_sz, ESP_APPTRACE_INBLOCK_MARKER(proto));
return ESP_OK;
}
// switch block while size of data (including that in pending buffer) is more than min size
while (ESP_APPTRACE_INBLOCK_MARKER(proto) > min_sz) {
ESP_APPTRACE_LOGD("Try to flush %" PRIu32 " bytes. Wait until block switch for %" PRIi64 " us", ESP_APPTRACE_INBLOCK_MARKER(proto), tmo->tmo);
ESP_APPTRACE_LOGD("Try to flush %d bytes. Wait until block switch for %lld us", ESP_APPTRACE_INBLOCK_MARKER(proto), tmo->tmo);
res = esp_apptrace_membufs_swap_waitus(proto, tmo);
if (res != ESP_OK) {
if (tmo->tmo != ESP_APPTRACE_TMO_INFINITE)

View File

@@ -1,7 +1,7 @@
/*
* SPDX-FileCopyrightText: 2017-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
* SPDX-License-Identifier: Apache-2.0
*/
//
#include "freertos/FreeRTOS.h"
@@ -9,14 +9,12 @@
#include "esp_app_trace_util.h"
#include "sdkconfig.h"
#define ESP_APPTRACE_PRINT_LOCK 0
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////// Locks /////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#if ESP_APPTRACE_PRINT_LOCK
static esp_apptrace_lock_t s_log_lock = { .mux = portMUX_INITIALIZER_UNLOCKED };
static esp_apptrace_lock_t s_log_lock = {.irq_stat = 0, .portmux = portMUX_INITIALIZER_UNLOCKED};
#endif
int esp_apptrace_log_lock(void)
@@ -33,7 +31,7 @@ int esp_apptrace_log_lock(void)
void esp_apptrace_log_unlock(void)
{
#if ESP_APPTRACE_PRINT_LOCK
#if ESP_APPTRACE_PRINT_LOCK
esp_apptrace_lock_give(&s_log_lock);
#endif
}
@@ -59,26 +57,35 @@ esp_err_t esp_apptrace_tmo_check(esp_apptrace_tmo_t *tmo)
esp_err_t esp_apptrace_lock_take(esp_apptrace_lock_t *lock, esp_apptrace_tmo_t *tmo)
{
esp_err_t ret;
int res;
while (1) {
// Try enter a critical section (i.e., take the spinlock) with 0 timeout
if (portTRY_ENTER_CRITICAL(&(lock->mux), 0) == pdTRUE) {
//Todo: Replace the current locking mechanism and int_state with portTRY_ENTER_CRITICAL() instead.
// do not overwrite lock->int_state before we actually acquired the mux
unsigned int_state = portSET_INTERRUPT_MASK_FROM_ISR();
bool success = vPortCPUAcquireMutexTimeout(&lock->mux, 0);
if (success) {
lock->int_state = int_state;
return ESP_OK;
}
// Failed to enter the critical section, so interrupts are still enabled. Check if we have timed out.
ret = esp_apptrace_tmo_check(tmo);
if (ret != ESP_OK) {
break; // Timed out, exit now
portCLEAR_INTERRUPT_MASK_FROM_ISR(int_state);
// we can be preempted from this place till the next call (above) to portSET_INTERRUPT_MASK_FROM_ISR()
res = esp_apptrace_tmo_check(tmo);
if (res != ESP_OK) {
break;
}
// Haven't timed out, try again
}
return ret;
return res;
}
esp_err_t esp_apptrace_lock_give(esp_apptrace_lock_t *lock)
{
portEXIT_CRITICAL(&(lock->mux));
// save lock's irq state value for this CPU
unsigned int_state = lock->int_state;
// after call to the following func we can not be sure that lock->int_state
// is not overwritten by other CPU who has acquired the mux just after we released it. See esp_apptrace_lock_take().
vPortCPUReleaseMutex(&lock->mux);
portCLEAR_INTERRUPT_MASK_FROM_ISR(int_state);
return ESP_OK;
}
@@ -89,7 +96,7 @@ esp_err_t esp_apptrace_lock_give(esp_apptrace_lock_t *lock)
uint8_t *esp_apptrace_rb_produce(esp_apptrace_rb_t *rb, uint32_t size)
{
uint8_t *ptr = rb->data + rb->wr;
// check for available space
// check for avalable space
if (rb->rd <= rb->wr) {
// |?R......W??|
if (rb->wr + size >= rb->size) {

View File

@@ -0,0 +1,39 @@
#
# Component Makefile
#
COMPONENT_SRCDIRS := .
ifdef CONFIG_APPTRACE_MEMBUFS_APPTRACE_PROTO_ENABLE
COMPONENT_SRCDIRS += port/xtensa
endif
COMPONENT_ADD_INCLUDEDIRS = include
COMPONENT_PRIV_INCLUDEDIRS = private_include \
port/include
COMPONENT_ADD_LDFLAGS = -lapp_trace
# do not produce gcov info for this module, it is used as transport for gcov
CFLAGS := $(subst --coverage,,$(CFLAGS))
ifdef CONFIG_APPTRACE_SV_ENABLE
COMPONENT_ADD_INCLUDEDIRS += \
sys_view/Config \
sys_view/SEGGER \
sys_view/Sample/OS
COMPONENT_SRCDIRS += \
gcov \
sys_view/SEGGER \
sys_view/Sample/OS \
sys_view/Sample/Config \
sys_view/esp \
sys_view/ext
else
COMPONENT_SRCDIRS += gcov
endif
COMPONENT_ADD_LDFRAGMENTS += linker.lf

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2017-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -11,13 +11,19 @@
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/semphr.h"
#include "soc/cpu.h"
#include "soc/timer_periph.h"
#include "esp_app_trace.h"
#include "esp_freertos_hooks.h"
#include "dbg_stubs.h"
#include "esp_private/esp_ipc.h"
#include "esp_private/dbg_stubs.h"
#include "esp_ipc.h"
#include "esp_attr.h"
#include "hal/wdt_hal.h"
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/rom/libc_stubs.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/libc_stubs.h"
#endif
#if CONFIG_APPTRACE_GCOV_ENABLE
@@ -72,15 +78,15 @@ gcov_exit:
void gcov_create_task(void *arg)
{
ESP_EARLY_LOGV(TAG, "%s", __FUNCTION__);
xTaskCreatePinnedToCore(&gcov_dump_task, "gcov_dump_task", CONFIG_APPTRACE_GCOV_DUMP_TASK_STACK_SIZE,
(void *)&s_gcov_task_running, configMAX_PRIORITIES - 1, NULL, 0);
xTaskCreatePinnedToCore(&gcov_dump_task, "gcov_dump_task", 2048, (void *)&s_gcov_task_running, configMAX_PRIORITIES - 1, NULL, 0);
}
static IRAM_ATTR
void gcov_create_task_tick_hook(void)
{
extern esp_err_t esp_ipc_start_gcov_from_isr(uint32_t cpu_id, esp_ipc_func_t func, void* arg);
if (s_create_gcov_task) {
if (esp_ipc_call_nonblocking(xPortGetCoreID(), &gcov_create_task, NULL) == ESP_OK) {
if (esp_ipc_start_gcov_from_isr(xPortGetCoreID(), &gcov_create_task, NULL) == ESP_OK) {
s_create_gcov_task = false;
}
}
@@ -100,19 +106,16 @@ static int esp_dbg_stub_gcov_entry(void)
return ESP_OK;
}
void gcov_rtio_init(void)
int gcov_rtio_atexit(void (*function)(void) __attribute__ ((unused)))
{
uint32_t stub_entry = 0;
uint32_t capabilities = 0;
ESP_EARLY_LOGV(TAG, "%s", __FUNCTION__);
assert(esp_dbg_stub_entry_get(ESP_DBG_STUB_ENTRY_GCOV, &stub_entry) == ESP_OK);
if (stub_entry != 0) {
/* "__gcov_init()" can be called several times. We must avoid multiple tick hook registration */
return;
}
esp_dbg_stub_entry_set(ESP_DBG_STUB_ENTRY_GCOV, (uint32_t)&esp_dbg_stub_gcov_entry);
assert(esp_dbg_stub_entry_get(ESP_DBG_STUB_ENTRY_CAPABILITIES, &stub_entry) == ESP_OK);
esp_dbg_stub_entry_set(ESP_DBG_STUB_ENTRY_CAPABILITIES, stub_entry | ESP_DBG_STUB_CAP_GCOV_TASK);
if (esp_dbg_stub_entry_get(ESP_DBG_STUB_ENTRY_CAPABILITIES, &capabilities) == ESP_OK) {
esp_dbg_stub_entry_set(ESP_DBG_STUB_ENTRY_CAPABILITIES, capabilities | ESP_DBG_STUB_CAP_GCOV_TASK);
}
esp_register_freertos_tick_hook(gcov_create_task_tick_hook);
return ESP_OK;
}
void esp_gcov_dump(void)
@@ -172,26 +175,4 @@ long gcov_rtio_ftell(void *stream)
ESP_EARLY_LOGV(TAG, "%s(%p) = %ld", __FUNCTION__, stream, ret);
return ret;
}
int gcov_rtio_feof(void *stream)
{
int ret = esp_apptrace_feof(ESP_APPTRACE_DEST_TRAX, stream);
ESP_EARLY_LOGV(TAG, "%s(%p) = %d", __FUNCTION__, stream, ret);
return ret;
}
void gcov_rtio_setbuf(void *arg1 __attribute__ ((unused)), void *arg2 __attribute__ ((unused)))
{
return;
}
/* Wrappers for Gcov functions */
extern void __real___gcov_init(void *info);
void __wrap___gcov_init(void *info)
{
__real___gcov_init(info);
gcov_rtio_init();
}
#endif

View File

@@ -1,8 +0,0 @@
fopen gcov_rtio_fopen
fclose gcov_rtio_fclose
fwrite gcov_rtio_fwrite
fread gcov_rtio_fread
fseek gcov_rtio_fseek
ftell gcov_rtio_ftell
setbuf gcov_rtio_setbuf
feof gcov_rtio_feof

View File

@@ -1,12 +1,14 @@
/*
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2018-2021 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "sdkconfig.h"
#include <sdkconfig.h>
#define HEAP_TRACE_SRCFILE /* don't warn on inclusion here */
#include "esp_heap_trace.h"
#include "esp_heap_caps.h"
#undef HEAP_TRACE_SRCFILE
#if CONFIG_APPTRACE_SV_ENABLE
#include "esp_app_trace.h"
#include "esp_sysview_trace.h"
@@ -14,7 +16,7 @@
#define STACK_DEPTH CONFIG_HEAP_TRACING_STACK_DEPTH
#if CONFIG_HEAP_TRACING_TOHOST
#ifdef CONFIG_HEAP_TRACING_TOHOST
#if !CONFIG_APPTRACE_SV_ENABLE
#error None of the heap tracing backends is enabled! You must enable SystemView compatible tracing to use this feature.
@@ -67,23 +69,13 @@ esp_err_t heap_trace_get(size_t index, heap_trace_record_t *record)
return ESP_ERR_NOT_SUPPORTED;
}
esp_err_t heap_trace_summary(heap_trace_summary_t *summary)
{
return ESP_ERR_NOT_SUPPORTED;
}
void heap_trace_dump(void)
{
return;
}
void heap_trace_dump_caps(__attribute__((unused)) const uint32_t caps)
{
return;
}
/* Add a new allocation to the heap trace records */
static HEAP_IRAM_ATTR void record_allocation(const heap_trace_record_t *record)
static IRAM_ATTR void record_allocation(const heap_trace_record_t *record)
{
if (!s_tracing) {
return;
@@ -98,7 +90,7 @@ static HEAP_IRAM_ATTR void record_allocation(const heap_trace_record_t *record)
For HEAP_TRACE_ALL, this means filling in the freed_by pointer.
For HEAP_TRACE_LEAKS, this means removing the record from the log.
*/
static HEAP_IRAM_ATTR void record_free(void *p, void **callers)
static IRAM_ATTR void record_free(void *p, void **callers)
{
if (!s_tracing) {
return;

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2017-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -29,7 +29,6 @@ const static char *TAG = "esp_host_file_io";
#define ESP_APPTRACE_FILE_CMD_FSEEK 0x4
#define ESP_APPTRACE_FILE_CMD_FTELL 0x5
#define ESP_APPTRACE_FILE_CMD_STOP 0x6 // indicates that there is no files to transfer
#define ESP_APPTRACE_FILE_CMD_FEOF 0x7
/** File operation header */
typedef struct {
@@ -69,11 +68,6 @@ typedef struct {
void * file;
} esp_apptrace_fseek_args_t;
/** Helper structure for feof */
typedef struct {
void *file;
} esp_apptrace_feof_args_t;
/** Helper structure for ftell */
typedef struct {
void *file;
@@ -122,7 +116,7 @@ static esp_err_t esp_apptrace_file_rsp_recv(esp_apptrace_dest_t dest, uint8_t *b
ESP_EARLY_LOGE(TAG, "Failed to read (%d)!", ret);
return ret;
}
ESP_EARLY_LOGV(TAG, "%s read %" PRIu32 " bytes", __FUNCTION__, rd_size);
ESP_EARLY_LOGV(TAG, "%s read %d bytes", __FUNCTION__, rd_size);
tot_rd += rd_size;
}
@@ -234,11 +228,8 @@ size_t esp_apptrace_fwrite(esp_apptrace_dest_t dest, const void *ptr, size_t siz
ESP_EARLY_LOGE(TAG, "Failed to read response (%d)!", ret);
return 0;
}
/* OpenOCD writes it like that:
* fwrite(buf, size, 1, file);
* So, if 1 was returned that means fwrite succeed
*/
return resp == 1 ? nmemb : 0;
return resp;
}
static void esp_apptrace_fread_args_prepare(uint8_t *buf, void *priv)
@@ -275,20 +266,14 @@ size_t esp_apptrace_fread(esp_apptrace_dest_t dest, void *ptr, size_t size, size
ESP_EARLY_LOGE(TAG, "Failed to read response (%d)!", ret);
return 0;
}
if (resp == 0) {
return 0;
if (resp > 0) {
ret = esp_apptrace_file_rsp_recv(dest, ptr, resp);
if (ret != ESP_OK) {
ESP_EARLY_LOGE(TAG, "Failed to read file data (%d)!", ret);
return 0;
}
}
ret = esp_apptrace_file_rsp_recv(dest, ptr, resp);
if (ret != ESP_OK) {
ESP_EARLY_LOGE(TAG, "Failed to read file data (%d)!", ret);
return 0;
}
/* OpenOCD reads it like that:
* fread(buf, 1 ,size, file);
* So, total read bytes count returns
*/
return resp/size; // return the number of items read
return resp;
}
static void esp_apptrace_fseek_args_prepare(uint8_t *buf, void *priv)
@@ -367,34 +352,4 @@ int esp_apptrace_fstop(esp_apptrace_dest_t dest)
return ret;
}
static void esp_apptrace_feof_args_prepare(uint8_t *buf, void *priv)
{
esp_apptrace_feof_args_t *args = priv;
memcpy(buf, &args->file, sizeof(args->file));
}
int esp_apptrace_feof(esp_apptrace_dest_t dest, void *stream)
{
esp_apptrace_feof_args_t cmd_args;
cmd_args.file = stream;
esp_err_t ret = esp_apptrace_file_cmd_send(dest, ESP_APPTRACE_FILE_CMD_FEOF, esp_apptrace_feof_args_prepare,
&cmd_args, sizeof(cmd_args));
if (ret != ESP_OK) {
ESP_EARLY_LOGE(TAG, "Failed to send file cmd (%d)!", ret);
return EOF;
}
// now read the answer
int resp;
ret = esp_apptrace_file_rsp_recv(dest, (uint8_t *)&resp, sizeof(resp));
if (ret != ESP_OK) {
ESP_EARLY_LOGE(TAG, "Failed to read response (%d)!", ret);
return EOF;
}
return resp;
}
#endif

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2017-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -20,8 +20,8 @@ extern "C" {
typedef enum {
ESP_APPTRACE_DEST_JTAG = 1, ///< JTAG destination
ESP_APPTRACE_DEST_TRAX = ESP_APPTRACE_DEST_JTAG, ///< xxx_TRAX name is obsolete, use more common xxx_JTAG
ESP_APPTRACE_DEST_UART, ///< UART destination
ESP_APPTRACE_DEST_MAX = ESP_APPTRACE_DEST_UART+1,
ESP_APPTRACE_DEST_UART0, ///< UART0 destination
ESP_APPTRACE_DEST_MAX = ESP_APPTRACE_DEST_UART0,
ESP_APPTRACE_DEST_NUM
} esp_apptrace_dest_t;
@@ -36,7 +36,7 @@ esp_err_t esp_apptrace_init(void);
/**
* @brief Configures down buffer.
* @note Needs to be called before attempting to receive any data using esp_apptrace_down_buffer_get and esp_apptrace_read.
* @note Needs to be called before initiating any data transfer using esp_apptrace_buffer_get and esp_apptrace_write.
* This function does not protect internal data by lock.
*
* @param buf Address of buffer to use for down channel (host to target) data.
@@ -46,7 +46,7 @@ void esp_apptrace_down_buffer_config(uint8_t *buf, uint32_t size);
/**
* @brief Allocates buffer for trace data.
* Once the data in the buffer is ready to be sent, esp_apptrace_buffer_put must be called to indicate it.
* After data in buffer are ready to be sent off esp_apptrace_buffer_put must be called to indicate it.
*
* @param dest Indicates HW interface to send data.
* @param size Size of data to write to trace buffer.
@@ -57,8 +57,8 @@ void esp_apptrace_down_buffer_config(uint8_t *buf, uint32_t size);
uint8_t *esp_apptrace_buffer_get(esp_apptrace_dest_t dest, uint32_t size, uint32_t tmo);
/**
* @brief Indicates that the data in the buffer is ready to be sent.
* This function is a counterpart of and must be preceded by esp_apptrace_buffer_get.
* @brief Indicates that the data in buffer are ready to be sent off.
* This function is a counterpart of and must be preceeded by esp_apptrace_buffer_get.
*
* @param dest Indicates HW interface to send data. Should be identical to the same parameter in call to esp_apptrace_buffer_get.
* @param ptr Address of trace buffer to release. Should be the value returned by call to esp_apptrace_buffer_get.
@@ -81,7 +81,7 @@ esp_err_t esp_apptrace_buffer_put(esp_apptrace_dest_t dest, uint8_t *ptr, uint32
esp_err_t esp_apptrace_write(esp_apptrace_dest_t dest, const void *data, uint32_t size, uint32_t tmo);
/**
* @brief vprintf-like function to send log messages to host via specified HW interface.
* @brief vprintf-like function to sent log messages to host via specified HW interface.
*
* @param dest Indicates HW interface to send data.
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely.
@@ -93,7 +93,7 @@ esp_err_t esp_apptrace_write(esp_apptrace_dest_t dest, const void *data, uint32_
int esp_apptrace_vprintf_to(esp_apptrace_dest_t dest, uint32_t tmo, const char *fmt, va_list ap);
/**
* @brief vprintf-like function to send log messages to host.
* @brief vprintf-like function to sent log messages to host.
*
* @param fmt Address of format string.
* @param ap List of arguments.
@@ -114,7 +114,7 @@ esp_err_t esp_apptrace_flush(esp_apptrace_dest_t dest, uint32_t tmo);
/**
* @brief Flushes remaining data in trace buffer to host without locking internal data.
* This is a special version of esp_apptrace_flush which should be called from panic handler.
* This is special version of esp_apptrace_flush which should be called from panic handler.
*
* @param dest Indicates HW interface to flush data on.
* @param min_sz Threshold for flushing data. If current filling level is above this value, data will be flushed. TRAX destinations only.
@@ -138,7 +138,7 @@ esp_err_t esp_apptrace_read(esp_apptrace_dest_t dest, void *data, uint32_t *size
/**
* @brief Retrieves incoming data buffer if any.
* Once data in the buffer is processed, esp_apptrace_down_buffer_put must be called to indicate it.
* After data in buffer are processed esp_apptrace_down_buffer_put must be called to indicate it.
*
* @param dest Indicates HW interface to receive data.
* @param size Address to store size of available data in down buffer. Must be initialized with requested value.
@@ -149,8 +149,8 @@ esp_err_t esp_apptrace_read(esp_apptrace_dest_t dest, void *data, uint32_t *size
uint8_t *esp_apptrace_down_buffer_get(esp_apptrace_dest_t dest, uint32_t *size, uint32_t tmo);
/**
* @brief Indicates that the data in the down buffer is processed.
* This function is a counterpart of and must be preceded by esp_apptrace_down_buffer_get.
* @brief Indicates that the data in down buffer are processed.
* This function is a counterpart of and must be preceeded by esp_apptrace_down_buffer_get.
*
* @param dest Indicates HW interface to receive data. Should be identical to the same parameter in call to esp_apptrace_down_buffer_get.
* @param ptr Address of trace buffer to release. Should be the value returned by call to esp_apptrace_down_buffer_get.
@@ -245,7 +245,7 @@ int esp_apptrace_fseek(esp_apptrace_dest_t dest, void *stream, long offset, int
int esp_apptrace_ftell(esp_apptrace_dest_t dest, void *stream);
/**
* @brief Indicates to the host that all file operations are complete.
* @brief Indicates to the host that all file operations are completed.
* This function should be called after all file operations are finished and
* indicate to the host that it can perform cleanup operations (close open files etc.).
*
@@ -255,17 +255,6 @@ int esp_apptrace_ftell(esp_apptrace_dest_t dest, void *stream);
*/
int esp_apptrace_fstop(esp_apptrace_dest_t dest);
/**
* @brief Test end-of-file indicator on a stream.
* This function has the same semantic as 'feof' except for the first argument.
*
* @param dest Indicates HW interface to use.
* @param stream File handle returned by esp_apptrace_fopen.
*
* @return Non-Zero if end-of-file indicator is set for stream. See feof for details.
*/
int esp_apptrace_feof(esp_apptrace_dest_t dest, void *stream);
/**
* @brief Triggers gcov info dump.
* This function waits for the host to connect to target before dumping data.

View File

@@ -57,7 +57,7 @@ static inline uint32_t esp_apptrace_tmo_remaining_us(esp_apptrace_tmo_t *tmo)
/** Tracing module synchronization lock */
typedef struct {
spinlock_t mux;
portMUX_TYPE mux;
unsigned int_state;
} esp_apptrace_lock_t;

View File

@@ -2,7 +2,6 @@
archive: libapp_trace.a
entries:
app_trace (noflash)
port_uart (noflash)
app_trace_util (noflash)
if APPTRACE_MEMBUFS_APPTRACE_PROTO_ENABLE:
app_trace_membufs_proto (noflash)
@@ -15,9 +14,10 @@ entries:
SEGGER_SYSVIEW_FreeRTOS (noflash)
[mapping:app_trace_driver]
archive: libesp_driver_gptimer.a
archive: libdriver.a
entries:
if APPTRACE_SV_TS_SOURCE_GPTIMER = y:
gptimer: gptimer_get_raw_count (noflash)
if APPTRACE_SV_TS_SOURCE_TIMER_00 = y || APPTRACE_SV_TS_SOURCE_TIMER_01 = y
|| APPTRACE_SV_TS_SOURCE_TIMER_10 = y || APPTRACE_SV_TS_SOURCE_TIMER_11 = y:
timer (noflash)
else:
* (default)

View File

@@ -1,9 +1,16 @@
/*
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
// Copyright 2020 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef ESP_APP_TRACE_PORT_H_
#define ESP_APP_TRACE_PORT_H_

View File

@@ -1,355 +0,0 @@
/*
* SPDX-FileCopyrightText: 2017-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "soc/soc.h"
#include "esp_log.h"
#include "esp_cpu.h"
#include "esp_app_trace_port.h"
#include "driver/uart.h"
#include "hal/uart_ll.h"
#include "string.h"
#include "driver/gpio.h"
#define APPTRACE_DEST_UART (CONFIG_APPTRACE_DEST_UART0 | CONFIG_APPTRACE_DEST_UART1 | CONFIG_APPTRACE_DEST_UART2)
#define APP_TRACE_MAX_TX_BUFF_UART CONFIG_APPTRACE_UART_TX_BUFF_SIZE
#define APP_TRACE_MAX_TX_MSG_UART CONFIG_APPTRACE_UART_TX_MSG_SIZE
/** UART HW transport data */
typedef struct {
uint8_t inited;
#if CONFIG_APPTRACE_LOCK_ENABLE
esp_apptrace_lock_t lock; // sync lock
#endif
uart_port_t port_num;
// TX data ring buffer
uint8_t *tx_data_buff;
int32_t tx_data_buff_in;
int32_t tx_data_buff_out;
// TX message buffer
uint8_t *tx_msg_buff;
uint32_t tx_msg_buff_size;
// RX message buffer
uint8_t *down_buffer;
uint32_t down_buffer_size;
// Buffer overflow flags
bool message_buff_overflow;
bool circular_buff_overflow;
} esp_apptrace_uart_data_t;
#if APPTRACE_DEST_UART
static esp_err_t esp_apptrace_uart_init(esp_apptrace_uart_data_t *hw_data);
static esp_err_t esp_apptrace_uart_flush(esp_apptrace_uart_data_t *hw_data, esp_apptrace_tmo_t *tmo);
static esp_err_t esp_apptrace_uart_flush_nolock(esp_apptrace_uart_data_t *hw_data, uint32_t min_sz, esp_apptrace_tmo_t *tmo);
static uint8_t *esp_apptrace_uart_up_buffer_get(esp_apptrace_uart_data_t *hw_data, uint32_t size, esp_apptrace_tmo_t *tmo);
static esp_err_t esp_apptrace_uart_up_buffer_put(esp_apptrace_uart_data_t *hw_data, uint8_t *ptr, esp_apptrace_tmo_t *tmo);
static void esp_apptrace_uart_down_buffer_config(esp_apptrace_uart_data_t *hw_data, uint8_t *buf, uint32_t size);
static uint8_t *esp_apptrace_uart_down_buffer_get(esp_apptrace_uart_data_t *hw_data, uint32_t *size, esp_apptrace_tmo_t *tmo);
static esp_err_t esp_apptrace_uart_down_buffer_put(esp_apptrace_uart_data_t *hw_data, uint8_t *ptr, esp_apptrace_tmo_t *tmo);
static bool esp_apptrace_uart_host_is_connected(esp_apptrace_uart_data_t *hw_data);
#endif // APPTRACE_DEST_UART
const static char *TAG = "esp_apptrace_uart";
esp_apptrace_hw_t *esp_apptrace_uart_hw_get(int num, void **data)
{
ESP_LOGD(TAG,"esp_apptrace_uart_hw_get - %i", num);
#if APPTRACE_DEST_UART
static esp_apptrace_uart_data_t s_uart_hw_data = {
};
static esp_apptrace_hw_t s_uart_hw = {
.init = (esp_err_t (*)(void *))esp_apptrace_uart_init,
.get_up_buffer = (uint8_t *(*)(void *, uint32_t, esp_apptrace_tmo_t *))esp_apptrace_uart_up_buffer_get,
.put_up_buffer = (esp_err_t (*)(void *, uint8_t *, esp_apptrace_tmo_t *))esp_apptrace_uart_up_buffer_put,
.flush_up_buffer_nolock = (esp_err_t (*)(void *, uint32_t, esp_apptrace_tmo_t *))esp_apptrace_uart_flush_nolock,
.flush_up_buffer = (esp_err_t (*)(void *, esp_apptrace_tmo_t *))esp_apptrace_uart_flush,
.down_buffer_config = (void (*)(void *, uint8_t *, uint32_t ))esp_apptrace_uart_down_buffer_config,
.get_down_buffer = (uint8_t *(*)(void *, uint32_t *, esp_apptrace_tmo_t *))esp_apptrace_uart_down_buffer_get,
.put_down_buffer = (esp_err_t (*)(void *, uint8_t *, esp_apptrace_tmo_t *))esp_apptrace_uart_down_buffer_put,
.host_is_connected = (bool (*)(void *))esp_apptrace_uart_host_is_connected,
};
s_uart_hw_data.port_num = num;
*data = &s_uart_hw_data;
return &s_uart_hw;
#else
return NULL;
#endif
}
#if APPTRACE_DEST_UART
static esp_err_t esp_apptrace_uart_lock(esp_apptrace_uart_data_t *hw_data, esp_apptrace_tmo_t *tmo)
{
#if CONFIG_APPTRACE_LOCK_ENABLE
esp_err_t ret = esp_apptrace_lock_take(&hw_data->lock, tmo);
if (ret != ESP_OK) {
return ESP_FAIL;
}
#endif
return ESP_OK;
}
static esp_err_t esp_apptrace_uart_unlock(esp_apptrace_uart_data_t *hw_data)
{
esp_err_t ret = ESP_OK;
#if CONFIG_APPTRACE_LOCK_ENABLE
ret = esp_apptrace_lock_give(&hw_data->lock);
#endif
return ret;
}
static inline void esp_apptrace_uart_hw_init(void)
{
ESP_APPTRACE_LOGI("Initialized UART on CPU%d", esp_cpu_get_core_id());
}
/*****************************************************************************************/
/***************************** Apptrace HW iface *****************************************/
/*****************************************************************************************/
static esp_err_t esp_apptrace_send_uart_data(esp_apptrace_uart_data_t *hw_data, const char *data, uint32_t size, esp_apptrace_tmo_t *tmo)
{
esp_err_t res = esp_apptrace_uart_lock(hw_data, tmo);
if (res != ESP_OK) {
return res;
}
// We store current out position to handle it without lock
volatile int32_t out_position = hw_data->tx_data_buff_out;
int len_free = APP_TRACE_MAX_TX_BUFF_UART - (hw_data->tx_data_buff_in - out_position);
if (out_position > hw_data->tx_data_buff_in) {
len_free = out_position - hw_data->tx_data_buff_in;
}
int check_len = APP_TRACE_MAX_TX_BUFF_UART - hw_data->tx_data_buff_in;
if (size <= len_free)
{
if ( check_len >= size) {
memcpy(&hw_data->tx_data_buff[hw_data->tx_data_buff_in], data, size);
hw_data->tx_data_buff_in += size;
} else {
memcpy(&hw_data->tx_data_buff[hw_data->tx_data_buff_in], data, APP_TRACE_MAX_TX_BUFF_UART - hw_data->tx_data_buff_in);
memcpy(&hw_data->tx_data_buff[0], &data[APP_TRACE_MAX_TX_BUFF_UART - hw_data->tx_data_buff_in], size - (APP_TRACE_MAX_TX_BUFF_UART - hw_data->tx_data_buff_in));
hw_data->tx_data_buff_in = size - (APP_TRACE_MAX_TX_BUFF_UART - hw_data->tx_data_buff_in);
}
if (hw_data->tx_data_buff_in >= APP_TRACE_MAX_TX_BUFF_UART) {
hw_data->tx_data_buff_in = 0;
}
} else {
hw_data->circular_buff_overflow = true;
}
if (esp_apptrace_uart_unlock(hw_data) != ESP_OK) {
assert(false && "Failed to unlock apptrace data!");
}
return ESP_OK;
}
static void send_buff_data(esp_apptrace_uart_data_t *hw_data, esp_apptrace_tmo_t *tmo)
{
if (hw_data->tx_data_buff_in == hw_data->tx_data_buff_out) {
return;
}
// We store current in position to handle it without lock
volatile int32_t in_position = hw_data->tx_data_buff_in;
if (in_position > hw_data->tx_data_buff_out) {
int bytes_sent = uart_write_bytes(hw_data->port_num, &hw_data->tx_data_buff[hw_data->tx_data_buff_out], in_position - hw_data->tx_data_buff_out);
hw_data->tx_data_buff_out += bytes_sent;
} else {
int bytes_sent = uart_write_bytes(hw_data->port_num, &hw_data->tx_data_buff[hw_data->tx_data_buff_out], APP_TRACE_MAX_TX_BUFF_UART - hw_data->tx_data_buff_out);
hw_data->tx_data_buff_out += bytes_sent;
if (hw_data->tx_data_buff_out >= APP_TRACE_MAX_TX_BUFF_UART) {
hw_data->tx_data_buff_out = 0;
}
}
}
#define APP_TRACE_UART_STOP_WAIT_TMO 1000000 //us
static void esp_apptrace_send_uart_tx_task(void *arg)
{
esp_apptrace_uart_data_t *hw_data = (esp_apptrace_uart_data_t *)arg;
esp_apptrace_tmo_t tmo;
esp_apptrace_tmo_init(&tmo, APP_TRACE_UART_STOP_WAIT_TMO);
vTaskDelay(10);
while (1) {
send_buff_data(hw_data, &tmo);
vTaskDelay(10);
if (hw_data->circular_buff_overflow == true)
{
hw_data->circular_buff_overflow = false;
ESP_LOGE(TAG, "Buffer overflow. Please increase UART baudrate, or increase UART TX ring buffer size in menuconfig.");
}
if (hw_data->message_buff_overflow == true)
{
hw_data->message_buff_overflow = false;
ESP_LOGE(TAG, "Message size more then message buffer!");
}
}
}
static const int APP_TRACE_UART_RX_BUF_SIZE = 4024;
static esp_err_t esp_apptrace_uart_init(esp_apptrace_uart_data_t *hw_data)
{
int core_id = esp_cpu_get_core_id();
if (core_id == 0) {
hw_data->tx_data_buff = (uint8_t *)heap_caps_malloc(APP_TRACE_MAX_TX_BUFF_UART, MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
if (hw_data->tx_data_buff == NULL){
return ESP_ERR_NO_MEM;
}
hw_data->tx_data_buff_in = 0;
hw_data->tx_data_buff_out = 0;
hw_data->tx_msg_buff = (uint8_t *)heap_caps_malloc(APP_TRACE_MAX_TX_MSG_UART, MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
if (hw_data->tx_msg_buff == NULL)
{
return ESP_ERR_NO_MEM;
}
hw_data->tx_msg_buff_size = 0;
hw_data->down_buffer_size = 0;
hw_data->message_buff_overflow = false;
hw_data->circular_buff_overflow = false;
assert((hw_data->port_num <= SOC_UART_NUM) && "Not possible to configure UART. Please check selected UART port");
int source_clk = UART_SCLK_DEFAULT;
#if SOC_UART_LP_NUM > 0
if (hw_data->port_num >= SOC_UART_HP_NUM)
source_clk = LP_UART_SCLK_DEFAULT;
#endif
const uart_config_t uart_config = {
.baud_rate = CONFIG_APPTRACE_UART_BAUDRATE,
.data_bits = UART_DATA_8_BITS,
.parity = UART_PARITY_DISABLE,
.stop_bits = UART_STOP_BITS_1,
.flow_ctrl = UART_HW_FLOWCTRL_DISABLE,
.source_clk = source_clk,
};
ESP_LOGI(TAG, "UART baud rate: %i", CONFIG_APPTRACE_UART_BAUDRATE);
// We won't use a buffer for sending data.
esp_err_t err = uart_driver_install(hw_data->port_num, APP_TRACE_UART_RX_BUF_SIZE, APP_TRACE_UART_RX_BUF_SIZE, 0, NULL, 0);
assert((err == ESP_OK) && "Not possible to install UART. Please check and change menuconfig parameters!");
err = uart_param_config(hw_data->port_num, &uart_config);
assert((err == ESP_OK) && "Not possible to configure UART. Please check and change menuconfig parameters!");
err = uart_set_pin(hw_data->port_num, CONFIG_APPTRACE_UART_TX_GPIO, CONFIG_APPTRACE_UART_RX_GPIO, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE);
assert((err == ESP_OK) && "Not possible to configure UART RX/TX pins. Please check and change menuconfig parameters!");
int uart_prio = CONFIG_APPTRACE_UART_TASK_PRIO;
if (uart_prio >= (configMAX_PRIORITIES-1)) uart_prio = configMAX_PRIORITIES - 1;
err = xTaskCreate(esp_apptrace_send_uart_tx_task, "app_trace_uart_tx_task", 2500, hw_data, uart_prio, NULL);
assert((err == pdPASS) && "Not possible to configure UART. Not possible to create task!");
#if CONFIG_APPTRACE_LOCK_ENABLE
esp_apptrace_lock_init(&hw_data->lock);
#endif
}
// init UART on this CPU
esp_apptrace_uart_hw_init();
hw_data->inited |= 1 << core_id;
return ESP_OK;
}
static uint8_t *esp_apptrace_uart_up_buffer_get(esp_apptrace_uart_data_t *hw_data, uint32_t size, esp_apptrace_tmo_t *tmo)
{
uint8_t *ptr;
if (size > APP_TRACE_MAX_TX_MSG_UART) {
hw_data->message_buff_overflow = true;
return NULL;
}
if (hw_data->tx_msg_buff_size != 0)
{
// A previous message was not sent.
return NULL;
}
esp_err_t res = esp_apptrace_uart_lock(hw_data, tmo);
if (res != ESP_OK) {
return NULL;
}
ptr = hw_data->tx_msg_buff;
hw_data->tx_msg_buff_size = size;
// now we can safely unlock apptrace to allow other tasks/ISRs to get other buffers and write their data
if (esp_apptrace_uart_unlock(hw_data) != ESP_OK) {
assert(false && "Failed to unlock apptrace data!");
}
return ptr;
}
static esp_err_t esp_apptrace_uart_up_buffer_put(esp_apptrace_uart_data_t *hw_data, uint8_t *ptr, esp_apptrace_tmo_t *tmo)
{
esp_err_t res = esp_apptrace_send_uart_data(hw_data, (const char *)ptr, hw_data->tx_msg_buff_size, tmo);
// Clear size to indicate that we've sent data
hw_data->tx_msg_buff_size = 0;
return res;
}
static void esp_apptrace_uart_down_buffer_config(esp_apptrace_uart_data_t *hw_data, uint8_t *buf, uint32_t size)
{
hw_data->down_buffer = (uint8_t *)malloc(size);
if (hw_data->down_buffer == NULL){
assert(false && "Failed to allocate apptrace uart down buffer!");
}
hw_data->down_buffer_size = size;
}
static uint8_t *esp_apptrace_uart_down_buffer_get(esp_apptrace_uart_data_t *hw_data, uint32_t *size, esp_apptrace_tmo_t *tmo)
{
uint8_t *ptr = NULL;
if (*size > hw_data->down_buffer_size) {
return NULL;
}
esp_err_t res = esp_apptrace_uart_lock(hw_data, tmo);
if (res != ESP_OK) {
return NULL;
}
size_t uart_fifolen = 0;
uart_get_buffered_data_len(hw_data->port_num, &uart_fifolen);
if (uart_fifolen > 0) {
if (*size < uart_fifolen) {
uart_fifolen = *size;
}
*size = uart_fifolen;
ptr = hw_data->down_buffer;
*size =uart_read_bytes(hw_data->port_num, ptr, uart_fifolen, 0);
}
if (esp_apptrace_uart_unlock(hw_data) != ESP_OK) {
assert(false && "Failed to unlock apptrace data!");
}
return ptr;
}
static esp_err_t esp_apptrace_uart_down_buffer_put(esp_apptrace_uart_data_t *hw_data, uint8_t *ptr, esp_apptrace_tmo_t *tmo)
{
return ESP_OK;
}
static bool esp_apptrace_uart_host_is_connected(esp_apptrace_uart_data_t *hw_data)
{
return hw_data->inited & 1;
}
static esp_err_t esp_apptrace_uart_flush_nolock(esp_apptrace_uart_data_t *hw_data, uint32_t min_sz, esp_apptrace_tmo_t *tmo)
{
return ESP_OK;
}
static esp_err_t esp_apptrace_uart_flush(esp_apptrace_uart_data_t *hw_data, esp_apptrace_tmo_t *tmo)
{
return ESP_OK;
}
#endif // APPTRACE_DEST_UART

View File

@@ -1,11 +1,9 @@
/*
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
* SPDX-License-Identifier: Apache-2.0
*/
#include "sdkconfig.h"
#include "esp_cpu.h"
#include "esp_log.h"
#include "esp_app_trace_membufs_proto.h"
#include "esp_app_trace_port.h"
@@ -38,7 +36,7 @@ typedef struct {
#define ESP_APPTRACE_RISCV_HOST_DATA (1 << 22)
#define ESP_APPTRACE_RISCV_HOST_CONNECT (1 << 23)
#define ESP_APPTRACE_RISCV_INITED(_hw_) ((_hw_)->inited & (1 << 0/*esp_cpu_get_core_id()*/))
#define ESP_APPTRACE_RISCV_INITED(_hw_) ((_hw_)->inited & (1 << 0/*cpu_hal_get_core_id()*/))
static esp_err_t esp_apptrace_riscv_init(esp_apptrace_riscv_data_t *hw_data);
static esp_err_t esp_apptrace_riscv_flush(esp_apptrace_riscv_data_t *hw_data, esp_apptrace_tmo_t *tmo);
@@ -57,13 +55,12 @@ static bool esp_apptrace_riscv_host_data_pending(void);
const static char *TAG = "esp_apptrace";
#if SOC_CACHE_INTERNAL_MEM_VIA_L1CACHE
#define APPTRACE_DRAM_ATTR TCM_DRAM_ATTR
#else
#define APPTRACE_DRAM_ATTR
#endif
static esp_apptrace_riscv_ctrl_block_t s_tracing_ctrl[portNUM_PROCESSORS];
static APPTRACE_DRAM_ATTR esp_apptrace_riscv_ctrl_block_t s_tracing_ctrl[CONFIG_FREERTOS_NUMBER_OF_CORES];
esp_apptrace_hw_t *esp_apptrace_uart_hw_get(int num, void **data)
{
return NULL;
}
esp_apptrace_hw_t *esp_apptrace_jtag_hw_get(void **data)
{
@@ -98,18 +95,18 @@ esp_apptrace_hw_t *esp_apptrace_jtag_hw_get(void **data)
}
/* Advertises apptrace control block address to host.
This function can be overridden with custom implementation,
This function can be overriden with custom implementation,
e.g. OpenOCD flasher stub use own implementation of it. */
__attribute__((weak)) int esp_apptrace_advertise_ctrl_block(void *ctrl_block_addr)
{
if (!esp_cpu_dbgr_is_attached()) {
if (!esp_cpu_in_ocd_debug_mode()) {
return 0;
}
return (int) semihosting_call_noerrno(ESP_SEMIHOSTING_SYS_APPTRACE_INIT, (long*)ctrl_block_addr);
}
/* Returns up buffers config.
This function can be overridden with custom implementation,
This function can be overriden with custom implementation,
e.g. OpenOCD flasher stub use own implementation of it. */
__attribute__((weak)) void esp_apptrace_get_up_buffers(esp_apptrace_mem_block_t mem_blocks_cfg[2])
{
@@ -147,7 +144,7 @@ static esp_err_t esp_apptrace_riscv_unlock(esp_apptrace_riscv_data_t *hw_data)
static esp_err_t esp_apptrace_riscv_init(esp_apptrace_riscv_data_t *hw_data)
{
int core_id = esp_cpu_get_core_id();
int core_id = cpu_hal_get_core_id();
if (hw_data->inited == 0) {
esp_apptrace_mem_block_t mem_blocks_cfg[2];
@@ -165,13 +162,13 @@ static esp_err_t esp_apptrace_riscv_init(esp_apptrace_riscv_data_t *hw_data)
ESP_APPTRACE_LOGI("Apptrace initialized on CPU%d. Tracing control block @ %p.", core_id, &s_tracing_ctrl[core_id]);
s_tracing_ctrl[core_id].mem_blocks = hw_data->membufs.blocks;
for (int i = 0; i < 2; i++) {
ESP_APPTRACE_LOGD("Mem buf[%d] %" PRIu32 " bytes @ %p (%p/%p)", i,
ESP_APPTRACE_LOGD("Mem buf[%d] %d bytes @ %p (%p/%p)", i,
s_tracing_ctrl[core_id].mem_blocks[i].sz, s_tracing_ctrl[core_id].mem_blocks[i].start,
&(s_tracing_ctrl[core_id].mem_blocks[i].start), &(s_tracing_ctrl[core_id].mem_blocks[i].sz));
}
// notify host about control block address
int res = esp_apptrace_advertise_ctrl_block(&s_tracing_ctrl[core_id]);
assert(res == 0 && "Failed to send config to host!");
assert(res == 0 && "Falied to send config to host!");
return ESP_OK;
}
@@ -261,7 +258,7 @@ static bool esp_apptrace_riscv_host_is_connected(esp_apptrace_riscv_data_t *hw_d
if (!ESP_APPTRACE_RISCV_INITED(hw_data)) {
return false;
}
return s_tracing_ctrl[esp_cpu_get_core_id()].ctrl & ESP_APPTRACE_RISCV_HOST_CONNECT ? true : false;
return s_tracing_ctrl[cpu_hal_get_core_id()].ctrl & ESP_APPTRACE_RISCV_HOST_CONNECT ? true : false;
}
static esp_err_t esp_apptrace_riscv_flush_nolock(esp_apptrace_riscv_data_t *hw_data, uint32_t min_sz, esp_apptrace_tmo_t *tmo)
@@ -305,13 +302,13 @@ static inline void esp_apptrace_riscv_buffer_swap_lock(void)
// HACK: in this case host will set breakpoint just after ESP_APPTRACE_RISCV_CTRL_REG update,
// here we set address to set bp at
// enter ERI update critical section
s_tracing_ctrl[esp_cpu_get_core_id()].stat = (uint32_t)&__esp_apptrace_riscv_updated;
s_tracing_ctrl[cpu_hal_get_core_id()].stat = (uint32_t)&__esp_apptrace_riscv_updated;
}
static __attribute__((noinline)) void esp_apptrace_riscv_buffer_swap_unlock(void)
{
// exit ERI update critical section
s_tracing_ctrl[esp_cpu_get_core_id()].stat = 0;
s_tracing_ctrl[cpu_hal_get_core_id()].stat = 0;
// TODO: currently host sets breakpoint, use break instruction to stop;
// it will allow to use ESP_APPTRACE_RISCV_STAT_REG for other purposes
asm volatile (
@@ -325,13 +322,13 @@ static esp_err_t esp_apptrace_riscv_buffer_swap_start(uint32_t curr_block_id)
esp_apptrace_riscv_buffer_swap_lock();
uint32_t ctrl_reg = s_tracing_ctrl[esp_cpu_get_core_id()].ctrl;
uint32_t ctrl_reg = s_tracing_ctrl[cpu_hal_get_core_id()].ctrl;
uint32_t host_connected = ESP_APPTRACE_RISCV_HOST_CONNECT & ctrl_reg;
if (host_connected) {
uint32_t acked_block = ESP_APPTRACE_RISCV_BLOCK_ID_GET(ctrl_reg);
uint32_t host_to_read = ESP_APPTRACE_RISCV_BLOCK_LEN_GET(ctrl_reg);
if (host_to_read != 0 || acked_block != (curr_block_id & ESP_APPTRACE_RISCV_BLOCK_ID_MSK)) {
ESP_APPTRACE_LOGD("[%d]: Can not switch %" PRIx32 " %" PRIu32 " %" PRIx32 " %" PRIx32 "/%" PRIx32, esp_cpu_get_core_id(), ctrl_reg, host_to_read, acked_block,
ESP_APPTRACE_LOGD("[%d]: Can not switch %x %d %x %x/%lx", cpu_hal_get_core_id(), ctrl_reg, host_to_read, acked_block,
curr_block_id & ESP_APPTRACE_RISCV_BLOCK_ID_MSK, curr_block_id);
res = ESP_ERR_NO_MEM;
goto _on_err;
@@ -345,9 +342,9 @@ _on_err:
static esp_err_t esp_apptrace_riscv_buffer_swap_end(uint32_t new_block_id, uint32_t prev_block_len)
{
uint32_t ctrl_reg = s_tracing_ctrl[esp_cpu_get_core_id()].ctrl;
uint32_t ctrl_reg = s_tracing_ctrl[cpu_hal_get_core_id()].ctrl;
uint32_t host_connected = ESP_APPTRACE_RISCV_HOST_CONNECT & ctrl_reg;
s_tracing_ctrl[esp_cpu_get_core_id()].ctrl = ESP_APPTRACE_RISCV_BLOCK_ID(new_block_id) |
s_tracing_ctrl[cpu_hal_get_core_id()].ctrl = ESP_APPTRACE_RISCV_BLOCK_ID(new_block_id) |
host_connected | ESP_APPTRACE_RISCV_BLOCK_LEN(prev_block_len);
esp_apptrace_riscv_buffer_swap_unlock();
return ESP_OK;
@@ -361,7 +358,7 @@ static esp_err_t esp_apptrace_riscv_buffer_swap(uint32_t new_block_id)
static bool esp_apptrace_riscv_host_data_pending(void)
{
uint32_t ctrl_reg = s_tracing_ctrl[esp_cpu_get_core_id()].ctrl;
uint32_t ctrl_reg = s_tracing_ctrl[cpu_hal_get_core_id()].ctrl;
// ESP_APPTRACE_LOGV("%s() 0x%x", __func__, ctrl_reg);
return (ctrl_reg & ESP_APPTRACE_RISCV_HOST_DATA) ? true : false;
}

View File

@@ -1,7 +1,7 @@
/*
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
* SPDX-License-Identifier: Apache-2.0
*/
//
@@ -12,7 +12,7 @@
// ======================
// Xtensa has useful feature: TRAX debug module. It allows recording program execution flow at run-time without disturbing CPU.
// Execution flow data are written to configurable Trace RAM block. Besides accessing Trace RAM itself TRAX module also allows to read/write
// Exectution flow data are written to configurable Trace RAM block. Besides accessing Trace RAM itself TRAX module also allows to read/write
// trace memory via its registers by means of JTAG, APB or ERI transactions.
// ESP32 has two Xtensa cores with separate TRAX modules on them and provides two special memory regions to be used as trace memory.
// Chip allows muxing access to those trace memory blocks in such a way that while one block is accessed by CPUs another one can be accessed by host
@@ -47,7 +47,7 @@
// 2. TRAX Registers layout
// ========================
// This module uses two TRAX HW registers and one Performance Monitor register to communicate with host SW (OpenOCD).
// This module uses two TRAX HW registers to communicate with host SW (OpenOCD).
// - Control register uses TRAX_DELAYCNT as storage. Only lower 24 bits of TRAX_DELAYCNT are writable. Control register has the following bitfields:
// | 31..XXXXXX..24 | 23 .(host_connect). 23| 22..(block_id)..15 | 14..(block_len)..0 |
// 14..0 bits - actual length of user data in trace memory block. Target updates it every time it fills memory block and exposes it to host.
@@ -55,15 +55,9 @@
// 21..15 bits - trace memory block transfer ID. Block counter. It can overflow. Updated by target, host should not modify it. Actually can be 2 bits;
// 22 bit - 'host data present' flag. If set to one there is data from host, otherwise - no host data;
// 23 bit - 'host connected' flag. If zero then host is not connected and tracing module works in post-mortem mode, otherwise in streaming mode;
// - Status register uses TRAX_TRIGGERPC as storage. If this register is not zero then current CPU is changing TRAX registers and
// this register holds address of the instruction which application will execute when it finishes with those registers modifications.
// See 'Targets Connection' section for details.
// - CRC16 register uses ERI_PERFMON_PM1 as storage. This register is used to store CRC16 checksum of the exposed trace memory block.
// The register has the following format:
// | 31..16 (CRC indicator) | 15..0 (CRC16 value) |
// CRC indicator (0xA55A) is used to distinguish valid CRC values from other data that might be in the register.
// CRC16 is calculated over the entire exposed block and is updated every time a block is exposed to the host.
// This allows the host to verify data integrity of the received trace data.
// - Status register uses TRAX_TRIGGERPC as storage. If this register is not zero then current CPU is changing TRAX registers and
// this register holds address of the instruction which application will execute when it finishes with those registers modifications.
// See 'Targets Connection' setion for details.
// 3. Modes of operation
// =====================
@@ -133,7 +127,7 @@
// Access to internal module's data is synchronized with custom mutex. Mutex is a wrapper for portMUX_TYPE and uses almost the same sync mechanism as in
// vPortCPUAcquireMutex/vPortCPUReleaseMutex. The mechanism uses S32C1I Xtensa instruction to implement exclusive access to module's data from tasks and
// ISRs running on both cores. Also custom mutex allows specifying timeout for locking operation. Locking routine checks underlying mutex in cycle until
// ISRs running on both cores. Also custom mutex allows specifying timeout for locking operation. Locking routine checks underlaying mutex in cycle until
// it gets its ownership or timeout expires. The differences of application tracing module's mutex implementation from vPortCPUAcquireMutex/vPortCPUReleaseMutex are:
// - Support for timeouts.
// - Local IRQs for CPU which owns the mutex are disabled till the call to unlocking routine. This is made to avoid possible task's prio inversion.
@@ -148,32 +142,28 @@
// Timeout mechanism is based on xthal_get_ccount() routine and supports timeout values in microseconds.
// There are two situations when task/ISR can be delayed by tracing API call. Timeout mechanism takes into account both conditions:
// - Trace data are locked by another task/ISR. When waiting on trace data lock.
// - Trace data are locked by another task/ISR. When wating on trace data lock.
// - Current TRAX memory input block is full when working in streaming mode (host is connected). When waiting for host to complete previous block reading.
// When waiting for any of above conditions xthal_get_ccount() is called periodically to calculate time elapsed from trace API routine entry. When elapsed
// When wating for any of above conditions xthal_get_ccount() is called periodically to calculate time elapsed from trace API routine entry. When elapsed
// time exceeds specified timeout value operation is canceled and ESP_ERR_TIMEOUT code is returned.
#include "sdkconfig.h"
#include "soc/soc.h"
#include "soc/dport_access.h"
#include "soc/dport_reg.h"
#include "soc/tracemem_config.h"
#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
#include "soc/sensitive_reg.h"
#endif
#include "eri.h"
#include "esp_private/trax.h"
#include "esp_cpu.h"
#include "trax.h"
#include "esp_log.h"
#include "esp_app_trace_membufs_proto.h"
#include "esp_app_trace_port.h"
#include "esp_rom_crc.h"
// TRAX is disabled, so we use its registers for our own purposes
// | 31..XXXXXX..24 | 23 .(host_connect). 23 | 22 .(host_data). 22| 21..(block_id)..15 | 14..(block_len)..0 |
#define ESP_APPTRACE_TRAX_CTRL_REG ERI_TRAX_DELAYCNT
#define ESP_APPTRACE_TRAX_STAT_REG ERI_TRAX_TRIGGERPC
#define ESP_APPTRACE_TRAX_CRC16_REG ERI_PERFMON_PM1
#define ESP_APPTRACE_CRC_INDICATOR (0xA55AU << 16)
#define ESP_APPTRACE_TRAX_BLOCK_LEN_MSK 0x7FFFUL
#define ESP_APPTRACE_TRAX_BLOCK_LEN(_l_) ((_l_) & ESP_APPTRACE_TRAX_BLOCK_LEN_MSK)
@@ -184,7 +174,7 @@
#define ESP_APPTRACE_TRAX_HOST_DATA (1 << 22)
#define ESP_APPTRACE_TRAX_HOST_CONNECT (1 << 23)
#define ESP_APPTRACE_TRAX_INITED(_hw_) ((_hw_)->inited & (1 << esp_cpu_get_core_id()))
#define ESP_APPTRACE_TRAX_INITED(_hw_) ((_hw_)->inited & (1 << cpu_hal_get_core_id()))
#define ESP_APPTRACE_TRAX_BLOCK_SIZE (0x4000UL)
@@ -220,6 +210,12 @@ static uint8_t * const s_trax_blocks[] = {
(uint8_t *)TRACEMEM_BLK1_ADDR
};
esp_apptrace_hw_t *esp_apptrace_uart_hw_get(int num, void **data)
{
return NULL;
}
esp_apptrace_hw_t *esp_apptrace_jtag_hw_get(void **data)
{
#if CONFIG_APPTRACE_DEST_JTAG
@@ -282,7 +278,7 @@ static inline void esp_apptrace_trax_hw_init(void)
// must be read by host before any transfer using TRAX
eri_write(ESP_APPTRACE_TRAX_STAT_REG, 0);
ESP_APPTRACE_LOGI("Initialized TRAX on CPU%d", esp_cpu_get_core_id());
ESP_APPTRACE_LOGI("Initialized TRAX on CPU%d", cpu_hal_get_core_id());
}
static inline void esp_apptrace_trax_select_memory_block(int block_num)
@@ -298,7 +294,7 @@ static inline void esp_apptrace_trax_select_memory_block(int block_num)
: TRACEMEM_CORE0_MUX_BLK_BITS(TRACEMEM_MUX_BLK1_NUM);
block_bits |= block_num ? TRACEMEM_CORE1_MUX_BLK_BITS(TRACEMEM_MUX_BLK0_NUM)
: TRACEMEM_CORE1_MUX_BLK_BITS(TRACEMEM_MUX_BLK1_NUM);
ESP_EARLY_LOGV(TAG, "Select block %d @ %p (bits 0x%" PRIx32 ")", block_num, s_trax_blocks[block_num], block_bits);
ESP_EARLY_LOGV(TAG, "Select block %d @ %p (bits 0x%x)", block_num, s_trax_blocks[block_num], block_bits);
DPORT_WRITE_PERI_REG(SENSITIVE_INTERNAL_SRAM_USAGE_2_REG, block_bits);
#endif
}
@@ -308,7 +304,7 @@ static inline void esp_apptrace_trax_memory_enable(void)
#if CONFIG_IDF_TARGET_ESP32
/* Enable trace memory on PRO CPU */
DPORT_WRITE_PERI_REG(DPORT_PRO_TRACEMEM_ENA_REG, DPORT_PRO_TRACEMEM_ENA_M);
#if CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE == 0
#if CONFIG_FREERTOS_UNICORE == 0
/* Enable trace memory on APP CPU */
DPORT_WRITE_PERI_REG(DPORT_APP_TRACEMEM_ENA_REG, DPORT_APP_TRACEMEM_ENA_M);
#endif
@@ -321,7 +317,7 @@ static inline void esp_apptrace_trax_memory_enable(void)
static esp_err_t esp_apptrace_trax_init(esp_apptrace_trax_data_t *hw_data)
{
int core_id = esp_cpu_get_core_id();
int core_id = cpu_hal_get_core_id();
// 'esp_apptrace_trax_init()' is called on every core, so ensure to do main initialization only once
if (core_id == 0) {
@@ -508,8 +504,7 @@ static esp_err_t esp_apptrace_trax_buffer_swap_start(uint32_t curr_block_id)
uint32_t acked_block = ESP_APPTRACE_TRAX_BLOCK_ID_GET(ctrl_reg);
uint32_t host_to_read = ESP_APPTRACE_TRAX_BLOCK_LEN_GET(ctrl_reg);
if (host_to_read != 0 || acked_block != (curr_block_id & ESP_APPTRACE_TRAX_BLOCK_ID_MSK)) {
ESP_APPTRACE_LOGD("HC[%d]: Can not switch %" PRIx32 " %" PRIu32 " %" PRIx32 " %" PRIx32 "/%" PRIx32,
esp_cpu_get_core_id(), ctrl_reg, host_to_read, acked_block,
ESP_APPTRACE_LOGD("HC[%d]: Can not switch %x %d %x %x/%lx", cpu_hal_get_core_id(), ctrl_reg, host_to_read, acked_block,
curr_block_id & ESP_APPTRACE_TRAX_BLOCK_ID_MSK, curr_block_id);
res = ESP_ERR_NO_MEM;
goto _on_err;
@@ -525,14 +520,6 @@ static esp_err_t esp_apptrace_trax_buffer_swap_end(uint32_t new_block_id, uint32
{
uint32_t ctrl_reg = eri_read(ESP_APPTRACE_TRAX_CTRL_REG);
uint32_t host_connected = ESP_APPTRACE_TRAX_HOST_CONNECT & ctrl_reg;
/* calculate CRC16 of the already switched block */
if (prev_block_len > 0) {
const uint8_t *prev_block_start = s_trax_blocks[!((new_block_id % 2))];
uint16_t crc16 = esp_rom_crc16_le(0, prev_block_start, prev_block_len);
eri_write(ESP_APPTRACE_TRAX_CRC16_REG, crc16 | ESP_APPTRACE_CRC_INDICATOR);
ESP_APPTRACE_LOGD("CRC16:%x %d @%x", crc16, prev_block_len, prev_block_start);
}
eri_write(ESP_APPTRACE_TRAX_CTRL_REG, ESP_APPTRACE_TRAX_BLOCK_ID(new_block_id) |
host_connected | ESP_APPTRACE_TRAX_BLOCK_LEN(prev_block_len));
esp_apptrace_trax_buffer_swap_unlock();

View File

@@ -1,69 +0,0 @@
/*
* SPDX-FileCopyrightText: 2017-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ESP_DBG_STUBS_H_
#define ESP_DBG_STUBS_H_
#ifdef __cplusplus
extern "C" {
#endif
#include "esp_err.h"
/**
* Debug stubs entries IDs
*/
typedef enum {
ESP_DBG_STUB_MAGIC_NUM,
ESP_DBG_STUB_TABLE_SIZE,
ESP_DBG_STUB_CONTROL_DATA, ///< stubs descriptor entry
ESP_DBG_STUB_ENTRY_FIRST,
ESP_DBG_STUB_ENTRY_GCOV ///< GCOV entry
= ESP_DBG_STUB_ENTRY_FIRST,
ESP_DBG_STUB_ENTRY_CAPABILITIES,
ESP_DBG_STUB_ENTRY_MAX
} esp_dbg_stub_id_t;
#define ESP_DBG_STUB_MAGIC_NUM_VAL 0xFEEDBEEF
#define ESP_DBG_STUB_CAP_GCOV_TASK (1 << 0)
/**
* @brief Initializes debug stubs.
*
* @note Must be called after esp_apptrace_init() if app tracing is enabled.
*/
void esp_dbg_stubs_init(void);
/**
* @brief Initializes application tracing module.
*
* @note Should be called before any esp_apptrace_xxx call.
*
* @param id Stub ID.
* @param entry Stub entry. Usually it is stub entry function address,
* but can be any value meaningfull for OpenOCD command/code
* such as capabilities
* @return ESP_OK on success, otherwise see esp_err_t
*/
esp_err_t esp_dbg_stub_entry_set(esp_dbg_stub_id_t id, uint32_t entry);
/**
* @brief Retrives the corresponding stub entry
*
* @param id Stub ID.
* @param entry Stub entry. Usually it is stub entry function address,
* but can be any value meaningfull for OpenOCD command/code
* such as capabilities
*
* @return ESP_OK on success, otherwise see esp_err_t
*/
esp_err_t esp_dbg_stub_entry_get(esp_dbg_stub_id_t id, uint32_t *entry);
#ifdef __cplusplus
}
#endif
#endif // ESP_DBG_STUBS_H_

View File

@@ -1,9 +1,16 @@
/*
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
// Copyright 2020 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef ESP_APP_TRACE_MEMBUFS_PROTO_H_
#define ESP_APP_TRACE_MEMBUFS_PROTO_H_

View File

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

View File

@@ -14,6 +14,10 @@ CONFIG_ESP32_GCOV_ENABLE CONFIG_APPTRACE_GCOV_ENABLE
CONFIG_SYSVIEW_ENABLE CONFIG_APPTRACE_SV_ENABLE
CONFIG_SYSVIEW_TS_SOURCE CONFIG_APPTRACE_SV_TS_SOURCE
CONFIG_SYSVIEW_TS_SOURCE_CCOUNT CONFIG_APPTRACE_SV_TS_SOURCE_CCOUNT
CONFIG_SYSVIEW_TS_SOURCE_TIMER_00 CONFIG_APPTRACE_SV_TS_SOURCE_TIMER_00
CONFIG_SYSVIEW_TS_SOURCE_TIMER_01 CONFIG_APPTRACE_SV_TS_SOURCE_TIMER_01
CONFIG_SYSVIEW_TS_SOURCE_TIMER_10 CONFIG_APPTRACE_SV_TS_SOURCE_TIMER_10
CONFIG_SYSVIEW_TS_SOURCE_TIMER_11 CONFIG_APPTRACE_SV_TS_SOURCE_TIMER_11
CONFIG_SYSVIEW_TS_SOURCE_ESP_TIMER CONFIG_APPTRACE_SV_TS_SOURCE_ESP_TIMER
CONFIG_SYSVIEW_MAX_TASKS CONFIG_APPTRACE_SV_MAX_TASKS
CONFIG_SYSVIEW_BUF_WAIT_TMO CONFIG_APPTRACE_SV_BUF_WAIT_TMO

View File

@@ -1,14 +1,9 @@
/*
* SPDX-FileCopyrightText: 1995-2021 SEGGER Microcontroller GmbH
*
* SPDX-License-Identifier: BSD-1-Clause
*/
/*********************************************************************
* SEGGER Microcontroller GmbH *
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2021 SEGGER Microcontroller GmbH *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
@@ -22,14 +17,24 @@
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the SystemView and RTT protocol, and J-Link. *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* condition is met: *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this condition and the following disclaimer. *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
@@ -47,7 +52,7 @@
* *
**********************************************************************
* *
* SystemView version: 3.42 *
* SystemView version: V2.42 *
* *
**********************************************************************
----------------------------------------------------------------------
@@ -57,7 +62,6 @@ Purpose : Global types
merge the files. In order to use Segger code, the types
U8, U16, U32, I8, I16, I32 need to be defined in Global.h;
additional definitions do not hurt.
Revision: $Rev: 12501 $
---------------------------END-OF-HEADER------------------------------
*/
@@ -65,26 +69,13 @@ Revision: $Rev: 12501 $
#define GLOBAL_H
#define U8 unsigned char
#define I8 signed char
#define U16 unsigned short
#define I16 signed short
#ifdef __x86_64__
#define U32 unsigned
#define I32 int
#else
#define U32 unsigned long
#define I8 signed char
#define I16 signed short
#define I32 signed long
#endif
//
// CC_NO_LONG_SUPPORT can be defined to compile test
// without long support for compilers that do not
// support C99 and its long type.
//
#ifdef CC_NO_LONG_SUPPORT
#define PTR_ADDR U32
#else // Supports long type.
#if defined(_WIN32) && !defined(__clang__) && !defined(__MINGW32__)
#ifdef _WIN32
//
// Microsoft VC6 compiler related
//
@@ -106,13 +97,6 @@ Revision: $Rev: 12501 $
#define U64_C(x) x##ULL
#endif
#if (defined(_WIN64) || defined(__LP64__)) // 64-bit symbols used by Visual Studio and GCC, maybe others as well.
#define PTR_ADDR U64
#else
#define PTR_ADDR U32
#endif
#endif // Supports long type.
#endif // Avoid multiple inclusion
/*************************** End of file ****************************/

View File

@@ -1,14 +1,9 @@
/*
* SPDX-FileCopyrightText: 1995-2021 SEGGER Microcontroller GmbH
*
* SPDX-License-Identifier: BSD-1-Clause
*/
/*********************************************************************
* SEGGER Microcontroller GmbH *
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2021 SEGGER Microcontroller GmbH *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
@@ -22,14 +17,24 @@
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the SystemView and RTT protocol, and J-Link. *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* condition is met: *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this condition and the following disclaimer. *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
@@ -47,7 +52,7 @@
* *
**********************************************************************
* *
* SystemView version: 3.42 *
* SystemView version: V2.42 *
* *
**********************************************************************
---------------------------END-OF-HEADER------------------------------
@@ -55,7 +60,7 @@ File : SEGGER_RTT_Conf.h
Purpose : Implementation of SEGGER real-time transfer (RTT) which
allows real-time communication on targets which support
debugger memory accesses while the CPU is running.
Revision: $Rev: 24316 $
Revision: $Rev: 5626 $
*/
@@ -73,65 +78,15 @@ Revision: $Rev: 24316 $
**********************************************************************
*/
//
// Take in and set to correct values for Cortex-A systems with CPU cache
//
//#define SEGGER_RTT_CPU_CACHE_LINE_SIZE (32) // Largest cache line size (in bytes) in the current system
//#define SEGGER_RTT_UNCACHED_OFF (0xFB000000) // Address alias where RTT CB and buffers can be accessed uncached
//
// Most common case:
// Up-channel 0: RTT
// Up-channel 1: SystemView
//
#ifndef SEGGER_RTT_MAX_NUM_UP_BUFFERS
#define SEGGER_RTT_MAX_NUM_UP_BUFFERS (3) // Max. number of up-buffers (T->H) available on this target (Default: 3)
#endif
//
// Most common case:
// Down-channel 0: RTT
// Down-channel 1: SystemView
//
#ifndef SEGGER_RTT_MAX_NUM_DOWN_BUFFERS
#define SEGGER_RTT_MAX_NUM_DOWN_BUFFERS (3) // Max. number of down-buffers (H->T) available on this target (Default: 3)
#endif
#define SEGGER_RTT_MAX_NUM_UP_BUFFERS (3) // Max. number of up-buffers (T->H) available on this target (Default: 3)
#define SEGGER_RTT_MAX_NUM_DOWN_BUFFERS (3) // Max. number of down-buffers (H->T) available on this target (Default: 3)
#ifndef BUFFER_SIZE_UP
#define BUFFER_SIZE_UP (1024) // Size of the buffer for terminal output of target, up to host (Default: 1k)
#endif
#define BUFFER_SIZE_UP (1024) // Size of the buffer for terminal output of target, up to host (Default: 1k)
#define BUFFER_SIZE_DOWN (16) // Size of the buffer for terminal input to target from host (Usually keyboard input) (Default: 16)
#ifndef BUFFER_SIZE_DOWN
#define BUFFER_SIZE_DOWN (16) // Size of the buffer for terminal input to target from host (Usually keyboard input) (Default: 16)
#endif
#define SEGGER_RTT_PRINTF_BUFFER_SIZE (64u) // Size of buffer for RTT printf to bulk-send chars via RTT (Default: 64)
#ifndef SEGGER_RTT_PRINTF_BUFFER_SIZE
#define SEGGER_RTT_PRINTF_BUFFER_SIZE (64u) // Size of buffer for RTT printf to bulk-send chars via RTT (Default: 64)
#endif
#ifndef SEGGER_RTT_MODE_DEFAULT
#define SEGGER_RTT_MODE_DEFAULT SEGGER_RTT_MODE_NO_BLOCK_SKIP // Mode for pre-initialized terminal channel (buffer 0)
#endif
/*********************************************************************
*
* RTT memcpy configuration
*
* memcpy() is good for large amounts of data,
* but the overhead is big for small amounts, which are usually stored via RTT.
* With SEGGER_RTT_MEMCPY_USE_BYTELOOP a simple byte loop can be used instead.
*
* SEGGER_RTT_MEMCPY() can be used to replace standard memcpy() in RTT functions.
* This is may be required with memory access restrictions,
* such as on Cortex-A devices with MMU.
*/
#ifndef SEGGER_RTT_MEMCPY_USE_BYTELOOP
#define SEGGER_RTT_MEMCPY_USE_BYTELOOP 0 // 0: Use memcpy/SEGGER_RTT_MEMCPY, 1: Use a simple byte-loop
#endif
//
// Example definition of SEGGER_RTT_MEMCPY to external memcpy with GCC toolchains and Cortex-A targets
//
//#if ((defined __SES_ARM) || (defined __CROSSWORKS_ARM) || (defined __GNUC__)) && (defined (__ARM_ARCH_7A__))
// #define SEGGER_RTT_MEMCPY(pDest, pSrc, NumBytes) SEGGER_memcpy((pDest), (pSrc), (NumBytes))
//#endif
#define SEGGER_RTT_MODE_DEFAULT SEGGER_RTT_MODE_NO_BLOCK_SKIP // Mode for pre-initialized terminal channel (buffer 0)
//
// Target is not allowed to perform other RTT operations while string still has not been stored completely.
@@ -147,64 +102,64 @@ Revision: $Rev: 24316 $
// In case of doubt mask all interrupts: 1 << (8 - BASEPRI_PRIO_BITS) i.e. 1 << 5 when 3 bits are implemented in NVIC
// or define SEGGER_RTT_LOCK() to completely disable interrupts.
//
#ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY
#define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20) // Interrupt priority to lock on SEGGER_RTT_LOCK on Cortex-M3/4 (Default: 0x20)
#endif
#define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20) // Interrupt priority to lock on SEGGER_RTT_LOCK on Cortex-M3/4 (Default: 0x20)
/*********************************************************************
*
* RTT lock configuration for SEGGER Embedded Studio,
* Rowley CrossStudio and GCC
*/
#if ((defined(__SES_ARM) || defined(__SES_RISCV) || defined(__CROSSWORKS_ARM) || defined(__GNUC__) || defined(__clang__)) && !defined (__CC_ARM) && !defined(WIN32))
#if (defined(__ARM_ARCH_6M__) || defined(__ARM_ARCH_8M_BASE__))
#if (defined __SES_ARM) || (defined __CROSSWORKS_ARM) || (defined __GNUC__)
#ifdef __ARM_ARCH_6M__
#define SEGGER_RTT_LOCK() { \
unsigned int _SEGGER_RTT__LockState; \
unsigned int LockState; \
__asm volatile ("mrs %0, primask \n\t" \
"movs r1, #1 \n\t" \
"mov r1, $1 \n\t" \
"msr primask, r1 \n\t" \
: "=r" (_SEGGER_RTT__LockState) \
: "=r" (LockState) \
: \
: "r1", "cc" \
: "r1" \
);
#define SEGGER_RTT_UNLOCK() __asm volatile ("msr primask, %0 \n\t" \
: \
: "r" (_SEGGER_RTT__LockState) \
: "r" (LockState) \
: \
); \
}
#elif (defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_8M_MAIN__))
#elif (defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__))
#ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY
#define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20)
#endif
#define SEGGER_RTT_LOCK() { \
unsigned int _SEGGER_RTT__LockState; \
unsigned int LockState; \
__asm volatile ("mrs %0, basepri \n\t" \
"mov r1, %1 \n\t" \
"msr basepri, r1 \n\t" \
: "=r" (_SEGGER_RTT__LockState) \
: "=r" (LockState) \
: "i"(SEGGER_RTT_MAX_INTERRUPT_PRIORITY) \
: "r1", "cc" \
: "r1" \
);
#define SEGGER_RTT_UNLOCK() __asm volatile ("msr basepri, %0 \n\t" \
: \
: "r" (_SEGGER_RTT__LockState) \
: "r" (LockState) \
: \
); \
}
#elif (defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__))
#elif defined(__ARM_ARCH_7A__)
#define SEGGER_RTT_LOCK() { \
unsigned int _SEGGER_RTT__LockState; \
unsigned int LockState; \
__asm volatile ("mrs r1, CPSR \n\t" \
"mov %0, r1 \n\t" \
"orr r1, r1, #0xC0 \n\t" \
"msr CPSR_c, r1 \n\t" \
: "=r" (_SEGGER_RTT__LockState) \
: "=r" (LockState) \
: \
: "r1", "cc" \
: "r1" \
);
#define SEGGER_RTT_UNLOCK() __asm volatile ("mov r0, %0 \n\t" \
@@ -214,30 +169,11 @@ Revision: $Rev: 24316 $
"orr r1, r1, r0 \n\t" \
"msr CPSR_c, r1 \n\t" \
: \
: "r" (_SEGGER_RTT__LockState) \
: "r0", "r1", "cc" \
: "r" (LockState) \
: "r0", "r1" \
); \
}
#elif defined(__riscv) || defined(__riscv_xlen)
#define SEGGER_RTT_LOCK() { \
unsigned int _SEGGER_RTT__LockState; \
__asm volatile ("csrr %0, mstatus \n\t" \
"csrci mstatus, 8 \n\t" \
"andi %0, %0, 8 \n\t" \
: "=r" (_SEGGER_RTT__LockState) \
: \
: \
);
#define SEGGER_RTT_UNLOCK() __asm volatile ("csrr a1, mstatus \n\t" \
"or %0, %0, a1 \n\t" \
"csrs mstatus, %0 \n\t" \
: \
: "r" (_SEGGER_RTT__LockState) \
: "a1" \
); \
}
#else
#else
#define SEGGER_RTT_LOCK()
#define SEGGER_RTT_UNLOCK()
#endif
@@ -248,53 +184,25 @@ Revision: $Rev: 24316 $
* RTT lock configuration for IAR EWARM
*/
#ifdef __ICCARM__
#if (defined (__ARM6M__) && (__CORE__ == __ARM6M__)) || \
(defined (__ARM8M_BASELINE__) && (__CORE__ == __ARM8M_BASELINE__))
#if (defined (__ARM6M__) && (__CORE__ == __ARM6M__))
#define SEGGER_RTT_LOCK() { \
unsigned int _SEGGER_RTT__LockState; \
_SEGGER_RTT__LockState = __get_PRIMASK(); \
unsigned int LockState; \
LockState = __get_PRIMASK(); \
__set_PRIMASK(1);
#define SEGGER_RTT_UNLOCK() __set_PRIMASK(_SEGGER_RTT__LockState); \
#define SEGGER_RTT_UNLOCK() __set_PRIMASK(LockState); \
}
#elif (defined (__ARM7EM__) && (__CORE__ == __ARM7EM__)) || \
(defined (__ARM7M__) && (__CORE__ == __ARM7M__)) || \
(defined (__ARM8M_MAINLINE__) && (__CORE__ == __ARM8M_MAINLINE__)) || \
(defined (__ARM8M_MAINLINE__) && (__CORE__ == __ARM8M_MAINLINE__))
#elif ((defined (__ARM7EM__) && (__CORE__ == __ARM7EM__)) || (defined (__ARM7M__) && (__CORE__ == __ARM7M__)))
#ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY
#define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20)
#endif
#define SEGGER_RTT_LOCK() { \
unsigned int _SEGGER_RTT__LockState; \
_SEGGER_RTT__LockState = __get_BASEPRI(); \
unsigned int LockState; \
LockState = __get_BASEPRI(); \
__set_BASEPRI(SEGGER_RTT_MAX_INTERRUPT_PRIORITY);
#define SEGGER_RTT_UNLOCK() __set_BASEPRI(_SEGGER_RTT__LockState); \
#define SEGGER_RTT_UNLOCK() __set_BASEPRI(LockState); \
}
#elif (defined (__ARM7A__) && (__CORE__ == __ARM7A__)) || \
(defined (__ARM7R__) && (__CORE__ == __ARM7R__))
#define SEGGER_RTT_LOCK() { \
unsigned int _SEGGER_RTT__LockState; \
__asm volatile ("mrs r1, CPSR \n\t" \
"mov %0, r1 \n\t" \
"orr r1, r1, #0xC0 \n\t" \
"msr CPSR_c, r1 \n\t" \
: "=r" (_SEGGER_RTT__LockState) \
: \
: "r1", "cc" \
);
#define SEGGER_RTT_UNLOCK() __asm volatile ("mov r0, %0 \n\t" \
"mrs r1, CPSR \n\t" \
"bic r1, r1, #0xC0 \n\t" \
"and r0, r0, #0xC0 \n\t" \
"orr r1, r1, r0 \n\t" \
"msr CPSR_c, r1 \n\t" \
: \
: "r" (_SEGGER_RTT__LockState) \
: "r0", "r1", "cc" \
); \
}
#endif
#endif
@@ -304,25 +212,11 @@ Revision: $Rev: 24316 $
*/
#ifdef __ICCRX__
#define SEGGER_RTT_LOCK() { \
unsigned long _SEGGER_RTT__LockState; \
_SEGGER_RTT__LockState = __get_interrupt_state(); \
unsigned long LockState; \
LockState = __get_interrupt_state(); \
__disable_interrupt();
#define SEGGER_RTT_UNLOCK() __set_interrupt_state(_SEGGER_RTT__LockState); \
}
#endif
/*********************************************************************
*
* RTT lock configuration for IAR RL78
*/
#ifdef __ICCRL78__
#define SEGGER_RTT_LOCK() { \
__istate_t _SEGGER_RTT__LockState; \
_SEGGER_RTT__LockState = __get_interrupt_state(); \
__disable_interrupt();
#define SEGGER_RTT_UNLOCK() __set_interrupt_state(_SEGGER_RTT__LockState); \
#define SEGGER_RTT_UNLOCK() __set_interrupt_state(LockState); \
}
#endif
@@ -333,13 +227,13 @@ Revision: $Rev: 24316 $
#ifdef __CC_ARM
#if (defined __TARGET_ARCH_6S_M)
#define SEGGER_RTT_LOCK() { \
unsigned int _SEGGER_RTT__LockState; \
register unsigned char _SEGGER_RTT__PRIMASK __asm( "primask"); \
_SEGGER_RTT__LockState = _SEGGER_RTT__PRIMASK; \
_SEGGER_RTT__PRIMASK = 1u; \
unsigned int LockState; \
register unsigned char PRIMASK __asm( "primask"); \
LockState = PRIMASK; \
PRIMASK = 1u; \
__schedule_barrier();
#define SEGGER_RTT_UNLOCK() _SEGGER_RTT__PRIMASK = _SEGGER_RTT__LockState; \
#define SEGGER_RTT_UNLOCK() PRIMASK = LockState; \
__schedule_barrier(); \
}
#elif (defined(__TARGET_ARCH_7_M) || defined(__TARGET_ARCH_7E_M))
@@ -347,13 +241,13 @@ Revision: $Rev: 24316 $
#define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20)
#endif
#define SEGGER_RTT_LOCK() { \
unsigned int _SEGGER_RTT__LockState; \
unsigned int LockState; \
register unsigned char BASEPRI __asm( "basepri"); \
_SEGGER_RTT__LockState = BASEPRI; \
LockState = BASEPRI; \
BASEPRI = SEGGER_RTT_MAX_INTERRUPT_PRIORITY; \
__schedule_barrier();
#define SEGGER_RTT_UNLOCK() BASEPRI = _SEGGER_RTT__LockState; \
#define SEGGER_RTT_UNLOCK() BASEPRI = LockState; \
__schedule_barrier(); \
}
#endif
@@ -366,67 +260,38 @@ Revision: $Rev: 24316 $
#ifdef __TI_ARM__
#if defined (__TI_ARM_V6M0__)
#define SEGGER_RTT_LOCK() { \
unsigned int _SEGGER_RTT__LockState; \
_SEGGER_RTT__LockState = __get_PRIMASK(); \
unsigned int LockState; \
LockState = __get_PRIMASK(); \
__set_PRIMASK(1);
#define SEGGER_RTT_UNLOCK() __set_PRIMASK(_SEGGER_RTT__LockState); \
#define SEGGER_RTT_UNLOCK() __set_PRIMASK(LockState); \
}
#elif (defined (__TI_ARM_V7M3__) || defined (__TI_ARM_V7M4__))
#ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY
#define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20)
#endif
#define SEGGER_RTT_LOCK() { \
unsigned int _SEGGER_RTT__LockState; \
_SEGGER_RTT__LockState = _set_interrupt_priority(SEGGER_RTT_MAX_INTERRUPT_PRIORITY);
unsigned int LockState; \
LockState = OS_GetBASEPRI(); \
OS_SetBASEPRI(SEGGER_RTT_MAX_INTERRUPT_PRIORITY);
#define SEGGER_RTT_UNLOCK() _set_interrupt_priority(_SEGGER_RTT__LockState); \
#define SEGGER_RTT_UNLOCK() OS_SetBASEPRI(LockState); \
}
#endif
#endif
/*********************************************************************
*
* RTT lock configuration for CCRX
*/
#ifdef __RX
#include <machine.h>
#define SEGGER_RTT_LOCK() { \
unsigned long _SEGGER_RTT__LockState; \
_SEGGER_RTT__LockState = get_psw() & 0x010000; \
clrpsw_i();
#define SEGGER_RTT_UNLOCK() set_psw(get_psw() | _SEGGER_RTT__LockState); \
}
#endif
/*********************************************************************
*
* RTT lock configuration for embOS Simulation on Windows
* (Can also be used for generic RTT locking with embOS)
*/
#if defined(WIN32) || defined(SEGGER_RTT_LOCK_EMBOS)
void OS_SIM_EnterCriticalSection(void);
void OS_SIM_LeaveCriticalSection(void);
#define SEGGER_RTT_LOCK() { \
OS_SIM_EnterCriticalSection();
#define SEGGER_RTT_UNLOCK() OS_SIM_LeaveCriticalSection(); \
}
#endif
/*********************************************************************
*
* RTT lock configuration fallback
*/
#ifndef SEGGER_RTT_LOCK
#define SEGGER_RTT_LOCK() // Lock RTT (nestable) (i.e. disable interrupts)
void SEGGER_SYSVIEW_X_RTT_Lock(void);
#define SEGGER_RTT_LOCK() SEGGER_SYSVIEW_X_RTT_Lock() // Lock RTT (nestable) (i.e. disable interrupts)
#endif
#ifndef SEGGER_RTT_UNLOCK
#define SEGGER_RTT_UNLOCK() // Unlock RTT (nestable) (i.e. enable previous interrupt lock state)
void SEGGER_SYSVIEW_X_RTT_Unlock(void);
#define SEGGER_RTT_UNLOCK() SEGGER_SYSVIEW_X_RTT_Unlock() // Unlock RTT (nestable) (i.e. enable previous interrupt lock state)
#endif
#endif

View File

@@ -1,14 +1,9 @@
/*
* SPDX-FileCopyrightText: 1995-2021 SEGGER Microcontroller GmbH
*
* SPDX-License-Identifier: BSD-1-Clause
*/
/*********************************************************************
* SEGGER Microcontroller GmbH *
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2021 SEGGER Microcontroller GmbH *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
@@ -22,14 +17,24 @@
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the SystemView and RTT protocol, and J-Link. *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* condition is met: *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this condition and the following disclaimer. *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
@@ -47,43 +52,127 @@
* *
**********************************************************************
* *
* SystemView version: 3.42 *
* SystemView version: V2.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW_Conf.h
Purpose : SEGGER SystemView configuration file.
Set defines which deviate from the defaults (see SEGGER_SYSVIEW_ConfDefaults.h) here.
Revision: $Rev: 21292 $
Additional information:
Required defines which must be set are:
SEGGER_SYSVIEW_GET_TIMESTAMP
SEGGER_SYSVIEW_GET_INTERRUPT_ID
For known compilers and cores, these might be set to good defaults
in SEGGER_SYSVIEW_ConfDefaults.h.
SystemView needs a (nestable) locking mechanism.
If not defined, the RTT locking mechanism is used,
which then needs to be properly configured.
Purpose : SEGGER SystemView configuration.
Revision: $Rev: 5927 $
*/
#ifndef SEGGER_SYSVIEW_CONF_H
#define SEGGER_SYSVIEW_CONF_H
#include "soc/soc.h"
/*********************************************************************
*
* Defines, fixed
*
**********************************************************************
*/
//
// Constants for known core configuration
//
#define SEGGER_SYSVIEW_CORE_OTHER 0
#define SEGGER_SYSVIEW_CORE_CM0 1 // Cortex-M0/M0+/M1
#define SEGGER_SYSVIEW_CORE_CM3 2 // Cortex-M3/M4/M7
#define SEGGER_SYSVIEW_CORE_RX 3 // Renesas RX
#if (defined __SES_ARM) || (defined __CROSSWORKS_ARM) || (defined __GNUC__)
#ifdef __ARM_ARCH_6M__
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM0
#elif (defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM3
#endif
#elif defined(__ICCARM__)
#if (defined (__ARM6M__) && (__CORE__ == __ARM6M__))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM0
#elif ((defined (__ARM7M__) && (__CORE__ == __ARM7M__)) || (defined (__ARM7EM__) && (__CORE__ == __ARM7EM__)))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM3
#endif
#elif defined(__CC_ARM)
#if (defined(__TARGET_ARCH_6S_M))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM0
#elif (defined(__TARGET_ARCH_7_M) || defined(__TARGET_ARCH_7E_M))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM3
#endif
#elif defined(__TI_ARM__)
#ifdef __TI_ARM_V6M0__
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM0
#elif (defined(__TI_ARM_V7M3__) || defined(__TI_ARM_V7M4__))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM3
#endif
#elif defined(__ICCRX__)
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_RX
#elif defined(__RX)
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_RX
#endif
#ifndef SEGGER_SYSVIEW_CORE
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_OTHER
#endif
/*********************************************************************
*
* Defines, configurable
*
**********************************************************************
*/
/*********************************************************************
*
* SystemView buffer configuration
*/
#define SEGGER_SYSVIEW_RTT_BUFFER_SIZE 1024 // Number of bytes that SystemView uses for the buffer.
#define SEGGER_SYSVIEW_RTT_CHANNEL 1 // The RTT channel that SystemView will use. 0: Auto selection
#define SEGGER_SYSVIEW_USE_STATIC_BUFFER 1 // Use a static buffer to generate events instead of a buffer on the stack
#define SEGGER_SYSVIEW_POST_MORTEM_MODE 0 // 1: Enable post mortem analysis mode
/*********************************************************************
* TODO: Add your defines here. *
**********************************************************************
*
* SystemView timestamp configuration
*/
#if SEGGER_SYSVIEW_CORE == SEGGER_SYSVIEW_CORE_CM3
#define SEGGER_SYSVIEW_GET_TIMESTAMP() (*(U32 *)(0xE0001004)) // Retrieve a system timestamp. Cortex-M cycle counter.
#define SEGGER_SYSVIEW_TIMESTAMP_BITS 32 // Define number of valid bits low-order delivered by clock source
#else
#define SEGGER_SYSVIEW_GET_TIMESTAMP() SEGGER_SYSVIEW_X_GetTimestamp() // Retrieve a system timestamp via user-defined function
#define SEGGER_SYSVIEW_TIMESTAMP_BITS 32 // Define number of valid bits low-order delivered by SEGGER_SYSVIEW_X_GetTimestamp()
#endif
/*********************************************************************
*
* SystemView Id configuration
*/
//TODO: optimise it
#define SEGGER_SYSVIEW_ID_BASE SOC_DROM_LOW // Default value for the lowest Id reported by the application. Can be overridden by the application via SEGGER_SYSVIEW_SetRAMBase(). (i.e. 0x20000000 when all Ids are an address in this RAM)
#define SEGGER_SYSVIEW_ID_SHIFT 0 // Number of bits to shift the Id to save bandwidth. (i.e. 2 when Ids are 4 byte aligned)
/*********************************************************************
*
* SystemView interrupt configuration
*/
#if SEGGER_SYSVIEW_CORE == SEGGER_SYSVIEW_CORE_CM3
#define SEGGER_SYSVIEW_GET_INTERRUPT_ID() ((*(U32 *)(0xE000ED04)) & 0x1FF) // Get the currently active interrupt Id. (i.e. read Cortex-M ICSR[8:0] = active vector)
#elif SEGGER_SYSVIEW_CORE == SEGGER_SYSVIEW_CORE_CM0
#if defined(__ICCARM__)
#define SEGGER_SYSVIEW_GET_INTERRUPT_ID() (__get_IPSR()) // Workaround for IAR, which might do a byte-access to 0xE000ED04. Read IPSR instead.
#else
#define SEGGER_SYSVIEW_GET_INTERRUPT_ID() ((*(U32 *)(0xE000ED04)) & 0x3F) // Get the currently active interrupt Id. (i.e. read Cortex-M ICSR[5:0] = active vector)
#endif
#else
#define SEGGER_SYSVIEW_GET_INTERRUPT_ID() SEGGER_SYSVIEW_X_GetInterruptId() // Get the currently active interrupt Id from the user-provided function.
#endif
unsigned SEGGER_SYSVIEW_X_SysView_Lock(void);
void SEGGER_SYSVIEW_X_SysView_Unlock(unsigned int_state);
// to be recursive save IRQ status on the stack of the caller
#define SEGGER_SYSVIEW_LOCK() unsigned _SYSVIEW_int_state = SEGGER_SYSVIEW_X_SysView_Lock()
#define SEGGER_SYSVIEW_UNLOCK() SEGGER_SYSVIEW_X_SysView_Unlock(_SYSVIEW_int_state)
#endif // SEGGER_SYSVIEW_CONF_H

View File

@@ -1,16 +1,9 @@
/*
* SPDX-FileCopyrightText: 1995-2021 SEGGER Microcontroller GmbH
*
* SPDX-License-Identifier: BSD-1-Clause
*
* SPDX-FileContributor: 2023 Espressif Systems (Shanghai) CO LTD
*/
/*********************************************************************
* SEGGER Microcontroller GmbH *
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2024 SEGGER Microcontroller GmbH *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
@@ -24,14 +17,24 @@
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the SystemView and RTT protocol, and J-Link. *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* condition is met: *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this condition and the following disclaimer. *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
@@ -49,20 +52,18 @@
* *
**********************************************************************
* *
* SystemView version: 3.56 *
* SystemView version: V2.42 *
* *
**********************************************************************
----------------------------------------------------------------------
File : SEGGER.h
Purpose : Global types etc & general purpose utility functions
Revision: $Rev: 18102 $
---------------------------END-OF-HEADER------------------------------
*/
#ifndef SEGGER_H // Guard against multiple inclusion
#define SEGGER_H
#include <stdarg.h> // For va_list.
#include "Global.h" // Type definitions: U8, U16, U32, I8, I16, I32
#if defined(__cplusplus)
@@ -77,28 +78,18 @@ extern "C" { /* Make sure we have C-declarations in C++ programs */
*/
#ifndef INLINE
#if (defined(__ICCARM__) || defined(__RX) || defined(__ICCRX__))
#ifdef _WIN32
//
// Other known compilers.
// Microsoft VC6 and newer.
// Force inlining without cost checking.
//
#define INLINE inline
#define INLINE __forceinline
#else
#if (defined(_WIN32) && !defined(__clang__))
#if (defined(__ICCARM__) || defined(__CC_ARM) || defined(__GNUC__) || defined(__RX) || defined(__ICCRX__))
//
// Microsoft VC6 and newer.
// Force inlining without cost checking.
// Other known compilers.
//
#define INLINE __forceinline
#elif defined(__GNUC__) || defined(__clang__)
//
// Force inlining with GCC + clang
//
#define INLINE inline __attribute__((always_inline))
#elif (defined(__CC_ARM))
//
// Force inlining with ARMCC (Keil)
//
#define INLINE __inline
#define INLINE inline
#else
//
// Unknown compilers.
@@ -119,29 +110,6 @@ extern "C" { /* Make sure we have C-declarations in C++ programs */
#define SEGGER_MIN(a,b) (((a) < (b)) ? (a) : (b))
#define SEGGER_MAX(a,b) (((a) > (b)) ? (a) : (b))
#ifndef SEGGER_USE_PARA // Some compiler complain about unused parameters.
#define SEGGER_USE_PARA(Para) (void)Para // This works for most compilers.
#endif
#define SEGGER_ADDR2PTR(Type, Addr) (/*lint -e(923) -e(9078)*/((Type*)((PTR_ADDR)(Addr)))) // Allow cast from address to pointer.
#define SEGGER_PTR2ADDR(p) (/*lint -e(923) -e(9078)*/((PTR_ADDR)(p))) // Allow cast from pointer to address.
#define SEGGER_PTR2PTR(Type, p) (/*lint -e(740) -e(826) -e(9079) -e(9087)*/((Type*)(p))) // Allow cast from one pointer type to another (ignore different size).
#define SEGGER_PTR_DISTANCE(p0, p1) (SEGGER_PTR2ADDR(p0) - SEGGER_PTR2ADDR(p1))
/*********************************************************************
*
* Defines
*
**********************************************************************
*/
#define SEGGER_PRINTF_FLAG_ADJLEFT (1 << 0)
#define SEGGER_PRINTF_FLAG_SIGNFORCE (1 << 1)
#define SEGGER_PRINTF_FLAG_SIGNSPACE (1 << 2)
#define SEGGER_PRINTF_FLAG_PRECEED (1 << 3)
#define SEGGER_PRINTF_FLAG_ZEROPAD (1 << 4)
#define SEGGER_PRINTF_FLAG_NEGATIVE (1 << 5)
/*********************************************************************
*
* Types
@@ -150,45 +118,18 @@ extern "C" { /* Make sure we have C-declarations in C++ programs */
*/
typedef struct {
char* pBuffer;
char *pBuffer;
int BufferSize;
int Cnt;
} SEGGER_BUFFER_DESC;
typedef struct {
unsigned int CacheLineSize; // 0: No Cache. Most Systems such as ARM9 use a 32 bytes cache line size.
void (*pfDMB) (void); // Optional DMB function for Data Memory Barrier to make sure all memory operations are completed.
void (*pfClean) (void *p, unsigned long NumBytes); // Optional clean function for cached memory.
void (*pfInvalidate)(void *p, unsigned long NumBytes); // Optional invalidate function for cached memory.
int CacheLineSize; // 0: No Cache. Most Systems such as ARM9 use a 32 bytes cache line size.
void (*pfDMB) (void); // Optional DMB function for Data Memory Barrier to make sure all memory operations are completed.
void (*pfClean) (void *p, unsigned NumBytes); // Optional clean function for cached memory.
void (*pfInvalidate)(void *p, unsigned NumBytes); // Optional invalidate function for cached memory.
} SEGGER_CACHE_CONFIG;
typedef struct SEGGER_SNPRINTF_CONTEXT_struct SEGGER_SNPRINTF_CONTEXT;
struct SEGGER_SNPRINTF_CONTEXT_struct {
void* pContext; // Application specific context.
SEGGER_BUFFER_DESC* pBufferDesc; // Buffer descriptor to use for output.
void (*pfFlush)(SEGGER_SNPRINTF_CONTEXT* pContext); // Callback executed once the buffer is full. Callback decides if the buffer gets cleared to store more or not.
};
typedef struct {
void (*pfStoreChar) (SEGGER_BUFFER_DESC* pBufferDesc, SEGGER_SNPRINTF_CONTEXT* pContext, char c);
int (*pfPrintUnsigned) (SEGGER_BUFFER_DESC* pBufferDesc, SEGGER_SNPRINTF_CONTEXT* pContext, U32 v, unsigned Base, char Flags, int Width, int Precision);
int (*pfPrintInt) (SEGGER_BUFFER_DESC* pBufferDesc, SEGGER_SNPRINTF_CONTEXT* pContext, I32 v, unsigned Base, char Flags, int Width, int Precision);
} SEGGER_PRINTF_API;
typedef void (*SEGGER_pFormatter)(SEGGER_BUFFER_DESC* pBufferDesc, SEGGER_SNPRINTF_CONTEXT* pContext, const SEGGER_PRINTF_API* pApi, va_list* pParamList, char Lead, int Width, int Precision);
typedef struct SEGGER_PRINTF_FORMATTER {
struct SEGGER_PRINTF_FORMATTER* pNext; // Pointer to next formatter.
SEGGER_pFormatter pfFormatter; // Formatter function.
char Specifier; // Format specifier.
} SEGGER_PRINTF_FORMATTER;
typedef struct {
U32 (*pfGetHPTimestamp)(void); // Mandatory, pfGetHPTimestamp
int (*pfGetUID) (U8 abUID[16]); // Optional, pfGetUID
} SEGGER_BSP_API;
/*********************************************************************
*
* Utility functions
@@ -196,55 +137,14 @@ typedef struct {
**********************************************************************
*/
//
// Memory operations.
//
void SEGGER_ARM_memcpy(void* pDest, const void* pSrc, int NumBytes);
void SEGGER_memcpy (void* pDest, const void* pSrc, unsigned NumBytes);
void SEGGER_memxor (void* pDest, const void* pSrc, unsigned NumBytes);
void SEGGER_ARM_memcpy (void *pDest, const void *pSrc, int NumBytes);
void SEGGER_memcpy (void *pDest, const void *pSrc, int NumBytes);
void SEGGER_memxor (void *pDest, const void *pSrc, unsigned NumBytes);
void SEGGER_StoreChar (SEGGER_BUFFER_DESC *p, char c);
void SEGGER_PrintUnsigned(SEGGER_BUFFER_DESC *pBufferDesc, U32 v, unsigned Base, int NumDigits);
void SEGGER_PrintInt (SEGGER_BUFFER_DESC *pBufferDesc, I32 v, unsigned Base, unsigned NumDigits);
int SEGGER_snprintf (char *pBuffer, int BufferSize, const char *sFormat, ...);
//
// String functions.
//
int SEGGER_atoi (const char* s);
int SEGGER_isalnum (int c);
int SEGGER_isalpha (int c);
unsigned SEGGER_strlen (const char* s);
int SEGGER_tolower (int c);
int SEGGER_strcasecmp (const char* sText1, const char* sText2);
int SEGGER_strncasecmp(const char *sText1, const char *sText2, unsigned Count);
//
// Buffer/printf related.
//
void SEGGER_StoreChar (SEGGER_BUFFER_DESC* pBufferDesc, char c);
void SEGGER_PrintUnsigned(SEGGER_BUFFER_DESC* pBufferDesc, U32 v, unsigned Base, int Precision);
void SEGGER_PrintInt (SEGGER_BUFFER_DESC* pBufferDesc, I32 v, unsigned Base, int Precision);
int SEGGER_snprintf (char* pBuffer, int BufferSize, const char* sFormat, ...);
int SEGGER_vsnprintf (char* pBuffer, int BufferSize, const char* sFormat, va_list ParamList);
int SEGGER_vsnprintfEx (SEGGER_SNPRINTF_CONTEXT* pContext, const char* sFormat, va_list ParamList);
int SEGGER_PRINTF_AddFormatter (SEGGER_PRINTF_FORMATTER* pFormatter, SEGGER_pFormatter pfFormatter, char c);
void SEGGER_PRINTF_AddDoubleFormatter (void);
void SEGGER_PRINTF_AddIPFormatter (void);
void SEGGER_PRINTF_AddBLUEFormatter (void);
void SEGGER_PRINTF_AddCONNECTFormatter(void);
void SEGGER_PRINTF_AddSSLFormatter (void);
void SEGGER_PRINTF_AddSSHFormatter (void);
void SEGGER_PRINTF_AddHTMLFormatter (void);
//
// BSP abstraction API.
//
int SEGGER_BSP_GetUID (U8 abUID[16]);
int SEGGER_BSP_GetUID32(U32* pUID);
void SEGGER_BSP_SetAPI (const SEGGER_BSP_API* pAPI);
void SEGGER_BSP_SeedUID (void);
//
// Other API.
//
void SEGGER_VERSION_GetString(char acText[8], unsigned Version);
#if defined(__cplusplus)
} /* Make sure we have C-declarations in C++ programs */

View File

@@ -1,14 +1,9 @@
/*
* SPDX-FileCopyrightText: 1995-2021 SEGGER Microcontroller GmbH
*
* SPDX-License-Identifier: BSD-1-Clause
*/
/*********************************************************************
* SEGGER Microcontroller GmbH *
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2024 SEGGER Microcontroller GmbH *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
@@ -22,14 +17,24 @@
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the SystemView and RTT protocol, and J-Link. *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* condition is met: *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this condition and the following disclaimer. *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
@@ -47,7 +52,7 @@
* *
**********************************************************************
* *
* SystemView version: 3.56 *
* SystemView version: V2.42 *
* *
**********************************************************************
---------------------------END-OF-HEADER------------------------------
@@ -55,235 +60,14 @@ File : SEGGER_RTT.h
Purpose : Implementation of SEGGER real-time transfer which allows
real-time communication on targets which support debugger
memory accesses while the CPU is running.
Revision: $Rev: 25842 $
Revision: $Rev: 5626 $
----------------------------------------------------------------------
*/
#ifndef SEGGER_RTT_H
#define SEGGER_RTT_H
#include "../Config/SEGGER_RTT_Conf.h"
/*********************************************************************
*
* Defines, defaults
*
**********************************************************************
*/
#ifndef RTT_USE_ASM
//
// Some cores support out-of-order memory accesses (reordering of memory accesses in the core)
// For such cores, we need to define a memory barrier to guarantee the order of certain accesses to the RTT ring buffers.
// Needed for:
// Cortex-M7 (ARMv7-M)
// Cortex-M23 (ARM-v8M)
// Cortex-M33 (ARM-v8M)
// Cortex-A/R (ARM-v7A/R)
//
// We do not explicitly check for "Embedded Studio" as the compiler in use determines what we support.
// You can use an external toolchain like IAR inside ES. So there is no point in checking for "Embedded Studio"
//
#if (defined __CROSSWORKS_ARM) // Rowley Crossworks
#define _CC_HAS_RTT_ASM_SUPPORT 1
#if (defined __ARM_ARCH_7M__) // Cortex-M3
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#elif (defined __ARM_ARCH_7EM__) // Cortex-M4/M7
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif (defined __ARM_ARCH_8M_BASE__) // Cortex-M23
#define _CORE_HAS_RTT_ASM_SUPPORT 0
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif (defined __ARM_ARCH_8M_MAIN__) // Cortex-M33
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif (defined(__ARM_ARCH_8_1M_MAIN__)) // Cortex-M85
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#else
#define _CORE_HAS_RTT_ASM_SUPPORT 0
#endif
#elif (defined __ARMCC_VERSION)
//
// ARM compiler
// ARM compiler V6.0 and later is clang based.
// Our ASM part is compatible to clang.
//
#if (__ARMCC_VERSION >= 6000000)
#define _CC_HAS_RTT_ASM_SUPPORT 1
#else
#define _CC_HAS_RTT_ASM_SUPPORT 0
#endif
#if (defined __ARM_ARCH_6M__) // Cortex-M0 / M1
#define _CORE_HAS_RTT_ASM_SUPPORT 0 // No ASM support for this architecture
#elif (defined __ARM_ARCH_7M__) // Cortex-M3
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#elif (defined __ARM_ARCH_7EM__) // Cortex-M4/M7
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif (defined __ARM_ARCH_8M_BASE__) // Cortex-M23
#define _CORE_HAS_RTT_ASM_SUPPORT 0
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif (defined __ARM_ARCH_8M_MAIN__) // Cortex-M33
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif (defined __ARM_ARCH_8_1M_MAIN__) // Cortex-M85
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif ((defined __ARM_ARCH_7A__) || (defined __ARM_ARCH_7R__)) // Cortex-A/R 32-bit ARMv7-A/R
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#else
#define _CORE_HAS_RTT_ASM_SUPPORT 0
#endif
#elif ((defined __GNUC__) || (defined __clang__))
//
// GCC / Clang
//
#define _CC_HAS_RTT_ASM_SUPPORT 1
// ARM 7/9: __ARM_ARCH_5__ / __ARM_ARCH_5E__ / __ARM_ARCH_5T__ / __ARM_ARCH_5T__ / __ARM_ARCH_5TE__
#if (defined __ARM_ARCH_7M__) // Cortex-M3
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#elif (defined __ARM_ARCH_7EM__) // Cortex-M4/M7
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1 // Only Cortex-M7 needs a DMB but we cannot distinguish M4 and M7 here...
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif (defined __ARM_ARCH_8M_BASE__) // Cortex-M23
#define _CORE_HAS_RTT_ASM_SUPPORT 0
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif (defined __ARM_ARCH_8M_MAIN__) // Cortex-M33
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif (defined __ARM_ARCH_8_1M_MAIN__) // Cortex-M85
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif ((defined __ARM_ARCH_7A__) || (defined __ARM_ARCH_7R__)) // Cortex-A/R 32-bit ARMv7-A/R
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#else
#define _CORE_HAS_RTT_ASM_SUPPORT 0
#endif
#elif ((defined __IASMARM__) || (defined __ICCARM__))
//
// IAR assembler/compiler
//
#define _CC_HAS_RTT_ASM_SUPPORT 1
#if (__VER__ < 6300000)
#define VOLATILE
#else
#define VOLATILE volatile
#endif
#if (defined __ARM7M__) // Needed for old versions that do not know the define yet
#if (__CORE__ == __ARM7M__) // Cortex-M3
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#endif
#endif
#if (defined __ARM7EM__)
#if (__CORE__ == __ARM7EM__) // Cortex-M4/M7
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() asm VOLATILE ("DMB");
#endif
#endif
#if (defined __ARM8M_BASELINE__)
#if (__CORE__ == __ARM8M_BASELINE__) // Cortex-M23
#define _CORE_HAS_RTT_ASM_SUPPORT 0
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() asm VOLATILE ("DMB");
#endif
#endif
#if (defined __ARM8M_MAINLINE__)
#if (__CORE__ == __ARM8M_MAINLINE__) // Cortex-M33
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() asm VOLATILE ("DMB");
#endif
#endif
#if (defined __ARM8EM_MAINLINE__)
#if (__CORE__ == __ARM8EM_MAINLINE__) // Cortex-???
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() asm VOLATILE ("DMB");
#endif
#endif
#if (defined __ARM7A__)
#if (__CORE__ == __ARM7A__) // Cortex-A 32-bit ARMv7-A
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() asm VOLATILE ("DMB");
#endif
#endif
#if (defined __ARM7R__)
#if (__CORE__ == __ARM7R__) // Cortex-R 32-bit ARMv7-R
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() asm VOLATILE ("DMB");
#endif
#endif
// TBD: __ARM8A__ => Cortex-A 64-bit ARMv8-A
// TBD: __ARM8R__ => Cortex-R 64-bit ARMv8-R
#else
//
// Other compilers
//
#define _CC_HAS_RTT_ASM_SUPPORT 0
#define _CORE_HAS_RTT_ASM_SUPPORT 0
#endif
//
// If IDE and core support the ASM version, enable ASM version by default
//
#ifndef _CORE_HAS_RTT_ASM_SUPPORT
#define _CORE_HAS_RTT_ASM_SUPPORT 0 // Default for unknown cores
#endif
#if (_CC_HAS_RTT_ASM_SUPPORT && _CORE_HAS_RTT_ASM_SUPPORT)
#define RTT_USE_ASM (1)
#else
#define RTT_USE_ASM (0)
#endif
#endif
#ifndef _CORE_NEEDS_DMB
#define _CORE_NEEDS_DMB 0
#endif
#ifndef RTT__DMB
#if _CORE_NEEDS_DMB
#error "Don't know how to place inline assembly for DMB"
#else
#define RTT__DMB()
#endif
#endif
#ifndef SEGGER_RTT_CPU_CACHE_LINE_SIZE
#define SEGGER_RTT_CPU_CACHE_LINE_SIZE (0) // On most target systems where RTT is used, we do not have a CPU cache, therefore 0 is a good default here
#endif
#ifndef SEGGER_RTT_UNCACHED_OFF
#if SEGGER_RTT_CPU_CACHE_LINE_SIZE
#error "SEGGER_RTT_UNCACHED_OFF must be defined when setting SEGGER_RTT_CPU_CACHE_LINE_SIZE != 0"
#else
#define SEGGER_RTT_UNCACHED_OFF (0)
#endif
#endif
#if RTT_USE_ASM
#if SEGGER_RTT_CPU_CACHE_LINE_SIZE
#error "RTT_USE_ASM is not available if SEGGER_RTT_CPU_CACHE_LINE_SIZE != 0"
#endif
#endif
#ifndef SEGGER_RTT_ASM // defined when SEGGER_RTT.h is included from assembly file
#include <stdlib.h>
#include <stdarg.h>
#include <stdint.h>
#include "SEGGER_RTT_Conf.h"
/*********************************************************************
*
@@ -292,21 +76,6 @@ Revision: $Rev: 25842 $
**********************************************************************
*/
//
// Determine how much we must pad the control block to make it a multiple of a cache line in size
// Assuming: U8 = 1B
// U16 = 2B
// U32 = 4B
// U8/U16/U32* = 4B
//
#if SEGGER_RTT_CPU_CACHE_LINE_SIZE // Avoid division by zero in case we do not have any cache
#define SEGGER_RTT__ROUND_UP_2_CACHE_LINE_SIZE(NumBytes) (((NumBytes + SEGGER_RTT_CPU_CACHE_LINE_SIZE - 1) / SEGGER_RTT_CPU_CACHE_LINE_SIZE) * SEGGER_RTT_CPU_CACHE_LINE_SIZE)
#else
#define SEGGER_RTT__ROUND_UP_2_CACHE_LINE_SIZE(NumBytes) (NumBytes)
#endif
#define SEGGER_RTT__CB_SIZE (16 + 4 + 4 + (SEGGER_RTT_MAX_NUM_UP_BUFFERS * 24) + (SEGGER_RTT_MAX_NUM_DOWN_BUFFERS * 24))
#define SEGGER_RTT__CB_PADDING (SEGGER_RTT__ROUND_UP_2_CACHE_LINE_SIZE(SEGGER_RTT__CB_SIZE) - SEGGER_RTT__CB_SIZE)
/*********************************************************************
*
* Types
@@ -324,7 +93,7 @@ typedef struct {
unsigned SizeOfBuffer; // Buffer size in bytes. Note that one byte is lost, as this implementation does not fill up the buffer in order to avoid the problem of being unable to distinguish between full and empty.
unsigned WrOff; // Position of next item to be written by either target.
volatile unsigned RdOff; // Position of next item to be read by host. Must be volatile since it may be modified by host.
unsigned Flags; // Contains configuration flags. Flags[31:24] are used for validity check and must be zero. Flags[23:2] are reserved for future use. Flags[1:0] = RTT operating mode.
unsigned Flags; // Contains configuration flags
} SEGGER_RTT_BUFFER_UP;
//
@@ -337,7 +106,7 @@ typedef struct {
unsigned SizeOfBuffer; // Buffer size in bytes. Note that one byte is lost, as this implementation does not fill up the buffer in order to avoid the problem of being unable to distinguish between full and empty.
volatile unsigned WrOff; // Position of next item to be written by host. Must be volatile since it may be modified by host.
unsigned RdOff; // Position of next item to be read by target (down-buffer).
unsigned Flags; // Contains configuration flags. Flags[31:24] are used for validity check and must be zero. Flags[23:2] are reserved for future use. Flags[1:0] = RTT operating mode.
unsigned Flags; // Contains configuration flags
} SEGGER_RTT_BUFFER_DOWN;
//
@@ -351,9 +120,6 @@ typedef struct {
int MaxNumDownBuffers; // Initialized to SEGGER_RTT_MAX_NUM_DOWN_BUFFERS (type. 2)
SEGGER_RTT_BUFFER_UP aUp[SEGGER_RTT_MAX_NUM_UP_BUFFERS]; // Up buffers, transferring information up from target via debug probe to host
SEGGER_RTT_BUFFER_DOWN aDown[SEGGER_RTT_MAX_NUM_DOWN_BUFFERS]; // Down buffers, transferring information down from host via debug probe to target
#if SEGGER_RTT__CB_PADDING
unsigned char aDummy[SEGGER_RTT__CB_PADDING];
#endif
} SEGGER_RTT_CB;
/*********************************************************************
@@ -380,7 +146,6 @@ int SEGGER_RTT_ConfigDownBuffer (unsigned BufferIndex, const cha
int SEGGER_RTT_GetKey (void);
unsigned SEGGER_RTT_HasData (unsigned BufferIndex);
int SEGGER_RTT_HasKey (void);
unsigned SEGGER_RTT_HasDataUp (unsigned BufferIndex);
void SEGGER_RTT_Init (void);
unsigned SEGGER_RTT_Read (unsigned BufferIndex, void* pBuffer, unsigned BufferSize);
unsigned SEGGER_RTT_ReadNoLock (unsigned BufferIndex, void* pData, unsigned BufferSize);
@@ -392,17 +157,10 @@ int SEGGER_RTT_WaitKey (void);
unsigned SEGGER_RTT_Write (unsigned BufferIndex, const void* pBuffer, unsigned NumBytes);
unsigned SEGGER_RTT_WriteNoLock (unsigned BufferIndex, const void* pBuffer, unsigned NumBytes);
unsigned SEGGER_RTT_WriteSkipNoLock (unsigned BufferIndex, const void* pBuffer, unsigned NumBytes);
unsigned SEGGER_RTT_ASM_WriteSkipNoLock (unsigned BufferIndex, const void* pBuffer, unsigned NumBytes);
unsigned SEGGER_RTT_WriteString (unsigned BufferIndex, const char* s);
void SEGGER_RTT_WriteWithOverwriteNoLock(unsigned BufferIndex, const void* pBuffer, unsigned NumBytes);
unsigned SEGGER_RTT_PutChar (unsigned BufferIndex, char c);
unsigned SEGGER_RTT_PutCharSkip (unsigned BufferIndex, char c);
unsigned SEGGER_RTT_PutCharSkipNoLock (unsigned BufferIndex, char c);
unsigned SEGGER_RTT_GetAvailWriteSpace (unsigned BufferIndex);
unsigned SEGGER_RTT_GetBytesInBuffer (unsigned BufferIndex);
void SEGGER_RTT_ESP_FlushNoLock (unsigned long min_sz, unsigned long tmo);
void SEGGER_RTT_ESP_Flush (unsigned long min_sz, unsigned long tmo);
void SEGGER_RTT_ESP_FlushNoLock (unsigned long min_sz, unsigned long tmo);
void SEGGER_RTT_ESP_Flush (unsigned long min_sz, unsigned long tmo);
//
// Function macro for performance optimization
//
@@ -410,31 +168,14 @@ void SEGGER_RTT_ESP_Flush (unsigned long min_sz, unsigned
// For ESP32 we use our own implementation of RTT, so this macro should not check SEGGER's RTT buffer state.
#define SEGGER_RTT_HASDATA(n) (1)
#if RTT_USE_ASM
#define SEGGER_RTT_WriteSkipNoLock SEGGER_RTT_ASM_WriteSkipNoLock
#endif
/*********************************************************************
*
* RTT transfer functions to send RTT data via other channels.
*
**********************************************************************
*/
unsigned SEGGER_RTT_ReadUpBuffer (unsigned BufferIndex, void* pBuffer, unsigned BufferSize);
unsigned SEGGER_RTT_ReadUpBufferNoLock (unsigned BufferIndex, void* pData, unsigned BufferSize);
unsigned SEGGER_RTT_WriteDownBuffer (unsigned BufferIndex, const void* pBuffer, unsigned NumBytes);
unsigned SEGGER_RTT_WriteDownBufferNoLock (unsigned BufferIndex, const void* pBuffer, unsigned NumBytes);
#define SEGGER_RTT_HASDATA_UP(n) (((SEGGER_RTT_BUFFER_UP*)((uintptr_t)&_SEGGER_RTT.aUp[n] + SEGGER_RTT_UNCACHED_OFF))->WrOff - ((SEGGER_RTT_BUFFER_UP*)((uintptr_t)&_SEGGER_RTT.aUp[n] + SEGGER_RTT_UNCACHED_OFF))->RdOff) // Access uncached to make sure we see changes made by the J-Link side and all of our changes go into HW directly
/*********************************************************************
*
* RTT "Terminal" API functions
*
**********************************************************************
*/
int SEGGER_RTT_SetTerminal (unsigned char TerminalId);
int SEGGER_RTT_TerminalOut (unsigned char TerminalId, const char* s);
int SEGGER_RTT_SetTerminal (char TerminalId);
int SEGGER_RTT_TerminalOut (char TerminalId, const char* s);
/*********************************************************************
*
@@ -443,14 +184,10 @@ int SEGGER_RTT_TerminalOut (unsigned char TerminalId, const char* s);
**********************************************************************
*/
int SEGGER_RTT_printf(unsigned BufferIndex, const char * sFormat, ...);
int SEGGER_RTT_vprintf(unsigned BufferIndex, const char * sFormat, va_list * pParamList);
#ifdef __cplusplus
}
#endif
#endif // ifndef(SEGGER_RTT_ASM)
/*********************************************************************
*
* Defines
@@ -461,53 +198,53 @@ int SEGGER_RTT_vprintf(unsigned BufferIndex, const char * sFormat, va_list * pPa
//
// Operating modes. Define behavior if buffer is full (not enough space for entire message)
//
#define SEGGER_RTT_MODE_NO_BLOCK_SKIP (0) // Skip. Do not block, output nothing. (Default)
#define SEGGER_RTT_MODE_NO_BLOCK_TRIM (1) // Trim: Do not block, output as much as fits.
#define SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL (2) // Block: Wait until there is space in the buffer.
#define SEGGER_RTT_MODE_MASK (3)
#define SEGGER_RTT_MODE_NO_BLOCK_SKIP (0U) // Skip. Do not block, output nothing. (Default)
#define SEGGER_RTT_MODE_NO_BLOCK_TRIM (1U) // Trim: Do not block, output as much as fits.
#define SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL (2U) // Block: Wait until there is space in the buffer.
#define SEGGER_RTT_MODE_MASK (3U)
//
// Control sequences, based on ANSI.
// Can be used to control color, and clear the screen
//
#define RTT_CTRL_RESET "\x1B[0m" // Reset to default colors
#define RTT_CTRL_CLEAR "\x1B[2J" // Clear screen, reposition cursor to top left
#define RTT_CTRL_RESET "" // Reset to default colors
#define RTT_CTRL_CLEAR "" // Clear screen, reposition cursor to top left
#define RTT_CTRL_TEXT_BLACK "\x1B[2;30m"
#define RTT_CTRL_TEXT_RED "\x1B[2;31m"
#define RTT_CTRL_TEXT_GREEN "\x1B[2;32m"
#define RTT_CTRL_TEXT_YELLOW "\x1B[2;33m"
#define RTT_CTRL_TEXT_BLUE "\x1B[2;34m"
#define RTT_CTRL_TEXT_MAGENTA "\x1B[2;35m"
#define RTT_CTRL_TEXT_CYAN "\x1B[2;36m"
#define RTT_CTRL_TEXT_WHITE "\x1B[2;37m"
#define RTT_CTRL_TEXT_BLACK ""
#define RTT_CTRL_TEXT_RED ""
#define RTT_CTRL_TEXT_GREEN ""
#define RTT_CTRL_TEXT_YELLOW ""
#define RTT_CTRL_TEXT_BLUE ""
#define RTT_CTRL_TEXT_MAGENTA ""
#define RTT_CTRL_TEXT_CYAN ""
#define RTT_CTRL_TEXT_WHITE ""
#define RTT_CTRL_TEXT_BRIGHT_BLACK "\x1B[1;30m"
#define RTT_CTRL_TEXT_BRIGHT_RED "\x1B[1;31m"
#define RTT_CTRL_TEXT_BRIGHT_GREEN "\x1B[1;32m"
#define RTT_CTRL_TEXT_BRIGHT_YELLOW "\x1B[1;33m"
#define RTT_CTRL_TEXT_BRIGHT_BLUE "\x1B[1;34m"
#define RTT_CTRL_TEXT_BRIGHT_MAGENTA "\x1B[1;35m"
#define RTT_CTRL_TEXT_BRIGHT_CYAN "\x1B[1;36m"
#define RTT_CTRL_TEXT_BRIGHT_WHITE "\x1B[1;37m"
#define RTT_CTRL_TEXT_BRIGHT_BLACK ""
#define RTT_CTRL_TEXT_BRIGHT_RED ""
#define RTT_CTRL_TEXT_BRIGHT_GREEN ""
#define RTT_CTRL_TEXT_BRIGHT_YELLOW ""
#define RTT_CTRL_TEXT_BRIGHT_BLUE ""
#define RTT_CTRL_TEXT_BRIGHT_MAGENTA ""
#define RTT_CTRL_TEXT_BRIGHT_CYAN ""
#define RTT_CTRL_TEXT_BRIGHT_WHITE ""
#define RTT_CTRL_BG_BLACK "\x1B[24;40m"
#define RTT_CTRL_BG_RED "\x1B[24;41m"
#define RTT_CTRL_BG_GREEN "\x1B[24;42m"
#define RTT_CTRL_BG_YELLOW "\x1B[24;43m"
#define RTT_CTRL_BG_BLUE "\x1B[24;44m"
#define RTT_CTRL_BG_MAGENTA "\x1B[24;45m"
#define RTT_CTRL_BG_CYAN "\x1B[24;46m"
#define RTT_CTRL_BG_WHITE "\x1B[24;47m"
#define RTT_CTRL_BG_BLACK ""
#define RTT_CTRL_BG_RED ""
#define RTT_CTRL_BG_GREEN ""
#define RTT_CTRL_BG_YELLOW ""
#define RTT_CTRL_BG_BLUE ""
#define RTT_CTRL_BG_MAGENTA ""
#define RTT_CTRL_BG_CYAN ""
#define RTT_CTRL_BG_WHITE ""
#define RTT_CTRL_BG_BRIGHT_BLACK "\x1B[4;40m"
#define RTT_CTRL_BG_BRIGHT_RED "\x1B[4;41m"
#define RTT_CTRL_BG_BRIGHT_GREEN "\x1B[4;42m"
#define RTT_CTRL_BG_BRIGHT_YELLOW "\x1B[4;43m"
#define RTT_CTRL_BG_BRIGHT_BLUE "\x1B[4;44m"
#define RTT_CTRL_BG_BRIGHT_MAGENTA "\x1B[4;45m"
#define RTT_CTRL_BG_BRIGHT_CYAN "\x1B[4;46m"
#define RTT_CTRL_BG_BRIGHT_WHITE "\x1B[4;47m"
#define RTT_CTRL_BG_BRIGHT_BLACK ""
#define RTT_CTRL_BG_BRIGHT_RED ""
#define RTT_CTRL_BG_BRIGHT_GREEN ""
#define RTT_CTRL_BG_BRIGHT_YELLOW ""
#define RTT_CTRL_BG_BRIGHT_BLUE ""
#define RTT_CTRL_BG_BRIGHT_MAGENTA ""
#define RTT_CTRL_BG_BRIGHT_CYAN ""
#define RTT_CTRL_BG_BRIGHT_WHITE ""
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -1,16 +1,9 @@
/*
* SPDX-FileCopyrightText: 1995-2021 SEGGER Microcontroller GmbH
*
* SPDX-License-Identifier: BSD-1-Clause
*
* SPDX-FileContributor: 2023-2024 Espressif Systems (Shanghai) CO LTD
*/
/*********************************************************************
* SEGGER Microcontroller GmbH *
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2024 SEGGER Microcontroller GmbH *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
@@ -24,14 +17,24 @@
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the SystemView and RTT protocol, and J-Link. *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* condition is met: *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this condition and the following disclaimer. *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
@@ -49,13 +52,13 @@
* *
**********************************************************************
* *
* SystemView version: 3.56 *
* SystemView version: V2.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW.h
Purpose : System visualization API.
Revision: $Rev: 28768 $
Revision: $Rev: 5626 $
*/
#ifndef SEGGER_SYSVIEW_H
@@ -69,7 +72,6 @@ Revision: $Rev: 28768 $
*/
#include "SEGGER.h"
#include "SEGGER_SYSVIEW_ConfDefaults.h"
#ifdef __cplusplus
extern "C" {
@@ -83,10 +85,7 @@ extern "C" {
**********************************************************************
*/
#define SEGGER_SYSVIEW_MAJOR 3
#define SEGGER_SYSVIEW_MINOR 32
#define SEGGER_SYSVIEW_REV 0
#define SEGGER_SYSVIEW_VERSION ((SEGGER_SYSVIEW_MAJOR * 10000) + (SEGGER_SYSVIEW_MINOR * 100) + SEGGER_SYSVIEW_REV)
#define SEGGER_SYSVIEW_VERSION 21000
#define SEGGER_SYSVIEW_INFO_SIZE 9 // Minimum size, which has to be reserved for a packet. 1-2 byte of message type, 0-2 byte of payload length, 1-5 bytes of timestamp.
#define SEGGER_SYSVIEW_QUANTA_U32 5 // Maximum number of bytes to encode a U32, should be reserved for each 32-bit value in a packet.
@@ -115,15 +114,15 @@ extern "C" {
#define SYSVIEW_EVTID_SYSTIME_CYCLES 12
#define SYSVIEW_EVTID_SYSTIME_US 13
#define SYSVIEW_EVTID_SYSDESC 14
#define SYSVIEW_EVTID_MARK_START 15
#define SYSVIEW_EVTID_MARK_STOP 16
#define SYSVIEW_EVTID_USER_START 15
#define SYSVIEW_EVTID_USER_STOP 16
#define SYSVIEW_EVTID_IDLE 17
#define SYSVIEW_EVTID_ISR_TO_SCHEDULER 18
#define SYSVIEW_EVTID_TIMER_ENTER 19
#define SYSVIEW_EVTID_TIMER_EXIT 20
#define SYSVIEW_EVTID_STACK_INFO 21
#define SYSVIEW_EVTID_MODULEDESC 22
#define SYSVIEW_EVTID_DATA_SAMPLE 23
#define SYSVIEW_EVTID_INIT 24
#define SYSVIEW_EVTID_NAME_RESOURCE 25
#define SYSVIEW_EVTID_PRINT_FORMATTED 26
@@ -133,16 +132,6 @@ extern "C" {
#define SYSVIEW_EVTID_EX 31
//
// SystemView extended events. Sent with ID 31.
//
#define SYSVIEW_EVTID_EX_MARK 0
#define SYSVIEW_EVTID_EX_NAME_MARKER 1
#define SYSVIEW_EVTID_EX_HEAP_DEFINE 2
#define SYSVIEW_EVTID_EX_HEAP_ALLOC 3
#define SYSVIEW_EVTID_EX_HEAP_ALLOC_EX 4
#define SYSVIEW_EVTID_EX_HEAP_FREE 5
#define SYSVIEW_EVTID_EX_REGISTER_DATA 6
//
// Event masks to disable/enable events
//
#define SYSVIEW_EVTMASK_NOP (1 << SYSVIEW_EVTID_NOP)
@@ -168,7 +157,7 @@ extern "C" {
#define SYSVIEW_EVTMASK_TIMER_EXIT (1 << SYSVIEW_EVTID_TIMER_EXIT)
#define SYSVIEW_EVTMASK_STACK_INFO (1 << SYSVIEW_EVTID_STACK_INFO)
#define SYSVIEW_EVTMASK_MODULEDESC (1 << SYSVIEW_EVTID_MODULEDESC)
#define SYSVIEW_EVTMASK_DATA_SAMPLE (1 << SYSVIEW_EVTID_DATA_SAMPLE)
#define SYSVIEW_EVTMASK_INIT (1 << SYSVIEW_EVTID_INIT)
#define SYSVIEW_EVTMASK_NAME_RESOURCE (1 << SYSVIEW_EVTID_NAME_RESOURCE)
#define SYSVIEW_EVTMASK_PRINT_FORMATTED (1 << SYSVIEW_EVTID_PRINT_FORMATTED)
@@ -203,42 +192,8 @@ typedef struct {
U32 Prio;
U32 StackBase;
U32 StackSize;
U32 StackUsage;
} SEGGER_SYSVIEW_TASKINFO;
typedef struct {
U32 TaskID;
U32 StackBase;
U32 StackSize;
U32 StackUsage;
} SEGGER_SYSVIEW_STACKINFO;
typedef struct {
U32 ID;
union {
U32* pU32_Value;
I32* pI32_Value;
float* pFloat_Value;
};
} SEGGER_SYSVIEW_DATA_SAMPLE;
typedef enum {
SEGGER_SYSVIEW_TYPE_U32 = 0,
SEGGER_SYSVIEW_TYPE_I32 = 1,
SEGGER_SYSVIEW_TYPE_FLOAT = 2
} SEGGER_SYSVIEW_DATA_TYPE;
typedef struct {
U32 ID;
SEGGER_SYSVIEW_DATA_TYPE DataType;
I32 Offset;
I32 RangeMin;
I32 RangeMax;
float ScalingFactor;
const char* sName;
const char* sUnit;
} SEGGER_SYSVIEW_DATA_REGISTER;
typedef struct SEGGER_SYSVIEW_MODULE_STRUCT SEGGER_SYSVIEW_MODULE;
struct SEGGER_SYSVIEW_MODULE_STRUCT {
@@ -251,29 +206,6 @@ struct SEGGER_SYSVIEW_MODULE_STRUCT {
typedef void (SEGGER_SYSVIEW_SEND_SYS_DESC_FUNC)(void);
/*********************************************************************
*
* Global data
*
**********************************************************************
*/
#ifdef EXTERN
#undef EXTERN
#endif
#ifndef SEGGER_SYSVIEW_C // Defined in SEGGER_SYSVIEW.c which includes this header beside other C-files
#define EXTERN extern
#else
#define EXTERN
#endif
EXTERN unsigned int SEGGER_SYSVIEW_TickCnt;
EXTERN unsigned int SEGGER_SYSVIEW_InterruptId;
#undef EXTERN
/*********************************************************************
*
* API functions
@@ -282,8 +214,8 @@ EXTERN unsigned int SEGGER_SYSVIEW_InterruptId;
*/
typedef struct {
U64 (*pfGetTime) (void);
void (*pfSendTaskList) (void);
U64 (*pfGetTime) (void);
void (*pfSendTaskList) (void);
} SEGGER_SYSVIEW_OS_API;
/*********************************************************************
@@ -297,13 +229,7 @@ void SEGGER_SYSVIEW_Stop (void);
void SEGGER_SYSVIEW_GetSysDesc (void);
void SEGGER_SYSVIEW_SendTaskList (void);
void SEGGER_SYSVIEW_SendTaskInfo (const SEGGER_SYSVIEW_TASKINFO* pInfo);
void SEGGER_SYSVIEW_SendStackInfo (const SEGGER_SYSVIEW_STACKINFO* pInfo);
void SEGGER_SYSVIEW_SendSysDesc (const char* sSysDesc);
int SEGGER_SYSVIEW_IsStarted (void);
int SEGGER_SYSVIEW_GetChannelID (void);
void SEGGER_SYSVIEW_SampleData (const SEGGER_SYSVIEW_DATA_SAMPLE *pInfo);
// Checks whether tracing has been started
U8 SEGGER_SYSVIEW_Started(void);
@@ -339,18 +265,10 @@ void SEGGER_SYSVIEW_OnTaskStartExec (U32 TaskId);
void SEGGER_SYSVIEW_OnTaskStopExec (void);
void SEGGER_SYSVIEW_OnTaskStartReady (U32 TaskId);
void SEGGER_SYSVIEW_OnTaskStopReady (U32 TaskId, unsigned int Cause);
void SEGGER_SYSVIEW_MarkStart (unsigned int MarkerId);
void SEGGER_SYSVIEW_MarkStop (unsigned int MarkerId);
void SEGGER_SYSVIEW_Mark (unsigned int MarkerId);
void SEGGER_SYSVIEW_NameMarker (unsigned int MarkerId, const char* sName);
void SEGGER_SYSVIEW_HeapDefine (void* pHeap, void* pBase, unsigned int HeapSize, unsigned int MetadataSize);
void SEGGER_SYSVIEW_HeapAlloc (void* pHeap, void* pUserData, unsigned int UserDataLen);
void SEGGER_SYSVIEW_HeapAllocEx (void* pHeap, void* pUserData, unsigned int UserDataLen, unsigned int Tag);
void SEGGER_SYSVIEW_HeapFree (void* pHeap, void* pUserData);
void SEGGER_SYSVIEW_OnUserStart (unsigned int UserId); // Start of user defined event (such as a subroutine to profile)
void SEGGER_SYSVIEW_OnUserStop (unsigned int UserId); // Start of user defined event
void SEGGER_SYSVIEW_NameResource (U32 ResourceId, const char* sName);
void SEGGER_SYSVIEW_RegisterData ( SEGGER_SYSVIEW_DATA_REGISTER* pInfo);
int SEGGER_SYSVIEW_SendPacket (U8* pPacket, U8* pPayloadEnd, unsigned int EventId);
@@ -381,21 +299,13 @@ void SEGGER_SYSVIEW_SendNumModules (void);
*/
#ifndef SEGGER_SYSVIEW_EXCLUDE_PRINTF // Define in project to avoid warnings about variable parameter list
void SEGGER_SYSVIEW_PrintfHostEx (const char* s, U32 Options, ...);
void SEGGER_SYSVIEW_VPrintfHostEx (const char* s, U32 Options, va_list* pParamList);
void SEGGER_SYSVIEW_PrintfTargetEx (const char* s, U32 Options, ...);
void SEGGER_SYSVIEW_VPrintfTargetEx (const char* s, U32 Options, va_list* pParamList);
void SEGGER_SYSVIEW_PrintfHost (const char* s, ...);
void SEGGER_SYSVIEW_VPrintfHost (const char* s, va_list* pParamList);
void SEGGER_SYSVIEW_PrintfTarget (const char* s, ...);
void SEGGER_SYSVIEW_VPrintfTarget (const char* s, va_list* pParamList);
void SEGGER_SYSVIEW_WarnfHost (const char* s, ...);
void SEGGER_SYSVIEW_VWarnfHost (const char* s, va_list* pParamList);
void SEGGER_SYSVIEW_WarnfTarget (const char* s, ...);
void SEGGER_SYSVIEW_VWarnfTarget (const char* s, va_list* pParamList);
void SEGGER_SYSVIEW_ErrorfHost (const char* s, ...);
void SEGGER_SYSVIEW_VErrorfHost (const char* s, va_list* pParamList);
void SEGGER_SYSVIEW_ErrorfTarget (const char* s, ...);
void SEGGER_SYSVIEW_VErrorfTarget (const char* s, va_list* pParamList);
#endif
void SEGGER_SYSVIEW_Print (const char* s);
@@ -417,20 +327,10 @@ void SEGGER_SYSVIEW_Conf (void);
U32 SEGGER_SYSVIEW_X_GetTimestamp (void);
U32 SEGGER_SYSVIEW_X_GetInterruptId (void);
void SEGGER_SYSVIEW_X_StartComm (void);
void SEGGER_SYSVIEW_X_OnEventRecorded (unsigned NumBytes);
#ifdef __cplusplus
}
#endif
/*********************************************************************
*
* Compatibility API defines
*/
#define SEGGER_SYSVIEW_OnUserStart SEGGER_SYSVIEW_MarkStart
#define SEGGER_SYSVIEW_OnUserStop SEGGER_SYSVIEW_MarkStop
#endif
/*************************** End of file ****************************/

View File

@@ -1,16 +1,9 @@
/*
* SPDX-FileCopyrightText: 1995-2021 SEGGER Microcontroller GmbH
*
* SPDX-License-Identifier: BSD-1-Clause
*
* SPDX-FileContributor: 2023-2024 Espressif Systems (Shanghai) CO LTD
*/
/*********************************************************************
* SEGGER Microcontroller GmbH *
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2024 SEGGER Microcontroller GmbH *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
@@ -24,14 +17,24 @@
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the SystemView and RTT protocol, and J-Link. *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* condition is met: *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this condition and the following disclaimer. *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
@@ -49,14 +52,14 @@
* *
**********************************************************************
* *
* SystemView version: 3.56 *
* SystemView version: V2.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW_ConfDefaults.h
Purpose : Defines defaults for configurable defines used in
SEGGER SystemView.
Revision: $Rev: 26230 $
Revision: $Rev: 3734 $
*/
#ifndef SEGGER_SYSVIEW_CONFDEFAULTS_H
@@ -72,190 +75,25 @@ Revision: $Rev: 26230 $
#include "SEGGER_SYSVIEW_Conf.h"
#include "SEGGER_RTT_Conf.h"
#include "esp_assert.h"
#ifdef __cplusplus
extern "C" {
#endif
/*********************************************************************
*
* Defines, fixed
* Configuration defaults
*
**********************************************************************
*/
//
// Use auto-detection for SEGGER_SYSVIEW_CORE define
// based on compiler-/toolchain-specific defines
// to define SEGGER_SYSVIEW_GET_INTERRUPT_ID and SEGGER_SYSVIEW_GET_TIMESTAMP
//
#define SEGGER_SYSVIEW_CORE_OTHER 0
#define SEGGER_SYSVIEW_CORE_CM0 1 // Cortex-M0/M0+/M1
#define SEGGER_SYSVIEW_CORE_CM3 2 // Cortex-M3/M4/M7
#define SEGGER_SYSVIEW_CORE_RX 3 // Renesas RX
#ifndef SEGGER_SYSVIEW_CORE
#if (defined __SES_ARM) || (defined __CROSSWORKS_ARM) || (defined __SEGGER_CC__) || (defined __GNUC__) || (defined __clang__)
#if (defined __ARM_ARCH_6M__) || (defined __ARM_ARCH_8M_BASE__)
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM0
#elif (defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_8M_MAIN__))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM3
#endif
#elif defined(__ICCARM__)
#if (defined (__ARM6M__) && (__CORE__ == __ARM6M__)) \
|| (defined (__ARM8M_BASELINE__) && (__CORE__ == __ARM8M_BASELINE__))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM0
#elif (defined (__ARM7EM__) && (__CORE__ == __ARM7EM__)) \
|| (defined (__ARM7M__) && (__CORE__ == __ARM7M__)) \
|| (defined (__ARM8M_MAINLINE__) && (__CORE__ == __ARM8M_MAINLINE__)) \
|| (defined (__ARM8M_MAINLINE__) && (__CORE__ == __ARM8M_MAINLINE__))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM3
#endif
#elif defined(__CC_ARM)
#if (defined(__TARGET_ARCH_6S_M))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM0
#elif (defined(__TARGET_ARCH_7_M) || defined(__TARGET_ARCH_7E_M))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM3
#endif
#elif defined(__TI_ARM__)
#ifdef __TI_ARM_V6M0__
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM0
#elif (defined(__TI_ARM_V7M3__) || defined(__TI_ARM_V7M4__))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM3
#endif
#elif defined(__ICCRX__)
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_RX
#elif defined(__RX)
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_RX
#endif
#ifndef SEGGER_SYSVIEW_CORE
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_OTHER
#endif
// Number of bytes that SystemView uses for a buffer.
#ifndef SEGGER_SYSVIEW_RTT_BUFFER_SIZE
#define SEGGER_SYSVIEW_RTT_BUFFER_SIZE 1024
#endif
/*********************************************************************
*
* Defines, defaults
*
**********************************************************************
*/
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_APP_NAME
*
* Description
* The application name to be displayed in SystemView.
* Default
* "SystemView-enabled Application"
* Notes
* Convenience define to be used for SEGGER_SYSVIEW_SendSysDesc().
*/
#ifndef SEGGER_SYSVIEW_APP_NAME
#define SEGGER_SYSVIEW_APP_NAME "SystemView-enabled Application"
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_DEVICE_NAME
*
* Description
* The target device name to be displayed in SystemView.
* Default
* "undefined device"
* Notes
* Convenience define to be used for SEGGER_SYSVIEW_SendSysDesc().
*/
#ifndef SEGGER_SYSVIEW_DEVICE_NAME
#define SEGGER_SYSVIEW_DEVICE_NAME "undefined device"
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_GET_INTERRUPT_ID()
*
* Description
* Function macro to retrieve the Id of the currently active
* interrupt.
* Default
* Call user-supplied function SEGGER_SYSVIEW_X_GetInterruptId().
* Notes
* For some known compilers and cores, a ready-to-use, core-specific
* default is set.
* ARMv7M: Read ICSR[8:0] (active vector)
* ARMv6M: Read ICSR[5:0] (active vector)
*/
#ifndef SEGGER_SYSVIEW_GET_INTERRUPT_ID
#if SEGGER_SYSVIEW_CORE == SEGGER_SYSVIEW_CORE_CM3
#define SEGGER_SYSVIEW_GET_INTERRUPT_ID() ((*(U32*)(0xE000ED04)) & 0x1FF) // Get the currently active interrupt Id. (i.e. read Cortex-M ICSR[8:0] = active vector)
#elif SEGGER_SYSVIEW_CORE == SEGGER_SYSVIEW_CORE_CM0
#if defined(__ICCARM__)
#if (__VER__ > 6010000)
#define SEGGER_SYSVIEW_GET_INTERRUPT_ID() (__get_IPSR()) // Workaround for IAR, which might do a byte-access to 0xE000ED04. Read IPSR instead.
#else
#define SEGGER_SYSVIEW_GET_INTERRUPT_ID() ((*(U32*)(0xE000ED04)) & 0x3F) // Older versions of IAR do not include __get_IPSR, but might also not optimize to byte-access.
#endif
#else
#define SEGGER_SYSVIEW_GET_INTERRUPT_ID() ((*(U32*)(0xE000ED04)) & 0x3F) // Get the currently active interrupt Id. (i.e. read Cortex-M ICSR[5:0] = active vector)
#endif
#else
#define SEGGER_SYSVIEW_GET_INTERRUPT_ID() SEGGER_SYSVIEW_X_GetInterruptId() // Get the currently active interrupt Id from the user-provided function.
#endif
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_GET_TIMESTAMP()
*
* Description
* Function macro to retrieve a system timestamp for SYSVIEW events.
* Default
* Call user-supplied function SEGGER_SYSVIEW_X_GetTimestamp().
* Notes
* For some known compilers and cores, a ready-to-use, core-specific
* default is set.
* ARMv7M: Read Cortex-M Cycle Count register.
*
* The system timestamp clock frequency has to be passed in
* SEGGER_SYSVIEW_Init().
*/
#ifndef SEGGER_SYSVIEW_GET_TIMESTAMP
#if defined (SEGGER_SYSVIEW_CORE) && (SEGGER_SYSVIEW_CORE == SEGGER_SYSVIEW_CORE_CM3)
#define SEGGER_SYSVIEW_GET_TIMESTAMP() (*(U32 *)(0xE0001004)) // Retrieve a system timestamp. Cortex-M cycle counter.
#else
#define SEGGER_SYSVIEW_GET_TIMESTAMP() SEGGER_SYSVIEW_X_GetTimestamp() // Retrieve a system timestamp via user-defined function
#endif
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_TIMESTAMP_BITS
*
* Description
* Number of valid (low-order) bits delivered in system timestamp.
* Default
* 32
* Notes
* Value has to match system timestamp clock source.
*/
// Define number of valid bits low-order delivered by clock source.
#ifndef SEGGER_SYSVIEW_TIMESTAMP_BITS
#define SEGGER_SYSVIEW_TIMESTAMP_BITS 32
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_RTT_CHANNEL
*
* Description
* The RTT channel that SystemView will use.
* Default
* 0: Auto selection.
* Notes
* Value has to be lower than SEGGER_RTT_MAX_NUM_UP_BUFFERS.
*/
// The RTT channel that SystemView will use.
#ifndef SEGGER_SYSVIEW_RTT_CHANNEL
#define SEGGER_SYSVIEW_RTT_CHANNEL 1
#define SEGGER_SYSVIEW_RTT_CHANNEL 0
#endif
// Sanity check of RTT channel
#if (SEGGER_SYSVIEW_RTT_CHANNEL == 0) && (SEGGER_RTT_MAX_NUM_UP_BUFFERS < 2)
@@ -264,323 +102,71 @@ extern "C" {
#error "SEGGER_RTT_MAX_NUM_UP_BUFFERS in SEGGER_RTT_Conf.h has to be > SEGGER_SYSVIEW_RTT_CHANNEL!"
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_RTT_BUFFER_SIZE
*
* Description
* Number of bytes that SystemView uses for the RTT buffer.
* Default
* 1024
*/
#ifndef SEGGER_SYSVIEW_RTT_BUFFER_SIZE
#define SEGGER_SYSVIEW_RTT_BUFFER_SIZE 1024
// Place the SystemView buffer into its own/the RTT section
#if !(defined SEGGER_SYSVIEW_BUFFER_SECTION) && (defined SEGGER_RTT_SECTION)
#define SEGGER_SYSVIEW_BUFFER_SECTION SEGGER_RTT_SECTION
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_SECTION
*
* Description
* Section to place the SystemView RTT Buffer into.
* Default
* undefined: Do not place into a specific section.
* Notes
* If SEGGER_RTT_SECTION is defined, the default changes to use
* this section for the SystemView RTT Buffer, too.
*/
#if !(defined SEGGER_SYSVIEW_SECTION) && (defined SEGGER_RTT_SECTION)
#define SEGGER_SYSVIEW_SECTION SEGGER_RTT_SECTION
// Retrieve a system timestamp. This gets the Cortex-M cycle counter.
#ifndef SEGGER_SYSVIEW_GET_TIMESTAMP
#error "SEGGER_SYSVIEW_GET_TIMESTAMP has to be defined in SEGGER_SYSVIEW_Conf.h!"
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_CPU_CACHE_LINE_SIZE
*
* Description
* Largest cache line size (in bytes) in the target system.
* Default
* 0
* Notes
* Required in systems with caches to make sure that the SystemView
* RTT buffer can be aligned accordingly.
*/
#ifndef SEGGER_SYSVIEW_CPU_CACHE_LINE_SIZE
#define SEGGER_SYSVIEW_CPU_CACHE_LINE_SIZE 0
// Define number of valid bits low-order delivered by clock source.
#ifndef SEGGER_SYSVIEW_TIMESTAMP_BITS
#define SEGGER_SYSVIEW_TIMESTAMP_BITS 32
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_ID_BASE
*
* Description
* Lowest Id reported by the application.
* Default
* 0
* Notes
* Value is usually subtracted from mailboxes, semaphores, tasks,
* .... addresses, to compress event parameters.
* Should be the lowest RAM address of the system.
*/
// Lowest Id reported by the Application.
#ifndef SEGGER_SYSVIEW_ID_BASE
#define SEGGER_SYSVIEW_ID_BASE 0
#define SEGGER_SYSVIEW_ID_BASE 0
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_ID_SHIFT
*
* Description
* Number of bits to shift Ids.
* Default
* 0
* Notes
* Ids are shifted to compress event parameters.
* Should match the alignment of Ids (addresses),
* e.g. 2 when Ids are 4 byte aligned.
*/
// Number of bits to shift Ids to save bandwidth
#ifndef SEGGER_SYSVIEW_ID_SHIFT
#define SEGGER_SYSVIEW_ID_SHIFT 0
#define SEGGER_SYSVIEW_ID_SHIFT 0
#endif
#ifndef SEGGER_SYSVIEW_GET_INTERRUPT_ID
#error "SEGGER_SYSVIEW_GET_INTERRUPT_ID has to be defined in SEGGER_SYSVIEW_Conf.h!"
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_MAX_ARGUMENTS
*
* Description
* Maximum number of arguments which are handled with SystemView
* print routines or may be encoded in one recording function.
* routines.
* Default
* 16
*/
#ifndef SEGGER_SYSVIEW_MAX_ARGUMENTS
#define SEGGER_SYSVIEW_MAX_ARGUMENTS 16
#define SEGGER_SYSVIEW_MAX_ARGUMENTS 16
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_MAX_STRING_LEN
*
* Description
* Maximum string length which can be used in SystemView print and
* system description routines.
* Default
* 128
*/
#ifndef SEGGER_SYSVIEW_MAX_STRING_LEN
#define SEGGER_SYSVIEW_MAX_STRING_LEN 128
#define SEGGER_SYSVIEW_MAX_STRING_LEN 128
#endif
ESP_STATIC_ASSERT(SEGGER_SYSVIEW_MAX_STRING_LEN < 255, "SEGGER Sysview string length must be less than 255.");
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_SUPPORT_LONG_ID
*
* Description
* It set, support encoding Evend Ids longer than 14 bit.
* Default
* 1
*/
#ifndef SEGGER_SYSVIEW_SUPPORT_LONG_ID
#define SEGGER_SYSVIEW_SUPPORT_LONG_ID 1
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_SUPPORT_LONG_DATA
*
* Description
* It set, support encoding event data longer than 14 bit.
* Default
* 0
*/
#ifndef SEGGER_SYSVIEW_SUPPORT_LONG_DATA
#define SEGGER_SYSVIEW_SUPPORT_LONG_DATA 0
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_PRINTF_IMPLICIT_FORMAT
*
* Description
* If enabled, on SEGGER_SYSVIEW_PrintHost, check the format string
* and if it includes unsupported formatters, use formatting on the
* target instead.
* Default
* 0: Disabled.
*/
#ifndef SEGGER_SYSVIEW_PRINTF_IMPLICIT_FORMAT
#define SEGGER_SYSVIEW_PRINTF_IMPLICIT_FORMAT 0
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_USE_INTERNAL_RECORDER
*
* Description
* If set, an internal recorder, such as UART or IP is used.
* Default
* 0: Disabled.
* Notes
* Convenience define to be used by SEGGER_SYSVIEW_Conf(),
* such as in embOS configuration to enable Cortex-M cycle counter.
*/
#ifndef SEGGER_SYSVIEW_USE_INTERNAL_RECORDER
#define SEGGER_SYSVIEW_USE_INTERNAL_RECORDER 0
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_CAN_RESTART
*
* Description
* If enabled, send the SystemView start sequence on every start
* command, not just on the first one.
* Enables restart when SystemView disconnected unexpectedly.
* Default
* 1: Enabled
*/
#ifndef SEGGER_SYSVIEW_CAN_RESTART
#define SEGGER_SYSVIEW_CAN_RESTART 1
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_START_ON_INIT
*
* Description
* Enable calling SEGGER_SYSVIEW_Start() after initialization.
* Default
* 0: Disabled.
* Notes
* Convenience define to be used by SEGGER_SYSVIEW_Conf(),
* such as in embOS configuration.
*/
#ifndef SEGGER_SYSVIEW_START_ON_INIT
#define SEGGER_SYSVIEW_START_ON_INIT 0
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_USE_STATIC_BUFFER
*
* Description
* If enabled, use a static buffer instead of a buffer on the stack
* for SystemView event packets.
* Default
* 1: Enabled.
* Notes
* If enabled, the static memory use by SystemView is increased by
* the maximum packet size. SystemView is locked on entry of a
* recording function.
* If disabled, the stack usage by SystemView recording functions
* might be increased by up to the maximum packet size. SystemView
* is locked when writing the packet to the RTT buffer.
*/
// Use a static buffer instead of a buffer on the stack for packets
#ifndef SEGGER_SYSVIEW_USE_STATIC_BUFFER
#define SEGGER_SYSVIEW_USE_STATIC_BUFFER 1
#define SEGGER_SYSVIEW_USE_STATIC_BUFFER 1
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_MAX_PACKET_SIZE
*
* Description
* Maximum packet size for a SystemView event.
* Default
* Automatically calculated.
* Notes
* The maximum packet size is mainly defined by the maximum string
* length and the maximum number of arguments.
*/
// Maximum packet size used by SystemView for the static buffer
#ifndef SEGGER_SYSVIEW_MAX_PACKET_SIZE
#define SEGGER_SYSVIEW_MAX_PACKET_SIZE (SEGGER_SYSVIEW_INFO_SIZE + SEGGER_SYSVIEW_MAX_STRING_LEN + 2 * SEGGER_SYSVIEW_QUANTA_U32 + SEGGER_SYSVIEW_MAX_ARGUMENTS * SEGGER_SYSVIEW_QUANTA_U32)
#define SEGGER_SYSVIEW_MAX_PACKET_SIZE SEGGER_SYSVIEW_INFO_SIZE + SEGGER_SYSVIEW_MAX_STRING_LEN + 2 * SEGGER_SYSVIEW_QUANTA_U32 + SEGGER_SYSVIEW_MAX_ARGUMENTS * SEGGER_SYSVIEW_QUANTA_U32
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_POST_MORTEM_MODE
*
* Description
* If enabled, SystemView records for post-mortem analysis instead
* of real-time analysis.
* Default
* 0: Disabled.
* Notes
* For more information refer to
* https://www.segger.com/products/development-tools/systemview/technology/post-mortem-mode
*/
// Use post-mortem analysis instead of real-time analysis
#ifndef SEGGER_SYSVIEW_POST_MORTEM_MODE
#define SEGGER_SYSVIEW_POST_MORTEM_MODE 0
#define SEGGER_SYSVIEW_POST_MORTEM_MODE 0
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_SYNC_PERIOD_SHIFT
*
* Description
* Configure how frequently synchronization is sent in post-mortem
* mode.
* Default
* 8: (1 << 8) = Every 256 Events.
* Notes
* In post-mortem mode, at least one sync has to be in the RTT buffer.
* Recommended sync frequency: Buffer Size / 16
* For more information refer to
* https://www.segger.com/products/development-tools/systemview/technology/post-mortem-mode
*/
// Configure how frequently syncronization is sent
#ifndef SEGGER_SYSVIEW_SYNC_PERIOD_SHIFT
#define SEGGER_SYSVIEW_SYNC_PERIOD_SHIFT 8
#define SEGGER_SYSVIEW_SYNC_PERIOD_SHIFT 8
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_ON_EVENT_RECORDED()
*
* Description
* Function macro to notify recorder about a new event in buffer.
* Default
* undefined: Do not notify recorder.
* Notes
* Used for non-J-Link recorder,
* such as to enable transmission via UART or notify IP task.
*/
#ifndef SEGGER_SYSVIEW_ON_EVENT_RECORDED
#define SEGGER_SYSVIEW_ON_EVENT_RECORDED(NumBytes)
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_LOCK()
*
* Description
* Function macro to (nestable) lock SystemView recording.
* Default
* Use RTT Locking mechanism (defined by SEGGER_RTT_LOCK()).
* Notes
* If SystemView recording is not locked, recording events from
* interrupts and tasks may lead to unpredictable, undefined, event
* data.
*/
// Lock SystemView (nestable)
#ifndef SEGGER_SYSVIEW_LOCK
unsigned SEGGER_SYSVIEW_X_SysView_Lock(void);
#define SEGGER_SYSVIEW_LOCK() unsigned _SYSVIEW_int_state = SEGGER_SYSVIEW_X_SysView_Lock()
#define SEGGER_SYSVIEW_LOCK() SEGGER_RTT_LOCK()
#endif
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_UNLOCK
*
* Description
* Function macro to unlock SystemView recording.
* Default
* Use RTT Unlocking mechanism (defined by SEGGER_RTT_UNLOCK()).
*/
// Unlock SystemView (nestable)
#ifndef SEGGER_SYSVIEW_UNLOCK
void SEGGER_SYSVIEW_X_SysView_Unlock(unsigned int_state);
#define SEGGER_SYSVIEW_UNLOCK() SEGGER_SYSVIEW_X_SysView_Unlock(_SYSVIEW_int_state)
#define SEGGER_SYSVIEW_UNLOCK() SEGGER_RTT_UNLOCK()
#endif
#ifdef __cplusplus

View File

@@ -1,14 +1,9 @@
/*
* SPDX-FileCopyrightText: 1995-2021 SEGGER Microcontroller GmbH
*
* SPDX-License-Identifier: BSD-1-Clause
*/
/*********************************************************************
* SEGGER Microcontroller GmbH *
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2024 SEGGER Microcontroller GmbH *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
@@ -22,14 +17,24 @@
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the SystemView and RTT protocol, and J-Link. *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* condition is met: *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this condition and the following disclaimer. *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
@@ -47,13 +52,13 @@
* *
**********************************************************************
* *
* SystemView version: 3.56 *
* SystemView version: V2.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW_Int.h
Purpose : SEGGER SystemView internal header.
Revision: $Rev: 21281 $
Revision: $Rev: 5626 $
*/
#ifndef SEGGER_SYSVIEW_INT_H
@@ -67,6 +72,8 @@ Revision: $Rev: 21281 $
*/
#include "SEGGER_SYSVIEW.h"
#include "SEGGER_SYSVIEW_Conf.h"
#include "SEGGER_SYSVIEW_ConfDefaults.h"
#ifdef __cplusplus
extern "C" {
@@ -90,7 +97,6 @@ typedef enum {
SEGGER_SYSVIEW_COMMAND_ID_GET_SYSDESC,
SEGGER_SYSVIEW_COMMAND_ID_GET_NUMMODULES,
SEGGER_SYSVIEW_COMMAND_ID_GET_MODULEDESC,
SEGGER_SYSVIEW_COMMAND_ID_HEARTBEAT = 127,
// Extended commands: Commands >= 128 have a second parameter
SEGGER_SYSVIEW_COMMAND_ID_GET_MODULE = 128
} SEGGER_SYSVIEW_COMMAND_ID;

View File

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

View File

@@ -1,16 +1,9 @@
/*
* SPDX-FileCopyrightText: 1995-2021 SEGGER Microcontroller GmbH
*
* SPDX-License-Identifier: BSD-1-Clause
*
* SPDX-FileContributor: 2017-2024 Espressif Systems (Shanghai) CO LTD
*/
/*********************************************************************
* SEGGER Microcontroller GmbH *
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2021 SEGGER Microcontroller GmbH *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
@@ -24,14 +17,24 @@
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the SystemView and RTT protocol, and J-Link. *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* condition is met: *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this condition and the following disclaimer. *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
@@ -49,26 +52,33 @@
* *
**********************************************************************
* *
* SystemView version: 3.42 *
* SystemView version: V2.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW_Config_FreeRTOS.c
Purpose : Sample setup configuration of SystemView with FreeRTOS.
Revision: $Rev: 7745 $
Revision: $Rev: 3734 $
*/
#include <string.h>
#include "sdkconfig.h"
#include "freertos/FreeRTOS.h"
#include "SEGGER_SYSVIEW.h"
#include "esp_app_trace.h"
#include "esp_app_trace_util.h"
#include "esp_intr_alloc.h"
#include "esp_cpu.h"
#include "soc/soc.h"
#include "soc/interrupts.h"
#include "esp_private/esp_clk.h"
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/clk.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/clk.h"
#elif CONFIG_IDF_TARGET_ESP32S3
#include "esp32s3/clk.h"
#elif CONFIG_IDF_TARGET_ESP32C3
#include "esp32c3/clk.h"
#endif
extern const SEGGER_SYSVIEW_OS_API SYSVIEW_X_OS_TraceAPI;
@@ -100,16 +110,26 @@ extern const SEGGER_SYSVIEW_OS_API SYSVIEW_X_OS_TraceAPI;
#endif
#if TS_USE_TIMERGROUP
#include "driver/gptimer.h"
#include "driver/timer.h"
// Timer group timer divisor
#define SYSVIEW_TIMER_DIV 2
// Frequency of the timestamp, using APB as GPTimer source clock
// Frequency of the timestamp.
#define SYSVIEW_TIMESTAMP_FREQ (esp_clk_apb_freq() / SYSVIEW_TIMER_DIV)
// GPTimer handle
gptimer_handle_t s_sv_gptimer;
// Timer ID and group ID
#if defined(CONFIG_APPTRACE_SV_TS_SOURCE_TIMER_00) || defined(CONFIG_APPTRACE_SV_TS_SOURCE_TIMER_10)
#define TS_TIMER_ID 0
#else
#define TS_TIMER_ID 1
#endif // TIMER_00 || TIMER_01
#if defined(CONFIG_APPTRACE_SV_TS_SOURCE_TIMER_00) || defined(CONFIG_APPTRACE_SV_TS_SOURCE_TIMER_01)
#define TS_TIMER_GROUP 0
#else
#define TS_TIMER_GROUP 1
#endif // TIMER_00 || TIMER_10
#endif // TS_USE_TIMERGROUP
@@ -120,7 +140,13 @@ gptimer_handle_t s_sv_gptimer;
#if TS_USE_CCOUNT
// CCOUNT is incremented at CPU frequency
#define SYSVIEW_TIMESTAMP_FREQ (CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ * 1000000)
#if CONFIG_IDF_TARGET_ESP32
#define SYSVIEW_TIMESTAMP_FREQ (CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ * 1000000)
#elif CONFIG_IDF_TARGET_ESP32S2
#define SYSVIEW_TIMESTAMP_FREQ (CONFIG_ESP32S2_DEFAULT_CPU_FREQ_MHZ * 1000000)
#elif CONFIG_IDF_TARGET_ESP32S3
#define SYSVIEW_TIMESTAMP_FREQ (CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ * 1000000)
#endif
#endif // TS_USE_CCOUNT
// System Frequency.
@@ -138,7 +164,7 @@ gptimer_handle_t s_sv_gptimer;
#endif
#elif CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER
#define SYSTICK_INTR_ID (ETS_SYSTIMER_TARGET0_INTR_SOURCE)
#define SYSTICK_INTR_ID (ETS_SYSTIMER_TARGET0_EDGE_INTR_SOURCE)
#endif // CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER
// SystemView is single core specific: it implies that SEGGER_SYSVIEW_LOCK()
@@ -157,16 +183,15 @@ static esp_apptrace_lock_t s_sys_view_lock = {.mux = portMUX_INITIALIZER_UNLOCKE
* Sends SystemView description strings.
*/
static void _cbSendSystemDesc(void) {
char irq_str[32] = "I#";
char irq_str[32];
SEGGER_SYSVIEW_SendSysDesc("N="SYSVIEW_APP_NAME",D="SYSVIEW_DEVICE_NAME",C="SYSVIEW_CORE_NAME",O=FreeRTOS");
strcat(itoa(SYSTICK_INTR_ID, irq_str + 2, 10), "=SysTick");
snprintf(irq_str, sizeof(irq_str), "I#%d=SysTick", SYSTICK_INTR_ID);
SEGGER_SYSVIEW_SendSysDesc(irq_str);
size_t isr_count = sizeof(esp_isr_names)/sizeof(esp_isr_names[0]);
for (size_t i = 0; i < isr_count; ++i) {
if (esp_isr_names[i] == NULL || (ETS_INTERNAL_INTR_SOURCE_OFF + i) == SYSTICK_INTR_ID)
continue;
strcat(itoa(ETS_INTERNAL_INTR_SOURCE_OFF + i, irq_str + 2, 10), "=");
strncat(irq_str, esp_isr_names[i], sizeof(irq_str) - strlen(irq_str) - 1);
snprintf(irq_str, sizeof(irq_str), "I#%d=%s", ETS_INTERNAL_INTR_SOURCE_OFF + i, esp_isr_names[i]);
SEGGER_SYSVIEW_SendSysDesc(irq_str);
}
}
@@ -183,16 +208,19 @@ static void SEGGER_SYSVIEW_TS_Init(void)
* esp_timer and ccount can be used as is.
*/
#if TS_USE_TIMERGROUP
gptimer_config_t config = {
.clk_src = GPTIMER_CLK_SRC_DEFAULT,
.direction = GPTIMER_COUNT_UP,
.resolution_hz = SYSVIEW_TIMESTAMP_FREQ,
timer_config_t config = {
.alarm_en = 0,
.auto_reload = 0,
.counter_dir = TIMER_COUNT_UP,
.divider = SYSVIEW_TIMER_DIV,
.counter_en = 0
};
// pick any free GPTimer instance
ESP_ERROR_CHECK(gptimer_new_timer(&config, &s_sv_gptimer));
/* Configure timer */
timer_init(TS_TIMER_GROUP, TS_TIMER_ID, &config);
/* Load counter value */
timer_set_counter_value(TS_TIMER_GROUP, TS_TIMER_ID, 0x00000000ULL);
/* Start counting */
gptimer_enable(s_sv_gptimer);
gptimer_start(s_sv_gptimer);
timer_start(TS_TIMER_GROUP, TS_TIMER_ID);
#endif // TS_USE_TIMERGROUP
}
@@ -250,10 +278,10 @@ U32 SEGGER_SYSVIEW_X_GetTimestamp(void)
{
#if TS_USE_TIMERGROUP
uint64_t ts = 0;
gptimer_get_raw_count(s_sv_gptimer, &ts);
timer_get_counter_value(TS_TIMER_GROUP, TS_TIMER_ID, &ts);
return (U32) ts; // return lower part of counter value
#elif TS_USE_CCOUNT
return esp_cpu_get_cycle_count();
return portGET_RUN_TIME_COUNTER_VALUE();
#elif TS_USE_ESP_TIMER
return (U32) esp_timer_get_time(); // return lower part of counter value
#endif

View File

@@ -1,270 +0,0 @@
/*
* SPDX-FileCopyrightText: 1995-2021 SEGGER Microcontroller GmbH
*
* SPDX-License-Identifier: BSD-1-Clause
*
* SPDX-FileContributor: 2023 Espressif Systems (Shanghai) CO LTD
*/
/*********************************************************************
* SEGGER Microcontroller GmbH *
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2021 SEGGER Microcontroller GmbH *
* *
* www.segger.com Support: support@segger.com *
* *
**********************************************************************
* *
* SEGGER SystemView * Real-time application analysis *
* *
**********************************************************************
* *
* All rights reserved. *
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the SystemView and RTT protocol, and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* condition is met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this condition and the following disclaimer. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
* DAMAGE. *
* *
**********************************************************************
* *
* SystemView version: 3.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW_FreeRTOS.c
Purpose : Interface between FreeRTOS and SystemView.
Revision: $Rev: 7947 $
*/
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "SEGGER_SYSVIEW.h"
#include "SEGGER_SYSVIEW_FreeRTOS.h"
#include "string.h" // Required for memset
typedef struct SYSVIEW_FREERTOS_TASK_STATUS SYSVIEW_FREERTOS_TASK_STATUS;
struct SYSVIEW_FREERTOS_TASK_STATUS {
U32 xHandle;
const char* pcTaskName;
unsigned uxCurrentPriority;
U32 pxStack;
unsigned uStackHighWaterMark;
};
static SYSVIEW_FREERTOS_TASK_STATUS _aTasks[SYSVIEW_FREERTOS_MAX_NOF_TASKS];
static unsigned _NumTasks;
/*********************************************************************
*
* _cbSendTaskList()
*
* Function description
* This function is part of the link between FreeRTOS and SYSVIEW.
* Called from SystemView when asked by the host, it uses SYSVIEW
* functions to send the entire task list to the host.
*/
static void _cbSendTaskList(void) {
unsigned n;
for (n = 0; n < _NumTasks; n++) {
#if INCLUDE_uxTaskGetStackHighWaterMark // Report Task Stack High Watermark
_aTasks[n].uStackHighWaterMark = uxTaskGetStackHighWaterMark((TaskHandle_t)_aTasks[n].xHandle);
#endif
SYSVIEW_SendTaskInfo((U32)_aTasks[n].xHandle, _aTasks[n].pcTaskName, (unsigned)_aTasks[n].uxCurrentPriority, (U32)_aTasks[n].pxStack, (unsigned)_aTasks[n].uStackHighWaterMark);
}
}
/*********************************************************************
*
* _cbGetTime()
*
* Function description
* This function is part of the link between FreeRTOS and SYSVIEW.
* Called from SystemView when asked by the host, returns the
* current system time in micro seconds.
*/
__attribute__((unused)) static U64 _cbGetTime(void) {
U64 Time;
Time = xTaskGetTickCountFromISR();
Time *= portTICK_PERIOD_MS;
Time *= 1000;
return Time;
}
/*********************************************************************
*
* Global functions
*
**********************************************************************
*/
/*********************************************************************
*
* SYSVIEW_AddTask()
*
* Function description
* Add a task to the internal list and record its information.
*/
void SYSVIEW_AddTask(U32 xHandle, const char* pcTaskName, unsigned uxCurrentPriority, U32 pxStack, unsigned uStackHighWaterMark) {
/* On multi-core we have several idle tasks with 'IDLEx' names
Not best solution, because we can filter out user tasks starting with 'IDLE'.
But we can not use 'xTaskGetIdleTaskHandle' because at the moment when this
function is called array of idle tasks handles are not initialized yet. */
if (memcmp(pcTaskName, "IDLE", 4) == 0) {
return;
}
if (_NumTasks >= SYSVIEW_FREERTOS_MAX_NOF_TASKS) {
SEGGER_SYSVIEW_Warn("SYSTEMVIEW: Could not record task information. Maximum number of tasks reached.");
return;
}
_aTasks[_NumTasks].xHandle = xHandle;
_aTasks[_NumTasks].pcTaskName = pcTaskName;
_aTasks[_NumTasks].uxCurrentPriority = uxCurrentPriority;
_aTasks[_NumTasks].pxStack = pxStack;
_aTasks[_NumTasks].uStackHighWaterMark = uStackHighWaterMark;
_NumTasks++;
SYSVIEW_SendTaskInfo(xHandle, pcTaskName,uxCurrentPriority, pxStack, uStackHighWaterMark);
}
/*********************************************************************
*
* SYSVIEW_UpdateTask()
*
* Function description
* Update a task in the internal list and record its information.
*/
void SYSVIEW_UpdateTask(U32 xHandle, const char* pcTaskName, unsigned uxCurrentPriority, U32 pxStack, unsigned uStackHighWaterMark) {
unsigned n;
/* On multi-core we have several idle tasks with 'IDLEx' names
Not best solution, because we can filter out user tasks starting with 'IDLE'.
But we can not use 'xTaskGetIdleTaskHandle' because at the moment when this
function is called array of idle tasks handles are not initialized yet. */
if (memcmp(pcTaskName, "IDLE", 4) == 0) {
return;
}
for (n = 0; n < _NumTasks; n++) {
if (_aTasks[n].xHandle == xHandle) {
break;
}
}
if (n < _NumTasks) {
_aTasks[n].pcTaskName = pcTaskName;
_aTasks[n].uxCurrentPriority = uxCurrentPriority;
_aTasks[n].pxStack = pxStack;
_aTasks[n].uStackHighWaterMark = uStackHighWaterMark;
SYSVIEW_SendTaskInfo(xHandle, pcTaskName, uxCurrentPriority, pxStack, uStackHighWaterMark);
} else {
SYSVIEW_AddTask(xHandle, pcTaskName, uxCurrentPriority, pxStack, uStackHighWaterMark);
}
}
/*********************************************************************
*
* SYSVIEW_DeleteTask()
*
* Function description
* Delete a task from the internal list.
*/
void SYSVIEW_DeleteTask(U32 xHandle) {
unsigned n;
if (_NumTasks == 0) {
return; // Early out
}
for (n = 0; n < _NumTasks; n++) {
if (_aTasks[n].xHandle == xHandle) {
break;
}
}
if (n == (_NumTasks - 1)) {
//
// Task is last item in list.
// Simply zero the item and decrement number of tasks.
//
memset(&_aTasks[n], 0, sizeof(_aTasks[n]));
_NumTasks--;
} else if (n < _NumTasks) {
//
// Task is in the middle of the list.
// Move last item to current position and decrement number of tasks.
// Order of tasks does not really matter, so no need to move all following items.
//
_aTasks[n].xHandle = _aTasks[_NumTasks - 1].xHandle;
_aTasks[n].pcTaskName = _aTasks[_NumTasks - 1].pcTaskName;
_aTasks[n].uxCurrentPriority = _aTasks[_NumTasks - 1].uxCurrentPriority;
_aTasks[n].pxStack = _aTasks[_NumTasks - 1].pxStack;
_aTasks[n].uStackHighWaterMark = _aTasks[_NumTasks - 1].uStackHighWaterMark;
memset(&_aTasks[_NumTasks - 1], 0, sizeof(_aTasks[_NumTasks - 1]));
_NumTasks--;
}
}
/*********************************************************************
*
* SYSVIEW_SendTaskInfo()
*
* Function description
* Record task information.
*/
void SYSVIEW_SendTaskInfo(U32 TaskID, const char* sName, unsigned Prio, U32 StackBase, unsigned StackSize) {
SEGGER_SYSVIEW_TASKINFO TaskInfo;
memset(&TaskInfo, 0, sizeof(TaskInfo)); // Fill all elements with 0 to allow extending the structure in future version without breaking the code
TaskInfo.TaskID = TaskID;
TaskInfo.sName = sName;
TaskInfo.Prio = Prio;
TaskInfo.StackBase = StackBase;
TaskInfo.StackSize = StackSize;
SEGGER_SYSVIEW_SendTaskInfo(&TaskInfo);
}
/*********************************************************************
*
* Public API structures
*
**********************************************************************
*/
// Callbacks provided to SYSTEMVIEW by FreeRTOS
const SEGGER_SYSVIEW_OS_API SYSVIEW_X_OS_TraceAPI = {
/* Callback _cbGetTime locks xKernelLock inside xTaskGetTickCountFromISR, this can cause deadlock on multi-core.
To prevent deadlock, always lock xKernelLock before s_sys_view_lock. Omitting the callback here results in sending
SYSVIEW_EVTID_SYSTIME_CYCLES events instead of SYSVIEW_EVTID_SYSTIME_US */
NULL,
_cbSendTaskList,
};
/*************************** End of file ****************************/

View File

@@ -1,367 +0,0 @@
/*
* SPDX-FileCopyrightText: 1995-2021 SEGGER Microcontroller GmbH
*
* SPDX-License-Identifier: BSD-1-Clause
*
* SPDX-FileContributor: 2023 Espressif Systems (Shanghai) CO LTD
*/
/*********************************************************************
* SEGGER Microcontroller GmbH *
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2021 SEGGER Microcontroller GmbH *
* *
* www.segger.com Support: support@segger.com *
* *
**********************************************************************
* *
* SEGGER SystemView * Real-time application analysis *
* *
**********************************************************************
* *
* All rights reserved. *
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the SystemView and RTT protocol, and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* condition is met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this condition and the following disclaimer. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
* DAMAGE. *
* *
**********************************************************************
* *
* SystemView version: 3.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW_FreeRTOS.h
Purpose : Interface between FreeRTOS and SystemView.
Tested with FreeRTOS V10.4.3
Revision: $Rev: 7745 $
Notes:
(1) Include this file at the end of FreeRTOSConfig.h
*/
#ifndef SYSVIEW_FREERTOS_H
#define SYSVIEW_FREERTOS_H
#include "SEGGER_SYSVIEW.h"
/*********************************************************************
*
* Defines, configurable
*
**********************************************************************
*/
#define SYSVIEW_FREERTOS_MAX_NOF_TASKS CONFIG_APPTRACE_SV_MAX_TASKS
/*********************************************************************
*
* Defines, fixed
*
**********************************************************************
*/
// for dual-core targets we use event ID to keep core ID bit (0 or 1)
// use the highest - 1 bit of event ID to indicate core ID
// the highest bit can not be used due to event ID encoding method
// this reduces supported ID range to [0..63] (for 1 byte IDs) plus [128..16383] (for 2 bytes IDs)
// so original continuous event IDs range is split into two sub-ranges for 1-bytes IDs and 2-bytes ones
// events which use apiFastID_OFFSET will have 1 byte ID,
// so for the sake of bandwidth economy events which are generated more frequently should use this ID offset
// currently all used events fall into this range
#define apiFastID_OFFSET (32u)
#define apiID_VTASKDELETE (1u)
#define apiID_VTASKDELAY (2u)
#define apiID_VTASKDELAYUNTIL (3u)
#define apiID_VTASKSUSPEND (4u)
#define apiID_ULTASKNOTIFYTAKE (5u)
#define apiID_VTASKNOTIFYGIVEFROMISR (6u)
#define apiID_VTASKPRIORITYINHERIT (7u)
#define apiID_VTASKRESUME (8u)
#define apiID_VTASKSTEPTICK (9u)
#define apiID_XTASKPRIORITYDISINHERIT (10u)
#define apiID_XTASKRESUMEFROMISR (11u)
#define apiID_XTASKGENERICNOTIFY (12u)
#define apiID_XTASKGENERICNOTIFYFROMISR (13u)
#define apiID_XTASKNOTIFYWAIT (14u)
#define apiID_XQUEUEGENERICCREATE (15u)
#define apiID_VQUEUEDELETE (16u)
#define apiID_XQUEUEGENERICRECEIVE (17u)
#define apiID_XQUEUEPEEKFROMISR (18u)
#define apiID_XQUEUERECEIVEFROMISR (19u)
#define apiID_VQUEUEADDTOREGISTRY (20u)
#define apiID_XQUEUEGENERICSEND (21u)
#define apiID_XQUEUEGENERICSENDFROMISR (22u)
#define apiID_VTASKPRIORITYSET (23u)
#define apiID_UXTASKPRIORITYGETFROMISR (24u)
#define apiID_XTASKGETTICKCOUNTFROMISR (25u)
#define apiID_XEVENTGROUPCLEARBITSFROMISR (26u)
#define apiID_XEVENTGROUPSETBITSFROMISR (27u)
#define apiID_XEVENTGROUPGETBITSFROMISR (28u)
#define apiID_XQUEUEGIVEFROMISR (29u)
#define apiID_XQUEUEISQUEUEEMPTYFROMISR (30u)
#define apiID_XQUEUEISQUEUEFULLFROMISR (31u) // the maximum allowed apiID for the first ID range
// events which use apiSlowID_OFFSET will have 2-bytes ID
#define apiSlowID_OFFSET (127u)
#define apiID_VTASKALLOCATEMPUREGIONS (1u)
#define apiID_UXTASKPRIORITYGET (2u)
#define apiID_ETASKGETSTATE (3u)
#define apiID_VTASKSTARTSCHEDULER (4u)
#define apiID_VTASKENDSCHEDULER (5u)
#define apiID_VTASKSUSPENDALL (6u)
#define apiID_XTASKRESUMEALL (7u)
#define apiID_XTASKGETTICKCOUNT (8u)
#define apiID_UXTASKGETNUMBEROFTASKS (9u)
#define apiID_PCTASKGETTASKNAME (10u)
#define apiID_UXTASKGETSTACKHIGHWATERMARK (11u)
#define apiID_VTASKSETAPPLICATIONTASKTAG (12u)
#define apiID_XTASKGETAPPLICATIONTASKTAG (13u)
#define apiID_VTASKSETTHREADLOCALSTORAGEPOINTER (14u)
#define apiID_PVTASKGETTHREADLOCALSTORAGEPOINTER (15u)
#define apiID_XTASKCALLAPPLICATIONTASKHOOK (16u)
#define apiID_XTASKGETIDLETASKHANDLE (17u)
#define apiID_UXTASKGETSYSTEMSTATE (18u)
#define apiID_VTASKLIST (19u)
#define apiID_VTASKGETRUNTIMESTATS (20u)
#define apiID_XTASKNOTIFYSTATECLEAR (21u)
#define apiID_XTASKGETCURRENTTASKHANDLE (22u)
#define apiID_VTASKSETTIMEOUTSTATE (23u)
#define apiID_XTASKCHECKFORTIMEOUT (24u)
#define apiID_VTASKMISSEDYIELD (25u)
#define apiID_XTASKGETSCHEDULERSTATE (26u)
#define apiID_XTASKGENERICCREATE (27u)
#define apiID_UXTASKGETTASKNUMBER (28u)
#define apiID_VTASKSETTASKNUMBER (29u)
#define apiID_ETASKCONFIRMSLEEPMODESTATUS (30u)
#define apiID_XTIMERCREATE (31u)
#define apiID_PVTIMERGETTIMERID (32u)
#define apiID_VTIMERSETTIMERID (33u)
#define apiID_XTIMERISTIMERACTIVE (34u)
#define apiID_XTIMERGETTIMERDAEMONTASKHANDLE (35u)
#define apiID_XTIMERPENDFUNCTIONCALLFROMISR (36u)
#define apiID_XTIMERPENDFUNCTIONCALL (37u)
#define apiID_PCTIMERGETTIMERNAME (38u)
#define apiID_XTIMERCREATETIMERTASK (39u)
#define apiID_XTIMERGENERICCOMMAND (40u)
#define apiID_UXQUEUEMESSAGESWAITING (41u)
#define apiID_UXQUEUESPACESAVAILABLE (42u)
#define apiID_UXQUEUEMESSAGESWAITINGFROMISR (43u)
#define apiID_XQUEUEALTGENERICSEND (44u)
#define apiID_XQUEUEALTGENERICRECEIVE (45u)
#define apiID_XQUEUECRSENDFROMISR (46u)
#define apiID_XQUEUECRRECEIVEFROMISR (47u)
#define apiID_XQUEUECRSEND (48u)
#define apiID_XQUEUECRRECEIVE (49u)
#define apiID_XQUEUECREATEMUTEX (50u)
#define apiID_XQUEUECREATECOUNTINGSEMAPHORE (51u)
#define apiID_XQUEUEGETMUTEXHOLDER (52u)
#define apiID_XQUEUETAKEMUTEXRECURSIVE (53u)
#define apiID_XQUEUEGIVEMUTEXRECURSIVE (54u)
#define apiID_VQUEUEUNREGISTERQUEUE (55u)
#define apiID_XQUEUECREATESET (56u)
#define apiID_XQUEUEADDTOSET (57u)
#define apiID_XQUEUEREMOVEFROMSET (58u)
#define apiID_XQUEUESELECTFROMSET (59u)
#define apiID_XQUEUESELECTFROMSETFROMISR (60u)
#define apiID_XQUEUEGENERICRESET (61u)
#define apiID_VLISTINITIALISE (62u)
#define apiID_VLISTINITIALISEITEM (63u)
#define apiID_VLISTINSERT (64u)
#define apiID_VLISTINSERTEND (65u)
#define apiID_UXLISTREMOVE (66u)
#define apiID_XEVENTGROUPCREATE (67u)
#define apiID_XEVENTGROUPWAITBITS (68u)
#define apiID_XEVENTGROUPCLEARBITS (69u)
#define apiID_XEVENTGROUPSETBITS (70u)
#define apiID_XEVENTGROUPSYNC (71u)
#define apiID_VEVENTGROUPDELETE (72u)
#define apiID_UXEVENTGROUPGETNUMBER (73u)
#define apiID_XSTREAMBUFFERCREATE (74u)
#define apiID_VSTREAMBUFFERDELETE (75u)
#define apiID_XSTREAMBUFFERRESET (76u)
#define apiID_XSTREAMBUFFERSEND (77u)
#define apiID_XSTREAMBUFFERSENDFROMISR (78u)
#define apiID_XSTREAMBUFFERRECEIVE (79u)
#define apiID_XSTREAMBUFFERRECEIVEFROMISR (80u)
#ifdef CONFIG_FREERTOS_SMP
#define traceQUEUE_SEND( pxQueue ) SEGGER_SYSVIEW_RecordU32x4(apiFastID_OFFSET + apiID_XQUEUEGENERICSEND, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), 0u, 0u, 0u)
#else // CONFIG_FREERTOS_SMP
#if ( configUSE_QUEUE_SETS != 1 )
#define traceQUEUE_SEND( pxQueue ) SEGGER_SYSVIEW_RecordU32x4(apiFastID_OFFSET + apiID_XQUEUEGENERICSEND, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), (U32)pvItemToQueue, xTicksToWait, xCopyPosition)
#else
#define traceQUEUE_SEND( pxQueue ) SEGGER_SYSVIEW_RecordU32x4(apiFastID_OFFSET + apiID_XQUEUEGENERICSEND, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), 0u, 0u, 0u)
#endif
#endif // CONFIG_FREERTOS_SMP
#define traceSTART() SEGGER_SYSVIEW_Conf()
#define traceTASK_NOTIFY_TAKE(uxIndexToWait) SEGGER_SYSVIEW_RecordU32x2(apiFastID_OFFSET + apiID_ULTASKNOTIFYTAKE, xClearCountOnExit, xTicksToWait)
#define traceTASK_DELAY() SEGGER_SYSVIEW_RecordU32 (apiFastID_OFFSET + apiID_VTASKDELAY, xTicksToDelay)
#define traceTASK_DELAY_UNTIL(xTimeToWake) SEGGER_SYSVIEW_RecordVoid (apiFastID_OFFSET + apiID_VTASKDELAYUNTIL)
#define traceTASK_NOTIFY_GIVE_FROM_ISR(uxIndexToNotify) SEGGER_SYSVIEW_RecordU32x2(apiFastID_OFFSET + apiID_VTASKNOTIFYGIVEFROMISR, SEGGER_SYSVIEW_ShrinkId((U32)pxTCB), (U32)pxHigherPriorityTaskWoken)
#define traceTASK_PRIORITY_INHERIT( pxTCB, uxPriority ) SEGGER_SYSVIEW_RecordU32 (apiFastID_OFFSET + apiID_VTASKPRIORITYINHERIT, (U32)pxMutexHolder)
#define traceTASK_RESUME( pxTCB ) SEGGER_SYSVIEW_RecordU32 (apiFastID_OFFSET + apiID_VTASKRESUME, SEGGER_SYSVIEW_ShrinkId((U32)pxTCB))
#define traceINCREASE_TICK_COUNT( xTicksToJump ) SEGGER_SYSVIEW_RecordU32 (apiFastID_OFFSET + apiID_VTASKSTEPTICK, xTicksToJump)
#define traceTASK_SUSPEND( pxTCB ) SEGGER_SYSVIEW_RecordU32 (apiFastID_OFFSET + apiID_VTASKSUSPEND, SEGGER_SYSVIEW_ShrinkId((U32)pxTCB))
#define traceTASK_PRIORITY_DISINHERIT( pxTCB, uxBasePriority ) SEGGER_SYSVIEW_RecordU32 (apiFastID_OFFSET + apiID_XTASKPRIORITYDISINHERIT, (U32)pxMutexHolder)
#define traceTASK_RESUME_FROM_ISR( pxTCB ) SEGGER_SYSVIEW_RecordU32 (apiFastID_OFFSET + apiID_XTASKRESUMEFROMISR, SEGGER_SYSVIEW_ShrinkId((U32)pxTCB))
#define traceTASK_NOTIFY(uxIndexToNotify) SEGGER_SYSVIEW_RecordU32x4(apiFastID_OFFSET + apiID_XTASKGENERICNOTIFY, SEGGER_SYSVIEW_ShrinkId((U32)pxTCB), ulValue, eAction, (U32)pulPreviousNotificationValue)
#define traceTASK_NOTIFY_FROM_ISR(uxIndexToWait) SEGGER_SYSVIEW_RecordU32x5(apiFastID_OFFSET + apiID_XTASKGENERICNOTIFYFROMISR, SEGGER_SYSVIEW_ShrinkId((U32)pxTCB), ulValue, eAction, (U32)pulPreviousNotificationValue, (U32)pxHigherPriorityTaskWoken)
#define traceTASK_NOTIFY_WAIT(uxIndexToWait) SEGGER_SYSVIEW_RecordU32x4(apiFastID_OFFSET + apiID_XTASKNOTIFYWAIT, ulBitsToClearOnEntry, ulBitsToClearOnExit, (U32)pulNotificationValue, xTicksToWait)
#define traceQUEUE_CREATE( pxNewQueue ) SEGGER_SYSVIEW_RecordU32x3(apiFastID_OFFSET + apiID_XQUEUEGENERICCREATE, uxQueueLength, uxItemSize, ucQueueType)
#define traceQUEUE_DELETE( pxQueue ) SEGGER_SYSVIEW_RecordU32 (apiFastID_OFFSET + apiID_VQUEUEDELETE, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue))
#define traceQUEUE_PEEK( pxQueue ) SEGGER_SYSVIEW_RecordU32x4(apiFastID_OFFSET + apiID_XQUEUEGENERICRECEIVE, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), SEGGER_SYSVIEW_ShrinkId((U32)pvBuffer), xTicksToWait, 1)
#define traceQUEUE_PEEK_FROM_ISR( pxQueue ) SEGGER_SYSVIEW_RecordU32x2(apiFastID_OFFSET + apiID_XQUEUEPEEKFROMISR, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), SEGGER_SYSVIEW_ShrinkId((U32)pvBuffer))
#define traceQUEUE_PEEK_FROM_ISR_FAILED( pxQueue ) SEGGER_SYSVIEW_RecordU32x2(apiFastID_OFFSET + apiID_XQUEUEPEEKFROMISR, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), SEGGER_SYSVIEW_ShrinkId((U32)pvBuffer))
#define traceQUEUE_RECEIVE( pxQueue ) SEGGER_SYSVIEW_RecordU32x4(apiFastID_OFFSET + apiID_XQUEUEGENERICRECEIVE, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), SEGGER_SYSVIEW_ShrinkId((U32)0), xTicksToWait, 1)
#define traceQUEUE_RECEIVE_FAILED( pxQueue ) SEGGER_SYSVIEW_RecordU32x4(apiFastID_OFFSET + apiID_XQUEUEGENERICRECEIVE, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), SEGGER_SYSVIEW_ShrinkId((U32)0), xTicksToWait, 1)
#define traceQUEUE_SEMAPHORE_RECEIVE( pxQueue ) SEGGER_SYSVIEW_RecordU32x4(apiFastID_OFFSET + apiID_XQUEUEGENERICRECEIVE, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), SEGGER_SYSVIEW_ShrinkId((U32)0), xTicksToWait, 0)
#define traceQUEUE_RECEIVE_FROM_ISR( pxQueue ) SEGGER_SYSVIEW_RecordU32x3(apiFastID_OFFSET + apiID_XQUEUERECEIVEFROMISR, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), SEGGER_SYSVIEW_ShrinkId((U32)pvBuffer), (U32)pxHigherPriorityTaskWoken)
#define traceQUEUE_RECEIVE_FROM_ISR_FAILED( pxQueue ) SEGGER_SYSVIEW_RecordU32x3(apiFastID_OFFSET + apiID_XQUEUERECEIVEFROMISR, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), SEGGER_SYSVIEW_ShrinkId((U32)pvBuffer), (U32)pxHigherPriorityTaskWoken)
#define traceQUEUE_REGISTRY_ADD( xQueue, pcQueueName ) SEGGER_SYSVIEW_RecordU32x2(apiFastID_OFFSET + apiID_VQUEUEADDTOREGISTRY, SEGGER_SYSVIEW_ShrinkId((U32)xQueue), (U32)pcQueueName)
#define traceQUEUE_SEND_FAILED( pxQueue ) SEGGER_SYSVIEW_RecordU32x4(apiFastID_OFFSET + apiID_XQUEUEGENERICSEND, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), (U32)pvItemToQueue, xTicksToWait, xCopyPosition)
#define traceQUEUE_SEND_FROM_ISR( pxQueue ) SEGGER_SYSVIEW_RecordU32x4(apiFastID_OFFSET + apiID_XQUEUEGENERICSENDFROMISR, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), (U32)pvItemToQueue, (U32)pxHigherPriorityTaskWoken, xCopyPosition)
#define traceQUEUE_SEND_FROM_ISR_FAILED( pxQueue ) SEGGER_SYSVIEW_RecordU32x4(apiFastID_OFFSET + apiID_XQUEUEGENERICSENDFROMISR, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), (U32)pvItemToQueue, (U32)pxHigherPriorityTaskWoken, xCopyPosition)
#define traceQUEUE_GIVE_FROM_ISR( pxQueue ) SEGGER_SYSVIEW_RecordU32x2(apiFastID_OFFSET + apiID_XQUEUEGIVEFROMISR, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), (U32)pxHigherPriorityTaskWoken)
#define traceQUEUE_GIVE_FROM_ISR_FAILED( pxQueue ) SEGGER_SYSVIEW_RecordU32x2(apiFastID_OFFSET + apiID_XQUEUEGIVEFROMISR, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), (U32)pxHigherPriorityTaskWoken)
#define traceSTREAM_BUFFER_CREATE( pxStreamBuffer, xIsMessageBuffer ) SEGGER_SYSVIEW_RecordU32x2(apiSlowID_OFFSET + apiID_XSTREAMBUFFERCREATE, (U32)xIsMessageBuffer, (U32)pxStreamBuffer)
#define traceSTREAM_BUFFER_CREATE_FAILED( xIsMessageBuffer ) SEGGER_SYSVIEW_RecordU32x2(apiSlowID_OFFSET + apiID_XSTREAMBUFFERCREATE, (U32)xIsMessageBuffer, 0u)
#define traceSTREAM_BUFFER_DELETE( xStreamBuffer ) SEGGER_SYSVIEW_RecordU32 (apiSlowID_OFFSET + apiID_VSTREAMBUFFERDELETE, (U32)xStreamBuffer)
#define traceSTREAM_BUFFER_RESET( xStreamBuffer ) SEGGER_SYSVIEW_RecordU32 (apiSlowID_OFFSET + apiID_XSTREAMBUFFERRESET, (U32)xStreamBuffer)
#define traceSTREAM_BUFFER_SEND( xStreamBuffer, xBytesSent ) SEGGER_SYSVIEW_RecordU32x2(apiSlowID_OFFSET + apiID_XSTREAMBUFFERSEND, (U32)xStreamBuffer, (U32)xBytesSent)
#define traceSTREAM_BUFFER_SEND_FAILED( xStreamBuffer ) SEGGER_SYSVIEW_RecordU32x2(apiSlowID_OFFSET + apiID_XSTREAMBUFFERSEND, (U32)xStreamBuffer, 0u)
#define traceSTREAM_BUFFER_SEND_FROM_ISR( xStreamBuffer, xBytesSent ) SEGGER_SYSVIEW_RecordU32x2(apiSlowID_OFFSET + apiID_XSTREAMBUFFERSENDFROMISR, (U32)xStreamBuffer, (U32)xBytesSent)
#define traceSTREAM_BUFFER_RECEIVE( xStreamBuffer, xReceivedLength ) SEGGER_SYSVIEW_RecordU32x2(apiSlowID_OFFSET + apiID_XSTREAMBUFFERRECEIVE, (U32)xStreamBuffer, (U32)xReceivedLength)
#define traceSTREAM_BUFFER_RECEIVE_FAILED( xStreamBuffer ) SEGGER_SYSVIEW_RecordU32x2(apiSlowID_OFFSET + apiID_XSTREAMBUFFERRECEIVE, (U32)xStreamBuffer, 0u)
#define traceSTREAM_BUFFER_RECEIVE_FROM_ISR( xStreamBuffer, xReceivedLength ) SEGGER_SYSVIEW_RecordU32x2(apiSlowID_OFFSET + apiID_XSTREAMBUFFERRECEIVEFROMISR, (U32)xStreamBuffer, (U32)xReceivedLength)
#define traceTASK_DELETE( pxTCB ) do { \
SEGGER_SYSVIEW_RecordU32(apiFastID_OFFSET + apiID_VTASKDELETE, SEGGER_SYSVIEW_ShrinkId((U32)pxTCB)); \
SYSVIEW_DeleteTask((U32)pxTCB); \
} while(0)
#if( portSTACK_GROWTH < 0 )
#define traceTASK_CREATE(pxNewTCB) if (pxNewTCB != NULL) { \
SEGGER_SYSVIEW_OnTaskCreate((U32)pxNewTCB); \
SYSVIEW_AddTask((U32)pxNewTCB, \
&(pxNewTCB->pcTaskName[0]), \
pxNewTCB->uxPriority, \
(U32)pxNewTCB->pxStack, \
((U32)pxNewTCB->pxTopOfStack - (U32)pxNewTCB->pxStack) \
); \
}
#else
#define traceTASK_CREATE(pxNewTCB) if (pxNewTCB != NULL) { \
SEGGER_SYSVIEW_OnTaskCreate((U32)pxNewTCB); \
SYSVIEW_AddTask((U32)pxNewTCB, \
&(pxNewTCB->pcTaskName[0]), \
pxNewTCB->uxPriority, \
(U32)pxNewTCB->pxStack, \
(U32)(pxNewTCB->pxStack-pxNewTCB->pxTopOfStack) \
); \
}
#endif
#define traceTASK_PRIORITY_SET(pxTask, uxNewPriority) { \
SEGGER_SYSVIEW_RecordU32x2(apiFastID_OFFSET+apiID_VTASKPRIORITYSET, \
SEGGER_SYSVIEW_ShrinkId((U32)pxTCB), \
uxNewPriority \
); \
SYSVIEW_UpdateTask((U32)pxTask, \
&(pxTask->pcTaskName[0]), \
uxNewPriority, \
(U32)pxTask->pxStack, \
0 \
); \
}
//
// Define INCLUDE_xTaskGetIdleTaskHandle as 1 in FreeRTOSConfig.h to allow identification of Idle state.
//
// SMP FreeRTOS uses unpinned IDLE tasks, so sometimes IDEL0 runs on CPU1, IDLE1 runs on CPU0 and so on.
// So IDLE state detection based on 'xTaskGetIdleTaskHandle' does not work for SMP kernel.
// We could compare current task handle with every element of the array returned by 'xTaskGetIdleTaskHandle',
// but it deos not seem to be efficient enough to be worth of making code more complex and less readabl.
// So always use task name comparison mechanism for SMP kernel.
#if ( INCLUDE_xTaskGetIdleTaskHandle == 1 && !defined(CONFIG_FREERTOS_SMP))
#define traceTASK_SWITCHED_IN() if(prvGetTCBFromHandle(NULL) == xTaskGetIdleTaskHandle()) { \
SEGGER_SYSVIEW_OnIdle(); \
} else { \
SEGGER_SYSVIEW_OnTaskStartExec((U32)prvGetTCBFromHandle(NULL)); \
}
#else
#define traceTASK_SWITCHED_IN() { \
if (memcmp(prvGetTCBFromHandle(NULL)->pcTaskName, "IDLE", 4) != 0) { \
SEGGER_SYSVIEW_OnTaskStartExec((U32)prvGetTCBFromHandle(NULL)); \
} else { \
SEGGER_SYSVIEW_OnIdle(); \
} \
}
#endif
#define traceMOVED_TASK_TO_READY_STATE(pxTCB) SEGGER_SYSVIEW_OnTaskStartReady((U32)pxTCB)
#define traceREADDED_TASK_TO_READY_STATE(pxTCB)
#define traceMOVED_TASK_TO_DELAYED_LIST() SEGGER_SYSVIEW_OnTaskStopReady((U32)prvGetTCBFromHandle(NULL), (1u << 2))
#define traceMOVED_TASK_TO_OVERFLOW_DELAYED_LIST() SEGGER_SYSVIEW_OnTaskStopReady((U32)prvGetTCBFromHandle(NULL), (1u << 2))
#define traceMOVED_TASK_TO_SUSPENDED_LIST(pxTCB) SEGGER_SYSVIEW_OnTaskStopReady((U32)pxTCB, ((3u << 3) | 3))
#define traceISR_EXIT_TO_SCHEDULER() SEGGER_SYSVIEW_RecordExitISRToScheduler()
#define traceISR_EXIT() SEGGER_SYSVIEW_RecordExitISR()
#define traceISR_ENTER(n) SEGGER_SYSVIEW_RecordEnterISR(n)
/*********************************************************************
*
* API functions
*
**********************************************************************
*/
#ifdef __cplusplus
extern "C" {
#endif
void SYSVIEW_AddTask (U32 xHandle, const char* pcTaskName, unsigned uxCurrentPriority, U32 pxStack, unsigned uStackHighWaterMark);
void SYSVIEW_UpdateTask (U32 xHandle, const char* pcTaskName, unsigned uxCurrentPriority, U32 pxStack, unsigned uStackHighWaterMark);
void SYSVIEW_DeleteTask (U32 xHandle);
void SYSVIEW_SendTaskInfo (U32 TaskID, const char* sName, unsigned Prio, U32 StackBase, unsigned StackSize);
#ifdef __cplusplus
}
#endif
#endif
/*************************** End of file ****************************/

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