Acknowledged

setFill() chrash on Venu2sq devices

I use the new texture functions for new SDK4 devices without problems.

I have define a png as texture and use dc.setFill(texture) before I draw a rectangle. This is working fine in all SDK4 OLED devices.

only on a Venu2sq the compiler crashed with unknown command setFill()

Is a Venu2sq SDK4 device exclude from this function or is it a simulator problem.

  • Maybe have something to this effect in the API documentation? I figured out a while ago the workaround was to do this:

    self._hasSetFill = (dc has :setFill);

  • Hello. The setFill() function is only available on devices that have a GPU. This feature is not supported on the Venu Sq2. 

  • I am having a similar issue -- setFill works in the Edge 840 simulator, but crashes on the device.

  • Using SDK 4.2.4, I've been testing my watch face on a lot of devices in the simulator lately. I see that all the Forerunner 255 variants and Venu 2 Sq variants are API 4.2.0, but dc.setFill() is not available:

    var thisDev = System.getDeviceSettings();
    self._sysStats = System.getSystemStats();
    System.println("FW " + thisDev.firmwareVersion + ", PN " + thisDev.partNumber + ", API " + self._api 
    	+ ", total mem " + self._sysStats.totalMemory + ", free mem " + self._sysStats.freeMemory);
    	
    FW [14, 15], PN 006-B3991-00, API 40200, total mem 126944, free mem 78176
    
    Error: Symbol Not Found Error
    Details: Could not find symbol 'setFill'

    SetFill() works without error on the following devices:

    fēnix® 7S
    fēnix® 7 / quatix® 7
    Forerunner® 955 / Solar
    fēnix® 7 System 6 Preview
    fēnix® 7X / tactix® 7 / quatix® 7X Solar / EnduroTm 2
    Venu® 2S
    MARQ® (Gen 2) Athlete / Adventurer / Captain / Golfer
    MARQ® (Gen 2) Aviator
    D2Tm Air X10
    D2Tm Mach 1
    Venu® 2
    Venu® 2 Plus
    epixTm (Gen 2) / quatix® 7 Sapphire
    Venu® 2 System 6 Preview