Commit Graph
23410 Commits
Author SHA1 Message Date
J. Nick Koston 54f5df83a2 Merge remote-tracking branch 'upstream/millis64-zephyr-native' into integration 2026-02-27 09:04:49 -10:00
J. Nick Koston fad0d9ec30 Merge remote-tracking branch 'upstream/dev' into millis64-zephyr-native
# Conflicts:
#	esphome/core/scheduler.cpp
#	esphome/core/scheduler.h
2026-02-27 08:55:47 -10:00
J. Nick KostonandClaude Opus 4.6 8698b01bc7 [host] Use native clock_gettime for millis_64() (#14340)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 18:54:13 +00: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 KostonandCopilot 3411ce2150 [core] Fix Application asm label for Mach-O using __USER_LABEL_PREFIX__ (#14334)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-27 08:49:57 -10:00
J. Nick Koston 814b265d40 [component] Devirtualize call_dump_config
Remove virtual from Component::call_dump_config() since only
MQTTComponent overrode it. The MQTT override skipped dump_config
for internal entities, which unnecessarily hid useful debug info
from startup logs. The is_internal flag means "don't expose to
Home Assistant", not "don't log config".

This also removes one vtable entry from every Component subclass
and eliminates the indirect call overhead.
2026-02-27 08:49:27 -10:00
J. Nick Koston 29e1e8bdfd [wifi] Add LibreTiny component test configs (#14351) 2026-02-27 18:45:20 +00:00
J. Nick Koston 317dd5b2da [ci] Skip memory impact target branch build when tests don't exist (#14316) 2026-02-27 08:42:08 -10:00
J. Nick Koston 67003efcb5 [zephyr] Derive millis() from millis_64() to unify time source 2026-02-27 08:29:15 -10:00
Michael CassanitiandJonathan 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 7019bb1e5a Merge remote-tracking branch 'upstream/dev' into integration 2026-02-27 08:22:24 -10:00
J. Nick Koston 1ba667df97 Merge branch 'wifi-libretiny-test-configs' into integration 2026-02-27 08:18:56 -10:00
J. Nick Koston c3a0eeceec [wifi] Use direct SDK APIs for LibreTiny SSID retrieval (#14349) 2026-02-27 18:17:17 +00: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
J. Nick KostonandClaude Opus 4.6 8d932ed855 [zephyr] Use native k_uptime_get() for millis_64()
Zephyr's k_uptime_get() returns int64_t milliseconds directly,
eliminating the need for 32-bit rollover tracking on this platform.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 08:03:46 -10:00
J. Nick Koston 40632cb941 Revert "[zephyr] Use native k_uptime_get() for millis_64()"
This reverts commit 77baa0a187.
2026-02-27 08:03:34 -10:00
J. Nick KostonandClaude Opus 4.6 77baa0a187 [zephyr] Use native k_uptime_get() for millis_64()
Zephyr's k_uptime_get() returns int64_t milliseconds directly,
eliminating the need for 32-bit rollover tracking on this platform.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 08:01:43 -10:00
J. Nick Koston 4fe173b644 [wifi] Remove stale TODO comment for ESP8266 callback deferral (#14347) 2026-02-27 17:56:57 +00:00
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
J. Nick Koston bcc072508d Merge branch 'remove-stale-wifi-todo' into integration 2026-02-27 07:31:36 -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
J. Nick Koston 2ced8483cc [wifi] Remove stale TODO comment for ESP8266 callback deferral
All listener notifications (connect_state, disconnect, got_ip,
scan_complete) are now deferred to wifi_loop_() via pending_ flags.
The TODO was completed but the comment was never removed.
2026-02-27 06:40:43 -10:00
J. Nick Koston 0227f880c2 Merge remote-tracking branch 'upstream/dev' into integration 2026-02-27 06:33:58 -10:00
Jonathan SwobodaandCopilot 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 33be8a388e Merge remote-tracking branch 'upstream/dev' into integration 2026-02-27 06:16:36 -10:00
J. Nick KostonandClaude 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 4fbe9cace0 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 ESP8266 clang-tidy. Use unqualified form which resolves correctly
within the esphome namespace.
2026-02-26 23:18:31 -10:00
J. Nick Koston 6901908ead Merge remote-tracking branch 'origin/millis64-hal' into integration 2026-02-26 23:07:24 -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 bff1c86a4b 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:11 -10:00
J. Nick Koston 001124bc73 Merge branch 'millis64-hal' into integration 2026-02-26 22:54:40 -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
J. Nick Koston 511390d507 Merge remote-tracking branch 'bdraco/update-mdns-1.10.0' into integration 2026-02-26 21:48:36 -10:00
J. Nick Koston 43eba3ff1b [mdns] Update espressif/mdns to v1.10.0
Update the ESP-IDF mdns component from v1.9.1 to v1.10.0.
2026-02-26 21:45:58 -10:00
J. Nick Koston 2d9bb04ce9 Merge branch 'ble_set_security_params' into integration 2026-02-26 21:37:11 -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
J. Nick Koston 105d45c489 move tests to correct dir 2026-02-26 21:12:04 -10:00
J. Nick Koston a6aa113086 fixes 2026-02-26 21:10:29 -10:00
J. Nick Koston 628b9d3e88 Merge branch 'dev' into ble_set_security_params 2026-02-26 23:54:21 -07:00
J. Nick Koston bde509673d Merge remote-tracking branch 'upstream/dev' into integration 2026-02-26 20:48:13 -10:00