La instrucción PROTO en GD2
PROTO, definida en la linea siguiente:
Code: [Select]
#define PROTO 0
Permite controlar la disposición de la tabla de colores, orientación de pixeles y orientación del panel táctil de las pantallas FT80x. El gameduino 2 tiene una disposición "invertida", respecto al diseño original de FTDI, la razón posiblemente se deba al ángulo de visión de la pantalla del shield gameduino 2.
En la libreria nueva (GD2), esa linea ha sido suprimida, es importante rescatarla, ya que resulta mucho mas fácil manipular el cableado, con la orientación que tiene el gameduino 2, que con la disposición que tiene de fábrica el FT80x.
Hoy es Jueves. empiezo este mensaje con la cita de la pagina numero 3 donde arriba he puesto.
He llevado 3 días de peleas de lo GRANDE. Por esto lo he escrito en mayusculas.
La pantalla FT800CB que tengo, me presentaba inestabilidad, cuelgues he inclusive pantalla negra y la famosa pantalla de la muerte, concretamente esta;
Bueno, he realizado unas 8 u diez shields con diferentes lectores microSD y incluso con los adaptadores de SD y llegó a ser preocupante y recortar cables, cambiar y nada siempre cuelgues, rayas en pantalla y al final se congelaba el Arduino MEGA.
A sido muy frustrante. Use Arduino UNO y llegaba a ser mas estable pero al cabo de 3 minutos el mismo problema... Y ayer (toda la tarde) puse los ejemplos de las librerías oficiales de FTDI y todo correcto. Llegue a pensar que Arduino MEGA no funcionaba bien con la pantalla, pero al principio si recuerdo que era correcto, entonces que pasa?
Como tenía otra pantalla igual, mismo problema y 2 pantallas no pueden hacer lo mismo... O bien que fueran defectuosas las 2, sin embargo como tengo otras 2 FT811 esto no ocurre. Iba por el buen camino. La variable PROTO como bien escibistes es para una definición del hardware y posiblemente como no uso la shield de gameduino esta me da problemas y es mas consultando el esquema de mi pantalla, suerte que el vendedor de la tienda donde lo compré tiene la DataSheet investigue que el pin GPIO0 no se usa y creo que tiene que ver sobre esa variable....
El hardware de mi pantalla adjunto es un breakout y por ello quizás no está todo definido, simplemente por ello su precio y sin duda para usuarios muy avanzados al menos en hardware no me pongo flores, porque aun así ha sido posiblemente en su 90% fruto de la casualidad, ésta a veces funciona.
La conclusión que he llegado, no solo el lector, cables pueden congelar, dejar de funcionar al menos mi pantalla, porque si con librería original funcionaba, entonces era la libraría Gameduino2 y que realice? borrar la linea que pone;
#define PROTO 0
En mi pantalla no es correcto. No digo que como se ha recomendado usarla, pero en mi caso me daba estos problemas. A todo esto ya he subido el código tuyo @TFTLCDCyg y funciona a la perfección. las imágenes se muestran todas, sin ralentizaciones. Y rapidez
A todo esto, con una vieja shield de pantalla de 2.4 LCD, la cual tenía el LCD roto (ya me vino de China así) lo quité, desoldé los IC´s y recupere la microSD integrada en el circuito impreso, he añadido los conectores hembra y la shield, ha quedado de maravilla. A la tarde pongo unas capturas de como me ha quedado.
Añado mas información.
resulta que hay problemas con PROTO desde enlace foro Gameduino donde pongo la cita del sexto mensaje de James;
After from making the SPI hookup - if you change this line:
gd2-lib/GD2.cpp at master · jamesbowman/gd2-lib · GitHub
in the library so that PROTO is 0, and on the next line set STORAGE to 0, then it should work fine with 3rd party FT800 boards like this - apart from not having the SDcard/accelerometer function.
La cuestión es que si se usa la variable hay que desmarcar la opción de STORAGE a 0 es decir, que la pantalla no podrá usar el lector microSD... (Mala suerte)
Bien entonces, hay un dilema; elegir y mi caso es quitar la variable PROTO.
Espero que otros usuarios tengan en cuenta mi comentario para futuros problemas con esta pantalla.
Saludos 
FT800CB_SCH.pdf (46.2 KB)