GxEPD2
Bibliothèque d'affichage Arduino pour les écrans SPI E-Paper
Avec prise en charge complète des graphiques et du texte avec Adafruit_GFX
Pour les écrans e-paper SPI de Dalian Good Display
et les e-paper boards SPI de Waveshare
remarque importante :
- les panneaux d'affichage sont destinés à l'alimentation 3,3 V et aux lignes de données 3,3 V
- ne connectez jamais les lignes de données directement aux broches de données Arduino 5 V, utilisez par exemple un diviseur de résistance 4k7/10k
- la résistance série seule n'est pas suffisante pour un fonctionnement fiable (effet de rétroaction via les diodes de protection)
- Le diviseur de résistance 4k7/10k peut ne pas fonctionner avec les extensions de câble plat ou la carte Waveshare 4.2, utilisez ensuite un convertisseur de niveau
- n'oubliez pas de connecter GND
- les tableaux d'affichage Waveshare actuels ont désormais des convertisseurs de niveau et un régulateur en série, sans danger pour 5 V.
- utilisez le pull-down 3k3 sur SS pour ESP8266 pour les cartes avec convertisseurs de niveau
- notez que les écrans e-paper de 7,5 pouces ne fonctionnent pas de manière fiable s'ils sont alimentés par une broche Arduino de 3,3 V
- notez que les cartes Waveshare dotées d'un circuit de réinitialisation "intelligent" peuvent nécessiter une impulsion de réinitialisation raccourcie
- utilisez
init(115200, true, 2, false)
pour les cartes Waveshare avec un circuit de réinitialisation "intelligent" - notez que les cartes Waveshare avec un circuit de réinitialisation "intelligent" nécessitent un pull-up de 1k sur RST sur ESP8266, ou une broche différente
- notez que le nouveau pilote Waveshare Universal e-Paper Raw Panel Driver HAT Rev 2.3 nécessite un PWR connecté à VCC ou piloté par HIGH.
- voir https://www.waveshare.com/wiki/E-Paper_Driver_HAT
Dessin paginé, boucle d'image
- Cette bibliothèque utilise le dessin paginé pour limiter l'utilisation de la RAM et faire face à la prise en charge manquante de la mise à jour d'un seul pixel.
- la taille du tampon peut être sélectionnée dans l'application par le paramètre de modèle page_height, voir GxEPD2_Example
- Le dessin paginé est implémenté sous forme de boucle d'image, comme dans U8G2 (Oliver Kraus)
- voir https://github.com/olikraus/u8glib/wiki/tpictureloop
- Le dessin paginé est également disponible en utilisant drawPaged() et drawCallback(), comme dans GxEPD
-
// GxEPD style paged drawing; drawCallback() is called as many times as needed
-
void drawPaged(void (*drawCallback)(const void*), const void* pv)
- le dessin paginé est effectué à l'aide des méthodes Adafruit_GFX dans la boucle d'image ou drawCallback
Prise en charge du tampon plein écran
- le tampon plein écran est sélectionné en définissant le paramètre de modèle page_height pour afficher la hauteur
- le dessin dans le tampon plein écran est effectué à l'aide des méthodes Adafruit_GFX sans boucle d'image ni drawCallback
- puis en appelant la méthode display()
Prise en charge des dessins bitmap de bas niveau
- La prise en charge du dessin bitmap sur la mémoire et l'écran du contrôleur est disponible :
- soit via les méthodes d'instance de classe modèle qui transmettent les appels à la classe d'affichage de base
- ou directement en utilisant une instance d'une classe d'affichage de base et en appelant directement ses méthodes
Sujets du forum Arduino pris en charge :
- Écrans électroniques Waveshare avec SPI : http://forum.arduino.cc/index.php?topic=487007.0
- Bon affichage ePaper pour Arduino : https://forum.arduino.cc/index.php?topic=436411.0
- Notez que ces sujets sont fermés. Utiliser uniquement à titre de référence.
- créez un nouveau sujet pour chaque question ou problème dans https://forum.arduino.cc/c/using-arduino/displays/23
Remarque sur la documentation
- GxEPD2 utilise Adafruit_GFX pour la prise en charge des graphiques et du texte, qui y est bien documenté
- GxEPD2 utilise des noms de méthodes significatifs et contient quelques commentaires dans les fichiers d'en-tête
- consulter les fichiers d'en-tête GxEPD2_BW.h, GxEPD2_3C.h et GxEPD2_GFX.h
- pour le concept de dessin paginé et de boucle d'image, voir :
- https://github.com/olikraus/u8glib/wiki/tpictureloop
Remarque sur les problèmes et les demandes d'extraction
- les problèmes doivent être signalés sur les écrans du forum Arduino.
- les problèmes sur GitHub sont désactivés ; il y avait trop de faux problèmes.
- les demandes de tirage ne sont pas les bienvenues et ne seront pas fusionnées.
- Les demandes d'extraction ne peuvent pas être désactivées, mais seront fermées.
- veuillez placer des informations sur les ajouts intéressants de forks dans les affichages du forum Arduino.
Panneaux e-paper SPI pris en charge par Good Display :
- GDEW0102T4 1,02" n/b 80x128, UC8175
- DEPG0150BN 1,50" n/b 200x200, SSD1681, par exemple LILYGO® TTGO T5 V2.4.1 1,50 pouces
- GDEP015OC1 1,54" n/b 200x200, IL3829, n'est plus disponible
- GDEH0154D67 1,54" n/b 200x200, SSD1681, remplacement pour GDEP015OC1
- GDEW0154T8 1,54" n/b 152x152, UC8151 (IL0373)
- GDEW0154M09 1,54" n/b 200x200, JD79653A
- GDEW0154M10 1,54" n/b 152x152, UC8151D, DES
- GDEY0154D67 1,54" n/b 200x200, SSD1681
- GDEW0154Z04 1,54" n/b/r 200x200, IL0376F, n'est plus disponible
- GDEH0154Z90 1,54" n/b/r 200x200, SSD1681, remplacement pour GDEW0154Z04
- GDE0213B1 2,13" n/b 122x250, IL3895, progressivement supprimé
- GDEH0213B72 2,13" n/b 122x250, SSD1675A (IL3897), remplacement pour GDE0213B1
- GDEH0213B73 2,13" n/b 122x250, SSD1675B, nouveau remplacement pour GDE0213B1, GDEH0213B72
- GDEM0213B74 2,13" n/b 122x250, SSD1680
- GDEW0213I5F 2,13" n/b 104x212, UC8151 (IL0373), flexible
- GDEW0213T5D 2,13" n/b 104x212, UC8151 (IL0373)
- GDEW0213M21 2,13" n/b 104x212, UC8151 (IL0373), DES
- GDEW0213Z16 2,13" n/b/r 104x212, UC8151 (IL0373)
- GDEW0213Z19 2,13" n/b/r 104x212, UC8151D
- GDEY0213Z98 2,13" n/b/r 122x250, SSD1680
- GDEY0213F51 2,13" 4 couleurs 122x250, JD79661
- DEPG0213BN 2,13" n/b 122x250, SSD1680, par exemple LILYGO® TTGO T5 V2.3.1 2,13 pouces
- GDEY0213B74 2,13" n/b 122x250, SSD1680
- GDEW026T0 2,6" n/b 152x296, UC8151 (IL0373)
- GDEW026M01 2,6" n/b 152x296, UC8151 (IL0373), DES
- DEPG0266BN 2,66" n/b 152x296, SSD1680, par exemple LILYGO® TTGO T5 2,66 pouces
- GDEY0266Z90 2,66" n/b/r 152x296, SSD1680
- GDEY0266F51H 2,66" 4 couleurs 184x460, JD79667
- GDEW027C44 2,7" n/b/r 176x264, IL91874
- GDEW027W3 2,7" n/b 176 x 264, EK79652 (IL91874)
- GDEY027T91 2,7" n/b 176x264, SSD1680
- GDEH029A1 2,9" n/b 128 x 296, SSD1608 (IL3820)
- GDEW029T5 2,9" n/b 128 x 296, UC8151 (IL0373)
- GDEW029T5D 2,9" n/b 128x296, UC8151D
- GDEW029I6FD 2,9" n/b 128x296, UC8151D, flexible
- GDEM029T94 2,9" n/b 128x296, SSD1680
- GDEW029M06 2,9" n/b 128x296, UC8151D, DES
- GDEW029Z10 2,9" n/b/r 128x296, UC8151 (IL0373)
- GDEH029Z13 2,9" n/b/r 128x296, UC8151D
- GDEM029C90 2,9" n/b 128x296, SSD1680
- DEPG0290BS 2,9" n/b 128x296, SSD1680, par exemple LILYGO® TTGO T5 V2.4.1 2,9"
- GDEY029T94 2,9" n/b 128x296, SSD1680
- GDEY029T71H 2,9" n/b 168x384, SSD1685
- GDEY029F51H 2,9" 4 couleurs 168x384, JD79667
- Waveshare3inch4color 3.0" 4 couleurs 168x400
- GDEQ031T10 3,1" n/b 240x320, UC8253
- ED037TC1 3,7" n/b 280x480, SSD1677, Waveshare 3,7"
- GDEW0371W7 3,7" n/b 240 x 416, UC8171 (IL0324)
- GDEW042T2 4,2" n/b 400x300, UC8176 (IL0398)
- GDEW042M01 4,2" n/b 400x300, UC8176 (IL0398), DES
- GDEW042Z15 4,2" n/b/r 400x300, UC8176 (IL0398)
- GDEQ042Z21 4,2" n/b/r 400x300, UC8276, (Waveshare V2)
- GDEY042Z98 4,2" n/b/r 400x300, SSD1683
- GDEY042T81 4,2" n/b 400x300, SSD1683
- GDEY0420F51 4,2" 4 couleurs 400x300, HX8717
- GDEQ0426T82 4,26" n/b 800 x 480, SSD1677
- Waveshare437inch4color Waveshare 4,37" Écran e-paper 4 couleurs 512x368
- ACeP565 Écran e-paper 5,65" Waveshare 5,65" 7 couleurs 600x448
- GDEP0565D90 5,65" 7 couleurs 600x448
- GDEY0579T93 5,79" n/b 792 x 272, SSD1683
- GDEY0579Z93 5,79" n/b/r 792 x 272, SSD1683
- GDEY0579F51 5,79" 4 couleurs 792x272, HX8717
- GDEW0583T7 5,83" n/b 600 x 448, UC8159c (IL0371)
- GDEW0583T8 5,83" n/b 648 x 480, EK79655 (GD7965)
- GDEW0583Z83 5,83" n/b/r 648 x 480, EK79655 (GD7965)
- GDEQ0583T31 5,83" n/b 648x480, UC8179
- GDEQ0583Z31 5,83" n/b/r 648x480, UC8179C
- GDEY073D46 7,3" 800x480 7 couleurs
- GDEP073E01 7,3" 800x480 7 couleurs
- ACeP730 Écran e-paper 7,3" Waveshare 7 couleurs 800x480, PhotoPainter
- GDEW075T8 7,5" n/b 640 x 384, UC8159c (IL0371)
- GDEW075T7 7,5" n/b 800 x 480, EK79655 (GD7965)
- GDEY075T7 7,5" n/b 800 x 480, UC8179 (GD7965)
- GDEW075Z09 7,5" n/b/r 640 x 384, UC8159c (IL0371)
- GDEW075Z08 7,5" n/b/r 800 x 480, EK79655 (GD7965)
- GDEH075Z90 7,5" n/b/r 880 x 528, SSD1677
- GDEM102T91 10,2" n/b 960 x 640, SSD1677
- GDEM1085T51 10,85 n/b 1360x480, JD79686AB
- GDEH116T91 11,6" n/b 960 x 640, SSD1677
- GDEY116Z91 11,6" n/b/r 960 x 640, SSD1677
- GDEY116F51 11,6" 4 couleurs 960 x 640, SSD2677
- GDEW1248T3 12,48" n/b 1304 x 984, UC8179
- GDEY1248Z51 12,48" n/b/r 1304x984, UC8179
- GDEM133T91 13,3" n/b 960 x 680, SSD1677
- GDEM133Z91 13,3" n/b/r 960 x 680, SSD1677
Panneaux et cartes e-paper SPI pris en charge par Waveshare : comparer avec Good Display, même panneau
autres panneaux pris en charge
- GYE042A87 4,2" n/b 400 x 300, SSD1683 (HINK-E042-A07-FPC-A1)
- SE0420NQ04 4,2" n/b 400 x 300, UC8276C (OPM042A2_V1.0)
- ED060SCT Niveaux de gris 6", sur Waveshare e-Paper IT8951 Driver HAT
- ED060KC1 Niveaux de gris 6", 1 448 x 1 072, sur Waveshare e-Paper IT8951 Driver HAT
- ED078KC2 Niveaux de gris 7,8", 1 872 x 1 404, sur Waveshare e-Paper IT8951 Driver HAT
- ES103TC1 Niveaux de gris 10,3", 1 872 x 1 404, sur Waveshare e-Paper IT8951 Driver HAT
Je ne peux et ne prendrai en charge que les panneaux e-paper que j'ai !
- Je peux accepter les dons de panel pour ajouter un support à GxEPD2.
- Mais seulement quelques panneaux à tout moment, et uniquement des panneaux provenant de sources connues.
- L'ajout du support prendra autant de temps que nécessaire.
Version 1.6.0
- prise en charge mise à jour de GDEY029T94 : correction d'un problème d'actualisation partielle
- prise en charge mise à jour de GDEY042T81 : correction de l'actualisation complète rapide pour la version du panneau 2024
- prise en charge mise à jour de GDEP073E01 : correction du mappage des couleurs pour ses valeurs de couleur natives
- mise à jour de GxEPD2_display_selection_new_style.h : ajout d'Arduino Nano Every, Arduino Nano ESP32, Arduino Nano IoT.
Version 1.5.9
- ajout de la commande Power Save (PWS) à l'initialisation GDEY075T7 (problème avec les bitmaps tramés)
- prise en charge supplémentaire de GDEY0579T93 5,79" n/b 792x272, SSD1683
- prise en charge supplémentaire de GDEY0579Z93 5,79" n/b/r 792x272, SSD1683
- prise en charge supplémentaire pour GDEY0579F51 5,79" 4 couleurs 792 x 272, HX8717
- le GDEY0579F51 a une capacité d'adressage de fenêtre partielle,
- mais peu utile, car le buffer du contrôleur est modifié lors du rafraîchissement
- L'actualisation partielle de la fenêtre ne peut pas être utilisée sur GDEY0579F51, l'actualisation est en plein écran
- prise en charge supplémentaire de GDEY042Z98 4,2" n/b/r 400x300, SSD1683
- GDEY042Z98 a un rafraîchissement complet « rapide » et prend en charge un rafraîchissement partiel rapide en noir et blanc
- prise en charge supplémentaire de GDEP073E01 7,3" 800x480 7 couleurs
Version 1.5.8
- prise en charge supplémentaire du GDEP0565D90 5,65" 7 couleurs 600x448
- prise en charge supplémentaire du GDEY116F51 11,6" 4 couleurs 960 x 640, SSD2677
- prise en charge supplémentaire de GDEY029T71H 2,9" n/b 168x384, SSD1685
Version 1.5.7
- prise en charge supplémentaire pour GDEY0213F51 2,13" 4 couleurs 122 x 250, JD79661
- ajout de la prise en charge de GDEM1085T51 10,85 n/b 1360x480, JD79686AB
Version 1.5.6
- version pour les correctifs et ajouts en cours
- prise en charge supplémentaire pour GYE042A87 4,2" n/b 400x300
- prise en charge supplémentaire du SE0420NQ04 4,2" n/b 400x300
- prise en charge supplémentaire de GDEQ0583Z31 5,83" n/b/r 648x480
- prise en charge supplémentaire de GDEM102T91 10,2" n/b 960x640, SSD1677
- prise en charge supplémentaire de GDEY116Z91 11,6" n/b/r 960x640, SSD1677
- prise en charge supplémentaire du GDEM133T91 13,3" n/b 960x680, SSD1677
- prise en charge supplémentaire du GDEM133Z91 13,3" n/b/r 960x680, SSD1677
- rafraîchissement différentiel amélioré pour SE0420NQ04
- Actualisation complète améliorée pour SE0420NQ04
- classe de pilote fixe GxEPD2_213.cpp
Version 1.5.5
- classes de pilotes 7 couleurs mises à jour (nettoyage de conception corrigé)
- remarque : Waveshare PhotoPainter ne fonctionne pas avec le package MBED Pico
- remarque : utilisez le package https://github.com/earlephilhower/arduino-pico pour PhotoPainter
Version 1.5.4
- ajout de la prise en charge de GDEQ031T10 3,1" n/b 240x320
- prise en charge mise à jour pour GDEY075T7 7,5" n/b 800x480
- classe de pilote renommée GxEPD2_750_YT7 en GxEPD2_750_GDEY075T7
- les panneaux GDEY075T7 actuels ont une capacité de rafraîchissement complet et rapide
- prise en charge supplémentaire de Waveshare 7,3" 7 couleurs, classe de pilote GxEPD2_730c_ACeP_730
- prise en charge supplémentaire de PhotoPainter 7 couleurs Waveshare 7,3" avec RPi Pico RP2040
- classes de pilotes n/b mises à jour pour les contrôleurs SSD
- classes de pilotes 7 couleurs mises à jour (nettoyage de la conception)
Version 1.5.3
- prise en charge supplémentaire de GDEQ0426T82 4,26" n/b 800x480
- prise en charge supplémentaire du GDEY0266F51H 2,66" 4 couleurs 184x460
- prise en charge supplémentaire du GDEY029F51H 2,9" 4 couleurs 168x384
- prise en charge supplémentaire du GDEY0420F51 4,2" 4 couleurs 400x300
- prise en charge supplémentaire de l'écran e-paper 4 couleurs Waveshare 3,00" 168x400
- prise en charge mise à jour de l'écran e-paper 4 couleurs Waveshare 4,37" 512x368
- les écrans 4 couleurs ont un adressage et un rafraîchissement partiels des fenêtres
- renommé GDEY042T91 en son nouveau nom officiel GDEY042T81
Version 1.5.2
- prise en charge supplémentaire de l'écran e-paper 4 couleurs Waveshare 4,37" 512x368
- Correction du test __has_include (pour les packages qui ne prennent pas en charge __has_include)
- WIDTH_VISIBLE ajouté pour une largeur graphique correcte pour 2,13" n/b 122x250
- ajout de la méthode end(), pour libérer SPI et réinitialiser toutes les broches sur INPUT
Version 1.5.1
- prise en charge supplémentaire de GDEY0154D67 1,54" n/b 200x200
- prise en charge supplémentaire de GDEY0213B74 2,13" n/b 128x250
- prise en charge mise à jour pour GDEY027T91 2,7" n/b 176x264
- classe de pilote renommée pour GDEY027T91 en GxEPD2_270_GDEY027T91
- ajout de la prise en charge de GDEY029T94 2,9" n/b 128x296
- prise en charge supplémentaire pour GDEY042T91 4,2" n/b 400x300
- prise en charge supplémentaire de GDEQ0583T31 5,83" n/b 648x480
- ces panneaux ont une capacité de rafraîchissement complet et rapide
- le rafraîchissement complet rapide peut être désactivé dans l'en-tête de classe pour une utilisation à basse température
- prise en charge supplémentaire de GDEY073D46 7,3" 800x480 7 couleurs
- tous ces nouveaux panneaux ont été offerts par Good Display
- ajout du test __has_include à GxEPD2_BW.h, GxEPD2_3C.h, GxEPD2_7C
- cela permet de supprimer ou de mettre de côté les classes de pilotes inutilisées pour une compilation plus rapide
- plusieurs correctifs et améliorations
Version 1.5.0
- ajout de la prise en charge de GDEY075T7 7,5" n/b 800x480
- mise à jour de GxEPD2_Example, ajout de l'utilisation HSPI pour la carte pilote Waveshare ESP32
- GxEPD2_SD_AVR_Example mis à jour, correctifs pour la gestion des BMP
- mise à jour de GxEPD2_SD_Example, correctifs pour la gestion BMP, ajout de l'utilisation HSPI pour la carte pilote Waveshare ESP32
- mise à jour de GxEPD2_SerialFlash_Example, correctifs pour la gestion des BMP
- GxEPD2_SerialFlash_Loader mis à jour, certificats https mis à jour et utilisation
- mise à jour de GxEPD2_Spiffs_Example, correctifs pour la gestion des BMP
- GxEPD2_Spiffs_Loader mis à jour, certificats https mis à jour et utilisation
- ajout de GxEPD2_WiFi_CertStore_Example, utilisation d'un BearSSL CertStore sur ESP8266, comme un navigateur
- ajout de GxEPD2_WiFi_CertStore_Loader, téléchargement des certificats racine (depuis Mozilla) vers le flash ESP8266
- GxEPD2_WiFi_Example mis à jour, correctifs pour la gestion des BMP, certificats https mis à jour et utilisation
- mise à jour de GxEPD2_WS_ESP32_Driver, ajout de l'utilisation HSPI pour la carte pilote Waveshare ESP32
Version 1.4.9
- ajout des lignes de constructeur manquantes à GxEPD2_display_selection.h
- ajout des détails du panneau aux commentaires dans GxEPD2_display_selection.h
- ajout de détails sur les panneaux aux panneaux e-paper SPI pris en charge dans README.md
Version 1.4.8
- prise en charge supplémentaire de GDEY027T91 2,7" n/b 176x264
- prise en charge supplémentaire de GDEY1248Z51 12,48" n/b/r 1304x984
- nom fixe du panneau DEPG0150BN
- certificat et empreinte digitale mis à jour pour le téléchargement de GitHub dans GxEPD2_WiFi_Example
Version 1.4.7
- prise en charge supplémentaire de DEPG0150BN 1,50" n/b 200x200, par exemple LILYGO® TTGO T5 V2.4.1 1,50 pouces
- prise en charge supplémentaire de DEPG0213BN 2,13" n/b 128x250, par exemple LILYGO® TTGO T5 V2.3.1 2,13 pouces
- prise en charge supplémentaire pour DEPG0266BN 2,66" n/b 152x296, par exemple LILYGO® TTGO T5 2,66 pouces
- ajout de la prise en charge de DEPG0290BS 2,9" n/b 128x296, par exemple LILYGO® TTGO T5 V2.4.1 2,9"
- prise en charge supplémentaire des niveaux de gris ES103TC1 10,3", 1 872 x 1 404, sur Waveshare e-Paper IT8951 Driver HAT
Version 1.4.6
- prise en charge supplémentaire pour GDEY0266Z90 2,66" n/b/r 152x296
- prise en charge supplémentaire de GDEW0583Z83 5,83" n/b/r 648x460
Version 1.4.5
- prise en charge supplémentaire pour GDEY0213Z98 2,13" n/b/r 122x250
- testé avec l'écran d'affichage tricolore eInk / ePaper 2,13" LOLIN 250x122
- https://www.aliexpress.com/item/1005003020667903.html
Version 1.4.4
- mise à jour intermédiaire pour résoudre les avertissements du compilateur (ALL pour GCC pour AVR)
Version 1.4.3
- option ajoutée pour sélectionner un autre canal HW SPI et/ou des paramètres SPI
- par la méthode selectSPI(SPIClass& spi, SPISettings spi_settings) de la classe de base du pilote GxEPD2_EPD
- en appelant selectSPI avant d'appeler init() de la classe d'affichage
- ou en appelant la méthode init() étendue à laquelle ces paramètres sont ajoutés
- testé avec RPi Pico RP2040 en utilisant le blindage de connexion Good Display DESPI-PICO
- GxEPD2_Example mis à jour pour montrer l'utilisation avec DESPI-PICO
- DESPI-PICO : voir https://www.good-display.com/product/393.html
Version 1.4.2
- prise en charge supplémentaire de la carte et du panneau n/b Waveshare 3,7" ED037TC1
- Les tableaux de formes d'onde pour ED037TC1 sont extraits du code de démonstration Waveshare sans modification.
- le comportement d'actualisation avec ED037TC1 avec GxEPD2 n'est pas parfait, n'a pas pu être résolu
- PROBLEME RÉSOLU : RESE doit être de 3 ohms sur DESPI-C02 pour ce panneau, les schémas Waveshare sont erronés
- ajout d'un rafraîchissement différentiel pour GDEH116T91, tableau de forme d'onde tiré de ED037TC1
- Le rafraîchissement différentiel pour GDEH116T91 semble correct ; peut être désactivé avec hasFastPartialUpdate = false
- phase de maintien augmentée pour le rafraîchissement différentiel sur GDEW042T2
Version 1.4.1
- correctif pour le circuit de réinitialisation "intelligent" de Waveshare : contrôleur de puissance avant l'impulsion de réinitialisation
Version 1.4.0
- modifié la durée de réinitialisation par défaut à 10 ms au lieu de 20 ms
- modifié le délai après la réinitialisation à 10 ms ou la durée de réinitialisation, selon la valeur la plus élevée, au lieu de 200 ms
- ajout d'une fonctionnalité busyCallback, pour permettre de gérer des actions périodiques pendant l'attente de la terminaison BUSY
-
// register a callback function to be called during _waitWhileBusy continuously.
-
void setBusyCallback(void (*busyCallback)(const void*), const void* busy_callback_parameter = 0);
- exemple ajouté GxEPD2_RotaryUsingBusyCallback.ino
Version 1.3.9
- correctif pour la plage de numéros de broches du package officiel STM32 (int16_t)
- correctif pour l'intersection de l'écran des méthodes d'actualisation (int16_t x, int16_t y, int16_t w, int16_t h)
Version 1.3.8
- prise en charge supplémentaire du panneau GDEQ042Z21 4,2" n/b/r 400x300 ou de la carte Waveshare 4,2" V2 n/b/r
- la carte Waveshare 4,2" V2 n/b/r nécessite l'impulsion de réinitialisation raccourcie
- prise en charge supplémentaire de la carte flexible GDEW029I6FD 2,9" n/b 128x296
- quelques correctifs et améliorations pour la nouvelle sélection du panneau de style
Version 1.3.7
- prise en charge supplémentaire du panneau GDEW0102T4 1,02" n/b 80x128 ou de la carte Waveshare 1,02" n/b
- le panneau GDEW0102T4 a un connecteur différent des autres panneaux SPI
- le panneau GDEW0102T4 peut être utilisé avec le module de connexion DESPI-C102
- https://buy-lcd.com/products/connection-board-demo-kit-for-102-inch-e-ink-display-despi-c102
- mes tests ont été effectués avec la carte Waveshare 1.02" n/b
Version 1.3.6
- ajout de la prise en charge de Waveshare 2,9" n/b V2, classe de pilote GxEPD2_290_T94_V2
- Waveshare 2.9" n/b V2 utilise une variante GDEM029T94 sans mise à jour partielle wft dans OTP
- la classe de pilote GxEPD2_290_T94_V2 utilise une mise à jour partielle wft écrite dans les registres
- ajout d'une NOTE pour le pull-up RST sur ESP8266 avec un circuit de réinitialisation "intelligent" ou une broche alternative
Version 1.3.5
- prise en charge supplémentaire du panneau e-paper GDEM0213B74 122 x 250 n/b
- prise en charge supplémentaire de ED078KC2, niveaux de gris de 7,8", 1 872 x 1 404, sur Waveshare e-Paper IT8951 Driver HAT
Version 1.3.4
- prise en charge supplémentaire du panneau e-paper GDEH116T91 960 x 640 n/b
- GDEH116T91 n'a qu'un rafraîchissement plein écran, pas encore de table d'ondes pour le rafraîchissement différentiel
- ajout du support pour le processeur Arduino Nano RP2040 Connectez-vous aux exemples
- ajout d'un rafraîchissement général rapide n/b pour les écrans 3 couleurs compatibles GDEW0213Z19, GDEW029Z13
- exemple ajouté GxEPD2x_FastBlackWhiteOnColor.ino pour GDEW0213Z19, GDEW029Z13
- l'évaluation d'autres panneaux 3 couleurs rapides en noir et blanc peut suivre
Version 1.3.3
- ajout de la méthode de rafraîchissement différentiel n/b à GDEW0213Z19
- ajout de la méthode de rafraîchissement différentiel n/b à GDEW029Z13
- jusqu'à 100 rafraîchissements rapides n/b ont été possibles (ce qui donne un fond légèrement rougeâtre)
- ajout d'un exemple expérimental GxEPD2x_MixedTest pour la preuve de concept
- GxEPD2x_MixedTest a besoin de suffisamment de RAM pour 2 objets GFXCanvas1
- Le rafraîchissement général mixte à 3 couleurs dans GxEPD2 est en cours d'évaluation, pour les panneaux compatibles
Version 1.3.2
- prise en charge supplémentaire du panneau e-paper GDEW0213T5D 104 x 212 n/b
- prise en charge supplémentaire du panneau e-paper GDEW029T5D 128 x 296 n/b
- prise en charge supplémentaire du panneau e-paper GDEW0213Z19 104x212 n/w/r
- prise en charge supplémentaire du panneau e-paper GDEW029Z13 128x296 n/w/r
- GDEW0213Z19 et GDEW029Z13 prennent en charge uniquement l'actualisation plein écran (problème de contrôleur)
Version 1.3.1
- prise en charge supplémentaire du panneau e-paper GDEM029C90 128 x 296 n/b/y
- GDEM029C90 a un temps de rafraîchissement très long d'environ 27 secondes
- GDEM029C90 a une mise à jour partielle (adressage de fenêtre) de la mémoire du contrôleur
- GDEM029C90 prend uniquement en charge le rafraîchissement complet de l'écran
Version 1.3.0
- prise en charge supplémentaire du panneau e-paper GDEM029T94 128 x 296 n/b
- ajout de la prise en charge du nouveau panneau de papier électronique DES GDEW026M01 152x296 n/b
- le nouveau panneau e-paper GDEW026M01 DES n/b présente un contraste plus élevé et une large plage de températures
- Le rafraîchissement différentiel (mise à jour partielle rapide) est pris en charge pour la plage de température normale
- désactivez l'actualisation différentielle pour les températures étendues en définissant hasFastPartialUpdate = false ;
- le tableau de forme d'onde différentielle pour GDEW026M01 est expérimental et peut nécessiter des améliorations
- mise à jour majeure de la sélection d'affichage dans les exemples pour faciliter les ajouts :
- la sélection de l'ancien style est désormais dans des fichiers d'inclusion séparés GxEPD2_display_selection.h
- et GxEPD2_display_selection_added.h
- ajout d'une nouvelle sélection d'affichage de style dans le fichier d'inclusion GxEPD2_display_selection_new_style.h
- l'un ou l'autre style de sélection peut être utilisé. l'ancien style est destiné à copier facilement les lignes du constructeur.
Version 1.2.16
- correctif pour GDEH0154D67, pour fonctionner indépendamment de la version OTP (problème de ping-pong)
Version 1.2.15
- prise en charge supplémentaire du nouveau panneau e-paper DES GDEW0213M21 2,13" 104 x 212 n/b
- ajout de la prise en charge du nouveau panneau e-paper DES GDEW029M06 2,9" 128 x 296 n/b
- ajout de la prise en charge du nouveau panneau e-paper DES GDEW042M01 4,2" 400 x 300 n/b
- ces nouveaux panneaux de papier électronique DES n/b ont un contraste plus élevé et une large plage de températures
- Le rafraîchissement différentiel (mise à jour partielle rapide) est pris en charge pour la plage de température normale
- désactivez l'actualisation différentielle pour les températures étendues en définissant hasFastPartialUpdate = false ;
- le GDEW042M01 que j'ai est une version préliminaire, la forme d'onde différentielle peut nécessiter une mise à jour
Version 1.2.14
- prise en charge supplémentaire de 6" 1448x1072 ED060KC1 sur Waveshare e-Paper IT8951 Driver HAT
- correction de GxEPD2_WiFi_Example.ino : nouvelle empreinte digitale GitHub pour ESP8266, certificat pour ESP32
- discriminateur de couleur fixe pour l'affichage 7 couleurs dans GxEPD2_7C.h
- ajout du support multicolore pour l'affichage 7 couleurs dans GxEPD2_WiFi_Example, GxEPD2_Spiffs_Example,
- et GxEPD2_SD_Example, GxEPD2_SerialFlash_Example
- correction de l'écriture paginée sur le contrôleur d'affichage 7 couleurs (problème de transaction et de gestion CS)
- quelques corrections supplémentaires
Version 1.2.13
- ajout de la prise en charge du GDEH0154Z90 1,54" 200 x 200 n/b/r, remplacement du GDEW0154Z04
- GDEH0154Z90 a un adressage de fenêtre partiel, mais pas d'actualisation partielle de la fenêtre
- ajout de quelques exemples de constructeurs manquants, par exemple pour IT8951 Driver HAT on Due
- informations de câblage nettoyées dans les exemples
Version 1.2.12
- correction de GxEPD2_MinimumExample.ino pour dessiner du noir sur blanc (le blanc sur blanc était invisible)
- exemple ajouté GxEPD2_HelloWorld.ino
- informations de câblage mises à jour et paramètres de constructeur pour la carte pilote Waveshare e-Paper ESP8266
- ajout de quelques initialiseurs explicites manquants (personne n'a remarqué car les compilateurs initialisent généralement les membres simples)
Version 1.2.11
- prise en charge supplémentaire de l'écran e-paper Waveshare 5,65" 7 couleurs 600x448
- le contrôleur inconnu de cet écran ne prend pas en charge la mise à jour partielle, pour autant que nous le sachions
- La prise en charge des graphiques 7 couleurs est disponible avec la classe GxEPD2_7C
- La prise en charge graphique à 7 couleurs nécessite une pagination même sur ESP32
- La prise en charge des graphiques à 7 couleurs provoque une pagination importante sur Arduino UNO et devient très lente
- le rafraîchissement est assez rapide pour un affichage e-paper couleur : 12 secondes
Version 1.2.10
- ajout de la prise en charge du GDEH075Z90 7,5" n/b/r 880x528
- le contrôleur du GDEH075Z90 prend en charge la mise à jour partielle, mais la refesh est en plein écran
- le contrôleur du GDEH075Z90 ne supporte pas la mise à jour différentielle (pas possible en 3 couleurs de toute façon)
- remarque : le connecteur du GDEH075Z90 est en miroir ; se connecte vers le bas sur DESPI-C02
- ajout du paramètre d'initialisation facultatif "reset_duration" en ms, même valeur par défaut de 20 ms comme avant
- reset_duration = 2 peut aider avec le circuit de réinitialisation "intelligent" des cartes les plus récentes de Waveshare
Version 1.2.9
- ajout de la prise en charge de GDEW0154T8 1,54" n/b 152x152
- prise en charge supplémentaire de GDEW0154M09 1,54" n/b 200x200
- ajout de la prise en charge de GDEW0154M10 1,54" n/b 152x152 DES
- prise en charge supplémentaire de GDEW0583T8 5,83" n/b 648x460
- ajout d'une option pour utiliser la classe GFX de la bibliothèque GFX_Root au lieu d'Adafruit_GFX
- la mise à jour différentielle sur GDEW0154M10 est expérimentale, il n'y a pas encore de démo de mise à jour partielle
Version 1.2.8
- vitesse de transfert améliorée pour les écrans plus grands (3,71" et plus)
Version 1.2.7
- correction du dessin paginé de l'écran initial sur GDEH029A1
- parfois, vrai est faux, s'il est appliqué à l'envers
Version 1.2.6
- Rafraîchissement différentiel légèrement amélioré pour GDEW1248T3
- corrections mineures
Version 1.2.5
- prise en charge supplémentaire du panneau n/b GDEW1248T3 12,84" sur le cadre d'affichage e-paper Waveshare 12.48
- testé avec la carte pilote Waveshare Epaper ESP32 montée sur la carte de connexion
- testé avec Arduino UNO monté sur la carte de connexion, est extrêmement lent
- ne fonctionne pas avec Arduino MEGA sur la carte de connexion avec le commutateur réglé sur ICSP et les broches pliées, raison inconnue
- non testé avec d'autres processeurs
- attention : le connecteur de câblage se trouve du côté 5 V des convertisseurs de niveau !
Version 1.2.4
- ajout de la prise en charge du GDEH0154D67 1,54" n/b, remplacement du GDEP015OC1
- ajout de GxEPD2_SerialFlash_Loader, téléchargeur de bitmap WiFi pour SPI-flash
- ajout de GxEPD2_SerialFlash_Example, exemple SPI-flash, par exemple pour Winbond 25Q16BVSIG
- corrections mineures et nettoyages de commentaires
- correction de l'actualisation (false) dans la couche supérieure : ajoutez powerOff() après une actualisation complète
Version 1.2.3
- correction de la mise à jour partielle pour le papier électronique 2,13" 3 couleurs et 2,9" 3 couleurs
- la mise à jour partielle peut être désactivée avec l'attribut usePartialUpdateWindow = false
- ajout de GxEPD2_GFX_Example pour montrer les utilisations de la classe de base GxEPD2_GFX
- remplacé le code GxEPD2_MultiDisplayExample, même code que GxEPD2_GFX_MultiDisplayExample
- ajout d'extras/exemples/GxEPD2_T_MultiDisplayExample, exemple alternatif utilisant les fonctions de modèle
- corrections majeures et mineures, telles que des fautes de frappe qui ont survécu trop longtemps
Version 1.2.2
- Correction de la gestion des BMP, par exemple pour les BMP créés par ImageMagick
- voir aussi le sujet du forum Arduino https://forum.arduino.cc/index.php?topic=642343.0
Version 1.2.1
- ajout de la prise en charge de GDEW075T7 7,5" n/b 800x480
- GDEW075T7 dispose d'une mise à jour différentielle (1,6 s) utilisant une forme d'onde d'équilibrage de charge
- ajout du support optionnel SW SPI, voir /extras/sw_spi/README
- ajout de /extras/tests/GxEPD2_RefreshTests/GxEPD2_RefreshTests.ino, pour le réglage de la forme d'onde
- corrections mineures
- notez que les écrans e-paper de 7,5 pouces ne fonctionnent pas de manière fiable s'ils sont alimentés par une broche Arduino de 3,3 V
Version 1.2.0
- ajout d'une "mise à jour partielle rapide" (mise à jour différentielle) pour GDEW0371W7 3,7" n/b 240x416
- Forme d'onde de mise à jour différentielle améliorée pour GDEW026T0 2,6" n/b 152x256
- code d'initialisation corrigé et mise à jour différentielle améliorée pour GDEW042T2 4,2" n/b 300x400
- notez que toutes les formes d'onde de rafraîchissement différentiel sont un compromis (image fantôme, utilisation de grosses polices)
- les paramètres de forme d'onde différentielle pour ces affichages peuvent facilement être modifiés pour l'expérimentation
- GDEW042T2 aurait un fond grisé sans phase de maintien
- GDEW042T2 nécessite plusieurs actualisations complètes après une utilisation prolongée de mises à jour partielles
Version 1.1.10
- ajout de la prise en charge du GDEH0213B73 2,13" n/b, remplacement du GDE0213B1, GDEH0213B72
- ajout de la prise en charge de GDEW026T0 2,6" n/b 152x256
- prise en charge supplémentaire de GDEW0371W7 3,7" n/b 240x416
- prise en charge supplémentaire de GDEW075Z08 7,5" n/b/r 800x480
- GDEW075Z08 autorise une mise à jour partielle (lente), définissez usePartialUpdate = false pour désactiver pour une meilleure image
- modification de la table de forme d'onde n/b de 4,2 pouces, pour un meilleur résultat avec les panneaux réels
Version 1.1.9
- remarque pour ESP8266 lors de l'utilisation de SS pour CS : (suggestion de câblage)
- connectez le pull-down 4,7k du GPIO15 à GND si votre carte ou votre bouclier est équipé de convertisseurs de niveau
- correctifs pour les grands écrans (utilisez uint16_t pour l'index du tampon)
Version 1.1.8
- correctif pour un téléchargement incomplet dans GxEPD2_WiFi_Example
- ajout de la méthode manquante displayWindow() à la classe de base GxEPD2_GFX
- correction et nettoyage de l'actualisation initiale des panneaux avec mise à jour différentielle
- L'actualisation initiale doit être une mise à jour complète, et non une "mise à jour partielle rapide", pour ces panneaux,
- car le contenu de l'écran peut différer du contenu du "tampon précédent".
- ajoutez un nettoyage du ou des tampons du contrôleur lors de l'écriture initiale sur le contrôleur, pour une mise à jour partielle.
Version 1.1.7
- prise en charge améliorée pour une utilisation entièrement tamponnée et non paginée, pour les processeurs disposant de suffisamment de RAM
- utilisez void display(bool partial_update_mode = false); correspond à update() dans GxEPD
- utilisez l'ajout de void displayWindow(uint16_t x, uint16_t y, uint16_t w, uint16_t h);
- utiliser writeImagePart(...), drawImagePart(...), utilisé par displayWindow()
- exemple ajouté GxEPD2_NotPagedExample.ino
- plusieurs correctifs, par exemple la vérification de la plage des paramètres dans setPartialWindow()
Version 1.1.6
- ajout de la prise en charge du GDEH0213B72 2,13" n/b, remplacement du GDE0213B1
- modification de la vitesse SPI pour le pilote IT8951 HAT à 24 MHz pour l'écriture, 10 MHz pour la lecture
- corrections mineures, par exemple centrage du cadre de délimitation du texte dans GxEPD2_Example
Version 1.1.5
- ajout de la prise en charge du pilote ED060SCT 6" sur Waveshare e-Paper IT8951 Driver HAT
- utilise des lignes de données de 3,3 V, mais une alimentation de 5 V (~ 80 mA en actif, ~ 20 mA en veille, la veille ne fonctionne pas)
- Remarque : l'alimentation 5 V doit être exacte et solide ; 5V sur diode depuis USB (par exemple Wemos D1 mini) ne fonctionne pas !
- notez que le Driver HAT IT8951 est spécifique au panneau, avec flash paramétré par le fournisseur
- c'est une première version
Version 1.1.4+
- ajout de l'exemple GxEPD2_WS_ESP32_Driver pour la carte pilote Waveshare ESP32
Version 1.1.4
- suppression du double rafraîchissement pour une "mise à jour partielle rapide"
- déplacement des tables d'ondes vers les classes de pilotes
- ajout d'une méthode explicite drawImage(...) et writeImage(...) (pour les valeurs de paramètres par défaut supprimées pour 1.1.3)
- ajout d'une méthode d'initialisation avec paramètre initial ajouté, pour la réinitialisation après le réveil en veille profonde du processeur
- ajout du paramètre d'initialisation pulldown_rst_mode, pour une gestion RST spéciale (non nécessaire pour le bouclier waveshare)
Version 1.1.3
- tables d'ondes fixes pour GDEW029T5 et GDEW0213I5F
- correction de drawImage(...) méthodes surchargées signature correspondant à l'ambiguïté
Version 1.1.2
- ajout de la prise en charge de GDEW029T5
- découpage fixe (ajouté) pour la fenêtre partielle
- powerOff() corrigé (ajouté) après la mise à jour complète (la mise à jour partielle maintient l'alimentation sous tension)
- ajout de hibernate() pour une consommation d'énergie minimale par les écrans qui le prennent en charge
Version 1.1.1
- 2,7" n/b GDEW027W3 avec prise en charge de mise à jour partielle rapide, basé sur la nouvelle table d'ondes du code de démonstration
- suggestion de mappage ajoutée pour Arduino MEGA
- REMARQUE : utilisez des résistances diviseuses de tension pour les Arduinos 5 V, la résistance en série n'est pas assez fiable.
- ConnectingHardware.md mis à jour
Version 1.1.0
- prise en charge supplémentaire de GDEW0213I5F pour un écran flexible 2,13" n/b 104x212
- mise à jour de GxEPD2_WiFi_Example et GxEPD2_Spiffs_Loader pour utiliser BearSSL sur ESP8266, pour les téléchargements bitmap volumineux
Version 1.0.9
- ajoutez GxEPD2_U8G2_Fonts_Example, par exemple pour l'utilisation des trémas ÄÖÜäéöü
- REMARQUE : vous devez ENREGISTRER l'exemple modifié dans un emplacement enregistrable pour que les caractères UTF-8 fonctionnent
Version 1.0.8
- ajoutez GxEPD2_SD_AVR_boards_added.h à GxEPD2_SD_AVR_Example
- avec des exemples de définitions pour les cartes non-AVR (exemple d'utilisation de la classe d'affichage de bas niveau)
Version 1.0.7
- ajoutez GxEPD2_boards_added.h à GxEPD2_Example
- avec des exemples de définitions pour Arduino DUE et MKR1000
Version 1.0.6
- ajouter une option de dessin en mémoire tampon à GxEPD2_WiFi_Example
- permet une utilisation avec un écran 1,54" 3 couleurs 200x200, peut également être utile pour les petits bitmaps
Version 1.0.5
- ajouter une option de dessin tamponné à GxEPD2_SD_Example et GxEPD2_Spiffs_Example
- permet une utilisation avec un écran 3 couleurs 200 x 200 de 1,54", peut également être utile pour les petits bitmaps
Version 1.0.4
- ajouter la prise en charge de la classe de base GxEPD2_GFX (facultatif, sélectionnable, utilise un peu plus de code)
- la classe de base GxEPD2_GFX peut être utilisée pour transmettre des références ou des pointeurs vers l'instance d'affichage en tant que paramètre
- ajouter GxEPD2_GFX_MultiDisplayExample, utilise le paramètre de référence GxEPD2_GFX
- modifier GxEPD2_MultiDisplayExample pour ESP8266 (problème de modèle : classe attendue au lieu du nom de type)
Version 1.0.3
- correction de GxEPD2_SD_Example et GxEPD2_SD_AVR_Example
- ajouter GxEPD2_MultiDisplayExample (version préliminaire)
Version 1.0.2
- version initiale 1.0.2
- testé avec ESP8266, ESP32, STM32F103C8T6, AVR Arduino (Pro Mini 3.3V)
- 1,54" 3 couleurs GxEPD2_154c peut être utilisé avec la recherche pour AVR
- tables d'ondes dans l'espace programme, 4,2" n/b peuvent être utilisées avec GxEPD2_SD_AVR_Example
- problèmes activés et bienvenus, veuillez utiliser le sujet du forum pour des suggestions d'amélioration
Version 1.0.1
- version de test préliminaire
- GxEPD2_SD_AVR_Example ajouté, n'a pas de tampon graphique pour réduire l'utilisation de la RAM (utilisation de la classe d'affichage de base)
- problèmes désactivés jusqu'à présent, utilisez plutôt les sujets du forum Arduino
- dans cette version, le GxEPD2_154c 3 couleurs 1,54" ne peut être utilisé qu'avec un tampon pleine taille (ou sans classe d'affichage de base de tampon)
Version 1.0.0
- version préliminaire, en construction