From 2eea871408e720968b823dfd0f2efb7cff7cec29 Mon Sep 17 00:00:00 2001 From: tiijay Date: Wed, 22 Oct 2025 19:31:09 +0200 Subject: [PATCH] v.0.2.2 NeoPixel_64x64.write_text wieder Pixel weise --- app/display/neopixel_64x64.py | 8 ++------ app/web/wlan.py | 2 +- main.py | 30 ++++++++++++++++++++---------- 3 files changed, 23 insertions(+), 17 deletions(-) diff --git a/app/display/neopixel_64x64.py b/app/display/neopixel_64x64.py index 6c15952..0d2943d 100644 --- a/app/display/neopixel_64x64.py +++ b/app/display/neopixel_64x64.py @@ -136,7 +136,6 @@ class NeoPixel_64x64(NeoPixel): char_data = self.selected_font[letter] char_width = get_char_width(letter) - print(letter) for row in range(self.font_height): row_data = char_data[row] @@ -351,11 +350,8 @@ class NeoPixel_64x64(NeoPixel): err += dx y1 += sy - def write_text(self, text: str, xpos: int, line_no: int, color=WHITE) -> None: - """Textausgabe in Zeile line_no""" - self.draw_text( - text, xpos * (self.font_width + 1), line_no * (self.font_height + 1), color - ) # Pixel setzen + def write_text(self, text: str, xpos: int, ypos: int, color=WHITE) -> None: + self.draw_text(text, xpos, ypos, color) # Pixel setzen self.write() # und anzeigen diff --git a/app/web/wlan.py b/app/web/wlan.py index a5c4beb..7c24ae0 100644 --- a/app/web/wlan.py +++ b/app/web/wlan.py @@ -103,11 +103,11 @@ class Wlan: weather_url = ( f'https://api.weatherapi.com/v1/current.json?key={API_KEY}&q={city}&aqi=yes&lang={lang}' ) - print(f'query: {weather_url}') if not test_mode: self.connect() + print(f'query: {weather_url}') r = urequests.get(weather_url) print('Status-Code:', r.status_code) diff --git a/main.py b/main.py index ab0e523..f00dddd 100644 --- a/main.py +++ b/main.py @@ -41,7 +41,7 @@ def emoji_test(): display.write() -def weather_check(): +def weather_check(test_mode: bool = False): wlan = Wlan('WOKWI-Guest', '12345678') try: @@ -58,7 +58,7 @@ def weather_check(): display.draw_text('weather data', 0, 16, color=RAINBOW[1]) display.write() - w_resp = wlan.actual_weather(test_mode=True) + w_resp = wlan.actual_weather(test_mode=test_mode) display.clear() @@ -68,12 +68,22 @@ def weather_check(): # display.draw_text(f'cur: {str(w_resp.location.localtime)[-5:]}', 0, 24, color=RAINBOW[3]) # display.write() - display.write_text(f'{str(w_resp.location.name)}', 0, 0, color=RAINBOW[0]) - display.write_text(f'{str(w_resp.current.temp_c)}°C', 0, 1, color=RAINBOW[1]) - display.write_text(f'upd: {str(w_resp.current.last_updated)[-5:]}', 0, 2, color=RAINBOW[2]) - display.write_text(f'cur: {str(w_resp.location.localtime)[-5:]}', 0, 3, color=RAINBOW[3]) + delta = 8 + ypos = 0 + display.write_text(f'{str(w_resp.location.name)}', 0, ypos, color=RAINBOW[0]) + ypos += delta + display.write_text(f'{str(w_resp.current.temp_c)}°C', 0, ypos, color=RAINBOW[1]) + ypos += delta + display.write_text(f'{str(w_resp.current.condition.text)}°C', 0, ypos, color=RAINBOW[1]) + ypos += delta + display.write_text( + f'upd: {str(w_resp.current.last_updated)[-5:]}', 0, ypos, color=RAINBOW[2] + ) + ypos += delta + display.write_text(f'cur: {str(w_resp.location.localtime)[-5:]}', 0, ypos, color=RAINBOW[3]) - display.write_text('ready', 5, 7, color=WHITE) + ypos += 3 * delta + display.write_text('ready.', 30, ypos, color=WHITE) except OSError as e: print(f'Error: connection closed - {e}') @@ -122,7 +132,7 @@ def bit_arrays(): if __name__ == '__main__': # emoji_test() - # weather_check() + weather_check(test_mode=False) # font_5x7_test() - bit_arrays() - show_system_load() + # bit_arrays() + # show_system_load()