FrameBuffer MicroPython
(Mis à jour le 29/11/2022)
Comprendre le module framebuf
En général, les drivers des écrans n’envoient pas directement les données dès qu’un pixel est modifié, cela prendrait trop de temps à chaque fois. Tous les pixels de l’écran sont envoyés d’une traite. Pour ce faire, il y a une mémoire tampon, appelé buffer qui contient l’état de tous les pixels de l’écran. Concrètement, c’est un tableau de bits de type bytearray()
.
Notre programme Python va modifier l’état des pixels dans le buffer, puis ce buffer sera envoyé périodiquement à l’écran pour actualiser les pixels “physiques”, éventuellement en arrière-plan par le driver. Le driver est la librairie Python qui se charge de communiquer avec l’écran via un bus I2C, SPI.
Le module FrameBuffer
n’est qu’une couche d’abstraction qui propose un buffer générique. Le format des données sera configuré en fonction du type des pixels de l’écran (monochrome, RGB).
On peut aussi avoir plusieurs petits FrameBuffer
pour un même écran, avec une taille plus petite aux dimensions de l’écran. Ce sera très pratique pour bouger des petites images sur l’écran.
Cet article est réservé aux abonnés. Il vous reste 85% à découvrir.
Devenir membre premiumDéjà abonné ? Connectez-vous