texte defilant

Bonjour à tous,

Nous avons un projet qui a pour but de représenter le panneau d'affichage des trains en gare. Ainsi sur une ligne on veut afficher la voie, l'horaire, le numéro et la destination d'un train.
Pour cela, on a besoin d'afficher un alphabet d'effilant. Nous avons le code suivant qui marche qui sert à faire défiler une lettre. Malheureusement nous le comprenons pas c'est-à-dire qu'on serrait incapable de l'expliquer. Pourriez-vous nous l'expliquer?
Merci :slight_smile:

#define EXTRACT(lettre,decalageInitial,numBit) (((lettre>>decalageInitial) & (1<<numBit)) >>numBit)

/*
couleur : BLACK, RED, GREEN, ORANGE
affiche une lettre passée en paramètre à la position désirée
*/
void afficherLettre(T_Lettre lettre, byte x, byte y, byte couleur)
{
int l,c,val;

for(l=0;l<5;l++)
for(c=0;c<3;c++)
{
if (l==0) val= EXTRACT(lettre[0],4,2-c);
if (l==1) val= EXTRACT(lettre[0],1,2-c);
if (l==2)
if (c==0) val= EXTRACT(lettre[0],0,0);
else val = EXTRACT(lettre[1],6,2-c);

if (l==3) val= EXTRACT(lettre[1],3,2-c);
if (l==4) val= EXTRACT(lettre[1],0,2-c);

if (val)
ht1632_plot(x+c, y+l, couleur);
else
ht1632_plot(x+c, y+l, BLACK);
}
}