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...
  • for some reason when setting sunrise/sunset as an option in the main data field, it stays blank. I thought it might be due to not having synced GPS in a bit, so i started GPS, got a lock and it was still showing as blank.
  • Thanks for the feedback!

    I just released a version where a bug with sunrise/sunset (specifically the combo... not sure if you are talking about that or also when selecting just sunrise or sunset? Then I'd have to look a bit further.

    Which watch is this on?
  • Fenix 5x, and yes, the combo field is the one that is blank.

    Thank you
  • Thanks for doing this. I love the 645 face. A couple suggestions:

    (1) By default the 645 showed the *weekly* distance in the round box. Yours seems to show daily distance. Can you add weekly distance?

    (2) I think the seconds are on the 645 were right justified w/ the time numbers ... you appear to have them centered. I would prefer right justified. Take a look and see what you think.

    (3) The numbers fonts still look a little chunkier to me. Also, Garmin some how was able to get better smoothness on their curves.

    Thanks again,

    -Greg
  • Looking at the font though it looks pretty close in thickness and unless I look closely look pretty smooth.

    The only other thing is the runner icon doesn't look quite right. I'm not sure if this is a stock image or one you have had to make. I didn't notice until I started over analysing the whole thing.
  • Thanks for the feedback people...
    e
    Not sure if I want to spend the time to make a real 1:1 copy to be honest. Wanted to get a pretty even match but don't have the time (or knowhow) to create my own icons and fonts and all. (So yeah, these are ones I found through google searching for good matches).

    The seconds are right aligned if I am not wrong, seems to be as the FR645 face. I can see if I can find better icons and improve it a bit more of course (also with regarding to the fonts... THe ones for the hour/minutes is a custom font, the icons are a custom font, the rest are just system fonts (also wrt memory and efficiency).

    Anywayay, I'll look at the suggestions and see if I can implement some of them. Won't be the coming days though as I am away for the weekend ;)
  • To be honest if it stays as is I am very happy with it. I don't know what it is about this watch face but it just looks cool.

    Good job and many thanks, it's very much appreciated.
  • Thanks for this watchface! I added a 5-star rating :)

    As with a lot of watchfaces, HR doesn't seem to be as up-to-date as possible. Even when I see the value change on the watchface, if I quickly check the value on the HR widget, they're never the same.

    Would it be possible to:
    - Get the most recent value
    https://forums.garmin.com/forum/developers/connect-iq/158133-?p=1227525#post1227525
    Both types of SensorHistory only have new data every 1-2 minutes. On some watches, you can get faster updates if you include looking at Activity.Info.currentHeartRate. Basically, look at currentHeartRate first, and if it's null, use history..

    - Update HR every second (if this isn't already happening)
  • Thanks for the compliments and tips!

    I just uploaded a new version with this alternative heartrate fechting method implemented :)

    Updating every second is not done yet but will look into that (gonna have to redraw multiple pieces seperately and they are depending on the field selected as HR so a bit too much to quickly try and fix before I'm off a few days ;) )

    Also fixed a few other points btw