FTDI Community

Please login or register.

Login with username, password and session length.
Advanced Search  

News:

Welcome to the FTDI Community!

Please read our Welcome Note

Technical Support enquires
please contact the team
@ FTDI Support


New Bridgetek Community is now open

Please note that we have created the Bridgetek Community to discuss all Bridgetek products e.g. EVE, MCU.

Please follow this link and create a new user account to get started.

Bridgetek Community

Author Topic: Timing parameters for EVE modules?  (Read 14938 times)

Rudolph

  • Newbie
  • *
  • Posts: 32
    • View Profile
Timing parameters for EVE modules?
« on: July 05, 2018, 12:56:21 PM »

With the discussions here around the ME813A-WH50C module I just thought it would be a nice touch to add timing parameters for a few of the newer modules to my library.
ME813A-WH50C
ME812A-WH50R
ME810A-HV35R
VM810C50A-D

But there are no timing parameters to be found, not even the ones from the panel datasheets.

BRT_AN_018_FT90x_Camera_to_EVE\eve\EVE_config.h has these:

#if FT8XX_DISPLAY == WVGA
#define EVE_DISP_WIDTH 800 // Active width of LCD display
#define EVE_DISP_HEIGHT 480 // Active height of LCD display
#define EVE_DISP_HCYCLE 928 // Total number of clocks per line
#define EVE_DISP_HOFFSET 88 // Start of active line
#define EVE_DISP_HSYNC0 0 // Start of horizontal sync pulse
#define EVE_DISP_HSYNC1 48 // End of horizontal sync pulse
#define EVE_DISP_VCYCLE 525 // Total number of lines per screen
#define EVE_DISP_VOFFSET 32 // Start of active screen
#define EVE_DISP_VSYNC0 0 // Start of vertical sync pulse
#define EVE_DISP_VSYNC1 3 // End of vertical sync pulse
#define EVE_DISP_PCLK 2 // Pixel Clock
#define EVE_DISP_SWIZZLE 0 // Define RGB output pins
#define EVE_DISP_PCLKPOL 1 // Define active edge of PCLK
#endif // FT81X_WQVGA

But with no reference whatsoever for what module these parameters are supposed to be used.
Are these good for the three 5" modules with 800x480?

What parameters should be used with the ME810A-HV35R then?


Well, if FTDI/BRT would send me a sample ME813A-WH50C and ME810A-HV35R I would gladly tests these for use with my library and put these into my extensive collection of EVE modules. :-)
Logged

FTDI Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 892
    • View Profile
Re: Timing parameters for EVE modules?
« Reply #1 on: July 06, 2018, 01:56:05 PM »

Hi Rudolph,

The VM810C, ME812A and ME813A all use the WVGA settings.

Code: [Select]
//DISPLAY_RESOLUTION_WVGA
    /* Values specific to QVGA LCD display */
    #define DispWidth      800L
    #define DispHeight     480L
    #define DispHCycle     928L
    #define DispHOffset    88L
    #define DispHSync0     0L
    #define DispHSync1     48L
    #define DispVCycle     525L
    #define DispVOffset    32L
    #define DispVSync0     0L
    #define DispVSync1     3L
    #define DispPCLK       2
    #define DispSwizzle    0
    #define DispPCLKPol    1
    #define DispCSpread    0
    #define DispDither     1

The ME810A_HV35R uses the following settings:

Code: [Select]
//DISPLAY_RESOLUTION_HVGA_PORTRAIT
    /* Values specific to HVGA LCD display */
    #define DispWidth      320L
    #define DispHeight     480L
    #define DispHCycle     400L
    #define DispHOffset    40L
    #define DispHSync0     0L
    #define DispHSync1     10L
    #define DispVCycle     500L
    #define DispVOffset    10L
    #define DispVSync0     0L
    #define DispVSync1     5L
    #define DispPCLK       5
    #define DispSwizzle    2
    #define DispPCLKPol    1
    #define DispCSpread    1
    #define DispDither     1

Note that the ME810A-HV35R requires configuration of the ILI9488 inside the LCD panel via the dedicated serial interface on the LCD ribbon cable. You can find an example of this in the file ILI9488.h in our sample apps such as FT_App_Gradient.

Best Regards,
FTDI Community
Logged

Rudolph

  • Newbie
  • *
  • Posts: 32
    • View Profile
Re: Timing parameters for EVE modules?
« Reply #2 on: July 06, 2018, 10:15:14 PM »

The VM810C, ME812A and ME813A all use the WVGA settings.

Thanks, I will add that.

Quote
Note that the ME810A-HV35R requires configuration of the ILI9488 inside the LCD panel via the dedicated serial interface on the LCD ribbon cable. You can find an example of this in the file ILI9488.h in our sample apps such as FT_App_Gradient.

Well, after a look in the datasheet and after checking out ILI9488.c of that example I better give this one a pass.
With no way to test this this is just to weird unique to support. Maybe if someone asks for it.
Logged

jberkhout

  • Newbie
  • *
  • Posts: 41
    • View Profile
Re: Timing parameters for EVE modules?
« Reply #3 on: July 08, 2018, 05:11:35 PM »

Hi Rudolph,

this is what I collected:

Code: [Select]
/* Macros for display panels */

// QVGA 320x240
#define FT_DISPLAY_HSIZE_QVGA_320x240           (320L) // DispWidth  display width
#define FT_DISPLAY_VSIZE_QVGA_320x240           (240L) // DispHeight display height
#define FT_DISPLAY_HCYCLE_QVGA_320x240          (408L) // DispHCycle
#define FT_DISPLAY_HOFFSET_QVGA_320x240         (70L)  // DispHOffset
#define FT_DISPLAY_HSYNC0_QVGA_320x240          (0L)   // DispHSync0
#define FT_DISPLAY_HSYNC1_QVGA_320x240          (10L)  // DispHSync1
#define FT_DISPLAY_VCYCLE_QVGA_320x240          (263L) // DispVCycle
#define FT_DISPLAY_VOFFSET_QVGA_320x240         (13L)  // DispVOffset
#define FT_DISPLAY_VSYNC0_QVGA_320x240          (0L)   // DispVSync0
#define FT_DISPLAY_VSYNC1_QVGA_320x240          (2L)   // DispVSync1
#define FT_DISPLAY_PCLK_QVGA_320x240            (8)    // DispPCLK
#define FT_DISPLAY_SWIZZLE_QVGA_320x240         (2)    // DispSwizzle
#define FT_DISPLAY_PCLKPOL_QVGA_320x240         (0)    // DispPCLKPol
#define FT_DISPLAY_DISPCSPREAD_QVGA_320x240     (1)    // DispCSpread
#define FT_DISPLAY_DISPDITHER_QVGA              (1)    // DispDither

// WQVGA 480x272
#define FT_DISPLAY_HSIZE_WQVGA_480x272          (480L) // DispWidth  display width
#define FT_DISPLAY_VSIZE_WQVGA_480x272          (272L) // DispHeight display height
#define FT_DISPLAY_HCYCLE_WQVGA_480x272         (548L) // DispHCycle
#define FT_DISPLAY_HOFFSET_WQVGA_480x272        (43L)  // DispHOffset
#define FT_DISPLAY_HSYNC0_WQVGA_480x272         (0L)   // DispHSync0
#define FT_DISPLAY_HSYNC1_WQVGA_480x272         (41L)  // DispHSync1
#define FT_DISPLAY_VCYCLE_WQVGA_480x272         (292L) // DispVCycle
#define FT_DISPLAY_VOFFSET_WQVGA_480x272        (12L)  // DispVOffset
#define FT_DISPLAY_VSYNC0_WQVGA_480x272         (0L)   // DispPCLKPol
#define FT_DISPLAY_VSYNC1_WQVGA_480x272         (10L)  // DispVSync1
#define FT_DISPLAY_PCLK_WQVGA_480x272           (5)    // DispPCLK
#define FT_DISPLAY_SWIZZLE_WQVGA_480x272        (0)    // DispSwizzle
#define FT_DISPLAY_PCLKPOL_WQVGA_480x272        (1)    // DispPCLKPol
#define FT_DISPLAY_DISPCSPREAD_WQVGA_480x272    (1)    // DispCSpread
#define FT_DISPLAY_DISPDITHER_WQVGA_480x272     (1)    // DispDither

// HVGA 320x480 Portrait
#define FT_DISPLAY_HSIZE_HVGA_480x320          (320L) // DispWidth  display width
#define FT_DISPLAY_VSIZE_HVGA_480x320          (480L) // DispHeight display height
#define FT_DISPLAY_HCYCLE_HVGA_480x320         (400L) // DispHCycle
#define FT_DISPLAY_HOFFSET_HVGA_480x320        (40L)  // DispHOffset
#define FT_DISPLAY_HSYNC0_HVGA_480x320         (0L)   // DispHSync0
#define FT_DISPLAY_HSYNC1_HVGA_480x320         (10L)  // DispHSync1
#define FT_DISPLAY_VCYCLE_HVGA_480x320         (500L) // DispVCycle
#define FT_DISPLAY_VOFFSET_HVGA_480x320        (10L)  // DispVOffset
#define FT_DISPLAY_VSYNC0_HVGA_480x320         (0L)   // DispPCLKPol
#define FT_DISPLAY_VSYNC1_HVGA_480x320         (5L)   // DispVSync1
#define FT_DISPLAY_PCLK_HVGA_480x320           (4)    // DispPCLK
#define FT_DISPLAY_SWIZZLE_HVGA_480x320        (2)    // DispSwizzle
#define FT_DISPLAY_PCLKPOL_HVGA_480x320        (1)    // DispPCLKPol
#define FT_DISPLAY_DISPCSPREAD_HVGA_480x320    (1)    // DispCSpread
#define FT_DISPLAY_DISPDITHER_HVGA_480x320     (1)    // DispDither

// ME812A-WH50R, ME812AU-WH50R, ME813A_WH50C, ME813AU_WH50C
// WVGA 800x480
#define FT_DISPLAY_HSIZE_WVGA_800x480           (800L) // DispWidth  display width
#define FT_DISPLAY_VSIZE_WVGA_800x480           (480L) // DispHeight display height
#define FT_DISPLAY_HCYCLE_WVGA_800x480          (928L) // DispHCycle
#define FT_DISPLAY_HOFFSET_WVGA_800x480         (88L)  // DispHOffset
#define FT_DISPLAY_HSYNC0_WVGA_800x480          (0L)   // DispHSync0
#define FT_DISPLAY_HSYNC1_WVGA_800x480          (48L)  // DispHSync1
#define FT_DISPLAY_VCYCLE_QVGA_800x480          (525L) // DispVCycle
#define FT_DISPLAY_VOFFSET_WVGA_800x480         (32L)  // DispVOffset
#define FT_DISPLAY_VSYNC0_WVGA_800x480          (0L)   // DispVSync1
#define FT_DISPLAY_VSYNC1_WVGA_800x480          (3L)   // DispVSync1
#define FT_DISPLAY_PCLK_WVGA_800x480            (2)    // DispPCLK
#define FT_DISPLAY_SWIZZLE_WVGA_800x480         (0)    // DispSwizzle
#define FT_DISPLAY_PCLKPOL_WVGA_800x480         (1)    // DispPCLKPol
#define FT_DISPLAY_DISPCSPREAD_WVGA_800x480     (0)    // DispCSpread
#define FT_DISPLAY_DISPDITHER_WVGA_800x480      (1)    // DispDither

Then you could maybe use something like this to select the correct block, depending on the display panel.

Code: [Select]
//#define ME800A_HV35R (1)  // 480x320
//#define ME810A_HV35R (1)  // 480x320
//#define EVE2_43G (1)  // 480x272
//#define ME812A_WH50R (1)  // 800x480
//#define ME812AU_WH50R (1)  // 800x480
#define ME813A_WH50C (1)  // 800x480
//#define ME813AU_WH50C (1)  // 800x480
//#define ME810A_WH70R (1)
//#define ME811A_WH70C (1)

#if defined(EVE2_43G)
#define my_DispWidth    FT_DISPLAY_HSIZE_WQVGA_480x272
#define my_DispHeight   FT_DISPLAY_VSIZE_WQVGA_480x272
#define my_DispHCycle   FT_DISPLAY_HCYCLE_WQVGA_480x272
#define my_DispHOffset  FT_DISPLAY_HOFFSET_WQVGA_480x272
#define my_DispHSync0   FT_DISPLAY_HSYNC0_WQVGA_480x272
#define my_DispHSync1   FT_DISPLAY_HSYNC1_WQVGA_480x272
#define my_DispVCycle   FT_DISPLAY_VCYCLE_WQVGA_480x272
#define my_DispVOffset  FT_DISPLAY_VOFFSET_WQVGA_480x272
#define my_DispVSync0   FT_DISPLAY_VSYNC0_WQVGA_480x272
#define my_DispVSync1   FT_DISPLAY_VSYNC1_WQVGA_480x272
#define my_DispPCLK     FT_DISPLAY_PCLK_WQVGA_480x272
#define my_DispSwizzle  FT_DISPLAY_SWIZZLE_WQVGA_480x272
#define my_DispPCLKPol  FT_DISPLAY_PCLKPOL_WQVGA_480x272
#endif

#if defined(ME800A_HV35R) || defined(ME810A_HV35R)
#define my_DispWidth    FT_DISPLAY_HSIZE_WQVGA_480x272
#define my_DispHeight   FT_DISPLAY_VSIZE_WQVGA_480x272
#define my_DispHCycle   FT_DISPLAY_HCYCLE_WQVGA_480x272
#define my_DispHOffset  FT_DISPLAY_HOFFSET_WQVGA_480x272
#define my_DispHSync0   FT_DISPLAY_HSYNC0_WQVGA_480x272
#define my_DispHSync1   FT_DISPLAY_HSYNC1_WQVGA_480x272
#define my_DispVCycle   FT_DISPLAY_VCYCLE_WQVGA_480x272
#define my_DispVOffset  FT_DISPLAY_VOFFSET_WQVGA_480x272
#define my_DispVSync0   FT_DISPLAY_VSYNC0_WQVGA_480x272
#define my_DispVSync1   FT_DISPLAY_VSYNC1_WQVGA_480x272
#define my_DispPCLK     FT_DISPLAY_PCLK_WQVGA_480x272
#define my_DispSwizzle  FT_DISPLAY_SWIZZLE_WQVGA_480x272
#define my_DispPCLKPol  FT_DISPLAY_PCLKPOL_WQVGA_480x272
#endif

#if defined(ME813A_WH50C) || defined(ME813AU_WH50C) || defined(ME812A_WH50R) || defined(ME812AU_WH50R)
#define my_DispWidth    FT_DISPLAY_HSIZE_WVGA_800x480
#define my_DispHeight   FT_DISPLAY_VSIZE_WVGA_800x480
#define my_DispHCycle   FT_DISPLAY_HCYCLE_WVGA_800x480
#define my_DispHOffset  FT_DISPLAY_HOFFSET_WVGA_800x480
#define my_DispHSync0   FT_DISPLAY_HSYNC0_WVGA_800x480
#define my_DispHSync1   FT_DISPLAY_HSYNC1_WVGA_800x480
#define my_DispVCycle   FT_DISPLAY_VCYCLE_QVGA_800x480
#define my_DispVOffset  FT_DISPLAY_VOFFSET_WVGA_800x480
#define my_DispVSync0   FT_DISPLAY_VSYNC0_WVGA_800x480
#define my_DispVSync1   FT_DISPLAY_VSYNC1_WVGA_800x480
#define my_DispPCLK     FT_DISPLAY_PCLK_WVGA_800x480
#define my_DispSwizzle  FT_DISPLAY_SWIZZLE_WVGA_800x480
#define my_DispPCLKPol  FT_DISPLAY_PCLKPOL_WVGA_800x480
#endif

Hope this helps.

If somebody has more definitions, let us collect them Rudolph's thread.

Kind regards,
Jack.
« Last Edit: July 08, 2018, 05:13:26 PM by jberkhout »
Logged

Rudolph

  • Newbie
  • *
  • Posts: 32
    • View Profile
Re: Timing parameters for EVE modules?
« Reply #4 on: July 11, 2018, 08:01:49 AM »

Thanks, but I already have quite a few timings and tested all these that are in my still growing collection. :-)

https://github.com/RudolphRiedel/FT800-FT813
https://github.com/RudolphRiedel/FT800-FT813/blob/master/FT8_config.h

There are a few more out there but most of these are not obtainable anyways.

4DSystems *seems* to have given up on EVE, at least I found none at their booth on Embedded World this year.
Did not help either that no one at their booth was showing any interest in me.

Glyn has a whole family of modules but they are stricly B2B, you have to ask them for a quote from your company,
you can not just buy these from DigiKey or Mouser.

Riverdi has some that are a lot easier to get at least in Europe, you can buy these from TME for example.
I should add the rest from them as well.

Matrix Orbital has a complete set of modules that can be bought from DigiKey.
These are my favorite ones currently, specifically the "G" types. I have all timings for these.

Newhaven Display also has a complete set of modules that can be bought from DigiKey.
The panels are nice, expecially the premium ones, but the 1.0 mm FPC header make these a no-go for me.

Haoyu has a few inexpensive ones that are sold by Hotmcu.com out of Shenzen.
The panels are not as good, especially the cap-touch version disappointed me but they offer the lowest prices and their
board can be used with a single 5V supply and 5V signals, very much like the modules from FTDI.
In addition these come with a simple bezel mounting frame and some even with an integrated FPC breakout board.
Logged

Rudolph

  • Newbie
  • *
  • Posts: 32
    • View Profile
Re: Timing parameters for EVE modules?
« Reply #5 on: July 15, 2018, 03:33:09 PM »

Among a few other things I just added timings for all the Riverdi modules I had no timings for so far.
Logged