le test

Dependencies:   LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI

Revision:
17:c9b66df08920
Parent:
16:b1bf03ee2878
Child:
18:1864979c9b3c
--- a/TraceMatrix/Trace.cpp	Mon Apr 22 15:11:14 2019 +0000
+++ b/TraceMatrix/Trace.cpp	Wed Apr 24 11:42:10 2019 +0000
@@ -3,33 +3,29 @@
 LCD_DISCO_F429ZI lcdT;
 
 void DisplayMatrix(int xexp, int yexp, matrice* mat, int TaillePix,long long int couleur){
-    int xinit = yexp; //C'est pas très clair mais il y a une invertion des x et des y dans la suite donc on fait ça -- à coriger
-    int yinit = xexp;
     lcdT.SetTextColor(couleur);
-    matrice WorkingMatrix = *mat;
-    for(int y=0;y<WorkingMatrix.tailleY;y++){
+    matrice WorkingMatrix = *mat; //On récupère une matrice à partir du pointeur que l'on a donné
+    for(int y=0;y<WorkingMatrix.tailleY;y++){   //On regarde chaque élément de la matrice et on voit si on doit ou non le colorer.
         for(int x=0;x<WorkingMatrix.tailleX;x++){
             if(WorkingMatrix.tableau[WorkingMatrix.tailleY-y-1][x]==1){
-                lcdT.FillRect(xinit + TaillePix * y,yinit + TaillePix * x,TaillePix,TaillePix);
+                lcdT.FillRect(yexp + TaillePix * y,xexp + TaillePix * x,TaillePix,TaillePix);
             }
         }
     }
-    free(mat);
+    free(mat);  //On libère la RAM occupée par la matrice
     /*lcdT.SetTextColor(LCD_COLOR_BLUE);    //lignes de test
     lcdT.FillRect(xinit,yinit,TaillePix,TaillePix); */
 }
 
 void DisplayMatrixClean(int xexp, int yexp, matrice* mat, int TaillePix,long long int couleur,long long int couleurFond){
-    int xinit = yexp;
-    int yinit = xexp;
-    lcdT.SetTextColor(couleurFond);
+    lcdT.SetTextColor(couleurFond); //Avant de faire comme la fonction précédente on trace un rectangle en fond de ce que l'on va tracer.
     matrice WorkingMatrix = *mat;
     lcdT.FillRect(xinit,yinit,TaillePix * WorkingMatrix.tailleY,TaillePix * WorkingMatrix.tailleX);
     lcdT.SetTextColor(couleur);
     for(int y=0;y<WorkingMatrix.tailleY;y++){
         for(int x=0;x<WorkingMatrix.tailleX;x++){
             if(WorkingMatrix.tableau[WorkingMatrix.tailleY-y-1][x]==1){
-                lcdT.FillRect(xinit + TaillePix * y,yinit + TaillePix * x,TaillePix,TaillePix);
+                lcdT.FillRect(yexp + TaillePix * y,xexp + TaillePix * x,TaillePix,TaillePix);
             }
         }
     }
@@ -294,8 +290,8 @@
 
 
 void BS_displayChiffre(int x,int y,int num,int taille,long long int couleur){
-    matrice* mmm;
-    switch(num){
+    matrice* mmm;   //On utilisera une matrice que l'on ne connais pas encore
+    switch(num){    //On remplacera mmm par la matrice qui correspond au chiffre que l'on veut écrire
         case 0:
             mmm = BS_0();
             break;
@@ -329,7 +325,7 @@
         default:
             mmm = BS_na();
     }
-    DisplayMatrix(x,y,mmm,taille,couleur);
+    DisplayMatrix(x,y,mmm,taille,couleur);  //Une fois que l'on a la metrice que l'on souhaite on la dessine
 }
 
 void BS_displayChiffreClean(int x,int y,int num,int taille,long long int couleur,long long int couleurFond){
@@ -368,16 +364,16 @@
         default:
             mmm = BS_na();
     }
-    DisplayMatrixClean(x,y,mmm,taille,couleur,couleurFond);
+    DisplayMatrixClean(x,y,mmm,taille,couleur,couleurFond); //Comme la fonction précédente mais on met un fond uni avant
 }
 
 void BS_displayChiffre100Clean(int x,int y,int num,int taille,long long int couleur,long long int couleurFond){
-    int a = num/100;
-    int b = (num- a * 100)/10;
-    int c = num - a * 100 - b * 10;
-    lcdT.SetTextColor(couleurFond);
+    int a = num/100;    //On récupre les centaines de num
+    int b = (num- a * 100)/10;  //On récupère les dizaines
+    int c = num - a * 100 - b * 10; //On récupère les unités qui restent
+    lcdT.SetTextColor(couleurFond); //On fait le fond
     lcdT.FillRect(y,x,taille * 9,taille * 17);
-    BS_displayChiffre(x,y,a,taille,couleur);
+    BS_displayChiffre(x,y,a,taille,couleur);    //On affiche à la suite les 3 nombres.
     BS_displayChiffre(x + 6 * taille,y,b,taille,couleur);
     BS_displayChiffre(x + 12 * taille,y,c,taille,couleur);
 }
\ No newline at end of file