Iq! Error ?

I have a user that has a fenix 5 wifi and he says on two of my apps he is getting a "iq!" Error. I can not replicate this in the simulator has anyone else seen this? These apps work fine on my f3hr.
  • What's in the CIQ_LOG.TXT? Have the user send it to you (it's in \garmin\apps\logs on the watch). IQ! means your app crashed.
  • Thank you I will request the log now
  • I am still waiting for a reply for the user on seeing the log. my question is what could cause the face to work fine on Fenix3 hr and then have so many issues on the new Fenix 5? both faces im having issues with don't use any custom fonts and just the basic colors that are in the F3... Im assuming these colors are still in the F5 and im not using the larger font that showed strangely in the simulator.
  • The f5 runs on CIQ 2.x, while the f3, on 1.x. There was another user that did find an issue where he was passing too many parameters to a function, but it ran fine of the f3, and not only crashed on the f5, but any other watchface run after that would crash until the f5 was restarted.

    see:

    https://forums.garmin.com/showthread.php?372333-Fenix-5-Problems-with-Watch-Faces

    The ciq_log.txt should give you a hint as to what's happening.
  • Hi,
    regarding the thread, Jim was referencing,
    I got feedback from Garmin that they are working on a ticket together with the device team. Currently it is not clear if this is an IQ problem or a device (FW) problem.
  • Thank you for the info. I read thru that thread. I just check but i do not have that issue with declaring three colors in that function. I will wait to see how this pans out with garmin working/looking into it. Thank you all again for your input.
  • I just received the log from a user and is says the following multiple times

    ERROR: Not Enough Arguments Error
    DETAILS: Failed invoking <symbol>
    STORE_ID: 305b4739c8c940b693e8ac87a3244c41
    CALLSTACK:
    @PC = 0x00000000
  • That sounds like at some place you are calling something with too many arguments passed, or you have a function that defines too few.

    One common case is onStart() and onStop(), where it now needs to have an argument so it should be

    function onStart(state) {

    and

    function onStart(state) {

    in your App Class.

    Or it can be something like in the bug report where you are calling a function but passing too many arguments (in that case it was calling dc.SetColor() with 3 colors, where it only has two)
  • Hi,
    I think the problem described in my thread is only a special occurrence of a more generic problem.
    In the meantime there are several reports, describing the "IQ" problem: Apps that were running on F3 family will not run on F5 or F5x.
    And it seems even more complicated since some apps run on F5 and not on F5x and vice versa...

    About your problem:
    Do you have defined any function with quite a few arguments?

    I had a similar error log with one of my F3 watch faces. I had a function with 7 arguments. I got the same error code as you described.
    I could solve this problem by splitting the function in two new functions, one having 4 arguments, the other 3 arguments.
  • berglauf - a trick you can use with lots of parameters is this:

    instead of doing

    myFun(p1,p2,p3,p4,p5,p6,p7);

    is pass them as an array:

    myFun([p1,p2,03,p4,p5,p6,p7]);

    That way you're only passing one. Then in the function, you just use the array index to get them.