mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-04-10 21:03:01 +00:00
Stocks (#2)
* 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>
This commit is contained in:
@@ -36,18 +36,18 @@ class DisplayManager:
|
||||
options.parallel = hardware_config.get('parallel', 1)
|
||||
options.hardware_mapping = hardware_config.get('hardware_mapping', 'adafruit-hat-pwm')
|
||||
|
||||
# Optimize display settings for chained panels
|
||||
# Balance performance and stability
|
||||
options.brightness = 100
|
||||
options.pwm_bits = 11
|
||||
options.pwm_lsb_nanoseconds = 200 # Increased for better stability
|
||||
options.pwm_bits = 10 # Increased from 8 for better color depth
|
||||
options.pwm_lsb_nanoseconds = 150 # Increased for better stability
|
||||
options.led_rgb_sequence = 'RGB'
|
||||
options.pixel_mapper_config = ''
|
||||
options.row_address_type = 0
|
||||
options.multiplexing = 0
|
||||
options.disable_hardware_pulsing = False # Enable hardware pulsing for better sync
|
||||
options.disable_hardware_pulsing = False # Re-enable hardware pulsing for stability
|
||||
options.show_refresh_rate = False
|
||||
options.limit_refresh_rate_hz = 60 # Reduced refresh rate for stability
|
||||
options.gpio_slowdown = 2 # Increased slowdown for better stability
|
||||
options.limit_refresh_rate_hz = 90 # Reduced from 120Hz for better stability
|
||||
options.gpio_slowdown = 2 # Increased for better stability
|
||||
|
||||
# Initialize the matrix
|
||||
self.matrix = RGBMatrix(options=options)
|
||||
@@ -94,14 +94,11 @@ class DisplayManager:
|
||||
# Copy the current image to the offscreen canvas
|
||||
self.offscreen_canvas.SetImage(self.image)
|
||||
|
||||
# Wait for the next vsync before swapping
|
||||
self.matrix.SwapOnVSync(self.offscreen_canvas)
|
||||
# Swap buffers immediately
|
||||
self.matrix.SwapOnVSync(self.offscreen_canvas, False)
|
||||
|
||||
# Swap our canvas references
|
||||
self.offscreen_canvas, self.current_canvas = self.current_canvas, self.offscreen_canvas
|
||||
|
||||
# Small delay to ensure stable refresh
|
||||
time.sleep(0.001)
|
||||
except Exception as e:
|
||||
logger.error(f"Error updating display: {e}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user