v.0.4.5 rm font_height from utils

This commit is contained in:
tiijay
2025-10-25 12:01:45 +02:00
parent 1d76371354
commit a1ac556a8e
6 changed files with 58 additions and 69 deletions

View File

@@ -2,5 +2,6 @@ from .font_3x5 import font_3x5
from .font_5x7 import font_5x7 from .font_5x7 import font_5x7
from .font_8x8 import font_8x8 from .font_8x8 import font_8x8
from .font_16x16 import font_16x16 from .font_16x16 import font_16x16
from .fonts_utils import *
__all__ = ['font_3x5', 'font_5x7', 'font_8x8', 'font_16x16'] __all__ = ['font_3x5', 'font_5x7', 'font_8x8', 'font_16x16']

View File

@@ -22,21 +22,6 @@ def char_width(char_matrix) -> int:
return cw return cw
def font_height(font) -> int:
"""Höhe in Pixeln eines Fonts
Args:
font ([int]): der Font für den die Höhe bestimmt wird
Returns:
int: Höhe in Pixeln
"""
# wir nehmen uns ein Zeichen des Fonts
# die Anzahl der Werte entspricht der Höhe in Pixeln
return len(font['a'])
def shift_letter_right(char, letter, debug=False) -> bool: def shift_letter_right(char, letter, debug=False) -> bool:
"""Prüfe ob das Zeichen auch komplett nach rechts gezogen ist """Prüfe ob das Zeichen auch komplett nach rechts gezogen ist

View File

@@ -1,6 +1,5 @@
from app.display.fonts.fonts_utils import align_font, font_height, char_width, screen_text from app.display.fonts.fonts_utils import align_font, screen_text
from app.display.neopixel_64x64 import NeoPixel_64x64 from app.display.neopixel_64x64 import NeoPixel_64x64
import app.utils as utils
from app.utils import colors from app.utils import colors
@@ -13,7 +12,7 @@ def fonts_check(display: NeoPixel_64x64, font, pretty=False) -> None:
display.clear() display.clear()
display.set_font(font) display.set_font(font)
height = font_height(font) height = display.font_height
alphanum: str = ''.join(sorted(font.keys())) alphanum: str = ''.join(sorted(font.keys()))

View File

@@ -1,10 +1,10 @@
from app.display.neopixel_64x64 import NeoPixel_64x64
from app.web.wlan import Wlan from app.web.wlan import Wlan
import app.utils.colors as colors import app.utils.colors as colors
from app.display.fonts.font_3x5 import font_3x5 import app.display.fonts as fonts
from app.display.fonts.font_5x7 import font_5x7
def weather_check(display, test_mode: bool = False): def weather_check(display: NeoPixel_64x64, test_mode: bool = False):
wlan = Wlan('WOKWI-Guest', '12345678') wlan = Wlan('WOKWI-Guest', '12345678')
try: try:
@@ -14,30 +14,34 @@ def weather_check(display, test_mode: bool = False):
display.clear_row(0, effect=False) display.clear_row(0, effect=False)
display.clear() display.clear()
display.set_font(font_3x5) display.set_font(fonts.font_3x5)
display.write_text('wlan connected', 0, 0, color=colors.RAINBOW[0]) ypos = 0
display.write_text('querying', 0, 8, color=colors.RAINBOW[1]) display.write_text('wlan connected', 0, ypos, color=colors.RAINBOW[0])
display.write_text('weather data', 0, 16, color=colors.RAINBOW[2]) ypos += display.font_height + 1
display.write_text('querying', 0, ypos, color=colors.RAINBOW[1])
ypos += display.font_height + 1
display.write_text('weather data', 0, ypos, color=colors.RAINBOW[2])
w_resp = wlan.actual_weather(lang='en', test_mode=test_mode) w_resp = wlan.actual_weather(lang='en', test_mode=test_mode)
display.clear() display.clear()
delta = 8
ypos = 0 ypos = 0
display.write_text(f'{str(w_resp.location.name).upper()}', 0, ypos, color=colors.RAINBOW[0]) display.write_text(f'{str(w_resp.location.name)}', 0, ypos, color=colors.RAINBOW[0])
display.set_font(font_5x7) ypos += display.font_height + 1
ypos += delta display.set_font(fonts.font_8x8)
display.write_text(f'{str(w_resp.current.temp_c)}°C', 0, ypos, color=colors.RAINBOW[1]) display.write_text(f'{str(w_resp.current.temp_c)}°C', 0, ypos, color=colors.RAINBOW[1])
ypos += delta ypos += display.font_height + 1
display.write_text(f'{str(w_resp.current.condition.text)}°C', 0, ypos, color=colors.RAINBOW[1]) display.set_font(fonts.font_5x7)
ypos += delta display.write_text(f'{str(w_resp.current.condition.text)}°C', 0, ypos, color=colors.RAINBOW[2])
display.write_text(f'upd:{str(w_resp.current.last_updated)[-5:]}', 0, ypos, color=colors.RAINBOW[2]) ypos += display.font_height + 1
ypos += delta display.write_text(f'upd:{str(w_resp.current.last_updated)[-5:]}', 0, ypos, color=colors.RAINBOW[3])
display.write_text(f'cur:{str(w_resp.location.localtime)[-5:]}', 0, ypos, color=colors.RAINBOW[3]) ypos += display.font_height + 1
display.write_text(f'cur:{str(w_resp.location.localtime)[-5:]}', 0, ypos, color=colors.RAINBOW[4])
ypos += 3 * delta ypos += 3 * (display.font_height + 1)
display.write_text('ready.', 30, ypos, color=colors.WHITE)
display.write_text('done.', 38, ypos, color=colors.WHITE)
except OSError as e: except OSError as e:
print(f'Error: connection closed - {e}') print(f'Error: connection closed - {e}')

View File

@@ -8,6 +8,6 @@ if __name__ == '__main__':
display = NeoPixel_64x64() display = NeoPixel_64x64()
# tryout.emojis_check(display) # tryout.emojis_check(display)
tryout.fonts_check(display, fonts.font_8x8, pretty=False) # tryout.fonts_check(display, fonts.font_8x8, pretty=False)
# tryout.weather_check(display, test_mode=True) tryout.weather_check(display, test_mode=False)
utils.show_system_load() utils.show_system_load()

View File

@@ -6,50 +6,50 @@
"lat": 53.6667, "lat": 53.6667,
"lon": 10.2833, "lon": 10.2833,
"tz_id": "Europe/Berlin", "tz_id": "Europe/Berlin",
"localtime_epoch": 1761296721, "localtime_epoch": 1761383733,
"localtime": "2025-10-24 11:05" "localtime": "2025-10-25 11:15"
}, },
"current": { "current": {
"last_updated_epoch": 1761296400, "last_updated_epoch": 1761383700,
"last_updated": "2025-10-24 11:00", "last_updated": "2025-10-25 11:15",
"temp_c": 11.3, "temp_c": 10.2,
"temp_f": 52.3, "temp_f": 50.4,
"is_day": 1, "is_day": 1,
"condition": { "condition": {
"text": "Overcast", "text": "Overcast",
"icon": "//cdn.weatherapi.com/weather/64x64/day/122.png", "icon": "//cdn.weatherapi.com/weather/64x64/day/122.png",
"code": 1009 "code": 1009
}, },
"wind_mph": 21.3, "wind_mph": 17.7,
"wind_kph": 34.2, "wind_kph": 28.4,
"wind_degree": 233, "wind_degree": 208,
"wind_dir": "SW", "wind_dir": "SSW",
"pressure_mb": 989.0, "pressure_mb": 991.0,
"pressure_in": 29.21, "pressure_in": 29.26,
"precip_mm": 0.01, "precip_mm": 0.03,
"precip_in": 0.0, "precip_in": 0.0,
"humidity": 76, "humidity": 82,
"cloud": 100, "cloud": 100,
"feelslike_c": 8.0, "feelslike_c": 6.9,
"feelslike_f": 46.4, "feelslike_f": 44.5,
"windchill_c": 5.9, "windchill_c": 5.4,
"windchill_f": 42.7, "windchill_f": 41.8,
"heatindex_c": 9.7, "heatindex_c": 9.0,
"heatindex_f": 49.5, "heatindex_f": 48.3,
"dewpoint_c": 5.0, "dewpoint_c": 6.3,
"dewpoint_f": 41.0, "dewpoint_f": 43.4,
"vis_km": 10.0, "vis_km": 10.0,
"vis_miles": 6.0, "vis_miles": 6.0,
"uv": 0.1, "uv": 0.1,
"gust_mph": 30.5, "gust_mph": 25.3,
"gust_kph": 49.1, "gust_kph": 40.7,
"air_quality": { "air_quality": {
"co": 152.678, "co": 155.678,
"no2": 13.578, "no2": 9.678,
"o3": 40.0, "o3": 45.0,
"so2": 2.678, "so2": 2.078,
"pm2_5": 6.678, "pm2_5": 4.678,
"pm10": 7.078, "pm10": 6.178,
"us-epa-index": 1, "us-epa-index": 1,
"gb-defra-index": 1 "gb-defra-index": 1
} }