Barra grafica contagiri su display TFT 7

Ciao Paulus,
spero di aver fatto quello che pensavi, anche se non ne sono certo... Ormai che c'ero ho fatto per i 3 colori...

 //*******************************************************************************
  if (giri < 18) {                          // if che fa solo barrette di colore bianco
    if (giri > giriprec) {                  // i giri sono maggiori di giriprecedenti?
      myGLCD.setColor(255, 255, 255);       //da il colore dei rettangolini
      for (int i = giriprec; i < giri; i++)        // crea i primi rettangoli bianchi
      {
        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);
      }
      giriprec = giri;
    }

    if (giri < giriprec) {                  // i giri sono minori di giriprecedenti?
      myGLCD.setColor(0, 0, 0);             //colore dei rettangoli neri
      for (int i = giriprec; i >= giri; i--)       // cancella i rettangoli bianchi
      {
        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);
      }
      giriprec = giri;
    }
  }
  //*******************************************************************************
  if (giri > 17 && giri < 51) {            // if che fa solo barrette di colore verde
    if (giri > giriprec) {                  // i giri sono maggiori di giriprecedenti?
      myGLCD.setColor(0, 255, 0);           // colore dei rettangoli verdi
      for (int i = giriprec; i < giri; i++)       // disegna i rettangoli
      {
        xpos = x[i];                    //defnisce lo spostamento orizzontale
        y1 = (3);                           //posizione partenza da vert
        x2 = xpos + 7;                      //larghezza dei rettangoli
        y2 = y1 + 25;                       //altezza dei rettangoli
        myGLCD.fillRect(xpos, y1, x2, y2);
      }
      giriprec = giri;
    }

    if (giri < giriprec) {                  // i giri sono minori di giriprecedenti?
      myGLCD.setColor(0, 0, 0);             // cancella i rettangoli verdi
      for (int i = giriprec; i >= giri; i--)      //cancella i quadrati
      {
        xpos = x[i];                    //defnisce lo spostamento orizzontale
        y1 = (3);                           //posizione partenza da vert
        x2 = xpos + 7;                      //larghezza dei rettangoli
        y2 = y1 + 25;                       //altezza dei rettangoli
        myGLCD.fillRect(xpos, y1, x2, y2);
      }
      giriprec = giri;
    }
  }
  //*******************************************************************************
  if (giri > 50 && giri < 72) {                        // if che fa solo barrette di colore rosso
    if (giri > giriprec) {                  // i giri sono maggiori di giriprecedenti?
      myGLCD.setColor(255, 0, 0);           //colore dei rettangoli rosso
      for (int i = giriprec; i < giri; i++)       //disegna i rettangoli
      {
        xpos = x[i];                    //defnisce lo spostamento orizzontale
        y1 = (3);                           //posizione partenza da vert
        x2 = xpos + 7;                      //larghezza dei rettangoli
        y2 = y1 + 25;                       //altezza dei rettangoli
        myGLCD.fillRect(xpos, y1, x2, y2);
      }
      giriprec = giri;
    }

    if (giri < giriprec) {                  // i giri sono minori di giriprecedenti?
      myGLCD.setColor(0, 0, 0);             //colore dei rettangoli nero
      for (int i = giriprec; i > giri; i--)      //cancella i rettangoli
      {
        xpos = x[i];                    //defnisce lo spostamento orizzontale
        y1 = (3);                           //posizione partenza da vert
        x2 = xpos + 7;                      //larghezza dei rettangoli
        y2 = y1 + 25;                       //altezza dei rettangoli
        myGLCD.fillRect(xpos, y1, x2, y2);
      }
      giriprec = giri;
    }
  }
  //*******************************************************************************