mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-09-14 15:16:40 +00:00
_shutdown_init (set true once KEY_ENTER is pressed on the Shutdown home page) was never cleared, so this branch kept calling _task->shutdown() on every single poll() tick indefinitely once triggered. Invisible on real hardware: _board->powerOff() halts the MCU in the non-restart path, so there's no next tick to matter. But SimMainBoard::powerOff() is a deliberate no-op (no real hardware to power off), so a sim instance keeps running after "shutdown" -- and each repeated shutdown() call re-fires _display->turnOff(), which blacks out its <canvas> (keyed by simInstanceTag) again on every frame. This is what made meshcore-solo-site's RESET button unusable after a device had been shut down: the still-running old instance kept re-blacking the very canvas a freshly reset instance (same tag, same canvas element) was trying to render its own boot splash onto -- visible as a black screen, with the new instance's splash winning a single frame every so often before being painted over again. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018iubftDmKNWmkNnhJRz8UH