v.0.3.0 calculate char_width with shift operator

This commit is contained in:
tiijay
2025-10-23 14:31:09 +02:00
parent 2eea871408
commit a66b00989f
8 changed files with 377 additions and 182 deletions

39
main.py
View File

@@ -17,28 +17,23 @@ display = NeoPixel_64x64()
def emoji_test():
display.clear()
# display.set_font(font_8x8)
# display.show_hello()
# display.rotate_text_left_continuous('FLOATING TEXT', 0, speed=8.0, duration=30)
display.set_font(font_16x16)
display.draw_text('ABCD', 1, 1, color=GOLD)
# try emoji
display.set_font(emoji_8x8)
display.draw_text('😀', 1, 20, color=GREEN)
display.draw_text('', 1, 29)
display.draw_text('', 1, 38)
display.draw_text('😎', 1, 47, color=RED)
display.draw_text('💙', 10, 47)
display.draw_text('💚', 19, 47)
display.draw_text('💛', 28, 47)
display.write_text('😀', 0, 0, color=GREEN)
display.write_text('😂', 0, 29)
# display.write_text('✅', 0, 38)
# display.write_text('😎', 0, 47, color=RED)
# display.write_text('💙', 10, 47)
# display.write_text('💚', 19, 47)
# display.write_text('💛', 28, 47)
char_row = '😀'
utils.is_letter_assigned_right(char_row, emoji_8x8[char_row])
# try emoji
# display.set_font(emoji_16x16)
# display.draw_text('😀', 10, 20, color=ORANGE)
display.write()
display.set_font(emoji_16x16)
display.write_text('🌙', 0, 10, color=ORANGE)
def weather_check(test_mode: bool = False):
@@ -58,7 +53,7 @@ def weather_check(test_mode: bool = False):
display.draw_text('weather data', 0, 16, color=RAINBOW[1])
display.write()
w_resp = wlan.actual_weather(test_mode=test_mode)
w_resp = wlan.actual_weather(lang='en', test_mode=test_mode)
display.clear()
@@ -77,10 +72,10 @@ def weather_check(test_mode: bool = False):
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]
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(f'cur:{str(w_resp.location.localtime)[-5:]}', 0, ypos, color=RAINBOW[3])
ypos += 3 * delta
display.write_text('ready.', 30, ypos, color=WHITE)
@@ -106,10 +101,6 @@ def font_5x7_test() -> None:
def bit_arrays():
# def number_to_bitarray_msb(number):
# """Convert 8-bit number to bit array (MSB first)"""
# return [(number >> i) & 1 for i in range(7, -1, -1)]
# c = 'A'
# print(c)
# [print(utils.number_to_bitarray_msb(num)) for num in font_5x7[c]]