Xinyuan-LilyGO / TTGO_TWatch_Library

MIT License
890 stars 284 forks source link

LILYGO WATCH 2020 V1 wake from light sleep touch issue ? #120

Closed YordanYanakiev closed 3 years ago

YordanYanakiev commented 3 years ago

I am trying to use touch screen of V1 of the watches ( LILYGO_WATCH_2020_V1 ) but when it goes to light sleep and wake up - the touch does not works. Can You please add minimalistic example of using light sleep with touchpad with LILYGO_WATCH_2020_V1 ?

destroyedlolo commented 3 years ago

Hello,

Did you solved your problem ? I don't have any issue when wake up from light sleep but the touch screen controler is trashed when wakeup from deep sleep.

Bue

Laurent

YordanYanakiev commented 3 years ago

well.. the issue happens once per let say 100-500 waking ups. sometimes rare, some time not so. but it happens. still not so big issue for now, that's why I closed it to give chance for the more important stuff which is the issue with skipping connections sometime.

destroyedlolo commented 3 years ago

Hum,

My concern is only with deep sleep : I'll have to rework Lewis' code to split C code initialisation and hardware one.

Back to your problem with light sleep : I'm not suffering of this problem at all (and I'm wearing my watch every days for months now) : so my own code is solid as a rock on this domain. I suspect something wrong in your own ... OR it may be several hardware release for the v1 watch but only Lilygo can reply on this aspect.

YordanYanakiev commented 3 years ago

This sounds very promising actually. Probably then the issue is with me. I will check Your code to get the correct sequence then. O yeah. Btw - how do You handle interupts from the button while for instance the watch is working on something - like downloading data or calculating or drawing stuff ? Are You threads based ?

destroyedlolo commented 3 years ago

Yes, it's threads based but graphics are handled only in the "main" thread (because it seems LVGL is not really multi threading compliant). So events are handled in sub thread and communicating with the main one using signal if needed. It's the case also for the PEK button : it's up to the main thread to decide if it can go to sleep or if something is on way.

By the way, networking is not already coded for the watch as I'm currently working on backends that will provide data to the watch (close to be finished).