From ece26b44d39d5943a422bf0da6c92e5d9efd9b90 Mon Sep 17 00:00:00 2001 From: Joan Date: Wed, 31 Dec 2025 12:44:50 +0100 Subject: [PATCH] Add separator lines, bigger HDD font, push right --- matrix.py | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/matrix.py b/matrix.py index 8ca6623..1f90201 100644 --- a/matrix.py +++ b/matrix.py @@ -131,43 +131,55 @@ class Matrix64Display(SampleBase): canvas.Clear() + # Line color for separators + line_color = graphics.Color(40, 40, 40) + # === Weather Icon (top-left, 24x24) === draw_weather_icon(canvas, 0, 0, self.weather_desc) + + # === Vertical separator between weather and HDD === + graphics.DrawLine(canvas, 25, 0, 25, 24, line_color) - # === HDD Temps (top-right, 3 rows of 2) === + # === HDD Temps (top-right, 5x8 font, 3 rows of 2) === if self.hdd_temps and len(self.hdd_temps) > 1: temps = [str(int(t[0])) for t in self.hdd_temps[1:] if t] if len(temps) >= 2: row1 = " ".join(temps[:2]) - graphics.DrawText(canvas, small_font, 28, 6, hdd_color, row1) + graphics.DrawText(canvas, data_font, 34, 8, hdd_color, row1) if len(temps) >= 4: row2 = " ".join(temps[2:4]) - graphics.DrawText(canvas, small_font, 28, 12, hdd_color, row2) + graphics.DrawText(canvas, data_font, 34, 16, hdd_color, row2) if len(temps) > 4: row3 = " ".join(temps[4:6]) - graphics.DrawText(canvas, small_font, 28, 18, hdd_color, row3) + graphics.DrawText(canvas, data_font, 34, 24, hdd_color, row3) - # === Clock (centered vertically, y=38) === + # === Horizontal line above clock === + graphics.DrawLine(canvas, 0, 26, 63, 26, line_color) + + # === Clock (centered) === time_x = (64 - len(time_str) * 7) // 2 graphics.DrawText(canvas, time_font, time_x, 38, time_color, time_str) - # === Outdoor: Out + temp + humidity (y=50, 5x8 font) === - graphics.DrawText(canvas, data_font, 0, 50, label_color, "Out") + # === Horizontal line below clock === + graphics.DrawLine(canvas, 0, 42, 63, 42, line_color) + + # === Outdoor: Out + temp + humidity (y=52) === + graphics.DrawText(canvas, data_font, 0, 52, label_color, "Out") if self.temperature is not None: temp_str = format_temp(self.temperature) temp_color = get_temperature_color(self.temperature) - graphics.DrawText(canvas, data_font, 20, 50, temp_color, temp_str) + graphics.DrawText(canvas, data_font, 20, 52, temp_color, temp_str) if self.humidity is not None: - graphics.DrawText(canvas, data_font, 48, 50, humidity_color, format_humidity(self.humidity)) + graphics.DrawText(canvas, data_font, 48, 52, humidity_color, format_humidity(self.humidity)) - # === Indoor: In + temp + humidity (y=60, 5x8 font) === - graphics.DrawText(canvas, data_font, 0, 60, label_color, "In") + # === Indoor: In + temp + humidity (y=62) === + graphics.DrawText(canvas, data_font, 0, 62, label_color, "In") if self.interior_temperature is not None: temp_str = format_temp(self.interior_temperature) temp_color = get_temperature_color(self.interior_temperature) - graphics.DrawText(canvas, data_font, 20, 60, temp_color, temp_str) + graphics.DrawText(canvas, data_font, 20, 62, temp_color, temp_str) if self.interior_humidity is not None: - graphics.DrawText(canvas, data_font, 48, 60, humidity_color, format_humidity(self.interior_humidity)) + graphics.DrawText(canvas, data_font, 48, 62, humidity_color, format_humidity(self.interior_humidity)) time.sleep(0.5) canvas = self.matrix.SwapOnVSync(canvas)