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
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
309cda0799
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-01 23:02:57 -10:00
Bonne Eggleston and J. Nick Koston
3160457ca6
Create integration tests for modbus ( #14395 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-03-01 22:51:27 -10:00
J. Nick Koston
8f83f5c9fc
Merge branch 'esp8266-wake-loop-any-context' into integration
2026-03-01 21:09:29 -10:00
J. Nick Koston
80a2acca4f
[ld2410] Add UART mock integration test for LD2410 component ( #14377 )
2026-03-01 18:19:32 -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
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 and 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 and Claude Opus 4.6
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 and Copilot
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
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 and Jonathan Swoboda
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
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 and Claude Opus 4.6
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
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