GxEPD2
Библиотека дисплеев Arduino для дисплеев SPI E-Paper
С полной поддержкой графики и текста с использованием Adafruit_GFX.
Для электронных бумажных дисплеев SPI от Dalian Good Display
и электронные бумажные платы SPI от Waveshare
важное замечание:
- Панели дисплея предназначены для питания 3,3 В и линий передачи данных 3,3 В.
- никогда не подключайте линии передачи данных напрямую к контактам данных Arduino 5 В, используйте, например, резисторный делитель 4k7/10k.
- Только последовательного резистора недостаточно для надежной работы (эффект обратной подачи через защитные диоды)
- Резисторный делитель 4k7/10k может не работать с удлинителями плоского кабеля или платой Waveshare 4.2, тогда используйте преобразователь уровней.
- не забудьте подключить GND
- настоящие платы отображения Waveshare теперь имеют преобразователи уровня и последовательный регулятор, безопасный для 5 В.
- используйте понижение 3k3 на SS для ESP8266 для плат с преобразователями уровня
- обратите внимание, что 7,5-дюймовые дисплеи на электронной бумаге не работают надежно, если они питаются от контакта Arduino 3,3 В.
- обратите внимание, что платам Waveshare с «умной» схемой сброса может потребоваться укороченный импульс сброса.
- используйте
init(115200, true, 2, false)
для плат Waveshare с «умной» схемой сброса - обратите внимание, что платам Waveshare с «умной» схемой сброса требуется подтягивание 1 кОм на RST на ESP8266 или другом выводе.
- Обратите внимание, что новому драйверу панели Waveshare Universal e-Paper Raw Panel HAT Rev 2.3 требуется PWR, подключенный к VCC или управляемый ВЫСОКИМ уровнем.
- см. https://www.waveshare.com/wiki/E-Paper_Driver_HAT.
Постраничный рисунок, цикл изображений
- Эта библиотека использует постраничное рисование, чтобы ограничить использование оперативной памяти и справиться с отсутствием поддержки обновления одного пикселя.
- размер буфера можно выбрать в приложении с помощью параметра шаблона page_height, см. GxEPD2_Example
- Постраничное рисование реализовано в виде цикла изображений, как в U8G2 (Оливер Краус).
- см. https://github.com/olikraus/u8glib/wiki/tpictureloop
- Постраничное рисование также доступно с помощью drawPaged() и drawCallback(), как в GxEPD.
-
// GxEPD style paged drawing; drawCallback() is called as many times as needed
-
void drawPaged(void (*drawCallback)(const void*), const void* pv)
- постраничное рисование выполняется с использованием методов Adafruit_GFX внутри цикла изображений или drawCallback.
Поддержка полноэкранного буфера
- полноэкранный буфер выбирается путем установки параметра шаблона page_height для отображения высоты
- отрисовка в полноэкранном буфере выполняется с использованием методов Adafruit_GFX без цикла обработки изображений или drawCallback.
- а затем вызов метода display()
Поддержка низкоуровневого растрового рисования
- Доступна поддержка растрового рисования в памяти контроллера и на экране:
- либо через методы экземпляра класса шаблона, которые перенаправляют вызовы базовому классу отображения
- или напрямую используя экземпляр базового класса отображения и напрямую вызывая его методы
Поддержка тем форума Arduino:
- Электронные дисплеи Waveshare с SPI: http://forum.arduino.cc/index.php?topic=487007.0
- Электронная бумага Good Display для Arduino: https://forum.arduino.cc/index.php?topic=436411.0
- Обратите внимание, что эти темы закрыты. Используйте только для справки.
- создавайте новую тему для каждого вопроса или проблемы в https://forum.arduino.cc/c/using-arduino/displays/23.
Примечание к документации
- GxEPD2 использует Adafruit_GFX для поддержки графики и текста, что там хорошо документировано.
- GxEPD2 использует осмысленные имена методов и имеет некоторые комментарии в файлах заголовков.
- обратитесь к файлам заголовков GxEPD2_BW.h, GxEPD2_3C.h и GxEPD2_GFX.h.
- концепцию постраничного рисования и цикла изображений см.:
- https://github.com/olikraus/u8glib/wiki/tpictureloop
Примечание о проблемах и запросах на включение
- о проблемах следует сообщать на дисплеях форума Arduino.
- проблемы на GitHub отключены; было слишком много ложных вопросов.
- запросы на включение не приветствуются, не будут объединены.
- запросы на включение невозможно отключить, но они будут закрыты.
- пожалуйста, разместите информацию об интересных дополнениях к форкам на дисплеях форума Arduino.
Поддерживаемые панели электронной бумаги SPI от Good Display:
- GDEW0102T4 1,02 дюйма ч/б 80x128, UC8175
- DEPG0150BN 1,50 дюйма, ч/б 200x200, SSD1681, например LILYGO® TTGO T5 V2.4.1 1,50 дюйма
- GDEP015OC1 1,54 дюйма ч/б 200x200, IL3829, больше не выпускается
- GDEH0154D67 1,54 дюйма ч/б 200x200, SSD1681, замена GDEP015OC1
- GDEW0154T8 1,54 дюйма ч/б 152x152, UC8151 (IL0373)
- GDEW0154M09 1,54 дюйма ч/б 200x200, JD79653A
- GDEW0154M10 1,54 дюйма, ч/б 152x152, UC8151D, DES
- GDEY0154D67 1,54 дюйма ч/б 200x200, SSD1681
- GDEW0154Z04 1,54 дюйма ч/б/п 200x200, IL0376F, больше не выпускается
- GDEH0154Z90 1,54 дюйма, ч/б, 200x200, SSD1681, замена GDEW0154Z04
- GDE0213B1 2,13 дюйма ч/б 122x250, IL3895, снят с производства
- GDEH0213B72 2,13" ч/б 122x250, SSD1675A (IL3897), замена GDE0213B1
- GDEH0213B73 2,13 дюйма, ч/б, 122x250, SSD1675B, новая замена GDE0213B1, GDEH0213B72
- GDEM0213B74 2,13 дюйма ч/б 122x250, SSD1680
- GDEW0213I5F 2,13 дюйма ч/б 104x212, UC8151 (IL0373), гибкий
- GDEW0213T5D 2,13 дюйма ч/б 104x212, UC8151 (IL0373)
- GDEW0213M21 2,13 дюйма ч/б 104x212, UC8151 (IL0373), DES
- GDEW0213Z16 2,13 дюйма ч/б/п 104x212, UC8151 (IL0373)
- GDEW0213Z19 2,13 дюйма ч/б/п 104x212, UC8151D
- GDEY0213Z98 2,13 дюйма ч/б/п 122x250, SSD1680
- GDEY0213F51 2,13 дюйма, 4 цвета, 122x250, JD79661
- DEPG0213BN 2,13 дюйма, ч/б 122x250, SSD1680, например LILYGO® TTGO T5 V2.3.1 2,13 дюйма
- GDEY0213B74 2,13 дюйма ч/б 122x250, SSD1680
- GDEW026T0 2,6 дюйма ч/б 152x296, UC8151 (IL0373)
- GDEW026M01 2,6 дюйма ч/б 152x296, UC8151 (IL0373), DES
- DEPG0266BN 2,66 дюйма, ч/б 152x296, SSD1680, например LILYGO® TTGO T5 2,66 дюйма
- GDEY0266Z90 2,66 дюйма, ч/б, 152x296, SSD1680
- GDEY0266F51H 2,66 дюйма, 4 цвета, 184 x 460, JD79667
- GDEW027C44 2,7 дюйма ч/б/п 176x264, IL91874
- GDEW027W3 2,7" ч/б 176x264, EK79652 (IL91874)
- GDEY027T91 2,7 дюйма ч/б 176x264, SSD1680
- GDEH029A1 2,9 дюйма ч/б 128x296, SSD1608 (IL3820)
- GDEW029T5 2,9 дюйма ч/б 128x296, UC8151 (IL0373)
- GDEW029T5D 2,9 дюйма ч/б 128x296, UC8151D
- GDEW029I6FD 2,9" ч/б 128x296, UC8151D, гибкий
- GDEM029T94 2,9 дюйма ч/б 128x296, SSD1680
- GDEW029M06 2,9 дюйма ч/б 128x296, UC8151D, DES
- GDEW029Z10 2,9 дюйма ч/б/п 128x296, UC8151 (IL0373)
- GDEH029Z13 2,9 дюйма ч/б/п 128x296, UC8151D
- GDEM029C90 2,9 дюйма ч/б 128x296, SSD1680
- DEPG0290BS 2,9 дюйма, ч/б 128x296, SSD1680, например LILYGO® TTGO T5 V2.4.1 2,9 дюйма
- GDEY029T94 2,9 дюйма ч/б 128x296, SSD1680
- GDEY029T71H 2,9 дюйма ч/б 168x384, SSD1685
- GDEY029F51H 2,9 дюйма, 4 цвета, 168 x 384, JD79667
- Waveshare3inch4color 3,0" 4-цветный 168x400
- GDEQ031T10 3,1 дюйма, ч/б 240x320, UC8253
- ED037TC1 3,7 дюйма ч/б 280x480, SSD1677, Waveshare 3,7 дюйма
- GDEW0371W7 3,7 дюйма ч/б 240x416, UC8171 (IL0324)
- GDEW042T2 4,2 дюйма ч/б 400x300, UC8176 (IL0398)
- GDEW042M01 4,2 дюйма ч/б 400x300, UC8176 (IL0398), DES
- GDEW042Z15 4,2 дюйма ч/б/п 400x300, UC8176 (IL0398)
- GDEQ042Z21 4,2 дюйма, ч/б, 400x300, UC8276, (Waveshare V2)
- GDEY042Z98 4,2 дюйма ч/б/п 400x300, SSD1683
- GDEY042T81 4,2 дюйма ч/б 400x300, SSD1683
- GDEY0420F51 4,2 дюйма, 4 цвета, 400 x 300, HX8717
- GDEQ0426T82 4,26 дюйма, ч/б, 800x480, SSD1677
- Waveshare437inch4color Waveshare 4,37-дюймовый 4-цветный дисплей электронной бумаги 512x368
- ACeP565 5,65 дюйма Waveshare 5,65 дюйма 7-цветный дисплей на электронной бумаге 600x448
- GDEP0565D90 5,65 дюйма, 7 цветов, 600x448
- GDEY0579T93 5,79 дюйма, ч/б, 792x272, SSD1683
- GDEY0579Z93 5,79 дюйма, ч/б, 792x272, SSD1683
- GDEY0579F51 5,79 дюйма, 4 цвета, 792x272, HX8717
- GDEW0583T7 5,83 дюйма, ч/б, 600x448, UC8159c (IL0371)
- GDEW0583T8 5,83 дюйма ч/б 648x480, EK79655 (GD7965)
- GDEW0583Z83 5,83 дюйма, ч/б, 648x480, EK79655 (GD7965)
- GDEQ0583T31 5,83 дюйма, ч/б, 648x480, UC8179
- GDEQ0583Z31 5,83 дюйма, ч/б, 648x480, UC8179C
- GDEY073D46 7.3" 800x480 7-цветный
- GDEP073E01 7,3 дюйма 800x480 7-цветный
- ACeP730 7,3-дюймовый 7-цветный дисплей Waveshare на электронной бумаге, 800x480, PhotoPainter
- GDEW075T8 7,5 дюйма, ч/б, 640x384, UC8159c (IL0371)
- GDEW075T7 7,5" ч/б 800x480, EK79655 (GD7965)
- GDEY075T7 7,5" ч/б 800x480, UC8179 (GD7965)
- GDEW075Z09 7,5 дюйма, ч/б, 640x384, UC8159c (IL0371)
- GDEW075Z08 7,5 дюйма ч/б/п 800x480, EK79655 (GD7965)
- GDEH075Z90 7,5 дюйма, ч/б, 880 x 528, SSD1677
- GDEM102T91 10,2 дюйма, ч/б, 960x640, SSD1677
- GDEM1085T51 10.85 ч/б 1360x480, JD79686AB
- GDEH116T91 11,6 дюйма, ч/б, 960x640, SSD1677
- GDEY116Z91 11,6 дюйма, ч/б, 960x640, SSD1677
- GDEY116F51 11,6-дюймовый 4-цветный 960x640, SSD2677
- GDEW1248T3 12,48 дюйма, ч/б 1304x984, UC8179
- GDEY1248Z51 12,48 дюйма ч/б/б 1304x984, UC8179
- GDEM133T91 13,3 дюйма, ч/б, 960x680, SSD1677
- GDEM133Z91 13,3 дюйма, ч/б, 960x680, SSD1677
Поддерживаемые панели и платы SPI e-paper от Waveshare: сравните с Good Display, той же панелью
другие поддерживаемые панели
- GYE042A87 4,2 дюйма, ч/б, 400x300, SSD1683 (HINK-E042-A07-FPC-A1)
- SE0420NQ04 4,2 дюйма, ч/б, 400x300, UC8276C (OPM042A2_V1.0)
- ED060SCT 6 дюймов, уровни серого, на электронной бумаге Waveshare IT8951 Driver HAT
- ED060KC1 6 дюймов, уровни серого, 1448x1072, на электронной бумаге Waveshare IT8951 Driver HAT
- ED078KC2 7,8-дюймовый уровень серого, 1872x1404, на электронной бумаге Waveshare IT8951 Driver HAT
- ES103TC1 10,3-дюймовые уровни серого, 1872x1404, на электронной бумаге Waveshare IT8951 Driver HAT
Я могу и буду поддерживать только те панели электронной бумаги, которые у меня есть!
- Я могу принять пожертвования для поддержки GxEPD2.
- Но в любое время только несколько панелей и только панели из известных источников.
- Добавление поддержки займет столько времени, сколько необходимо.
Версия 1.6.0
- обновленная поддержка GDEY029T94: исправлена проблема с частичным обновлением.
- обновленная поддержка GDEY042T81: исправлено быстрое полное обновление для версии панели 2024 года.
- обновленная поддержка GDEP073E01: исправлено сопоставление цветов для его собственных значений цвета.
- обновлен GxEPD2_display_selection_new_style.h: добавлены Arduino Nano Every, Arduino Nano ESP32, Arduino Nano IoT.
Версия 1.5.9
- добавлена команда энергосбережения (PWS) в инициализацию GDEY075T7 (проблема с размытыми растровыми изображениями)
- добавлена поддержка GDEY0579T93 5,79" ч/б 792x272, SSD1683
- добавлена поддержка GDEY0579Z93 5,79 дюйма ч/б/п 792x272, SSD1683
- добавлена поддержка GDEY0579F51 5,79 дюйма, 4 цвета, 792x272, HX8717.
- GDEY0579F51 имеет возможность частичной оконной адресации,
- но бесполезно, поскольку буфер контроллера изменяется во время обновления
- частичное обновление окна нельзя использовать на GDEY0579F51, обновление происходит в полноэкранном режиме
- добавлена поддержка GDEY042Z98 4,2 дюйма ч/б/п 400x300, SSD1683
- GDEY042Z98 имеет «быстрое» полное обновление и поддерживает быстрое ч/б частичное обновление.
- добавлена поддержка GDEP073E01 7,3 дюйма, 800x480, 7 цветов.
Версия 1.5.8
- добавлена поддержка GDEP0565D90 5,65 дюйма, 7 цветов, 600x448.
- добавлена поддержка GDEY116F51 11,6 дюйма, 4 цвета, 960x640, SSD2677.
- добавлена поддержка GDEY029T71H 2,9" ч/б 168x384, SSD1685
Версия 1.5.7
- добавлена поддержка GDEY0213F51 2,13 дюйма, 4 цвета, 122x250, JD79661.
- добавлена поддержка GDEM1085T51 10.85 ч/б 1360x480, JD79686AB
Версия 1.5.6
- версия для текущих исправлений и дополнений
- добавлена поддержка GYE042A87 4,2 дюйма, ч/б 400x300.
- добавлена поддержка SE0420NQ04 4,2 дюйма, ч/б 400x300
- добавлена поддержка GDEQ0583Z31 5,83 дюйма ч/б/п 648x480
- добавлена поддержка GDEM102T91 10,2 дюйма, ч/б, 960x640, SSD1677.
- добавлена поддержка GDEY116Z91 11,6 дюйма, ч/б, 960x640, SSD1677.
- добавлена поддержка GDEM133T91 13,3 дюйма, ч/б, 960x680, SSD1677.
- добавлена поддержка GDEM133Z91 13,3 дюйма, ч/б/п, 960x680, SSD1677.
- улучшенное дифференциальное обновление для SE0420NQ04
- улучшенное полное обновление для SE0420NQ04
- исправлен класс драйвера GxEPD2_213.cpp
Версия 1.5.5
- обновлены классы 7-цветных драйверов (исправлена очистка дизайна)
- примечание: Waveshare PhotoPainter не работает с пакетом MBED Pico.
- примечание: используйте пакет https://github.com/earlephilhower/arduino-pico для PhotoPainter
Версия 1.5.4
- добавлена поддержка GDEQ031T10 3,1 дюйма, ч/б, 240x320.
- обновлена поддержка GDEY075T7 7,5" ч/б 800x480
- класс драйвера переименован GxEPD2_750_YT7 в GxEPD2_750_GDEY075T7
- Фактические панели GDEY075T7 имеют возможность быстрого полного обновления.
- добавлена поддержка 7-цветного дисплея Waveshare 7,3 дюйма, класс драйвера GxEPD2_730c_ACeP_730.
- добавлена поддержка 7-цветного 7-цветного PhotoPainter Waveshare с RPi Pico RP2040.
- обновлены классы ч/б драйверов для контроллеров SSD
- обновлены классы 7-цветных драйверов (очистка дизайна)
Версия 1.5.3
- добавлена поддержка GDEQ0426T82 4,26 дюйма, ч/б 800x480.
- добавлена поддержка GDEY0266F51H 2,66 дюйма, 4 цвета, 184x460.
- добавлена поддержка GDEY029F51H 2,9 дюйма, 4 цвета, 168x384.
- добавлена поддержка GDEY0420F51 4,2 дюйма, 4 цвета, 400x300.
- добавлена поддержка 4-цветного электронного дисплея Waveshare 3,00 дюйма 168x400.
- обновлена поддержка 4-цветного дисплея Waveshare на электронной бумаге с диагональю 4,37 дюйма и разрешением 512x368.
- 4-цветные дисплеи имеют частичную оконную адресацию и обновление
- переименован GDEY042T91 в новое официальное название GDEY042T81.
Версия 1.5.2
- добавлена поддержка 4-цветного электронного дисплея Waveshare 4,37 дюйма 512x368.
- исправлен тест __has_include (для пакетов, которые не поддерживают __has_include)
- добавлен WIDTH_VISIBLE для правильной ширины графики для 2,13 дюйма ч/б 122x250
- добавлен метод end() для освобождения SPI и сброса всех контактов в режим INPUT
Версия 1.5.1
- добавлена поддержка GDEY0154D67 1,54 дюйма ч/б 200x200
- добавлена поддержка GDEY0213B74 2,13 дюйма ч/б 128x250
- обновлена поддержка GDEY027T91 2,7 дюйма, ч/б, 176x264.
- класс драйвера для GDEY027T91 переименован в GxEPD2_270_GDEY027T91.
- добавлена поддержка GDEY029T94 2,9" ч/б 128x296
- добавлена поддержка GDEY042T91 4,2 дюйма ч/б 400x300
- добавлена поддержка GDEQ0583T31 5,83 дюйма, ч/б, 648x480.
- эти панели имеют возможность быстрого полного обновления
- быстрое полное обновление можно отключить в заголовке класса для использования при низких температурах.
- добавлена поддержка GDEY073D46 7,3 дюйма, 800x480, 7 цветов.
- все эти новые панели были подарены Good Display.
- добавлен тест __has_include в GxEPD2_BW.h, GxEPD2_3C.h, GxEPD2_7C
- это позволяет удалить или отложить неиспользуемые классы драйверов для более быстрой компиляции.
- несколько исправлений и улучшений
Версия 1.5.0
- добавлена поддержка GDEY075T7 7,5" ч/б 800x480
- обновлен GxEPD2_Example, добавлено использование HSPI для платы драйвера Waveshare ESP32.
- обновлен GxEPD2_SD_AVR_Example, исправления для обработки BMP.
- обновлен GxEPD2_SD_Example, исправления для обработки BMP, добавлено использование HSPI для платы драйвера Waveshare ESP32.
- обновлен GxEPD2_SerialFlash_Example, исправления для обработки BMP.
- обновлен GxEPD2_SerialFlash_Loader, обновлены сертификаты https и использование
- обновлен GxEPD2_Spiffs_Example, исправления для обработки BMP.
- обновлен GxEPD2_Spiffs_Loader, обновлены сертификаты https и использование
- добавлен GxEPD2_WiFi_CertStore_Example, использование BearSSL CertStore на ESP8266, как в браузере.
- добавлен GxEPD2_WiFi_CertStore_Loader, загрузка корневых сертификатов (из Mozilla) во флеш ESP8266
- обновлен GxEPD2_WiFi_Example, исправления для обработки BMP, обновлены сертификаты https и использование
- обновлен GxEPD2_WS_ESP32_Driver, добавлено использование HSPI для платы драйвера Waveshare ESP32.
Версия 1.4.9
- добавлены недостающие строки конструктора в GxEPD2_display_selection.h
- добавлена информация о панели в комментарии в GxEPD2_display_selection.h
- добавлены сведения о панели в раздел «Поддерживаемые панели электронной бумаги SPI» в README.md.
Версия 1.4.8
- добавлена поддержка GDEY027T91 2,7" ч/б 176x264
- добавлена поддержка GDEY1248Z51 12,48 дюйма ч/б/п 1304x984
- фиксированное имя панели DEPG0150BN
- обновленный сертификат и отпечаток пальца для загрузки с GitHub в GxEPD2_WiFi_Example
Версия 1.4.7
- добавлена поддержка DEPG0150BN 1,50 дюйма, ч/б 200x200, например LILYGO® TTGO T5 V2.4.1 1,50 дюйма.
- добавлена поддержка DEPG0213BN 2,13 дюйма, ч/б 128x250, например LILYGO® TTGO T5 V2.3.1 2,13 дюйма.
- добавлена поддержка DEPG0266BN 2,66 дюйма, ч/б 152x296, например LILYGO® TTGO T5 2,66 дюйма.
- добавлена поддержка DEPG0290BS 2,9 дюйма, ч/б 128x296, например LILYGO® TTGO T5 V2.4.1 2,9 дюйма.
- добавлена поддержка уровней серого ES103TC1 10,3 дюйма, 1872x1404, на электронной бумаге Waveshare IT8951 Driver HAT.
Версия 1.4.6
- добавлена поддержка GDEY0266Z90 2,66 дюйма ч/б/п 152x296
- добавлена поддержка GDEW0583Z83 5,83 дюйма ч/б/п 648x460
Версия 1.4.5
- добавлена поддержка GDEY0213Z98 2,13 дюйма ч/б/п 122x250
- протестировано с трехцветным дисплеем LOLIN 2,13 дюйма, электронными чернилами и электронной бумагой, 250 x 122 пикселей.
- https://www.aliexpress.com/item/1005003020667903.html
Версия 1.4.4
- временное обновление для устранения предупреждений компилятора (ВСЕ для GCC для AVR)
Версия 1.4.3
- добавлена возможность выбора альтернативного канала HW SPI и/или настроек SPI
- методом selectSPI(SPIClass& spi, SPISettings spi_settings) базового класса драйвера GxEPD2_EPD
- вызвав selectSPI перед вызовом init() класса отображения
- или вызвав расширенный метод init(), в который добавлены эти параметры
- протестировано с RPi Pico RP2040 с использованием соединительного экрана Good Display DESPI-PICO
- обновлен GxEPD2_Example, чтобы показать использование с DESPI-PICO.
- DESPI-PICO: см. https://www.good-display.com/product/393.html.
Версия 1.4.2
- добавлена поддержка черно-белой платы и панели Waveshare 3,7 дюйма ED037TC1.
- Таблицы сигналов для ED037TC1 без изменений взяты из демонстрационного кода Waveshare.
- поведение обновления с ED037TC1 с GxEPD2 не идеально, не удалось устранить
- ПРОБЛЕМА РЕШЕНА: для этой панели сопротивление RESE должно быть 3 Ом на DESPI-C02, схема Waveshare неверна.
- добавлено дифференциальное обновление для GDEH116T91, таблица сигналов взята из ED037TC1
- дифференциальное обновление для GDEH116T91 выглядит нормально; можно отключить с помощью hasFastPartialUpdate = false
- увеличена фаза сустейна для дифференциального обновления на GDEW042T2
Версия 1.4.1
- исправлена «умная» схема сброса Waveshare: контроллер питания перед импульсом сброса
Версия 1.4.0
- изменена продолжительность сброса по умолчанию на 10 мс вместо 20 мс.
- изменена задержка после сброса на 10 мс или продолжительность сброса, в зависимости от того, что больше, вместо 200 мс
- добавлена функция busyCallback, позволяющая обслуживать периодические действия во время ожидания завершения BUSY
-
// register a callback function to be called during _waitWhileBusy continuously.
-
void setBusyCallback(void (*busyCallback)(const void*), const void* busy_callback_parameter = 0);
- добавлен пример GxEPD2_RotaryUsingBusyCallback.ino
Версия 1.3.9
- исправление для диапазона номеров контактов официального пакета STM32 (int16_t)
- исправлено пересечение экрана методов обновления (int16_t x, int16_t y, int16_t w, int16_t h)
Версия 1.3.8
- добавлена поддержка панели GDEQ042Z21 4,2 дюйма ч/б/п 400x300 или платы Waveshare 4,2 дюйма V2 ч/б/п.
- плата Waveshare 4.2" V2 b/w/r требует укороченного импульса сброса
- добавлена поддержка гибкой платы GDEW029I6FD 2,9 дюйма, ч/б, 128x296.
- некоторые исправления и улучшения в выборе панели нового стиля.
Версия 1.3.7
- добавлена поддержка черно-белой панели GDEW0102T4 1,02 дюйма 80x128 или черно-белой платы Waveshare 1,02 дюйма.
- Панель GDEW0102T4 имеет другой разъем, чем другие панели SPI.
- Панель GDEW0102T4 можно использовать с соединительным модулем DESPI-C102.
- https://buy-lcd.com/products/connection-board-demo-kit-for-102-inch-e-ink-display-despi-c102
- мой тест проводился с черно-белой платой Waveshare 1,02 дюйма.
Версия 1.3.6
- добавлена поддержка Waveshare 2.9" ч/б V2, класс драйвера GxEPD2_290_T94_V2
- В Waveshare 2,9 дюйма ч/б V2 используется вариант GDEM029T94 без частичного обновления в OTP.
- Класс драйвера GxEPD2_290_T94_V2 использует частичное обновление, записанное в регистры
- добавлено ПРИМЕЧАНИЕ для подтягивания RST на ESP8266 с «умной» схемой сброса или альтернативным контактом.
Версия 1.3.5
- добавлена поддержка панели из электронной бумаги GDEM0213B74 122x250 ч/б.
- добавлена поддержка ED078KC2, уровни серого 7,8 дюйма, 1872x1404, на электронной бумаге Waveshare IT8951 Driver HAT
Версия 1.3.4
- добавлена поддержка черно-белой электронной панели GDEH116T91 960x640.
- GDEH116T91 имеет только полноэкранное обновление, волновая таблица для дифференциального обновления пока отсутствует.
- добавлена поддержка процессора Arduino Nano RP2040 Подключайтесь к примерам
- добавлено общее быстрое черно-белое обновление для 3-цветных дисплеев GDEW0213Z19, GDEW029Z13.
- добавлен пример GxEPD2x_FastBlackWhiteOnColor.ino для GDEW0213Z19, GDEW029Z13
- может последовать оценка других 3-цветных панелей с быстрым ч/б режимом
Версия 1.3.3
- добавлен метод дифференциального ч/б обновления в GDEW0213Z19
- добавлен метод дифференциального ч/б обновления в GDEW029Z13
- возможно до 100 быстрых черно-белых обновлений (в результате чего фон становится слегка красноватым)
- добавлен экспериментальный пример GxEPD2x_MixedTest для подтверждения концепции
- GxEPD2x_MixedTest требуется достаточно оперативной памяти для двух объектов GFXCanvas1.
- общее трехцветное смешанное обновление в GxEPD2 находится на стадии оценки для соответствующих панелей
Версия 1.3.2
- добавлена поддержка черно-белой панели GDEW0213T5D 104x212 из электронной бумаги.
- добавлена поддержка черно-белой панели GDEW029T5D 128x296 из электронной бумаги.
- добавлена поддержка панели электронной бумаги GDEW0213Z19 104x212 ч/б/п.
- добавлена поддержка панели электронной бумаги GDEW029Z13 128x296 ч/б/п.
- и GDEW0213Z19, и GDEW029Z13 поддерживают только полноэкранное обновление (проблема с контроллером)
Версия 1.3.1
- добавлена поддержка панели из электронной бумаги GDEM029C90 128x296 ч/б/г.
- GDEM029C90 имеет очень долгое время обновления — около 27 секунд.
- GDEM029C90 имеет частичное обновление (окнную адресацию) памяти контроллера.
- GDEM029C90 поддерживает только полное обновление экрана.
Версия 1.3.0
- добавлена поддержка ч/б панели GDEM029T94 128x296 из электронной бумаги.
- добавлена поддержка новой панели электронной бумаги DES GDEW026M01 152x296 ч/б.
- новая черно-белая электронная панель GDEW026M01 DES имеет более высокую контрастность и широкий температурный диапазон.
- дифференциальное обновление (быстрое частичное обновление) поддерживается для нормального температурного диапазона
- отключите дифференциальное обновление для расширенных температур, установив hasFastPartialUpdate = false;
- таблица дифференциальных сигналов для GDEW026M01 является экспериментальной и может нуждаться в доработке.
- существенное обновление выбора отображения в примерах, чтобы упростить добавление:
- Выбор в старом стиле теперь находится в отдельных включаемых файлах GxEPD2_display_selection.h
- и GxEPD2_display_selection_added.h
- добавлен выбор нового стиля отображения во включаемом файле GxEPD2_display_selection_new_style.h
- можно использовать любой стиль выделения. старый стиль предназначен для удобного копирования строк конструктора.
Версия 1.2.16
- исправление для GDEH0154D67, чтобы оно работало независимо от версии OTP (проблема с пинг-понгом)
Версия 1.2.15
- добавлена поддержка новой панели электронной бумаги DES GDEW0213M21 2,13 дюйма 104x212 ч/б.
- добавлена поддержка новой панели электронной бумаги DES GDEW029M06 2,9 дюйма 128x296 ч/б.
- добавлена поддержка новой панели электронной бумаги DES GDEW042M01 4,2 дюйма 400x300 ч/б.
- эти новые черно-белые панели DES на электронной бумаге имеют более высокую контрастность и широкий температурный диапазон.
- дифференциальное обновление (быстрое частичное обновление) поддерживается для нормального температурного диапазона
- отключите дифференциальное обновление для расширенных температур, установив hasFastPartialUpdate = false;
- GDEW042M01, который у меня есть, является предварительной версией, дифференциальный сигнал может нуждаться в обновлении.
Версия 1.2.14
- добавлена поддержка 6-дюймового экрана ED060KC1 с разрешением 1448x1072 пикселей на электронной бумаге Waveshare IT8951 Driver HAT.
- исправлен GxEPD2_WiFi_Example.ino: новый отпечаток GitHub для ESP8266, сертификат для ESP32
- фиксированный цветовой дискриминатор для 7-цветного дисплея в GxEPD2_7C.h
- добавлена многоцветная поддержка 7-цветного дисплея в GxEPD2_WiFi_Example, GxEPD2_Spiffs_Example,
- и GxEPD2_SD_Example, GxEPD2_SerialFlash_Example
- исправлена постраничная запись в контроллер 7-цветного дисплея (проблема с обработкой транзакций и CS)
- еще несколько исправлений
Версия 1.2.13
- добавлена поддержка GDEH0154Z90 1,54 дюйма 200x200 ч/б/к, замена GDEW0154Z04
- GDEH0154Z90 имеет частичную адресацию окна, но не имеет частичного обновления окна.
- добавлено несколько недостающих примеров конструкторов, например, для IT8951 Driver HAT в срок
- подчищена информация о проводке в примерах
Версия 1.2.12
- исправлен GxEPD2_MinimumExample.ino для рисования черным на белом (белое на белом было невидимым)
- добавлен пример GxEPD2_HelloWorld.ino
- обновлена информация о проводке и параметры конструктора для актуальной платы драйвера Waveshare e-Paper ESP8266.
- добавлены некоторые отсутствующие явные инициализаторы (никто не заметил, поскольку компиляторы обычно инициализируют простые члены)
Версия 1.2.11
- добавлена поддержка 5,65-дюймового 7-цветного дисплея электронной бумаги Waveshare 600x448.
- неизвестный контроллер этого дисплея, насколько известно, не поддерживает частичное обновление
- Поддержка 7-цветной графики доступна в классе GxEPD2_7C.
- Для поддержки 7-цветной графики требуется пейджинг даже на ESP32.
- Поддержка 7-цветной графики вызывает интенсивную подкачку страниц в Arduino UNO и очень медленную работу
- обновление происходит довольно быстро для цветного дисплея на электронной бумаге: 12 секунд.
Версия 1.2.10
- добавлена поддержка GDEH075Z90 7,5" ч/б/к 880x528
- контроллер GDEH075Z90 поддерживает частичное обновление, но обновление происходит в полноэкранном режиме
- контроллер GDEH075Z90 не поддерживает дифференциальное обновление (в любом случае невозможно для 3-цветного режима)
- примечание: разъем GDEH075Z90 зеркальный; подключается вниз на DESPI-C02
- добавлен дополнительный параметр инициализации «reset_duration» в мс, те же 20 мс по умолчанию, что и раньше.
- reset_duration = 2 может помочь с «умной» схемой сброса новых плат от Waveshare.
Версия 1.2.9
- добавлена поддержка GDEW0154T8 1,54 дюйма, ч/б 152x152.
- добавлена поддержка GDEW0154M09 1,54 дюйма, ч/б 200x200.
- добавлена поддержка GDEW0154M10 1,54 дюйма, ч/б 152x152 DES
- добавлена поддержка GDEW0583T8 5,83 дюйма, ч/б, 648x460.
- добавлена возможность использовать класс GFX библиотеки GFX_Root вместо Adafruit_GFX
- дифференциальное обновление на GDEW0154M10 является экспериментальным, демо-версии частичного обновления пока нет
Версия 1.2.8
- улучшенная скорость передачи данных для больших дисплеев (3,71 дюйма и выше)
Версия 1.2.7
- исправлен постраничный рисунок начального экрана на GDEH029A1
- иногда true оказывается ложным, если применить его неправильно
Версия 1.2.6
- немного улучшено дифференциальное обновление для GDEW1248T3
- мелкие исправления
Версия 1.2.5
- добавлена поддержка черно-белой панели GDEW1248T3 с диагональю 12,84 дюйма на рамке дисплея Waveshare 12.48 для электронной бумаги.
- протестировано с платой драйвера Waveshare Epaper ESP32, установленной на соединительной плате
- протестировано с Arduino UNO, установленным на плате подключения, работает очень медленно
- не работает с Arduino MEGA на соединительной плате с переключателем в положении ICSP и согнутыми контактами, причина неизвестна
- не тестировался с другими процессорами
- Внимание: разъем проводки находится на стороне 5 В преобразователей уровня!
Версия 1.2.4
- добавлена поддержка GDEH0154D67 1,54 дюйма ч/б, замена GDEP015OC1
- добавлен GxEPD2_SerialFlash_Loader, загрузчик растровых изображений WiFi для SPI-flash
- добавлен GxEPD2_SerialFlash_Example, пример SPI-flash, например для Winbond 25Q16BVSIG
- мелкие исправления и очистка комментариев
- исправить обновление (false) на верхнем уровне: добавить powerOff() после полного обновления
Версия 1.2.3
- исправлено частичное обновление для 2,13-дюймовой 3-цветной и 2,9-дюймовой 3-цветной электронной бумаги
- частичное обновление можно отключить с помощью атрибута usePartialUpdateWindow = false
- добавлен GxEPD2_GFX_Example, чтобы показать использование базового класса GxEPD2_GFX.
- заменен код GxEPD2_MultiDisplayExample, тот же код, что и GxEPD2_GFX_MultiDisplayExample
- добавлены дополнительные материалы/примеры/GxEPD2_T_MultiDisplayExample, альтернативный пример с использованием функций шаблона
- крупные и мелкие исправления, например опечатки, которые сохранялись слишком долго.
Версия 1.2.2
- исправлена обработка BMP, например, для BMP, созданных ImageMagick
- см. также тему форума Arduino https://forum.arduino.cc/index.php?topic=642343.0
Версия 1.2.1
- добавлена поддержка GDEW075T7 7,5" ч/б 800x480
- GDEW075T7 имеет дифференциальное обновление (1,6 с) с использованием формы сигнала балансировки заряда.
- добавлена дополнительная поддержка SW SPI, см. /extras/sw_spi/README
- добавлен /extras/tests/GxEPD2_RefreshTests/GxEPD2_RefreshTests.ino для настройки формы сигнала.
- мелкие исправления
- Обратите внимание, что 7,5-дюймовые дисплеи на электронной бумаге не работают надежно, если они питаются от контакта Arduino 3,3 В.
Версия 1.2.0
- добавлено "быстрое частичное обновление" (дифференциальное обновление) для GDEW0371W7 3,7" ч/б 240x416
- улучшенная форма сигнала дифференциального обновления для GDEW026T0 2,6 дюйма, ч/б 152x256
- исправлен код инициализации и улучшено дифференциальное обновление для GDEW042T2 4,2 дюйма, ч/б, 300x400
- обратите внимание, что все сигналы дифференциального обновления являются компромиссом (двоение, использование крупного шрифта)
- параметры дифференциальной формы сигнала для этих дисплеев можно легко изменить для экспериментирования.
- Без фазы сустейна фон у GDEW042T2 был бы серым.
- GDEW042T2 требует нескольких полных обновлений после длительного использования частичных обновлений.
Версия 1.1.10
- добавлена поддержка GDEH0213B73 2,13" ч/б, замена GDE0213B1, GDEH0213B72
- добавлена поддержка GDEW026T0 2,6 дюйма, ч/б 152x256.
- добавлена поддержка GDEW0371W7 3,7 дюйма, ч/б, 240x416.
- добавлена поддержка GDEW075Z08 7,5 дюймов ч/б/к 800x480
- GDEW075Z08 разрешает (медленное) частичное обновление, установите usePartialUpdate = false, чтобы отключить его для улучшения изображения.
- изменена таблица осциллограмм 4,2-дюймового ч/б для лучшего результата с реальными панелями
Версия 1.1.9
- Примечание для ESP8266 при использовании SS для CS: (предложение по проводке)
- подключите понижение напряжения 4,7 кОм от GPIO15 к GND, если на вашей плате или шилде есть преобразователи уровня.
- исправления для больших дисплеев (используйте uint16_t для индекса буфера)
Версия 1.1.8
- исправление неполной загрузки в GxEPD2_WiFi_Example
- добавлен отсутствующий метод displayWindow() в базовый класс GxEPD2_GFX
- исправление и очистка первоначального обновления для панелей с дифференциальным обновлением
- для этих панелей первоначальное обновление должно быть полным, а не «быстрым частичным обновлением»,
- поскольку содержимое экрана может отличаться от содержимого «предыдущего буфера».
- добавить очистку буфера(ов) контроллера при первоначальной записи в контроллер для частичного обновления.
Версия 1.1.7
- расширенная поддержка полной буферизации и невыгружаемого использования для процессоров с достаточным объемом оперативной памяти.
- используйте void display (bool parts_update_mode = false); соответствует update() в GxEPD
- используйте добавленный void displayWindow(uint16_t x, uint16_t y, uint16_t w, uint16_t h);
- используйте добавленные writeImagePart(...), drawImagePart(...), используемые displayWindow()
- добавлен пример GxEPD2_NotPagedExample.ino
- несколько исправлений, например проверка диапазона параметров в setPartialWindow()
Версия 1.1.6
- добавлена поддержка GDEH0213B72 2,13" ч/б, замена GDE0213B1
- изменена скорость SPI для HAT драйвера IT8951: 24 МГц для записи и 10 МГц для чтения.
- мелкие исправления, например центрирование ограничивающей рамки текста в GxEPD2_Example
Версия 1.1.5
- добавлена поддержка 6-дюймового ED060SCT в шляпе драйвера Waveshare e-Paper IT8951.
- использует линии передачи данных 3,3 В, но питание 5 В (~ 80 мА в активном режиме, ~ 20 мА в режиме ожидания, спящий режим не работает)
- примечание: питание 5 В должно быть точным и сильным; 5В через диод от USB (например, Wemos D1 mini) не работает!
- Обратите внимание, что HAT драйвера IT8951 зависит от панели, а флэш-память настраивается поставщиком.
- это начальная версия
Версия 1.1.4+
- добавлен пример GxEPD2_WS_ESP32_Driver для платы драйвера Waveshare ESP32.
Версия 1.1.4
- устранено двойное обновление для «быстрого частичного обновления»
- волновые таблицы перемещены в классы драйверов
- добавлен один явный метод drawImage(...) и writeImage(...) (для удаленных значений параметров по умолчанию для 1.1.3)
- добавлен метод инициализации с добавленным параметром Initial для повторной инициализации после пробуждения процессора в глубоком сне.
- добавлен параметр инициализации pulldown_rst_mode для специальной обработки RST (не требуется для экрана waveshare)
Версия 1.1.3
- фиксированные волновые таблицы для GDEW029T5 и GDEW0213I5F
- исправлена неоднозначность сопоставления сигнатур перегруженных методов drawImage(...)
Версия 1.1.2
- добавлена поддержка GDEW029T5
- исправлено (добавлено) отсечение для частичного окна
- исправлено (добавлено) powerOff() после полного обновления (частичное обновление сохраняет питание)
- добавлен hibernate() для минимального энергопотребления дисплеями, которые его поддерживают.
Версия 1.1.1
- 2,7-дюймовый ч/б GDEW027W3 с поддержкой быстрого частичного обновления на основе новой волновой таблицы демонстрационного кода
- добавлено предложение сопоставления для Arduino MEGA
- ПРИМЕЧАНИЕ. Используйте резисторы делителя напряжения для Arduino 5 В, последовательный резистор недостаточно надежен.
- ConnectingHardware.md обновлен
Версия 1.1.0
- добавлена поддержка GDEW0213I5F для 2,13-дюймового черно-белого гибкого дисплея 104x212.
- обновлены GxEPD2_WiFi_Example и GxEPD2_Spiffs_Loader для использования BearSSL на ESP8266 для загрузки больших растровых изображений.
Версия 1.0.9
- добавьте GxEPD2_U8G2_Fonts_Example, например, для использования умлаутов ÄÖÜäéöü
- ПРИМЕЧАНИЕ. вам необходимо СОХРАНИТЬ измененный пример в доступном для сохранения месте, чтобы символы UTF-8 работали.
Версия 1.0.8
- добавьте GxEPD2_SD_AVR_boards_added.h в GxEPD2_SD_AVR_Example
- с примерами определений для плат, отличных от AVR (пример использования класса дисплея низкого уровня)
Версия 1.0.7
- добавьте GxEPD2_boards_added.h в GxEPD2_Example
- с примерами определений для Arduino DUE и MKR1000
Версия 1.0.6
- добавить опцию буферизованного рисования в GxEPD2_WiFi_Example
- позволяет использовать 3-цветный дисплей 200x200 с диагональю 1,54 дюйма, также может быть полезен для небольших растровых изображений.
Версия 1.0.5
- добавить опцию буферизованного рисования в GxEPD2_SD_Example и GxEPD2_Spiffs_Example
- позволяет использовать 3-цветный дисплей 200x200 с диагональю 1,54 дюйма, также может быть полезен для небольших растровых изображений.
Версия 1.0.4
- добавить поддержку базового класса GxEPD2_GFX (необязательно, по выбору, используется немного больше кода)
- базовый класс GxEPD2_GFX можно использовать для передачи ссылок или указателей на экземпляр дисплея в качестве параметра.
- добавить GxEPD2_GFX_MultiDisplayExample, использует ссылочный параметр GxEPD2_GFX
- измените GxEPD2_MultiDisplayExample для ESP8266 (проблема с шаблоном: вместо имени типа ожидается класс)
Версия 1.0.3
- исправить GxEPD2_SD_Example и GxEPD2_SD_AVR_Example
- добавить GxEPD2_MultiDisplayExample (предварительная версия)
Версия 1.0.2
- первоначальная версия выпуска 1.0.2
- протестировано с ESP8266, ESP32, STM32F103C8T6, AVR Arduino (Pro Mini 3,3 В)
- 1,54-дюймовый 3-цветный GxEPD2_154c можно использовать с пейджинговой связью для AVR
- волновые таблицы в программном пространстве, 4,2-дюймовый ч/б можно использовать с GxEPD2_SD_AVR_Example
- проблемы включены и приветствуются, пожалуйста, используйте тему форума для предложений по улучшению
Версия 1.0.1
- предварительная тестовая версия
- Добавлен GxEPD2_SD_AVR_Example, не имеет графического буфера для уменьшения использования ОЗУ (использование базового класса отображения)
- проблемы пока отключены, вместо этого используйте темы форума Arduino
- в этой версии 1,54-дюймовый 3-цветный GxEPD2_154c можно использовать только с полноразмерным буфером (или без базового класса отображения буфера)
Версия 1.0.0
- предварительная версия, в разработке