plarus / TimeStyleBBPebble

A stylish, customizable face for every Pebble Watches.
MIT License
18 stars 6 forks source link

Please support aplite platform (Pebble Steel, firmware 3.12) #1

Open azuwis opened 6 years ago

azuwis commented 6 years ago

Tried to install timestyle-bb-pebble.0.8.1_20171015.pbw using GadgetBridge on my Pebble Steel(firmware 3.12), and got:

pbw/pbz is broken or incompatible with your Hardware or Firmware

Compare to original TimeStyle pbw file from Pebble appstore, and find the following files are missing in the pbw archive:

aplite/app_resources.pbpack
aplite/manifest.json
aplite/pebble-app.bin

Please support the aplite platform.

plarus commented 6 years ago

Yes Aplite version is currently not supported with this version. The TimeStyle Pebble source code for aplite is manage totally separately than others pebble watch version.

I must have a look on this specific aplite source code to see how many differences there is with the new version and if I can easily integrate my new code.

plarus commented 6 years ago

Aplite platform is now included in 0.9.0 version. I have ported bottom/top sidebar implementation to this platform

You can download it here : https://github.com/plarus/TimeStyleBBPebble/releases/tag/0.9.0

azuwis commented 6 years ago

Thanks!

Installed 0.9.0, and found two different from the screenshot here:

  1. Font size of the time is smaller
  2. Sidebar does not align to center

See the following, the right one was taken by me:

image1 screenshot_20171112-080201

plarus commented 6 years ago

The classic pebble watches have various limitation. So I had to made simplification on my implementation:

plarus commented 6 years ago

I just published a new version. Aplite get now the same widget management than for other Pebble! Still not enough memory for using pebble-fctx. But it's should be possible (just need more work...)

tilden commented 6 years ago

@plarus Yeah, moving to FCTX was what forced me to separate out the Aplite codebase unfortunately

plarus commented 6 years ago

Yes that is what I have supposed. I think is may be possible by doing several RAM memory optimization:

plarus commented 6 years ago

I made the 2 following optimizations:

But still not enough RAM to use FCTX on APlite...

plarus commented 6 years ago

@azuwis: can you test this version (timestyle-bb-pebble 1.1.1_DRAFT_aplite_20180311.zip)?

This version know use FCTX as all modern pebble! For this version I had to load each FCTX font character one by one.

azuwis commented 6 years ago

timestyle-bb-pebble 1.1.1_DRAFT_aplite_20180311.zip works pretty well on Pebble Steel.

Weather: Current works, but Weather: Forecast does not work, display nothing.

It may be a problem of GadgetBridge, not TimeStyleBB's fault.

plarus commented 6 years ago

Good news! I do not see why it would work for "current" and not for "forecast" even with GadgetBridge. For "Weather: Forecast" you only get this display : "..."?

azuwis commented 6 years ago

It does not display ..., it displays nothing literally, see the following screenshots.

screenshot_20180314-093106 screenshot_20180314-093126

plarus commented 6 years ago

I get the same result on the simulator. But good news it is not a bug. It is a functionality!

If the total height of your 3 widgets is too high to be displayed ==> The middle widget is hidden.

#define COMPACT_MODE_THRESHOLD 142

bool hide_middle_widget = (totalHeight > COMPACT_MODE_THRESHOLD);

It is not a new feature. You should get the same result with older version.

azuwis commented 6 years ago

Is this functionality only available on TimeStyleBB? Because on the original TimeStyle, I can get Weather: Current Weather: Forecast Today's day displaying at the same time, see the following screenshot.

screenshot_20180315-045941

One thing I notice is that on the original TimeStyle, month is missing on the Today's day widget.

plarus commented 6 years ago

This functionality is from orignal timestyle application but was only available for modern Pebble version. After reflexion this "hide_middle_widget" does not have much interest. If the user only want 2 widget he just have to configure this 2 widgets. If the user configure 3 widgets ==> application only have to found the best way to display them.

=> So in your case: Normal = 58 + 42 + 60 = 160 pixels Compact = 41 + 42 + 60 = 143 pixels

With the 142 threshold => compact mode is always too big for the 3 widgets display.

So i should set the threshold to 149. And I will set the following behavior when the threshold is reached :

Normal Mode => Compact Mode => Compact Mode + Compact Padding

With the compact padding we now have 157 pixels (168 - 4*2 - 3) for widgets display. Currently enough for all situation.