The WiFi companion firmware previously had no reconnection handling after
the initial WiFi.begin() call. On ESP32 Arduino core 2.x, the built-in
auto-reconnect is unreliable, so if WiFi drops it never comes back.
This adds a periodic health check (every 60s) in checkRecvFrame() that
detects WiFi disconnection and calls WiFi.reconnect(). The check only
activates after WiFi has successfully connected at least once, so it
won't interfere with the initial connection attempt on startup.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>