Barra grafica contagiri su display TFT 7

Ciao,
in parte non mi tornava come avevi detto tu, quindi pasticciando ho fatto questo, l'errore l'ho trovato negli IF, io andavo a verificare i giri, invece dovevo verificare giriprec..... Ho fatto così, e funziona egregiamente senza nessun errore... Può andare?
Grazie ancora, molto disponibile :slight_smile:

//***************************** verifica se deve cancellare i rettangoli 
  if (giri < giriprec) {                      // verifico se i giri sono minori dei prec
    myGLCD.setColor(0, 0, 0);                 // colore dei rettangoli neri, cancello le barrette bianche e rosse
    for (int i = giriprec; i >= giri; i--)    // cancella i rettangoli
    {
      if (i < 19) {                        // if che fa solo barrette di colore bianco
        xpos = x[i];                          //defnisce lo spostamento orizzontale
        ypos = y[i];                          //posizione partenza da vert
        x2 = xpos + 7;                        //larghezza dei rettangoli
        y2 = ypos + 25;                       //altezza dei rettangoli
        myGLCD.fillRect(xpos, ypos, x2, y2);
      }
      if (i > 17) {
        xpos = x[i];                          //defnisce lo spostamento orizzontale
        x2 = xpos + 7;                        //larghezza dei rettangoli
        y2 = y1 + 25;                         //altezza dei rettangoli
        myGLCD.fillRect(xpos, y1, x2, y2);
      }
    }
    giriprec = giri;
  }
  //********************************** fine verifica cancellazione rettangoli 
  //********************************* verifica se deve costruire dei rettangoli 
  if (giri > giriprec) {                      // verifico se i giri sono maggiori dei prec
    for (int i = giriprec; i < giri; i++)     // disegna i rettangoli
    {
      if (i < 18) {
        myGLCD.setColor(255, 255, 255);       //da il colore dei rettangolini bianco
        xpos = x[i];                          //defnisce lo spostamento orizzontale
        ypos = y[i];                          //posizione partenza da vert
        x2 = xpos + 7;                        //larghezza dei rettangoli
        y2 = ypos + 25;                       //altezza dei rettangoli
        myGLCD.fillRect(xpos, ypos, x2, y2);
      }
      if (i > 17) {
        myGLCD.setColor(0, 255, 0);           //da il colore dei rettangolini verde
        if (i > 49) {
          myGLCD.setColor(255, 0, 0);           //da il colore dei rettangolini rosso
        }
        xpos = x[i];                          //defnisce lo spostamento orizzontale
        x2 = xpos + 7;                        //larghezza dei rettangoli
        y2 = y1 + 25;                         //altezza dei rettangoli
        myGLCD.fillRect(xpos, y1, x2, y2);
      }
    }
    giriprec = giri;
  }
  //******************************** fine costruzione rettangoli