Noticing documentation discrepancies

So I've been wanting to make use of the upcoming SDK features such as the access to BodyBattery, Stress, etc. and have been trying to track their progress through other forum posts for the past couple months and was getting super excited for the Fenix 7 release as I thought it was going to be utilizing the new SDK's (ones marked the "system 5 preview") 

I've experienced similar things compared to this post: forums.garmin.com/.../new-system-5-devices-not-showing-up-in-sdkmanager which the OP mentions that they are seeing variances in the device availability. Currently only the Venu2 shows up for me when utilizing the 4.1.0-Beta SDK.

Also, when I view the API documents packaged with 4.1.0-beta, I see stuff like this:

Class: Toybox.ActivityMonitor.BodyBatteryData
Inherits:
Toybox.Lang.Objectshow all
Overview
A class to store body battery information

Since:

API Level 3.3.0

Specifically the "Since: " block.

Overall, I'm just getting more and more confused as I dig in further. 

I believe I also saw some other forum posts with similiar yet still confusing discussion, such as https://forums.garmin.com/developer/connect-iq/f/discussion/285583/connect-iq-sdk-v4-1-0-beta1-vs-v4-0-10

I could have sworn I saw somewhere a month or so ago that detailed that the fenix 7 was going to support these new API features but now that I'm doubling back on my searches, I'm having trouble finding that same confirmation. I understand this is beta stuff and quite flexible with actual releases, but is there a roadmap or some sort of documentation that is less flexible that I can reference? 


Apologies for the long post, but I'm trying to capture my points of confusion as best as I can.

  • Right now, the production SDK is 4.0.10.  There is a 4.1.0-beta1 SDK that was released in Oct 2021.  The online documentation is for 4.0.10, but withing an SDK, there is the doc for that SDK version.  So within the 4.1.0-beta1 SDK is documentation for that, including the new "System 5" APIs (stress, body battery, etc).  With the 4.1.0-beta1 SDK, you can not build iq files and publish an app that uses any "System 5" calls.

    How this maps to the API level (which is different than the SDK version), System 5 devices have either an API level of 3.3.x or 4.1.x.  There are HW differences in devices that support a 4.x API level, but for devices with an API level of 3.2.x, many, I'm not sure if all, will be getting firmware with a 3.3.x API level.  This is why you'd see "Since API level 3.3.0" for some things and "Since API level 4.1.0" for others.

    When you see a "System 5 Preview" device, that's not actually a real device, and you can't publish an app for them, even with the 4.0.10 SDK.  But you can use them to build a side load for testing on a devices with CIQ 3.3.x or 4.1.x to test some of the new APIs .  You need to use the 4.1.0-beta SDK to build such a sideload.

  • Thanks for the quick response Jim,

    Just for my personal clarification, I've heard the term "sideload" a few times while perusing the forum. What exactly does that mean? Is that referencing just manually dropping the PRG into the watch's app directory or is it something else?

  • A sideload means you build a .prg file and manually copy it to the garmin\apps folder on a device 

    You don't install it from the app store.  App Settings and fitContrib data aren't available with sideloads.

  • Just really digging into the info you detailed out here Jim, which is super helpful and thank you! 

    But I think it's just sinking in to me now what you meant when you mentioned "When you see a "System 5 Preview" device, that's not actually a real device, and you can't publish an app for them,"

    Are you aware of any postings that I may have missed that details if devices will be getting CIQ updates? 

    I'm currently attempting to utilize the fenix6System5Preview and was attempting to load it onto my tactix delta as (I thought) it was the same family of systems. However, I just realized my device lists a CIQ version of 3.2.8. 

    So I was wondering if there's a way you can download a preview or beta firmware to these devices to test this stuff out. 

    when I search for 3.3 compatible devices on Garmin's website, I find:

    fēnix® 6 Pro System 5 Preview
    Instinct® 2 / Solar / Dual Power / dēzl Edition

    Instinct® 2S / Solar / Dual Power

    So what I think I understand is the first device is virtual only, and the other two are physical but I don't have any in my possession. 

    When I search for 4.0 ciq devices, I do find the fenix 7 family of systems.  

    So, if I am trying to get my hands on a physical device to experiment with these new API's. Would I be ok if I went out to purchase a fenix 7? 

    The Instincts aren't necessarily devices that I'm looking to support with my application. 

    Apologies for the long winded response btw.

  • Right now there are devices with beta FW with CIQ 3.3 or 4.1 (aka "System 5").  Devices with 4.0.x will get 4.1.x, and devices with 3.2 (at least some) will get 3.3.x (3.2 devices will not get 4.1.x).  Check the product forums for posts about firmware and if they mention System 5/3.3.x/4.1.x.  

    You won't be able to publich apps in the store for System 5 until there is a 4.1.1 SDK