MicroPython:Библиотеки/lcd160cr: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
 
(не показано 6 промежуточных версий 1 участника)
Строка 3: Строка 3:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


=Модуль lcd160cr – управление дисплеем LCD160CR<ref>[http://docs.micropython.org/en/latest/library/lcd160cr.html docs.micropython.org - ]</ref>=
=Модуль lcd160cr – управление дисплеем LCD160CR<ref>[http://docs.micropython.org/en/latest/library/lcd160cr.html docs.micropython.org - lcd160cr — control of LCD160CR display]</ref>=


В этом модуле реализовано управление дисплеем [[MicroPython]] [[LCD160CR]].
В этом модуле реализовано управление дисплеем [[MicroPython]] [[LCD160CR]].
Строка 17: Строка 17:
Например:
Например:


<syntaxhighlight lang="python" enclose="div">
<syntaxhighlight lang="python">
import lcd160cr
import lcd160cr


Строка 99: Строка 99:
=== Методы для продвинутого использования ===
=== Методы для продвинутого использования ===


LCD160CR.set_spi_win(x, y, w, h) – задает окно, в которое будут записаны SPI-данные.
* [[MicroPython:Библиотеки/lcd160cr/LCD160CR.set_spi_win()|LCD160CR.set_spi_win(x, y, w, h)]]
LCD160CR.fast_spi(flush=True) – подготавливает дисплей к приему пиксельных RGB-данных на SPI-шину, делая так, чтобы позиция первого байта вновь переместилась в левый верхний угол окна, заданного в методе LCD16CR.set_spi_win(). Этот метод возвращает объект SPI, который можно использовать для записи пиксельных данных.
* [[MicroPython:Библиотеки/lcd160cr/LCD160CR.fast_spi()|LCD160CR.fast_spi(flush=True)]]
Отправляемые пиксели должны быть 16-битными RGB-значениями в формате 5-6-5. Прибытие данных отслеживается с помощью специального счетчика (при каждом прибытии новых данных значение в нем будет увеличиваться), и вы можете отправлять данные любого размера. Когда значение в счетчике достигнет размера окна, заданного в методе LCD160CR.set_spi_win(), оно обнулится до значения, обозначающего верхний левый угол этого окна.
* [[MicroPython:Библиотеки/lcd160cr/LCD160CR.show_framebuf()|LCD160CR.show_framebuf(buf)]]
LCD160CR.show_framebuf(buf) – показывает на экране заданный буфер. В аргументе buf должен быть задан массив байтов, содержащий 16-битные пиксельные RGB-значения, и они будут записаны в область, заданную с помощью метода LCD160CR.set_spi_win(), начиная с ее верхнего левого угла.
* [[MicroPython:Библиотеки/lcd160cr/LCD160CR.set_scroll()|LCD160CR.set_scroll(on)]]
Для создания кадровых буферов можно воспользоваться [http://docs.micropython.org/en/latest/library/framebuf.html модулем framebuf]. В нем также есть инструментарий для рисования примитивов. При использовании кадрового буфера производительность анимаций лучше, чем при рисовании прямо на экране.
* [[MicroPython:Библиотеки/lcd160cr/LCD160CR.set_scroll_win()|LCD160CR.set_scroll_win(win, x=- 1, y=0, w=0, h=0, vec=0, pat=0, fill=2016, color=0)]]
LCD160CR.show_framebuf(buf) – включает и выключает прокрутку. Этот метод глобально управляет прокруткой во всех окнах.
* [[MicroPython:Библиотеки/lcd160cr/LCD160CR.set_scroll_win_param()|LCD160CR.set_scroll_win_param(win, param, value)]]
LCD160CR.set_scroll_win(win, x=- 1, y=0, w=0, h=0, vec=0, pat=0, fill=2016, color=0) – настраивает область (окно) экрана для прокрутки:
* [[MicroPython:Библиотеки/lcd160cr/LCD160CR.set_scroll_buf()|LCD160CR.set_scroll_buf(s)]]
o win – идентификатор окна, которое надо настроить. Окна с идентификаторами 0-7 – это стандартные окна общего назначения, а окно с идентификатором 8 – это окно текстовой прокрутки (бегущая строка).
* [[MicroPython:Библиотеки/lcd160cr/LCD160CR.jpeg()|LCD160CR.jpeg(buf)]]
o x, y, w, h – позиция окна на экране.
* [[MicroPython:Библиотеки/lcd160cr/LCD160CR.jpeg_start()|LCD160CR.jpeg_start(total_len)]]
o vec – направление и скорость прокрутки. Это 16-битное значение в формате 0bF.ddSSSSSSSSSSSS. В dd задается направление прокрутки: «0», «1», «2», «3» – для +x, +y, -x, -y. В F задается формат скорости, и «0» будет значить, что окно будет смещаться со скоростью (S % 256) пикселей за кадр, а «1» – что окно будет смещаться на 1 пиксель каждые S кадров.
* [[MicroPython:Библиотеки/lcd160cr/LCD160CR.jpeg_data()|LCD160CR.jpeg_data(buf)]]
o pat – 16-битная паттерновая маска для фона.
* [[MicroPython:Библиотеки/lcd160cr/LCD160CR.feed_wdt()|LCD160CR.feed_wdt()]]
o fill – это цвет заливки.
* [[MicroPython:Библиотеки/lcd160cr/LCD160CR.reset()|LCD160CR.reset()]]
o color – это дополнительный цвет (для текста или основной цвет паттерна).
LCD160CR.set_scroll_win_param(win, param, value) – задает один параметр области прокрутки:
o win – идентификатор окна (0-8).
o param – номер параметра, который надо настроить. Возможные значения: 0-7. Они соответствуют параметрам в методе set_scroll_win().
o value – значение, которое надо задать.
LCD160CR.set_scroll_buf(s) – задает строку для прокрутки в окне 8. В аргументе s должна быть строка размером не более 32 символов.
LCD160CR.jpeg(buf) – показывает JPEG-изображение. В буфере buf должны содержаться данные всего JPEG-изображения. Эти данные не должны содержать EXIF-информацию. Поддерживаются следующие кодировки: Baseline DCT, код Хаффмана, 8 бит на выборку, RGB, YCbCr4:2:2. Начальная точка JPEG-изображения задается с помощью метода LCD160CR.set_pos().
LCD160CR.jpeg_start(total_len), LCD160CR.jpeg_data(buf) – показывают JPEG-изображение, чьи данные разбросаны по нескольким разным буферам. Вначале нужно один раз вызвать метод jpeg_start(), указав общее количество байт в JPEG-изображении. Затем это количество байтов нужно передать на дисплей при помощи одного или нескольких вызовов метода jpeg_data().
LCD160CR.feed_wdt() – первый вызов этого метода запустит внутренний сторожевой таймер дисплея. Последующие вызовы будут сбрасывать этот таймер. Продолжительность таймаута – примерно 30 секунд.
LCD160CR.reset() – сбрасывает дисплей.


=== Константы ===
=== Константы ===


lcd160cr.PORTRAIT, lcd160cr.LANDSCAPE, lcd160cr.PORTRAIT_UPSIDEDOWN, lcd160cr.LANDSCAPE_UPSIDEDOWN – ориентации дисплея, используемые в методе LCD160CR.set_orient().
* [[MicroPython:Библиотеки/lcd160cr/lcd160cr.PORTRAIT|lcd160cr.PORTRAIT]]
lcd160cr.STARTUP_DECO_NONE, lcd160cr.STARTUP_DECO_MLOGO, lcd160cr.STARTUP_DECO_INFO – типы стартовой заставки. Их можно задать вместе по принципу логического ИЛИ при помощи метода LCD160CR.set_startup_deco().
* [[MicroPython:Библиотеки/lcd160cr/lcd160cr.LANDSCAPE|lcd160cr.LANDSCAPE]]
* [[MicroPython:Библиотеки/lcd160cr/lcd160cr.PORTRAIT_UPSIDEDOWN|lcd160cr.PORTRAIT_UPSIDEDOWN]]
* [[MicroPython:Библиотеки/lcd160cr/lcd160cr.LANDSCAPE_UPSIDEDOWN|lcd160cr.LANDSCAPE_UPSIDEDOWN]]
* [[MicroPython:Библиотеки/lcd160cr/lcd160cr.STARTUP_DECO_NONE|lcd160cr.STARTUP_DECO_NONE]]
* [[MicroPython:Библиотеки/lcd160cr/lcd160cr.STARTUP_DECO_MLOGO|lcd160cr.STARTUP_DECO_MLOGO]]
* [[MicroPython:Библиотеки/lcd160cr/lcd160cr.STARTUP_DECO_INFO|lcd160cr.STARTUP_DECO_INFO]]


<syntaxhighlight lang="python" enclose="div">
=См.также=
=См.также=



Текущая версия от 19:52, 23 мая 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Модуль lcd160cr – управление дисплеем LCD160CR[1]

В этом модуле реализовано управление дисплеем MicroPython LCD160CR.

По этой ссылке можно найти руководство по дисплею LCD160CR, а по этой – его схему.

Класс LCD160CR

В классе LCD160CR реализован программный интерфейс для дисплея LCD160CR. Создав экземпляр этого класса, вы сможете использовать его методы для рисования на дисплее и считывания статуса сенсорной панели.

Например:

import lcd160cr

lcd = lcd160cr.LCD160CR('X')
lcd.set_orient(lcd160cr.PORTRAIT)
lcd.set_pos(0, 0)
lcd.set_text_color(lcd.rgb(255, 0, 0), lcd.rgb(0, 0, 0))
lcd.set_font(1)
lcd.write('Привет, MicroPython!')
print('touch:', lcd.get_touch())

Конструкторы

Статические методы

Элементы экземпляра

Элементы экземпляра LCD160CR ниже открыты для общего доступа:

Методы для настройки

Методы для работы с пикселями

С помощью методов ниже осуществляется управление отдельными пикселями на экране:

Методы для рисования текста

Чтобы нарисовать текст, необходимо задать его позицию, цвет и шрифт, а затем воспользоваться методом LCD160CR.write().

Методы для рисования примитивных фигур

Эти методы используют основной и фоновый цвета, заданные с помощью метода set_pen().

Методы для работы с тачскрином

Методы для продвинутого использования

Константы

См.также

Внешние ссылки