Когда выполняется код, подушка вызывает ошибку, когда импортированный код был взят из раздела примеров GFX-Hat для Raspberry Pi. Кажется, возникают проблемы при использовании определенной части подушки.Однако я не знаю, как / если возможно исправить
def set_backlight(r, g, b):
backlight.set_all(r, g, b)
backlight.show()
menu_options = [
MenuOption('Set BL Red', set_backlight, (255, 0, 0)),
MenuOption('Set BL Green', set_backlight, (0, 255, 0)),
MenuOption('Set BL Blue', set_backlight, (0, 0, 255)),
MenuOption('Set BL Purple', set_backlight, (255, 0, 255)),
MenuOption('Set BL White', set_backlight, (255, 255, 255)),
MenuOption('Exit', sys.exit, (0,))
]
current_menu_option = 1
trigger_action = False
def handler(ch, event):
global current_menu_option, trigger_action
if event != 'press':
return
if ch == 1:
current_menu_option += 1
if ch == 0:
current_menu_option -= 1
if ch == 4:
trigger_action = True
current_menu_option %= len(menu_options)
for x in range(6):
touch.set_led(x, 0)
backlight.set_pixel(x, 255, 255, 255)
touch.on(x, handler)
backlight.show()
def cleanup():
backlight.set_all(0, 0, 0)
backlight.show()
lcd.clear()
lcd.show()
atexit.register(cleanup)
try:
while True:
image.paste(0, (0, 0, width, height))
offset_top = 0
if trigger_action:
menu_options[current_menu_option].trigger()
trigger_action = False
for index in range(len(menu_options)):
if index == current_menu_option:
break
offset_top += 12
for index in range(len(menu_options)):
x = 10
y = (index * 12) + (height / 2) - 4 - offset_top
option = menu_options[index]
if index == current_menu_option:
draw.rectangle(((x-2, y-1), (width, y+10)), 1)
draw.text((x, y), option.name, 0 if index == current_menu_option else 1, font)
w, h = font.getsize('>')
draw.text((0, (height - h) / 2), '>', 1, font)
for x in range(width):
for y in range(height):
pixel = image.getpixel((x, y))
lcd.set_pixel(x, y, pixel)
lcd.show()
time.sleep(1.0 / 30)
except KeyboardInterrupt:
cleanup()
root @ DietPiT: / home / os / Programs # python3 menu-options.py Traceback (последний вызов был последним):Файл "menu-options.py", строка 6, из файла импорта PIL Image, ImageFont, файл ImageDraw "/usr/local/lib/python3.5/dist-packages/PIL/Image.py", строка 94, из,import _imaging как ядро ImportError: libopenjp2.so.7: невозможно открыть общий объектный файл: нет такого файла или каталога
Код должен отображать меню в GFX Hat