Commit Graph
7773 Commits
Author SHA1 Message Date
Martin Vychodil 2573bf3988 Merge branch 'feat/bdl_ioctl_checker' into 'master'
feat(esp_blockdev): add build-time ioctl command reservation overlap checker

Closes IDF-15799

See merge request espressif/esp-idf!49670
2026-06-19 12:40:28 +08:00
Martin VychodilandCursor ddc9c5fc40 fix(test_build_system): require components in ioctl overlap checker tests
Wire esp_blockdev, comp_a, and comp_b into the test app dependency graph
so ioctl def files are registered and the POST_BUILD overlap checker runs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-18 15:57:04 +02:00
Island 982ba320db Merge branch 'fix/esp-ble-uart-bridge-opencode-demo-fix' into 'master'
feat(ble): add vibe_indicator support and fix OpenCode bridge for v1.17+

See merge request espressif/esp-idf!49779
2026-06-18 17:33:14 +08:00
jiminxiang 114fd4a9bc feat(ble): add vibe_indicator device support to OpenCode bridge
Detect and drive the display-only ble_uart_vibe_indicator sample alongside
the interactive MiaoBan companion device, and let multiple OpenCode instances
each bind their own indicator channel.

- plugin: after connect, probe the device over the daemon's generic /request
  path and classify it as vibe_indicator / generic / unknown — a vibe_indicator
  answers the indicator_count capability query, a 502 marks a generic device,
  and a transport failure stays unknown for retry on a later refresh. The daemon
  stays a generic transport and is unchanged; detection is a demo concern.
- plugin: route by device_type. The vibe_indicator mirrors OpenCode activity
  as four lamp states on its bound channel — executing (green blink),
  success (green solid), waiting-for-user (yellow solid, on permission
  prompts, decision left to the TUI), and error (red solid, on session.error
  and the following idle). Other devices keep the existing session.status /
  permission round-trip.
- plugin: add indicator_bind_channel / indicator_unbind_channel /
  indicator_show_binding tools. Each channel has at most one live owner:
  binding a channel owned by another running instance fails (force to take
  over), and stale claims are reclaimed via process-liveness checks. The
  per-directory binding is persisted and re-claimed across restarts
  (OPENCODE_BLE_BINDING_FILE).
- docs: document device detection, lamp effects, and channel binding.
2026-06-18 17:12:36 +08:00
Zhou Xiao de87877f39 fix(ble): fix OpenCode BLE UART bridge plugin for v1.17+ compatibility
- Add type assertion for event.type to bypass strict TS compilation errors
- Accept both 'permission.asked' and 'permission.updated' event types
- Add normalizePermissionEvent() to handle internal vs SDK event property
  format differences (pattern vs patterns, type vs permission fields)
- Add RawPermissionEvent type for loose event property parsing
- Add troubleshooting section and subdirectory auto-loading note to README
2026-06-18 11:03:18 +08:00
morris 3b5f3bb672 refactor(peripherals): avoid using esp private feature in examples 2026-06-18 10:34:25 +08:00
Alexey Lapshin e389f3e4df Merge branch 'feature/upgrade_toolchain_to_16.1.0_20260609' into 'master'
Upgrade GNU toolchain to 16.1.0_20260609

See merge request espressif/esp-idf!49523
2026-06-18 00:55:07 +04:00
Jan Beran fa61d8c902 Merge branch 'fix/remove-menuconfig-curses' into 'master'
Cleanup after dropping curses from menuconfig

See merge request espressif/esp-idf!48246
2026-06-17 18:24:53 +08:00
Alexey Lapshin 00ec8187b4 feat(build): add COMPILER_CXX_TRIVIAL_AUTO_VAR_INIT to keep C++26 behavior after toolchain upgrade 2026-06-17 17:24:25 +07:00
Alexey Lapshin 71618c88e3 fix(build): set -Wunused-but-set-variable=1 for GNU compiler to maintain backward compatibility 2026-06-17 17:24:25 +07:00
Alexey Lapshin b6930d1e38 Revert "fix(picolibc): add psram fix for libc functions"
This reverts commit 1684eeb60f.
2026-06-17 17:24:25 +07:00
Jan BeranandCursor dd742179ee fix: cleanup after dropping curses from menuconfig
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-16 16:56:46 +02:00
Sudeep Mohanty 0956aedb19 Merge branch 'task/buildv2_shim_and_ci' into 'master'
feat(cmakev2): IDF_BUILD_V2 shim + v1-compat layer + buildv2 CI

See merge request espressif/esp-idf!48745
2026-06-16 11:53:46 +02:00
Tomáš Rohlínek a9f545bcea feat(esp_blockdev): add build-time ioctl command reservation overlap checker 2026-06-16 11:38:22 +02:00
zhanghaipeng 3a7896f2c5 refactor(bt): migrate bt_hci_to_btsnoop to esp-pylib
Replace argparse with rich-click and use esp_pylib.logger for
standardized console output and fatal error handling.
2026-06-16 14:43:06 +08:00
Sudeep Mohanty c7cba04aa7 fix(cmakev2): wrap library archives with --start-group/--end-group
Attach the flags as the first and last entries of the library's
INTERFACE_LINK_LIBRARIES so the linker re-scans archives until all
symbols resolve.
2026-06-15 14:58:47 +02:00
Sudeep Mohanty 0edf32d247 fix(cmakev2/compat): auto-append IDF_TARGET_ARCH to overridden common-requires
When an app sets __COMPONENT_REQUIRES_COMMON before project(), the
explicit value used to bypass the default branch that includes
${idf_target_arch}, dropping the arch component from the build.
IDF_TARGET_ARCH isn't known pre-project(), so apps shouldn't have to
hand-roll a target -> arch map. Append it after the explicit list during
common-component initialization; empty on linux means no append.
2026-06-15 14:58:46 +02:00
Sudeep Mohanty 0424ef01c5 fix(cmakev2): mirror sdkconfig CONFIG_* onto build properties
Read sdkconfig.cmake's CONFIG_* values and re-publish them on the
build-properties target so component CMakeLists.txt code that queries
Kconfig via idf_build_get_property(var CONFIG_FOO) returns the expected
value.
2026-06-15 14:58:46 +02:00
Sudeep Mohanty 61ac863963 fix(cmakev2): guard flash targets when esptool_py is excluded
Add a COMMAND check on esptool_py_flash_target before invoking it in
__init_project_flash_targets. Apps that restrict the build set without
esptool_py would otherwise hit "Unknown CMake command".
2026-06-15 14:58:46 +02:00
Sudeep Mohanty 1618d2c59e feat(cmakev2/compat): add idf_component_mock() for CMock-based test components 2026-06-15 14:58:46 +02:00
Sudeep Mohanty db91c7d847 fix(cmakev2): respect explicit SET_COMPILER_OPTIMIZATION values
Use a DEFINED check instead of a truthy check so explicit NO/OFF/FALSE
values are honored.
2026-06-15 14:58:46 +02:00
Sudeep Mohanty 49efbb1191 fix(cmakev2): integrate manager-injected dependencies with idf_component_register
Move managed-dependency injection and recursive inclusion to BEFORE the
component's add_subdirectory() call, so its CMakeLists.txt can resolve
managed-dep targets at register time. Inside idf_component_register,
union the manager-injected REQUIRES/PRIV_REQUIRES with what the
component author wrote instead of overwriting them.
2026-06-15 14:58:46 +02:00
Sudeep MohantyandFrantisek Hrbata 3f40e1c83a feat(cmakev2): expose Build system v1 build properties under shim
Under __V1_COMPAT_SHIM, populate EXECUTABLE, EXECUTABLE_NAME, and
BUILD_COMPONENTS build properties in __project_default(), and propagate
project_elf to the caller scope. Relax the BUILD_COMPONENTS query gate
in build.cmake so component code that uses
idf_build_get_property(... BUILD_COMPONENTS) keeps working.

Co-authored-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-06-15 14:58:46 +02:00
Sudeep MohantyandFrantisek Hrbata 4d03b859ca feat(cmakev2/compat): main auto-dep under Build system v1 shim
Replicate Build system v1 behavior where the 'main' component implicitly
depends on the discovered components (or the app-restricted
__SHIM_COMPONENTS list) when no explicit REQUIRES/PRIV_REQUIRES is set.
Gated on __V1_COMPAT_SHIM so native Build system v2 projects retain
their explicit dependency contract.

Co-authored-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-06-15 14:58:46 +02:00
Sudeep MohantyandFrantisek Hrbata a91cac9495 feat(cmake): add IDF_BUILD_V2 shim for transparent cmakev2 delegation
When IDF_BUILD_V2 evaluates to a CMake-truthy value, project.cmake
delegates to Build system v2 (cmakev2). The shim wraps project(),
forwards the app-declared COMPONENTS list via __SHIM_COMPONENTS, and
publishes __V1_COMPAT_SHIM so Build system v2 internals can gate Build
system v1 compatibility behavior. Existing app CMakeLists.txt files
build unchanged.

Co-authored-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-06-15 14:58:45 +02:00
Roland Dobai a5fd4e1e07 Merge branch 'fix/update-configdep' into 'master'
fix: update version of esp-idf-configdep in tools.json

See merge request espressif/esp-idf!49582
2026-06-12 12:12:23 +02:00
Konstantin Kondrashov 54b649a0c9 Merge branch 'feature/linux_esp_time_new' into 'master'
feat(esp_timer): Adds support Linux target

Closes IDF-5723

See merge request espressif/esp-idf!49358
2026-06-12 09:05:22 +03:00
Jan Beran 4b12e9a132 fix: update version of esp-idf-configdep in tools.json 2026-06-11 11:05:10 +02:00
Konstantin Kondrashov f6f24af00a feat(esp_timer): Adds support Linux target 2026-06-11 11:59:25 +03:00
Frantisek Hrbata dd9e0a4da5 Merge branch 'feat/idf_component_include_optional' into 'master'
feat(cmakev2/component): add OPTIONAL flag to idf_component_include

See merge request espressif/esp-idf!48502
2026-06-11 08:02:58 +02:00
Alexey Lapshin 2d22f09e0f feat(tools): skip non-related files for adding to tools.json 2026-06-10 19:32:45 +07:00
Alexey Lapshin 19701dcc0e feat(tools): update toolchain version to 16.1.0_20260609 2026-06-10 19:32:45 +07:00
Jiang Jiang Jian f6eceb316a Merge branch 'feat/support_esp32s31_dfu' into 'master'
Feat/support esp32s31 dfu

See merge request espressif/esp-idf!49329
2026-06-10 15:48:00 +08:00
Aditya Patwardhan ebc4806085 Merge branch 'fix/disable_secure_boot_v2_ecdsa' into 'master'
Fix/disable secure boot v2 ecdsa

See merge request espressif/esp-idf!48834
2026-06-09 23:46:11 +05:30
Aditya Patwardhan 67e10e2b56 change(secure_boot): mark ECDSA based Secure Boot V2 as insecure on affected SoCs
ECDSA based Secure Boot V2 is not functional for certain input vectors on
ESP32-C5/C61/H2/P4 and on the preview targets ESP32-H4/H21. RSA based Secure
Boot V2 is the recommended scheme where the SoC supports it. This issue will be
fixed in a future hardware ECO revision; more details will be shared through the
hardware errata document.

A new hidden Kconfig option SECURE_BOOT_V2_ECDSA_INSECURE marks the affected
mass-production SoCs (ESP32-C5/C61/H2/P4). On these SoCs, when hardware Secure
Boot V2 is enabled, the ECDSA (V2) signing scheme is no longer offered by
default; it must be turned on explicitly via SECURE_BOOT_V2_FORCE_ENABLE_ECDSA
under "Allow potentially insecure options" (CONFIG_SECURE_BOOT_INSECURE). App
signing without hardware Secure Boot is not affected. Note that ESP32-C61 has no
RSA based Secure Boot V2, so it has no Secure Boot scheme enabled by default.

The preview targets ESP32-H4 and ESP32-H21 mark ECDSA Secure Boot V2 as not
supported in their SoC capabilities instead of using the option above. As
ESP32-H4 has no other Secure Boot V2 scheme, Secure Boot is disabled entirely on
it; ESP32-H21 retains RSA based Secure Boot V2.

The security documentation keeps the ECDSA Secure Boot V2 content visible and
adds a warning describing the limitation (including that ECDSA Secure Boot V2 on
ESP32-C61 is not recommended for production). CI apps that exercise ECDSA Secure
Boot V2 on the affected SoCs set CONFIG_SECURE_BOOT_V2_FORCE_ENABLE_ECDSA
accordingly.
2026-06-09 16:55:57 +05:30
Jiang Guang MingandCursor 0c835d2141 fix(dfu): retry dfu-util flash on macOS detach failure
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-09 15:40:34 +08:00
Jiang Jiang Jian 853a2cfd3a Merge branch 'chip/support_wifi_low_power_for_s31_rebase_master' into 'master'
Chip/support wifi low power for s31 rebase master

Closes IDF-14579 and IDF-14582

See merge request espressif/esp-idf!48532
2026-06-09 15:16:53 +08:00
sibeibei 1ce999e59f feat(ci): enable build for esp32s31, disable CI test 2026-06-08 19:24:30 +08:00
Vojtech Piroch 0c4e73f590 feat(ldgen): migrate to esp-pylib 2026-06-08 10:18:00 +02:00
Ondrej Kosta 4431bce564 Merge branch 'feat/eth_test_component' into 'master'
feat(esp_eth): updated test_apps to use Ethernet test component

See merge request espressif/esp-idf!48977
2026-06-08 15:35:38 +08:00
Zhou Xiao 835c947761 Merge branch 'docs/ble-uart-tutorial' into 'master'
docs(ble): added ESP-BLE-UART OpenCode Companion Guide

See merge request espressif/esp-idf!48862
2026-06-05 20:17:23 +08:00
Zhou Xiao 926111e721 docs(ble): add ESP-BLE-UART companion guide
Move the OpenCode companion guide into the ble_uart_service example.

Add English and Chinese Markdown guides with image assets.

Keep ESP-BLE-UART naming consistent across the example and bridge tooling.
2026-06-05 19:01:00 +08:00
Guillaume Souchere a010738ec2 Merge branch 'feat/new-freertos-linux-simulator' into 'master'
feat(freertos): Refactor linux simulator

Closes IDF-8339

See merge request espressif/esp-idf!43564
2026-06-05 12:18:44 +02:00
JiangGuangMing dd9eb63e9d feat: support esp32s31 dfu feature 2026-06-05 15:59:04 +08:00
sonika.rathi eda2d97bdb fix(spiffs): normalize spiffsgen CLI output with esp-pylib 2026-06-05 15:09:16 +08:00
Marius Vikhammer 1d311a7349 Merge branch 'feature/psram_freertos' into 'master'
feat(freertos): added option for automatically placing task stacks in PSRAM

Closes IDF-15538, IDF-15539, and IDF-15540

See merge request espressif/esp-idf!48953
2026-06-05 09:08:33 +08:00
Ondrej Kosta fa05720f6c feat(ci): support downloading extra app artifacts in pytest
Add app_extra S3 artifact type, extend idf-ci download plumbing, and
expose a download_app_extra pytest fixture for managed_components deps.
2026-06-04 12:59:18 +02:00
Guillaume Souchere 9835daba70 feat(freertos/vfs): add Linux cooperative syscall dispatch with VFS FD registration
Rework the syscall interposition architecture so FreeRTOS works
standalone (without VFS) and VFS optionally overrides with strong
symbols.  All kernel FDs are registered with VFS via
esp_vfs_register_fd_with_local_fd, so the application only sees
VFS-allocated FD numbers, preventing numerical collisions between
kernel FDs and VFS-internal FD slots.

FreeRTOS side:
- Create linux_port_coop_internal.h with LINUX_COOP_IO_LOOP,
  LINUX_COOP_RESOLVE, linux_coop_yield and FD state table functions
- Export cooperative I/O primitives (freertos_linux_coop_read/write/
  open/close/fcntl/select/pread/pwrite/readv/writev/recv/send/
  recvfrom/sendto/recvmsg/sendmsg/connect/accept/pselect/poll/
  socket/socketpair/pipe/pipe2/dup/dup2/syscalls_init)
- Define weak POSIX symbols calling through to the cooperative
  primitives; keep nanosleep/sleep/usleep as strong (not FD-related)
- Refactor freertos_linux_coop_syscalls.h into a pure public API header

VFS side:
- Register the Linux host FS with esp_vfs_register_fs_with_id() as a
  proper VFS driver; register stdin/stdout/stderr at init (priority 99)
- Rewrite vfs_linux.c with strong POSIX symbols dispatching through
  esp_vfs_*
- Add strong overrides for FD-creating syscalls (open, pipe, pipe2,
  socket, socketpair, dup, dup2, accept) that register returned FDs
  with VFS
- Add strong overrides for FD-translating syscalls (readv, writev,
  recv, send, recvfrom, sendto, recvmsg, sendmsg, connect, pselect,
  poll) that translate VFS FD to kernel FD
- Delete vfs_coop_syscalls.c (absorbed into FreeRTOS weak + VFS strong)
- Update CMakeLists.txt: remove vfs_coop_syscalls.c, add linker hook
2026-06-04 11:36:34 +02:00
Guillaume Souchere 78420f2614 feat(freertos): soft-preempting linux simulator 2026-06-04 11:36:21 +02:00
Marius Vikhammer d21dc8ca2e feat(freertos): added option for automatically placing task stacks in PSRAM
When CONFIG_FREERTOS_PLACE_TASK_STACKS_IN_EXT_RAM is enabled freertos will
now automatically allocate task stacks to PSRAM.
2026-06-04 16:06:52 +08:00