MicroPython:Библиотеки/lcd160cr

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

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


Модуль 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().

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

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

• LCD160CR.set_spi_win(x, y, w, h) – задает окно, в которое будут записаны SPI-данные. • LCD160CR.fast_spi(flush=True) – подготавливает дисплей к приему пиксельных RGB-данных на SPI-шину, делая так, чтобы позиция первого байта вновь переместилась в левый верхний угол окна, заданного в методе LCD16CR.set_spi_win(). Этот метод возвращает объект SPI, который можно использовать для записи пиксельных данных. Отправляемые пиксели должны быть 16-битными RGB-значениями в формате 5-6-5. Прибытие данных отслеживается с помощью специального счетчика (при каждом прибытии новых данных значение в нем будет увеличиваться), и вы можете отправлять данные любого размера. Когда значение в счетчике достигнет размера окна, заданного в методе LCD160CR.set_spi_win(), оно обнулится до значения, обозначающего верхний левый угол этого окна. • LCD160CR.show_framebuf(buf) – показывает на экране заданный буфер. В аргументе buf должен быть задан массив байтов, содержащий 16-битные пиксельные RGB-значения, и они будут записаны в область, заданную с помощью метода LCD160CR.set_spi_win(), начиная с ее верхнего левого угла. Для создания кадровых буферов можно воспользоваться модулем framebuf. В нем также есть инструментарий для рисования примитивов. При использовании кадрового буфера производительность анимаций лучше, чем при рисовании прямо на экране. • LCD160CR.set_scroll(on) – включает и выключает прокрутку. Этот метод глобально управляет прокруткой во всех окнах. • LCD160CR.set_scroll_win(win, x=- 1, y=0, w=0, h=0, vec=0, pat=0, fill=2016, color=0) – настраивает область (окно) экрана для прокрутки: o win – идентификатор окна, которое надо настроить. Окна с идентификаторами 0-7 – это стандартные окна общего назначения, а окно с идентификатором 8 – это окно текстовой прокрутки (бегущая строка). o x, y, w, h – позиция окна на экране. o vec – направление и скорость прокрутки. Это 16-битное значение в формате 0bF.ddSSSSSSSSSSSS. В dd задается направление прокрутки: «0», «1», «2», «3» – для +x, +y, -x, -y. В F задается формат скорости, и «0» будет значить, что окно будет смещаться со скоростью (S % 256) пикселей за кадр, а «1» – что окно будет смещаться на 1 пиксель каждые S кадров. o pat – 16-битная паттерновая маска для фона. o fill – это цвет заливки. 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(). • lcd160cr.STARTUP_DECO_NONE, lcd160cr.STARTUP_DECO_MLOGO, lcd160cr.STARTUP_DECO_INFO – типы стартовой заставки. Их можно задать вместе по принципу логического ИЛИ при помощи метода LCD160CR.set_startup_deco().

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

См.также

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