Librería gameduino 2 modificada para pantallas FT81X

Desde hace algunos meses GD3 estaba dejando olvidadas a placas como el arduino UNO o el arduino NANO.

El tema volvió a la mesa gracias a algunas pruebas que está haciendo lightcalamar. El hecho de que la librería use casi toda la memoria, solo por la inclusión de un par de imágenes en la calibración o en el pantallazo de error, no me parece justo.

Al principio optamos por tener GD2 y GD3 por separado. Esa situación fue resultado de una falta de conocimiento personal de la modificación de la librería. Con el paso del tiempo y con muchas pruebas e infinidad de errores, hoy por fin tenemos una librería que puede usarse para FT81X como para FT80X, con tan solo manipular algunos "#defines" en el archivo GD23L.h

Librería GD23L

La versión es lo mas ligera posible. Funciona tanto para placas teensy 3.X como arduino UNO, Due, MEGA o NANO. Las pruebas se realizaron en el IDE 1.80.

Link: GD23L

#define CS               10 //10 Riverdi-shield   8  gameduino2
#define SD_PIN            5 // 5 Riverdi-shield   9  gameduino2

#define TFT_FT81X_ENABLE  1   //            FT81x
#define ORIENTACION       0   //0, 1, 2, 3, FT81X 

#define PROTO             0   //0 FT80x alternatives, 1 gameduino2
#define ROTACION          0   //0,  1       FT80x

Cuando establecemos:

TFT_FT81X_ENABLE   1

Los parámetros de frecuencia y de configuración de las pantallas FT81X, se seleccionan de forma automática

Esta linea:

#define ORIENTACION       0   //0, 1, 2, 3, FT81X

Permite establecer la orientación que deseamos en la pantalla

PROTO y ROTACION solo funcionan cuando:

TFT_FT81X_ENABLE   0

Esto permite establecer que la pantalla que está conectada al MCU, es una pantalla de la familia FT80X. Nuevamente los parámetros de frecuencia, orientación y manejo de colores (instrucción PROTO) se establecen de forma automática, sin interaccionar con los parámetros de la familia FT81X.

Hay pocos ejemplos, no obstante se pueden usar los que hemos tratado a lo largo del post para GD2 o GD3; siempre y cuando no superen el espacio de memoria de programación. En una subsecuente revisión trataré de incluir algunos más e insertaré la función para imprimir números decimales.

Ésta versión inicial solo cuenta con los ajustes para FT813, trataré de incluir los correspondientes a FT810, FT811 y FT812.

Resta obtener la versión para SDIO (Teensy 3.5/3.6). No prometo una versión con imágenes en la calibración o en el pantallazo de error; pero, intentaré ver que tanto se incrementa el uso de memoria de programación.

PD: por cierto faltan los parámetros de configuración para las pantallas de HotMCU.