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

 

  • Now I finally also got some time to do a real switch from the old DIY datafield to HMs DIY for my Edge 1030 device.

    My first impression: Really great work! It's absolutely fantastic!

    I recreated my old DIY datafield to the HM - nearly everything I did can also be done with HMs version and more!
    And it simply works (in contrast to some things in the old DIY which never got fixed...)!
    Again: fantastic!

    @hundsmiachn: would you please allow personal mails here at the forum? Or could you provide an E-Mail address to directly contact you?
    I have a question which I only want to ask personally and not here in the public place...

    So now to a few problems / questions:
    1.) designer: I very often have the problem, that it suddenly does not refresh the graphic - a press at "Refresh" does not help and even reloading the XML does also not help.
      I have to close and restart it...Designer: No Refresh

    2.) designer: I have some problems with special UTF characters in text fields - they show up in the designer until I save / reload the file, after that only "?" will be shown instead.
      I looked at the XML files and found out, that there encoding is not correct - in the xml header line it says it's "UTF-8", but it's not, it seems to be ANSI (with that format German umlauts are working but other special UTF chars do not)....
      (BTW, I use BeyondCompare to compare my German and my English version of my design - that one tries to interpret the files as UTF-8 and then says "File Encoding Error" in the lines which contain special charactes)
      Can you please change this to "real" UTF-8 encoded files? (I suggest to use UTF-8 with BOM because that can be detected best by editors)

    Now some wishes for future versions or questions if/how that's already possible:
    3.) is it possible to set minimum and maximum values for dynamically filled graphical elements?
      I mean to set the minimum value for "not filled at all" and the maximum value for "100% filled"?
      If not, it would really nice if you could add it...

    4.) Currently the first element in my design is a white rectancle which fits the complete screen.
       So this is my "paint background".
      At my Edge 1030 im able to switch the "Color mode" to "automatic" - that means it automatically switches between dark writing at a bright background for day use to bright writing at dark background for nightly use.
      Is it possible to do a design which makes that switching also possible?

    5.) could you please add some compass related fields / graphical element(s)?
      E.g. an arrow or a complete compass rose which shows the direction to north...

    6.) is it possible to get the current unit name (in the language which has been set at the device) of a value (e.g. as format string)?
      For time related fields this would be a good thing (as I never know if the currently active value contains the hour / minute or not)  - but also to create a design which shows the correct units related to the language metering system at the device (e.g. to create a field which shows °C for the meter system and °F for the imperial one)


    And last but not least (if somebody is interested): here is my (unfinished) design - a German and an English version (don't know if that works at all).
    Bodenseematze's Design (DE)Bodenseematze's Design (EN)

    EDIT: I'm currently unable to add code here at this forum - it always asks about a captcha which is only displayed in parts... :-(

    worst forum ever!


    How can I add it? Or even better: how do I add the xml files as attachment?


  • hi, it seems this workaround for dynamic coloured temperature is working... so I'm almost therein my "dream" display setup :-)

    so thanks to all for help

    but maybe last two issues I'm expiriencing...

    1. sometimes it's showing 0 for long time before starting showing real temperature

    2. can't figure out day/night mode... does inverting display work automaticaly?

  • I will try to give some answers to  :

    ad 1) Designer crash
    Yes, that happens also to me and the developer HM is informed. Seems to be some kind of overflow, but is not easy to reproduce. The good is that I never lost data or work - just simply restart the designer. HM wrote in one of his last postings that he will redo the whole designer-thing. Maybe that will help on this case too.

    ad 2) UTF-8
    Yes, the XML-file says UTF-8 coded and apparently it is plain text. But there is no need to open the design-file with a XML-editor. And yes, you are right, if there are some special characters like °C or Øø then you'll get an error-message from the XML-editor. But I have testet to set the mentioned characters in my design, save it, reload it, transfer it to Edge - and all works fine. Nothing gets lost and all is diplayed well on the device. Maybe there are other special characters not working that way...? Which characters have you tried to use?

    <?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="FF0000" x="150" y="86" fixedtext="false" eletype="TM" text="$V °C" font="MEDIUM" halignment="0" precision="0" nr_values="1"/>
        <LayoutElement type="0" color="FF0000" x="150" y="123" fixedtext="true" eletype="FX" text="øØ °C" font="MEDIUM" halignment="0" precision="0" nr_values="1"/>
    </DIYLayout>
    

    And - I have no problem to show code. I simply chose "Insert" - "Code", click into the code window and paste the text.

    ad 3) min/max Values for Dynamic color filled graphic element
    You can (and have to) define the minimum and maximum value of dyn. filled rectangle and arc.
    The smallest value in the corresponding Dynamic Color Element defines the minimum, the greatest value the maximum.
    If you want a rectangle to fill from 60 bpm HR (rectangle is empty) up to 200 bpm (rectangle is full) then define as smallest value 600, give it the color the progress bar should have and set the greatest value to 2000.

    ad 4 to 6)
    I can't comment on that

  • ...maybe a note ad 6) units
    In fact, I've been thinking that it would be useful for users in the Imperial system to have an element that outputs the text "am" or "pm" according to the time of day. But since I don't need that in Europe, I didn't suggest it.
    I don't think there is really a need for elements that output other units of measurement as text (km/mi, C/F etc...) because nobody changes the system all the time.
    I could see the need if you want to produce code to distribute it worldwide. But I don't think that DIY is meant for that.

  • 1. sometimes it's showing 0 for long time before starting showing real temperature

    You have to go back in that thread and start to read here:

    forums.garmin.com/.../992962

  • Hi

    You can write me a mail to erichjarz a t g mail (dont want to write it completely, I think you can guess it (-:) in german as your name suggests (I am from Austria).

    @1: I know, but haven't found a solution for that yet. There will be a new version in the future, but this will take some time....

    @2: I will take a look at that, it should store it as utf8 as well, doesnt make sense to only put the header in utf8 in and the text isnt.

    @3: I think mcinner1 already answered on that. If you want to let the arc not go completely to zero and max, you could just make 3 arcs, do you mean that?

    @4: Hm, I could add a additional layout string setting. One is activated on light mode and one on dark mode. I will look into that.

    @5: I will also take a look at that.

    @6: I think unit name will not be possible at the moment. It would take up just too much memory. I know that high mem devices do not have that problem, but I also want the other devices to have the most features as possible. I would want to add this also to the medium devices but that would reduce the number of available elements in a layout significantly. And as mcinner1 said you can add the unit manually and I think you dont often switch between unit systems.

    regards

    Erich

  • Some thoughts about saving in XML UTF-8:

    In the film-subtitling-business I'm working, we use "real" UTF-8 coded XML-files as international standard for DCP-Subtitle files. I built a dummy subtitlefile containing 2 text-lines:
    "10 ° Celsius"
    "Durchschnitt øØ"

    This UTF-8 XML file looks like this (shown in plain text):

    Test_German_Reel1.xml
    <?xml version="1.0" encoding="UTF-8" ?>
    <DCSubtitle Version="1.1 TITRA-Film Vienna">
    <SubtitleID>520D440C-1A51-404A-A264-B59011D43EF5</SubtitleID>
    <MovieTitle>Test</MovieTitle>
    <ReelNumber>1</ReelNumber>
    <Language>German</Language>
    <!--  Sync Point - Picture Start -->
    <!--  Running Speed - 25 fps -->
    <LoadFont Id="Arial" URI="arial.ttf" />
    <Font Id="Arial" Color="FFFFFFFF" Effect="border" EffectColor="FF000000" Italic="no" Size="42">
    
    <Subtitle SpotNumber="1" TimeIn="00:00:00:060" TimeOut="00:00:01:000" FadeUpTime="20" FadeDownTime="20">
          <Text VAlign="bottom" VPosition="8.0" HAlign="center" HPosition="0">10 &#186; Celsius</Text></Subtitle>
    
    <Subtitle SpotNumber="2" TimeIn="00:00:01:100" TimeOut="00:00:01:230" FadeUpTime="20" FadeDownTime="20">
          <Text VAlign="bottom" VPosition="8.0" HAlign="center" HPosition="0">Durchschnitt &#248;&#216;</Text></Subtitle>
    
    </Font>
    </DCSubtitle>
    

    As you can see, the special characters are stored as plain text - "&#186;" for degree sign, and so on...

    You can open the code above in any XML-editor and it will be shown correctly, but I see much programming-effort to change the existig storage-system to "real XML UTF-8".

    And then there is the question if the Garmin devices can show all UTF special characters at all.

  • como hago para ponerlo en el garmin 1030 cuando lo tengo hecho.

  • como hago para ponerlo en el garmin 1030 cuando lo tengo hecho.