InfiniTime
InfiniTime copied to clipboard
Watchface accurate words
Closed #1305
This is is very similar to https://github.com/InfiniTimeOrg/InfiniTime/pull/660
I also like #660 Similar, however - using existing fonts - to save space and accurate to a minute rather than fuzzy
Date in words (excluding year)
Specific dates have specific names
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.
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 "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 ?
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 My C skills are very rusty, thanks for the pointers and patience. [Pun intended]
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.
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.
(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.
Oh. Thank you!
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.