Ecran gfx hat et travailler par zone


#1

Hello à toutes et à tous,

Pour ma petite Pie, j’ai pris l’écran GFX hat https://shop.pimoroni.com/products/gfx-hat

http://docs.pimoroni.com/gfxhat/

Ce que j’essaie de faire avec cet écran :
-Afficher du texte ( après des nuits blanches j’ai réussi :slight_smile: )
-Afficher des icones suivant l’état des interfaces ethernet et wifi.

A chaque fois que je lance un script python,(ifup eth0, ou ifup wlan0)
ça réinitialise tout ce qu’il y a sur l’écran et ensuite, ça affiche le résultat du script.

Ma question est la suivant :
-Peut on travaille que sur une partie de l’écran,
sans toucher le reste et ainsi garder les informations déjà présentes?

 #!/usr/bin/env python
import time
from gfxhat import lcd, backlight, fonts
from PIL import Image, ImageFont, ImageDraw


#Image de demarrage
image = Image.open("/tmp/ethernet.bmp")

for x in range(20):
	for y in range(20):
		pixel = image.getpixel((x, y))
		
		if pixel == 0:
			pixel = 1
		else:
			pixel = 0
		
		lcd.set_pixel(x, y, pixel)
		print(pixel)
		
lcd.show()

Merci par avance


#2

Salut
je connais pas cette lib, ni cet ecran (mais du coup ça m’interesse^^

pour ton probleme, est-ce que ce n’est pas du au fait, qu’a chaque fois que tu demande d’afficher quelque chose, il l’affiche par dessus ce qui est présent. Du coup si tu affiche ton image de démarrage elle “efface” ce qui est présent.
Si c’est le cas, faut mettre ton image, puis toute tes info texte, logo…apres.
Bon je sais pas si ça t’aide, mais trouve la doc de la lib, et regarde toute les méthode associer, pour voir si tu peux actualiser que certaine zone.
Sinon tu fait une fonction avec les truc qui bouge pas, et tu l’appelle avant d’afficher dessus les info variable que tu souhaite actualiser.


#3

Hello
Merci pour ta réponse.

Je te le conseille,
il est sympa comme écran et pas cher. :grinning:
Merci pour ton raisonnement, je vais creuser l’idee


#4

Hello.
J’ai suivi ton raisonnement et ça fonctionne.
On ne peut pas rafraîchir qu’une partie de l’écran,
C’est du tout ou rien.
Du coups je joue avec des variables et paramètres.
Merci encore :grinning: