Replies: 8 comments 11 replies
-
I will have a look but i am travelling today. |
Beta Was this translation helpful? Give feedback.
-
Ok, now I can even quote. :-)
Yes, I am trying but I can't buy them all. :-)
I wonder if this shield even can work properly with 3.3V targets as both the 5V and the 3.3V are regulated on the shield and there is no way around the level-shifter.
This should not be happening.
Not the issue to solve here, but using it in a loop requires to have a delay of some sort between the loops. The display should be completely static after the code was executed once in setup().
The configurations are generally make-or-break, meaning that nothing is displayed when the configuration is wrong. Which pins are you using for EVE_CS and EVE_PDN?
No, that entry is for the non-Arduino targets. I modified my simple "Hello, World!" example and also the more "complex" basic demo to compile with PlatformIO for the Due and both cores of the Portenta H7. uno SUCCESS 00:00:01.440 Looks like the Giga R1 is not (yet) supported by PlatformIO so I could not test this as easily. I just opened the Arduino IDE 1.8.19, installed the "Giga" board package, selected the Giga R1 package and compiled. So it should work, albeit way slower than it could as this is just using the standard Arduino SPI class with no DMA support. I also installed the package for the Portenta H7 now and it compiles just fine as well. I do have the file "EVE_target_Arduino_Nucleo_F446RE.h" plus code in EVE_cpp_target.cpp for it to use SPI over DMA. I do not know how the build process differentiates between the M4 and the M7 though. Edit, missed this one:
Actually, the name is not accurate anymore but kind of stuck. |
Beta Was this translation helpful? Give feedback.
-
Sorry guys, I meant to share the word on this earlier... Newhaven did us all a serious disservice in the middle of 2022, and silently changed the hardware (and the resulting software interface) on the NHD-4.3-800480FT-CSXP-CTP, without revising the part number or publishing any notice of the change. They just changed it and released the new parts into the wild. 🙄 Prior production displays used the FAN5333BSX backlight driver, and due to component shortages and a desire to keep production going, Newhaven switched to the SGM3766YTN5G. The key difference between these is that the original chip has a maximum backlight PWM frequency of 1KHz, while the replacement has a minimum PWM frequency of 10KHz (more on this later). If you attempt to run a newer display with older software, the backlight will go off at any setting below about 50% brightness (REG_PWM_DUTY). Above about 50%, the display turns on, but the backlight linearity is very coarse and not reflective of the value commanded. I couldn't say for sure when this issue first occurred, but we discovered it around August of 2022. It caused my company a costly two week production shutdown while Engineering worked to isolate the cause, and it was clear that Newhaven didn't know about the issue until we contacted them. Their ultimate explanation was that they had staffing changes in engineering and it slipped through, but even so, the displays shouldn't have passed QC testing, shouldn't have been released without changing the part number or revision (since they are software incompatible), and a Product Change Notification should have been published. So there were multiple process failures at Newhaven. So now... where does that leave us. Remember those two backlight PWM chips? The original with a maximum PWM frequency of 1KHz, the replacement with a 10KHz minimum. Note that there is no overlap between those ranges. Newhaven suggested we run the new displays at 10KHz, which is unacceptable for any commercial manufacturer as it leaves them with two separate software branches, and a random chance that the display won't work depending on which production batch you have in hand. (And with no altered part number or revision markings, there is no way to tell without testing.) It also means that product repair or warranty work is dicey, as again, a replacement display (or logic board driving it) may or may not have the right software for the hardware. We let them know this was not acceptable, and they got back to us advising us to run the new displays at a backlight frequency of 800Hz. I pointed out that this is out of range for the new PWM driver, and we were told that Newhaven does not expect any long term reliability issues. To the best of my knowledge, the NHD-4.3-800480FT-CSXP-CTP then gets the dubious honor of being the only EVE-based display that uses a non-standard backlight PWM frequency. Since the display config structures in the library don't provision for changing this (Why would you, when "no display needs it!"), I modified my local copy of the library to place the line: In case it matters for your application, I will point out that the backlight brightness linearity is not the same between the old and new displays. They both dim through the full range, but the curves are not the same. And also, I can add that displays with stickers on the back reading "5913 0920 1L" and "7273-2721 1L" used the original FAN5333BSX chip, and "WO198-1222" uses the new SGM3766YTN5G chip. I don't have any information beyond that, that's just what our company could determine when triaging the issue. As a related aside... does anyone know of any other vendors offering an 800x480 4.3" EVE-based display? Asking for a friend... |
Beta Was this translation helpful? Give feedback.
-
Wait, what? I checked the demo app and found that it is not even touching REG_PWM_DUTY or REG_PWM_HZ, so it runs on the default values of 250Hz and 100%. @jsr64 Then I checked the datasheet for the NHD-4.3-800480FT-CSXP-CTP and it shows the SGM3766YTN5G in the schematic and states "the on-board backlight driver’s PWM frequency is 800 to 100KHz".
I would rather go with 5" but you could ask Crystalfontz. And they already have a number of EVE displays up to BT817, for example these: So they could be inclined to do a 4.3" 800x480 with EVE chip, even more so if your friend is planning to order in bulk. :-) Hmm, that CFA800480E3-050SW is interesting. |
Beta Was this translation helpful? Give feedback.
-
I just pushed a change to EVE_commands.c and EVE_config.h. There is a new optional parameter in EVE_init() now: EVE_BACKLIGHT_FREQ And when testing it with the EVE_RVT50H I currently have on my desk I found that the backlight intensity changes with the backlight frequency - which really should not be the case. Edit: Riverdi does not specify the PWM frequency for the EVE4 series, or which chip is used. |
Beta Was this translation helpful? Give feedback.
-
Ah, forgot about this part, there are probably numerous applications that are ok like this and when I started to use EVE displays I only worked with AVR controllers. I'll have to check if there is any DMA support in the Arduino classes but DMA seems to be a somewhat alien concept for Arduino. |
Beta Was this translation helpful? Give feedback.
-
Is this after the updates I pushed a few days earlier or still with an older version? And the SAM core is using registers, the mbed core is going thru several layers of extra code. There is stm32h7xx_ll_spi.h in ArduinoCore-mbed though so there may be a way to significantly speed things up. |
Beta Was this translation helpful? Give feedback.
-
Hmm, I just happen to have the Arduino IDE 1.8.19 open as I am playing with a W806 board and right now I can only use it with Arduino. I added this: for (uint8_t counter = 0; counter < 100; counter++) And it just compiles for the W806 and works, the traffic on the SPI makes no sense at all but it works. :-) I switched over to Arduino Giga R1 and it correctly did not compile as EVE_target_Arduino_GIGA_R1.h was missing. What am I missing?
No, Eve does not work like this, the display list is worked thru line by line and when you replace it then the new list gets worked thru.
6ms is 166 Hz, if you are updating this fast it will blink, even when writing the same display list over and over again.
Well. 8kiB is up to 2000 commands. As I show in the README.md, you can split the display list generation, you only need to make sure that you have one CMD_DLSTART in the first block and DL_DISPLAY plus CMD_SWAP in the last block. I am usually using 20ms / 50 Hz refresh. |
Beta Was this translation helpful? Give feedback.
-
Dear Rudolph
I was very happy knowing about capability of library to cover FT800 to FT813 series.
However I am facing problem with NHD_43_800480 capacitive screen work with library.
In EVE_config.h its mentioned as untested !!
When I run this TFT NHD-4.3-800480FT-CSXP-CTP with its shield NHD-FT81x-SHIELD and flat cable connected to display using Arduino Due and even Arduino Giga R1/Arduino Portenta H7, it works partially.
The display blinks and shows the correct display but goes blank immediately within fraction of seconds.
I have changed the below code with "for" loop repeating it, and display does repeat but again it blinks and goes blank
if(E_OK == EVE_init()) /* make sure the init finished correctly /
{
EVE_cmd_dl(CMD_DLSTART); / instruct the co-processor to start a new display list /
EVE_cmd_dl(DL_CLEAR_COLOR_RGB | 0xffffff); / set the default clear color to white /
EVE_cmd_dl(DL_CLEAR | CLR_COL | CLR_STN | CLR_TAG); / clear the screen - this and the previous prevent artifacts between lists, attributes are the color, stencil and tag buffers /
EVE_color_rgb(0x000000); / set the color to black /
EVE_cmd_text(EVE_HSIZE/2, EVE_VSIZE/2, 30, EVE_OPT_CENTER, "Hello, World!");
EVE_cmd_dl(DL_DISPLAY); / mark the end of the display-list /
EVE_cmd_dl(CMD_SWAP); / make this list active /
// EVE_execute_cmd(); / wait for EVE to be no longer busy */
}
I am stuck up, is there minor tweaking required in EVE_config.h
#if defined(EVE_VM810C) || defined(EVE_ME812A) || defined(EVE_ME813A) || defined(EVE_GEN4_FT812_50) ||
defined(EVE_GEN4_FT813_50) || defined(EVE_GEN4_FT812_70) || defined(EVE_GEN4_FT813_70) ||
defined(EVE_NHD_43_800480)
#define Resolution_800x480
#define EVE_PCLK (2L)
#define EVE_PCLKPOL (1L)
#define EVE_SWIZZLE (0L)
#define EVE_CSPREAD (0L)
#define EVE_HAS_CRYSTAL
#define EVE_GEN 2
#endif
And also I wish it works with Portenta H7 and Giga R1 platform. STM32H747 is mentioned in EVE_target.h but will that cover Arduino Portenta and Giga R1 board too?
Regards
JS Rawat
Beta Was this translation helpful? Give feedback.
All reactions