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: 38
» Latest member: PAVO
» Forum threads: 140
» Forum posts: 407

Full Statistics

Online Users
There is currently 1 user online
» 0 Member(s) | 1 Guest(s)

Latest Threads
lightcalamar
Adding custom fonts

Forum: Codigos
Last Post:  lightcalamar
19-04-2018, 18:23 18
» Replies: 13
» Views: 95
lightcalamar
Install Serial USART3 for...

Forum: Instalación Cores STM32
Last Post:  lightcalamar
16-04-2018, 17:29 52
» Replies: 0
» Views: 15
lightcalamar
EVE Editor designer v1.17

Forum: Herramientas para pantallas
Last Post:  lightcalamar
16-04-2018, 11:29 35
» Replies: 0
» Views: 12
hal2000
Dudas IDE

Forum: IDEs Desarrollo
Last Post:  hal2000
13-04-2018, 15:58 23
» Replies: 6
» Views: 46
hal2000
Presentación.

Forum: Presentaciones y despedias
Last Post:  hal2000
12-04-2018, 11:28 22
» Replies: 6
» Views: 39

 
  Repositorio libreria GD2UB e instrucciones instalación
Posted by:  RndMnkIII - 14-09-2017, 21:33 30 - Forum: GD2UB - Replies (38)

A partir de ahora este es el repositorio oficial en github para descargar
la libreria GD2UB:

https://github.com/FT81xMania/GD2UB

Instalación:

1. Bajar archivo zip del repositorio pulsando en el botón que se muestra en la imagen:
?mage

2. Descomprimir el archivo bajado GD2UB-master.zip en la carpeta donde se encuentra la carpetas libs del core stm32generic y renombrar la carpeta resultante de GD2UB-master a GD2UB:

?mage

3. Cerrar y reiniciar el IDE Arduino si estuviese abierto y  abrir un ejemplo navegando por el menú:
   Archivo > Ejemplos > Examples for BLACK F407VE/... Boards > GD2UB > 1. Basics > helloworld
   ?mage
Para consultar como instalar el  core STM32GENERIC consultar este artículo del foro: https://ft81xmania.com/comunidad/Tema-In...IC-Windows
Saludos!

Print this item

  Showroom: lo que nos viene
Posted by:  TFTLCDCyg - 14-09-2017, 20:20 21 - Forum: La cantina, el Bar o el Pub - Replies (4)

Muestren esos componentes que están por llegar o aquellos que les gustaría tener en sus proyectos. Así nos damos idea de lo que cada usuario está maquinando en sus ratos libres

Cerca de casa las tiendas de electrónica son bastante limitadas y muchas veces no saben ni de qué les hablas... para muestra un blister con 80 zócalos 40-pin header hembra:

?mage

Tardó 1 mes en llegar, pero valió la espera.

Print this item

  Versión beta de GD2UB
Posted by:  TFTLCDCyg - 14-09-2017, 12:33 22 - Forum: GD2UB - Replies (1)

Esta es la versión beta de la librería GD2UB. Hay que mejorar la estructura de los ejemplos.

PD: algunos ajustes extra en GD2UB.h, estan en version de pruebas



Attached Files
.zip   GD2UB.zip (Size: 98.44 KB / Downloads: 5)
Print this item

  Introducción
Posted by:  RndMnkIII - 14-09-2017, 02:23 03 - Forum: Programación graficos por computadora - No Replies

Bienvenidos a esta serie de artículos que he iniciado a modo de introducción a los gráficos diseñados por computadora. Voy a adoptar un enfoque práctico utilizando para ello las pantallas FT81x con microcontroladores STM32. En sucesivas entregas iré explicando ciertos conceptos clave en los gráficos diseñados por computadora junto con ejemplos con código arduino para el core STM32GENERIC y la librería GD2UB (Port de la GD2 a las plataforma STM32). Además se irán añadiendo librerías de código en C/C++ de cosecha propia o de terceros para dar soporte a los ejemplos.
Como requisitos exigidos, tener cierto dominio de la programación en C (saber manejar arrays, punteros y estructuras de datos) y conocimientos matemáticos de trigonometría básica principalmente, siendo recomendable manejar conceptos del algebra matricial (vectores, matrices,  producto vectorial,...)  que ya veréis que no es muy complicado.
Empezare por describir un poco las famosas pantallas con chip FT81x. Se trata de una familia de chips basados en el EVE2 del fabricante FTDI. Se trata de un controlador gráfico que incluye el controlador gráfico de una pantalla LCD TFT, controlador táctil resistivo o capacitativo (según la versión) y reproducción de audio digital de un sólo canal y un sintetizar de audio para sonidos básicos, todo ello controlado a través de una interfaz SPI. Además incluye 1Mbyte de memoria RAM para almacenar recursos gráficos y datos de audio, como se puede ver a continuación en el gráfico.

[Image: FT81XBlockDiagram.png]
Esquema general chip FT81X

Lo novedoso de este chip gráfico y lo que lo diferencia del resto es que en vez de dibujar explícitamente los pixeles de la pantalla para dibujar un circulo o texto es que incluye una serie de comandos para hacer esto y más cosas. Básicamente para dibujar una pantalla, enviamos una lista de comandos por SPI al chip FT81x y este se encarga de dibujar la pantalla de acuerdo con lo especificado en dicha lista. Además esto no consume parte de la memoria gráfica ya que dispone de un área de memoria (RAM_DL) específica para comandos de 32bits de 8Kbytes que permite almacenar hasta 2048 comandos. Para que os hagáis una idea el chip gráfico procesa esta lista por cada linea que dibuja de la pantalla (480 lineas) y en la mayoría de los casos manteniendo una tasa de refresco de pantalla de 60 ciclos. Otro dato digno de mención es el soporte hardware para la descompresión de imagenes jpg in situ, esto quiere decir básicamente que puedes cargar los datos de una imagen jpg sin descomprimir en la memoria gráfica y el archivo lo descomprime sobre la marcha en el momento de dibujarlo sin requerir memoria adicional para descomprimirlo (si el jpg comprimido ocupa 64Kbytes por ejemplo, esa es la cantidad de memoria gráfica que vas a necesitar para almacenarlo).
En teoría tiene función para reproducir videos AVI que utilicen el codec Motion JPEG, aunque con un pequeño truco podemos emular esta funcionalidad usando unicamente archivos jpg sueltos a modo de fotogramas. Estos chips gráficos admiten interfaces quad/spi (spi con 4 lineas de datos) que permite aumentar la tasa de transferencia de datos entre chip gráfico y microcontrolador, aunque en la práctica requiere soporte hardware tanto de la pantalla como del microcontrolador, por lo que lo normal es usar el spi usual (Clk,Mosi,Miso,Cs).

También se pueden realizar mediante hardware operaciones de escalado y rotación de los bitmaps que se carguen en la memoria gráfica.
Las coordenadas de pantalla tienen su origen en la esquina superior izquierda y admiten valores enteros de pixel o fraccionales con una precisión de 1/8 de pixel ya que admite dibujado de primitivas con antialiasing. Para esto ultimo usa valores decimales de precisión fija por lo que es necewario multiplicar por 16
para obtener el valor de pixel deseado (ver gráfico). La resolución de pantalla normalmente será de 800x480 pixeles (el área visible).

?mage
Coordenadas utilizando valores enteros de pixel

?mage
Coordenadas utilizando valores fraccionales  de 1/8 de pixel

El comando más basico de dibujo es el  punto. Permite utilizar dos comandos diferentes:
  •  GD.Vertexii(x, y)  que utiliza valores enteros de pixel, siendo x e y las coordenadas horizontal y vertical respectivamente.
  • GD.Vertex2f(x * 16, y * 16)  que utiliza valores fraccional de 1/8 de pixel, siendo x e y las coordenadas horizontal y vertical respectivamente.
Antes de dibujar nada es preciso indicar que se va a borrar la pantalla con el comando GD.Clear() y, después  indicar que se va a proceder a dibujar primitivas de tipo punto con GD.Begin(POINTS), a continuación se dibujan los puntos con GD.Vertex2ii ó GD.Vertex2f y finalmente  indicar al chip que actualice la lista de comandos a dibujar con GD.swap().

Os pongo un pequeño sketch Arduino de ejemplo para dibujar varios puntos:
Code:
//Incluimos la librería que maneja el chip FT81X, descargar de aquí:
// https://github.com/FT81xMania/GD2UB
#include <GD2UB.h>

void setup()
{
 GD.begin(); //Inicializamos el controlador grafico
}

void loop()
{
 GD.Clear(); //borramos la pantalla
 GD.Begin(POINTS); //indicamos que a continuacion vamos a dibujar coordenas de puntos
 GD.Vertex2ii(220, 100); //Dibuja un punto con coordenadas enteras en posición x=220, y=100
 GD.Vertex2f(260.5 * 16, 170.125 * 16); //Dibuja otro punto con coordenadas fraccionales x=260.5, y=170.125 
 GD.swap(); //se activa la lista de comandos para dibujarlos en la pantalla
}

Print this item

  Librería para Brújula HMC5883L (GY-273)
Posted by:  TFTLCDCyg - 13-09-2017, 21:11 50 - Forum: Librerías compatibles con STM32F - No Replies

El magnetómetro GY-273 o HMC5883L, puede ser conectado a nuestras placas STM32 mediante i2C. Nos permite diseñar brújulas digitales en nuestros proyectos.

La dirección del dispositivo es 0x1e

?mage

Librerías

Adafruit_Sensor
Adafruit_HMC5883_U

Se pueden emplear sin modificación alguna en el core genérico de danieleff. Solo hay que tomar en cuenta el GPIO para i2C y para el bus SPI que estemos usando para la carga de imágenes desde el lector externo.

Conexionado
Alimentación de dispositivos: 3V3, GND
Bus SPI para TFT:                SPI1  (PA4-CS, PA5-SCK, PA6-MISO, PA7-MOSI)
Bus SPI2 para lector SD:       SPI3 (PA15-CS, PB3-SCK, PB4-MISO, PB5-MOSI)
Bus i2C1 para GY-273:          i2C1 (SCL-PB6, SDA-PB9)
Leds de la placa:                   (LED1-PG14, LED2-PG13)

Adjunto: ejemplo para placa STM32F429ZI-DISCO con FT81X

?mage



Attached Files
.zip   STM32_Compass_F429.zip (Size: 85.13 KB / Downloads: 1)
Print this item