InfiniTimeOrg / InfiniTime

Firmware for Pinetime smartwatch written in C++ and based on FreeRTOS
GNU General Public License v3.0
2.73k stars 932 forks source link

Infineat watchface pinelogo dissapearing and date cut off #1377

Open ThatGuyInfinity opened 2 years ago

ThatGuyInfinity commented 2 years ago

Verification

What happened?

I have set up chimes to wake my pinetime every hour. When that happens and the screen wakes up the pine logo (charging status) dissapears and date gets partialy cut off (it also changes font - it gets much thicker). When I swipe from the watchface for eg. from right to left and then swipe back, the watchface is back to normal.

What should happen instead?

No response

Reproduction steps

Set the Infineat watchface and then activate chimes, when the chimes automatically wake up the screen you´ll see that the watchface looks as described above.

More details?

image20221018_112846971

Version

v1.11.0

Companion app

itd

JF002 commented 2 years ago

This is probably linked to https://github.com/InfiniTimeOrg/InfiniTime/issues/1376 : for whatever reason, LVGL couldn't allocate memory (RAM) to load the font. In this case, Infineat switches to a fallback mode that use the system font. The layout still need a bit of improvement in that case.

As I said in #1376 : reproducing and diagnosing this issue. I hope that optimizing memory usage will help in that case.

OskarSchamardin commented 2 years ago

Selection_001 In my case all the custom fonts failed to load with casio style layout (also same result as OP with infineat layout). This happened when a chime (30min) wakes up the watch. Fixed by just swiping away and back.

Some debugging ideas from a layman's perspective (not familiar with this codebase):

P.S. After disabling the chime I noticed the watch waking at midnight (00:00) and showing everything correctly. I don't know if the waking without chime is a feature or bug, but maybe the vibration motor in the chime may be messing with the font loading (spitballing debug ideas). Added this as a quick note for hopefully additional help debugging.

P.P.S. Btw, is the screen waking up a feature? It seems to do it randomly (sometimes, 1-2 times a day) on full hours. Could this be a bug relating to enabling the chime and disabling it without a full restart?

Boteium commented 1 year ago

This happens when I tried to load a 9kb image onto my watchface. Should this be happening ?

MEM

And if I load anything larger than 20kb, the watch crashed within a minute.

JF002 commented 1 year ago

@Boteium I don't think it's directly related to this issue. Would you mind opening a new Disussion for this question?

nickalcock commented 1 year ago

I saw this in 1.11: in 1.13, the Infineat side is fixed, but a related, worse bug has appeared: the same 'missing fonts on chime' that the Casio face has got has spread to Infineat as well. (Turning chimes off seems to fix it.)

I'd guess that waking the watch up via an alarm and rendering the face simultaneously hits problems, but it's not OOM: min free for me is 6312, which is fine.

minacode commented 1 year ago

Have you tested the quick fix from #1411?

nickalcock commented 1 year ago

Not yet: it'll be September before I'm near the necessary hardware to test it. I'll do so then.