Commit Graph

2950 Commits

Author SHA1 Message Date
J. Nick Koston
2d20986a37 Merge remote-tracking branch 'upstream/remove-register-component-public' into integration 2026-02-27 21:43:30 -10:00
J. Nick Koston
9967fc54d5 Drop template wrapper, call register_component_ directly
The template wrapper caused the compiler to make different
optimization decisions on setup(), negating the savings.
Calling register_component_ directly was -4 bytes.

Co-Authored-By: J. Nick Koston <nick@koston.org>
2026-02-27 21:40:03 -10:00
J. Nick Koston
d2af639e71 Keep original template name to preserve compiler optimizations
Using the original register_component name (just moved to protected)
produces identical compiled output to the baseline, avoiding the
symbol name length overhead from renaming.

Co-Authored-By: J. Nick Koston <nick@koston.org>
2026-02-27 21:32:27 -10:00
J. Nick Koston
73fd1d68d5 Fix test_cpp_helpers to use register_component_
Co-Authored-By: J. Nick Koston <nick@koston.org>
2026-02-27 21:07:47 -10:00
J. Nick Koston
f926978f61 [core] Make register_component protected, remove runtime checks
Instead of runtime null, duplicate, and capacity checks in
register_component_, make the method unreachable from outside
codegen by removing the public template wrapper and granting
friend access to the codegen-generated ::setup() function.

Since ESPHOME_COMPONENT_COUNT is set to exactly
len(CORE.component_ids) at codegen time, the StaticVector is
always correctly sized and the runtime capacity check cannot
trigger from codegen. External components that bypassed codegen
to call App.register_component() directly will now get a
compile error, forcing them to properly declare their components
in their config schema.

Co-Authored-By: J. Nick Koston <nick@koston.org>
2026-02-27 21:05:34 -10:00
J. Nick Koston
49cc389bf0 [esp32] Wrap printf/vprintf/fprintf to eliminate _vfprintf_r (~11 KB flash) (#14362)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 17:28:05 -10:00
J. Nick Koston
41dac179ca Merge remote-tracking branch 'origin/pack-entity-strings' into integration 2026-02-27 16:02:21 -10:00
J. Nick Koston
e7d4f2608b [sen6x] Fix test sensor ID collisions with sen5x (#14367) 2026-02-27 16:01:17 -10:00
J. Nick Koston
42de1ca17f Merge branch 'fix-sen6x-test-id-collisions' into pack-entity-strings 2026-02-27 15:48:43 -10:00
J. Nick Koston
ff7dcae4a0 [sen6x] Fix test sensor ID collisions with sen5x
The sen6x test YAML used identical sensor IDs (pm_1_0, pm_2_5,
pm_4_0, pm_10_0) as sen5x, causing ID redefinition errors when
both components are tested together in grouped builds. Prefix
the sen6x IDs with sen6x_ to make them unique.
2026-02-27 15:47:29 -10:00
J. Nick Koston
f0eafd553d Merge remote-tracking branch 'upstream/dev' into pack-entity-strings
# Conflicts:
#	esphome/components/rp2040/core.cpp
2026-02-27 14:54:37 -10:00
J. Nick Koston
5ad9c9869f Merge branch 'dev' of https://github.com/esphome/esphome into integration 2026-02-27 14:49:11 -10:00
Jonathan Swoboda
298ee7b92e [gps] Fix codegen deadlock when automations reference sibling sensors (#14365)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-27 19:08:42 -05:00
J. Nick Koston
b840dfb7e5 Merge branch 'wrap-printf-stubs' into integration 2026-02-27 12:53:21 -10:00
J. Nick Koston
b2728cbd44 Address review: flush before abort, check fwrite errors, add test 2026-02-27 12:43:22 -10:00
J. Nick Koston
8c70472f60 Merge remote-tracking branch 'upstream/dev' into integration 2026-02-27 11:50:44 -10:00
Martin Ebner
b9d70dcda2 [sen6x] Add SEN6x sensor support (#12553)
Co-authored-by: Martin Ebner <martinebner@me.com>
Co-authored-by: Tobias Stanzel <tobi.stanzel@gmail.com>
Co-authored-by: Big Mike <mike@bigmike.land>
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com>
2026-02-27 16:41:28 -05:00
J. Nick Koston
32794b9fc0 Merge remote-tracking branch 'upstream/move-millis64-impl' into integration 2026-02-27 11:41:19 -10:00
Clyde Stubbs
2255c68377 [esp32] Enable execute_from_psram for P4 (#14329) 2026-02-28 06:40:55 +11:00
J. Nick Koston
58dfed237a Merge remote-tracking branch 'upstream/devirtualize-call-dump-config' into integration 2026-02-27 08:50:19 -10:00
J. Nick Koston
29e1e8bdfd [wifi] Add LibreTiny component test configs (#14351) 2026-02-27 18:45:20 +00:00
Michael Cassaniti
4ae7633418 [safe_mode] Add feature to explicitly mark a boot as successful (#14306)
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com>
2026-02-27 13:23:02 -05:00
J. Nick Koston
1ba667df97 Merge branch 'wifi-libretiny-test-configs' into integration 2026-02-27 08:18:56 -10:00
J. Nick Koston
86ef324309 Merge remote-tracking branch 'upstream/dev' into integration 2026-02-27 08:15:22 -10:00
J. Nick Koston
c7f99bd61a [wifi] Add LibreTiny test configs for BK72XX, RTL87XX, and LN882X
Add component test configurations for LibreTiny platforms so CI can
run compilation tests and memory impact analysis for LibreTiny WiFi
changes.
2026-02-27 08:12:02 -10:00
deirdreobyrne
72ca514cc2 [esp32_hosted] Add configurable SDIO clock frequency (#14319)
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Deirdre <obyrne@rk1.lan>
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com>
2026-02-27 17:25:53 +00:00
J. Nick Koston
0f7ac1726d [core] Extend fast select optimization to LibreTiny platforms (#14254)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 06:03:37 -10:00
whitty
bd3f8e006c [esp32_ble] allow setting of min/max key_size and auth_req_mode (#7138)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: J. Nick Koston <nick@home-assistant.io>
2026-02-27 06:02:29 -10:00
J. Nick Koston
2d9bb04ce9 Merge branch 'ble_set_security_params' into integration 2026-02-26 21:37:11 -10:00
J. Nick Koston
105d45c489 move tests to correct dir 2026-02-26 21:12:04 -10:00
J. Nick Koston
a6aa113086 fixes 2026-02-26 21:10:29 -10:00
J. Nick Koston
628b9d3e88 Merge branch 'dev' into ble_set_security_params 2026-02-26 23:54:21 -07:00
Jonathan Swoboda
4044520ccc [esp32_touch] Migrate to new unified touch sensor driver (esp_driver_touch_sens) (#14033)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io>
2026-02-26 20:38:36 -10:00
J. Nick Koston
e1df983b36 Merge branch 'esp32_touch_new_driver' into integration 2026-02-26 18:11:39 -10:00
J. Nick Koston
d03066846d Merge remote-tracking branch 'upstream/dev' into esp32_touch_new_driver 2026-02-26 17:36:25 -10:00
J. Nick Koston
1ccfcfc8d8 [time] Eliminate libc timezone bloat (~9.5KB flash ESP32, ~2% RAM on ESP8266) (#13635)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 15:12:44 -10:00
J. Nick Koston
4abd523dce Merge remote-tracking branch 'upstream/dev' into integration 2026-02-26 14:40:51 -10:00
Jonathan Swoboda
f38e419998 Merge branch 'dev' into esp32_touch_new_driver 2026-02-26 16:55:02 -05:00
Oliver Kleinecke
54edc46c7f [esp_ldo] Add channels 1&2 support and passthrough mode (#14177) 2026-02-27 07:12:52 +11:00
J. Nick Koston
9f1cc209d2 Merge branch 'extend_ultra_low_latency_select_libretiny' into integration 2026-02-26 08:45:13 -10:00
J. Nick Koston
2b25245a30 Merge branch 'dev' into extend_ultra_low_latency_select_libretiny 2026-02-26 11:25:53 -07:00
J. Nick Koston
ae16c3bae7 Add socket compile tests for libretiny platforms (#14314) 2026-02-26 08:25:36 -10:00
J. Nick Koston
da93485ae2 dry 2026-02-26 06:40:38 -10:00
J. Nick Koston
4c4a22b0c0 drop compile tests move to other pr 2026-02-26 06:30:30 -10:00
J. Nick Koston
3e50a22c76 Merge remote-tracking branch 'upstream/dev' into extend_ultra_low_latency_select_libretiny
# Conflicts:
#	esphome/components/socket/__init__.py
#	esphome/core/application.cpp
#	esphome/core/application.h
#	esphome/core/lwip_fast_select.c
#	esphome/core/lwip_fast_select.h
#	tests/components/socket/test_wake_loop_threadsafe.py
2026-02-26 06:27:15 -10:00
J. Nick Koston
a05d0202e6 [core] ESP32: massively reduce main loop socket polling overhead by replacing select() (#14249) 2026-02-26 06:21:27 -10:00
J. Nick Koston
113b1554aa Merge remote-tracking branch 'upstream/dev' into integration 2026-02-25 17:39:57 -07:00
Jonathan Swoboda
0d5b7df77d [sensor] Fix delta filter percentage mode regression (#14302)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-25 19:32:02 -05:00
J. Nick Koston
8bb577de64 [api] Split ProtoVarInt::parse into 32-bit and 64-bit phases (#14039) 2026-02-25 12:23:13 -06:00
J. Nick Koston
9494d58e07 Merge remote-tracking branch 'upstream/dev' into integration 2026-02-25 09:06:07 -07:00