Bienvenido a los foros de FT81x Manía. Te invitamos a regístrate totalmente gratis. Disfruta de tu experiencia con un grandes amigos y Staff.

Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 57
» Latest member: outpulse
» Forum threads: 151
» Forum posts: 506

Full Statistics

Online Users
There are currently 2 online users.
» 0 Member(s) | 2 Guest(s)

Latest Threads
TFTLCDCyg
Presentacion

Forum: Presentaciones y despedias
Last Post:  TFTLCDCyg
14-07-2018, 09:10 21
» Replies: 5
» Views: 61
ddwasil
Consejos para aprender a ...

Forum: Library GD23ZU
Last Post:  ddwasil
12-07-2018, 05:17 08
» Replies: 1
» Views: 21
lightcalamar
Variante STM32F746IG para...

Forum: Instalación Cores STM32
Last Post:  lightcalamar
04-07-2018, 10:14 39
» Replies: 42
» Views: 720
lightcalamar
FT812 and what ;)

Forum: Hardware
Last Post:  lightcalamar
01-07-2018, 13:33 55
» Replies: 22
» Views: 208
juanj
Buenas!

Forum: Presentaciones y despedias
Last Post:  juanj
23-06-2018, 22:01 58
» Replies: 4
» Views: 34

 
  Consejos para aprender a usar la librería en el IDE arduino
Posted by:  TFTLCDCyg - 10-07-2018, 01:25 49 - Forum: Library GD23ZU - Replies (1)

El presente tema tiene la finalidad de que aportemos nuestros conocimientos de programación, ideas, atajos y en general cada granito de arena que nos permita ir mejorando los proyectos personales. La idea es que todos conozcamos mejor la librería y podamos sacarle el mejor partido.

Para mantener un orden o referencia básica debemos asignar un título a la herramienta conjunto de atajos que posteemos, así tendremos la posibilidad de que la búsqueda futura sea más sencilla.

Separación de un sketch en pestañas

Ejemplo que usaremos para demostrar el funcionamiento de esta técnica de optimización de código.

Code:
#include <GD23ZU.h>
//#include <GDCore7XXI.h>

void setup(){
 GD.begin(GD_STORAGE);
 MP();
}
void loop(){}

void MP(){
int ActivaCortina, DespXMP=(GD.w/2)-(480/2);  
int SaliraMP, DespX=-350;      
int VelDespX=0;
int movx, velocidadx;
 
 GD.cmd_loadimage(0, 0);
 GD.load("tree.jpg");
 
 while(1)
 {
  GD.ClearColorRGB(0x000055);
  GD.Clear();
  GD.get_inputs();

  GD.SaveContext();
    GD.Begin(BITMAPS);
    GD.Vertex2f(DespXMP*16, ((GD.h/2)-(272/2))*16);
   if(ActivaCortina==1){VelDespX=10; DespXMP=DespXMP-VelDespX; if(DespXMP<=-480){VelDespX=0; DespXMP=-480;}}
   if(ActivaCortina==2){VelDespX=10; DespXMP=DespXMP+VelDespX; if(DespXMP>=(GD.w/2)-(480/2)){VelDespX=0; DespXMP=(GD.w/2)-(480/2);}}
  GD.RestoreContext();

  GD.Tag(1); GD.cmd_fgcolor(0x005000);  
   GD.cmd_button((GD.w/2)-80, (GD.h/2)-20, 120, 80, 31, 0,"Test");  
  GD.Tag(255);

  if (GD.inputs.tag==1)
  {
   delay(125);
    ActivaCortina=ActivaCortina+1;
    if(ActivaCortina>=3){ActivaCortina=1;}
  }

  GD.cmd_number(100, 375, 28, OPT_SIGNED|OPT_RIGHTX, DespXMP);
  GD.cmd_number(100, 375+35, 28, OPT_SIGNED|OPT_RIGHTX, ActivaCortina);
  GD.swap();
 }  
}

En el IDE de arduino podemos programar todo nuestro proyecto en un solo archivo ino. Muchas veces las tareas son simples y apenas si requieren de una o dos funciones. A medida que incrementamos el hardware en nuestros arreglos, la secuencia de programación se va tornando mas y mas densa, hasta el punto que perdemos de vista las rutinas individuales de cada elemento que queremos controlar.

Afortunadamente contamos con un elemento de programación muy poco descrito en foros e incluso muy poco usado: el manejo de pestañas dentro de un sketch

Para agregar una pestaña a nuestro sketch hay que desplegar el menú secundario ubicado en la parte superior derecha del IDE

?mage

Asignamos un nombre a la pestaña, es recomendable asignar algún título que nos dé idea de que parte del código queremos administrar. En el ejemplo, aislaremos la carga de imágenes de fondo en una pestaña

?mage

Al dar click en el botón OK, se creará una nueva ventana en nuestro sketch. 
?mage

Cabe señalar que hasta que no guardemos el sketch la pestaña no se agregara al programa principal, así que hay que tener cuidado de guardar el sketch principal para no perder los ajustes. Al guardar el sketch, en la carpeta se creará un archivo ino con el nombre de la pestaña, además de que la pestaña será visible en el listado principal de elementos del sketch
?mage

?mage

En este punto ya podemos comenzar con la reducción de código. Retiraremos del ino principal las instrucciones que permiten la carga de imágenes en la GRAM de la pantalla. 

?mage

?mage

Incluso podemos aprovechar para colocar el setup en su pestaña:

?mage

Si tratamos de compilar el sketch o intentamos subirlo a nuestro MCU solo obtendremos errores saltando como conejos por todos lados. El problema es que estamos llamando instrucciones que se usan dentro de funciones y no pueden operar fuera de ellas.

?mage

La solución es la clave del manejo eficiente de pestañas: crear funciones independientes en cada pestaña que agreguemos a nuestro sketch. El archivo ino maestro será aquel que tenga las cabeceras de llamado de librerías, los demás archivos ino sólo contendrán una parte específica del código. Recordemos que todos los archivos ino dentro de la carpeta del programa, cumplen una función, así que debemos tener cuidado en no borrar alguno de ellos por descuido.

Para quitar el reporte de errores al compilar y cargar el sketch, creamos una función para las instrucciones que hemos aislado para la carga de imágenes en la GRAM

?mage

Solo resta agregar el llamado de la función en la zona en la que retiramos las instrucciones de carga de imágenes, guardamos los cambios y subimos el programa al MCU:

?mage

Con esta técnica podemos optimizar el código de tal forma que revisiones o mejoras futuras no implicarán afectar zonas que no queremos cambiar. No siempre podremos reducir el número de líneas de código pero separaremos el sketch en sectores más cortos de fácil manejo

Print this item

  Presentacion
Posted by:  ddwasil - 04-07-2018, 22:39 37 - Forum: Presentaciones y despedias - Replies (5)

Buenas , Mi nombre es Damian Soy de Argentina .
         Me desarrollo en el area industrial hace muchos años,Principalmente en la programacion de PLC ,servos,inverters,SCADAS, etc.
hace un poco mas de un año empece a meterme en el mundo de los microcontroladores y las HMI TFT .
Empece con un Arduino y un TFT ILI9488.
Logre hacer esto.
 https://www.youtube.com/channel/UCKlt3NY...subscriber

Para una persona que nunca se llevo con el lenguaje C /C++ creo que bastante .Tiene imagenes ,uso de aprom ,uso de Sd ,datalloger,multiples paginas,password,guagues etc.


Poco tiempo después por cuestiones personales deje de trabajar con estos equipos y hoy quiero retomar el trabajo .
Estoy convencido de que las TFT ILI son  de mala calidad y muy lentas al momento de cargar imagenes.

Mi idea era retomar este trabajo con las HMI nextion pero segun TFTLCD ( quien me dio muchas manos ) me recomienda conseguir una FT81X.

Asi que me puse a ver algunos hilos del foro de Arduino y llegue a este foro.

El problema es que me puse a leer y me asuste .ya que nombran muchos modelos de placas,librerias, shiel,micros,hmis etc.
quisiera saber si hay algun hilo que explique paso a paso como empezar con estas pantallas y librerías. Datallando diferencia entre por ejemplo 
*GD2 y GD3,EVE,FTDI.
*tenesy3.6 y arduino due.
*Hot MCU y riverdi.

se que es muy de inexperto pero lei bastante en el foro y cada vez me daba cuenta que conocía menos.Creo que si pude hacer funcionar la ILI (sin conocimientos de C++) estas debo poder manejarlas .Pero me asuste  
 
Pero se necesita ver programas básicos ,paso a paso ,Botones ,medidores guages,maneras de encarar el programa etc.



Seguramente ya tengan un hilo con esto pero no lo encuentro
gracias

Print this item

  Buenas!
Posted by:  juanj - 23-06-2018, 11:26 31 - Forum: Presentaciones y despedias - Replies (4)

Hola, me llamo Juan. Primero que nada los felicito por esta iniciativa. Conocí las ft por medio de ustedes en el foro de arduino y ahora estoy por aquí. Saludos ;-)

Print this item

  FT812 and what ;)
Posted by:  sirwiz - 20-06-2018, 11:17 40 - Forum: Hardware - Replies (22)

First hi,

i made projekt which need to play also simple few seconds video files (maybe one longer up to 30-60s) mjpeg on 7" 800x480 ft812 display.

I try it on ESP32 but SPI on card reader need read card and send to lcd, so it plays video but very slow, even if i put spi higher bus speed. I wonder why esp8622 can play and faster esp32 cannot, can you figure it out?

Then i switch to orange pi, but i cannot even start ft812 to work.

But i left esp32 project (still thinking about connecting two esp32 or esp32 and esp8622).

Now i thinking about using st32f7, so your library works on Nucleo STM32F767x, but what about STM32F769 (its probly the same as 767 but with MISP DSI), and i wonder if someone test it on STM32F769I-DISC1.

Or what device to prototype you recomend, DISC1, have few things that i need as sdram, flash, ethernet, and sdreader.

I saw that thru library i can only plat 790x470, but what about bitrate, it doesnt metter?


Thanks,

Sirwiz.

Print this item

  Oficial Video Playback FT81xmania.com
Posted by:  lightcalamar - 14-06-2018, 19:01 39 - Forum: Library GD23ZU - No Replies

Hello all.

The Oficial playback video for test with library GD23ZU

Donwload file .avi

Just upload this code

Code:
#include <GD23ZU.h>

void setup()
{
 GD.begin(GD_STORAGE);
}

void loop()
{
 MoviePlayer mp;
 mp.begin("oficial.avi");
 mp.play();
}


Enjoy  Wink

P.S. Thanks @ hal2000

Print this item