J. Nick Koston
f4d21e8582
Merge remote-tracking branch 'upstream/dev' into millis64-host-native
...
# Conflicts:
# esphome/components/host/core.cpp
# esphome/core/scheduler.cpp
# esphome/core/scheduler.h
2026-02-27 07:53:14 -10:00
J. Nick Koston
1c7f769ec7
[core] Add millis_64() HAL function with native ESP32 implementation ( #14339 )
2026-02-27 07:48:21 -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
20314b4d63
[mdns] Update espressif/mdns to v1.10.0 ( #14338 )
2026-02-27 17:20:08 +00:00
Kevin Ahrendt
017d1b2872
[audio] Bump microOpus to v0.3.4 ( #14346 )
2026-02-27 12:12:50 -05:00
Jonathan Swoboda and Copilot
ef9fc87351
[zigbee] Fix codegen ordering for basic/identify attribute lists ( #14343 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-27 11:17:04 -05: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
c7182404a3
[host] Use native clock_gettime for millis_64()
...
The host platform already uses clock_gettime(CLOCK_MONOTONIC) for
millis(). Use it directly for millis_64() instead of delegating to
the Scheduler's rollover tracking.
This eliminates the MULTI_ATOMICS rollover code path (CAS/atomic)
on host builds and removes the dependency on App.scheduler for
millis_64() to work.
2026-02-26 23:36:22 -10:00
J. Nick Koston
0e05ae56e5
Fix friend declaration for ESP8266 clang-tidy
...
The fully-qualified friend uint64_t ::esphome::millis_64() syntax
causes 'uint64_t is not a class, namespace, or enumeration' errors
on the ESP8266 clang-tidy toolchain. Use unqualified form which
resolves correctly within the esphome namespace.
2026-02-26 23:18:55 -10:00
J. Nick Koston
33d4f62510
Restore explicit cast for -Wsign-conversion consistency
...
millis() on the line above casts esp_timer_get_time() to uint32_t.
Match that pattern in millis_64() with static_cast<uint64_t> to
avoid implicit signed-to-unsigned conversion.
2026-02-26 23:05:18 -10:00
J. Nick Koston
554e2ac7f1
Use 1000ULL for consistency, tighten @param comment
...
- Use 1000ULL divisor in millis_64() to match millis() style and
avoid implicit signed-to-unsigned conversion
- Clarify next_schedule_in @param: now is unused for 64-bit
extension on ESP32, but still used for 32-bit paths in call()
2026-02-26 23:03:14 -10:00
J. Nick Koston
2a101832ca
Address review feedback
...
- Remove unnecessary uint64_t cast on esp_timer_get_time() (already
returns int64_t, always non-negative after boot)
- Fix next_schedule_in @param comment: now is only unused on ESP32,
used for rollover tracking on other platforms
- Use fully-qualified friend declaration (::esphome::millis_64())
2026-02-26 22:59:29 -10:00
J. Nick Koston
915b32cb33
Fix clang-tidy redundant-declaration warning
...
Include hal.h directly in scheduler.h instead of forward-declaring
millis_64(), which clang-tidy flags as redundant when both headers
are included in the same translation unit.
2026-02-26 22:52:48 -10:00
J. Nick Koston
420ecb4efd
[core] Add millis_64() HAL function with native ESP32 implementation
...
On ESP32, millis() truncates esp_timer_get_time() to 32-bit, then
Scheduler::millis_64_() reconstructs 64-bit using 193 bytes of
CAS/atomic/lock rollover tracking code. This is unnecessary since
esp_timer_get_time() already provides native 64-bit microseconds.
Add millis_64() as a HAL-level function alongside millis():
- ESP32: native esp_timer_get_time()/1000 (26 bytes, lock-free)
- Other platforms: delegate to Scheduler::millis_64_impl_() which
retains the existing rollover tracking (renamed from millis_64_)
Saves 344 bytes flash and ~8 bytes RAM on ESP32 by eliminating the
rollover tracking code and associated atomic fields. External callers
(uptime, web_server) now use millis_64() directly instead of
App.scheduler.millis_64().
2026-02-26 22:41:19 -10:00
dependabot[bot]
07406c96e1
Bump actions/upload-artifact from 6.0.0 to 7.0.0 ( #14326 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-26 21:35:15 -10:00
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
Keith Burzinski
656389f215
[usb_uart] Performance, correctness and reliability improvements ( #14333 )
2026-02-26 23:41:35 -06:00
J. Nick Koston and Claude Opus 4.6
04db37a34a
[esp8266] Remove forced scanf linkage to save ~8KB flash ( #13678 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-26 17:38:38 -10:00
J. Nick Koston
15846137a6
[rp2040] Update arduino-pico framework from 3.9.4 to 5.5.0 ( #14328 )
2026-02-26 15:17:52 -10:00
J. Nick Koston
50e7571f4c
[web_server_idf] Prefer make_unique_for_overwrite for noninit recv buffer ( #14279 )
2026-02-26 15:17:25 -10:00
J. Nick Koston and Claude Opus 4.6
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
George Joseph
527d4964f6
[mipi_dsi] Add more Waveshare panels and comments ( #14023 )
2026-02-27 11:38:07 +11:00
esphomebot and pre-commit-ci-lite[bot]
67ba68a1a0
Update webserver local assets to 20260226-220330 ( #14330 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-02-26 22:21:40 +00:00
lyubomirtraykov and J. Nick Koston
8bd474fd01
[api] Add DEFROSTING to ClimateAction ( #13976 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-02-26 10:27:18 -10: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
08035261b8
[libretiny] Use C++17 nested namespace syntax ( #14325 )
2026-02-26 10:02:36 -10:00
J. Nick Koston
e8b45e53fd
[libretiny] Use -Os optimization for ESPHome source on BK72xx (SDK remains at -O1) ( #14322 )
2026-02-26 10:02:25 -10:00
Jonathan Swoboda and Copilot
d325890148
[cc1101] Transition through IDLE in begin_tx/begin_rx for reliable state changes ( #14321 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-26 14:48:05 -05:00
dependabot[bot] and J. Nick Koston
8da1e3ce21
Bump ruff from 0.15.2 to 0.15.3 ( #14323 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-02-26 19:32:53 +00:00
dependabot[bot]
c149be20fc
Bump aioesphomeapi from 44.1.0 to 44.2.0 ( #14324 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-26 19:31:47 +00:00
J. Nick Koston
4c3bb1596e
[wifi] Use memcpy-based insertion sort for scan results ( #13960 )
2026-02-27 08:14:46 +13:00
J. Nick Koston
1912dcf03d
[core] Use placement new for global Application instance ( #14052 )
2026-02-27 08:07:42 +13:00
J. Nick Koston
ae16c3bae7
Add socket compile tests for libretiny platforms ( #14314 )
2026-02-26 08:25:36 -10:00
J. Nick Koston
be000eab4e
[ci] Add undocumented C++ API change checkbox and auto-label ( #14317 )
2026-02-26 08:02:52 -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
6c253f0c71
[sprinkler] Fix millis overflow and underflow bugs ( #14299 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-02-26 08:40:43 -05:00
J. Nick Koston
962cbfb9d8
[safe_mode] Mark SafeModeComponent and SafeModeTrigger as final ( #14282 )
2026-02-25 22:14:53 -05:00
J. Nick Koston
d52f8c9c6f
[web_server] Mark classes as final ( #14283 )
2026-02-25 22:14:33 -05:00
J. Nick Koston
ee4d67930f
[api] Mark ListEntitiesIterator and InitialStateIterator as final ( #14284 )
2026-02-25 22:14:16 -05:00
J. Nick Koston
cced0a82b5
[ota] Mark OTA backend and component leaf classes as final ( #14287 )
2026-02-25 22:14:04 -05:00
J. Nick Koston
478a876b01
[mdns] Mark MDNSComponent as final ( #14290 )
2026-02-25 22:13:51 -05:00
J. Nick Koston
789da5fdf8
[logger] Mark Logger and LoggerMessageTrigger as final ( #14291 )
2026-02-25 22:13:44 -05:00
Jesse Hills
bd08a56210
Merge branch 'release' into dev
2026-02-26 15:17:16 +13:00
Jesse Hills
f7843582e8
Merge pull request #14303 from esphome/bump-2026.2.2
...
2026.2.2
2026.2.2
2026-02-26 15:16:33 +13:00
Jesse Hills
2c749e9dbe
Bump version to 2026.2.2
2026-02-26 13:45:13 +13:00
Jonathan Swoboda and Copilot
8479664df1
[sensor] Fix delta filter percentage mode regression ( #14302 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-26 13:45:13 +13:00
Jonathan Swoboda and Copilot
5a1d6428b2
[hmc5883l] Fix wrong gain for 88uT range ( #14281 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-26 13:45:13 +13:00
Jonathan Swoboda and Copilot
a39be5a461
[rtttl] Fix speaker playback bugs ( #14280 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-26 13:45:13 +13:00
Jonathan Swoboda and Copilot
da930310b1
[ld2420] Fix sizeof vs value bug in register memcpy ( #14286 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-26 13:45:13 +13:00