TimeStyleBBPebble icon indicating copy to clipboard operation
TimeStyleBBPebble copied to clipboard

Please support aplite platform (Pebble Steel, firmware 3.12)

Open azuwis opened this issue 7 years ago • 15 comments

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.

azuwis avatar Oct 18 '17 03:10 azuwis

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 avatar Oct 18 '17 21:10 plarus

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

plarus avatar Nov 11 '17 21:11 plarus

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

azuwis avatar Nov 12 '17 00:11 azuwis

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

  • Aplite timestyle app uses png images for each clock digit. For newer pebbles watches the timestyle app use pebble-fctx graphics library (https://github.com/jrmobley/pebble-fctx) for clock time display. So as I do not want to create and add new png images with a different digit size I have used the bigger available font size for clock time display.

  • For aplite bottom bar I always display four widgets. On the others app versions 1, 2, 3 or 4 widgets can be displayed. May be can I port this same behavior to this aplite version.

plarus avatar Nov 12 '17 16:11 plarus

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...)

plarus avatar Dec 30 '17 23:12 plarus

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

tilden avatar Feb 09 '18 18:02 tilden

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

  • Only load needed font => Already done
  • Only load the needed language
  • Remove unneeded functionality in this use case from FCTX
  • Remove possibility to use 2 differents font for hour and minutes in Aplite
  • Some others optimizations still to be found…

plarus avatar Feb 09 '18 20:02 plarus

I made the 2 following optimizations:

  • Only load the needed language
  • Remove unneeded functionality in this use case from FCTX

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

plarus avatar Mar 03 '18 20:03 plarus

@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.

plarus avatar Mar 11 '18 20:03 plarus

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.

azuwis avatar Mar 13 '18 06:03 azuwis

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 : "..."?

plarus avatar Mar 13 '18 21:03 plarus

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

screenshot_20180314-093106 screenshot_20180314-093126

azuwis avatar Mar 14 '18 01:03 azuwis

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.

plarus avatar Mar 14 '18 23:03 plarus

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.

azuwis avatar Mar 15 '18 09:03 azuwis

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.

  • Analysis: Screen height = 168 This Aplite draft threshold = 142 Original Timestyle threshold = 168 - 8*2 - 3 = 149

  • Date widget height: Compact 41 (without month display) Compact Large font 42 Normal 58 Large font 62

  • Current Weather widget height: Normal 42 Large font 44

  • Forecast Weather widget height: Normal 60 Large font 63

=> 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.

plarus avatar Mar 15 '18 22:03 plarus