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

 

  • Here is a 25 min Test I just did on my trainer.
    Values are matching (nearly) perfectly.

    Only strange thing is that Garmin Connect shows little bit different values on its website (after storing).
    Edit: see below!

    What you see in the pictures below is:
    above:Garmin original HR-zone times during activity
    below: HMs HR in Zones

    .

    .

    EDIT:
    I found the discrepancy of data shown on EDGE and data shown on Garmin Connct:
    Total Activity time on GC is 25:15 - that means, it took me 14 seconds from making screenshots to store the activity. In that time the zones 0, 1 and 2 have risen a little.

  • Yesterday I did the HR zone test before I read HM's posting that the % in zones should be displayed with precision=1. Since I had nothing better to do, I did it today. Again, I only "scratched" zone 5 with only 34 seconds to reproduce fjelstens observations.

    Although the result shows inaccuracies in the range of seconds and tenths of a percent, both - within the DIY calculation and externally to the Garmin values, these differences are marginal and insignificant in the practical world - I think Wink .


  • I agree. This is not a rounding error. I will try to keep an eye out going forward.

  • Hi

    Is it possible, that you paused the activity, or auto pause was active ?

  • Is it possible to add (black (for white font) and white (for black font)) border(outline) to the fonts with a check box?

  • On a graph, when we mark the min/max values, is it possible the show the values of that mark with a small number above or below the point?

  • Hi

    Great app, thanks a lot, finally I can have all data I need on one screen on my Edge 130.

    Here is my example:

    <?xml version="1.0" encoding="UTF-8"?>
    <DIYLayout>
        <Device name="Edge 130"/>
        <Designer time="27.05.2020 21:34" ver="2.9.7" ifver="B"/>
        <LayoutElement type="1" color="000000" x="0" y="0" x2="230" y2="27" eletype="RF" valuetype="FX" minval="false" maxonly="false" daynight="false" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="0" color="FFFFFF" x="5" y="0" fixedtext="false" maxonly="false" daynight="false" eletype="BV" text="$V%" font="TINY" halignment="2" precision="0" nr_values="1" sampletext="80"/>
        <LayoutElement type="0" color="FFFFFF" x="115" y="0" fixedtext="false" maxonly="false" daynight="false" eletype="CT" text="$H:$M" font="TINY" halignment="1" precision="0" nr_values="1" sampletext="49970"/>
        <LayoutElement type="0" color="FFFFFF" x="225" y="0" fixedtext="false" maxonly="false" daynight="false" eletype="TM" text="$V°" font="TINY" halignment="0" precision="0" nr_values="1" sampletext="29"/>
        <LayoutElement type="1" color="E0E0E0" x="0" y="27" x2="230" y2="303" eletype="RF" valuetype="FX" minval="false" maxonly="false" daynight="false" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="0" color="000000" x="5" y="27" fixedtext="false" maxonly="false" daynight="false" eletype="HZ" text="$Vz" font="LARGE" halignment="2" precision="1" nr_values="1" sampletext="4"/>
        <LayoutElement type="0" color="000000" x="115" y="27" fixedtext="true" maxonly="false" daynight="false" eletype="FX" text="HR" font="TINY" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="225" y="27" fixedtext="false" maxonly="false" daynight="false" eletype="HP" text="$V%" font="LARGE" halignment="0" precision="0" nr_values="1" sampletext="84.12"/>
        <LayoutElement type="0" color="000000" x="115" y="52" fixedtext="false" maxonly="false" daynight="false" eletype="HR" text="$V" font="NR_HOT" halignment="1" precision="0" nr_values="1" sampletext="180"/>
        <LayoutElement type="0" color="000000" x="5" y="110" fixedtext="false" maxonly="false" daynight="false" eletype="AH" text="$V" font="NR_MILD" halignment="2" precision="0" nr_values="1" sampletext="0"/>
        <LayoutElement type="0" color="000000" x="105" y="124" fixedtext="true" maxonly="false" daynight="false" eletype="FX" text="AVG" font="TINY" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="1" color="000000" x="115" y="126" x2="115" y2="150" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="false" radius="0" stroke="2" nr_values="1"/>
        <LayoutElement type="0" color="000000" x="125" y="124" fixedtext="true" maxonly="false" daynight="false" eletype="FX" text="MAX" font="TINY" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="225" y="110" fixedtext="false" maxonly="false" daynight="false" eletype="MH" text="$V" font="NR_MILD" halignment="0" precision="0" nr_values="1" sampletext="204.79"/>
        <LayoutElement type="1" color="000000" x="230" y="155" x2="0" y2="155" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="false" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="0" color="000000" x="5" y="155" fixedtext="true" maxonly="false" daynight="false" eletype="FX" text="ascent" font="XTINY" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="5" y="183" fixedtext="false" maxonly="false" daynight="false" eletype="TA" text="$V" font="NR_MILD" halignment="2" precision="0" nr_values="1" sampletext="0"/>
        <LayoutElement type="0" color="000000" x="115" y="175" fixedtext="false" maxonly="false" daynight="false" eletype="GR" text="$V%" font="LARGE" halignment="1" precision="1" nr_values="1" sampletext="0.0"/>
        <LayoutElement type="0" color="000000" x="225" y="155" fixedtext="true" maxonly="false" daynight="false" eletype="FX" text="altitude" font="XTINY" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="225" y="183" fixedtext="false" maxonly="false" daynight="false" eletype="CL" text="$V" font="NR_MILD" halignment="0" precision="0" nr_values="1" sampletext="478.22"/>
        <LayoutElement type="1" color="000000" x="230" y="230" x2="0" y2="230" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="false" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="0" color="000000" x="5" y="230" fixedtext="true" maxonly="false" daynight="false" eletype="FX" text="timer" font="XTINY" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="5" y="255" fixedtext="false" maxonly="false" daynight="false" eletype="TT" text="$H:$M:$S" font="NR_MILD" halignment="2" precision="0" nr_values="1" sampletext="4374"/>
        <LayoutElement type="0" color="000000" x="225" y="230" fixedtext="true" maxonly="false" daynight="false" eletype="FX" text="distance" font="XTINY" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="225" y="255" fixedtext="false" maxonly="false" daynight="false" eletype="DS" text="$V" font="NR_MILD" halignment="0" precision="2" nr_values="1" sampletext="25.13"/>
    </DIYLayout>
    

    Also, I played around a bit with the font settings for Edge 130

    FNT_EDGE130_ROBOTO_CONDENSED_17;     IDR_FNT_ROBOTO_COND_REG; 20;  -5; 0;  5;  0  // XTINY
    FNT_EDGE130_ROBOTO_CONDENSED_BOLD_17;IDR_FNT_BEBASNEUE_REG;   21;  -5; 0;  4;  3  // TINY
    FNT_EDGE130_ROBOTO_CONDENSED_18;     IDR_FNT_BEBASNEUE_REG;   24;  -5; 0;  5;  3  // SMALL
    FNT_EDGE130_ROBOTO_CONDENSED_BOLD_18;IDR_FNT_BEBASNEUE_REG;   24;  -5; 0;  5;  3  // MEDIUM
    FNT_EDGE130_ROBOTO_CONDENSED_BOLD_21;IDR_FNT_BEBASNEUE_REG;   25;  -5; 0;  5;  5  // LARGE
    FNT_EDGE130_BEBAS_NEUE_BOLD_32;      IDR_FNT_BEBASNEUE_REG;   46;  -9; 0;  9;  0  // NR_MILD
    FNT_EDGE130_BEBAS_NEUE_BOLD_35;      IDR_FNT_BEBASNEUE_REG;   50;  -9; 0;  9;  0  // NR_MEDIUM
    FNT_EDGE130_BEBAS_NEUE_BOLD_51;      IDR_FNT_BEBASNEUE_REG;   70; -13; 0; 13;  0  // NR_HOT
    FNT_EDGE130_BEBAS_NEUE_BOLD_64;      IDR_FNT_BEBASNEUE_REG;   88; -17; 0; 17;  0  // NR_THAI_HOT
    

  • I think it needs to be separate fields as the text may be too small based on the size of the graph itself.

  • same battery usage here, no bt and wifi disabled