-
Notifications
You must be signed in to change notification settings - Fork 15
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
Touchscreen issue when switching from black to white screen #30
Comments
Same issue with LVGL demo when using a full white image. then touchscreen detect false touch. |
random touches also makes the black area, maybe the filling of the display does not matter |
I haven't seen random touch with black. In the screenshot we see some touch after DRAW BLACK, but I think there is a delay between the trace (display command) and the real image change in the display. |
I've noticed that the random clicks, which occasionally wake up my GUI, are coming from an increasingly similar area near one corner (now I don't know which one). The clicks only happen 1 or 2 times (e.g. one for 10 minutes), so I was planning to solve this in software. I've been looking at the datasheet for the display and touch for a while, but there's not much info on that. It has its own firmware that can be upgraded, but LiLYGo either doesn't have it or just doesn't provide it. It might also depend on the individual components, but I've used several of them (about 4) and at least some have had random clicking issues. I don't know if all of them have yet. |
I am continuing tests. From what I have seen (but I have done only shorts test on one device), it happens only when displaying bright color on the last rows of the display (the one near wider edge). Now I am trying this : I set a 2 pixels black margins on all the edges of the screen. And I have seen no other unwanted TouchInt. I hope LiLyGo team can investigate more deeply with the display manufacturer. |
I can confirm this position of random clicks. |
"Now I am trying this : I set a 2 pixels black margins on all the edges of the screen" If this bug is confirmed and can't be fixed, it makes the board unusable. |
I don't switch the display to sleep mode, I just set it to black and turn off the backlight. On click the screen changes from black and lights up. There is a #0000 and still these random clicks were occurring. Sometimes I would say more sometimes less. But mostly it was minutes. |
random clicks may be wifi related, see my log where random clicks appear after a failed wifi connection [552692][I][Display.cpp:375] ScreenMain_loaded_event_handler(): [Display] WiFi lost connection Edit: is not wifi related - my mistake :-D sorry |
@frncsch @fundix Upon reviewing the code you provided, it seems you believe that a touch interrupt triggers a single touch event, which is not the case. A touch interrupt merely serves as a reminder to send the command to read the touch information at that moment and to read the touch data. It does not represent a valid touch event; rather, it signals that it's time to send the command and read the information. Afterward, you need to filter the data. This screen only supports single-point touch, so you need to read the touch count as 1 and the correct event 0x08 to complete a finger touch event. Additionally, you need to introduce a delay in the data reading section because the touch commands for this screen cannot be sent too frequently. It is recommended to use a timer to trigger the delay flag, which will not interfere with the refresh of the main system program. Details can be found in the sample program. |
random clicks appear quite regularly even though I took the code from the example with the interrupt
|
@fundix |
Hi, I'm trying to cut the project down so I can post a code sample but the clicking seems to have disappeared after I removed the code that manages WiFi. Update: [107915][I][Display.cpp:297] my_touchpad_read(): [Display] fingers_number: 2, touch event 8 |
@fundix |
@Llgok
To sum up, do you now if these interrupt are really usefull for some device (display for exemple) or if they are linked to silicon errata or driver issue? If this is the case, it would be better to remove them. |
@frncsch
setup:
|
@fundix |
Oh, the problem with the interrupt was that it didn't work properly with LVGL, which touch checks itself. The problem with the interrupt was that it was impossible to use slide gestures or very difficult. edit: |
TouchIntErrorProjectArduino.zip
The text was updated successfully, but these errors were encountered: