Commit Graph

34071 Commits

Author SHA1 Message Date
Jiang Jiang Jian
34449e9b03 Merge branch 'backport/backport_some_changes_to_v5.1' into 'release/v5.1'
fix(wifi): fix some wifi bugs(backport v5.1)

See merge request espressif/esp-idf!38015
2025-03-28 16:46:54 +08:00
Roland Dobai
f90d09e6a2 Merge branch 'fix/check_python_dependencies_v5.1' into 'release/v5.1'
fix(tools): handle packages with dots in their names during dependency checks (v5.1)

See merge request espressif/esp-idf!38065
2025-03-27 19:39:06 +08:00
yinqingzhao
2ed6bf6515 fix(wifi): fix some wifi bugs 2025-03-27 17:43:11 +08:00
Island
1f4106fcfe Merge branch 'feature/add_vendor_ble_cmd_definitions_5.1' into 'release/v5.1'
Feature/add vendor ble cmd definitions (v5.1)

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

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

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

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

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

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

from setuptools import setup, find_packages

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

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

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

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

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

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

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

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

See merge request espressif/esp-idf!37905
2025-03-26 21:33:26 +08:00
GengYuchao
69485ee9b5 feat(nimble):Support Bluetooth LE 5.1 direction finding feature 2025-03-26 16:31:39 +08:00
Geng Yuchao
5d190b92ca feat(ble):Add Kconfig support for direction finding feature 2025-03-26 16:31:39 +08:00
Geng Yuchao
e0113f246d feat(ble):Support Bluetooth LE 5.1 direction finding feature 2025-03-26 16:31:39 +08:00
morris
be6934bcb3 Merge branch 'fix/i2s_iram_safe_issue_while_use_psram_v5.1' into 'release/v5.1'
fix(i2s): fixed failure when dma is iram_safe but i2s not (v5.1)

See merge request espressif/esp-idf!38006
2025-03-26 15:58:41 +08:00
zhiweijian
fe31ce5d97 feat(bt): fixed some doc error and add ocf parameters description 2025-03-26 14:16:21 +08:00
Shen Weilong
772d35c309 feat(bt): added definitions for bluetooth hci vendor commands and events 2025-03-25 16:02:55 +08:00
Shen Weilong
1f32b394fb feat(ble/controller): Added memory boundary check for ESP32-C6 and ESP32-H2 2025-03-25 15:40:10 +08:00
Shen Weilong
7819da8490 feat(ble/controller): Added memory boundary check for ESP32-C2 2025-03-25 15:39:04 +08:00
zhiweijian
6159b54ef7 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3 (03d0f8a6)
- Remove unused functions in the controller
2025-03-25 15:35:09 +08:00
baohongde
0a98ca2a32 feat(bt): added definitions for BR/EDR hci vendor commands and events 2025-03-25 15:35:09 +08:00
chenjianhua
7e7ab1c82d fix(bt): Update bt lib for ESP32(dc1cd581)
- Remove unused functions in the controller
- Add an SDK config for the minimum size of encryption key
2025-03-25 15:35:09 +08:00
laokaiyao
8e6d0b4755 fix(i2s): add check for i2s DMA buffer array allocation
Closes https://github.com/espressif/esp-idf/issues/15607
2025-03-25 15:28:27 +08:00
laokaiyao
b6741311a4 fix(i2s): fixed mismatch of the i2s and gdma iram-safe config
Closes https://github.com/espressif/esp-idf/issues/15533
2025-03-25 15:21:34 +08:00
Shu Chen
9b16cfce2b Merge branch 'fix/154_txpower_set_api_v5.1' into 'release/v5.1'
fix(802.15.4): fix the behavior of the `esp_ieee802154_set_txpower` (v5.1)

See merge request espressif/esp-idf!37739
2025-03-25 15:07:25 +08:00
Shu Chen
c70a55c6b7 Merge branch 'fix/csl_rx_off_when_idle_v5.1' into 'release/v5.1'
fix(openthread): turn off rx for SSED running CSL during idle (v5.1)

See merge request espressif/esp-idf!37995
2025-03-25 14:30:21 +08:00
Aditya Patwardhan
84467eccf4 Merge branch 'bugfix/provisioning_sec2_aes_iv_usage_v5.1' into 'release/v5.1'
fix(provisioning): fix incorrect AES-GCM IV usage in security2 scheme (v5.1)

See merge request espressif/esp-idf!37617
2025-03-25 13:58:10 +08:00
Tan Yan Quan
8780122742 fix(openthread): add some bugfixes to pass CI pipeline 2025-03-25 12:21:32 +08:00
Tan Yan Quan
5257e65f29 refactor(openthread): move isr_handle_timerX to esp_ieee802154_timer 2025-03-25 12:21:32 +08:00
Tan Yan Quan
93d3fb9441 fix(openthread): calibrate CSL tx parameters 2025-03-25 12:21:32 +08:00
Tan Yan Quan
c440a70d9b fix(openthread): turn off rx for SSED running CSL during idle 2025-03-25 12:14:44 +08:00
Island
0b1eb90053 Merge branch 'feat/optimize_hci_data_recv_process_v5.1' into 'release/v5.1'
Feat/optimize hci data recv process (v5.1)

See merge request espressif/esp-idf!37831
2025-03-25 11:04:56 +08:00
zwx
7392a31619 fix(802.15.4) fix the behavior of the esp_ieee802154_set_txpower 2025-03-25 09:34:21 +08:00
Zhao Wei Liang
577dfa65f5 feat(ble): optimize reconfig hci uart pin code 2025-03-24 17:18:06 +08:00
Zhao Wei Liang
f5bdcc42bc feat(ble): change nimble whitelist max size to 31
(cherry picked from commit 93357e8613)

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

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

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-03-24 17:18:06 +08:00
Zhao Wei Liang
a19799cbd0 fix(ble): fixed hci driver stack protection fault issue on ESP32-C2
(cherry picked from commit afd44d14b9)

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

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

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

Co-authored-by: zwl <zhaoweiliang@espressif.com>
2025-03-24 17:18:06 +08:00
morris
79541c6e42 Merge branch 'bugfix/usj_wrong_return_value_v5.1' into 'release/v5.1'
fix(usb_serial_jtag): wrong return value in usb_serial_jtag_write_bytes (v5.1)

See merge request espressif/esp-idf!37972
2025-03-24 16:06:21 +08:00
Jiang Jiang Jian
777668bd4d Merge branch 'bugfix/wps_reconnect_failure_v5.1' into 'release/v5.1'
fix(wpa_suppplicant): Fix for issue in wps reconnection (Backport v5.1)

See merge request espressif/esp-idf!37645
2025-03-24 15:00:42 +08:00
Wang Meng Yang
7c70024da5 Merge branch 'bugfix/fix_esp32_bt_disable_crash_v5.1' into 'release/v5.1'
fix(bt): Fix controller disable cause iwdt timeout on esp32 (v5.1)

See merge request espressif/esp-idf!37775
2025-03-24 14:44:40 +08:00
Wang Meng Yang
787406b117 Merge branch 'bugfix/err_disc_state_changed_evt_v5.1' into 'release/v5.1'
fix(bt/bluedroid): fixed other events being reported when disconnected(v5.1)

See merge request espressif/esp-idf!37939
2025-03-24 14:10:26 +08:00
morris
162021956f fix(usb_serial_jtag): wrong return value in usb_serial_jtag_write_bytes
Closes https://github.com/espressif/esp-idf/issues/15620
2025-03-24 11:47:13 +08:00
Mahavir Jain
25354232f5 Merge branch 'bugfix/fix_github_cert_verification_simpleota_v5.1' into 'release/v5.1'
fix: failing Github certificate verification (v5.1)

See merge request espressif/esp-idf!37827
2025-03-21 12:18:04 +08:00
xiongweichao
3b6ad2ac10 fix(bt/bluedroid): fixed other events being reported when disconnected
- Since no initial value is assigned, the variable evt is a random value,
causing the ESP_BT_GAP_DISC_STATE_CHANGED_EVT event to be reported when
the connection is disconnected.
2025-03-21 11:22:36 +08:00
linruihao
77e1943ed2 fix(bt): Fix controller disable cause iwdt timeout on esp32 2025-03-21 11:16:22 +08:00
morris
c5ccf3d492 Merge branch 'feat/unilc_psram_s3_v5.1' into 'release/v5.1'
psram: supported UnilC octal psram on s3 (v5.1)

See merge request espressif/esp-idf!37857
2025-03-21 10:25:27 +08:00
Roland Dobai
7d78f36fec Merge branch 'fix/extractall_deprecation_v5.1' into 'release/v5.1'
fix(idf_tools): Patch extractall() deprecation warning (v5.1)

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

See merge request espressif/esp-idf!37892
2025-03-21 01:57:54 +08:00
Rahul Tank
c4e013b032 Merge branch 'bugfix/fix_smp_command_allocation_v5.1' into 'release/v5.1'
fix(nimble): Fix SMP command allocation (v5.1)

See merge request espressif/esp-idf!37849
2025-03-20 21:48:07 +08:00
morris
d9825b03f8 Merge branch 'fix/rmt_lim_thres_incorrect_v5.1' into 'release/v5.1'
fix(rmt): fix the received symbols issue (v5.1)

See merge request espressif/esp-idf!37902
2025-03-20 18:44:13 +08:00