GxEPD2
Biblioteca de exibição Arduino para monitores SPI E-Paper
Com suporte completo a gráficos e texto usando Adafruit_GFX
Para displays de papel eletrônico SPI da Dalian Good Display
e placas de papel eletrônico SPI da Waveshare
nota importante:
- os painéis de exibição são para alimentação de 3,3 V e linhas de dados de 3,3 V
- nunca conecte linhas de dados diretamente aos pinos de dados de 5V do Arduino, use, por exemplo, divisor de resistor 4k7/10k
- apenas o resistor em série não é suficiente para uma operação confiável (efeito de retroalimentação através de diodos de proteção)
- O divisor de resistor 4k7/10k pode não funcionar com extensões de cabo plano ou placa Waveshare 4.2, use o conversor de nível então
- não se esqueça de conectar o GND
- as placas de exibição Waveshare reais agora possuem conversores de nível e regulador de série, seguros para 5V
- use o pull-down 3k3 no SS para ESP8266 para placas com conversores de nível
- observe que os monitores de papel eletrônico de 7,5 "não funcionam de maneira confiável se alimentados pelo pino Arduino de 3,3 V
- observe que as placas Waveshare com circuito de reinicialização "inteligente" podem precisar de pulso de reinicialização mais curto
- use
init(115200, true, 2, false)
para placas Waveshare com circuito de reinicialização "inteligente" - observe que as placas Waveshare com circuito de reinicialização "inteligente" precisam de pull-up de 1k no RST no ESP8266 ou pino diferente
- observe que o novo driver de painel Waveshare Universal e-Paper Raw HAT Rev 2.3 precisa de PWR conectado ao VCC ou acionado em HIGH
- consulte https://www.waveshare.com/wiki/E-Paper_Driver_HAT
Desenho paginado, loop de imagem
- Esta biblioteca usa desenho paginado para limitar o uso de RAM e lidar com a falta de suporte à atualização de pixel único
- o tamanho do buffer pode ser selecionado na aplicação pelo parâmetro de modelo page_height, consulte GxEPD2_Example
- O desenho paginado é implementado como um loop de imagem, como no U8G2 (Oliver Kraus)
- veja https://github.com/olikraus/u8glib/wiki/tpictureloop
- O desenho paginado também está disponível usando drawPaged() e drawCallback(), como em GxEPD
-
// GxEPD style paged drawing; drawCallback() is called as many times as needed
-
void drawPaged(void (*drawCallback)(const void*), const void* pv)
- o desenho paginado é feito usando métodos Adafruit_GFX dentro de picture loop ou drawCallback
Suporte para buffer de tela cheia
- buffer de tela cheia é selecionado definindo o parâmetro do modelo page_height para exibir a altura
- desenhar para buffer de tela cheia é feito usando métodos Adafruit_GFX sem loop de imagem ou drawCallback
- e então chamando o método display()
Suporte para desenho de bitmap de baixo nível
- suporte de desenho de bitmap para a memória e tela do controlador está disponível:
- seja por meio dos métodos de instância da classe de modelo que encaminham chamadas para a classe de exibição base
- ou diretamente usando uma instância de uma classe de exibição base e chamando seus métodos diretamente
Tópicos de suporte do fórum Arduino:
- Exibições de papel eletrônico Waveshare com SPI: http://forum.arduino.cc/index.php?topic=487007.0
- Bom display ePaper para Arduino: https://forum.arduino.cc/index.php?topic=436411.0
- Observe que esses tópicos estão fechados. Use apenas para referência.
- crie um novo tópico para cada pergunta ou problema em https://forum.arduino.cc/c/using-arduino/displays/23
Nota sobre documentação
- GxEPD2 usa Adafruit_GFX para suporte a gráficos e texto, que está bem documentado lá
- GxEPD2 usa nomes de métodos significativos e tem alguns comentários nos arquivos de cabeçalho
- consulte os arquivos de cabeçalho GxEPD2_BW.h, GxEPD2_3C.h e GxEPD2_GFX.h
- para o conceito de desenho paginado e loop de imagem, consulte:
- https://github.com/olikraus/u8glib/wiki/tpictureloop
Nota sobre problemas e pull requests
- problemas devem ser relatados nos displays do fórum do Arduino.
- os problemas no GitHub estão desativados; havia muitos problemas falsos.
- solicitações pull não são bem-vindas e não serão mescladas.
- solicitações pull não podem ser desabilitadas, mas serão fechadas.
- coloque informações sobre adições interessantes de garfos nos displays do fórum do Arduino.
Painéis de papel eletrônico SPI suportados pela Good Display:
- GDEW0102T4 1,02" p/b 80x128, UC8175
- DEPG0150BN 1,50" p/b 200x200, SSD1681, por exemplo LILYGO® TTGO T5 V2.4.1 1,50 polegadas
- GDEP015OC1 1,54" p/b 200x200, IL3829, não está mais disponível
- GDEH0154D67 1,54" p/b 200x200, SSD1681, substituição para GDEP015OC1
- GDEW0154T8 1,54" p/b 152x152, UC8151 (IL0373)
- GDEW0154M09 1,54" p/b 200x200, JD79653A
- GDEW0154M10 1,54" p/b 152x152, UC8151D, DES
- GDEY0154D67 1,54" p/b 200x200, SSD1681
- GDEW0154Z04 1,54" p/b/r 200x200, IL0376F, não está mais disponível
- GDEH0154Z90 1,54" b/w/r 200x200, SSD1681, substituição para GDEW0154Z04
- GDE0213B1 2,13" p/b 122x250, IL3895, descontinuado
- GDEH0213B72 2,13" b/w 122x250, SSD1675A (IL3897), substituição para GDE0213B1
- GDEH0213B73 2,13" b/w 122x250, SSD1675B, novo substituto para GDE0213B1, GDEH0213B72
- GDEM0213B74 2,13" p/b 122x250, SSD1680
- GDEW0213I5F 2,13" p/b 104x212, UC8151 (IL0373), flexível
- GDEW0213T5D 2,13" p/b 104x212, UC8151 (IL0373)
- GDEW0213M21 2,13" p/b 104x212, UC8151 (IL0373), DES
- GDEW0213Z16 2,13" p/b/r 104x212, UC8151 (IL0373)
- GDEW0213Z19 2,13" p/b/r 104x212, UC8151D
- GDEY0213Z98 2,13" p/b/r 122x250, SSD1680
- GDEY0213F51 2,13" 4 cores 122x250, JD79661
- DEPG0213BN 2,13" p/b 122x250, SSD1680, por exemplo LILYGO® TTGO T5 V2.3.1 2,13 polegadas
- GDEY0213B74 2,13" p/b 122x250, SSD1680
- GDEW026T0 2,6" p/b 152x296, UC8151 (IL0373)
- GDEW026M01 2,6" p/b 152x296, UC8151 (IL0373), DES
- DEPG0266BN 2,66" p/b 152x296, SSD1680, por exemplo, LILYGO® TTGO T5 2,66 polegadas
- GDEY0266Z90 2,66" p/b/r 152x296, SSD1680
- GDEY0266F51H 2,66" 4 cores 184x460, JD79667
- GDEW027C44 2,7" p/b/r 176x264, IL91874
- GDEW027W3 2,7" p/b 176x264, EK79652 (IL91874)
- GDEY027T91 2,7" p/b 176x264, SSD1680
- GDEH029A1 2,9" p/b 128x296, SSD1608 (IL3820)
- GDEW029T5 2,9" p/b 128x296, UC8151 (IL0373)
- GDEW029T5D 2,9" p/b 128x296, UC8151D
- GDEW029I6FD 2,9" p/b 128x296, UC8151D, flexível
- GDEM029T94 2,9" p/b 128x296, SSD1680
- GDEW029M06 2,9" p/b 128x296, UC8151D, DES
- GDEW029Z10 2,9" p/b/r 128x296, UC8151 (IL0373)
- GDEH029Z13 2,9" p/b/r 128x296, UC8151D
- GDEM029C90 2,9" p/b/y 128x296, SSD1680
- DEPG0290BS 2,9" p/b 128x296, SSD1680, por exemplo LILYGO® TTGO T5 V2.4.1 2,9"
- GDEY029T94 2,9" p/b 128x296, SSD1680
- GDEY029T71H 2,9" p/b 168x384, SSD1685
- GDEY029F51H 2,9" 4 cores 168x384, JD79667
- Waveshare3inch4color 3,0" 4 cores 168x400
- GDEQ031T10 3,1" p/b 240x320, UC8253
- ED037TC1 3,7" p/b 280x480, SSD1677, Waveshare 3,7"
- GDEW0371W7 3,7" p/b 240x416, UC8171 (IL0324)
- GDEW042T2 4,2" p/b 400x300, UC8176 (IL0398)
- GDEW042M01 4,2" p/b 400x300, UC8176 (IL0398), DES
- GDEW042Z15 4,2" p/b/r 400x300, UC8176 (IL0398)
- GDEQ042Z21 4,2" p/b/r 400x300, UC8276, (Waveshare V2)
- GDEY042Z98 4,2" p/b/r 400x300, SSD1683
- GDEY042T81 4,2" p/b 400x300, SSD1683
- GDEY0420F51 4,2" 4 cores 400x300, HX8717
- GDEQ0426T82 4,26" p/b 800x480, SSD1677
- Waveshare437inch4color Waveshare Tela de papel eletrônico de 4,37" e 4 cores 512x368
- ACeP565 5,65" Waveshare Tela de papel eletrônico de 7 cores de 5,65" 600x448
- GDEP0565D90 5,65" 7 cores 600x448
- GDEY0579T93 5,79" p/b 792x272, SSD1683
- GDEY0579Z93 5,79" p/b/r 792x272, SSD1683
- GDEY0579F51 5,79" 4 cores 792x272, HX8717
- GDEW0583T7 5,83" p/b 600x448, UC8159c (IL0371)
- GDEW0583T8 5,83" p/b 648x480, EK79655 (GD7965)
- GDEW0583Z83 5,83" p/b/r 648x480, EK79655 (GD7965)
- GDEQ0583T31 5,83" p/b 648x480, UC8179
- GDEQ0583Z31 5,83" p/b/r 648x480, UC8179C
- GDEY073D46 7,3" 800x480 7 cores
- GDEP073E01 7,3" 800x480 7 cores
- ACeP730 Tela de papel eletrônico Waveshare de 7,3" e 7 cores 800x480, PhotoPainter
- GDEW075T8 7,5" p/b 640x384, UC8159c (IL0371)
- GDEW075T7 7,5" p/b 800x480, EK79655 (GD7965)
- GDEY075T7 7,5" p/b 800x480, UC8179 (GD7965)
- GDEW075Z09 7,5" p/b/r 640x384, UC8159c (IL0371)
- GDEW075Z08 7,5" p/b/r 800x480, EK79655 (GD7965)
- GDEH075Z90 7,5" p/b/r 880x528, SSD1677
- GDEM102T91 10,2" p/b 960x640, SSD1677
- GDEM1085T51 10,85 p/b 1360x480, JD79686AB
- GDEH116T91 11,6" p/b 960x640, SSD1677
- GDEY116Z91 11,6" p/b/r 960x640, SSD1677
- GDEY116F51 11,6" 4 cores 960x640, SSD2677
- GDEW1248T3 12,48" p/b 1304x984, UC8179
- GDEY1248Z51 12,48" p/b/r 1304x984, UC8179
- GDEM133T91 13,3" p/b 960x680, SSD1677
- GDEM133Z91 13,3" p/b/r 960x680, SSD1677
Painéis e placas de papel eletrônico SPI suportados pela Waveshare: compare com Good Display, mesmo painel
outros painéis suportados
- GYE042A87 4,2" p/b 400x300, SSD1683 (HINK-E042-A07-FPC-A1)
- SE0420NQ04 4,2" p/b 400x300, UC8276C (OPM042A2_V1.0)
- ED060SCT 6" níveis de cinza, em Waveshare e-Paper IT8951 Driver HAT
- ED060KC1 6" níveis de cinza, 1448x1072, em Waveshare e-Paper IT8951 Driver HAT
- ED078KC2 7,8" níveis de cinza, 1872x1404, em Waveshare e-Paper IT8951 Driver HAT
- ES103TC1 10,3" níveis de cinza, 1872x1404, em Waveshare e-Paper IT8951 Driver HAT
Posso e apoiarei apenas os painéis de papel eletrônico que possuo!
- Posso aceitar doações de painel para adicionar suporte ao GxEPD2.
- Mas apenas alguns painéis de cada vez, e apenas painéis de fontes conhecidas.
- Adicionar suporte levará o tempo necessário.
Versão 1.6.0
- suporte atualizado para GDEY029T94: corrigido um problema de atualização parcial
- suporte atualizado para GDEY042T81: atualização completa rápida corrigida para a versão do painel 2024
- suporte atualizado para GDEP073E01: mapeamento de cores fixo para seus valores de cores nativas
- GxEPD2_display_selection_new_style.h atualizado: adicionado Arduino Nano Every, Arduino Nano ESP32, Arduino Nano IoT.
Versão 1.5.9
- adicionado o comando Power Save (PWS) ao init GDEY075T7 (problema com bitmaps pontilhados)
- suporte adicionado para GDEY0579T93 5,79" b/w 792x272, SSD1683
- suporte adicionado para GDEY0579Z93 5,79" b/w/r 792x272, SSD1683
- adicionado suporte para GDEY0579F51 5,79" 4 cores 792x272, HX8717
- o GDEY0579F51 possui capacidade de endereçamento de janela parcial,
- mas de pouca utilidade, porque o buffer do controlador é modificado durante a atualização
- a atualização parcial da janela não pode ser usada em GDEY0579F51, a atualização é em tela inteira
- suporte adicionado para GDEY042Z98 4,2" b/w/r 400x300, SSD1683
- GDEY042Z98 tem atualização completa "rápida" e suporta atualização parcial rápida em preto e branco
- adicionado suporte para GDEP073E01 7,3" 800x480 7 cores
Versão 1.5.8
- adicionado suporte para GDEP0565D90 5,65" 7 cores 600x448
- adicionado suporte para GDEY116F51 11,6" 4 cores 960x640, SSD2677
- suporte adicionado para GDEY029T71H 2,9" b/w 168x384, SSD1685
Versão 1.5.7
- adicionado suporte para GDEY0213F51 2,13" 4 cores 122x250, JD79661
- suporte adicionado para GDEM1085T51 10,85 b/w 1360x480, JD79686AB
Versão 1.5.6
- versão para correções e adições contínuas
- adicionado suporte para GYE042A87 4,2" p/b 400x300
- adicionado suporte para SE0420NQ04 4,2" p/b 400x300
- adicionado suporte para GDEQ0583Z31 5,83" b/w/r 648x480
- suporte adicionado para GDEM102T91 10,2" b/w 960x640, SSD1677
- suporte adicionado para GDEY116Z91 11,6" b/w/r 960x640, SSD1677
- suporte adicionado para GDEM133T91 13,3" b/w 960x680, SSD1677
- suporte adicionado para GDEM133Z91 13,3" b/w/r 960x680, SSD1677
- atualização diferencial aprimorada para SE0420NQ04
- atualização completa aprimorada para SE0420NQ04
- classe de driver fixa GxEPD2_213.cpp
Versão 1.5.5
- classes de driver de 7 cores atualizadas (limpeza de design corrigida)
- nota: Waveshare PhotoPainter não funciona com o pacote MBED Pico
- nota: use o pacote https://github.com/earlephilhower/arduino-pico para PhotoPainter
Versão 1.5.4
- adicionado suporte para GDEQ031T10 3,1" p/b 240x320
- suporte atualizado para GDEY075T7 7,5" b/w 800x480
- classe de driver renomeada GxEPD2_750_YT7 para GxEPD2_750_GDEY075T7
- os painéis GDEY075T7 reais têm capacidade de atualização completa e rápida
- adicionado suporte para Waveshare 7,3" 7 cores, classe de driver GxEPD2_730c_ACeP_730
- adicionado suporte para Waveshare 7,3" PhotoPainter de 7 cores com RPi Pico RP2040
- classes de driver p/b atualizadas para controladores SSD
- classes de driver de 7 cores atualizadas (limpeza de design)
Versão 1.5.3
- adicionado suporte para GDEQ0426T82 4,26" p/b 800x480
- adicionado suporte para GDEY0266F51H 2,66" 4 cores 184x460
- adicionado suporte para GDEY029F51H 2,9" 4 cores 168x384
- adicionado suporte para GDEY0420F51 4,2" 4 cores 400x300
- adicionado suporte para display de papel eletrônico Waveshare de 3,00" e 4 cores 168x400
- suporte atualizado para display de papel eletrônico Waveshare de 4,37" e 4 cores 512x368
- os monitores de 4 cores possuem endereçamento e atualização parcial da janela
- renomeado GDEY042T91 para seu novo nome oficial GDEY042T81
Versão 1.5.2
- adicionado suporte para display de papel eletrônico Waveshare de 4,37" e 4 cores 512x368
- teste __has_include corrigido (para pacotes que não suportam __has_include)
- adicionado WIDTH_VISIBLE para largura correta de gráficos para 2,13" b/w 122x250
- adicionado o método end(), para liberar o SPI e redefinir todos os pinos para INPUT
Versão 1.5.1
- adicionado suporte para GDEY0154D67 1,54" p/b 200x200
- adicionado suporte para GDEY0213B74 2,13" p/b 128x250
- suporte atualizado para GDEY027T91 2,7" b/w 176x264
- classe de driver renomeada para GDEY027T91 para GxEPD2_270_GDEY027T91
- adicionado suporte para GDEY029T94 2,9" p/b 128x296
- adicionado suporte para GDEY042T91 4,2" p/b 400x300
- adicionado suporte para GDEQ0583T31 5,83" p/b 648x480
- esses painéis têm capacidade de atualização rápida e completa
- atualização completa rápida pode ser desativada no cabeçalho da classe para uso em baixa temperatura
- adicionado suporte para GDEY073D46 7,3" 800x480 7 cores
- todos esses novos painéis foram doados pela Good Display
- adicionado teste __has_include a GxEPD2_BW.h, GxEPD2_3C.h, GxEPD2_7C
- isso permite remover ou deixar de lado classes de driver não utilizadas para uma compilação mais rápida
- diversas correções e melhorias
Versão 1.5.0
- adicionado suporte para GDEY075T7 7,5" b/w 800x480
- atualizado GxEPD2_Example, adicionado uso de HSPI para placa de driver Waveshare ESP32
- GxEPD2_SD_AVR_Example atualizado, correções para manipulação de BMP
- GxEPD2_SD_Example atualizado, correções para manipulação de BMP, uso de HSPI adicionado para placa de driver Waveshare ESP32
- GxEPD2_SerialFlash_Example atualizado, correções para manipulação de BMP
- GxEPD2_SerialFlash_Loader atualizado, certificados https atualizados e uso
- GxEPD2_Spiffs_Example atualizado, correções para manipulação de BMP
- GxEPD2_Spiffs_Loader atualizado, certificados https atualizados e uso
- adicionado GxEPD2_WiFi_CertStore_Example, uso de um BearSSL CertStore no ESP8266, como um navegador
- adicionado GxEPD2_WiFi_CertStore_Loader, baixe certificados raiz (da Mozilla) para flash ESP8266
- GxEPD2_WiFi_Example atualizado, correções para manipulação de BMP, certificados https atualizados e uso
- atualizado GxEPD2_WS_ESP32_Driver, adicionado uso de HSPI para placa de driver Waveshare ESP32
Versão 1.4.9
- adicionadas linhas de construtor ausentes em GxEPD2_display_selection.h
- detalhes do painel adicionados aos comentários em GxEPD2_display_selection.h
- detalhes do painel adicionados aos painéis de papel eletrônico SPI suportados em README.md
Versão 1.4.8
- adicionado suporte para GDEY027T91 2,7" p/b 176x264
- adicionado suporte para GDEY1248Z51 12,48" b/w/r 1304x984
- nome fixo do painel DEPG0150BN
- certificado atualizado e impressão digital para download do GitHub em GxEPD2_WiFi_Example
Versão 1.4.7
- suporte adicionado para DEPG0150BN 1,50" b/w 200x200, por exemplo, LILYGO® TTGO T5 V2.4.1 1,50 polegadas
- suporte adicionado para DEPG0213BN 2,13" b/w 128x250, por exemplo, LILYGO® TTGO T5 V2.3.1 2,13 polegadas
- suporte adicionado para DEPG0266BN 2,66" b/w 152x296, por exemplo, LILYGO® TTGO T5 2,66 polegadas
- suporte adicionado para DEPG0290BS 2,9" b/w 128x296, por exemplo, LILYGO® TTGO T5 V2.4.1 2,9"
- adicionado suporte para níveis de cinza ES103TC1 10,3", 1872x1404, no Waveshare e-Paper IT8951 Driver HAT
Versão 1.4.6
- adicionado suporte para GDEY0266Z90 2,66" b/w/r 152x296
- adicionado suporte para GDEW0583Z83 5,83" b/w/r 648x460
Versão 1.4.5
- adicionado suporte para GDEY0213Z98 2,13" b/w/r 122x250
- testado com LOLIN 2,13" Tri-Color eInk / ePaper 250x122 Display Shield
- https://www.aliexpress.com/item/1005003020667903.html
Versão 1.4.4
- atualização provisória para resolver avisos do compilador (ALL para GCC para AVR)
Versão 1.4.3
- opção adicionada para selecionar um canal HW SPI alternativo e/ou configurações SPI
- pelo método selectSPI(SPIClass& spi, SPISettings spi_settings) da classe base do driver GxEPD2_EPD
- chamando selectSPI antes de chamar init() da classe de exibição
- ou chamando o método init() estendido que possui esses parâmetros adicionados
- testado com RPi Pico RP2040 usando proteção de conexão Good Display DESPI-PICO
- GxEPD2_Example atualizado para mostrar o uso com DESPI-PICO
- DESPI-PICO: consulte https://www.good-display.com/product/393.html
Versão 1.4.2
- adicionado suporte para placa e painel Waveshare 3,7" p/b ED037TC1
- tabelas de formas de onda para ED037TC1 são retiradas sem modificações do código de demonstração Waveshare
- o comportamento de atualização com ED037TC1 com GxEPD2 não é perfeito, não pôde ser resolvido
- PROBLEMA RESOLVIDO: RESE precisa ser de 3 ohms no DESPI-C02 para este painel, o esquema do Waveshare está errado
- adicionada atualização diferencial para GDEH116T91, tabela de forma de onda retirada de ED037TC1
- atualização diferencial para GDEH116T91 parece ok; pode ser desabilitado com hasFastPartialUpdate = false
- fase de sustentação aumentada para atualização diferencial em GDEW042T2
Versão 1.4.1
- correção para circuito de redefinição "inteligente" do Waveshare: controlador de energia antes do pulso de redefinição
Versão 1.4.0
- alterou a duração da redefinição padrão para 10ms em vez de 20ms
- alterou o atraso após a redefinição para 10 ms ou a duração da redefinição, o que for maior, em vez de 200 ms
- adicionado um recurso busyCallback, para permitir o atendimento de ações periódicas durante a espera pelo encerramento do BUSY
-
// register a callback function to be called during _waitWhileBusy continuously.
-
void setBusyCallback(void (*busyCallback)(const void*), const void* busy_callback_parameter = 0);
- adicionado exemplo GxEPD2_RotaryUsingBusyCallback.ino
Versão 1.3.9
- correção para intervalo de números de pinos do pacote oficial STM32 (int16_t)
- correção para interseção de tela de métodos de atualização (int16_t x, int16_t y, int16_t w, int16_t h)
Versão 1.3.8
- adicionado suporte para painel GDEQ042Z21 4,2" b/w/r 400x300 ou placa Waveshare 4,2" V2 b/w/r
- a placa Waveshare 4,2" V2 b/w/r requer o pulso de reinicialização mais curto
- adicionado suporte para placa flexível GDEW029I6FD 2,9" b/w 128x296
- algumas correções e melhorias para a nova seleção do painel de estilo
Versão 1.3.7
- adicionado suporte para painel GDEW0102T4 1,02" b/w 80x128 ou placa Waveshare 1,02" b/w
- o painel GDEW0102T4 possui um conector diferente dos outros painéis SPI
- o painel GDEW0102T4 pode ser utilizado com o módulo de conexão DESPI-C102
- https://buy-lcd.com/products/connection-board-demo-kit-for-102-inch-e-ink-display-despi-c102
- meu teste foi feito com a placa Waveshare 1.02" p/b
Versão 1.3.6
- adicionado suporte para Waveshare 2,9" b/w V2, classe de driver GxEPD2_290_T94_V2
- Waveshare 2,9" b/w V2 usa uma variante GDEM029T94 sem atualização parcial wft em OTP
- classe de driver GxEPD2_290_T94_V2 usa atualização parcial wft gravada em registradores
- adicionada NOTA para pull-up RST no ESP8266 com circuito de reinicialização "inteligente" ou pino alternativo
Versão 1.3.5
- suporte adicionado para painel de papel eletrônico GDEM0213B74 122x250 p/b
- adicionado suporte para ED078KC2, níveis de cinza de 7,8", 1872x1404, no Waveshare e-Paper IT8951 Driver HAT
Versão 1.3.4
- suporte adicionado para painel de papel eletrônico GDEH116T91 960x640 p/b
- GDEH116T91 possui apenas atualização de tela inteira, ainda não possui wavetable para atualização diferencial
- adicionado suporte para processador Arduino Nano RP2040 Conecte-se aos exemplos
- adicionada atualização geral rápida em preto e branco para monitores de 3 cores compatíveis GDEW0213Z19, GDEW029Z13
- adicionado exemplo GxEPD2x_FastBlackWhiteOnColor.ino para GDEW0213Z19, GDEW029Z13
- a avaliação de outros painéis tricolores com capacidade p/b rápido pode seguir
Versão 1.3.3
- adicionado método de atualização diferencial p/b ao GDEW0213Z19
- adicionado método de atualização diferencial p/b ao GDEW029Z13
- foram possíveis atualizações rápidas de até 100 p/b (resultando em um fundo levemente avermelhado)
- adicionado exemplo experimental GxEPD2x_MixedTest para prova de conceito
- GxEPD2x_MixedTest precisa de RAM suficiente para 2 objetos GFXCanvas1
- a atualização geral mista de 3 cores no GxEPD2 está em avaliação, para painéis compatíveis
Versão 1.3.2
- suporte adicionado para painel de papel eletrônico GDEW0213T5D 104x212 b/w
- suporte adicionado para painel de papel eletrônico GDEW029T5D 128x296 p/b
- suporte adicionado para painel de papel eletrônico GDEW0213Z19 104x212 b/w/r
- suporte adicionado para painel de papel eletrônico GDEW029Z13 128x296 b/w/r
- tanto GDEW0213Z19 quanto GDEW029Z13 suportam apenas atualização de tela inteira (problema do controlador)
Versão 1.3.1
- suporte adicionado para painel de papel eletrônico GDEM029C90 128x296 b/w/y
- GDEM029C90 tem um tempo de atualização muito longo de cerca de 27 segundos
- GDEM029C90 possui atualização parcial (endereçamento de janela) da memória do controlador
- GDEM029C90 suporta apenas atualização completa da tela
Versão 1.3.0
- suporte adicionado para painel de papel eletrônico GDEM029T94 128x296 p/b
- adicionado suporte para GDEW026M01 152x296 p/b novo painel de papel eletrônico DES
- o novo painel de papel eletrônico GDEW026M01 DES b/w tem maior contraste e ampla faixa de temperatura
- atualização diferencial (atualização parcial rápida) é suportada para faixa de temperatura normal
- desabilite a atualização diferencial para temperaturas estendidas definindo hasFastPartialUpdate = false;
- a tabela de formas de onda diferenciais para GDEW026M01 é experimental e pode precisar de melhorias
- grande atualização da seleção de exibição nos exemplos para facilitar as adições:
- a seleção de estilo antigo agora está em arquivos incluídos separados GxEPD2_display_selection.h
- e GxEPD2_display_selection_added.h
- adicionada nova seleção de exibição de estilo no arquivo include GxEPD2_display_selection_new_style.h
- qualquer estilo de seleção pode ser usado. o estilo antigo destina-se à cópia fácil de linhas de construtor.
Versão 1.2.16
- correção para GDEH0154D67, para funcionar independente da versão OTP (problema de pingue-pongue)
Versão 1.2.15
- adicionado suporte para GDEW0213M21 2,13" 104x212 b/w novo painel de papel eletrônico DES
- adicionado suporte para GDEW029M06 2,9" 128x296 b/w novo painel de papel eletrônico DES
- adicionado suporte para GDEW042M01 4,2" 400x300 b/w novo painel de papel eletrônico DES
- esses novos painéis de papel eletrônico DES preto e branco têm maior contraste e ampla faixa de temperatura
- atualização diferencial (atualização parcial rápida) é suportada para faixa de temperatura normal
- desabilite a atualização diferencial para temperaturas estendidas definindo hasFastPartialUpdate = false;
- o GDEW042M01 que tenho é uma versão preliminar, a forma de onda diferencial pode precisar de atualização
Versão 1.2.14
- adicionado suporte para 6" 1448x1072 ED060KC1 no Waveshare e-Paper IT8951 Driver HAT
- GxEPD2_WiFi_Example.ino corrigido: nova impressão digital GitHub para ESP8266, certificado para ESP32
- discriminador de cores fixo para exibição de 7 cores em GxEPD2_7C.h
- adicionado suporte multicolorido para exibição de 7 cores em GxEPD2_WiFi_Example, GxEPD2_Spiffs_Example,
- e GxEPD2_SD_Example, GxEPD2_SerialFlash_Example
- gravação paginada fixa no controlador de exibição de 7 cores (problema de transação e manipulação de CS)
- mais algumas correções
Versão 1.2.13
- adicionado suporte para GDEH0154Z90 1,54" 200x200 b/w/r, substituição para GDEW0154Z04
- GDEH0154Z90 possui endereçamento parcial de janela, mas nenhuma atualização parcial de janela
- adicionou alguns exemplos de construtores ausentes, por exemplo, para IT8951 Driver HAT on Due
- informações de fiação limpas nos exemplos
Versão 1.2.12
- corrigido GxEPD2_MinimumExample.ino para desenhar preto no branco (branco no branco era invisível)
- adicionado exemplo GxEPD2_HelloWorld.ino
- informações de fiação atualizadas e parâmetros do construtor para a placa de driver Waveshare e-Paper ESP8266 real
- adicionou alguns inicializadores explícitos ausentes (ninguém percebeu que os compiladores geralmente inicializam membros simples)
Versão 1.2.11
- adicionado suporte para display de papel eletrônico Waveshare de 5,65" e 7 cores 600x448
- o controlador desconhecido deste monitor não suporta atualização parcial, até onde se sabe
- O suporte gráfico de 7 cores está disponível com classe GxEPD2_7C
- O suporte gráfico de 7 cores requer paginação mesmo no ESP32
- O suporte gráfico de 7 cores causa paginação pesada no Arduino UNO e fica muito lento
- a atualização é bastante rápida para uma exibição colorida de papel eletrônico: 12 segundos
Versão 1.2.10
- adicionado suporte para GDEH075Z90 7,5" b/w/r 880x528
- o controlador do GDEH075Z90 suporta atualização parcial, mas o refesh está em tela cheia
- o controlador do GDEH075Z90 não suporta atualização diferencial (de qualquer maneira, não é possível em 3 cores)
- nota: o conector do GDEH075Z90 é espelhado; conecta para baixo no DESPI-C02
- adicionado parâmetro init opcional "reset_duration" em ms, mesmo padrão 20ms de antes
- reset_duration = 2 pode ajudar com o circuito de redefinição "inteligente" de placas mais recentes do Waveshare
Versão 1.2.9
- adicionado suporte para GDEW0154T8 1,54" p/b 152x152
- adicionado suporte para GDEW0154M09 1,54" p/b 200x200
- adicionado suporte para GDEW0154M10 1,54" p/b 152x152 DES
- adicionado suporte para GDEW0583T8 5,83" b/w 648x460
- adicionada opção para usar a classe GFX da biblioteca GFX_Root em vez de Adafruit_GFX
- a atualização diferencial no GDEW0154M10 é experimental, ainda não há demonstração de atualização parcial
Versão 1.2.8
- velocidade de transferência aprimorada para telas maiores (3,71" e superiores)
Versão 1.2.7
- corrigir desenho paginado da tela inicial em GDEH029A1
- às vezes verdadeiro é falso, se aplicado ao contrário
Versão 1.2.6
- atualização diferencial ligeiramente melhorada para GDEW1248T3
- pequenas correções
Versão 1.2.5
- adicionado suporte para painel preto e branco GDEW1248T3 de 12,84" no quadro de exibição de papel eletrônico Waveshare 12.48
- testado com placa de driver Waveshare Epaper ESP32 montada na placa de conexão
- testado com Arduino UNO montado na placa de conexão, é extremamente lento
- não funciona com Arduino MEGA na placa de conexão com chave configurada para ICSP e pinos tortos, motivo desconhecido
- não testado com outros processadores
- cuidado: o conector da fiação está no lado de 5 V dos conversores de nível!
Versão 1.2.4
- adicionado suporte para GDEH0154D67 1,54" b/w, substituição para GDEP015OC1
- adicionado GxEPD2_SerialFlash_Loader, downloader de bitmap WiFi para SPI-flash
- adicionado GxEPD2_SerialFlash_Example, exemplo SPI-flash, por exemplo, para Winbond 25Q16BVSIG
- pequenas correções e limpeza de comentários
- corrija atualização (falso) na camada superior: adicione powerOff () após atualização completa
Versão 1.2.3
- atualização parcial corrigida para papel eletrônico de 2,13" tricolor e 2,9" tricolor
- a atualização parcial pode ser desabilitada com o atributo usePartialUpdateWindow = false
- adicionado GxEPD2_GFX_Example para mostrar os usos da classe base GxEPD2_GFX
- substituiu o código GxEPD2_MultiDisplayExample, mesmo código que GxEPD2_GFX_MultiDisplayExample
- adicionados extras/exemplos/GxEPD2_T_MultiDisplayExample, exemplo alternativo usando funções de modelo
- correções maiores e menores, como erros de digitação que sobreviveram por muito tempo
Versão 1.2.2
- manipulação fixa de BMP, por exemplo, para BMPs criados por ImageMagick
- veja também o tópico do fórum do Arduino https://forum.arduino.cc/index.php?topic=642343.0
Versão 1.2.1
- adicionado suporte para GDEW075T7 7,5" p/b 800x480
- GDEW075T7 possui atualização diferencial (1,6s) usando uma forma de onda de balanceamento de carga
- adicionado suporte opcional SW SPI, consulte /extras/sw_spi/README
- adicionado /extras/tests/GxEPD2_RefreshTests/GxEPD2_RefreshTests.ino, para ajuste de forma de onda
- pequenas correções
- observe que os monitores de papel eletrônico de 7,5 "não funcionam de maneira confiável se alimentados pelo pino Arduino de 3,3 V
Versão 1.2.0
- adicionada "atualização parcial rápida" (atualização diferencial) para GDEW0371W7 3,7" b/w 240x416
- forma de onda de atualização diferencial aprimorada para GDEW026T0 2,6" b/w 152x256
- código de inicialização corrigido e atualização diferencial aprimorada para GDEW042T2 4,2" b/w 300x400
- observe que todas as formas de onda de atualização diferencial são um compromisso (fantasma, uso de fonte grande)
- parâmetros para forma de onda diferencial para esses monitores podem ser facilmente alterados para experimentação
- GDEW042T2 teria fundo acinzentado sem fase de sustentação
- GDEW042T2 precisa de múltiplas atualizações completas após uso prolongado de atualizações parciais
Versão 1.1.10
- adicionado suporte para GDEH0213B73 2,13" b/w, substituição para GDE0213B1, GDEH0213B72
- adicionado suporte para GDEW026T0 2,6" p/b 152x256
- adicionado suporte para GDEW0371W7 3,7" b/w 240x416
- adicionado suporte para GDEW075Z08 7,5" b/w/r 800x480
- GDEW075Z08 permite atualização parcial (lenta), defina usePartialUpdate = false para desativar para obter uma imagem melhor
- tabela de forma de onda p/b de 4,2" alterada, para melhor resultado com painéis reais
Versão 1.1.9
- nota para ESP8266 ao usar SS para CS: (sugestão de fiação)
- conecte o pull-down de 4,7k do GPIO15 ao GND se sua placa ou blindagem tiver conversores de nível
- correções para telas grandes (use uint16_t para índice de buffer)
Versão 1.1.8
- correção para download incompleto em GxEPD2_WiFi_Example
- adicionado o método ausente displayWindow() à classe base GxEPD2_GFX
- correção e limpeza da atualização inicial para painéis com atualização diferencial
- a atualização inicial precisa ser uma atualização completa, e não uma "atualização parcial rápida", para esses painéis,
- pois o conteúdo da tela pode ser diferente do conteúdo do "buffer anterior".
- adicione limpeza de buffer(s) do controlador na gravação inicial no controlador, para atualização parcial.
Versão 1.1.7
- suporte aprimorado para uso completo em buffer e não paginado, para processadores com RAM suficiente
- use void display(bool parcial_update_mode = false); corresponde a update() em GxEPD
- use void displayWindow adicionado (uint16_t x, uint16_t y, uint16_t w, uint16_t h);
- use writeImagePart(...), drawImagePart(...), usado por displayWindow() adicionado
- adicionado exemplo GxEPD2_NotPagedExample.ino
- diversas correções, por exemplo, verificação do intervalo de parâmetros em setPartialWindow()
Versão 1.1.6
- adicionado suporte para GDEH0213B72 2,13" b/w, substituição para GDE0213B1
- alterou a velocidade SPI do driver IT8951 HAT para 24 MHz para gravação, 10 MHz para leitura
- pequenas correções, por exemplo, centralização da caixa delimitadora de texto em GxEPD2_Example
Versão 1.1.5
- adicionado suporte para ED060SCT de 6" no driver Waveshare e-Paper IT8951 HAT
- usa linhas de dados de 3,3 V, mas alimentação de 5 V (~ 80 mA ativo, ~ 20 mA em espera, suspensão não funciona)
- nota: a alimentação de 5 V precisa ser exata e forte; 5V sobre diodo de USB (por exemplo, Wemos D1 mini) não funciona!
- observe que o Driver HAT IT8951 é específico do painel, com flash parametrizado pelo fornecedor
- esta é uma versão inicial
Versão 1.1.4+
- adicionado exemplo GxEPD2_WS_ESP32_Driver para placa de driver Waveshare ESP32
Versão 1.1.4
- eliminou a atualização dupla para "atualização parcial rápida"
- moveu wavetables para as classes de driver
- adicionado um método explícito drawImage(...) e writeImage(...) (para valores de parâmetros padrão removidos para 1.1.3)
- adicionado método init com parâmetro inicial adicionado, para reinicialização após a ativação do sono profundo do processador
- adicionado parâmetro init pulldown_rst_mode, para manipulação especial de RST (não necessário para proteção waveshare)
Versão 1.1.3
- tabelas de ondas fixas para GDEW029T5 e GDEW0213I5F
- corrigido drawImage(...) ambiguidade de correspondência de assinatura de métodos sobrecarregados
Versão 1.1.2
- adicionado suporte para GDEW029T5
- recorte fixo (adicionado) para janela parcial
- corrigido (adicionado) powerOff() após atualização completa (atualização parcial mantém ligado)
- adicionado hibernate() para uso mínimo de energia por monitores que o suportam
Versão 1.1.1
- 2,7" b/w GDEW027W3 com suporte para atualização parcial rápida, baseado no novo código de demonstração wavetable
- sugestão de mapeamento adicionada para Arduino MEGA
- NOTA: use resistores divisores de tensão para Arduinos de 5V, o resistor em série não é confiável o suficiente
- ConnectingHardware.md atualizado
Versão 1.1.0
- suporte adicionado para GDEW0213I5F para tela flexível de 2,13" p/b 104x212
- atualizou GxEPD2_WiFi_Example e GxEPD2_Spiffs_Loader para usar BearSSL no ESP8266, para downloads grandes de bitmap
Versão 1.0.9
- adicione GxEPD2_U8G2_Fonts_Example, por exemplo, para uso de tremas ÄÖÜäéöü
- NOTA: você precisa SALVAR o exemplo modificado em um local salvável para que os caracteres UTF-8 funcionem
Versão 1.0.8
- adicione GxEPD2_SD_AVR_boards_added.h a GxEPD2_SD_AVR_Example
- com exemplos de definições para placas não AVR (exemplo de uso de classe de exibição de baixo nível)
Versão 1.0.7
- adicione GxEPD2_boards_added.h a GxEPD2_Example
- com exemplos de definições para Arduino DUE e MKR1000
Versão 1.0.6
- adicionar opção de desenho em buffer a GxEPD2_WiFi_Example
- permite o uso com tela de 1,54" e 3 cores 200x200, também pode ser útil para pequenos bitmaps
Versão 1.0.5
- adicionar opção de desenho em buffer a GxEPD2_SD_Example e GxEPD2_Spiffs_Example
- permite o uso com tela de 1,54" e 3 cores 200x200, também pode ser útil para pequenos bitmaps
Versão 1.0.4
- adicionar suporte à classe base GxEPD2_GFX (opcional, selecionável, usa um pouco mais de código)
- a classe base GxEPD2_GFX pode ser usada para passar referências ou ponteiros para a instância de exibição como parâmetro
- adicione GxEPD2_GFX_MultiDisplayExample, usa o parâmetro de referência GxEPD2_GFX
- modificar GxEPD2_MultiDisplayExample para ESP8266 (problema de modelo: classe esperada em vez de typename)
Versão 1.0.3
- corrigir GxEPD2_SD_Example e GxEPD2_SD_AVR_Example
- adicione GxEPD2_MultiDisplayExample (versão preliminar)
Versão 1.0.2
- versão de lançamento inicial 1.0.2
- testado com ESP8266, ESP32, STM32F103C8T6, AVR Arduino (Pro Mini 3.3V)
- GxEPD2_154c de 3 cores de 1,54" pode ser usado com paginação para AVR
- tabelas de ondas no espaço do programa, 4,2" b/w podem ser usadas com GxEPD2_SD_AVR_Example
- problemas habilitados e bem-vindos, use o tópico do fórum para sugestões de melhorias
Versão 1.0.1
- versão de teste de pré-lançamento
- GxEPD2_SD_AVR_Example adicionado, não possui buffer gráfico para reduzir o uso de RAM (uso da classe de exibição básica)
- problemas desativados até agora, use os Tópicos do Fórum do Arduino
- nesta versão 1,54" GxEPD2_154c de 3 cores só pode ser usado com buffer de tamanho completo (ou sem classe de exibição base de buffer)
Versão 1.0.0
- versão preliminar, em construção