Commit Graph

55436 Commits

Author SHA1 Message Date
Shu Chen
5c2781df5c Merge branch 'feature/update-zigbee-examples-v2.0' into 'master'
feat(zigbee): update zigbee examples to v2.0

See merge request espressif/esp-idf!52302
2026-09-14 08:47:36 +00:00
Tomas Rezucha
27322efe3b Merge branch 'contrib/github_pr_18984' into 'master'
fix(usb): reset ROM CDC descriptor on app startup (GitHub PR)

Closes IDFGH-18155

See merge request espressif/esp-idf!51984
2026-09-14 09:57:18 +02:00
Island
d916979fbd Merge branch 'feat/ble_esl_persist_and_ots_speedup' into 'master'
feat(ble/nimble): add ESL persist, AP recovery, and image APIs

See merge request espressif/esp-idf!52374
2026-09-14 15:48:31 +08:00
morris
4cbd7b0e52 Merge branch 'feat/spi_master_high_freq_no_tuning' into 'master'
feat(driver_spi): master driver support higher speed limit if 'input_delay_ns' not use

See merge request espressif/esp-idf!51871
2026-09-14 14:57:00 +08:00
morris
bd0f65b73c Merge branch 'fix/spi_encryption_test_and_guide' into 'master'
fix(driver_spi): add flash encryption test and guide

Closes IDF-15060

See merge request espressif/esp-idf!51261
2026-09-14 14:45:18 +08:00
Axymorrsen
6081ffba84 fix(usb): reset ROM CDC descriptor on app startup 2026-09-14 08:40:50 +02:00
morris
aed151a7d2 Merge branch 'fix/mcpwm_timer_resolution_test' into 'master'
fix(mcpwm): account for adjusted timer resolution in test

See merge request espressif/esp-idf!52698
2026-09-14 12:28:39 +08:00
Island
b2c566e249 Merge branch 'bugfix/fix_bluedroid_read_multi_error_rsp' into 'master'
fix(ble/bluedroid): use valid ATT error for Read Multiple assembly failure

Closes BLERP-3103

See merge request espressif/esp-idf!52749
2026-09-14 11:05:38 +08:00
morris
51fe5182bb Merge branch 'feat/add_lt9611_conponent' into 'master'
feat(lcd): add MIPI-to-HDMI example (lt9611)

Closes IDF-15419

See merge request espressif/esp-idf!52175
2026-09-14 10:57:57 +08:00
morris
6e7121003a Merge branch 'fix/i2c_rx_fifo_drain_before_event' into 'master'
fix(i2c): fixed potential multi-core race in I2C read

Closes IDFGH-18239

See merge request espressif/esp-idf!52501
2026-09-14 10:55:51 +08:00
morris
c901c76e34 Merge branch 'fix/i2s_wav_player_dout_pin' into 'master'
fix(i2s): avoid using MSPI pin in wav_player example

See merge request espressif/esp-idf!52760
2026-09-14 10:25:02 +08:00
Wan Lei
18f20981cc Merge branch 'feat/rtcio_hysterisys_filter_support' into 'master'
feat(driver_gpio): rtcio hysterisys filter support

See merge request espressif/esp-idf!52335
2026-09-14 10:23:23 +08:00
Wan Lei
675006be70 Merge branch 'refactor/spi_sct_part_soc_header_refactor' into 'master'
refactor(driver_spi): refactor header styles of spi sct part on soc and lowlevel

Closes IDF-10583, IDF-10584, IDF-10585, IDF-10586, and IDF-13725

See merge request espressif/esp-idf!51676
2026-09-14 10:22:48 +08:00
Chen Chen
b63ecdc5a0 fix(i2s): use GPIO5 as wav_player default DOUT
GPIO7 is an MSPI flash pin on ESP32-H4, so the example fails to init I2S on that target.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 09:58:12 +08:00
Wang Meng Yang
62fe690ffd Merge branch 'bugfix/fix_pbac_pm_config' into 'master'
fix(bt/bluedroid): enable sniff power management for PBAP client

Closes BT-4500

See merge request espressif/esp-idf!52417
2026-09-14 08:16:50 +08:00
Wang Meng Yang
3d5e088811 Merge branch 'bugfix/msbc_oob_read' into 'master'
fix(bt/bluedroid): fixed OOB read dring mSBC sync word check

Closes BT-4505

See merge request espressif/esp-idf!52499
2026-09-14 08:07:07 +08:00
Mahavir Jain
0d1b945b16 Merge branch 'fix/fix_clk_tree_abba_deadlock' into 'master'
fix(esp32s31): break clk_tree and deadlock with PERIPH_RCC

Closes PM-871

See merge request espressif/esp-idf!52621
2026-09-13 16:40:51 +05:30
Mahavir Jain
4ce95a0296 Merge branch 'fix/esp_tls_cert_flags_on_handshake_failure' into 'master'
fix(esp-tls): report certificate flags when the handshake fails

Closes IDF-16151

See merge request espressif/esp-idf!52627
2026-09-13 16:22:44 +05:30
Rahul Tank
a1b76d3f45 Merge branch 'bugfix/nimble_gattc_write_long_zero_len' into 'master'
fix(nimble): Send Prepare Write Request before Execute Write in write long with zero-length data

Closes BLERP-2813

See merge request espressif/esp-idf!48832
2026-09-13 11:39:30 +05:30
Shreeyash Bhakare
8fd86fecde fix(nimble): Send Prepare Write Request before Execute Write with zero-length data 2026-09-13 09:12:59 +05:30
Roland Dobai
e3e95642e9 Merge branch 'feat/mcp_server_monitor' into 'master'
feat(tools): mcp-server added monitor-device tool

Closes IDFGH-17421 and IDFGH-17857

See merge request espressif/esp-idf!51734
2026-09-11 16:05:13 +02:00
Steven Yang
f49e27bfe8 fix(mcpwm): account for adjusted timer resolution in test 2026-09-11 21:37:12 +08:00
Marek Fiala
d648b858bb feat(tools): adopt esp-pylib for mcp-server logging and ports
Migrate the MCP server extension to the shared esp-pylib library:
- replace raw stderr prints with esp_pylib.logger.log (note/err)
- route informational logs to stderr via set_info_stream so stdout
  stays reserved for the MCP JSON-RPC transport
- enumerate connected devices via esp_pylib.serial_ports.get_port_names
- stub the new imports in the mcp_ext unit tests

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-11 15:20:45 +02:00
Marek Fiala
3f005c8a4d feat(tools): mcp-server added monitor-device tool
Add a `monitor_device` MCP tool that lets an AI agent run a scripted,
non-interactive `esp-idf-monitor` session against a flashed device and
get back a short status plus a log file path, instead of raw serial
output inline.

Under the hood:

- The agent supplies a plain-text command body (expect/send/sleep/reset/
  exit/comments). `assemble_monitor_script_from_agent_commands()` frames
  it into a script the monitor's non-interactive command mode can
  consume via stdin: it appends `exit` if the agent didn't already end
  with one, and rewrites every bare `expect <regex>` into `expect
  --timeout <timeout_sec> <regex>` via `_monitor_normalize_expect_line()`
  (an already-bounded `expect --timeout ...` line is left untouched so
  the monitor itself reports a bad value). A leading `reset` is not
  prepended - the monitor already resets the chip when it opens the
  port - and any `reset` the agent wrote is left in place.
  `_monitor_parse_sleep_duration()` extracts each `sleep <n>` duration.
  The effective timeout is the sum of every bounded expect duration
  plus every sleep duration. Scripts whose sum exceeds
  `MONITOR_MAX_SCRIPT_SEC` are rejected. If the script has neither
  expect nor sleep (for example only `send`), `timeout_sec` is used so
  the process still has a kill bound.

- `monitor_device()` runs `python -m esp_idf_monitor` via
  `subprocess.run(..., input=script, timeout=2 * effective_timeout)`.
  `no_reset` is forwarded as `--no-reset` so the connection reset can be
  skipped; an explicit `-p` is forwarded when a port is given. Extra
  arguments match `idf.py monitor` where a build exists: baud (`baud`
  tool arg, else `monitor_baud` from `project_description.json`),
  toolchain prefix, `--target`/`--revision`, coredump/panic decode, and
  ELF files with the app ELF first. The 2x hard timeout is a safety net
  independent of the script's own `expect --timeout`/`exit` logic; on
  `TimeoutExpired` the process is killed but any output already captured
  is preserved and logged. `decode_stream()` normalizes that captured
  output, which can be `bytes` on the timeout path even though the
  process otherwise runs in text mode.

- The monitor's exit code drives the reported status via
  `_monitor_status()`, using `EXIT_EXPECT_TIMEOUT` and
  `EXIT_SCRIPT_ERROR` from `esp_idf_monitor.base.constants`: 0 is
  success, 110 means an `expect` pattern never showed up before its
  `--timeout` elapsed, 2 means the monitor rejected the script (bad
  syntax/timeout/regex), anything else is reported generically.

- Serial output and the monitor's own messages share one pipe
  (`stderr=STDOUT`) so decoded panic backtraces stay next to the lines
  that triggered them. `_save_monitor_output()` writes the full merge to
  `<tempdir>/esp_idf_mcp_log/action_monitor/monitor_<timestamp>.log` and
  reports a dedicated `Log file:` line. On non-zero exit or process
  kill, a short tail of that same merge is also returned inline so the
  agent has some failure context without a second file read. If the log
  file can't be written, it falls back to inlining a truncated tail.

Closes https://github.com/espressif/esp-idf/issues/18757
Closes https://github.com/espressif/esp-idf/pull/18385

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-11 15:20:45 +02:00
Island
5621e186dc Merge branch 'refactor/ble-log-lbm-overhaul' into 'master'
refactor: BLE Log LBM Overhaul

See merge request espressif/esp-idf!52299
2026-09-11 20:09:53 +08:00
jiminxiang
6c9c9979d3 feat(ble_esl): speed up OTS by lengthening ACL events
A 15 ms link with max_ce_len=0 sent one DLE PDU per event and capped
badge frames at ~17 KB/s. Request 7.5–15 ms and a long CE, and refill
the single CoC TX slot instead of treating EBUSY as a hard failure.
2026-09-11 19:58:02 +08:00
jiminxiang
b17865bfa4 fix(ble_esl): apply persist review follow-ups
Let the app supply Absolute Time, keep the AP Sync Key global,
roll back a failed restore, and drop the dead SYNC_LOST generation.
2026-09-11 19:42:04 +08:00
Ivan Grokhotkov
3a20f7595f Merge branch 'feat/esp32s31_support_sta2eth' into 'master'
feat(examples): Add ESP32-S31 support to network/sta2eth example

See merge request espressif/esp-idf!49047
2026-09-11 13:05:02 +02:00
Ivan Grokhotkov
32cdd1d999 Merge branch 'refactor/usb_console_hal' into 'master'
refactor(console): Use esp_hal_usb APIs in USB console

Closes IDF-15755 and IDFGH-11591

See merge request espressif/esp-idf!51843
2026-09-11 13:04:53 +02:00
Ivan Grokhotkov
704fa1d8e2 Merge branch 'contrib/github_pr_18985' into 'master'
fix(usb): keep CDC ISR callbacks in IRAM (GitHub PR)

Closes IDFGH-18154 and IDFGH-17979

See merge request espressif/esp-idf!51990
2026-09-11 13:04:42 +02:00
Ivan Grokhotkov
b171649d67 Merge branch 'fix/usb_bbpll_light_sleep' into 'master'
fix(usb_phy): Fixed USB PHY clock during low-power modes

Closes IDFGH-14711

See merge request espressif/esp-idf!51822
2026-09-11 13:04:30 +02:00
Ivan Grokhotkov
10708d6ecd Merge branch 'feat/usb_fsls_only' into 'master'
feat(esp_hal_usb): Add option to run FS/LS only host on HS target

See merge request espressif/esp-idf!52184
2026-09-11 13:04:17 +02:00
zhanghaipeng
11949c27e6 fix(ble/bluedroid): use valid ATT error for Read Multiple assembly failure
Return GATT_INVALID_HANDLE instead of GATT_NOT_FOUND when Read Multiple
(Variable) response assembly fails, since 0x0A is not a valid ATT error
for these PDUs per Core Spec Vol 3 Part F.
2026-09-11 16:53:21 +08:00
Rahul Tank
7e5235a7a7 Merge branch 'bugfix/nimble_issues_08092026' into 'master'
fix(nimble): fix few nimble issues 08092026

Closes BLERP-3063

See merge request espressif/esp-idf!52593
2026-09-11 14:15:15 +05:30
Island
e871592435 Merge branch 'change/ble_update_lib_esp32h2_20260910' into 'master'
fix(bt): supported allocate memroy from spiram for ESP32-S31 and ESP32-H4

See merge request espressif/esp-idf!52707
2026-09-11 15:20:34 +08:00
wanckl
2d811702f3 feat(driver_spi): support master driver internal sct api on later chips 2026-09-11 15:05:20 +08:00
wanckl
3c89c34847 refactor(driver_spi): refactor spi sct parts lowlevel header styles 2026-09-11 15:05:20 +08:00
Tomas Rezucha
e8032f6ff6 feat(esp_hal_usb): Add option to run FS/LS only host on HS target
Add function usb_dwc_hal_init_with_config() that takes a bitmap
of configuration flags.
Currently only FS/LS only flag is implemented, but the design
allows extension in the future.
2026-09-11 14:22:44 +08:00
Chen Jichang
d4603212f8 feat(lcd): add MIPI-to-HDMI example (lt9611) 2026-09-11 14:17:40 +08:00
Marius Vikhammer
deb69a8dfe Merge branch 'fix/adjtime-offset-truncation' into 'master'
fix(esp_libc): reject out-of-range adjtime() deltas instead of overflowing

Closes IDFGH-18241

See merge request espressif/esp-idf!52498
2026-09-11 14:13:42 +08:00
Ashish Sharma
8fbfc7fc5f fix(esp-tls): report certificate flags when the handshake fails 2026-09-11 13:46:42 +08:00
Astha Verma
56f1ae2947 fix(nimble): Fix nimble HID service discovery 2026-09-11 11:16:03 +05:30
Rahul Tank
25c114e07a Merge branch 'bugfix/fix_compilation_issue' into 'master'
fix(nimble): Fixed compilation issues due to missing BLE_GATTS

See merge request espressif/esp-idf!52719
2026-09-11 10:37:49 +05:30
Mahavir Jain
957618d083 Merge branch 'fix/buildv2_fault_assert_opt_check' into 'master'
fix(esp_security): use EXECUTABLE in fault_assert_opt_check

See merge request espressif/esp-idf!52640
2026-09-11 09:53:36 +05:30
Mahavir Jain
78dac3a276 Merge branch 'test/tee_sec_stg_aead_len_bounds' into 'master'
test(esp_tee): fix oversized AEAD test to exercise the length check

See merge request espressif/esp-idf!52684
2026-09-11 09:50:21 +05:30
Marius Vikhammer
5f22e4390c Merge branch 'fix/console_stop_repl_join' into 'master'
fix(console): join the REPL task before esp_console_stop_repl frees it

See merge request espressif/esp-idf!52590
2026-09-11 11:11:34 +08:00
Jiang Jiang Jian
5755871cb4 Merge branch 'bugfix/idfci-13866' into 'master'
config wakeup gpio pin internal pullup to avoid input floating

Closes IDFCI-13866

See merge request espressif/esp-idf!52588
2026-09-11 10:47:04 +08:00
Jiang Jiang Jian
342dd1f9c4 Merge branch 'feat/esp_idf_h4_clk_tree_management' into 'master'
Feat/esp idf h4 h21 clk tree management

Closes PM-858 and PM-653

See merge request espressif/esp-idf!50653
2026-09-11 10:38:04 +08:00
Jiang Jiang Jian
57602151fa Merge branch 'fix/supplicant_checks' into 'master'
Fixed OOB read on short FT auth and RRM action frames

Closes SEC-766 and SEC-767

See merge request espressif/esp-idf!52683
2026-09-11 10:25:44 +08:00
Rahul Tank
1e07c30c9f fix(nimble): Fixed compilation issues due to missing BLE_GATTS 2026-09-11 07:29:56 +05:30