The CIQ 3.0.1 SDK has been released!

I'm sure Brandon will make an official post, but this is on the developer blog: Connect IQ 3.0.1 Now Available.

There is a new eclipse plugin, so be sure to grab that too.
  • How much of a difference in memory did you see? Was it a change in max memory or how much the DF used?
  • Former Member
    Former Member
    Transition from 2.49 to 3.01 is relatively painless, only problem is that some datafields where max memory usage stayed under 28,7kB now crash because of "out of memory". :(


    Can you send us the links to the apps that are failing so we can try and test? This along with the questions that jim_m_58 asks will help us figure out what's going on for you.

    Thanks,
    - Coleman
  • Former Member
    Former Member
    The new Heart Beat Intervals feature in CIQ 3 does not work on Vivoactive 3 even though this device is listed as supported in CIQ 3. This seems to be due to lack of a 3.0 VM for the device. Is such a VM expected?
    The Heart Beat Intervals feature works fine in the simulator. Test app:
    https://github.com/vtrifonov-esfiddle/TestHeartBeatIntervals
  • The va3 doesn't have firmware with a CIQ3 VM yet. You can keep an eye on the vivoactive 3 forum to see when it's released.

    On the watch, under "Settings>System>About>SW Versions", you'll see "Connect IQ". This tells you the version of CIQ VM on the watch with the current main firmware. If it's not 3.0.0 or greater, the new features won't work on the watch, and you'll see a CIQ_LOG file in \garmin\apps\logs on the watch. If you look at the CIQ_LOG file you will see details of your app crash.



  • @Jim, max available memory for the 32kB watches stays at 28,7kB. I didn't have much time to investigate what the added usage was.
    @Coleman, for example the FR935 runs fine with this datafield ( https://apps.garmin.com/en-US/apps/360a26c4-e2bb-45b7-8f97-2694ccf74eef) under CIQ 2.4.9 but gives an out of memory with 3.0.1
  • Yes, that chart is a bit outdated (it doesn't have all the current devices like the 645/645m/D2 Delta/etc), but the list of CIQ2 devices that won't be getting CIQ3 is short - the Vivoactive HR, the Edge 520, and Forerunner 735. (Also the Edge 1000 - Thanks @sabeard!)There was a slide about this at the Developer Summit.

    When it comes to "when" devices get CIQ3, that's happening now - the va3 series just got it yesterday. When adapting code, "has" can be useful. In the case of Menu and Menu2, right now "has" is what I use to determine if I can use Menu2. If the firmware is still CIQ2 today, the app will adjust when it gets CIQ3 and use Menu2 instead.

    When it comes to larger features like mapping, I use jungles, where if I know a devices has it, I build the .prg with maps, and if not, with my breadcrumb screen. Worst case there is maps won't be enabled until I update the app when the FW is updated, but it will run on CIQ2 and CIQ3 devices today.
  • Thx Jim, I have an app that will require iq3 because it requires text web responses, there is no alternative I can fall back to, so "has" isn't useful (which is why it sucks that something so basic as text isn't being supported on the older devices). so need an accurate chart that I can point users to.
  • You can just add support to devices as they get CIQ3 (add them as targets). One thing to keep in mind is that APAC devices typically don't get new FW at the same time as ROW devices, so while "X" may have CIQ3, "X-APAC" might not.

    You can set the min FW for the app in the overview section in the Manifest editor to 3.0.x, which will handle only installing to devices with CIQ3, APAC or ROW, and as FW gets updated.
  • yes, i got it from the sdk side, just need a way to tell current/prospective users which devices will support it. i guess i can point them to the store/app's compatibility page when i've released it, was hoping for a more generic official doc.