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...
  • Hmmm, I have the forerunner 935 myself with 8.0 fw.., not noticing anything specific myself, but will look at my battery consumption. Note to self, it's 83% now and 20:41 here.

    Will look if I see any code which could be causing this, but I think the 1hz code (would be the most tolling on battery) is already very efficient and the rest is only executed when the watch is 'avtive' so shouldn;t be an issue... will look into it!

    Maybe try another watchface for a day and see if that one also drains as much in the meantime?
  • It is likely the beta for the 5x. I posted a question in that thread and another user responded that they were seeing similar poor battery life.
  • That's good to hear, for me at least ;)

    It's now 8:00 and battery is at 80% for me, will keep an eye on it just in case...

    They do advertise max 14 days in watch mode for the 935 , so that would be ~7% a day still (which is actually more then I'd have guessed). And for the 5x it's 12 days in watch mode, meaning about 8.5% a day... So all in all the 10 you mention isn't even as crazy as I thought.

    Afterall that's ~0.3%/hr for the 935 and ~0.35% for the 5x (versus at least 5%/hr during an activity)

    Thanks for reporting back though!
  • Thanks for all the changes and updates! This is def my favourite watchface.

    Unfortunately, it looks like the watchface crashes now under certain circumstances. This is pretty hard to reproduce. At first I thought it was due to enabling one of the options, such as "show battery icon only" or "hide leading zero in hours", but I can't get it to happen consistently.

    I know this is pretty useless to you without debug symbols, but here's the trace anyway:
    ERROR: Unexpected Type Error
    DETAILS: Failed invoking <symbol>
    STORE_ID: eaa32b012868462093f61e689bc5c75a
    CALLSTACK:
    @PC = 0x10001a35
    @PC = 0x10002435
    @PC = 0x1000139d


    Also, one apparent side effect of the method you used to get the most current HR is that if you are not wearing the watch (and are not using a strap), the watchface will display an old HR instead of showing no HR. It's not really a big deal, it just looks funny. Maybe if ActivityInfo.currentHR is ever non-null, you could use that as the sole source going forward.
  • Got it to crash again by taking off the watch for a few minutes. It remained crashed (displaying IQ! when I attempt to select it) until I put it on again for a few seconds. Maybe it’s crashing when there’s no HR source (and HR is one of the selected fields)
  • Thanks for the feedback willnorthyork!

    I am indeed aware of it crashing sometimes, the issue indeed being reproducing it as it sometimes crashes once every so many hours at most :/ I am now using a dev version myself hoping it will crash, but it doesn't! But promising to hear about a situation likely to reproduce it.


    Using the callstack gives me a general area of where to look, but that didn't help so far... Hopefully my debug version will crash and then I can pinpoint the issue some more ;)

    I will look into the hr bug as well btw, thought I addressed it but apparently not quite yet :) (I now see this in my own situation as well btw).
  • I think I fixed both the crash as the hr bug! Please give the new version a try and let me know if this indeed fixes the issues!

    ps. Tried to edit previous post but the FORUM DRIVES ME CRAZY SOMETIMES AS I WASN'T ALLOWED TO EDIT IT FOR SOME FREAKIN REASON!
  • Thanks, it works! Battery usage seems a lot better after you fixed that slowdown issue, btw (as you'd expect).

    The reason you can't edit your post is because it has smilies. In some cases, when the forum converts something you typed (e.g. text emoticons into forum emoji image or text @-mentions into links), it is literally unable to handle the text it just converted when you try to submit it again. The only solution is to delete the converted emoji or @-mention and re-type it as plain text. (This also applies to quoting posts, btw).

    It's almost as if we need a subforum for forum issues...oh wait. Or a sticky for "Top 392 Annoying Forum Issues and How to Work Around Them". Or, Garmin could just fix the forums. I guess preventing people from tearing their hair out while trying to edit their own posts is not high on their list of priorities.
  • Battery percentage is too small. It's smaller than the icons for alarm and Bluetooth. And if I use the battery icon instead of percentage I see a square, not than longer icon that is shown at the screenshots. I have a FR 235.
  • Looking into the battery % thingie (as that has come up more then once now). Thing is that there just isn't much space for the percentage and icons (also, it looks perfectly fine for me on the 935 and in the emulator on the other watches.).

    About the battery icon, it also simply uses the available space so it's a bit smaller for the 235 (but perhaps there is an actual issue). But for my reference, could you send a picutre of how the percentage and the icon look on the 235? Then I actually know what it looks like and can work with that, it's ahrd to get a clear view when you don't own the watch :/