How to handle the Instinct 2 screen?

Hi!

I have a data field and I am struggling to make it work properly on the Instinct 2 screen. For the examples on the images, I just want to disregard the sub screen (on which I'll work latter).

This is the expected result, which seems right on the simulator for the Instinct 3 solar:

The result is also as expected on other devices, such as Enduro 3:

But when I run it on the Instinct 2, this is the result I get:

It is like the screen area is limited to only the superior half and limited by the subscreen.

To draw the lines, the code is as follows:

screenWidth = dc.getWidth();
screenHeight = dc.getHeight();
screenLines = [
            // Horizontal lines
            [0, screenHeight/4, screenWidth, screenHeight/4],
            [0, 2*(screenHeight/4), screenWidth, 2*(screenHeight/4)],
            [0, 3*(screenHeight/4), screenWidth, 3*(screenHeight/4)],
            // Vertical lines
            [screenWidth/2, 2*(screenHeight/8), screenWidth/2, 6*(screenHeight/8)]
        ];

and eventually I use dc.drawLine to draw the lines.

If I print the values of width and height on the terminal, I get 112 x 71, although the reference guide says its screen is 176 x 176. If I hard code these dimensions, the result is still unsatisfactory:

What am I missing here in order to get the same behavior for the Instinct 2 family? Or is it just a simulator issue and works in real life?

TIA.

  • Since you can set a usable 1 field layout on devices without a subscreen, maybe it should be grayed for devices with a subscreen, but it's also the overall default,  This could just be the way the sim is showing an invalid setting.

    You can just admit it's a bug.

    Do you think it's impossible for the sim to default to 2 fields for a device which doesn't support a 1 field layout? Do you really think the correct way to signify an invalid setting is to display a field layout which looks wrong? It would be better to prevent an invalid setting from being selected in the first place, and to automatically change the setting when appropriate (i.e. if 1 field is already selected, then when a device which does not support 1 field is run in the sim, the sim simply changes the layout to literally any other layout, such as 2 fields).

    BTW, the device reference for Instinct 2 (i.e. official Garmin documentation) says otherwise. It actually shows the same thing as the sim.

    So if it is a bug, it's a bug in both the simulator and the documentation. (I imagine they might be generated from the source.)

    https://developer.garmin.com/connect-iq/reference-guides/devices-reference/#instinct%C2%AE2solardualpowerd%C4%93zledition

    Further context, I went back and retested instinct3solar45mm in the sim (which has a subscreen).

    - 1-field layout indeed covers the entire display (including the subscreen)

    - 2-field layout excludes the subscreen

    It looks exactly as in the device reference guide:

  • Imo the existing diagrams in the device reference guide are very unclear, where a subscreen is involved, so I added some mockups to the bug report that I think would be improvements. I'll also post them here.

    --

    What I think could be done to improve these diagrams:

    - In all cases, assign numbers to the individual fields, indicating their order in the data page

    - Shade the areas of the screen which are assigned to fields

    - When there's a device with a subscreen, and it's ambiguous as to which areas of the screen are actually assigned to fields and/or fields can overlap, have a separate diagram for each field.

    e.g. Instinct 2

    1-field layout (assuming it actually exists)

    2-field layout:

    or maybe:

    e.g. Instinct 3 Solar:

  • I started to work on adding the semi-octagon devices to my DF and app. I worked on Instinct E 45mm (in the sim) and arranged everything nicely. Then I checked it on Instinct 2, and it doesn't look right. And then I started to search in the forum and I realized that (in SDK 8.1.1, simulator) Instinct E 45mm does have a 1 field datafield layout, and it lets me draw at the subscreen area as well. Is that a new thing for the new instincts or is it a bug in the simulator, and it's not supposed to be available?

    This is from a "1 field" layout datafield:

  • Instinct E 45mm does have a 1 field datafield layout, and it lets me draw at the subscreen area as well. Is that a new thing for the new instincts or is it a bug in the simulator, and it's not supposed to be available?

    Considering that in the new Instincts (E and 3), the layouts with more than 1 field exclude the subscreen (according to the device reference [*]), I would say the 1-field layout (which includes the whole screen + subscreen) must be intentional, otherwise it would be impossible to draw on the subscreen.

    Also, if you compare an older Instinct (e.g. 2) with newer Instinct (e.g. 3):

    - The old 2 field layout is the same as the new 1 field layout in the sense that both allow you to draw on the whole screen

    - The old n+1 field layouts are the exactly same as the new n field layout, except the old layout has 1 additional field for the subscreen, while the new layout apparently does not let you draw on the subscreen at all.

    e.g. e.g. 3 Field Layout A on Instinct 3 Solar is the same as 4 Field Layout B on Instinct 2, except that the dedicated subscreen field is not present on Instinct 3 solar.

    It doesn't seem possible that Instinct 3/E simply gained a 1-field layout by accident, as all the other layouts changed accordingly as well.

    That's just a guess tho. I haven't tried any of this on a real device.

    [*] I verified this in the sim using a simple data field.

    --

    Looking at DCR's reviews for Instinct 2 and Instinct 3, both devices allow a native field to be placed in the subscreen [which obviously only exists for MIP variants]. So if the behaviour in the sim / documentation is real, I would guess the explanation for the different between I2 and I3 is that on a real Instinct 3 Solar / Instinct E, you cannot place a Connect IQ field in the subscreen, only a native field. And it seems that on an Instinct 2, you could place a CIQ field in the subscreen.

    I also found an apparent bug in the Instinct 3 Solar / Instinct E 3 Field A layout in the sim, where a simple data field is concerned. The value of the simple data field is right-aligned with the field, while the label is correctly centred.

    3 Field B looks ok (as do all the other layouts).

  • I don't have any instinct devices, but if I'd have one I'd hope that this (that on E, 3solar CIQ can't use the subscreen) is a simulator bug. I don't think many DF-s support the subscreen, and it would be really nice if the already existing ones would continue to work.

  • Like I said the changes seem too systematic to be a bug, but I could be wrong.

    Garmin never replied on the original I2 bug report to clarify the situation, but to be fair, that bug report wasn't really about this.

  • if I'd have one I'd hope that this (that on E, 3solar CIQ can't use the subscreen) is a simulator bug. I don't think many DF-s support the subscreen, and it would be really nice if the already existing ones would continue to work.

    jim_m_58's comment in the other thread suggests that it was never possible to set a CIQ field in the subscreen, which means that the sim behaviour for the new Instinct devices is an improvement. (i.e. The behaviour for I2 in the sim was misleading).

    On real I2 devices, you can't set a 1 field layout for data fields.  The minimum is 2, with the subscreen being one of the fields, and you can only set it for native data field, not CIQ ones.