diff --git a/README.md b/README.md index 605a4d01..5b0f28ec 100644 --- a/README.md +++ b/README.md @@ -117,4 +117,4 @@ LEDSportsMatrix/ - `display_manager.py` - LED matrix display handling - `config/` - `config.json` - Configuration settings - - `config_secrets.json` - Private settings (not in git) \ No newline at end of file + - `config_secrets.json` - Private settings (not in git) diff --git a/src/stock_news_manager.py b/src/stock_news_manager.py index 61effd8d..1e37b3d1 100644 --- a/src/stock_news_manager.py +++ b/src/stock_news_manager.py @@ -28,6 +28,7 @@ class StockNewsManager: self.scroll_position = 0 self.cached_text_image = None # Cache for the text image self.cached_text = None # Cache for the text string + # Get scroll settings from config with faster defaults self.scroll_speed = self.stock_news_config.get('scroll_speed', 1) @@ -218,12 +219,13 @@ class StockNewsManager: text_width = self.cached_text_image.width text_height = self.cached_text_image.height + display_width = self.display_manager.matrix.width total_width = text_width + display_width # Update scroll position self.scroll_position = (self.scroll_position + self.scroll_speed) % total_width - + # Calculate the visible portion of the text visible_width = min(display_width, text_width - self.scroll_position) if visible_width > 0: diff --git a/test_stock_news_manager.py b/test_stock_news_manager.py index bd98f8e6..b84d92d3 100644 --- a/test_stock_news_manager.py +++ b/test_stock_news_manager.py @@ -10,7 +10,9 @@ print(f"Current working directory: {os.getcwd()}") def main(): """Test the StockNewsManager class directly.""" + display_manager = None + try: # Load configuration config_manager = ConfigManager() @@ -28,11 +30,13 @@ def main(): # Initialize display manager display_manager = DisplayManager(display_config) + # Clear the display and show a test pattern display_manager.clear() display_manager.update_display() time.sleep(1) # Give time to see the test pattern + # Initialize news manager with the loaded config news_manager = StockNewsManager(config, display_manager) @@ -54,6 +58,7 @@ def main(): display_manager.clear() display_manager.update_display() display_manager.cleanup() + print("Test completed") if __name__ == "__main__":