Toybox.WatchUi.WatchFace has :onPartialUpdate ; not compatible in EPIX watch

Hi partialUpdatesAllowed = ( Toybox.WatchUi.WatchFace has :onPartialUpdate ); is not compatible in EPIX The watchface crash

And the CIQ_LOG.txt contains this information unable to close power sensor

ERROR: Unexpected Type Error
DETAILS: Failed invoking <symbol>
STORE_ID: 00000000000000000000000000000000
CALLSTACK:
C:\Users\Parents\workspace\WF4CONEW\.\source\GenView.mc (onLayout:165)

WARNING: Unable to close bike power sensor
STORE_ID: 00000000000000000000000000000000

ERROR: Unexpected Type Error
DETAILS: Failed invoking <symbol>
STORE_ID: 00000000000000000000000000000000
CALLSTACK:
C:\Users\Parents\workspace\WF4CONEW\.\source\GenView.mc (onLayout:165)

WARNING: Unable to close bike power sensor
STORE_ID: 00000000000000000000000000000000

ERROR: Unexpected Type Error
DETAILS: Failed invoking <symbol>
STORE_ID: 00000000000000000000000000000000
CALLSTACK:
C:\Users\Parents\workspace\WF4CONEW\.\source\GenView.mc (onLayout:165)

WARNING: Unable to close bike power sensor
STORE_ID: 00000000000000000000000000000000

When i write

System.println("partialUpdatesAllowed="+partialUpdatesAllowed);

partialUpdatesAllowed = ( Toybox.WatchUi.WatchFace has :onPartialUpdate );


System.println("partialUpdatesAllowed After Toybox="+partialUpdatesAllowed); watch face crash


Didier
  • Epix has a really old version of ConnectIQ and that doesn't support partial watchface updates. That may be causing other things like bike sensor thing but I'm not sure they'll even update it anymore.
  • The "has" works on 1.4.x and 2.3.x (or greater) devices that don't support onPartialUpdate (and will be false on those). The epix is still on 1.2.x so it might be that FW doesn't handle the "has" correctly.

    You could do something like use dc.getWidth() and dc.getHeight(), and if they aren't the same (they are the same for round displays), just assume that the watch doesn't support onPartialUpdates and not do the "has" at all on non-round watches.

    (the only watches that support onPartialUpdate are round and CIQ 2.x, but not all round watches support it) A bit of a kludge, but the epix Fw has only been updated once in the last year or so I believe)
  • I didn't know that "has" wasn't available before 1.4 (thanks for the information :-)). Maybe this should be added to the user guide (I didn't find it here: https://developer.garmin.com/connect-iq/monkey-c/).

    That said, I consider that a more elegant solution would be to check for the monkey version before using "has" (instead of checking the device shape). To get the version: https://developer.garmin.com/downloa...eSettings.html
  • Former Member
    Former Member
    'has' was definitely available from 1.0.0, but I think there may have been an issue with certain applications of it that was corrected after the VM revision running on the Epix.