HMs DIY #1-6

Store Link

Because I want to keep this datafield and the app free for use I would be very grateful about a small donation to PayPal

A detailed description of how to use it can be found here: 

HMs_DIY_GUIDANCE.pdf
HMs_DIY_ANLEITUNG.pdf

Thanks very much to mcinner1 for putting so much time into this documentation!

Designer download

You can contribute on my github page.
You can upload your layout so others can use it as well.
Also any changes to the fonts.txt can be updated there as well.

Garmin_HMsDIY

=======================================================================
RELEASE NOTES
=======================================================================
-----------------------------------------------------------------------
3.6.2
* switched to new SDK 7.2.1
* added devices: Approach S7 42mm, Descent Mk3 43mm /Mk3i 43mm, Descent Mk3i 51mm, Edge 1050, epix Pro Gen2 42mm, epix Pro Gen2 47mm / quatix 7 pro, epix Pro Gen2 51mm / D2 mach 1 pro / tactix 7
Fenix 7 Pro, Fenix 7 Pro Solar, Fenix 7S Pro, Fenix 7X Pro, Fenix 7xPro Solar, Forerunner 165, Forerunner 165M, Venu 3, Venu 3S, Vivoactive 5
-----------------------------------------------------------------------
3.5.1
* switched to new SDK 4.2.4
* added devices: FR265, FR265S, FR965, GPSMAP 67/67i, Marq (Gen 2), Marq (Gen 2) Aviator, EDGE 540, EDGE 840, Instinct 2x Solar
* added two new font types GLANCE, GLANCENR (only available if device supports it!)

for full releasenotes see: releasenotes.txt
=======================================================================

 

  • So there is no "time to next point"? -> yes there is

    I can take a look at the equation...

  • Aaarrgh! You're right. I missed this. Thanks.

    Do you know where I need to complain to get Anaerobic TE and Performance condition made available to you.

    Thank you very much for considering HRSS!

  • Thanks a lot Erich, gradient seems to work as expected, unfortunately temperature shows "0"... I used available memory as a test and it showed 1700 bytes, I'll try to delete some elements and give it another go tomorrow. It's not a big deal, thank you for your time..

  • Erich, can you please verify the calculation for % in HR Zone. With no decimals, I am seeing a quick increase after just a quick momentary rise in HR.

    I do a lot of running in HR Z2 and although I may be 80 mins into the run with maybe 80% in HR 2 and 7% in HR 3, just a few seconds in HR 3 (as shown by the new graph*), I have noticed an increase to e.g. 9% in HR Zone 3.

    Of course, it may just be me but it seems like there is some rounding issue.

    * Graph colours set to same colours as run HR zones.

  • If you upload your activities to GC you can check if % in zones show other figures there.

  • I'm using Dynamic Colors + HR Zones for my custom HR Gauge and as I figured out this Zones are slightly different than the Zones in the stock Running HR Gauge. (My 144BPM is according DIY still in Zone Z3, but according Garmin is in Z4).

    Now I discovered what can do the Difference.
    There are several HR Zones in GC, there are some Overall Zones, and Sport's specific Ones. According the Overall is my 144BPM in Zone 3 like in DIY, but according my Running Zones is 144 in Zone 4, like in the Garmin HR Gauge.

    Not sure if HMs DIY can adapt the Zones by the selected Sport.

       

    - this may do the Difference in Your case too.

  • I wonder if this is what's going on. Erich, can you confirm?

    However, what I seem to be seeing is that as soon as I just get 5 seconds in HR Zone 3, my number for % in HR Zone 3 increases, and this makes no sense if I have been running for over an hour.

    , you may be right, but I need to do several screen shots during the activity to verify.

  • Hi

    I am taking HR zones from currentsporttype, so it should be correct. 

    var zones = UserProfile.getHeartRateZones(UserProfile.getCurrentSport());

    Could you try setting precision to 1 for the "% in HR zones". Maybe it is a rounding problem, because I have to calculate the values differently depending on the precision.

    One thing I have noticed on my watch (FR935). I added a second diy on a different page with only the HR zones.

    I started then the activity and never switched to this page until half of the run. The datafield with the HR zones only thne started, after I first displayed it.

    regards

    Erich

  • I reset the Running Zones so they now match.

        

    For comparison I put my DataField in the Stock 4-Layout Data Screen and the Zones don't match even by the same HR...

    There is some Delay (1s) between the HR in Stock Data Field and in DIY, but still...

    My Data Field Code:

    <?xml version="1.0" encoding="UTF-8"?>
    <DIYLayout>
        <Device name="Forerunner 245"/>
        <Designer time="24.05.2020 11:16" ver="2.9.7" ifver="B"/>
        <LayoutElement type="1" color="FFFFFF" x="0" y="0" x2="240" y2="240" eletype="RF" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="3" text="----------------- Seperator ------------------"/>
        <LayoutElement type="1" color="B8B8B8" x="120" y="120" x2="153" y2="199" eletype="AC" valuetype="FX" minval="false" maxonly="false" daynight="false" radius="115" stroke="13" nr_values="1"/>
        <LayoutElement type="1" color="FFFF11" x="120" y="120" x2="153" y2="199" eletype="AF" valuetype="HZ" minval="false" maxonly="false" daynight="false" radius="106" stroke="13" nr_values="1"/>
        <LayoutElement type="2" replDC="FFFF11" valDC03="20" colDC03="B8B8B8" hideDC03="true" blinkDC03="false" valDC04="10" colDC04="B8B8B8" hideDC04="false" blinkDC04="false" invertcolor="false"/>
        <LayoutElement type="3" text="----------------- Seperator ------------------"/>
        <LayoutElement type="1" color="0080FF" x="120" y="120" x2="200" y2="246" eletype="AC" valuetype="FX" minval="false" maxonly="false" daynight="false" radius="115" stroke="13" nr_values="1"/>
        <LayoutElement type="1" color="FFFF12" x="120" y="120" x2="200" y2="246" eletype="AF" valuetype="HZ" minval="false" maxonly="false" daynight="false" radius="106" stroke="13" nr_values="1"/>
        <LayoutElement type="2" replDC="FFFF12" valDC02="30" colDC02="0080FF" hideDC02="true" blinkDC02="false" valDC03="20" colDC03="0080FF" hideDC03="false" blinkDC03="false" invertcolor="false"/>
        <LayoutElement type="3" text="----------------- Seperator ------------------"/>
        <LayoutElement type="1" color="00FF00" x="120" y="120" x2="247" y2="293" eletype="AC" valuetype="FX" minval="false" maxonly="false" daynight="false" radius="115" stroke="13" nr_values="1"/>
        <LayoutElement type="1" color="FFFF13" x="120" y="120" x2="247" y2="293" eletype="AF" valuetype="HZ" minval="false" maxonly="false" daynight="false" radius="106" stroke="13" nr_values="1"/>
        <LayoutElement type="2" replDC="FFFF13" valDC01="40" colDC01="00FF00" hideDC01="true" blinkDC01="false" valDC02="30" colDC02="00FF00" hideDC02="false" blinkDC02="false" invertcolor="false"/>
        <LayoutElement type="3" text="----------------- Seperator ------------------"/>
        <LayoutElement type="1" color="FF5500" x="120" y="120" x2="294" y2="340" eletype="AC" valuetype="FX" minval="false" maxonly="false" daynight="false" radius="115" stroke="13" nr_values="1"/>
        <LayoutElement type="1" color="FFFF14" x="120" y="120" x2="294" y2="340" eletype="AF" valuetype="HZ" minval="false" maxonly="false" daynight="false" radius="106" stroke="13" nr_values="1"/>
        <LayoutElement type="2" replDC="FFFF14" valDC00="50" colDC00="FF5500" hideDC00="true" blinkDC00="false" valDC01="40" colDC01="FF5500" hideDC01="false" blinkDC01="false" invertcolor="false"/>
        <LayoutElement type="3" text="----------------- Seperator ------------------"/>
        <LayoutElement type="1" color="FF0000" x="120" y="120" x2="341" y2="387" eletype="AC" valuetype="FX" minval="false" maxonly="false" daynight="false" radius="115" stroke="13" nr_values="1"/>
        <LayoutElement type="1" color="FFFF15" x="120" y="120" x2="341" y2="387" eletype="AF" valuetype="HZ" minval="false" maxonly="false" daynight="false" radius="106" stroke="13" nr_values="1"/>
        <LayoutElement type="2" replDC="FFFF15" valDC00="59" colDC00="FF0000" hideDC00="false" blinkDC00="false" valDC01="50" colDC01="FF0000" hideDC01="false" blinkDC01="false" invertcolor="false"/>
        <LayoutElement type="3" text="----------------- Seperator ------------------"/>
        <LayoutElement type="0" color="000000" x="139" y="20" fixedtext="false" maxonly="false" daynight="true" eletype="HR" text="$V" font="NR_MEDIUM" halignment="0" precision="0" nr_values="1" sampletext="183.55"/>
        <LayoutElement type="0" color="2D2D2D" x="145" y="36" fixedtext="false" maxonly="false" daynight="true" eletype="HZ" text="$V" font="LARGE" halignment="2" precision="1" nr_values="1" sampletext="4"/>
        <LayoutElement type="3" text="----------------- Seperator ------------------"/>
        <LayoutElement type="1" color="D20000" x="35" y="73" x2="205" y2="73" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="false" radius="0" stroke="2" nr_values="1"/>
        <LayoutElement type="0" color="4D4D4D" x="120" y="73" fixedtext="true" maxonly="false" daynight="true" eletype="FX" text="Timer" font="XTINY" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="120" y="79" fixedtext="false" maxonly="false" daynight="true" eletype="TT" text="$h:$M:$S" font="NR_HOT" halignment="1" precision="2" nr_values="1" sampletext="4374"/>
        <LayoutElement type="3" text="----------------- Seperator ------------------"/>
        <LayoutElement type="1" color="D20000" x="30" y="155" x2="210" y2="155" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="false" radius="0" stroke="2" nr_values="1"/>
        <LayoutElement type="0" color="4D4D4D" x="120" y="155" fixedtext="true" maxonly="false" daynight="true" eletype="FX" text="Distance" font="XTINY" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="120" y="170" fixedtext="false" maxonly="false" daynight="true" eletype="DS" text="$V" font="NR_MEDIUM" halignment="1" precision="2" nr_values="1" sampletext="12.56"/>
        <LayoutElement type="3" text="----------------- Seperator ------------------"/>
    </DIYLayout>
    

  • Well, looks like the Problem is on Garmin's Site Stuck out tongue winking eye.

    Same HR, different Zone Value ...