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

 

  • Did you restart the datafield?

    Yes - DIY loaded after setting night-mode!

  • As you can see on that Edge screenshot:

    Speedsensor status = 3, but the blue crossed circle does not hide.

    And there is nothing at the place of Version and App:

  • It's bad that those bugs exist - but I'm glad, that I'm not the only with this problems Wink


    BTW, I have a special test layout for the Edge 1030 to see, how good the fonts between designer and device matches...
    I think that some could be better but currently I didn't have the time to fix them in the fonts.txt

    But what is a bit strange: even in Designer they do not match perfectly to e.g. a line.
    Actually all font examples should start at the same y position as a line - but they don't...
    Any explanations for that?

    <?xml version="1.0" encoding="UTF-8"?>
    <DIYLayout>
        <Device name="Edge 1030"/>
        <LayoutElement type="1" color="FF0000" x="0" y="235" x2="281" y2="235" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="FF0000" x="141" y="0" x2="141" y2="469" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="3" text="----------------- XTINY: ------------------"/>
        <LayoutElement type="1" color="666666" x="100" y="0" x2="100" y2="469" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="666666" x="181" y="0" x2="181" y2="469" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="666666" x="0" y="10" x2="281" y2="10" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="0" color="666666" x="0" y="10" fixedtext="true" eletype="FX" text="XTINY" font="XTINY" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="666666" x="100" y="10" fixedtext="true" eletype="FX" text="XX" font="XTINY" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="666666" x="141" y="10" fixedtext="true" eletype="FX" text="XX" font="XTINY" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="666666" x="181" y="10" fixedtext="true" eletype="FX" text="XX" font="XTINY" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="666666" x="281" y="10" fixedtext="true" eletype="FX" text="XTINY" font="XTINY" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="3" text="----------------- TINY: -------------------"/>
        <LayoutElement type="1" color="777777" x="90" y="0" x2="90" y2="469" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="777777" x="191" y="0" x2="191" y2="469" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="777777" x="0" y="30" x2="281" y2="30" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="0" color="777777" x="0" y="30" fixedtext="true" eletype="FX" text="TINY" font="TINY" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="777777" x="90" y="30" fixedtext="true" eletype="FX" text="XX" font="TINY" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="777777" x="141" y="30" fixedtext="true" eletype="FX" text="XX" font="TINY" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="777777" x="191" y="30" fixedtext="true" eletype="FX" text="XX" font="TINY" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="777777" x="281" y="30" fixedtext="true" eletype="FX" text="TINY" font="TINY" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="3" text="----------------- SMALL: --------------------"/>
        <LayoutElement type="1" color="888888" x="80" y="0" x2="80" y2="469" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="888888" x="201" y="0" x2="201" y2="469" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="888888" x="0" y="60" x2="469" y2="60" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="0" color="888888" x="0" y="60" fixedtext="true" eletype="FX" text="SMALL" font="SMALL" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="888888" x="80" y="60" fixedtext="true" eletype="FX" text="XX" font="SMALL" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="888888" x="141" y="60" fixedtext="true" eletype="FX" text="XX" font="SMALL" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="888888" x="201" y="60" fixedtext="true" eletype="FX" text="XX" font="SMALL" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="888888" x="281" y="60" fixedtext="true" eletype="FX" text="SMALL" font="SMALL" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="3" text="----------------- MEDIUM: ------------------"/>
        <LayoutElement type="1" color="999999" x="70" y="0" x2="70" y2="469" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="999999" x="211" y="0" x2="211" y2="469" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="999999" x="0" y="95" x2="469" y2="95" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="0" color="999999" x="0" y="95" fixedtext="true" eletype="FX" text="MED" font="MEDIUM" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="999999" x="70" y="95" fixedtext="true" eletype="FX" text="XX" font="MEDIUM" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="999999" x="141" y="95" fixedtext="true" eletype="FX" text="XX" font="MEDIUM" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="999999" x="211" y="95" fixedtext="true" eletype="FX" text="XX" font="MEDIUM" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="999999" x="281" y="95" fixedtext="true" eletype="FX" text="MED" font="MEDIUM" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="3" text="----------------- LARGE: ------------------"/>
        <LayoutElement type="1" color="AAAAAA" x="60" y="0" x2="60" y2="469" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="AAAAAA" x="221" y="0" x2="221" y2="469" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="AAAAAA" x="0" y="135" x2="469" y2="135" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="0" color="AAAAAA" x="0" y="135" fixedtext="true" eletype="FX" text="LG" font="LARGE" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="AAAAAA" x="60" y="135" fixedtext="true" eletype="FX" text="XX" font="LARGE" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="AAAAAA" x="141" y="135" fixedtext="true" eletype="FX" text="XX" font="LARGE" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="AAAAAA" x="221" y="135" fixedtext="true" eletype="FX" text="XX" font="LARGE" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="AAAAAA" x="281" y="135" fixedtext="true" eletype="FX" text="LG" font="LARGE" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="3" text="----------------- NR_MILD: ------------------"/>
        <LayoutElement type="1" color="BBBBBB" x="50" y="0" x2="50" y2="469" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="BBBBBB" x="231" y="0" x2="231" y2="469" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="0" color="BBBBBB" x="0" y="244" fixedtext="true" eletype="FX" text="Mild" font="XTINY" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="BBBBBB" x="50" y="235" fixedtext="true" eletype="FX" text="00" font="NR_MILD" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="BBBBBB" x="141" y="235" fixedtext="true" eletype="FX" text="88" font="NR_MILD" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="BBBBBB" x="231" y="235" fixedtext="true" eletype="FX" text="00" font="NR_MILD" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="BBBBBB" x="281" y="244" fixedtext="true" eletype="FX" text="Mild" font="XTINY" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="3" text="----------------- NR_MEDIUM: ------------------"/>
        <LayoutElement type="1" color="CCCCCC" x="40" y="0" x2="40" y2="469" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="CCCCCC" x="241" y="0" x2="241" y2="469" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="CCCCCC" x="0" y="280" x2="469" y2="280" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="0" color="CCCCCC" x="0" y="293" fixedtext="true" eletype="FX" text="Med" font="XTINY" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="CCCCCC" x="40" y="280" fixedtext="true" eletype="FX" text="00" font="NR_MEDIUM" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="CCCCCC" x="141" y="280" fixedtext="true" eletype="FX" text="88" font="NR_MEDIUM" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="CCCCCC" x="241" y="280" fixedtext="true" eletype="FX" text="00" font="NR_MEDIUM" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="CCCCCC" x="281" y="293" fixedtext="true" eletype="FX" text="Med" font="XTINY" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="3" text="----------------- NR_HOT: ------------------"/>
        <LayoutElement type="1" color="DDDDDD" x="30" y="0" x2="30" y2="469" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="DDDDDD" x="251" y="0" x2="251" y2="469" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="DDDDDD" x="0" y="335" x2="469" y2="335" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="0" color="DDDDDD" x="0" y="354" fixedtext="true" eletype="FX" text="Hot" font="XTINY" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="DDDDDD" x="30" y="335" fixedtext="true" eletype="FX" text="00" font="NR_HOT" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="DDDDDD" x="141" y="335" fixedtext="true" eletype="FX" text="88" font="NR_HOT" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="DDDDDD" x="251" y="335" fixedtext="true" eletype="FX" text="00" font="NR_HOT" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="DDDDDD" x="281" y="354" fixedtext="true" eletype="FX" text="Hot" font="XTINY" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="3" text="----------------- NR_TAI_HOT: ------------------"/>
        <LayoutElement type="1" color="EEEEEE" x="0" y="395" x2="469" y2="395" eletype="LN" valuetype="FX" radius="1" stroke="1" nr_values="1"/>
        <LayoutElement type="0" color="EEEEEE" x="0" y="424" fixedtext="true" eletype="FX" text="THot" font="XTINY" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="EEEEEE" x="30" y="395" fixedtext="true" eletype="FX" text="00" font="NR_THAI_HOT" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="EEEEEE" x="141" y="395" fixedtext="true" eletype="FX" text="88" font="NR_THAI_HOT" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="EEEEEE" x="251" y="395" fixedtext="true" eletype="FX" text="00" font="NR_THAI_HOT" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="EEEEEE" x="281" y="424" fixedtext="true" eletype="FX" text="THot" font="XTINY" halignment="0" precision="0" nr_values="1" sampletext=""/>
    </DIYLayout>
    

  • Please read the Guidance (auch in deutsch: Anleitung) at the top of this thread. There us a whole chapter expkaining fontmapping!

  • Thank, I got it working now.  It would be helpful if the error message stated the version was wrong.  I think I was doing things at just the wrong time.  I looked for a newer version of designer, but it looked the same.  A short while later, I saw a newer version available.

    I could not find the mention of needing all 4 clones in the guidance, but I will give it a try.

    Thanks again

  • I could not find the mention of needing all 4 clones in the guidance, but I will give it a try.

    You need not all 4 clones. If you only set one datafield, one clone is enough!

  • And here are my test layouts for day and night.

    Day:

    <?xml version="1.0" encoding="UTF-8"?>
    <DIYLayout>
        <Device name="Edge 1030"/>
        <LayoutElement type="1" color="FFFFFF" x="0" y="0" x2="282" y2="470" eletype="RF" valuetype="FX" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="0" color="FFFF00" x="0" y="0" fixedtext="false" eletype="CN" text="HMs DIY #1" font="SMALL" halignment="2" precision="0" nr_values="1" sampletext="HMs DIY #1"/>
        <LayoutElement type="0" color="FFFF00" x="125" y="0" fixedtext="false" eletype="DV" text="$V" font="SMALL" halignment="2" precision="0" nr_values="1" sampletext="2.6.0"/>
        <LayoutElement type="0" color="FFFF00" x="185" y="0" fixedtext="false" eletype="DV" text="2.x.x" font="SMALL" halignment="2" precision="0" nr_values="1" sampletext="2.x.x"/>
        <LayoutElement type="0" color="FF0080" x="0" y="25" fixedtext="false" eletype="XX" text="noch $V Byte frei" font="MEDIUM" halignment="2" precision="0" nr_values="1" sampletext="1312314"/>
        <LayoutElement type="0" color="00FF40" x="141" y="55" fixedtext="true" eletype="FX" text="Hallo" font="LARGE" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="00FF00" x="141" y="100" fixedtext="false" eletype="ND" text="Mordor" font="LARGE" halignment="1" precision="0" nr_values="1" sampletext="Trallala "/>
        <LayoutElement type="0" color="00FF00" x="141" y="139" fixedtext="false" eletype="NN" text="Eribor" font="MEDIUM" halignment="1" precision="0" nr_values="1" sampletext="Eribor"/>
        <LayoutElement type="1" color="0000FF" x="141" y="235" x2="0" y2="0" eletype="DT" valuetype="FX" radius="40" stroke="10" nr_values="1"/>
        <LayoutElement type="1" color="0000FF" x="141" y="235" x2="0" y2="0" eletype="CR" valuetype="FX" radius="50" stroke="2" nr_values="1"/>
        <LayoutElement type="0" color="FF8000" x="0" y="400" fixedtext="false" eletype="CT" text="$D.$N.$Y" font="MEDIUM" halignment="2" precision="0" nr_values="1" sampletext="63312"/>
        <LayoutElement type="0" color="FF8000" x="0" y="430" fixedtext="false" eletype="CT" text="$H:$M:$S" font="MEDIUM" halignment="2" precision="0" nr_values="1" sampletext="63312"/>
        <LayoutElement type="0" color="FFFFFF" x="141" y="300" fixedtext="true" eletype="FX" text="das ist weiß" font="SMALL" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="141" y="324" fixedtext="true" eletype="FX" text="das ist schwarz" font="SMALL" halignment="1" precision="0" nr_values="1" sampletext=""/>
    </DIYLayout>
    

    Night:

    <?xml version="1.0" encoding="UTF-8"?>
    <DIYLayout>
        <Device name="Edge 1030"/>
        <LayoutElement type="0" color="FFFF00" x="0" y="0" fixedtext="false" eletype="CN" text="HMs DIY #1" font="SMALL" halignment="2" precision="0" nr_values="1" sampletext="HMs DIY #1"/>
        <LayoutElement type="0" color="FFFF00" x="125" y="0" fixedtext="false" eletype="DV" text="$V" font="SMALL" halignment="2" precision="0" nr_values="1" sampletext="2.6.0"/>
        <LayoutElement type="0" color="FFFF00" x="185" y="0" fixedtext="false" eletype="DV" text="2.x.x" font="SMALL" halignment="2" precision="0" nr_values="1" sampletext="2.x.x"/>
        <LayoutElement type="0" color="FF0080" x="0" y="25" fixedtext="false" eletype="XX" text="noch $V Byte frei" font="MEDIUM" halignment="2" precision="0" nr_values="1" sampletext="1312314"/>
        <LayoutElement type="0" color="00FF40" x="141" y="55" fixedtext="true" eletype="FX" text="Hallo" font="LARGE" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="00FF00" x="141" y="100" fixedtext="false" eletype="ND" text="Mordor" font="LARGE" halignment="1" precision="0" nr_values="1" sampletext="Trallala "/>
        <LayoutElement type="0" color="00FF00" x="141" y="139" fixedtext="false" eletype="NN" text="Eribor" font="MEDIUM" halignment="1" precision="0" nr_values="1" sampletext="Eribor"/>
        <LayoutElement type="1" color="0000FF" x="141" y="235" x2="0" y2="0" eletype="DT" valuetype="FX" radius="40" stroke="10" nr_values="1"/>
        <LayoutElement type="1" color="0000FF" x="141" y="235" x2="0" y2="0" eletype="CR" valuetype="FX" radius="50" stroke="2" nr_values="1"/>
        <LayoutElement type="0" color="FF8000" x="0" y="400" fixedtext="false" eletype="CT" text="$D.$N.$Y" font="MEDIUM" halignment="2" precision="0" nr_values="1" sampletext="63312"/>
        <LayoutElement type="0" color="FF8000" x="0" y="430" fixedtext="false" eletype="CT" text="$H:$M:$S" font="MEDIUM" halignment="2" precision="0" nr_values="1" sampletext="63312"/>
        <LayoutElement type="0" color="FFFFFF" x="141" y="300" fixedtext="true" eletype="FX" text="das ist weiß" font="SMALL" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="141" y="324" fixedtext="true" eletype="FX" text="das ist schwarz" font="SMALL" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="8080FF" x="141" y="355" fixedtext="true" eletype="FX" text="DARK" font="LARGE" halignment="1" precision="0" nr_values="1" sampletext=""/>
    </DIYLayout>
    

  • Is "Distance to next point"  the same as Garmin "Distance to Next" or"Course PT Distance"?   Can "Course PT Distance" be added if it is not currently available?

  • I found the problems. Because I split the code into 3 separate files (low, med, hig) to save some memory, I forgot to change the bits in the "hig" source code. I am sorry for that.

    Hiding, app version and name should work again, version coming soon.

  • Hi

    Sorry, datafields do not have permission to access courses or routes.

    regards

    Erich