venu and venu sq differences

My wf run fine on Venu but there is still have problem with venu sq

Error is in strange place connected with colour or screen  type. Questions:

- what is the differences between scren types: amoled / Transflective Liquid-Crystal? should I treat it diferent?

- venu sq: High Color, venu unknown

  • 1. The most import thing in Garmin's devices is saving energy and you order me to draw all screen and waste energy?
    2. My watch with my wf can run on one charging up to 5/6 day with daily  40minutes GPS  training.
    3. People has problem with drawing because of bad project. I know
    - when control should be drawn
    - what area is used by control and I'm sure that they don't draw each other
    so I don't need to draw entire screen every time (if Garmin has another idea should clear screen every time before call onUpdate - simple and force developer to draw entire screen). I miss one function to obtain information about if I need to redraw screen or at least getPixelColor to examine if something wrote on wf because my solution is only good in 99.99% :)
    4. I made a lot of work to prepare this wf and most problem was w limitation of system (fe. not inform about drawing on wf screen by not my app for example) but I've solved.
    5. In amoled there is simple big error on simulator it should clear screen like on device. I publish new version (with full draw every onUpdate) and see if it's ok. I'm wonder if will run wel on always on then onUpdate is call every minutes.

  • another issue on amoled and maybe on vivoactive (and maybe on other devices but I can't see errors in ERA) is trouble with arrays created with new

    for example

    class view ....
    {
        var mX =null;
    
        function initialise()
        {
            mX = new[30];
        }
    
        function setAV()
        {
            mX[0] = ...
            mX[1] =...
        }
        
        function drawAV(i)
        {
            for(var i = 0; i<30; i++)
            {
                mX[i].draw;// Symbol Not Found Error not for each elements form time to time
            }
        }
    }

    and it's look like this happen on devices with a lot memory

  • or in code

    function globalMakeArray(a,b)// b>a always
    {
        var a = new[b-a +1];
        a[0]=...;
        a[1]=...;
        return a;
    }
    
    function memberViewClass()
    {
        mMemberViewClass.funcb(globalMakeArray(2,3));//Unexpected Type Error
    }

  • I've error probably in SDK

    class view ....
    {
        var mX =null;
    
        function initialise()
        {
            mX = new[30];
        }
    
        function onLayout(dc) 
        {
            setLayout(Rez.Layouts.WatchFace(dc));
            
            mX[0] = findDrawableById("drawable1");
            mX[1] = findDrawableById("drawable2");
            //...
            //now mX has all drawables the same values are in View.mLayout
            //becouse I have to save memory and mLayout occupied 75 bits do
            mLayout = null;///probaly deletes some objects although they are in mX
        }
        
        function drawAV(i)
        {
            for(var i = 0; i<30; i++)
            {
                mX[i].draw;// Symbol Not Found Error not for each elements form time to time
            }
        }
    }

  • but still no understand why such errors not occur on simulator or all devices

    First good news that after starting drawing every second on Venu is ok, I'm waiting from information about low power mode. But in the same version venu sq has still problem (maybe connected with  mLayout = null; but there is new version in store)

  • I have still problem with wf in device venu sq (venu is ok)

    Error Name: Symbol Not Found Error in line

     dc.setColor(mPalCol, gBC);

    dc is from buffered bitmap

    //globals
    gDC = GRA.COLOR_DK_GRAY;
    gBC = GRA.COLOR_BLACK;
    const P_NUM		= 8;
    var PAL_COL =
    [
    	0x00AAFF,//00
    	0x00FF00,//01
    	0x55FF00,//02
    	0xAAFF00,//03
    	0xFFAA00,//04
    	0xFF5500,//05
    	0xFF0000,//06
    	0xFF00AA //07
    ];
    
    //class functions
    function mBuff()
    {
        var palette = new [P_NUM + 2];
        palette[0] = gBC;		
        palette[1] = gDC;
        
        				
        for(var i=0; i<P_NUM; i++)
        {
        	palette[i+2] = PAL_COL[i];
        }
        					
        mBuf = null;
        mBuf = new GRA.BufferedBitmap(
        {
        	:width => mWbmp + mFrameThickness,
        	:height => mHbmp + mFrameThickness,
        	:palette => palette
        });
    }
    
    function draw(dc)
    {
        mBuff();
        //obtaining dc
        var d = mBuf.getDc();
        d.setColor(gBC, gBC);
        d.clear();
        
        //drawing
        drawP(d,....);
        //....
        dc.drawBitmap(mBpmX, mBmpY, mBuf);
    }
    
    //function drawP(dc,....)
    {
      dc.setColor(mPalCol, gBC);//ERROR
    }

    mPalCol is a colour from PAL_COL or gDC

    on simulator sim ok

    in https://developer.garmin.com/connect-iq/user-experience-guidelines/displays/#appendixa:devices

    link lead to the same document

  • How can I send you PRG?

    You could post a link for me to download it, or you could send us an e-mail (as mentioned https://forums.garmin.com/developer/connect-iq/w/wiki/5/bug-reports-faq).

    Honestly, it is much easier to work with source code if you're willing to share it, but a PRG for whatever device is having the trouble is fine too. The venusq is 006-B3600-00 and the venusqm is 006-B3596-00.