J. Nick Koston
83252df908
[core] Split hal.h into per-platform headers under core/hal/
...
Mirror the wake.{h,cpp} → wake/wake_<platform>.{h,cpp} decomposition
that PR #15978 did. After this change esphome/core/hal.h is a thin
dispatcher and each platform's HAL bits (IRAM_ATTR / PROGMEM macros,
in_isr_context(), the inline yield/delay/micros/millis/millis_64
wrappers, plus ESP8266's progmem_read_*) live in their own header
under esphome/core/hal/.
Scope is headers only — there is no esphome/core/hal.cpp today (every
out-of-line implementation lives in esphome/components/<platform>/core.cpp
alongside platform-specific concerns) so no new .cpp files are added
and no FILTER_SOURCE_FILES entries are needed in core/config.py.
recursive_sources=True on the core manifest already picks up the new
.h files automatically.
No public API moves, no symbol renames, no behavior change. Pure code
motion. The only observable difference is the dispatcher #errors when
no USE_* is set (today an unknown platform silently fell through to
the else branch with empty IRAM_ATTR/PROGMEM); this matches wake.h's
behavior.
2026-04-29 05:16:27 -05:00
J. Nick Koston
063fec1796
Merge branch 'dev' into inline-micros-esp32
2026-04-29 05:14:57 -05:00
J. Nick Koston
8ceada8d04
[core] Download external_files in parallel ( #16021 )
2026-04-29 14:32:30 +12:00
J. Nick Koston
49c7a6928e
[script] Fix cpp_unit_test crash for non-MULTI_CONF platform components ( #16104 )
2026-04-29 14:32:13 +12:00
J. Nick Koston
2fce71e0d4
[wifi] Add phy_mode option for ESP8266 ( #16055 )
2026-04-29 14:31:07 +12:00
J. Nick Koston
80251c54be
[climate] Add climate.control coverage to component tests via thermostat ( #16052 )
2026-04-29 14:27:56 +12:00
J. Nick Koston
0d51a122d0
[cover] Add cover.control / cover.template.publish coverage to template tests ( #16051 )
2026-04-29 14:27:40 +12:00
J. Nick Koston
5a33c50015
[light] Use constexpr template for DimRelativeAction transition_length ( #16038 )
2026-04-29 14:26:38 +12:00
J. Nick Koston
0d150dc57e
[light] Use constexpr template for ToggleAction transition_length ( #16037 )
2026-04-29 14:25:18 +12:00
J. Nick Koston
d287876d8d
[light] Use bitmask template for LightControlAction unused fields ( #16039 )
2026-04-29 14:20:37 +12:00
J. Nick Koston
592486ae9a
[analyze_memory] Attribute main.cpp setup()/loop() to esphome core ( #16033 )
2026-04-29 14:06:54 +12:00
J. Nick Koston
4f75647f63
Merge upstream/dev into inline-micros-esp32
...
Resolves conflict in esphome/components/esp8266/core.cpp per PR #15977 plan:
keep #15662 's fast millis() accumulator and optimistic_yield delay() body;
drop the upstream wrappers for yield()/millis_64()/micros() since those
are now always-inlined in hal.h.
2026-04-28 20:54:39 -05:00
Jonathan Swoboda
c3bd38af77
[feedback] Fix bugprone-unchecked-optional-access in start_direction_ ( #16103 )
2026-04-28 21:54:15 -04:00
J. Nick Koston
eec770d622
[core] Use ETag in external_files cache to fix re-downloads from raw.githubusercontent.com ( #16020 )
2026-04-29 13:52:09 +12:00
J. Nick Koston
d7b21a84a3
[git] Make ref fetches and submodule updates shallow ( #16014 )
2026-04-29 13:49:51 +12:00
J. Nick Koston
f05243bd9d
[api] Add 48-bit MAC address varint fast path for BLE advertisements ( #15988 )
2026-04-29 13:48:35 +12:00
J. Nick Koston
35cb28edfe
[output] Gate FloatOutput power scaling fields behind USE_OUTPUT_FLOAT_POWER_SCALING ( #15998 )
2026-04-29 13:27:22 +12:00
J. Nick Koston
1363f661e6
[core] Inline ContinuationAction in If/While/RepeatAction ( #16040 )
2026-04-28 21:26:25 -04:00
J. Nick Koston
8af499b591
[api] Use custom deleter to fix incomplete-type error on macOS libc++ ( #16050 )
2026-04-28 21:26:21 -04:00
Jonathan Swoboda
1a57d9bc2f
[sprinkler][pn532] Fix bugprone-unchecked-optional-access ( #16102 )
2026-04-29 01:04:19 +00:00
J. Nick Koston
9768380856
[api] Hoist memw out of socket ready check to once per main-loop iter ( #15996 )
2026-04-29 13:04:10 +12:00
J. Nick Koston
676f26919e
[mdns] Drive MDNS.update() polling from IP state events on ESP8266/RP2040 ( #15961 )
2026-04-29 13:02:21 +12:00
J. Nick Koston
29d3a3a498
[esp8266] Replace millis() with fast accumulator, wrap Arduino callers ( #15662 )
2026-04-29 12:58:00 +12:00
Jonathan Swoboda
77b76ac48a
[inkbird_ibsth1_mini][speaker][speaker_source] Fix performance-unnecessary-copy-initialization ( #16101 )
2026-04-29 00:56:03 +00:00
Clyde Stubbs
0b5835284a
[lvgl] Additional layout features ( #16041 )
2026-04-29 12:35:24 +12:00
Jonathan Swoboda and J. Nick Koston
15df477472
[core] Reduce copies in Callback/CallbackManager call paths ( #16093 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-04-28 19:41:28 -04:00
Jonathan Swoboda
be0ee73847
[i2c] NOLINT readability-identifier-naming on Zephyr struct forward-decl ( #16099 )
2026-04-28 19:22:42 -04:00
Jonathan Swoboda
a241c9e622
[online_image][sim800l] Use std::string::starts_with for prefix checks ( #16097 )
2026-04-28 19:02:39 -04:00
Jonathan Swoboda
2f433c78bd
[haier] Brace single-statement else-if in smartair2_climate ( #16098 )
2026-04-28 18:56:36 -04:00
Jonathan Swoboda
e39c474577
[binary_sensor] Bind at_index_ once in MultiClick on_state_ ( #16095 )
2026-04-28 22:13:35 +00:00
Jonathan Swoboda
a62e3fe4fc
[json] NOLINT StackAddressEscape false positive in parse_json ( #16091 )
2026-04-28 21:35:40 +00:00
Jonathan Swoboda
7d6b9bee19
[wifi] Avoid copying EAP config in three connect handlers ( #16094 )
2026-04-28 21:22:29 +00:00
Jonathan Swoboda
ab6bda50e4
[esp32_ble] Widen loop variable in as_128bit() to match uuid_.len type ( #16088 )
2026-04-28 20:58:40 +00:00
Jonathan Swoboda
3d195d748c
[ezo] Use make_unique to construct EzoCommand ( #16092 )
2026-04-28 20:50:15 +00:00
Jonathan Swoboda
16cf4fb5e8
[nextion] Use std::string::starts_with for HTTPS URL check ( #16090 )
2026-04-28 20:47:20 +00:00
Jonathan Swoboda
70503442f4
[dfrobot_sen0395] Brace single-statement else-if in enqueue() ( #16089 )
2026-04-28 20:37:29 +00:00
Jonathan Swoboda
594b269dba
[bme680] Rename cal1/cal2 to coeff1/coeff2 ( #16087 )
2026-04-28 20:33:57 +00:00
Clyde Stubbs
8157c721a5
[mapping] Implement default value ( #15861 )
2026-04-29 06:31:37 +10:00
Clyde Stubbs
9af557de6d
[lvgl] Add utility gradient function ( #16048 )
2026-04-29 06:29:38 +10:00
Jonathan Swoboda
1f4136e76f
[pipsolar] Guard handle_qmod_ against empty message ( #16085 )
2026-04-28 16:29:09 -04:00
Jonathan Swoboda
c8dffcc9b8
[tlc5971] Remove dead bit-banging delay code ( #16086 )
2026-04-28 15:28:33 -05:00
dependabot[bot]
44fbb7f5a9
Bump CodSpeedHQ/action from 4.14.0 to 4.15.0 ( #16084 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-28 15:10:21 -05:00
Jonathan Swoboda
eb01d43feb
[spi][http_request][demo] Fix latent clang-tidy issues in headers ( #16080 )
2026-04-28 16:09:35 -04:00
Jonathan Swoboda
7891fd5cf1
Add dependencies.lock to .gitignore ( #16081 )
2026-04-29 07:38:31 +12:00
Jonathan Swoboda
4ee9cc432b
[ci] Install requirements_dev.txt in the cached venv ( #16082 )
2026-04-29 07:37:46 +12:00
Mat931
42ff10afe5
[watchdog] Fix WatchdogManager on single core apps ( #16074 )
2026-04-28 17:32:44 +00:00
tomaszduda23 and J. Nick Koston
6b3df66bdc
[nrf52] make reset pin optional ( #11684 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-28 12:20:38 -05:00
968878a62d
[nrf52] implement wake_loop_threadsafe/wakeable_delay ( #16032 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-28 16:35:12 +00:00
J. Nick Koston
daf3f4d2f1
[core] wakeable_delay: yield on already-woken fast path (ESP8266, RP2040) ( #16045 )
2026-04-28 10:41:17 -05:00
Bonne Eggleston and J. Nick Koston
52e8c50f45
[modbus] Split modbus_server from modbus_controller ( #15509 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-04-28 10:21:25 -05:00