CIQ Field on OLD Devices

My client has some published legacy CIQ apps for OLD devices. This one was last released in 2018. SDK 1.4.

I can't even find ForeAthlete in the device options in the manifest. Would 920XT work for this device, even though back in 2018 it is listed as a distinct device?

The app compiles but doesn't run in the simulator (SDK 9.1.0). Normally it should tell me the memory limit at the bottom I believe, but this lists 0.0kb, so I'm not sure what these device limits are. Maybe 16kb? And the debug console doesn't report an Out of Memory fault.

Probably not worth trying to keep these up to date. But is it even possible to refresh an app for these devices?

  • On the 1.x devices, the limit for DFs was 16kb  Per the "System Error" you show the DF couldn't be loaded in 16kb so it never even started to run

    If I recall, for APAC devices the 920 was called ForeAthlete instead of ForeRunner.

    You tried other CIQ 1.x devices like the fr23x?

  • Does it work if you comment out most of your code, or just try one of the sample apps?

  • foreathlete is the asian name for forerunner, it's normal you don't see it in the devices you can select for the manifest. If you select the fr920xt it'll also build the asian models (but you will probably only see the foreathlete listed on the apps.garmin.cn site )

  • Thanks! The newer versions of the apps use about 25kb, so they won't work on these 1.x devices. They are so old and so few users, not worth it. They don't even have the code, so I'd have to figure out how to remove features from the current version to get these to fit. Thanks.

  • At this point, not worth it for these devices.

  • Understand that even if in the device files you see a max of 32kb, that's not the whole story.  Starting with CIQ 2, out of that 32kb, about 4kb is used by CIQ, so a developer's max is really 27-28kb

  • foreathlete is the asian name for forerunner, it's normal you don't see it in the devices you can select for the manifest.

    To expand on this, the ForeAthlete 920XTj and Forerunner 920XT entries in the web store store device list each correspond to  (software) part numbers associated with a given CIQ device (in this case fr920xt). Each CIQ device corresponds to a single hardware part number.

    You can see the complete mapping from store names (like "ForeAthlete 920XTj" and "Forerunner 920XT") to part numbers (and vice-versa) by looking at the API that the web store uses to display that devices tab:

    [https://apps.garmin.com/api/appsLibraryExternalServices/api/asw/deviceTypes]

    This enables you to look at a part number in SOME_DEVICE/compiler.json and see what "user-facing model" this corresponds to, and vice versa, as well as determining the min required firmware/CIQ version for that model (which is sometimes useful for the old devices which have separate part numbers for APAC and WW, and the APAC part number sometimes has a lower firmware/CIQ version than WW).

    It also enables you to construct a URL to filter the webstore by a given part number.

    For example, according to that API, 920XTj is part number 006-B2132-00, and the urlName is "forerunner920XT-apac-jp", which confirms that it's an APAC/Japanese variant, and that one URL to filter the store by that model would be 

    [https://apps.garmin.com/en-US/devices/forerunner920XT-apac-jp/apps]

    (You can figure this out by taking a known device URL you can google for like "forerunner 935 connect iq apps" => [https://apps.garmin.com/en-US/devices/forerunner935/apps] and substituting the urlName appropriately.

    Similarly, the main (WW) 920XT's part number is 006-B1765-00, and its urlName is "forerunner920XT".

    You can also that there are 2 other Asian 920XT part numbers, for Taiwan and China. The other two part numbers share the same display name as the main part number ("Forerunner® 920XT"), so in this case "Forerunner® 920XT" in the store probably maps to 3 part numbers.

    Ofc this topic (the relationship between CIQ devices, part numbers, and devices in the store) has been rehashed over and over again for many years, so I'm kind of disappointed there's no official documentation, especially since part numbers are the unit of compilation, not CIQ devices.

  • I converted that JSON to EXCEL which produced 375 lines. I filtered for 920. Interesting

  • There is a device generations with primary names: Quatix 6 and Fenix 6. But not Quatix 3, 5, 7, or 8. So to build for those we need to select the Fenix devices in manifest. Just another inconsistency. This table helps disambiguate those.

  • I converted that JSON to EXCEL which produced 375 lines. I filtered for 920. Interesting

    Buddy, the 920xt part number stuff is literally what I already said in my response above, although not as concisely, so I'm not sure why you're acting like it's completely new information.

    It's like you're not really reading the things that you're replying to.

    I converted that JSON to EXCEL which produced 375 lines

    I'm pretty sure I have told you directly about the deviceTypes API multiple times over the past few years, so again I'm not sure why you're acting like this is completely new information.

    Again it's like:

    - you don't read what you reply to

    - you don't remember what was told you to over and over again throughout multiple years