Public Access
Reporter task counts consecutive heartbeat failures from the bool returned by reporter_heartbeat (Task 5). After 6 consecutive misses (~6 hours at the hourly cadence) the device logs EVT_HEARTBEAT_MISS then EVT_REBOOT(REBOOT_HEARTBEAT_MISS) and restarts, giving the whole network stack a clean reinitialization. The 200ms delay before the restart lets NVS commit the REBOOT entry so the next boot can report it via EVT_BOOT + esp_reset_reason().