mirror of
https://github.com/esphome/esphome.git
synced 2026-07-10 08:55:36 +00:00
c0e2d443f0a7d71e3cb3ba4c8ce29c28cfef940d
Per-platform follow-up to #15977, chained on top of #16111. Move out-of-line HAL bodies (millis() fast accumulator, delay() poll, arch_restart, arch_get_cpu_cycle_count, arch_get_cpu_freq_hz, plus the __wrap_millis linker trampoline) from components/esp8266/core.cpp into a new components/esp8266/hal.cpp. core.cpp keeps only the ESP8266 firmware bootstrap (Tasmota OTA magic bytes, optional GPIO pre-init via resetPins) — single-purpose files. arch_init() is empty on ESP8266 so it is now inlined directly in core/hal/hal_esp8266.h alongside the other already-inlined wrappers (yield, micros, millis_64, delayMicroseconds, arch_feed_wdt, progmem_read_*). The dispatcher hal.h drops the cross-platform arch_init() declaration since at least one platform (ESP8266) inlines it now; bare declarations are added to the other per-platform headers (hal_esp32.h, hal_libretiny.h, hal_rp2040.h, hal_host.h, hal_zephyr.h) so future per-platform PRs only touch their own file.
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
545 MiB
Languages
C++
60.1%
Python
39.3%
C
0.3%
JavaScript
0.2%
