Watchface: Forerunner 645 watchface

This watchface was created by request and is meant to mimic the stock Forerunner 645 watchface.

Screenshots:





Currently the features are...

Customizable:

- Foreground, background and main tint
- Show seconds in 1hz mode (if user chooses to)
- Customizable userfields (1 main field, 2 extra fields)
- Battery as icon or percentage text
- System icons can be shown or hidden (bluetooth, nodisturb, notifications, etc)

Values available for the customizable user fields:
- Steps
- Calories
- Distance
- Sunset/Sunrise (or automatically show whichever one is first)
- Heartrate (buggy?)

Still in development and open to suggestions and requests :)

Downloadable in the app store:

https://apps.garmin.com/en-US/apps/e...1e689bc5c75a#0

Changelog:

-3.0 .. 3.21

Fixed possible crash (every so many hours)
Fixed issue where stored hr was displayed when watch was not worn (now shows -- )
Reverted to original layout solution, which I believe is faster and uses less memory... Please let me know what I messed up now ;)
Fixed issues with seconds and hour not showing properly
Added option to hide leading 0 in single digit hours
Added option to include month name in date (only looks ok with the normal field font)
Fixed redraw issue with custom fields (changing between none, fields with icons and fields without)
Cleared up naming of fields in settings
Fixed HR refresh issues (messing up when hr went from 100+ to less then 100)
Fixed bug where hours always showed 00
Layout now done in a completely different way, using a bit more memory but less cpu (hopefully improving battery life). Also this might fix some issues of time not updating.

-2.0 .. 2.21

Fixed bugs with progress bar not being displayed
Move bar and progress bar can be shown (top or bottom) and colors can be customized, shown as arcs and for semi-round as lines
Option to use larger font for user-fields, results depend on watch and fields (it uses a one step larger system font, implementation varies by device). Values can get too big for fields now though.
Added option to hide icons other then battery icon (such as was the original behavior). To only show battery select icons as a custom field entry and check the 'Show battery (icon) only' checkbox
Fixed Sunset/Sunrise bug, it now should display the next day's sunrise if that one is the next one up.
All fields are user customizable now (From top to bottom: Top-left, Top-middle, Main, Bottom-middle and Bottom-left). This means icons are now a custom field instead of a option switching them on or off
Added 'altitude' and 'floors climbed' as optional fields
Seconds can be hidden completely (if not hidden they will be shown in 1hz mode when supported or when not in low power mode otherwise)

-1.0 .. 1.71

Various 1hz improvements (efficiency and bug fixing)
Various font and layout improvements
Bug fix with icons being drawn as squares
Added 2 more custom data fields, one above the date, one below the icons...
Added Heart Rate as option for datafield for supported devices
Added sunrise, sunset, sunrise/sunset (whichever one comes first) as custom datafield options
Added setting to always show seconds (when 1hz is supported) or only in active mode
When None is selected as custom field also the 'border' (surrounding line) is hidden...
  • I had to reinstall the watchface for the photos because I stopped using it due to battery draining! I used my previous watchface and everything was fine again. There was nothing new on my watch that could cause that, only the watchface.community.garmin.com/.../1340751.jpg
  • There was one version that caused more drain yeah (when trying a different way of doing the layout) but that was fixed pretty quickly and shouldn't be a problem anymore. But thatnks for the pics. Don't find the battery percentage too bad actually but will see if I can make it bigger.
  • I installed the update. Battery symbol is better now. Percentage the same. But okay, the same size as the other fields with normal font. Bigger font obviously only for sun events, date, steps. I use it with normal font now, it's readable. The move bar seems to have different length of the segments. I don't mean the first one. The second one is shorter than the third one. I disabled move bar because it's annoying running around in the house trying to delete that thing. I use the watchface without bars. They're a bit disturbing the design. And without heartrate. Values seem to be old although HR is active at the moment. Does it use stored data? Must be rather old data. I think I' leave bottom field empty. Distance and calories are not so important for me. But I've found a problem: Choosing altitude, which isn't available on a FR 235 lets the watchface crash. Another available value or none and it's fine again. I think I'll give it a try because I can read the time in bed without glasses and it doesn't slow down my watch like other watchfaces.
  • I think that's the logfile from the crash:

    ERROR: Circular Dependency Error
    DETAILS:
    STORE_ID: e2ad0aa2335d4122888dce4305ca5a9a
    CALLSTACK:

    ERROR: Unhandled Exception
    DETAILS:
    STORE_ID: eaa32b012868462093f61e689bc5c75a
    CALLSTACK:

    ERROR: Unhandled Exception
    DETAILS:
    STORE_ID: eaa32b012868462093f61e689bc5c75a
    CALLSTACK:

    ERROR: Unhandled Exception
    DETAILS:
    STORE_ID: eaa32b012868462093f61e689bc5c75a
    CALLSTACK:

  • Thanks for the feedback!

    As I use a system font for battery now I think that can be increased as well now with the 'use bigger font' option (though I'd still have to think about how to deal with the icons). Thing is other users really like the current size and don't want it changed, hard to satisfy everyone ;)

    The altitude bug, will look into that! Should be easily fixed.

    Move/progress bars, well... that's why they are optional ;) Don't use them myself either but put them in as requested, will check the size though and might tweak that a bit more...

    Eh, heartrate. It tries to get the actual heartrate and uses a history value if current heartrate can't be retrieved, not sure how that's handled with the 235 though.

    Thanks again, appreciate the extensive feedback!
  • It's not a problem if battery percentage can't be bigger. I just noticed that I can have all other data bigger, but not percentage. Meanwhile I use the normal font, it looks better. And I use it without bars. Looks better without.

    Heartrate seems to be a general problem with these watches because HR isn't always on (the green lights). So there must be taken history data. Several other watchfaces have the same problem so I don't use HR data anymore.

    Altitude was only an example. I wanted to know what happens if I choose a value that's not available on my watch or only if I had a GPS fix a few minutes ago. On GearMin watchface I saw N/A for elevation/altidude. After a GPS fix there was a value. Same strange thing with active minutes (not tested with 645 watchface). GCM shows my active minutes from the week. Obviously my watch is able to produce data for that. But it can't be used for watchfaces. Only CIQ 2 watches. All values that aren't available on a CIQ 1 watch like the FR 235 would let your watchface crash.
  • Yeah, the newer watches have 24/7 HR sampling, the older ones do smart sampling so that could indeed be the case. Concerning non-available values, I just need to check those better ;)

    And previously the percentage font was a custom font so couldn't increase that just like that (had to create new fonts), but now I use the system one it's easier.

    Ight, enough to do!
  • I like the new changes (battery percentage font, not displaying an icon when no alarms are set, etc.). The battery percentage is more readable now, although it didn't bother me personally before.

    I have another feature request: could you display the Bluetooth icon whenever Bluetooth is enabled, not just when there's a connection? I like to turn off Bluetooth when I'm not using it, to save battery and I do the same with my phone, so that would be really helpful for me (so I can see when I forgot to it off).

    I think the system watchface has 3 states for the bluetooth icon:
    - Bluetooth disabled (no icon)
    - Bluetooth enabled but phone not connected (phone icon with slash through it)
    - Phone connected (phone icon)

    I realize if you're only going to have two states, it's kind of arbitrary how you define them, so I'll understand if you don't change anything. However, it's worth noting that on a phone, you'll see the bluetooth icon whenever bluetooth is enabled, not just when there's a connection (yeah, I know it's not exactly the same thing, but it does establish a certain expectation...)
  • Thanks Will,

    As far as I know that's not possible, don't think you can get the 'is bluetooth enabled?' state. Just the 'is phone connected'... But if I am wrong I'd sure like to hear!
  • Sorry, I think you're right. I fell into that trap of assuming that everything that's possible on the system watchface is also possible for apps. And I probably also thought that some other CIQ watchface implemented it, but I probably imagined that.