mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-04-10 21:03:01 +00:00
* Opening Bell Introducing the Stock Ticker Feature * Update stock_manager.py Assume folder exists * Update stock_manager.py removing logos to focus on function for now * Update stock_manager.py parse yahoo scripts * Update stock_manager.py stock query update * Update stock_manager.py slow down stock display * Update display_controller.py adjust screen flow * Update stock_manager.py shipping features * Update stock_manager.py stock refresh in the background * Customize Display timings customize display timings * Update stock_manager.py stock font size change * Sizing and Spacing CHanged font sizing on chart and clock spacing * Update clock.py Date format changes * Update stock_manager.py actually read stocks from config file * Update stock_manager.py add config manager * readme update readme update and formatting for better flow * Update .gitignore rename reference folder * Update config.json changed default stocks to test update implementation * Stock News Stock news Ticker * Update config.json increase scroll speed * Scroll Performance Tuning news scrolling performance * updating scroll direction orienting scroll direction * News tuning removed test files and increased scroll speed * Create test_news_manager.py need a test script to call upon * Update test_news_manager.py test script tuning * troubleshooting test script * Update test_news_manager.py * Update config.json scroll speed increases * Update config.json scroll tuning * Update config.json speeding up * Update config.json still making text faster * Update config.json Trying to tune scrolling * Update config.json testing crazy parameters * Update test_news_manager.py remove sleep delay * scroll tuning scroll tuning * scroll logging and debugging FPS counter and debug messages * Update config.json matrix speed tuning * Update news_manager.py News separator * Update news_manager.py separator character change * Stock News manager Rename rename stock news ticker to enable other news in the future * Update display_controller.py load config update * Update stock_manager.py remove redundant import * Stock news settings Stock news has more granular control * Stock news joins the lineup Stock News added to the display controller and drawing display instead of image * Optimize scrolling text performance for news ticker * Adjust matrix settings to reduce artifacting while maintaining performance * changed float to integer * Fix news ticker performance with simplified scrolling mechanism * Fix stock news scrolling in test environment: - Optimize display manager settings for smooth scrolling - Add proper display initialization and cleanup in test script - Implement timing control to prevent display buffer overflow - Ensure consistent 1ms delay between updates for smooth scrolling * Optimize stock news scrolling for better performance: - Use pre-rendered text image for efficient scrolling - Implement cropping and pasting for smoother animation - Remove unnecessary display operations and delays * Optimize stock news display performance: - Cache text image to reduce rendering overhead - Improve frame creation and update logic - Optimize text wrapping for smoother scrolling - Remove unnecessary display clears * 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 --------- Signed-off-by: Chuck <33324927+ChuckBuilds@users.noreply.github.com>
65 lines
1.8 KiB
Python
65 lines
1.8 KiB
Python
#!/usr/bin/env python3
|
|
import time
|
|
import sys
|
|
import os
|
|
from src.config_manager import ConfigManager
|
|
from src.display_manager import DisplayManager
|
|
from src.stock_news_manager import StockNewsManager
|
|
|
|
print(f"Current working directory: {os.getcwd()}")
|
|
|
|
def main():
|
|
"""Test the StockNewsManager class directly."""
|
|
|
|
display_manager = None
|
|
|
|
try:
|
|
# Load configuration
|
|
config_manager = ConfigManager()
|
|
config = config_manager.load_config()
|
|
|
|
if not config:
|
|
print("Error: Failed to load configuration")
|
|
return
|
|
|
|
display_config = config.get('display')
|
|
if not display_config:
|
|
print("Error: No display configuration found")
|
|
return
|
|
|
|
# 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)
|
|
|
|
print("Testing news display. Press Ctrl+C to exit.")
|
|
|
|
# Run the news display in a loop
|
|
while True:
|
|
news_manager.display_news()
|
|
|
|
except KeyboardInterrupt:
|
|
print("\nTest interrupted by user")
|
|
except Exception as e:
|
|
print(f"Error during test: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
finally:
|
|
if display_manager:
|
|
# Clear the display before exiting
|
|
display_manager.clear()
|
|
display_manager.update_display()
|
|
display_manager.cleanup()
|
|
|
|
print("Test completed")
|
|
|
|
if __name__ == "__main__":
|
|
main() |