Commit Graph

24849 Commits

Author SHA1 Message Date
J. Nick Koston 77bbd70810 Merge remote-tracking branch 'origin/inline-ansi-reset' into integration 2026-03-15 20:42:27 -10:00
J. Nick Koston 712be2d2bc Merge branch 'dev' into inline-ansi-reset 2026-03-15 20:42:08 -10:00
J. Nick Koston 4d9b3b39a6 Merge branch 'inline-ansi-reset' into integration 2026-03-15 20:41:52 -10:00
J. Nick Koston d00c8ffe5c [logger] Inline write_() into write_body(), remove single-use helper 2026-03-15 20:41:38 -10:00
J. Nick Koston 62b6d93f1a Merge remote-tracking branch 'origin/ethernet-idf6-registry-components' into integration 2026-03-15 20:35:19 -10:00
J. Nick Koston 0cb5318e97 Merge remote-tracking branch 'upstream/inline-ansi-reset' into integration 2026-03-15 20:34:53 -10:00
J. Nick Koston 67386f0dd1 fix copilots manged suggestion 2026-03-15 20:34:25 -10:00
J. Nick Koston 968c0c2452 Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-03-15 20:27:07 -10:00
J. Nick Koston d201cc5d64 [logger] Use constexpr for ANSI reset sequence length 2026-03-15 20:19:34 -10:00
J. Nick Koston 1244b2c25d [logger] Inline ANSI reset sequence in LogBuffer::finalize_()
Replace write_() call with direct char stores for the 4-byte
ANSI reset sequence ("\033[0m"). This eliminates function call
overhead (entry/retw, bounds check, memcpy setup) on every log
message and avoids a rodata string reference that consumes RAM
on ESP8266.
2026-03-15 20:18:03 -10:00
dependabot[bot] 2ee0df1da3 Bump aioesphomeapi from 44.5.1 to 44.5.2 (#14849)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-16 05:43:38 +00:00
Jonathan Swoboda e1252e32d1 [deep_sleep] Fix ESP-IDF 6.0 GPIO wakeup API rename (#14846) 2026-03-15 19:10:30 -10:00
Jonathan Swoboda 1183ef825b [usb_host] Fix ESP-IDF 6.0 compatibility for external USB host component (#14844) 2026-03-15 19:09:55 -10:00
Keith Burzinski c09edb94c1 [tinyusb] Fix regression from bump to 2.x in #14796 (#14848) 2026-03-16 00:04:07 -05:00
J. Nick Koston 9948adc6a0 [runtime_image] Add esp-dsp dependency for JPEGDEC SIMD on ESP32 (#14840)
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-03-15 18:15:01 -10:00
J. Nick Koston ccb467b219 [fastled] Include esp_lcd IDF component for ESP32-S3 compatibility (#14839) 2026-03-15 18:14:41 -10:00
J. Nick Koston 97458f71d0 Merge remote-tracking branch 'origin/inline-finish-guard' into integration 2026-03-15 18:12:04 -10:00
J. Nick Koston a6c051ddce Merge remote-tracking branch 'origin/ethernet-mark-final' into integration 2026-03-15 18:12:01 -10:00
J. Nick Koston 0c72491498 Merge branch 'dev' into inline-finish-guard 2026-03-15 18:10:38 -10:00
J. Nick Koston 422147c370 bot comments 2026-03-15 18:10:14 -10:00
J. Nick Koston b7960ee19b [ethernet] Keep CONFIG_ETH_SPI_ETHERNET_* in defines.h for static analysis
On IDF 5.x, the ESP-IDF headers use CONFIG_ETH_SPI_ETHERNET_W5500 and
CONFIG_ETH_SPI_ETHERNET_DM9051 to conditionally expose the W5500/DM9051
types. Static analysis (clang-tidy) needs both the new USE_ETHERNET_*
defines and the old CONFIG_* defines to resolve all symbols.
2026-03-15 17:57:52 -10:00
J. Nick Koston d4bce7f042 [ethernet] Guard per-chip PHY/MAC includes with IDF >= 6.0
On IDF 5.x these headers don't exist as standalone files — they are
included internally via esp_eth.h. On IDF 6.0 they moved to registry
components and need explicit includes.

LAN867x is unchanged (external component since IDF 5.3).
2026-03-15 17:16:21 -10:00
J. Nick Koston 63a2abf19c [ethernet] Fix JL1101 on IDF 6.0: pioarduino doesn't have it patched
pioarduino only patches esp_eth_phy_new_jl1101() into IDF 5.4.2-5.x,
not IDF 6.0. Update guards in both the .c driver and .h declaration
to also compile when IDF >= 6.0.

Guard logic: compile custom driver when JL1101 configured AND
(IDF >= 6.0 OR IDF < 5.4.2 OR not PlatformIO)
2026-03-15 17:13:00 -10:00
J. Nick Koston 0183d2ca61 [ethernet] Only compile JL1101 driver when needed
- Exclude esp_eth_phy_jl1101.c when JL1101 is not configured
- Exclude on IDF 5.4.2-5.x where pioarduino has it builtin
- Keep custom driver for IDF < 5.4.2 and IDF 6.0+ (pioarduino may
  not have patched JL1101 into their IDF 6.0 fork yet)
- Always use esp_eth_phy_new_jl1101() in C++ (no generic fallback)
- Namespace ethernet type in CORE.data[KEY_ETHERNET]
2026-03-15 17:09:59 -10:00
J. Nick Koston 6e8ef55381 [ethernet] Fix AttributeError: CORE has no using_platformio
Only exclude esp_eth_phy_jl1101.c at the Python level on IDF >= 6.0.
On IDF 5.4.2+ with PlatformIO, the file's own preprocessor guard
(checking the C-level PLATFORMIO define) compiles it to empty.
2026-03-15 17:03:21 -10:00
J. Nick Koston d27b3e8c0f [ethernet] Add explicit PHY/MAC includes and exclude JL1101 driver when unused
- Add explicit includes for per-chip PHY/MAC headers (required on IDF 6.0
  where they are no longer pulled in via esp_eth.h, also works on IDF 5.x)
- Exclude esp_eth_phy_jl1101.c from compilation on IDF >= 6.0 (uses
  generic PHY) and IDF >= 5.4.2 with PlatformIO (uses builtin driver)
2026-03-15 17:01:29 -10:00
J. Nick Koston b636f2613d [ethernet] Add IDF 6.0 registry component dependencies
ESP-IDF 6.0 moved individual ethernet PHY and SPI MAC/PHY drivers out
of the builtin esp_eth component into the Espressif Component Registry.

Changes:
- Add USE_ETHERNET_W5500/DM9051 defines, replacing CONFIG_ETH_SPI_ETHERNET_*
  Kconfig options that were removed in IDF 6.0
- Conditionally pull registry components (lan87xx, rtl8201, dp83848,
  ip101, ksz80xx, w5500, dm9051) via add_idf_component() on IDF >= 6.0
- Skip CONFIG_ETH_SPI_ETHERNET_{TYPE} sdkconfig on IDF >= 6.0
- Fix emac_rmii_clock_gpio_t cast using decltype (enum removed in IDF 6.0)
- Use esp_eth_phy_new_generic() for OPENETH and JL1101 on IDF >= 6.0
- Fix JL1101 to work on IDF 5.4.2+ with PlatformIO (was previously
  falling through to mark_failed due to overly restrictive guard)
- Exclude custom JL1101 driver on IDF >= 6.0
- Add registry components to idf_component.yml for static analysis
- Update defines.h for static analysis

All changes maintain backward compatibility with IDF 5.x.
2026-03-15 16:57:19 -10:00
J. Nick Koston 39a8c181ae Merge branch 'ethernet-rp2040-w5500-impl' into ethernet-mark-final 2026-03-15 15:21:56 -10:00
J. Nick Koston fa7bb9e2d3 Merge remote-tracking branch 'origin/dev' into ethernet-rp2040-w5500-impl
# Conflicts:
#	esphome/components/ethernet/__init__.py
#	esphome/components/ethernet/ethernet_component.h
2026-03-15 15:21:20 -10:00
J. Nick Koston 1377776d21 [ethernet] Restructure for multi-platform support (#14819) 2026-03-15 15:17:21 -10:00
J. Nick Koston 29501ef4f8 [core] Mark leaf Component subclasses as final (#14833)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 15:13:34 -10:00
J. Nick Koston d97c23b8e3 [core] Add no-arg status_set_warning() to allow linker GC of const char* overload (#14821) 2026-03-15 15:13:10 -10:00
J. Nick Koston 2f02985813 Merge branch 'ethernet-mark-final' into integration 2026-03-15 14:46:08 -10:00
J. Nick Koston 0267dcc998 [ethernet] Mark EthernetComponent as final 2026-03-15 14:45:29 -10:00
J. Nick Koston 870f93d797 Merge remote-tracking branch 'upstream/dev' into integration 2026-03-15 14:30:46 -10:00
Bonne Eggleston 92d5e7b18c [tests] Fix integration helper to match entities exactly (#14837)
Co-authored-by: J. Nick Koston <nick@home-assistant.io>
2026-03-15 13:02:23 -10:00
Jesse Hills 15ce4b3616 Merge branch 'beta' into dev 2026-03-16 11:46:15 +13:00
Jesse Hills 254e1f3abb Merge pull request #14834 from esphome/bump-2026.3.0b2
2026.3.0b2
2026.3.0b2
2026-03-16 11:45:42 +13:00
Jesse Hills deb6b97eea Bump version to 2026.3.0b2 2026-03-16 09:25:21 +13:00
J. Nick Koston 22ea2764d4 [debug] Fix shared buffer between reset reason and wakeup cause (#14813) 2026-03-16 09:25:21 +13:00
J. Nick Koston 632dbc8fe8 [core] Inline LwIPLock as no-op on platforms without lwIP core locking (#14787) 2026-03-16 09:25:21 +13:00
leccelecce 98d9871620 [online_image] Log download duration in milliseconds instead of seconds (#14803) 2026-03-16 09:25:21 +13:00
J. Nick Koston a064eceb9b [template] Fix misleading 'Text value too long to save' warning (#14753) 2026-03-16 09:25:21 +13:00
J. Nick Koston 49107f2174 [api] Increase log Nagle coalescing on all platforms except ESP8266 (#14752) 2026-03-16 09:25:21 +13:00
J. Nick Koston e9c2659147 [select] Fix -Wmaybe-uninitialized warnings on ESP8266 (#14759) 2026-03-16 09:25:20 +13:00
Kjell Braden 18b54f075e [runtime_image] fix BMP parsing (#14762) 2026-03-16 09:25:20 +13:00
J. Nick Koston 45e40223ac [rp2040] Fix compiler warnings in crash_handler and mdns (#14739) 2026-03-16 09:25:20 +13:00
J. Nick Koston 1ab1534028 [mdns] Fix RP2040 mDNS not restarting after WiFi reconnect (#14737)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-16 09:25:20 +13:00
J. Nick Koston 039efdb02a [i2c] Fix RP2040 I2C bus selection based on pin assignment (#14745) 2026-03-16 09:25:20 +13:00
J. Nick Koston b0447dc521 [light] Fix binary light spamming 'brightness not supported' warning with strobe effect (#14735) 2026-03-16 09:25:20 +13:00