Форум сайта python.su
xam1816Есть “13.3inch e-Paper e-Ink Display HAT For Raspberry Pi, 1600×1200, Black / White, 16 Grey Scales, USB / SPI / I80”
Точная модель экрана есть?
Отредактировано SandrRu (Ноя. 7, 2024 00:55:47)
Офлайн
SandrRuНадо просто написать программу на C, которая может принимать вообще все параметры для отображения на устройстве.py.user.nextТак - https://github.com/SandrRu/e-PaperFrame-IT8951
И как ты её написал? Через system()?
Отредактировано py.user.next (Ноя. 7, 2024 03:56:03)
Офлайн
SandrRuТам очень много информации
https://www.waveshare.com/product/displays/e-paper/epaper-1/13.3inch-e-paper-hat.htm
import spidev import time # Настройка SPI интерфейса spi = spidev.SpiDev() spi.open(0, 0) # Шина 0, устройство 0 (проверь для своей настройки) spi.max_speed_hz = 1000000 # Команда для получения информации о дисплее USDEF_I80_CMD_GET_DEV_INFO = 0x0302 # Уточни значение, если требуется def lcd_write_cmd(cmd): # Отправляем команду как два байта spi.xfer2([cmd >> 8, cmd & 0xFF]) def lcd_read_data(num_bytes): # Чтение заданного количества байт данных return spi.readbytes(num_bytes) def get_it8951_system_info(): # Отправляем команду для получения информации о дисплее lcd_write_cmd(USDEF_I80_CMD_GET_DEV_INFO) # Читаем 36 байт данных data = lcd_read_data(36) # Разбор данных в соответствии со структурой I80IT8951DevInfo panel_w = int.from_bytes(data[0:2], 'little') panel_h = int.from_bytes(data[2:4], 'little') img_buf_addr = int.from_bytes(data[4:8], 'little') # Преобразование версий прошивки и LUT fw_version = ''.join(chr(data[i]) for i in range(8, 24)).strip() lut_version = ''.join(chr(data[i]) for i in range(24, 40)).strip() # Вывод информации print("Panel(W, H) = ({}, {})".format(panel_w, panel_h)) print("Image Buffer Address = 0x{:X}".format(img_buf_addr)) print("FW Version =", fw_version) print("LUT Version =", lut_version) # Вызов функции get_it8951_system_info() # Закрытие SPI после работы spi.close()
Офлайн
xam1816Спасибо, попробую через пару дней отпишусь
Попробуй этот код,
Офлайн
> Надо просто написать программу на C, которая может принимать вообще все параметры для отображения на устройстве.
Потом можно написать уже на питоне программу, которая выполняет эту программу, написанную на C, с разными араметрами, но уже принимает настройки от пользователя.
Прочти анекдот про Вовочку и арбузы. В нём как раз описана конструкция подобная той что ты предлагаешь
Отредактировано Rodegast (Ноя. 7, 2024 14:36:40)
Офлайн
RodegastДа это распространённая архитектура. В Emacs'е, например, можно экспортировать блоки TeX-кода напрямую в pdf. А чтобы это делать, Emacs запускает внешний софт, установленный в системе, для этого. При этом сам Emacs не знает, как сделать pdf из TeX'а.
В нём как раз описана конструкция
Отредактировано py.user.next (Ноя. 7, 2024 15:08:12)
Офлайн