Modifications

Sauter à la navigation Sauter à la recherche
634 octets ajoutés ,  12 juillet 2016 à 11:04
Ligne 13 : Ligne 13 :     
== Code d'initialisation ==
 
== Code d'initialisation ==
The code is split into two sections: le '''code d'initialisation''' (dit "''startup''" en anglais) et la '''boucle principale''' (dite "''main loop''" en anglais). Let's take a look at what's happening during startup.
+
Le code est divisé en deux sections: le '''code d'initialisation''' (dit "''startup''" en anglais) et la '''boucle principale''' (dite "''main loop''" en anglais). Voyons donc voir ce qui se passe durant le démarrage du programme (''dans le code d'initialisation'').
   −
This first section below imports a few things and then defines a datastructure for the four buttons. It's a simple map from GPIO number to RGB tuple. RGB tuples are used in a lot of pygame calls to set colors for fonts, backgrounds etc.
+
Au début du code, il y a quelques importations de module puis la définition d'une structure de donnée pour les 4 boutons. Il s'agit d'une simple correspondance entre le n° de GPIO et un tuple RGB (indiquant une couleur en rouge, vert, bleu). Les tuples RGB sont utilisés dans de nombreux appels PyGame pour modifier/initialiser la couleur des fonts, de l'arrière plan, etc.
   −
With the button map in place we can now loop through this and setup all the GPIOs. Each one needs to be set to an input with a pull-up since the buttons are connected to ground.
+
Avec la structure de correspondance en place (''souvent appelé "map" en anglais'') nous pourrons passer la revue cette structure et initialiser tous les GPIO des boutons. Chacune des broches GPIO des boutons doit être initialisée comme entrée avec la résistance Pull-Up (étant donné que les boutons sont connectés à la masse.
   −
Finally in this startup section we initialise pygame. The {{fname|os.putenv}} call here is setting up an environment variable for SDL to tell it which frame buffer device we want to use. We then initialise pygame, hide the mouse pointer, set the display size and fill the background in black.
+
Pour finir, cette section de démarrage initialise également PyGame. L'appel à {{fname|os.putenv}} initialise la variable d'environnement indiquant à la SDL quel périphérique Frame Buffer doit être utilisé pour l'affichage. Ensuite, nous initialisons pygame, cachons le pointeur de la souris, fixons la taille de l'écran et remplissons l'arrière plan en noir.
    
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
Ligne 27 : Ligne 27 :  
import RPi.GPIO as GPIO
 
import RPi.GPIO as GPIO
 
   
 
   
#Note #21 changed to #27 for rev2 Pi
+
#Note #21 changée en #27 pour le Pi rev2  
 
button_map = {23:(255,0,0), 22:(0,255,0), 27:(0,0,255), 18:(0,0,0)}
 
button_map = {23:(255,0,0), 22:(0,255,0), 27:(0,0,255), 18:(0,0,0)}
 
   
 
   
#Setup the GPIOs as inputs with Pull Ups since the buttons are connected to GND
+
# Configurer les GPIO comme entrée (INPUT) avec
 +
# activation de la résistance pull-up.
 +
# Le bouton placera le potentiel à la masse.
 
GPIO.setmode(GPIO.BCM)
 
GPIO.setmode(GPIO.BCM)
 
for k in button_map.keys():
 
for k in button_map.keys():
 
     GPIO.setup(k, GPIO.IN, pull_up_down=GPIO.PUD_UP)
 
     GPIO.setup(k, GPIO.IN, pull_up_down=GPIO.PUD_UP)
 
   
 
   
#Colours
+
# Couleur blanche
 
WHITE = (255,255,255)
 
WHITE = (255,255,255)
+
 
 +
# La SDL doit utiliser le FrameBuffer du PiTFT
 
os.putenv('SDL_FBDEV', '/dev/fb1')
 
os.putenv('SDL_FBDEV', '/dev/fb1')
 +
 +
# Init PyGame, cacher souris, taille écran
 
pygame.init()
 
pygame.init()
 
pygame.mouse.set_visible(False)
 
pygame.mouse.set_visible(False)
 
lcd = pygame.display.set_mode((320, 240))
 
lcd = pygame.display.set_mode((320, 240))
 +
 +
# remplir en noir
 
lcd.fill((0,0,0))
 
lcd.fill((0,0,0))
 +
 +
# Mise-à-jour affichage
 
pygame.display.update()
 
pygame.display.update()
 
   
 
   
29 917

modifications

Menu de navigation