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

 

  • Clap for the Description!

  • Another Suggestion:
    In many other Custom Datafields is used "Pointer/Indicator" of Actual HR Zone (small Triagle, or Line) in the HR Gauge (or on Fenix 6 in Cadence Gauge). Would it be possible to add it for Arch or for Rectangle (X; Y; Start Angle; End Angle; Radius)? (The Resolution should be 0.1 of HR Zone). It's quite important f. E. by Running when my HR is on the Edge between Z3.9 - Z4.1 . 

  • Hello and thank you for this amazing piece of work.

    I have a quick question, I have a fenix 3 hr and I have setup an almost perfect (for me) datafield with your software. I am using 13 metrics for my mountain bike datafield, everything is working as it should, except for two metrics which should be available but are considered medium memory: temperature and gradient. In other data screens I have them showing with no issues but in the designer I am not able to select them (this is a low memory device from the template). I tried to "fool" the designer by selecting a fenix 5, changing the fields and coping the code, but it doesn't work, I get zeroes where the values should be. Is there a way to add these two metrics on the fenix 3 hr profile on the designer (the drop down menu)? Since I have them working on the garmin datascreens I think they should work on the diy datafield if I could "call' them the right way. I do not use any graphs, addaptive colours or labels, and I could remove some other fields if I could get those 2 instead, in order to decrease the memory demands.

    Fenix 3 hr

  • Hi

    You cannot "trick" any values into the datafield. The config string is the same for ALL devices, its just a preview you are tricking. The values are simply not implemented in the low mem code, all values show 0 by default. Any line of code needs some memory and at the moment there are 27-30 elements possible with the low mem devices.

    But I will take a look how much memory would be needed to move these 2 values to low mem.

    Please post your xml, then I will try it with your layout.

    regards

    Erich

  • Thanks in advance, below is the current xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <DIYLayout>
        <Device name="fenix 3 HR"/>
        <Designer time="19.05.2020 18:27" ver="2.9.6" ifver="B"/>
        <LayoutElement type="1" color="FFFFFF" x="110" y="110" x2="0" y2="0" eletype="CF" valuetype="FX" minval="false" maxonly="false" daynight="false" radius="120" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="0" y="70" x2="218" y2="70" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="false" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="0" y="142" x2="218" y2="142" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="false" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="159" y="70" x2="159" y2="142" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="false" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="61" y="70" x2="61" y2="142" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="false" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="110" y="142" x2="110" y2="220" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="false" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="FF0000" x="160" y="71" x2="220" y2="142" eletype="RF" valuetype="FX" minval="false" maxonly="false" daynight="false" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="0000A0" x="0" y="71" x2="61" y2="142" eletype="RF" valuetype="FX" minval="false" maxonly="false" daynight="false" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="0" color="000000" x="109" y="0" fixedtext="false" maxonly="false" daynight="false" eletype="CT" text="$H:$M" font="MEDIUM" halignment="1" precision="0" nr_values="1" sampletext="63312"/>
        <LayoutElement type="0" color="0000FF" x="43" y="36" fixedtext="false" maxonly="false" daynight="false" eletype="GA" text="$V" font="MEDIUM" halignment="1" precision="0" nr_values="1" sampletext="3"/>
        <LayoutElement type="0" color="0000FF" x="173" y="36" fixedtext="false" maxonly="false" daynight="false" eletype="FX" text="Z" font="MEDIUM" halignment="1" precision="1" nr_values="20" sampletext=""/>
        <LayoutElement type="0" color="004000" x="145" y="7" fixedtext="false" maxonly="false" daynight="false" eletype="FX" text="Z" font="MEDIUM" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="0000A0" x="141" y="175" fixedtext="false" maxonly="false" daynight="false" eletype="BV" text="$V%" font="MEDIUM" halignment="1" precision="0" nr_values="1" sampletext="87"/>
        <LayoutElement type="0" color="008000" x="73" y="142" fixedtext="false" maxonly="false" daynight="false" eletype="TA" text="$V" font="LARGE" halignment="1" precision="0" nr_values="1" sampletext="423.66"/>
        <LayoutElement type="0" color="808040" x="76" y="175" fixedtext="false" maxonly="false" daynight="false" eletype="CL" text="$V" font="MEDIUM" halignment="1" precision="0" nr_values="1" sampletext="478.22"/>
        <LayoutElement type="0" color="FFFFFF" x="182" y="73" fixedtext="false" maxonly="false" daynight="false" eletype="HR" text="$V" font="LARGE" halignment="1" precision="0" nr_values="1" sampletext="183.55"/>
        <LayoutElement type="0" color="400000" x="157" y="141" fixedtext="false" maxonly="false" daynight="false" eletype="DS" text="$V" font="LARGE" halignment="1" precision="2" nr_values="1" sampletext="12.56"/>
        <LayoutElement type="0" color="400000" x="110" y="29" fixedtext="false" maxonly="false" daynight="false" eletype="TT" text="$H:$M:$S" font="LARGE" halignment="1" precision="0" nr_values="1" sampletext="4374"/>
        <LayoutElement type="0" color="FFFFFF" x="34" y="73" fixedtext="false" maxonly="false" daynight="false" eletype="AS" text="$V" font="LARGE" halignment="1" precision="1" nr_values="1" sampletext="34.76"/>
        <LayoutElement type="0" color="FFFFFF" x="182" y="107" fixedtext="false" maxonly="false" daynight="false" eletype="AH" text="$V" font="MEDIUM" halignment="1" precision="0" nr_values="1" sampletext="154.49"/>
        <LayoutElement type="0" color="0080C0" x="34" y="106" fixedtext="false" maxonly="false" daynight="false" eletype="MS" text="$V" font="MEDIUM" halignment="1" precision="1" nr_values="1" sampletext="65.34"/>
        <LayoutElement type="0" color="000000" x="109" y="61" fixedtext="false" maxonly="false" daynight="false" eletype="CS" text="$V" font="NR_HOT" halignment="1" precision="1" nr_values="1" sampletext="45.34"/>
    </DIYLayout>

    Lines 15 and 16 should look like this:

        <LayoutElement type="0" color="0000FF" x="173" y="36" fixedtext="false" maxonly="false" daynight="false" eletype="GR" text="$V" font="MEDIUM" halignment="1" precision="1" nr_values="20" sampletext="6.69"/>
        <LayoutElement type="0" color="004000" x="145" y="7" fixedtext="false" maxonly="false" daynight="false" eletype="TM" text="$V" font="MEDIUM" halignment="1" precision="0" nr_values="1" sampletext="18.4"/>
     

  • New version 2.9.7 available on ALL clones.

    http://public.stattegg.info/HM_DIYD_2.9.7.zip

    -----------------------------------------------------------------------
    2.9.7
    * fixed bug where element was not hidden, even when dynamic color was set to hidden
    * added gradient, temperature to low mem devices
    * removed date replacement ($Y, $N, $D) from low mem devices to make space for gradient, temperature
    Please inform me if this is needed in a low mem device!

    : Please check if temperature value is shown. 
    If not, it is not possible to add temperature to low mem, because then it would need a background process, and that would need way too much memory.
    (There are two different ways to get temperature depending on device)

    regards

    Erich

  • It would be cool if someone would post a screenshot with a graph "in action". I could then add it to the app screenshots.

  • I have trouble with showing "Name of next point" - does one need to do something special to get this to work? It is shown in the custom layout in the top black bar (empty in screen shot - compare with navigation view below ("Route"):

    In the black area at the bottom above the direction traveling ("E"), I get "170:20" which should be "ETA next p. (curr sp)". Format is $m:$C - however this does not match Garmin's "Time to next". Any suggestions as to what is wrong?

    Wishes:

    • Can we get today's steps as % of today's goal?
    • And Training load (or is this unavailable?)
  • Hi

    ETA is not time to next. ETA means estimated time of arrival, this is the time you will arrive, not the time till you arrive!

    (1170:20 means you will arrive at 19:30)

    Name of next point I take directly from the SDK. But I read that on some devices the distances are not shown correctly, maybe there is a problem with the names too.

    Steps% should be no problem.

    Training load is not possible, this value is not public I think.

    I wonder, does anyone get "Name of destination" or "Name of next point" correct on his device?

  • So there is no "time to next point"? I want to see on the DYI face when navigation has my next turn coming up.

    Hmm, I will test to see if I can make something come up.

    If training load is not available, would you re-consider something like this: https://apps.garmin.com/en-US/apps/f275eca7-701a-4db8-b3da-d0ea8fd7955c#0  ?