-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for new EVE4x-70G IPS displays from Matrix Orbital #20
Comments
Unfortunately Matrix Orbital has not released any documents so far with parameters and the EVE4x displays are not sold by distributors so I can not buy one of these yet. That said, I find the parameters you received for the EVE4x-70G a bit odd. A configuration based on the timing values given for the 5.x branch could be this: #if defined (EVE_EVE4_70G) So pretty much the same. I believe I have seen the panel without the BT81x board at the Matrix Orbital website, if I find it I'll have You could of course use the 4.x branch but it does not support the newer commands and registers, as few as these are. |
Thanks for the info and the quick reply. I did a test with the 5.x branch. It took me a few minutes to unravel the new Arduino/ESP32 changes and figure out what I needed to change in EVE_target.h, but after doing so, the display actually came up just fine using the 5.x configuration above. No flicker, no streaks, no offsets, and touch works (tapping the "Touch!" button starts/stops the star animation). In my prior 4.x-based application, I had noticed that button touches worked but sliders did not - I'm not sure if that is still the case - are there any trackers set up in the test page? I tried commenting out EVE_HAS_GT911, and after power cycling, the touch no longer works. (It did work after the software change and ESP32 reset, but prior to power-cycling the display, so that must be setting some register that was persisting.) But yes, I can confirm that EVE_HAS_GT911 is still required. (Is the GT911 part of the touch panel? It would make sense if this new display used the same adhesive wide bezel touch panel as the prior units...) Soo.... positive result, but still interesting. Is it likely to be that missing EVE_PCLK_FREQ functionality causing my issues in the 4.x branch? Thanks again for your help! |
Looks like it might be this one? |
Nice, that should be it and I could not find it yesterday way past my bedtime. :-)
Yes, sliders need updating thru tracking and this is not part of my basic example. |
Please try this one: #if defined (EVE_EVE4_70G) This is more based on the "Typ." values from the datasheet of the panel. |
Ping. |
Sorry, it's been a busy week! Something interesting though - if switching between the two profiles and reprogramming the microcontroller, the display will remain black after the microcontroller reset - it takes a power cycling (unplugging power and reconnecting it) for it to come up again, after which it displays correctly. It happens in both directions too - switching from the first profile to your new one, as well as from new to old. Resetting the microcontroller after this, everything is still fine - it is only when the profile changes that it doesn't work. This isn't necessarily a problem - I don't ever anticipate changing display timings on the fly. But does it point to something else? Perhaps a register that has an assumed state, that isn't being cleared or reset properly on startup when the library initializes? One other interesting thing - I've been working on porting my "real" application into your 5.x codebase. In the process, I discovered that the display wasn't actually displaying quite perfectly - it still had some horizontal streaks in places. For whatever reason, the white background of your test app didn't show this, but my dark background does. I did some experimenting, and changing EVE_PCLKPOL from 0L to 1L solved it. My initial values came directly from Matrix Orbital via email - is there anything you see in the display data sheet that would indicate that this alternate polarity would have been expected? |
For the issue with needing a cold-start, please check if the PowerDown line is working correctly. And I just had quick peek at the datasheet and could not find anything indicating what the polarity of the clock would be. |
Oh, that one is probably on me. I have a simple RC time circuit to set that power-down/reset line, so that would NOT be resetting when the microcontroller resets. It's still interesting that the display only fails when the timing parameters have changed though? Any other time, you can re-program or reset the microcontroller as many times as you want, and the display remains fine... I'll try to get some photos when I have a chance. In the meantime, based on the data sheet and my test results, do you think the "typical" value configuration would be the recommended profile to run for this display? (and presumably, the version to add to the library for others to use?) Thanks again for the help! |
While the intended use is to use PD with a controlled I/O line, simply to bring EVE to a default state before configuring it, you can issue a software-reset as well. Just activate it and the switching should work. And regarding the profile, I just went ahead and added EVE_EVE4_70G yesterday, my second version with EVE_PCLK_FREQ, |
OK, here is the PCB. Remember that this is a pre-production engineering sample. I've been told that the production units will be a little bit different. It's a pretty substantial departure from the tiny PCB on their prior 7" display, the EVE2-70G. I think they decided to just make one PCB this time, that supports all of their different options, connections, and configurations in one go. |
Thank you, so there is no LVDS transmitter.
Details I presume and I kind of like it, the layout makes a whole lot more sense to me than the layout of the 10" version. The panel connector is off by maybe 5mm, that would be something to fix. It won't fit in the case I currently have for 7" panels but it should be easy enough to change the case.
The reference would be the EVE3-70G in this case as it also has the external flash memory chip.
One PCB is rather unlikely since the version without the cover-glas has the mounting-holes sticking out from the side. |
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:
And then my resulting configuration:
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!
The text was updated successfully, but these errors were encountered: