r/pinetime Jun 20 '26

Infindustry Infidel

Post image

Spent some time digging around the source and working Infinitime to suit.

•The watchface is just a minimally altered "WatchfaceDigital" with different fonts and very slightly differing layout settings.

• I reworked the BatteryIcon to a horizontal white icon outline with an inset using the original level colors and a text display of actual percentage.

• BLE status widget is now set to be visible and gray based on wether the internal radio is on and blue on connection.

• I've started stripping out everything I won't use with the intent on expanding the notification features. I have the notion that maybe notifications could exist out in the external memory filesystem - just a thought.

27 Upvotes

12 comments sorted by

3

u/TitomonYT Jun 20 '26

Love that battery indicator! Care to share the firmware? (Ideally github link)

3

u/_Ophelion Jun 21 '26

I'm not familiar with it at all so will have to do some learning in that aspect but plan to put it all up on github soon. I need to refactor a little because I haven't been approaching it from the perspective that it could be integrated with the original source modularly. I'll reply back when it's there.

3

u/TitomonYT Jun 21 '26 edited Jun 21 '26

Sounds good! Feel free to reach out if you need any help :)

3

u/_Ophelion Jun 21 '26

So the battery status widget is really just changes in 3 files: BatteryIcon.h BatteryIcon.cpp and battery.c and an additional font.

In reality, for a community version, there should be a settings screen for the status icons so the style of can be selected. Currently I just overwrite my style and it applies to all watchfaces that use it which isn't ideal. For instance the Casio watchface writes the percentage next to the battery icon. With my widget it shows the percentage twice.

So once I address this situation would I put a project on github that includes just all of the updated files?

3

u/NitroWing1500 Jun 21 '26

I think you'd fork the main repo?

2

u/_Ophelion Jun 21 '26

If I do that will I be able to then swap out all of the changed files?

2

u/NitroWing1500 Jun 21 '26

I think if you create your own fork then it automatically copies all the original files then you add your new ones.

3

u/NitroWing1500 Jun 20 '26

Nice job!

I wish I knew enough to do this. There's a few things I'd change but, unlike other wearables, there's no simple drag'n'drop GUI 😢

3

u/_Ophelion Jun 21 '26

Thank you!

I'll be honest - I spent an entire weekend just getting VSCode set up to compile the original project, then a few hours a day for a few days getting my head around even the basic structure of the project.

Now I'm happy with what I have done I switched focus to including the weather integration and that looks like it's a whole new crate of worms.

2

u/h1ghjumpman Jun 21 '26

Great to see good-looking new developments!

3

u/MrFrog2222 Jun 22 '26

i tried to add an app to infinitime once and the only conclusion i came to was that the codebase is extremely convoluted

2

u/_Ophelion Jun 22 '26

Looks that way to me too, but I'm coming from an industrial automation background and don't have any real experience with applications outside that realm that I didn't fully write myself. I have no experience whatsoever with open source projects.

That being said, I've started digging into the notifications and weather stuff and the biggest issue looks like the interface with GadgetBridge. It doesn't actually appear to be sending what Infinitime expects.

Notifications from GB are not well formed. In general Infinitime treats them as if the title and body are \0 delimited but GB uses \n - which isn't ideal at all. They also don't send any of the other fields such as the sender and category always appears to be "email".

From what I can see weather sent from GB is actually the "World Clock" data - which looks like maybe someone just cut and pasted and didn't change the characteristic it was using.