Commit Graph
27075 Commits
Author SHA1 Message Date
J. Nick Koston d9ebe1e1e7 Merge branch 'crash-handler-dual-core' into integration 2026-04-08 09:34:33 -10:00
J. Nick Koston 3b11be2123 Merge branch 'crash-handler-dual-core' of https://github.com/swoboda1337/esphome into crash-handler-dual-core 2026-04-08 09:33:15 -10:00
J. Nick Koston ffd58ac8d5 dead store 2026-04-08 09:33:06 -10:00
J. Nick Koston 5e5e9879f4 Merge branch 'dev' into crash-handler-dual-core 2026-04-08 09:22:54 -10:00
Clyde Stubbs 7de060ed55 [lvgl] Fix args for lambda in set_rotation action (#15555) 2026-04-09 07:22:24 +12:00
J. Nick Koston 12d1dedb59 minimize iram code duplication 2026-04-08 09:20:41 -10:00
J. Nick Koston cfa41b3467 [codegen] Add cg.int8 type and fix templatable int8 types (#15573) 2026-04-09 07:20:16 +12:00
J. Nick Koston 0a42a11f1c [at581x] Fix non-templated frequency/power_consumption constants for TemplatableFn (#15576) 2026-04-08 09:10:46 -10:00
J. Nick Koston 063a8ce666 [codegen] Fix templatable uint32 type to use cg.uint32 (#15574) 2026-04-08 09:03:25 -10:00
J. Nick Koston a2bd83382b [codegen] Fix templatable uint8 type to use cg.uint8 (#15572) 2026-04-08 09:00:59 -10:00
J. Nick Koston 869cace2f3 [web_server] Truncate update entity summary to 256 characters (#15570) 2026-04-08 08:59:49 -10:00
J. Nick Koston b83edf6c17 [script] Resolve IncludeFile objects in component config merge (#15575) 2026-04-08 08:57:56 -10:00
J. Nick Koston e1aa92b983 [rotary_encoder] Fix templatable value type to use cg.int32 (#15567) 2026-04-08 14:13:37 -04:00
Jonathan Swoboda 2b07bebe8d Add bounds check on info->core and static_assert for dual-core 2026-04-08 09:00:43 -04:00
Jonathan Swoboda 4f06a913a8 Remove unnecessary comment 2026-04-08 08:58:51 -04:00
Jonathan Swoboda 3b22c4cd62 Capture both cores' backtraces in crash handler
On dual-core ESP32 chips, the crash handler now captures the backtrace
from both cores during a panic. This is especially useful for interrupt
WDT crashes where the panic runs on CPU0 (idle task) but the actual
problem is on CPU1 (where ESPHome's main loop runs).
2026-04-08 08:53:07 -04:00
J. Nick Koston a72609e640 [yaml] Resolve top-level IncludeFile in load_yaml (#15557) 2026-04-08 08:39:14 -04:00
J. Nick KostonandCopilot a8b7c7a4ac [core] Add TemplatableFn for 4-byte function-pointer templatable storage (#15545)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-08 08:38:00 -04:00
J. Nick Koston ca61dc5d69 Merge remote-tracking branch 'upstream/test_merge_to_beta_again' into integration 2026-04-07 22:48:15 -10:00
J. Nick Koston 7ba5398418 Merge remote-tracking branch 'upstream/templatable-value-specialize' into integration 2026-04-07 22:48:10 -10:00
J. Nick Koston 618ee77e43 Merge remote-tracking branch 'upstream/fix-test-build-include-file' into test_merge_to_beta_again 2026-04-07 22:47:14 -10:00
J. Nick Koston 09ac7f4c41 Merge remote-tracking branch 'upstream/templatable-value-specialize' into test_merge_to_beta_again 2026-04-07 22:47:07 -10:00
J. Nick Koston 67f26b6cf7 fix 8266 flash string opt 2026-04-07 22:46:31 -10:00
J. Nick Koston 5079c86d1d Merge remote-tracking branch 'upstream/templatable-value-specialize' into integration 2026-04-07 21:51:20 -10:00
J. Nick Koston 76ef8be109 make the bot happy 2026-04-07 21:50:25 -10:00
J. Nick Koston b53f1c694b Add test for top-level !include resolution in load_yaml 2026-04-07 21:36:49 -10:00
J. Nick Koston 19740f44b4 Merge branch 'templatable-value-specialize' into test_merge_to_beta_again 2026-04-07 21:33:46 -10:00
J. Nick Koston 15c0996364 Merge remote-tracking branch 'origin/fix-test-build-include-file' into test_merge_to_beta_again 2026-04-07 21:33:41 -10:00
J. Nick Koston 01ae695439 Fix load_yaml returning unresolved IncludeFile for top-level !include
Move the IncludeFile resolution into _load_yaml_internal so all callers
get resolved content, rather than patching individual call sites.
2026-04-07 21:33:06 -10:00
J. Nick Koston fe17c86f58 now fix is always the same for unwrapped 2026-04-07 21:32:20 -10:00
J. Nick Koston 64d3fa52ce Fix test_build_components crash with top-level !include test files
The IncludeFile representer added in #15549 defers !include resolution,
but the component test scripts assumed load_yaml always returns a dict.
Test files using top-level !include (e.g. usb_uart) caused a TypeError:
'argument of type IncludeFile is not iterable'.

Resolve IncludeFile objects by calling .load() before processing.
2026-04-07 21:25:41 -10:00
J. Nick Koston b18c911429 another one 2026-04-07 21:24:01 -10:00
J. Nick Koston 8c0e619803 fix missing templatable in lightwaverf and match name to code 2026-04-07 21:24:01 -10:00
J. Nick Koston a5819d1185 another one 2026-04-07 21:23:27 -10:00
J. Nick Koston a01ba05dca fix missing templatable in lightwaverf and match name to code 2026-04-07 21:20:26 -10:00
J. Nick Koston b9c4bf9f25 Merge branch 'test_merge_to_beta_again' of https://github.com/esphome/esphome into test_merge_to_beta_again 2026-04-07 19:59:22 -10:00
J. Nick Koston 0ec3d34a01 Merge branch 'templatable-value-specialize' into test_merge_to_beta_again 2026-04-07 19:59:15 -10:00
J. Nick Koston 49b2882f2b [core] Fix TemplatableValue union for non-trivially-constructible types
Add explicit Storage union with trivial ctor/dtor so that
TemplatableValue works with non-trivially-constructible types like
std::vector<uint8_t>. The union's value_ lifetime is managed
externally via placement new and destroy_().

Reverts esp32_ble_server back to TEMPLATABLE_VALUE macro.
2026-04-07 19:56:41 -10:00
J. Nick Koston ee83f525c4 [core] Use is_trivially_copyable_v for TemplatableStorage selection
TemplatableStorage now selects TemplatableFn (4 bytes) for trivially
copyable types and TemplatableValue (8 bytes) for non-trivial types.

This automatically handles std::string (PROGMEM support) and
std::vector<uint8_t> (raw value assignment from C++) without
special-casing.

Reverts esp32_ble_server back to TEMPLATABLE_VALUE macro since
std::vector<uint8_t> now correctly gets TemplatableValue.
2026-04-07 19:51:52 -10:00
J. Nick Koston e22ded3803 more fixes 2026-04-07 19:47:43 -10:00
J. Nick Koston 439c3c9cbc Merge branch 'templatable-value-specialize' of https://github.com/esphome/esphome into templatable-value-specialize 2026-04-07 19:43:13 -10:00
J. Nick Koston e7ab67c031 [multiple] Fix raw value codegen for TEMPLATABLE_VALUE setters
- max7219digit: wrap bool state via cg.templatable
- number: wrap operation enum and cycle bool in deprecated CONF_MODE path
- select: wrap operation enum and cycle bool in deprecated CONF_MODE path
- datetime: wrap ESPTime struct initializers via cg.templatable
- display: wrap DisplayPage* pointer via cg.templatable
- speaker/media_player: wrap AudioFile* pointer via cg.templatable
2026-04-07 19:43:04 -10:00
J. Nick Koston 04f7789afa Merge remote-tracking branch 'origin/templatable-value-specialize' into test_merge_to_beta_again 2026-04-07 19:28:07 -10:00
J. Nick Koston 1d83efd714 Merge remote-tracking branch 'origin/templatable-value-specialize' into integration 2026-04-07 19:27:56 -10:00
J. Nick Koston e7a33a93eb Merge branch 'dev' of https://github.com/esphome/esphome into templatable-value-specialize 2026-04-07 19:27:41 -10:00
J. Nick KostonandCopilot 03d0ff1861 Update esphome/cpp_generator.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-07 19:27:31 -10:00
J. Nick Koston 43183c33ba [esp32_ble_tracker] Wrap continuous bool via cg.templatable for TemplatableFn 2026-04-07 19:27:16 -10:00
J. Nick Koston 85d87d73c1 [esp32_ble_tracker] Wrap continuous bool via cg.templatable for TemplatableFn 2026-04-07 19:26:48 -10:00
J. Nick Koston fd6ee51c71 empty head 2026-04-07 19:15:17 -10:00
J. Nick Koston 2a79f91947 Merge remote-tracking branch 'upstream/dev' into integration 2026-04-07 19:14:39 -10:00