J. Nick Koston c0e2d443f0 [esp8266] Move HAL bodies into components/esp8266/hal.cpp + inline arch_init()
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.
2026-04-29 05:56:42 -05:00
2023-06-12 17:00:34 +12:00
2022-09-06 15:48:01 +12:00
2024-03-28 10:20:51 +13:00
2025-07-17 22:40:28 +12:00
2025-12-08 14:37:45 -05:00
2026-04-09 11:28:48 +12:00
2025-07-17 22:40:28 +12:00
S
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%