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

 

  • Hi

    When I insert an Arc(X=123, Y=642, Start A.=258, End A.=282, Radius=600) on Edge 830 the layout becomes distorted. With Circle with same parameters is OK.

    Can you please check.

  • It might be the known bug in Garmins SDK.

    Please read the postings from 9 month ago in that thread:

    https://forums.garmin.com/developer/connect-iq/f/showcase/206277/hms-diy-1-6/995859#995859 

  • Glad to hear someone else observes this.  Are you using miles or kilometers?  I was thinking as most users of this data field seem to be using kilometers we would have heard of this before if it happens to both.

  • I use miles. I'm super good at the conversion. 1609.344 is etched in my brain, meters per mile!!

  • Hi

    Has anyone managed to adjust fonts for Edge 830. I have a little bit problems with XTINY, TINY fonts.

    Thanks

  • Time and Temperature values doesn't show, if they have negative Y axes  (and maybe all other values too)

  • Please post your xml file. 

  • Here is my file

    Edge830_OrbeaOiz_5.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <DIYLayout>
        <Device name="Edge 830"/>
        <Designer time="25.09.2020 20:41" ver="3.0.2" ifver="B"/>
        <LayoutElement type="3" text="----------------- Background ------------------"/>
        <LayoutElement type="1" color="C0C0C0" x="0" y="0" x2="246" y2="17" eletype="RF" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="FFFFFF" x="0" y="18" x2="246" y2="55" eletype="RF" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="0" y="17" x2="322" y2="17" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="BBFFDD" x="123" y="639" x2="258" y2="282" eletype="CF" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="599" stroke="2" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="123" y="640" x2="258" y2="282" eletype="CR" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="600" stroke="2" nr_values="1"/>
        <LayoutElement type="1" color="FFFFFF" x="0" y="98" x2="246" y2="322" eletype="RF" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="0" y="97" x2="322" y2="97" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="0" y="99" x2="322" y2="99" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="123" y="107" x2="123" y2="132" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="10" y="140" x2="236" y2="140" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="123" y="148" x2="123" y2="176" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="10" y="184" x2="236" y2="184" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="82" y="192" x2="82" y2="220" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="164" y="192" x2="164" y2="220" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="50" y="226" x2="196" y2="226" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="50" y="228" x2="196" y2="228" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="50" y="273" x2="196" y2="273" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="50" y="271" x2="196" y2="271" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="50" y="326" x2="239" y2="270" eletype="AC" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="100" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="50" y="328" x2="239" y2="270" eletype="AC" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="100" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="196" y="326" x2="270" y2="301" eletype="AC" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="100" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="196" y="328" x2="270" y2="301" eletype="AC" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="100" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="50" y="371" x2="239" y2="270" eletype="AC" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="100" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="50" y="373" x2="239" y2="270" eletype="AC" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="100" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="196" y="373" x2="270" y2="301" eletype="AC" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="100" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="196" y="371" x2="270" y2="301" eletype="AC" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="100" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="82" y="283" x2="82" y2="312" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="164" y="283" x2="164" y2="312" eletype="LN" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="3" text="----------------- Battery ------------------"/>
        <LayoutElement type="1" color="000000" x="4" y="1" x2="30" y2="16" eletype="RF" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="000000" x="30" y="4" x2="34" y2="13" eletype="RF" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="FFFFFF" x="6" y="3" x2="28" y2="14" eletype="RF" valuetype="BV" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="FF0000" x="6" y="3" x2="9" y2="14" eletype="RF" valuetype="BV" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="1" color="00B001" x="6" y="3" x2="28" y2="14" eletype="RH" valuetype="BV" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="0" color="000000" x="12" y="4" fixedtext="false" maxonly="false" daynight="true" eletype="BV" text="$V" font="XTINY" halignment="2" precision="0" nr_values="1" sampletext="89"/>
        <LayoutElement type="2" replDC="00B001" valDC00="1000" colDC00="000000" hideDC00="false" blinkDC00="false" valDC01="200" colDC01="00E000" hideDC01="false" blinkDC01="false" valDC02="110" colDC02="F8C840" hideDC02="false" blinkDC02="false" valDC03="1" colDC03="FF0000" hideDC03="false" blinkDC03="false" invertcolor="false"/>
        <LayoutElement type="3" text="----------------- Time ------------------"/>
        <LayoutElement type="0" color="000000" x="242" y="-3" fixedtext="false" maxonly="false" daynight="true" eletype="CT" text="$h:$M" font="TINY" halignment="0" precision="0" nr_values="1" sampletext="23455"/>
        <LayoutElement type="3" text="----------------- Temperature ------------------"/>
        <LayoutElement type="0" color="000000" x="123" y="-3" fixedtext="false" maxonly="false" daynight="true" eletype="TM" text="$V °C" font="TINY" halignment="1" precision="1" nr_values="1" sampletext="18.4"/>
        <LayoutElement type="3" text="----------------- Speed ------------------"/>
        <LayoutElement type="0" color="000000" x="85" y="52" fixedtext="true" maxonly="false" daynight="true" eletype="FX" text="Speed" font="SMALL" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="158" y="52" fixedtext="true" maxonly="false" daynight="true" eletype="FX" text="km/h" font="SMALL" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="123" y="43" fixedtext="false" maxonly="false" daynight="true" eletype="C2" text="$V" font="NR_MILD" halignment="1" precision="1" nr_values="1" sampletext="23.5"/>
        <LayoutElement type="0" color="000000" x="85" y="76" fixedtext="true" maxonly="false" daynight="true" eletype="FX" text="Avg." font="TINY" halignment="0" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="158" y="76" fixedtext="true" maxonly="false" daynight="true" eletype="FX" text="km/h" font="TINY" halignment="2" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="123" y="77" fixedtext="false" maxonly="false" daynight="true" eletype="AS" text="$V" font="SMALL" halignment="1" precision="2" nr_values="1" sampletext="34.76"/>
        <LayoutElement type="3" text="----------------- Heart Rate ------------------"/>
        <LayoutElement type="0" color="000000" x="61" y="100" fixedtext="true" maxonly="false" daynight="true" eletype="FX" text="Heart Rate" font="TINY" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="61" y="117" fixedtext="false" maxonly="false" daynight="true" eletype="HR" text="$V" font="MEDIUM" halignment="1" precision="0" nr_values="1" sampletext="183.55"/>
        <LayoutElement type="0" color="000000" x="184" y="100" fixedtext="true" maxonly="false" daynight="true" eletype="FX" text="Avg. HR" font="TINY" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="185" y="117" fixedtext="false" maxonly="false" daynight="true" eletype="AH" text="$V" font="MEDIUM" halignment="1" precision="0" nr_values="1" sampletext="154.49"/>
        <LayoutElement type="3" text="----------------- Timer $  Distance ------------------"/>
        <LayoutElement type="0" color="000000" x="61" y="141" fixedtext="true" maxonly="false" daynight="true" eletype="FX" text="Timer" font="TINY" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="79" y="163" fixedtext="false" maxonly="false" daynight="true" eletype="TT" text="$H:$M:$S" font="TINY" halignment="1" precision="0" nr_values="1" sampletext="3600"/>
        <LayoutElement type="1" color="FFFFFF" x="53" y="167" x2="90" y2="180" eletype="RF" valuetype="FX" minval="false" maxonly="false" daynight="true" radius="0" stroke="1" nr_values="1"/>
        <LayoutElement type="0" color="000000" x="61" y="159" fixedtext="false" maxonly="false" daynight="true" eletype="TT" text="$H:$M:$C" font="MEDIUM" halignment="1" precision="0" nr_values="1" sampletext="3600"/>
        <LayoutElement type="0" color="000000" x="184" y="141" fixedtext="true" maxonly="false" daynight="true" eletype="FX" text="Distance" font="TINY" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="185" y="159" fixedtext="false" maxonly="false" daynight="true" eletype="C3" text="$V" font="MEDIUM" halignment="1" precision="2" nr_values="1" sampletext="25.3"/>
        <LayoutElement type="3" text="----------------- Lap ------------------"/>
        <LayoutElement type="0" color="000000" x="41" y="186" fixedtext="true" maxonly="false" daynight="true" eletype="FX" text="Curent Lap" font="TINY" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="41" y="207" fixedtext="false" maxonly="false" daynight="true" eletype="LT" text="$H:$M:$S" font="TINY" halignment="1" precision="0" nr_values="1" sampletext="1326"/>
        <LayoutElement type="0" color="000000" x="123" y="186" fixedtext="true" maxonly="false" daynight="true" eletype="FX" text="Lap Speed" font="TINY" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="123" y="207" fixedtext="false" maxonly="false" daynight="true" eletype="CV" text="$V" font="TINY" halignment="1" precision="2" nr_values="1" sampletext="32.2"/>
        <LayoutElement type="0" color="000000" x="205" y="186" fixedtext="true" maxonly="false" daynight="true" eletype="FX" text="Lap Dist." font="TINY" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="205" y="207" fixedtext="false" maxonly="false" daynight="true" eletype="LD" text="$V km" font="TINY" halignment="1" precision="2" nr_values="1" sampletext="2.23"/>
        <LayoutElement type="3" text="----------------- Elevation ------------------"/>
        <LayoutElement type="0" color="000000" x="41" y="280" fixedtext="true" maxonly="false" daynight="true" eletype="FX" text="Ascent" font="TINY" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="41" y="299" fixedtext="false" maxonly="false" daynight="true" eletype="TA" text="$V" font="SMALL" halignment="1" precision="0" nr_values="1" sampletext="50"/>
        <LayoutElement type="0" color="000000" x="123" y="274" fixedtext="true" maxonly="false" daynight="true" eletype="FX" text="30s VAM" font="TINY" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="123" y="293" fixedtext="false" maxonly="false" daynight="true" eletype="VC" text="$V" font="SMALL" halignment="1" precision="0" nr_values="30" sampletext="50"/>
        <LayoutElement type="0" color="000000" x="205" y="280" fixedtext="true" maxonly="false" daynight="true" eletype="FX" text="Elevation" font="TINY" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="000000" x="205" y="299" fixedtext="false" maxonly="false" daynight="true" eletype="CL" text="$V" font="SMALL" halignment="1" precision="0" nr_values="1" sampletext="50"/>
        <LayoutElement type="3" text="----------------- Logo ------------------"/>
        <LayoutElement type="0" color="0080FF" x="123" y="19" fixedtext="true" maxonly="false" daynight="true" eletype="FX" text="ORBEA OIZ" font="SMALL" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="0080FF" x="122" y="20" fixedtext="true" maxonly="false" daynight="true" eletype="FX" text="ORBEA OIZ" font="SMALL" halignment="1" precision="0" nr_values="1" sampletext=""/>
        <LayoutElement type="0" color="0080FF" x="124" y="19" fixedtext="true" maxonly="false" daynight="true" eletype="FX" text="ORBEA OIZ" font="SMALL" halignment="1" precision="0" nr_values="1" sampletext=""/>
    </DIYLayout>
    

  • At the moment it is not possible to use negative values for coordinates altough you can enter them in the designer. It will be fixed in the next version (will come today).