mirror of
https://github.com/liquidraver/ZephCore.git
synced 2026-10-22 12:22:31 +00:00
Stop doing UI work nobody asked for. The 5 s housekeeping tick was reading env sensors (I2C, 10-50 ms), the battery ADC (regulator toggle + 8 samples, every 60 s), and re-rendering the display unconditionally — all while the display might be off and nothing on-air had requested any of it. Now: - render_sensors() reads env sensors only when the user is on that page (event-driven, never fires during idle) - battery refresh is lazy on ui_pages_render() with a 30 s freshness guard; explicit ui_set_battery() calls also count - the unconditional OLED rerender from housekeeping is gone; real state changes (messages, BLE, button press) still fire schedule_render() directly Telemetry / stats paths read fresh ADC + sensors on demand and were never using the UI cache, so over-the-air consumers are unaffected.