695 views
in GUI Development by
hi,

i am using ili9341 2.4 inch with esp32 and ofcourse using a free version 11.

if i use to design in transparent mode there is a reflection of image starting from mid to bottom.

if i use a filled rectangle it goes away please help in this manner.

1 Answer

+1 vote
by
Hello,

what do you mean with "reflection of image"? Do you see a different content on the display compared to the Prototyper?

Maybe the update to the display does not work correctly and some old memory content is shown?

Can you upload some images? Then it will be easier to give you some recommendations.

Best regards,

Manfred.
by

Hi,

Here is the image as it looks like on ili9341 , if needed i will reflash esp32 and send the original pic...

image reflection

by

Yes, an image would be helpful. Does the issue also happens with the original Build Environment for ESP-WROVER-KIT?

by

Yes it also Happens with the original Build Environment for ESP-WROVER-KIT.

The issue is where there is no Rectangle in background the images are reflected.

Please check these real images with reflection ( not that they do not have rectangle in background )line in the bottom of first and second image is the reflection of the line on the top.

if you see zoom view of second image you can see text reflections also

--------------------------------------------------------------------------------------------------------

follwing pics are images with background rectangle

by
Edit.......

in simulation of EW there is no problem.

everything is ok when it is simulated.
by
Thanks for the photos - now I understand the issue. Especially the reflection is not caused by the GUI software. I assume some hardware aspects causing the issues, like crosstalking, incorrect timing, inproper powersupply, ...

Can you check in this direction?

Also try to reduce the data rate and check the display initialization. The ILI9341 initialization has to fit to the connected display. The display seems to be different from ESP-WROVER-KIT.

Best regards,

Manfred.
by
Ok.....

i will check in the hardware side, anyway other drivers such TFT_eSPI and LVGL are working correctly.

There might be problem on driver side, By default SPI speed 26 MHz, i will reduce it and check.

will inform after checking.

I have a dout that EW could also be the problem because i mad my own bitmap button , Hor scroll ball and toggle switch.

the toggle switch was showing all TRI states as on off and a bit delay while toggling , the touch was working only where i placed the toggle button but reflections of

on off bitmaps were shown after another towards bottom. when i placed a filled rectangle it went away.

anyway i will check every espect will report you back.

Thanks and Regards
by
Hi,

the graphical result should appear always identical on the hardware as it is shown within the Prototyper - independent how you design your GUI application.

This is why I assume some initialization / driver / hardware issues.
by
Hi,

I did check everything...
1: Power supply.........further in supply any fluctuations , transients .........the Power is Clean.

2: Checked any GPIO conflict, Found Nothing.

3: Checked Driver.............No problems Found.

But..............during testing a found a strange GUI behavior in DESIGNER i mean EW-11.

1: Created 2 Dialog Screens.

2: one boot screen

on the boot screen i placed a push button to Enter to Main_Screen.

When the main screen is visible i noticed that underlaying boot screen is catching touch events or click events

in simulation.

To further varify that a placed a variable which could increment on each click or Touch

and surprisingly it was incrementing,

am i doing something wrong......? or iproblem  is within the GUI designer.....................????

edit.....

i found a way.

//....................................

if(this.IsCurrentDialog())
PresentDialog( new Application::Main_Screen, null, null, null, null, null, null, null, null, false );

//.....................................

now the touch and click is working on the current dialog only.

But i think it should be done automatcally by the EW.....?
by

Hello,

I think we are going to change the content of the discussion... 

Can you reproduce the "image reflection" issue on the original Build Environment for ESP-WROVER-KIT using the original display (not your display)?

Concerning the "strange GUI behavior" - maybe this section Simple Touch Handler and invisible components answers your question.

Best regards

Manfred.

by
Hi,

You are right may be we need to change.

But the problem is i dont have Wrover kit and display, i have planty of the above shown

display, i have tested them all and they are ok.

Even if i disable the touch the problem is also in GUI proto simulation as i said earlier.

anyway I will check it ESP32-S which has 4MB of external PSRAM as in original Wrover kit.

but i think you must address the issue i have mentioned regarding backgound touch still active even with

new dialog.

i required i can post the project....?

so you can run at your system and check the behaviour in EW simulation.

Regards
by
Well, you are using a different display than the one that is used in the ESP-WROVER-KIT - so you might adapt the initialization code.

Yes you can upload your example and describe the issue that you have observed.
by

Hi,

Attached is example for above mentioned issue..https://ask.embedded-wizard.de/?qa=blob&qa_blobid=5896939876715285323

by
Hi,

the project contains a lot of reference to resources on your desktop....

Let me recommend to put resources into a subdirectory of your project (e.g. /Res) then it will be easier to maintain your project (e.g. to put it into a version control system, or to make a ZIP).
by
Hi,

in a manner you can say that the display is different , but it is using same Chip ( iLi9341 ) and display size is also

same 320x240, so i think i does not make any differance.
by
I just build the binary out of the generated code of your package and downloaded the binary into the ESP-WROVER-KIT. I do not see any reflection....
by

Sorry forgot to upload resources...

please unzip and place this folder on desktophttps://ask.embedded-wizard.de/?qa=blob&qa_blobid=2489307974014837177

by
this one does not produce reflections because it does have a rectangle object on every screen.

it is to check the problem which occurs when another dialog is loaded and now if you can run

it in simulator

1: click on count button

2: click on NEW DLG , at that screen press several times where there is written "CLICK HERE and press Back"

3: then press back and you can see that counter is incremented.

now i will upload the project where you can see the reflections.
by
Sorry, what are we discussing now?

Can you please focus on one issue/question per thread?

It does not make sense to mixup topics.
by

i am highly thankfull to you for checking all these things....

please check this projecthttps://ask.embedded-wizard.de/?qa=blob&qa_blobid=6621693171847330919

it is good in simulator but produces reflection in Real Hardware.

Please check it in Wrover Kit

by
i am sorry for that but i have already mentioned this issue also.

anyway i apologize for that.
by

Hello,

concerning the "strange behavior": Your example shows, that touch handler react on touch events also if there is some view on top.

This behavior is intended - as mentioned, please see the documentation section Simple Touch Handler and invisible components. A touch handler is not bound / restricted to any visible component.

The component Tank_Show is presented as a member of Main_Screen - this means, the button is lying behind the text "Click here" - thus, the touch handler of the button will receive the touch events.

If you want to present the Tank_Show as dialog of the application that consumes all user interaction, you should use PresentDialog in the context of the application:

  var Core::Root root = GetRoot();

  if ( root != null )
    root.PresentDialog( new Application::Tank_Show, null, null, null, null, null, null, null, null, false );

For more details let me recommend the section Take a closer look at the Dialog functionality within our online documentation.

by

Hello once more:

concerning the "image reflection": The provided example contains a semitransparent background - this means, the entire application is drawn over the framebuffer content that is already there... 

In case of ESP32, where we do not have a real framebuffer - only a small scratch-pad buffer - the drawing is done over the previous content of the memory.

Please put a filled rectangle into the background of your application class in order to have a defined background content:

Does the "image reflection" disappear now?

by
Hi,

in context of Touch handler under or over dialogs,

Thanks and the answer is exact for the Root Cause, that's why i was

thinking why it is happning and as you have explaind properly and i understand now
by
Hi,

Regarding image reflection in your last answer , i was able to somehow overcome the problem by

placing rectangle under the objects, but the problem was i wanted to know why this is happning.

Now i got the answer that its due to 0 framebuffer, so a small scratch memory area handling it.

Thanks and Best Regards to be with me in solving these things,

i am realy gratefull, i got the answers
by
Hi Manfred,

as i was working with EW and it started some strange behviour on data exchange betwwen

dialogs.

so i reinstalled the application and some chunk of my code stopped working.

for example " this.isCurrentDialog "

than i adopted the method of root object ( as you suggested in a previous post ) and it started working properly.

please suggest a good method to exchange data between dialogs.

Regards
by
Please open a new question as this does not belong to "Image Reflection".

Ask Embedded Wizard

Welcome to the question and answer site for Embedded Wizard users and UI developers.

Ask your question and receive answers from the Embedded Wizard support team or from other members of the community!

Embedded Wizard Website | Privacy Policy | Imprint

...