Commit Graph

8104 Commits

Author SHA1 Message Date
Adam Múdry b29b9dc4d2 Merge branch 'feat/cmake_add_partition_flash_binary_function' into 'master'
feat(esp_partition): Add esp_partition_register_target Cmake function

Closes IDF-11870 and DOC-14244

See merge request espressif/esp-idf!37176
2026-04-13 15:54:27 +02:00
Mahavir Jain dfa2365782 Merge branch 'fix/ws_echo_server_uri_registration_race' into 'master'
fix(http_server/ws_echo_server): Fix ws_echo_server test URI registration race condition

Closes IDFCI-8585, IDFCI-6703, and IDFCI-3484

See merge request espressif/esp-idf!47368
2026-04-13 15:59:46 +05:30
Rahul Tank 1d1f05bdbe Merge branch 'bugfix/fix_blufi_watchdog' into 'master'
fix(blufi): Support DH negotiation on SoCs without hardware MPI

See merge request espressif/esp-idf!47215
2026-04-13 14:09:34 +05:30
Sudeep Mohanty e91cab31bd Merge branch 'worktree-add-cmakev2-pytest' into 'master'
test(cmakev2): add pytest scripts for cmakev2 build system examples

See merge request espressif/esp-idf!47239
2026-04-13 09:20:09 +02:00
Aditya Patwardhan 123f040498 Merge branch 'fix_https_request_ci_failure' into 'master'
fix(https_request): write host time to NVS to eliminate SNTP dependency in CI

Closes IDFCI-3371, IDFCI-3294, IDFCI-3480, IDFCI-5982, IDFCI-6184, and IDFCI-3651

See merge request espressif/esp-idf!47201
2026-04-13 12:01:21 +05:30
Adam Múdry 749c446a7e feat(esp_partition): Add esp_partition_flash_binary() CMake function
Add a new CMake function esp_partition_flash_binary() that provides a
unified API for registering partition data binaries to be flashed. It
replaces the direct esptool_py_flash_target calls scattered across
components (spiffs, fatfs, nvs_flash) with a single function that:

- Resolves partition offset from the partition table automatically
- Determines encryption requirements (auto-detect or ALWAYS_PLAINTEXT)
- Creates per-partition flash targets (e.g. idf.py <partition>-flash)
- Optionally includes the binary in `idf.py flash` via FLASH_IN_PROJECT

On the linux target, the function registers binaries for pre-loading
into the emulated flash. A build-time manifest (linux_flash_data.txt)
is generated via file(GENERATE), and partition_linux.c reads it at
runtime to copy each binary into the memory-mapped flash buffer at
the correct offset.

The partition_ops example is updated to use the new function and
includes a custom_partition with pre-built data to demonstrate the
full workflow, including on the linux target.
2026-04-10 15:22:50 +02:00
Sudeep Mohanty e364a60769 test(cmakev2): add pytest scripts for cmakev2 build system examples
Add pytest test coverage for cmakev2 build system examples that had
none.

CMakeLists.txt fixes required to enable testing:

conditional_component and plugins: added idf_build_generate_flasher_args()
since these use the low-level build API (idf_build_executable /
idf_flash_binary) which unlike idf_project_default() does not call it
automatically. Without it, flasher_args.json was missing from the build
output and pytest-embedded could not initialize the DUT.

multi_binary: both app1 and app2 were registered in the global flash
target via idf_flash_binary(...FLASH), creating a duplicate key at offset
0x10000 in the flasher_args.json generator expression and preventing the
file from being generated. Fixed by removing FLASH from app2's call so
only app1 is registered in the global flash target. idf_build_generate_flasher_args()
now produces a valid flasher_args.json with app1 as the default app binary.
The test patches the binary path to app2.bin when testing the second app.
2026-04-10 13:49:56 +02:00
Wan Lei 37e7f60dcf Merge branch 'feat/s31_gpspi_support' into 'master'
feat(driver_gpspi): s31 gpspi support

Closes IDF-14734, IDF-14735, IDF-14737, IDF-14738, IDF-14739, IDF-14740, and IDF-14708

See merge request espressif/esp-idf!45784
2026-04-10 17:04:32 +08:00
Ondrej Kosta f086ad4761 Merge branch 'feat/ptpd_2upstream' into 'master'
Feat/ptpd 2upstream

See merge request espressif/esp-idf!47246
2026-04-10 15:11:39 +08:00
wanckl 99bf74f022 feat(driver_spi): s31 gpspi driver support 2026-04-10 14:22:17 +08:00
wanckl 64704886b7 refactor(driver_spi): remove some SPI_LL_xxx SOC_xxx macros 2026-04-10 13:59:20 +08:00
Song Ruo Jing f68be5a8c3 Merge branch 'feature/esp32s31_ledc_support' into 'master'
feat(ledc): add support for ESP32S31

Closes IDF-14709 and IDF-14710

See merge request espressif/esp-idf!47267
2026-04-10 13:35:11 +08:00
Rahul Tank fb4ba7c453 fix(blufi): support DH negotiation on SoCs without hardware MPI 2026-04-10 10:31:13 +05:30
Song Ruo Jing f9b0736c93 feat(ledc): add support for ESP32S31 2026-04-09 22:34:05 +08:00
Tan Yan Quan 1241f06425 ci(openthread): include mbedtls in openthread dependencies 2026-04-09 19:34:14 +08:00
armando bb2fd61013 fix(xip): fixed xip example 2026-04-09 16:58:03 +08:00
hrushikesh.bhosale 7a50e3ab04 fix(http_server/ws_echo_server): Fix ws_echo_server test URI registration race condition
The WebSocket echo server tests connect immediately after seeing
"Starting server on port:" in the device log, but URI handlers
(/ws, /ws_partial, /auth) are registered asynchronously after the
server starts, taking 40-660ms depending on config and CI load.

This causes two failures:
1. WebSocket handshake returns 404 Not Found because the URI
   handler is not registered yet when the client connects.
2. WebSocket echo returns wrong data because the server is in a
   partially initialized state.

Wait for "Returned from app_main()" before connecting, which
guarantees all URI handlers are registered. Add connection retry
with WebSocketBadStatusException handling to WsClient and to the
partial frame test's raw websocket connection.

Extract _wait_for_server_ready() helper to deduplicate the WiFi
credential input and server readiness logic across all 3 tests.
2026-04-09 11:56:03 +05:30
hrushikesh.bhosale 4868ebc64c fix(https_request): write host time to NVS to eliminate SNTP dependency in CI
Replace erase_nvs + SNTP time sync with direct NVS timestamp injection
from the pytest host. This eliminates CI flakiness caused by NTP servers
being unreachable from the CI lab network.

Changes:
- Add write_time_to_nvs() helper that generates an NVS partition image
  with the current host timestamp and flashes it to the DUT before each
  test. The firmware reads this via the existing update_time_from_nvs()
  path and skips SNTP entirely.
- Remove @pytest.mark.parametrize('erase_nvs', ['y']) from all 4
  Ethernet-based tests since NVS is now written with valid data.
2026-04-09 11:31:32 +05:30
Mahavir Jain ff58d2e93d Merge branch 'fix/x509_bundle_replace_unreliable_url' into 'master'
fix(examples): replace unreliable external URL in https_x509_bundle example

Closes IDFCI-3853, IDFCI-7715, and IDFCI-6393

See merge request espressif/esp-idf!47328
2026-04-09 10:07:18 +05:30
Island 45b2eebaf9 Merge branch 'feat/remove_led_from_ble_mesh_examples' into 'master'
refactor(ble_mesh): remove LED hardware dependency from examples

See merge request espressif/esp-idf!47308
2026-04-09 11:20:35 +08:00
Igor Masar 0b695dbe20 Merge branch 'feat/esp32s31_usb_support' into 'master'
feat(usb): add ESP32-S31 DWC/UTMI support

See merge request espressif/esp-idf!46329
2026-04-09 01:44:30 +08:00
morris 2994fca5ba Merge branch 'feat/esp32s31-rmt-support' into 'master'
feat(rmt): enable RMT support on esp32s31

Closes IDF-14794

See merge request espressif/esp-idf!47152
2026-04-08 18:46:54 +08:00
Song Ruo Jing 9f50fb8543 fix(ledc): wrong interrupt status handling in ISR could cause INT WDT
Introduced in 88b62b19fd
2026-04-08 16:59:12 +08:00
igor.masar 9ab7d5eb03 feat(usb): add ESP32-S31 DWC/UTMI support
Add ESP32-S31 USB DWC/UTMI LL headers, SoC register structures, peripheral
descriptors, capabilities, and linker mappings so the HS OTG controller and
UTMI PHY can be built in esp_hal_usb.

Introduce SOC_USB_FSLS_PHY_NUM on USB-OTG targets to separate FSLS USB_WRAP
support from OTG/UTMI support. Use it to gate usb_wrap, the USB PHY driver,
docs, and example build rules on targets without an FSLS PHY.

Also add UTMI data pulldown control to the HAL, clear the boot-time DWC
suspend state on ESP32-S31, alias the legacy internal PHY target to UTMI for
backward compatibility, and extend usb_phy tests for UTMI-only targets.
2026-04-08 16:01:28 +08:00
hrushikesh.bhosale 995c0f129e feat(pytest_https_x509_bundle): Removed the flaky marker from the tests 2026-04-08 12:38:46 +05:30
luoxu 4b7cb8cecc refactor(ble_mesh): remove LED hardware dependency from examples 2026-04-08 15:08:21 +08:00
morris 5c55b812be Merge branch 'feat/bitscrambler_esp32s31' into 'master'
feat(bitscrambler): add esp32s31 support

Closes IDF-14714

See merge request espressif/esp-idf!47338
2026-04-08 14:07:56 +08:00
Zhang Wen Xu 710f133604 Merge branch 'bugfix/fix_ot_ci_testcases' into 'master'
ci: improve BR host related test cases

See merge request espressif/esp-idf!47089
2026-04-08 02:35:01 +00:00
morris ae8acf82e7 feat(rmt): enable RMT support on esp32s31
Enable esp32s31 RMT caps and clock source definitions for
esp_driver_rmt.

Add esp32s31 RMT LL/periph hooks, sleep retention metadata, and RMTMEM
linker symbol.
2026-04-08 10:17:10 +08:00
morris 425966f88f Merge branch 'feat/etm_esp32s31' into 'master'
feat(etm): add ETM LL and GPIO ETM support on esp32s31

Closes IDF-14724 and IDF-14786

See merge request espressif/esp-idf!47247
2026-04-08 10:08:24 +08:00
morris 11f76780cc feat(bitscrambler): support driver on esp32s31 2026-04-08 09:53:21 +08:00
hrushikesh.bhosale d6596eff3a fix(https_x509_bundle): Replace unreliable external URL in https_x509_bundle example
Replace howsmyssl.com with letsencrypt.org in the https_x509_bundle
example. howsmyssl.com is a third-party server that is frequently
unreachable from CI, causing flaky test failures. letsencrypt.org
chains to the same ISRG Root X1 CA, so the custom certificate bundle
validation coverage is identical.

Since letsencrypt.org was already present in the full bundle URL list,
remove the duplicate entry and reduce MAX_URLS from 9 to 8. All 6
unique root CAs in the stress test are still covered.

For the QEMU stress test, increase per-connection timeout from 30s to
60s and final completion timeout from 60s to 180s. QEMU emulated
network is 3-5x slower than real hardware for TLS handshakes.

Add flaky markers to hardware tests to handle intermittent CI lab DHCP
failures that affect all Ethernet-based tests.
2026-04-07 15:14:28 +05:30
Ondrej Kosta 36fc8b97cb feat(ptpd): updated ptpd to upstream 2026-04-07 10:48:58 +02:00
morris 43bc8c2fe5 feat(etm): add ETM LL and GPIO ETM support on esp32s31
Enable ETM caps and add S31 ETM/GPIO LL and retention support for
GPTimer ETM builds.
2026-04-07 14:47:36 +08:00
Martin Vychodil 7043fb0d14 feat(fatfs): Added BDL support to FatFS component 2026-04-07 07:11:21 +02:00
C.S.M 152b5ccb4c ci(esp32s31): Add ci target test for esp32s31 2026-04-03 11:38:45 +08:00
yiwenxiu fd9b2de370 feat(openthread): improve BR host related test cases 2026-04-03 09:59:42 +08:00
ShenWeilong 271ff9605a fix(bt): fixed some h4 issues reported by ci pipeline 2026-04-02 14:59:41 +08:00
ShenWeilong 6e359ad99e feat(ble): added ble support for esp32h4 eco1 2026-04-02 14:59:40 +08:00
Euripedes Rocha 099d7ee8ce Merge branch 'trim-common-components-networking-manifests' into 'master'
fix: Component depends rules for networking and protocols

See merge request espressif/esp-idf!46961
2026-04-02 08:54:05 +02:00
Rahul Tank 1bd4980ff4 Merge branch 'feat/add_eatt_documentation' into 'master'
feat(nimble): Add EATT documentation

See merge request espressif/esp-idf!46676
2026-04-02 11:44:09 +05:30
morris 530b14b95b Merge branch 'feat/uhci_esp32h4' into 'master'
feat(uhci): Add support for uhci on esp32h4

Closes IDF-12399

See merge request espressif/esp-idf!47157
2026-04-02 11:45:57 +08:00
Sumeet Singh d0326e3889 feat(nimble): Update blecent example README.md with EATT documentation 2026-04-02 06:52:22 +05:30
Euripedes Rocha Filho 985af4a130 fix: Component depends rules for networking and protocols
Reduces the scope of testing to the direct dependencies.
2026-04-01 12:43:03 +02:00
Rahul Tank 49c770cf85 Merge branch 'bugfix/nimble_example_fixes' into 'master'
fix(nimble): Address nimble example issues

Closes BLERP-2628, BLERP-2631, BLERP-2635, and BLERP-2657

See merge request espressif/esp-idf!46697
2026-04-01 15:31:34 +05:30
Hu Rui 7c56253e33 feat(uhci): Add support for uhci on esp32h4 2026-04-01 17:15:32 +08:00
Marius Vikhammer e30e747d20 Merge branch 'docs/fix_check_readme_links' into 'master'
docs(examples): fix broken README links found by check_readme_links CI

See merge request espressif/esp-idf!47055
2026-04-01 14:16:51 +08:00
Ondrej Kosta b67ee93a87 Merge branch 'fix/clock_ptp' into 'master'
Adding PTP_CLOCK instance to IDF Clock system

Closes IDF-13906

See merge request espressif/esp-idf!45962
2026-04-01 13:31:00 +08:00
Ondrej Kosta ed2e6735ff feat(esp_libc): refactored POSIX timers get/set functions
- Added sys/timex.h and clock_adjtime API
2026-03-31 22:32:33 +08:00
Astha Verma 7c00100b2d fix(nimble): Convert IDF_PATH to CMake-compatible format for Windows 2026-03-31 11:27:35 +05:30