Librería para TFT con RA8875 para manejo de imágenes [Solucionado]

bueno si consigues la forma de hacer que una librería SD pueda leer archivos decodificados en 16 o 24 bits me avisas que he estuve cerca de dos meses y no encontre nada.
para saber cómo pasa una imagen a una pantalla es bastante interesante para hacer que la mía funcionara lo hice como te dije pero tuve que hacer una libreria para el manejo de mi pantalla lo que necesitas saber es 1 el tipo de interfaz como te mencionaba en mi caso una spi de 4 hilos estos son

mosi
sclk
slave select
data/cmand

si tu pantalla funciona de forma similar estamos en el mismo canal. pues al final lo que hace un microcontrolador es mandar el comando(a través del dato/comando) un valor por SPI a la pantalla que le indica que registros de la memoria RAM de la pantalla se van a escribir "habilitar una ventana" después de eso (en mi código 9 transferencias de SPI 3 comandos los demás datos) y despues solo envía datos que contienen la información osea el valor para cada píxel, en mi caso al ser RGB565 con dos transferencias SPI de 8bits rellenaba un pixel, obvio primero se envian los mas significativos después los menos.

18turbo:
@eduardoSanchez

La TFT la compré preparada para SPI (aunque puede ir por paralelo) porque me interesaba así. Es de 24 bits, y la resolución de 800x480pixels. La SD Card no la he hecho funcionar todavía (me refiero a la que va en la TFT, no sé bien qué pasa, pero eso quizás sea para otro post).

Gracias por la info, muy interesante, aunque de poco me sirve porque en el ejemplo de la librería RA8875 que me funciona, la imagen está de la forma:

void drawArray(const uint32_t * image,uint16_t isize,uint16_t iwidth,uint16_t x,uint16_t y){

uint16_t pixels[iwidth];//container
  uint32_t i,idx;
  for (idx=0;idx<isize/iwidth;idx++){
    for (i = (iwidthidx); i < iwidth(idx+1);i++){
      pixels[i - (iwidth*idx)] = tft.Color24To565(image[i]);
    }
    tft.drawPixels(pixels,iwidth,x,idx+y);
  }
}




Por lo que me interesaba saber **cómo consigo esta codificación** (la que pongo en el primer código), porque a RGB565 no hay problemas.

bien lo que necesitas es codificación RGB888 eso queire decir al parecer(falta verificar con la datasheet del controlador de tu pantalla) que la configuración de color es 8 bit rojo, 8 bit verde, 8 bit azul.
con Octave puedes hacer esto descargar octave instalar modulo Image. y empezar es básicamente mathlab open source. lo único que haces es tratar una imagen como una matriz , si tu imagen BMP ya está codificada en 24 bit lo único que haces es guardar ese valor en un archivo de texto separado con comas y después abrirlo declarar un array de 60x60 y guardarlo en la EEPROM. Exacto solo funcionaria para la de 60x60 y digo quizas por que no se si quepa en la EEPROM de arduino. (hace poco me ayudaron a guardar matrices de 32 bits en la EEPROM de arduino si te interesa te lo paso).
ACLARO LO ANTERIOR SOLO PARA LA DE 60X60 UNA IMAGEN DE PANTALLA COMPLETA NO CABRIA
con el SPI de transferencias de 8 bits que segun yo solo se puede asi en arduino necesitas enviar una componente de color es decir 3 transferencias SPI por pixel.
Todo mi proceso de "destripado" de librerias similares esta en una memoria( la uso para la titulación) si gustas te puedo compartirla como referencia.
Saludos