J. Nick Koston
c52ff5dcbc
Merge branch 'configure_entity' into integration
...
# Conflicts:
# esphome/core/entity_base.h
2026-03-03 12:12:01 -10:00
J. Nick Koston and Claude Opus 4.6
42fa6ef818
[core] Merge set_name + set_entity_strings into configure_entity
...
Every entity generated two codegen calls:
entity->set_name("Name", hash);
entity->set_entity_strings(packed);
Merge these into a single configure_entity(name, hash, packed) call
to reduce generated code size. For a config with 50+ entities this
eliminates 50+ function calls from the generated setup() function.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 11:47:14 -10:00
J. Nick Koston
214a27d49f
Merge branch 'move_device_class_progmem' into integration
2026-03-03 11:23:20 -10:00
J. Nick Koston
2fe9de7dbc
add max length validation for device class strings
...
Defense-in-depth: validate device class strings don't exceed the
48-byte PROGMEM buffer limit (47 chars + null), matching the same
pattern used for icon strings.
2026-03-03 11:23:06 -10:00
J. Nick Koston
6fd20056ad
Merge branch 'move_icons_progmem' into integration
2026-03-03 08:23:52 -10:00
J. Nick Koston
1108511c63
move icons to progmem
2026-03-03 08:06:55 -10:00
J. Nick Koston
1f1b20f4fe
[core] Pack entity string properties into PROGMEM-indexed uint8_t fields ( #14171 )
2026-03-03 07:03:24 -10:00
J. Nick Koston
74eda7fc01
Merge remote-tracking branch 'origin/pack-entity-strings' into integration
2026-03-02 09:31:46 -10:00
J. Nick Koston
8ee800bb35
Merge remote-tracking branch 'upstream/esp32-millis-euclidean-decomposition' into integration
2026-03-02 07:53:19 -10:00
J. Nick Koston
96a564a6e9
[core] Replace Python unit tests with C++ integration test for micros_to_millis
...
The Python tests were testing a Python reimplementation, not the
actual C++ code. Replace with an integration test that exercises
the real micros_to_millis() on the host platform, covering boundary
values, carry paths, and mod-8 shift edge cases (25 checks).
2026-03-02 07:41:52 -10:00
J. Nick Koston
61eb8f3e14
Merge remote-tracking branch 'upstream/cache-lwip-sock-pointers' into integration
...
# Conflicts:
# esphome/components/esp32/core.cpp
# esphome/components/esp8266/core.cpp
# esphome/components/host/core.cpp
# esphome/components/libretiny/core.cpp
# esphome/components/rp2040/core.cpp
# esphome/components/zephyr/core.cpp
# esphome/core/application.cpp
# esphome/core/hal.h
2026-03-02 07:38:28 -10:00
J. Nick Koston
15a792ecce
bot review
2026-03-02 07:34:47 -10:00
J. Nick Koston
deea16698d
Add tests for setup_entity direct-call and decorator modes
2026-03-02 07:13:49 -10:00
J. Nick Koston and Claude Opus 4.6
0f9c71714e
Merge remote-tracking branch 'upstream/dev' into pack-entity-strings
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-02 07:05:08 -10:00
J. Nick Koston
a1d91ac779
[core] Compile-time detection of loop() overrides ( #14405 )
2026-03-02 06:59:23 -10:00
J. Nick Koston
82da4935b6
[core] Auto-wrap static strings in PROGMEM on ESP8266 via TemplatableValue ( #13885 )
2026-03-02 06:57:08 -10:00
77a7cbcffd
Use cached files on network errors in external_files ( #14055 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: jesserockz <3060199+jesserockz@users.noreply.github.com >
2026-03-02 11:41:20 -05:00
J. Nick Koston
5041bc06aa
Merge remote-tracking branch 'upstream/esp32-millis-euclidean-decomposition' into integration
2026-03-02 00:22:05 -10:00
J. Nick Koston
cff32556a2
Add static_asserts and type hints to tests
...
Add compile-time static_asserts for micros_to_millis correctness.
Add parameter type hints and return annotations to test functions.
2026-03-02 00:21:44 -10:00
J. Nick Koston
7bed94aa38
Merge remote-tracking branch 'upstream/esp32-millis-euclidean-decomposition' into integration
2026-03-02 00:11:13 -10:00
J. Nick Koston
df57c21368
[core] Template micros_to_millis for both 32/64-bit results
...
Make micros_to_millis a template on return type (default uint32_t).
millis_64() now calls micros_to_millis<uint64_t>() to eliminate
__udivdi3 there too — same Euclidean decomposition, just with a
32x32->64 multiply for hi*Q instead of truncating.
Add 64-bit variant tests (140 total, all passing).
2026-03-02 00:11:02 -10:00
J. Nick Koston
a8f8c3753f
Merge remote-tracking branch 'upstream/esp32-millis-euclidean-decomposition' into integration
2026-03-02 00:10:32 -10:00
J. Nick Koston
99aa5043a3
[core] Add unit tests for micros_to_millis, make constexpr
...
Add Python unit tests (70 cases) verifying the Euclidean decomposition
matches us // 1000 across edge cases: small values, hi/lo boundaries,
carry-path overflow, realistic uptimes, and shift-boundary mod-8
variations.
Make micros_to_millis constexpr to enable compile-time validation
via static_assert.
2026-03-02 00:05:06 -10:00
J. Nick Koston
c876b95af5
Merge branch 'compile-time-has-overridden-loop' into integration
...
# Conflicts:
# esphome/core/application.cpp
2026-03-01 12:08:14 -10:00
J. Nick Koston
78257db36a
fix tests
2026-03-01 11:57:58 -10:00
J. Nick Koston
48b5cae6c4
[api] Use StringRef for user service string arguments ( #13974 )
2026-03-02 10:32:44 +13:00
J. Nick Koston
4ac226dbd5
Merge branch 'dev' into pack-entity-strings
2026-02-28 13:13:35 -10:00
J. Nick Koston
067d773aac
[core] Make register_component protected, remove runtime checks ( #14371 )
2026-02-28 07:19:55 -10:00
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 and 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 and 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 and 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
c98b955881
Merge remote-tracking branch 'origin/pack-entity-strings' into integration
2026-02-21 22:13:39 -06:00
J. Nick Koston
5fd0ee1717
Merge branch 'dev' into pack-entity-strings
2026-02-21 22:12:49 -06:00
J. Nick Koston
655968af66
Merge remote-tracking branch 'origin/api-stringref-user-services' into integration
2026-02-21 22:10:03 -06:00
J. Nick Koston
d21d897766
deferred
2026-02-21 21:12:31 -06:00
J. Nick Koston
38058d0308
deferred
2026-02-21 21:07:21 -06:00
J. Nick Koston
fa343aa1ba
tweaks
2026-02-21 20:49:49 -06:00
J. Nick Koston
ec1dbd39ae
tests
2026-02-21 20:37:28 -06:00
J. Nick Koston
d5c9c56fdf
[platformio] Add exponential backoff and session reset to download retries ( #14191 )
2026-02-21 19:41:43 -06:00
J. Nick Koston
e74506b957
Merge branch 'scheduler_de_template' into integration
2026-02-21 17:34:37 -06:00
tomaszduda23
48ba007c22
[nrf52] print line number after crash in logs ( #14165 )
2026-02-21 14:16:20 -05:00
J. Nick Koston
f1578351aa
empty
2026-02-20 22:46:59 -06:00
J. Nick Koston
4eac632939
pack_entity_strings
2026-02-20 22:36:15 -06:00
J. Nick Koston and Claude Opus 4.6
d29288547e
[core] Use constexpr for PROGMEM arrays ( #14127 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-19 18:54:33 -06:00
J. Nick Koston
0e6d0a0918
Merge branch 'constexpr-progmem' into integration
2026-02-19 16:40:31 -06:00
J. Nick Koston and Claude Opus 4.6
41346716cc
[core] Use constexpr for PROGMEM arrays
...
Change progmem_array codegen from `static const` to `static constexpr`.
This ensures the compiler evaluates the array at compile time with no
runtime initialization, and is the correct qualifier for constant data
known at compile time.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-19 16:33:38 -06:00
J. Nick Koston
2d9e214879
Merge branch 'app-dump-config-uint16' into integration
2026-02-18 12:41:59 -06:00
Jonathan Swoboda and Claude Opus 4.6
9cd7b0b32b
[external_components] Clean up incomplete clone on failed ref fetch ( #14051 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-18 18:09:33 +00:00
J. Nick Koston
abb88f6b0f
Merge remote-tracking branch 'origin/api-flash-string-progmem' into integration
2026-02-09 11:16:41 -06:00