From 1f867e60f3e50602161659e0eaed9dccbab71339 Mon Sep 17 00:00:00 2001 From: ChuckBuilds <33324927+ChuckBuilds@users.noreply.github.com> Date: Fri, 11 Apr 2025 10:57:03 -0500 Subject: [PATCH] Optimize stock news display in controller: - Remove global sleep delay - Allow news display to run at full speed - Keep slower update rates for other displays --- src/display_controller.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/display_controller.py b/src/display_controller.py index 6b6c7e00..ddc555ee 100644 --- a/src/display_controller.py +++ b/src/display_controller.py @@ -113,12 +113,13 @@ class DisplayController: logger.info(f"Switching display to: {self.current_display} {self.weather_mode if self.current_display == 'weather' else ''}") self.last_switch = current_time self.force_clear = True - self.display_manager.clear() # Ensure clean transition + self.display_manager.clear() # Display current screen try: if self.current_display == 'clock' and self.config.get('clock', {}).get('enabled', False): self.clock.display_time(force_clear=self.force_clear) + time.sleep(self.update_interval) elif self.current_display == 'weather' and self.config.get('weather', {}).get('enabled', False): if self.weather_mode == 'current': self.weather.display_weather(force_clear=self.force_clear) @@ -126,9 +127,12 @@ class DisplayController: self.weather.display_hourly_forecast(force_clear=self.force_clear) else: # daily self.weather.display_daily_forecast(force_clear=self.force_clear) + time.sleep(self.update_interval) elif self.current_display == 'stocks' and self.config.get('stocks', {}).get('enabled', False): self.stocks.display_stocks(force_clear=self.force_clear) + time.sleep(self.update_interval) elif self.current_display == 'stock_news' and self.config.get('stock_news', {}).get('enabled', False): + # For news, we want to update as fast as possible without delay self.news.display_news() except Exception as e: logger.error(f"Error updating display: {e}") @@ -138,9 +142,6 @@ class DisplayController: # Reset force clear flag after use self.force_clear = False - # Sleep between updates - time.sleep(self.update_interval) - except KeyboardInterrupt: print("\nDisplay stopped by user") finally: