Epix Gen 2 parameter that tells if in always on mode

I have a watch face that I modified for the Epix Gen 2. It looks at whether the watch is in low power mode or not and displays either a simple watchface if in low power or a more complex watchface if in high power. Basically, it just uses onentersleep and onexitsleep to determine which watchface to display. It works fine when I have things set to always on display mode but when I turn off always on display mode when the device goes to sleep after the 8 seconds it will display the simple watchface for a few seconds in high power mode before actually turning off. It does in fact turn it off but I would like for it not to display the simple watchface. I'd like for it to go straight from my normal watch face to off. What I believe it needs is a check to see whether the watch is set to alway on or not. I couldn't find a parameter in the API documentation that is T/F for AOD. Is that parameter available to me via the api? I basically used the code from How to enable an "always-on" mode for Venu/AMOLED - Discussion - Connect IQ - Garmin Forums to modify my watchface for AOD. Thanks

  • Are you using requiresBurnInProtection?  That's how you can tell if you have an AMOLED display.

    In Low Power Mode, and if that is true, there are limits on what you can display.  No more than 10% of the pixels can be lit, and no single pixel for more than 3 minutes.  You always want to have a black background, and you can check things out in the sim with File> View Screen Heat Map.

  • Yes, When it goes to sleep it sets lowpower=true and calls  WatchUi.requestUpdate();. Inside the update it checks if low power is true and watch has requireburnin then display the low power watchface else display the high power watchface. This works fine when in AOD mode. The low power watchface meets requirements of an AOD watchface. It just displays the time and alternates between displaying on top of screen and on bottom of screen. No overlap. When AOD is turned off however the onentersleep makes it's requestupdate call and it does it's requireburnin and lowpower check then displays the lowpower watchface for 5 seconds before it turns off. The pseudo-code is:

    if(inLowPower) {
    if(canBurnIn) {

    display lowpower watchface

    } else

    display high power watchface

    }

    }

    What I need it to do is:

    if(inlowpower and canburnin and inAOD){

    display lowpower watchface

    } elseif (inlowpower and canburnin and !inAOD){

    turn off

    } else{

    display highpower watchface

    }

    }

    So what I am looking for is something that tells me I am or am not in AOD. That way I can add that check and it won't display the low power watchface for 5 seconds when it turns off and i am !inAOD

  • BTW, what you see on the epix2 is the same as on a Venu, Venu Sq, Venu2 and Venu2+.  Not sure why you want to have a new isAOD.  Turning off the display when not set for AOD is a function of the firmware

  • Yes but with the native Garmin watch faces if AOD is off once the timer expires the watch face turns off. With my watch face when the timer expires it displays the low power watch face for approx 5 seconds then turns off. Not a real big deal but I would like the functionality to be like the native Garmin watch faces. 

    I would like my watch face to turn off upon timer expiry and not display the low power watch face before it turns off. If I were to run a check on IsAODoff  I could stop it from getting into the if statement that displays the low power watch face and it would act more like the native Garmin watch faces.

    The if statement that displays the low power watch face only checks if it is amoled and if it is low power. Both low power and amoled meet the requirements of the if statement regardless of whether AOD is set to on or off. This is why I think it is displaying the low power watch face for a few seconds before it actually turns off

  • The native watch faces are not written in CIQ and can do things differently

  • Then no isAODon system parameter that I can programmatically access? BTW, it was your code that I used to get me this far. Thanks for the help