mirror of
https://github.com/esphome/esphome.git
synced 2026-09-14 16:48:40 +00:00
fedf9d0ad537a9e77833eafb25884218526a359c
millis_64_impl_() handles 32-bit millis() rollover tracking for platforms without native 64-bit time (ESP8266, LibreTiny). It was a Scheduler method using Scheduler fields (last_millis_, millis_major_, lock_), but has nothing to do with scheduling. Move it to esphome/core/time_64.cpp as Millis64Impl::compute() with static local state. Access is restricted via friend to millis_64() (HAL) and Scheduler only. Also introduces USE_NATIVE_64BIT_TIME define emitted by ESP32, Host, Zephyr, and RP2040 platforms, replacing the verbose multi-platform #if guards throughout scheduler.h/cpp. time_64.cpp is only compiled on platforms that need it (ESP8266, LibreTiny) via the build filter in config.py. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Description
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Readme
Multiple Licenses
603 MiB
Languages
C++
55.8%
Python
43.6%
C
0.3%
JavaScript
0.2%
