Skip to content

Support for new EVE4x-70G IPS displays from Matrix Orbital #20

@dstulken

Description

@dstulken

Hello! I'm testing out one of the pre-production 7.0" IPS 1024x600 EVE4 displays from Matrix Orbital, but am having a bit of trouble getting it to function correctly with this library.

The symptoms are that an image displays, but the whole screen has an intermittent flicker, sometimes with a position offset, as well as some vertical streaking primarily on the left edge (which appears as horizontal streaking on the top edge in my application, as I'm using rotation 2 for portrait orientation). Touch appears to work OK for buttons, but none of the sliders are functional. After a period of time (a minute or so), the display will go dark until power cycled. If the code execution is interrupted, such as when the microprocessor is being re-programmed, the display (in its frozen state) is visually 100% stable, so it appears as though the glitching only happens while the display is actively being updated.

Being brand new, there wasn't a definition for this display in EVE_config.h, so I requested the timing parameters from Matrix Orbital and created my own. I've never done this before, so I wouldn't be surprised if I made a mistake at this step, or misinterpreted the mapping of the timings for how this library expects them.

The timing values I received from Matrix Orbital:

DWIDTH = 1024;
DHEIGHT = 600;
PIXVOFFSET = 0;
PIXHOFFSET = 0;
HCYCLE = 1259;
HOFFSET = 85;
HSYNC0 = 37;
HSYNC1 = 40;
VCYCLE = 768;
VOFFSET = 16; 
VSYNC0 = 13;
VSYNC1 = 20;
PCLK = 1;
SWIZZLE = 0;
PCLK_POL = 0;
HSIZE = 1024;
VSIZE = 600;
CSPREAD = 0;
DITHER = 1;

And then my resulting configuration:

#if defined (EVE_EVE4_70G_TEST)
#define EVE_HSIZE  (1024L)
#define EVE_VSIZE (600L)

#define EVE_VSYNC0  (13L) 
#define EVE_VSYNC1  (20L)
#define EVE_VOFFSET (16L)
#define EVE_VCYCLE  (768L)
#define EVE_HSYNC0  (37L) 
#define EVE_HSYNC1  (40L) 
#define EVE_HOFFSET (85L)
#define EVE_HCYCLE  (1259L) 
#define EVE_PCLKPOL (0L)
#define EVE_SWIZZLE (0L)
#define EVE_PCLK  (1L)  
#define EVE_CSPREAD (0L)
#define EVE_TOUCH_RZTHRESH (1200L)

//#define EVE_HAS_GT911  /* special treatment required for out-of-spec touch-controller */
#define EVE_HAS_CRYSTAL
#define FT81X_ENABLE
#define BT81X_ENABLE
#endif

As you can probably tell from those defines, I'm still on the 4.x branch from the end of last year. If supporting this display requires an upgrade to the 5.x branch I can do that, I'm just trying to not change too many things at once if I can avoid it.

Thanks in advance for the help!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions