Wykres commitów

4748 Commity (6643bc97047286bd975251dfd73945bb296aa230)

Autor SHA1 Wiadomość Data
Mahavir Jain 8894fae432 Merge branch 'feature/update_secure_boot_test_app_to_pytest' into 'master'
secure_boot_test_app: Update the test_app to use pytest framework

Closes IDFCI-1135

See merge request espressif/esp-idf!17967
2023-03-29 14:26:35 +08:00
Rocha Euripedes 98b75727ba Merge branch 'feature/socks_transport' into 'master'
tcp_transport: Adds SOCKS4 proxy transport

See merge request espressif/esp-idf!20479
2023-03-28 20:33:28 +08:00
Aditya Patwardhan 780f7f2669 secure_boot_test_app: Update the test_app to use pytest framework
* Added custom class IdfFpgaDut in pytest from ttfw_idf.IDFFPGADUT
2023-03-28 16:10:00 +05:30
Roland Dobai 51772f4fb5 Merge branch 'feature/update_rom_elfs' into 'master'
tools: update esp-rom-elf to version 20230320

See merge request espressif/esp-idf!22838
2023-03-28 17:10:44 +08:00
Djordje Nedic 3e0f612a7e tools: Move out idf_size.py in favour of using the esp-idf-size package
This commit removes all idf_size.py files and references to them and adds esp-idf-size as a dependency and adequate wrappers to avoid breaking changes.
2023-03-27 19:40:33 +02:00
Euripedes Rocha d6db90a3cd [tcp_transport] - Adds Socks4 proxy transport
- Basic implementation of Socks4 protocol.
- Introduce basic host testing.
2023-03-27 14:46:40 +02:00
Wan Lei 896f046ac2 Merge branch 'feature/support_spi_slave_hd_append_later_s2' into 'master'
spi_slave: support spi slave hd append mode on chips other than s2

Closes IDF-2943

See merge request espressif/esp-idf!19557
2023-03-23 14:19:32 +08:00
Mahavir Jain 786851bfbd Merge branch 'feature/esp32c6_esp32h2_supported' into 'master'
tools: idf.py: remove esp32c6 and esp32h2 from preview targets list, update chip/version support table

See merge request espressif/esp-idf!22868
2023-03-23 12:25:57 +08:00
Mahavir Jain 86b6f87d68 Merge branch 'bugfix/ram_loadable_elf_flash_mmap_issue' into 'master'
Fix flash mmap data integrity issue for RAM loadable ELF case

See merge request espressif/esp-idf!22802
2023-03-23 12:13:35 +08:00
Darian c71025d6d6 Merge branch 'refactor/freertos_config_files' into 'master'
FreeRTOS: Combine FreeRTOSConfig.h

Closes IDF-6082

See merge request espressif/esp-idf!22815
2023-03-22 22:01:37 +08:00
Jakob Hasse 2b895ef9d8 Merge branch 'feature/rmt_mock' into 'master'
Mocks: added RMT mock

See merge request espressif/esp-idf!22060
2023-03-22 20:18:46 +08:00
Tomas Rezucha f3de7e574d Merge branch 'bugfix/usb_reg_header_definition_upd' into 'master'
USB: usb_reg.h update missing register bitfield description

See merge request espressif/esp-idf!22766
2023-03-22 17:43:43 +08:00
Darian Leung 05bda6595d freertos: Move FreeRTOSConfig_arch.h
This commit moves the FreeRTOSConfig_arc.h to the "esp_additions" directory
so that they can also be used for SMP FreeRTOS builds.
2023-03-22 16:32:29 +08:00
Ivan Grokhotkov 77541faa14
tools: idf.py: remove esp32c6 and esp32h2 from preview targets list 2023-03-21 20:41:44 +01:00
Roland Dobai a0eb55e81a Merge branch 'add_win64_oocd_bins' into 'master'
tools: Add missed OpenOCD v0.12.0-esp32-20230313 binaries for win64 platform

See merge request espressif/esp-idf!22856
2023-03-22 01:01:04 +08:00
Ondrej Kosta 531e23c802 Merge branch 'bugfix/dm9051_rcv_mcast' into 'master'
esp_eth: allowed DM9051 to receive multicast packets

See merge request espressif/esp-idf!22768
2023-03-21 22:55:44 +08:00
Michael (XIAO Xufeng) dbbc1ba5be Merge branch 'feat/merge_nuttx_patch' into 'master'
G0, G1: fix issues that prevents using G0/G1 components on other platforms

See merge request espressif/esp-idf!22521
2023-03-21 20:48:21 +08:00
Alexey Gerenkov d2c02c901a tools: Add OpenOCD v0.12.0-esp32-20230313 binaries for win64 platform 2023-03-21 15:44:53 +03:00
Armando (Dou Yiwen) 75fc5a2512 Merge branch 'bugfix/mspi_timing_tuning_ll_assertion_disable_build_fail_issue' into 'master'
mspi: fix build failure under  assertion disable

Closes IDF-7077

See merge request espressif/esp-idf!22835
2023-03-21 12:37:21 +08:00
wanlei 66ca403bc6 spi_slave: support spi slave hd append mode on chips other than s2 2023-03-21 11:30:17 +08:00
Armando eee34bcf70 mspi: fix build failure under assertion disable 2023-03-21 10:14:59 +08:00
Roland Dobai 288332d6a9 Merge branch 'feature/update-OpenOCD-to-v0.12.0-esp32-20230313' into 'master'
tools: update OpenOCD version to 'v0.12.0-esp32-20230313'

See merge request espressif/esp-idf!22744
2023-03-21 06:17:35 +08:00
Alexey Lapshin 12ab3625ca tools: update esp-rom-elf to version 20230320 2023-03-20 19:20:34 +08:00
Roland Dobai c1ce05e244 Merge branch 'feature/test_check_python_dependencies' into 'master'
ci: add dep check_python_dependencies.pyt test

Closes IDF-4961

See merge request espressif/esp-idf!22790
2023-03-20 16:21:56 +08:00
Mahavir Jain d0c8b01956
test_apps: add test case for flash mmap data integrity in ram loadable app 2023-03-20 11:12:11 +05:30
Jakob Hasse 7dbe9687f9 Merge branch 'bugfix/esp_shared_stack_watchpoint_setting' into 'master'
bugfix(esp_system): made watchpoint setting configuration-dependent

Closes IDFGH-9003

See merge request espressif/esp-idf!21738
2023-03-20 10:19:05 +08:00
Frantisek Hrbata 53a8742680 ci: add dep check_python_dependencies.pyt test
Two new tests are added.

1) test_check_python_dependencies
The test prepares artificial constraints file containing packages from
requirements.core.txt, which are also reported in pip-freeze output
for virtual env. The constraints file requires package versions higher
than currently installed in venv, so check_python_dependencies
should fail for all of them.

2) test_check_required_packages_only
Test for espressif/esp-idf/-/merge_requests/17917. After installing
core requirements, install additional foopackage, which is embedded.
Add version requirement for foopackage, which cannot be satisfied,
to constraints file. Since foopackage is not a direct requirement,
check-python-dependencies should not fail.

This also fixes existing TestCustomPythonPathInstall test, which sets
IDF_PYTHON_ENV_PATH, but does not restore it. Unittest seems to be
running tests in order based on class/test name. Meaning this test runs
before TestPythonInstall and all tests in TestPythonInstall are using
the latest tmpdir from TestCustomPythonPathInstall as IDF_PYTHON_ENV_PATH.
IOW TestPythonInstall is actually testing custom python env path, same as
TestCustomPythonPathInstall. This fixes it by restoring the
IDF_PYTHON_ENV_PATH. Note that since the actual IDF_PYTHON_ENV_PATH
was different(tmpdir) from PYTHON_DIR, the default PYTHON_DIR was never used,
so the tests were running with old python env(no
shutil.rmtree(PYTHON_DIR).

Since TestCustomPythonPathInstall is inheriting from TestPythonInstall
it also runs test_opt_argument and test_no_constraints for the second
time. This seems unnecessary, so this patch also skips these two tests
in TestCustomPythonPathInstall.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-03-17 15:22:33 +01:00
Jiang Jiang Jian 2658fb7623 Merge branch 'feature/add_memprot_support_for_esp32h2' into 'master'
esp32h2: enable memory protection scheme using PMA and PMP

Closes IDF-6452 and IDF-6332

See merge request espressif/esp-idf!22699
2023-03-17 15:19:52 +08:00
Jakob Hasse f679218cb6 feat(driver): added RMT mock 2023-03-17 14:54:48 +08:00
Wan Lei 3b62bf59c4 Merge branch 'bugfix/fix_deep_sleep_crash_when_psram_high_freq' into 'master'
mspi: turn down freq to fix crash when sleep

Closes IDF-6881

See merge request espressif/esp-idf!22491
2023-03-16 14:11:21 +08:00
wanlei a48d1a85c1 mspi: add test_app measuring time cost of mspi APIs
and merge mspi unit test into this
2023-03-16 11:11:43 +08:00
Gustavo Henrique Nihei 50145ed179 esp_rom: Remove STATUS struct in favor of ETS_STATUS
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-03-16 01:50:21 +08:00
Roland Dobai 4bf12081e2 Merge branch 'bugfix/non_default_sdkconfig' into 'master'
tools: fix usage of sdkconfig with custom path or name

Closes IDF-1369

See merge request espressif/esp-idf!22520
2023-03-15 20:53:38 +08:00
Mahavir Jain b29ed0ba0b
test_apps: enable memprot tests for ESP32-H2 target 2023-03-15 13:16:26 +05:30
Armando 929b7717ff system: fixed ram app cannot use mmu correctly issue 2023-03-15 10:59:20 +08:00
Ondrej 2ec7fc8f10 esp_eth: allowed DM9051 to receive multicast packets
Removed extra PHY status link checks from DM9051 MAC layer
2023-03-14 13:59:27 +00:00
Roman Leonov 0b08570ae2 usb: usb_reg.h update missing register description 2023-03-14 13:29:20 +01:00
Alexey Gerenkov 5013e6588c tools: update OpenOCD version to 'v0.12.0-esp32-20230313' 2023-03-13 15:29:19 +00:00
Jakob Hasse 0769298b3b Merge branch 'contrib/github_pr_8987' into 'master'
pthread: avoid heap alloc in pthread_cond_timedwait if possible (GitHub PR)

Closes IDFGH-7409

See merge request espressif/esp-idf!22702
2023-03-13 19:34:21 +08:00
Jakob Hasse 03bc6488de bugfix(esp_system): made watchpoint setting configuration-dependent
esp_execute_shared_stack_function always restored the stack watchpoint
regardless of CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK. This would lead
to an abondoned but active watchpoint on a former stack once the task
calling esp_execute_shared_stack_function is deleted, if
CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is inactive.
This has been fixed now.

Closes https://github.com/espressif/esp-idf/issues/10414
2023-03-13 14:24:15 +08:00
Jiang Jiang Jian d5f53fb415 Merge branch 'feature/nan_datapath' into 'master'
NAN Datapath support and console example

Closes WIFI-1223

See merge request espressif/esp-idf!13593
2023-03-11 04:50:10 +08:00
MacDue 75066bde5a ci: remove components/pthread/pthread_cond_var.c from ignore list 2023-03-10 15:52:27 +08:00
Nachiket Kukade 4c76af3f68 esp_wifi: Add support for NAN Discovery and Datapath
Update wifi lib with below -
1. Create NAN Discovery SM for beaconing & cluster formation
2. Create NAN interface for Tx/Rx of beacons & action frames
3. Add commands & events for NAN Services Publish/Subscribe/Followup
4. Add NAN Datapath definitions, Events, Peer structures
5. Support for forming and parsing of Datapath related attributes
6. Modules for NDP Req, Resp, Confirm, Term, Peer management
7. NAN Interface related additions in Datapath, Data Tx Q's

In addition include below changes -
1. Add netif and driver support for NAN Interface
2. Add simple examples for Publisher-Subscriber usecases
3. Add an advanced console example that supports commands
   for NAN Discovery, Services & Datapath
4. Add wifi_apps for providing better NAN API's and Peer management

Co-authored-by: Shyamal Khachane <shyamal.khachane@espressif.com>
2023-03-10 11:18:23 +05:30
Mahavir Jain 00f30bb199 Merge branch 'esp32c6/fix_pmp_config' into 'master'
esp32c6: Fix incorrect PMP configuration

Closes IDF-6927

See merge request espressif/esp-idf!22435
2023-03-10 12:21:30 +08:00
jingli b6580ea4ac example: refactor deep sleep example to make codes more structured 2023-03-09 15:23:56 +08:00
Sachin Parekh ed0a1f7b52 esp32c6: Fix incorrect PMP configuration
- Enable pytest memprot tests for C6
2023-03-09 11:37:29 +05:30
Frantisek Hrbata a558ad506e tools: fix custom sdkconfig renaming in set-target
Currently the set-target has sdkconfig file name hardcoded to the
default one and doesn't honor custom config paths or names.
IMHO the only place where we can really now the config file name
is in cmake. But also the config should be really renamed only if
the set-target action is running.

This moves the config file renaming into cmake and it's performed only
when _IDF_PY_SET_TARGET_ACTION env. var. is set to 'ON'. This should
hopefully guarantee that it's really renamed only while set-target is
running.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-03-08 16:45:55 +01:00
Frantisek Hrbata 1ca9e63e79 tools: add target consistency checks to cmake
Extend target checks in cmake, in case it's run directly and not via
idf.py or if idf.py misses something. This may happen
for example if cmake variables are set in project's CMakeLists.txt.

Some clean-ups are included along with the new checks and tests.

1. __target_check() function is removed. IIUC it should never fail,
   because the selected target is explicitly passed as environmental
   variable to kconfgen. Meaning the IDF_TARGET from environment variable may
   not be actually used in kconfgen if IDF_TARGET is already set it cmake cache.
   Note that the IDF_TARGET environment variable used for kconfgen is not
   based on the actual IDF_TARGET environment variable set for idf.py, but
   rather on the value set in __target_init() with

	set(IDF_TARGET ${env_idf_target} CACHE STRING "IDF Build Target")

   My understanding is that the original check was introduced to handle
   situation, where IDF_TARGET was already set in cmake's cache and
   the IDF_TARGET from environment variable was different. Since
   the kconfgen would use the original environment variable(not
   explicitly passed as it is now) the IDF_TARGET in cmake and in
   sdkconfig could differ. IOW I think the original check was introduced
   to cope with the following cmake behaviour

	set(VARIABLE "value1" CACHE STRING "test variable")
	set(VARIABLE "value2" CACHE STRING "test variable")
	message("Variable value: ${VARIABLE}")
	output: Variable value: value1

2. I scratched by head how it is possible that the following code
   in __target_check()

   	if(NOT ${IDF_TARGET} STREQUAL ${env_idf_target})

   could fail if IDF_TARGET is not set. For example in clean project

	IDF_TARGET=esp32 idf.py reconfigure

   Here env_idf_target==esp32 and IDF_TARGET is not set, so I would
   expect that cmake will fail with error message that the cache
   and env target do not match. The thing is that the variable
   evaluation is done before the if command, so it actually
   sees this

   	if(NOT  STREQUAL esp32)

   which is false and the error is not printed. It can be seen
   with 'cmake --trace-expand' command. I don't know if this
   was used on purpose or it worked just as a coincidence, but
   I find it very confusing, so I added explicit check if the
   IDF_TARGET is defined before the actual check. Same for
   CMAKE_TOOLCHAIN_FILE.

3. Error messages are not formated(line-wrapped) by cmake's markup
   so it's easier to check the output in tests.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-03-08 16:45:47 +01:00
Frantisek Hrbata 8e912faad1 tools: add target consistency checks for target specified with -D option
Extend existing target consistency checks for the two following cases.
1. Target does not match currently used toolchain
   $ IDF_TARGET=esp32s2 idf.py reconfigure
   $ idf.py -DIDF_TARGET=esp32c3 build

2. Target is ambiguous, because it's specified also as env. var.
   IDF_TARGET=esp32s3 idf.py set-target esp32c2

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-03-08 16:43:42 +01:00
Frantisek Hrbata 0d859f2786 tools: move target guessing into cmake
The _guess_or_check_idf_target() function has sdkconfig and sdkconfig.defaults
file names hardcoded. Since config file names may be specified with SDKCONFIG
or SDKCONFIG_DEFAULTS cmake vars, directly in CMakeLists.txt or passed in with
the -D cmake option, they are not respected.

Problem is when SDKCONFIG or SDKCONFIG_DEFAULTS is set in
CMakeLists.txt. While idf can detect cmake vars passed through it
to cmake via the -D option, detecting SDKCONFIG and SDKCONFIG_DEFAULTS
vars settings in CMakeLists.txt would require to parse it. This seems
like error prone approach. Also if the vars defined by the -D option
are passed directly to cmake, not via idf, they will not be visible to idf.

It seems reasonable to move the logic into cmake, where we know the correct
SDKCONFIG and SDKCONFIG_DEFAULTS values. So the IDF_TARGET detection/guessing
is moved into targets.cmake, where the IDF_TARGET is actually set. The target
is guessed based on the following precendence.

1) $ENV{IDF_TARGET}
2) IDF_TARGET
3) SDKCONFIG
4) sdkconfig
5) SDKCONFIG_DEFAULTS if non-empty or
   $ENV{SDKCONFIG_DEFAULTS} if non-empty or
   sdkconfig.defaults
6) esp32

All config files referred in $ENV{SDKCONFIG_DEFAULTS} and SDKCONFIG_DEFAULTS
are searched, compared to the current behaviour. First target found in the
above chain is used.

The original _guess_or_check_idf_target() is renamed to _check_idf_target() and
used for the target consistency checks only.

The get_sdkconfig_filename() helper is now used to get the sdkconfig file
for consistency checks. It looks in SDKCONFIG specified with the -D
option and project_description.json.

With this change config full paths are reported in messages, so it's clear
e.g. from which config the target was guessed from or which config has
consistency problem. test_non_default_target.py was adjusted to this
change and also new test for testing the IDF_TARGET guessing was added.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-03-08 16:37:58 +01:00