WatchFace design Help- minute markers, stepgoal, altidued, .... for Dummy!

Hello my name is Mike,

I own a Fenix3 for 3 weeks or so.

After looking in the iq store I was not happy with the available analog watchfaces.

So I tried to build my own.

Finally a got it working, but for some things I´m to stupid.

1. Draw minute markers like in this watch face
2. a battery symbol
3. get the current altidude, it´s allways said I need permission for this
Don´t know how to get them.

4. On the watchface I want to show the steps and depending on the procress change the colour from red, orange and green or so.
I got this working in the simulation, but when I put the watchface on the watch, the watchface is not working anymore.

I´m sure someone out there can help me.

Thank you!!
  • Hello my name is Mike,

    I own a Fenix3 for 3 weeks or so.

    After looking in the iq store I was not happy with the available analog watchfaces.

    So I tried to build my own.

    Finally a got it working, but for some things I´m to stupid.

    1. Draw minute markers like in this watch face
    2. a battery symbol
    3. get the current altidude, it´s allways said I need permission for this
    Don´t know how to get them.

    4. On the watchface I want to show the steps and depending on the procress change the colour from red, orange and green or so.
    I got this working in the simulation, but when I put the watchface on the watch, the watchface is not working anymore.

    I´m sure someone out there can help me.

    Thank you!!


    1. See the analog watch sample in the SDK for a simple example.
    2. couple ways to do this. You can draw a couple of rectanges, or what's common is doing an "icon font" for things you want like battery, bluetooth status, etc.
    3. You can get the last altitude from Activity.Info, but it's your last altitude from an activity and may be have gone stale. As you found, you can't get it real-time on a watchface. This is to save battery - they are designed to be as low power as possible,
    4. not sure why it works in the simulator, but not on the watch. When you side load it on the watch, are you using the proper target device? Other than that, post your code that does this, as it might be something wrong with it.
  • I found the example in the SDK, but the markers are not working.

    This is the definition code, but the drawing part is missing and I don´t know how to realice it.

    //! Draw the hash mark symbols on the watch
    //! @param dc Device context
    function drawHashMarks(dc)
    {
    var width = dc.getWidth();
    var height = dc.getHeight();
    var coords = [ 0, width/4, (3 *width)/4, width ];

    //
    for(var i = 0; i < coords.size(); i += 1)
    {
    var dx = ((width/2.0) - coords) / (height/2.0);
    var upperX = coords+ (dx * 10);
    // Draw the upper hash marks
    dc.fillPolygon([ [coords- 1, 2], [upperX - 1, 12], [upperX + 1, 12], [coords+ 1, 2] ]);
    // Draw the lower hash marks
    dc.fillPolygon([ [coords- 1, height-2], [upperX - 1, height - 12], [upperX + 1, height - 12], [coords+ 1, height - 2]]);
    }
    }

    Here is the code from the stepgoal

    var activityinfo = Act.getInfo();
    var steps = activityinfo.steps.toString();
    var goal = activityinfo.stepGoal.toNumber();

    if( steps <= (goal * 0.30) )
    {
    dc.setColor(Gfx.COLOR_RED, Gfx.COLOR_WHITE);
    }
    else if( steps <= (goal * 0.31 ) || steps <= (goal * 0.80 ))
    {
    dc.setColor(Gfx.COLOR_ORANGE, Gfx.COLOR_WHITE);
    }
    else if( steps >= ( goal * 0.81))
    {
    dc.setColor(Gfx.COLOR_GREEN, Gfx.COLOR_WHITE);
    }
    dc.drawText(width-109,(height-86),Gfx.FONT_SMALL, steps, Gfx.TEXT_JUSTIFY_LEFT);


    This are the two important things.

    So for the Altidude I have to use activityinfo and not position or sensor?
    That maybe the solution
  • I´ve found a easy solution for the minutemarks.

    I drew an image and used it as backround.

    Working on the other things I tought it would be great if the second hand appers when the backlight goes on.
    But I didn´t find the correct system status.

    I found out, that it´s not possible to keep it on, becaus garmin restrict that for saving battery.

    Anyone has an idea where to find this?

    Thanks!
  • Image as hands

    Is it possible to use images for the hands?
    Can someone tell me the code to realice this?
  • Is it possible to use images for the hands?
    Can someone tell me the code to realice this?


    I don't think so.
    There is no way to apply transformations to images as far as I am aware.
  • I don't think so.
    There is no way to apply transformations to images as far as I am aware.


    So bad.
    Do you know how to round the edges of the hand?
  • So bad.
    Do you know how to round the edges of the hand?

    You have to do some custom drawing with dc and do the transformations yourself.
    I haven't done analog watchfaces yet, so unfortunately I have no clue myself.
    But I hope that I could steer you into some direction. Perhaps a general google search could tell you more?