Cual seria la interpretacion a esta parte del codigo

Saludos, gracias por leer esta duda que tengo respecto a este codigo, trato de aprender, espero su colaboración y muchas gracias.

El código es para una matriz de 8x8 con dos 74HC595 uno para filas y otro para columnas al ejecutar el codigo muestra la palabra HELLO, yo no comprendo exactamente, lo resaltado, siendo que:

el codigo completo lo pueden ver en el siguiente link: "HELLO..." in an 8*8 LED Matrix Using Arduino Mega and 74595 Shift Register « Funny Electronics

nt cathode_decimal[]={0, 0, 231, 231, 231, 231, 0, 0, 255, //Display 'H'
                     0, 0, 36, 36, 36, 36, 36, 36, 36, 36, 255, //Display 'E'
                     0, 0, 63, 63, 63, 63, 63, 63, 255, //Display 'L'
                     0, 0, 63, 63, 63, 63, 63, 63, 255, //Display 'L'
                     0, 0, 60, 60, 60, 60, 60, 0, 0,    //Display 'O'
                     255, 127, 255, 127, 255, 127, 255}; //Display '...'


length_of_cathode_decimal_array = sizeof(cathode_decimal)/sizeof(cathode_decimal[0]);

// Copy the first element of array to 'temp'.
temp=cathode_decimal[0];

/**** Shift all the elements of cathode_decimal array, other than first element, 
one position towards left ****/
for(i=1;i<length_of_cathode_decimal_array;i++)
{
  cathode_decimal[i-1]=cathode_decimal[i];
}  

/**** Copy the value in 'temp' to last position of 'cathode_decimal' array.
Then first element in old array becomes last element in new array ****/
cathode_decimal[length_of_cathode_decimal_array-1]

Se les agradece, muchas gracias por su cooperación.

Primero: códigos entre tags generados por </>

Segundo: el fondo de esta página es blanco, entonces texto en amarillo claro hace que sea difícil leerlo. Debiste escojer algún color más oscuro (que no sea negro por supuesto).

Tercero: lo que resaltas está dentro de un for que realiza un muy conocido algoritmo de “desplazamiento hacia la izquierda”.
Posiblemente sea para efectos de “scrolling” en la pantalla.

Lee las normas del foro, edita tu post y usa el tag de código correspondiente que es </> arriba del emoticon :).
También usa tag para el enlace. El enlace no se pega lo mismo que el código. El lector debe poder hacer click e ir directamente al enlace. Todo explicado en las Normas asi que a editar tu post.
Gracias

Perdona pero copiaste mal el código. Lo que pides explicar es esto

  // Copy the first element of array to 'temp'.
  temp=cathode_decimal[0];
  
  /**** Shift all the elements of cathode_decimal array, other than first element, 
  one position towards left ****/
  for(i=1;i<length_of_cathode_decimal_array;i++)
  {
    cathode_decimal[i-1]=cathode_decimal[i];
  }  
  
  /**** Copy the value in 'temp' to last position of 'cathode_decimal' array.
  Then first element in old array becomes last element in new array ****/
  cathode_decimal[length_of_cathode_decimal_array-1]=temp;

Y es un comando que se usa para desplazar bits de derecha a izquierda.
comienza cargando el primer dato en la variable temp.
Luego desplaza los datos de a 1. de la posición i a la posición i-1
AL terminar carga el primer valor a la ultima posición.
El efecto es un desplazamiento como se ve en la página con el display 8x8 animado.

Muchas gracias, lo modificare ahora mismo.

Disculpe, surbyte, no llego a entender como es que recorre por todos los elementos del vector que contiene la palabra HELLO (cathode_decimal), no se nada de programación disculpe si me cuesta entender.

Eso quiere decir que sobre escribe los elementos del vector en el void loop, sin alterar la versión original, declarada al inicio?

Para armar la H necesitas 8 bytes que encienden los puntos. Se pueden armar x filas o columnas.
Tal como se ve en la animación esta armado por columnas. Eso quiere decir que una H si la presentas completa requiere de 8 bytes, pero esos 8 bytes tiene cada uno 8 bits y cada bit en 1 es un led encendio y un 0 apagado.
Entonces en lugar de mostrar la H de golpe, empiezas con mostrar el palo de la H o solo | o sea los bits del lado izquierdo de la letra H
Esos serán los bits de la posición 0
Luego los bits de la posición 1 que es uno solo al centro y asi... hasta llegar al ultimo byte de la letra O a la derecha.
Imaginalo por puntos. Para dibujar una H necesitas 8 x 8 puntos algunos usas el lapiz y en otros no.
Cuando usas el lapiz es 1 y cuando no 0.
Pero por fila cada 1 forma un número con peso binario. Necistas 8 bytes para formar H.

Podria volver a explicarlo pero sería redundante.
A ver si ahora se comprende.
Es como dijo Lucario un scroll. Un desplazamiento a izquierda de los bytes por columna.

Ya comprendi, muchas gracias por la explicación, lo pondré a la practica ahora mismo.