InfiniTime icon indicating copy to clipboard operation
InfiniTime copied to clipboard

Watchface accurate words

Open bmsleight opened this issue 1 year ago • 15 comments

Closed #1305

bmsleight avatar Aug 28 '22 13:08 bmsleight

This is is very similar to https://github.com/InfiniTimeOrg/InfiniTime/pull/660

Itai-Nelken avatar Aug 28 '22 13:08 Itai-Nelken

I also like #660 Similar, however - using existing fonts - to save space and accurate to a minute rather than fuzzy

bmsleight avatar Aug 28 '22 13:08 bmsleight

InfiniSim_2022-08-28_131613 InfiniSim_2022-08-28_132955

bmsleight avatar Aug 28 '22 13:08 bmsleight

Date in words (excluding year) InfiniSim_2022-08-28_200900

bmsleight avatar Aug 28 '22 20:08 bmsleight

Specific dates have specific names InfiniSim_2022-12-26_205312

bmsleight avatar Sep 05 '22 19:09 bmsleight

Happy to address issues. Grateful for some guidance on what is needed or missing ?

I am starting to explore some improvements/hacks on my own branch of this branch. If current pull is not fit for inclusion in project it would help.

bmsleight avatar Sep 12 '22 18:09 bmsleight

It seems unlikely that a new watch face is added immediately because the memory and ram on the watch are running out. Work is done currently to remove things from the firmware to make space, but it may need some time.

I wrote something about the arrays of strings in your implementation because I think that they are not memory-efficient (unless the compiler does magic).

minacode avatar Sep 12 '22 18:09 minacode

@minacode "I wrote something about the arrays of strings in your implementation because I think that they are not memory-efficient (unless the compiler does magic)."

Where do you write this - I can find it ?

bmsleight avatar Sep 15 '22 16:09 bmsleight

When you scroll up in this feed, it says that there is a pending change (I am on mobile).

I actually never used this on the website and don't see it either.

What I meant is that you have those arrays of strings of an explicit size, but the strings you put in there are most often shorter. And some strings appear more than once. I am not sure if the compiler can figure this out, but if not then maybe you can define constant strings and use arrays of pointers to those strings. Then you don't need a maximum size for all and can just have the same pointer twice instead of the same string twice.

minacode avatar Sep 15 '22 17:09 minacode

@minacode My C skills are very rusty, thanks for the pointers and patience. [Pun intended]

bmsleight avatar Sep 15 '22 19:09 bmsleight

I think there is an error in my code. My watch is now in boot loop. After I validated my previous build and tried to upload a new build. Time to get the heat gun. Closing until I work out what went wrong.

bmsleight avatar Sep 15 '22 20:09 bmsleight

Holding the button might bring you to a screen with "InfiniTime". You can upload a new firmware there. I had the same problem, when I tried something with a watch face lately. For me, it was a uninitialized pointer for an lvgl object.

minacode avatar Sep 15 '22 22:09 minacode

(off-topic)

When you scroll up in this feed, it says that there is a pending change (I am on mobile).

"pending" means you did not yet submit that :) Probably the same problem as your comment in my PR that I didn't see.

ght avatar Sep 16 '22 01:09 ght

Oh. Thank you!

minacode avatar Sep 16 '22 07:09 minacode

I just saw this line in SettingsWatchFace.h

static constexpr std::array<const char*, 4> options = {"Digital face", "Analog face", "PineTimeStyle", "Terminal"};

This seems to be a good way to handle an array of strings.

minacode avatar Sep 17 '22 17:09 minacode