Commit Graph

5976 Commits

Author SHA1 Message Date
Jiang Jiang Jian
077a8f242c Merge branch 'feat/extend_pip_user_option_check_v5.3' into 'release/v5.3'
feat(tools): Disabled pip 'user' option, when installing ESP-IDF python virtual environment (v5.3)

See merge request espressif/esp-idf!40572
2025-07-18 14:37:47 +08:00
Marek Fiala
3588492623 feat(tools): Enforce pip 'user' option to no, when installing python env
Closes https://github.com/espressif/esp-idf/issues/16189
2025-07-18 13:02:48 +08:00
Rahul Tank
540935cd72 fix(nimble): Enhanced HCI logging by adding timestamp information 2025-07-17 10:19:30 +05:30
Alexey Lapshin
78dae867b5 feat(tools): update gdb version to 16.2_20250324 2025-07-02 10:56:40 +08:00
Roland Dobai
6ce783f89c Merge branch 'feat/update_ccache_to_4.11.2_v5.3' into 'release/v5.3'
feat(tools): Update ccache 4.10.2 -> 4.11.2 (v5.3)

See merge request espressif/esp-idf!39574
2025-06-30 13:20:04 +02:00
Roland Dobai
4c68cdec62 Merge branch 'change/support_lowercase_kconfig_filename_v5.3' into 'release/v5.3'
Backport: Support misspelled Kconfig[.projbuild] files (v5.3)

See merge request espressif/esp-idf!39584
2025-06-30 11:49:37 +02:00
Marek Fiala
be7070611d feat(tools): Update ccache 4.10.2 -> 4.11.2
Closes https://github.com/espressif/idf-installer/issues/305
2025-06-30 17:48:00 +08:00
laokaiyao
f5422fcf0b refactor(i2s_es8311): remove esp-box bsp support 2025-06-23 12:20:44 +08:00
laokaiyao
84e0c81583 refactor(i2s_es8311): refactor es8311 example 2025-06-23 12:03:19 +08:00
Jiang Jiang Jian
dc625ba12b Merge branch 'refactor/p4_touch_channel_increase_1_v5.3' into 'release/v5.3'
refactor(touch): adjust touch channel number on P4 from 0-13 to 1-14 (v5.3)

See merge request espressif/esp-idf!39793
2025-06-23 10:50:12 +08:00
Marek Fiala
17346297e6 fix(tools): idf_tools.py uninstall decide based on preferred tool version
idf_tools.py uninstall now doesn't take only recommended version, but
makes the decision based on preferred installed versions.
2025-06-20 13:25:51 +02:00
Marek Fiala
207d728348 test(tools): Added test for installing supported tool version
Added test_export_supported_version_cmake in `test_idf_tools.py`,
that installs and exports supported version of tool - cmake.
2025-06-20 13:25:51 +02:00
Marek Fiala
dd60e20ea0 fix(tools): idf_tools.py install tool@version 2025-06-20 13:25:51 +02:00
Jan Beran
88fec757d1 change: detect misspelled Kconfig[.projbuild] file names
Original issue: https://github.com/espressif/esp-idf-kconfig/issues/14
2025-06-19 16:05:10 +08:00
laokaiyao
2cd4640666 fix(touch): fixed incorrect interval clock source 2025-06-13 19:44:38 +08:00
Marek Fiala
aff708b067 fix(tools): Enabled removing requirements.* files 2025-06-11 11:15:33 +02:00
Alexey Gerenkov
e64f3d7559 Merge branch 'ci/fix-custom-oocd-setting_v5.3' into 'release/v5.3'
ci: select OpenOCD binary based on runner (v5.3)

See merge request espressif/esp-idf!39378
2025-06-09 23:17:49 +08:00
Sergei Silnov
d8333672f0 Merge branch 'ci/disable-plugin-idf_ci_v5.3' into 'release/v5.3'
ci: disable idf-ci plugin (v5.3)

See merge request espressif/esp-idf!39667
2025-06-05 06:12:12 -03:00
Fu Hanxi
e97adbf002 ci: disable idf-ci plugin
this plugin will be re-enabled with compatible code in !38755
2025-06-04 13:18:40 +02:00
Astha Verma
722a42f6e4 fix(nimble): Added support for ANCS in nimble 2025-06-04 14:29:33 +05:30
morris
d11bc380ae Merge branch 'test/c61_disable_build_test_v5.3' into 'release/v5.3'
test(ci): disable c61 helloworld build

See merge request espressif/esp-idf!39629
2025-06-03 22:06:00 +08:00
wanckl
85e28b74aa test(ci): disable c61 helloworld build 2025-06-03 19:49:43 +08:00
Jan Beran
2ee0b6c4dd change(gen_soc_caps_kconfig): check if config options have the same type
Also introduce ignore pragma to prevent some #defines from .h files to
be translated to Kconfig files.
2025-06-02 10:21:36 +02:00
morris
2e89dce260 Merge branch 'feature/add_uart_io_deinit_process_v5.3' into 'release/v5.3'
fix(uart): eliminate garbled data on TX/RX line in sleep (v5.3)

See merge request espressif/esp-idf!39281
2025-05-23 16:46:37 +08:00
Samuel Obuch
e75d5b9c46 ci: select OpenOCD binary based on runner 2025-05-23 00:42:49 +02:00
harshal.patil
29f7654c2b feat(cpu_region_protect): Enable basic memory protection for SPIRAM 2025-05-21 15:36:41 +05:30
Song Ruo Jing
266c576d20 fix(ci): remove esp32c5 from the build template app for release/v5.3 2025-05-21 14:37:26 +08:00
Roland Dobai
f640db4613 Merge branch 'ci/rename-packages_v5.3' into 'release/v5.3'
ci: rename local idf_ci folder, avoid name collision (v5.3)

See merge request espressif/esp-idf!38758
2025-04-30 17:17:53 +08:00
Alexey Gerenkov
585da85759 feat(tools): update openocd version to v0.12.0-esp32-20250422 2025-04-26 12:41:10 +02:00
Fu Hanxi
b27dd7c77a ci: rename local idf_ci folder, avoid name collision 2025-04-25 11:28:13 +02:00
Alexey Lapshin
bbb257f893 feat(esp_system): drop .got* sections and add hint
Closes https://github.com/espressif/esp-idf/issues/14296
2025-04-24 16:36:31 +08:00
Roland Dobai
833adbc27c Merge branch 'fix/linux_std_flags_v5.3' into 'release/v5.3'
fix(build): don't call enable_language() before project() (v5.3)

See merge request espressif/esp-idf!37881
2025-04-21 15:53:28 +08:00
Roland Dobai
d618bb56e1 Merge branch 'fix/remove-unused-from-gdbinit_cmake_v5.3' into 'release/v5.3'
fix(tools): remove unused variables in gdbinit.cmake (v5.3)

See merge request espressif/esp-idf!38046
2025-04-21 15:53:06 +08:00
Roland Dobai
d73b3d8129 Merge branch 'fix/check_python_dependencies_v5.3' into 'release/v5.3'
fix(tools): handle packages with dots in their names during dependency checks (v5.3)

See merge request espressif/esp-idf!38063
2025-04-21 15:49:39 +08:00
Roland Dobai
81968004de Merge branch 'feat/deactivate_idf_env_every_run_v5.3' into 'release/v5.3'
feat(tools): Deactivate current ESP-IDF environment with every export run (v5.3)

See merge request espressif/esp-idf!38027
2025-04-21 15:49:13 +08:00
Roland Dobai
58c14765ae Merge branch 'fix/install_input_validation_v5.3' into 'release/v5.3'
fix(idf_tools): Validate input features (v5.3)

See merge request espressif/esp-idf!37890
2025-04-21 15:48:52 +08:00
Roland Dobai
3f2690aa78 Merge branch 'fix/extractall_deprecation_v5.3' into 'release/v5.3'
fix(idf_tools): Patch extractall() deprecation warning (v5.3)

See merge request espressif/esp-idf!37884
2025-04-21 15:48:34 +08:00
Roland Dobai
65699a0bda Merge branch 'change/move_deprecated_kconfig_checker_v5.3' into 'release/v5.3'
change: move check_deprecated_configs.py logic to esp-idf-kconfig (v5.3)

See merge request espressif/esp-idf!37406
2025-04-21 15:48:00 +08:00
Jiang Jiang Jian
10a20f3388 Merge branch 'ci/add_test_for_ecos_wifi_enterprise_v53' into 'release/v5.3'
ci(c2/c3): add major eco version tests(v5.3)

See merge request espressif/esp-idf!37806
2025-04-17 10:56:45 +08:00
morris
7c447b5525 Merge branch 'bugfix/gpio_dump_io_config_v5.3' into 'release/v5.3'
fix(gpio): fix pu, pd, drv value incorrect from gpio_dump_io_configuration on esp32 (v5.3)

See merge request espressif/esp-idf!37909
2025-04-16 10:17:44 +08:00
Alexey Gerenkov
67d7cde1f1 Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20250226_v5.3' into 'release/v5.3'
feat(tools): update openocd version to v0.12.0-esp32-20250226 (v5.3)

See merge request espressif/esp-idf!37527
2025-04-16 00:12:14 +08:00
Shu Chen
f8886ebb72 Merge branch 'fix/ldgen_section_name_v53' into 'release/v5.3'
fix(ldgen): extend section name regex to include '_' (v5.3)

See merge request espressif/esp-idf!38326
2025-04-15 14:56:36 +08:00
Mahavir Jain
352704257a Merge branch 'fix/examples_python3.13_ssl_conn_failure_v5.3' into 'release/v5.3'
Change in Python3.13's default ssl context caused SSL connection failure (v5.3)

See merge request espressif/esp-idf!38200
2025-04-15 12:37:07 +08:00
Marius Vikhammer
7fea3ef20f Merge branch 'bug/xtensa_cpu1_sys_lockup_v5.3' into 'release/v5.3'
fix(panic_handler): Updated panic handler to use RTC WDT (v5.3)

See merge request espressif/esp-idf!37115
2025-04-15 11:05:57 +08:00
Alexey Lapshin
6bb3dce495 fix(ldgen): extend section name regex to include '_' (e.g.: used by picolibc) 2025-04-09 16:51:38 +08:00
Martin Vychodil
6db3dc25df change(version): Update version to 5.3.3 2025-04-08 15:34:04 +02:00
luaijun
2f749a21e7 ci(c2/c3): add major eco version tests 2025-04-08 10:34:19 +08:00
harshal.patil
28e42429f4 fix(examples): Example CA certs must contain the Key Usage parameter
- Example CA certificates that are used for self-signed client certificates
need to include the Key Usage parameter.
- Python3.13 changed the default context of the SSL context that is
generated using ssl.create_default_context() by enabling the VERIFY_X509_STRICT
flag by default
2025-04-03 10:52:47 +05:30
Frantisek Hrbata
b8d0de64f8 fix(build): don't call enable_language() before project()
For the Linux target, we currently attempt to fallback to older C/CXX
lagnuage standards in the __build_set_lang_version() function. The
language standard support is checked using CMake's language-specific
functions, such as check_c_compiler_flag(). These functions require the
language to be enabled[1] in CMake beforehand, which is done by calling
project() or by enabling the languages later with enable_language(). At
present, we use enable_language() to enable C and CXX languages in
CMake, allowing us to set the standard early, before invoking project().
However, newer CMake versions (>3.29) issue a warning[2] if
enable_language() is called before project(), as noted in CMP0165[3].

It should generally be acceptable to call __build_set_lang_version()
after __project(), but doing so would alter the behavior of the
COMPILE_OPTIONS also for non-Linux targets. Currently, users can
add to COMPILE_OPTIONS even before calling project() in the project's
CMakeLists.txt and the options will be in the desired order. In other
words, appending to COMPILE_OPTIONS can occur either before or after
calling project() in the project's CMakeLists.txt, with the outcome
remaining consistent. This means the user's settings will appear later
and take priority. However, if __build_set_lang_version() is called
after __project(), the user's COMPILE_OPTIONS settings would be
overridden if set before calling project(). Our documentation[4] explicitly
states that COMPILE_OPTIONS and similar properties should be modified
using idf_build_set_property() after calling project() to prevent
default values from overwriting them.

Even with this guidance, some existing components that modify
COMPILE_OPTIONS before invoking project() might be impacted by this
change. Therefore, separate the language standard settings for non-Linux
and Linux targets. For non-Linux targets, these settings are applied in
__build_set_default_build_specifications(), maintaining the current
behavior. For the Linux target, the language standard is set with
__linux_build_set_lang_version() after calling __project(), ensuring the
languages are already enabled in CMake and no warning is issued. Since the Linux
target is still in preview, this approach should be acceptable,
especially with the existing documentation[4].

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

[1] https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#languages
[2] https://gitlab.kitware.com/cmake/cmake/-/merge_requests/9396
[3] https://cmake.org/cmake/help/latest/policy/CMP0165.html#policy:CMP0165
[4] https://docs.espressif.com/projects/esp-idf/en/v5.4/esp32/api-guides/
    build-system.html#overriding-default-build-specifications

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-03-31 14:51:01 +08:00
Frantisek Hrbata
99a08577b4 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:07 +01:00