Watchface: Segment



A minimalist watch face featuring a 7-segment style clock for rectangular screens.

Further details may be found on the Segment store page.

Please reply here with bug reports and feedback.
  • i dont have this bug on epix either, but i am using monochrome inverted colors.
  • That's good to know, thanks Mike.

    @splittingfield - I've pushed an update that changes the font configuration ever so slightly, it should have no effect whatsoever but I'm curious as to what it does to the rendering glitch on the 920xt.

    Thanks,
    Dan
  • That's good to know, thanks Mike.

    @splittingfield - I've pushed an update that changes the font configuration ever so slightly, it should have no effect whatsoever but I'm curious as to what it does to the rendering glitch on the 920xt.

    Thanks,
    Dan


    Thanks for the prompt response dan. I know how frustrating fixing this type of issue can be, as I am in software too. However, I have updated the face (atleast I clicked update in garmin connect) and
    the issue still exists. Unfortunely, I updated my firmware before installing the face to I do not know if that
    is an issue.
  • Thanks, it was a long-shot anyway. I will continue digging, but please let me know if you can discern any pattern to the glitch. For example, does it always happen with specific numbers regardless of position, or does it only occur in certain positions?

    Regards,
    Dan
  • Thanks, it was a long-shot anyway. I will continue digging, but please let me know if you can discern any pattern to the glitch. For example, does it always happen with specific numbers regardless of position, or does it only occur in certain positions?

    Regards,
    Dan


    Dan,

    IT seems to be that they just appear eventually and then stay.
  • Dan,

    IT seems to be that they just appear eventually and then stay.



    So, it seems like this is what happens. When a horizontal line is drawn at the top of the time box, it adds an additional horizontal line above this. This later line
    stays as the time changes. For example, if there time were 1:31, there would be a bar above the three. At 1:32, the line would be added above the 2. At 2:00
    there would be lines above all three. Then sometimes, a small line appears above the :, which I cannot yet understand or explain.
  • So, it seems like this is what happens. When a horizontal line is drawn at the top of the time box, it adds an additional horizontal line above this. This later line
    stays as the time changes. For example, if there time were 1:31, there would be a bar above the three. At 1:32, the line would be added above the 2. At 2:00
    there would be lines above all three. Then sometimes, a small line appears above the :, which I cannot yet understand or explain.


    Thank you for the feedback.
    The fact that the lines stay stuck in place (despite me performing a clear() each time it is rendered) suggests that the issue is more likely in the firmware for that particular device than anything.

    I am asking for help regarding this in the main developer forum but in the meantime I have an idea that may work around the glitch although it will increase the memory usage slightly; I might give this a try later.
  • Thank you for the feedback.
    The fact that the lines stay stuck in place (despite me performing a clear() each time it is rendered) suggests that the issue is more likely in the firmware for that particular device than anything.

    I am asking for help regarding this in the main developer forum but in the meantime I have an idea that may work around the glitch although it will increase the memory usage slightly; I might give this a try later.


    That is fair, but the fact that there is a line drawing above the segment and then not clearing also sounds like it could be an off-by-one error somewhere. Do you have to specify canvas size for the clock portion of the watch face? I am not familiar with the Garmin SDK that much, but my programming spider-sense is sort of kicking in here.
  • I had the same thought - it definitely has the signature of an off-by-one but the canvas clearing is as follows:

    dc.setColor(Gfx.COLOR_BLACK, Gfx.COLOR_BLACK);
    dc.clear();


    which the documentation describes as
    Erase the screen using the background color by calling clear().


    If it was an off-by-one in my code then surely it would exhibit the same behaviour on other device types?
  • I've made another shot-in-the-dark modification by adding some padding to the font.

    This has increased the memory usage ever so slightly and may be less efficient to render but it might help with the rendering glitch.

    Please let me know if it makes any difference,
    Thanks