- Strip const for the %p varargs call (the format spec takes void*, not
const void*; same representation everywhere but pedantically correct).
- Mention SELF_POINTER in the NameType discriminator comment.
- Update test docstring to match the actual const void * signatures.
So debug-only iteration logs in Scheduler::call() (the periodic items dump
and the per-item Running line) print the actual self pointer instead of
'self:(nil)'. Both STATIC_STRING and SELF_POINTER use the same pointer
union member, so a single accessor is the natural shape; drop the
unused get_self() helper that was added for this and update the union
member comments to mention SELF_POINTER and NUMERIC_ID_INTERNAL.
Followup #16111 dropped the cross-platform arch_get_cpu_cycle_count()
declaration from hal.h dispatcher and added bare decls to libretiny,
rp2040, host, and zephyr per-platform headers — but missed
hal_esp8266.h. ESP8266 callers (spi.h, uart_component_esp8266.cpp) now
fail clang-tidy with 'use of undeclared identifier'.
The body is still out-of-line in components/esp8266/core.cpp on this
PR; the inline def is added on the chained #16112 PR. Add a bare decl
here for now so #16111 builds in isolation.
The wrapper is a one-liner forwarding to Arduino's ::delayMicroseconds.
Add the forward decl to the existing NOLINTBEGIN block (alongside yield,
delay, micros, millis) and inline the body — same pattern as the other
Arduino-flavored wrappers in this header. Drops the out-of-line copy
from components/libretiny/hal.cpp.
- hal.cpp: include components/libretiny/core.h so the lt_* C API
(lt_wdt_enable, lt_reboot, lt_gpio_recover) and the LT_GPIO_RECOVER
macro are properly declared rather than relying on transitive includes.
core.h pulls <Arduino.h> which is libretiny's umbrella header.
- hal_libretiny.h: preserve the HOT attribute on arch_feed_wdt() — the
out-of-line wrapper had it; the inline now uses __attribute__((hot,
always_inline)) to keep the placement hint consistent with the other
platforms. The arch_restart() noreturn concern is already covered by
the dispatcher hal.h declaration ('void __attribute__((noreturn))
arch_restart();' is visible when the body is parsed).
crash_handler.h is itself guarded by #ifdef USE_ESP32_CRASH_HANDLER, so when
hal.cpp included it before defines.h, the namespace block was empty at parse
time and arch_init()'s USE_ESP32_CRASH_HANDLER branch failed with:
error: 'crash_handler_read_and_clear' is not a member of 'esphome::esp32'
Pull defines.h first so USE_ESP32_CRASH_HANDLER is defined before
crash_handler.h is parsed.