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.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!)
-----------------------------------------------------------------------
3.4.2
* switched to new SDK 4.1.5
* added devices: Edge Explore 2, Venu Sq 2, Venu Sq 2 Music Edition
-----------------------------------------------------------------------
3.4.1
* switched to new SDK 4.1.3
* added devices: Instinct 2S / Solar / Dual Power, D2 Air X10, D2 Mach 1, Descent G1 / G1 Solar,
Edge 1040 / 1040 Solar, Forerunner 255, Forerunner 255 Music, Forerunner 255s, Forerunner 255s Music, Forerunner 955 / Solar, Instinct 2 / Solar / Dual Power / dezl Edition
* fixed crash when windspeed was not available from device
-----------------------------------------------------------------------
3.3.1
* switched to new SDK 4.0.9
* added devices: D2 Air, Descent MK2/MK2i, Descent Mk2S, Enduro, epix Gen2, Fenix 7, Fenix 7S, Fenix 7X, Forerunner 55, Forerunner 945 LTE, Venu2, Venu2 Plus,
Venus 2S, Venu Sq, Venu Sq Music,

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