New library for LCD FT8XX STM32

Discussions about the STM32generic core
User avatar
lightcalamar
Posts: 33
Joined: Tue Mar 28, 2017 3:15 pm

New library for LCD FT8XX STM32

Post by lightcalamar » Fri Jun 23, 2017 3:53 pm

Hi.
My friend @TFTLCDCyg, and I we have modified library based James Bowman

Library GD23STM32 for STM32F103x

To work well FT81X screens of FTDI EVE :D
Lack of fine tune this library. Run, believe with all STM32 boards, test in series F103ZET6 and F103FC8T6

Image

Show a video screen 5 inches FT800 (480x272px);
https://www.youtube.com/watch?v=JROL8ReRy3Q

Show a video screen 5 inches FT810 (800x480px);
https://www.youtube.com/watch?v=b0LLHY_8Zww

You can see documentation book on library in this link this link

This screens to buy on http://www.hotmcu.com/

We also operate in other MCU 's; Teensy, Arduino and now playing in STM32. The library is very easy for codes, multiple widgets, color, text, buttons, sliders etc. Only missing SD reader for assets and images.

For example another video with gauge transformed code from the original FTDI library;

https://www.youtube.com/watch?v=ckye3X-xI2w

Spectrum based on assets for audio;

Image

A few days go up library for everyone to enjoy. Regards!
Last edited by lightcalamar on Wed Jul 26, 2017 10:24 pm, edited 1 time in total.

User avatar
lightcalamar
Posts: 33
Joined: Tue Mar 28, 2017 3:15 pm

Re: New library for LCD FT8XX STM32

Post by lightcalamar » Sat Jun 24, 2017 11:08 pm

New.

This library to have small problem with registers of FT810Q chip. FT800 screen not problem. Only FT81x.
Solve incidence today.

Show new video demonstrate work perfect;

https://www.youtube.com/watch?v=YEgvkpNQOjA

Long time to realize these small plates with FTDI EVE :D

Nutsy
Posts: 240
Joined: Sun Jul 24, 2016 4:26 pm

Re: New library for LCD FT8XX STM32

Post by Nutsy » Tue Jun 27, 2017 11:31 am

Just so i understand this is the GameDuino library ported to stm32?

Im trying to build my display design in EVE Screen Designer 3, base FT81* HAL stuff...

How hard would it be to port this to stm32? I assume the Hal is Arduino based?

I have no real issues with Gameduino it looks great and far more user friendly than ftdis base stuff... But... It does lack a dedicated UI builder.

Im trying to build a complex UI with graphic assets. Its far too much to try and code placements directly.
While I get Gameduino is mainly built to make programming simple games easy and fun, I think it really needs a UI designer...

User avatar
lightcalamar
Posts: 33
Joined: Tue Mar 28, 2017 3:15 pm

Re: New library for LCD FT8XX STM32

Post by lightcalamar » Tue Jun 27, 2017 3:11 pm

lightcalamar wrote:
Fri Jun 23, 2017 3:53 pm
A few days go up library for everyone to enjoy. Regards!
Exact, screen FTDI' s have 3 solution; FT800, FT81x and new generation FT900. This library for STM32 only work on FT800 and FT81x. For example Riverdi 7 inch screens based TFT FT813 chip. You can have UI graphical For design and export to GD2 library.

This example of the video previous;

Code: Select all

//prog_uchar         IDE version anterior, generada por EVE editor  V1.17
//unsigned char     IDE nuevas versiones
//http://forum.arduino.cc/index.php?topic=261093.0

#include <SPI.h>
#include <GD23STM32.h>

#define RAM_STM32A 0
// #define PDNPin   PB1       // Señal P.O.R. TFT FT800

static const  prog_uchar STM32a[] PROGMEM = {
  #include "STM32a.h"
};

#include "color.h"
int minX = 135, minY = 15;
//int maxX = 480 - minX, maxY = 272 - minY;  //FT80X
int maxX = 800 - minX, maxY = 480 - minY;    //FT81X

int startX = maxX / 2, startY = maxY / 2;
int deltaX = 2, deltaY = 2;
 
void setup() {
 
   GD.begin(); 
//   GD.cmd_calibrate();
   EntornoMP();
}

void EntornoMP()
{
  GD.cmd_inflate(RAM_STM32A);
  GD.copy(STM32a, sizeof(STM32a));
  GD.BitmapHandle(0);
  GD.BitmapSource(0);
  GD.BitmapLayout(ARGB1555, 960, 175);
  GD.BitmapSize(NEAREST, BORDER, BORDER, 480, 175);
  }

void loop()
{
 
 GD.ClearColorRGB(0, 0, 0);
 GD.Clear();

  GD.SaveContext();
  GD.Begin(BITMAPS);
  GD.Vertex2ii(200, 120, 0, 0);
  GD.RestoreContext();

  GD.Begin(BITMAPS);
  GD.Begin(LINES);
  GD.SaveContext();
  GD.Vertex2ii(0, 70, 20, 0);         // DOS LINEAS DEBAJO DEL MENU SUPERIOR
  GD.Vertex2ii(480, 70, 20, 0);
  GD.VertexTranslateX(16*320); GD.Vertex2ii(480, 70, 20, 0);
  GD.VertexTranslateX(16*320); GD.Vertex2ii(0, 70, 20, 0);
  GD.RestoreContext();

      
  GD.SaveContext();
  GD.Vertex2ii(0, 65, 20, 0);
  GD.Vertex2ii(480, 65, 20, 0);
  GD.VertexTranslateX(16*320); GD.Vertex2ii(480, 65, 20, 0);
  GD.VertexTranslateX(16*320); GD.Vertex2ii(0, 65, 20, 0);
  GD.RestoreContext();

  
  GD.SaveContext();
  GD.Vertex2ii(0, 478, 20, 0);        // LINEA INFERIOR DE LA PANTALLA
  GD.Vertex2ii(478, 478, 20, 0);
  GD.VertexTranslateX(16*320); GD.Vertex2ii(0, 478, 20, 0);
  GD.VertexTranslateX(16*320); GD.Vertex2ii(478, 478, 20, 0);     
  GD.RestoreContext();

  
  GD.SaveContext();
  GD.Vertex2ii(0, 480, 20, 0);        // LINEA LATERAL IZQUIERDA
  GD.Vertex2ii(0, 65, 20, 0);
  GD.RestoreContext();
      
                                                // LINEA LATERAL DERECHA
  GD.SaveContext();
  GD.VertexTranslateX(16*318); GD.Vertex2ii(480, 65, 20, 0);     
  GD.VertexTranslateX(8*636);  GD.Vertex2ii(480, 480, 20, 0);                    
  GD.RestoreContext();      
       
  GD.End();

  GD.cmd_fgcolor(VERDEOS);   
  GD.ColorRGB(WHITE);

  GD.cmd_romfont(1, 32);
  GD.cmd_button(0, 0, 800, 62, 1, 0, "Multi Data Center");

  GD.cmd_fgcolor(CHERRY); 
  GD.ColorRGB(YELLOW); 
  GD.cmd_button(30, 100, 210, 75, 31, 0, "BUS I2C"); 

  GD.ColorRGB(WHITE);
  GD.cmd_gauge(120, 380, 90, OPT_NOBACK, 4, 8, 7, 12);

 
 
// GD.ColorRGB(0x00,0xff,0x00);  GD.cmd_text(startX, startY, 31, OPT_CENTER, "FT81X on line");

 
 GD.ColorRGB(0x00,0xf8,0x00);  GD.cmd_text(startX, startY, 31, OPT_CENTER, "STM32F103C8T6");
 
 startX = startX + deltaX;   startY = startY + deltaY;
   if (startX >= maxX)
       deltaX = -deltaX;
   if (startX <= minX)
       deltaX = abs(deltaX);
   if (startY >= maxY)
       deltaY = -deltaY;
   if (startY <= minY)
       deltaY = abs(deltaY);
       
    GD.SaveContext();
    GD.ColorRGB(0xfff800); 
 GD.cmd_text(610,  450, 24, OPT_CENTER, "@TFTLCDCyg & lightcalamar"); 

 GD.swap();
}
The EVE Screen Designer 3 is for EVE2 FT900 inteface UI, for previous UI FT8xx use this release 1.17 (more stable) FTDI+EVE+Screen+Editor+V1.17.zip this UI export code real to Arduino or case STM32 Also be able to convert images sources etc.

To be finishing some small adjustments and soon to be library. Finally you will find more information in the forum Arduino an interesting thread, but be Spanish Link

michael_l
Posts: 337
Joined: Mon Aug 24, 2015 6:11 pm

Re: New library for LCD FT8XX STM32

Post by michael_l » Tue Jun 27, 2017 7:51 pm

Looks quite nice ! How much FPS can FT8xx displays achieve with STM32F103C8 ? And communications is done via SPI ?

davey
Posts: 28
Joined: Sat Jun 17, 2017 8:49 pm

Re: New library for LCD FT8XX STM32

Post by davey » Wed Jun 28, 2017 3:35 am

Is there a reason you don't reccomend EVE Screen Designer 2 for FT8xx? Thanks!
lightcalamar wrote:
Fri Jun 23, 2017 3:53 pm

The EVE Screen Designer 3 is for EVE2 FT900 inteface UI, for previous UI FT8xx use this release 1.17 (more stable) FTDI+EVE+Screen+Editor+V1.17.zip this UI export code real to Arduino or case STM32 Also be able to convert images sources etc.

davey
Posts: 28
Joined: Sat Jun 17, 2017 8:49 pm

Re: New library for LCD FT8XX STM32

Post by davey » Wed Jun 28, 2017 4:05 am

Are we talking GameDuino or GameDuino 2? I don't think the GameDuino is related. It's not clear how the GameDuino2 fits in the pic. It sounds like just an FT800 board and I'd guess you could use this library in place of the GameDuino2 library.

EVE Screen Designer 3 does not support the FT800 so you'd have to use a previous version.

If you want something that's simpler than FTDI/EVE you could check out the Nextion displays.
Nutsy wrote:
Tue Jun 27, 2017 11:31 am
Just so i understand this is the GameDuino library ported to stm32?

Im trying to build my display design in EVE Screen Designer 3, base FT81* HAL stuff...

How hard would it be to port this to stm32? I assume the Hal is Arduino based?

I have no real issues with Gameduino it looks great and far more user friendly than ftdis base stuff... But... It does lack a dedicated UI builder.

Im trying to build a complex UI with graphic assets. Its far too much to try and code placements directly.
While I get Gameduino is mainly built to make programming simple games easy and fun, I think it really needs a UI designer...

User avatar
lightcalamar
Posts: 33
Joined: Tue Mar 28, 2017 3:15 pm

Re: New library for LCD FT8XX STM32

Post by lightcalamar » Wed Jun 28, 2017 8:21 am

I write at first, library run with FT8xx, work STM32duino core series today F103xxxx, FT900 and its Editor Designator 3 be another world.
michael_l wrote:
Tue Jun 27, 2017 7:51 pm
Looks quite nice ! How much FPS can FT8xx displays achieve with STM32F103C8 ? And communications is done via SPI ?
Yes, via SPI communications. See;
Image

More documentation on PDF; http://www.ftdichip.com/Support/Documen ... _FT81x.pdf

Nutsy
Posts: 240
Joined: Sun Jul 24, 2016 4:26 pm

Re: New library for LCD FT8XX STM32

Post by Nutsy » Wed Jun 28, 2017 3:04 pm

According to FTDIs website, ESD3 does support FT81* Ive yet to see tbh...

With ESE1(or 2) can i build custom widgets? Like With ESD3?

User avatar
lightcalamar
Posts: 33
Joined: Tue Mar 28, 2017 3:15 pm

Re: New library for LCD FT8XX STM32

Post by lightcalamar » Wed Jun 28, 2017 11:36 pm

Hi

Other video comparison different MCU.
Case Teensy 3.6 @240MHz on video to left, to right STM32F103ZET6 @72MHz.

Me and my friends we do more tests on this NEW library.
This being the test of today ;

https://www.youtube.com/watch?v=r9N1l_w ... e=youtu.be

Post Reply