mirror of
https://github.com/esphome/esphome.git
synced 2026-09-13 08:17:34 +00:00
64ab62aaf9ae2b22ea0fc2096aba9092951c75b7
Last step in the HAL reorg started in #15977 and continued in the per-platform follow-ups #16111 (esp32), #16112 (esp8266), #16113 (libretiny), #16114 (rp2040), #16115 (host), #16116 (zephyr) — each of which moved its platform's out-of-line HAL bodies from components/<platform>/core.cpp into a new components/<platform>/hal.cpp. This PR moves each platform's HAL header next to its hal.cpp inside components/<platform>/, rather than under core/hal/. The dispatcher core/hal.h is updated to include from the new locations and the now-empty core/hal/ directory is removed. Unlike the wake split (#15978) where freertos-class platforms (ESP32 + LibreTiny) share a single wake_freertos.{h,cpp}, HAL primitives are genuinely per-platform — there is no shared HAL implementation across platforms — so the natural home is alongside each platform component rather than in a separate core/ subdirectory. Each .h file gains an empty 'namespace esphome::<platform> {}' block to satisfy ci-custom's lint_namespace check. HAL functions live in 'namespace esphome' (root); they are not part of the per-component API, matching the convention used by the corresponding hal.cpp files. Comment-only updates to the components/<platform>/hal.cpp files to reflect the new include path. No public API change, no behavior change.
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
613 MiB
Languages
C++
55.8%
Python
43.6%
C
0.3%
JavaScript
0.2%
