SDK Version vs device firmware support

I apologize if this is available on the forum or elsewhere.

Is there a published map of actual device/firmware support for a given version of the Connect IQ SDK? I assume the some of the new functions being added to the SDK will require a corresponding feature supported in the device firmware?
  • There's really not a map any place, but the info is in the api doc.

    When you look at a module or a call you'll see something like "Since 1.2.0", indicating that it's not something for devices with a 1.1.x VM (there aren't any of those left!)

    In the 2.1.x SDK, it is important to note that some things are marked "since 1.3.0" and "since 2.1.0". Those things are not available on devices with a 1.2.x VM (which are still common). Also, for things getting a 1.3.x VM, those things marked "since 2.1.0" won't be available.

    Then there are also notes about supported devices. Things like "ActMon.getHeartRateHistory()" are "since 1.2.1", but is only available on devices with an oHRM, for example.

    But things can be determined at run-time in your code.

    for example:
    var hasHR=(ActivityMonitor has :HeartRateIterator) ? true : false;

    will set a boolean to indicate if getHeartRateHistory() is available (and can be called). If it's not available, calling it will crash your app.. "has" is the easiest way to handle stuff like this, but you can also check Sys.getDeviceSettings().monkeyVersion to check the version of the VM on the watch.

    One thing to note about "has", is it will be true in the latest simulator, regardless of the device you are simulating, so it's not the same as what you see on an actual device.
  • I guess I am looking for info on which VM version/SDK version goes with each version of the firmware for a particular device. As far as I can determine this is not readily apparent from the SDK docs.

    For example the latest firmware for the EDGE 1000 is 8.30. Can I see which SDK version is supported in this firmware version??
  • For example the latest firmware for the EDGE 1000 is 8.30. Can I see which SDK version is supported in this firmware version??


    What do you see in "System>about" on the device? For many devices, it indicates the CIQ version (the VM). If it doesn't show, you can put something together that uses "monkeyVersion" and run it on the device (it's probably 1.2.x)

    I believe that all current production FW (all devices) is 1.2.x, while the beta FW that's come out over the last couple of months is including the 1.3.x or 2.1.x VM.

    And you can build for any of them with the 2.1.x SDK.
  • You can use "Connect IQ version" data field to test your device:
    https://apps.garmin.com/en-US/apps/91534331-1228-47cd-8156-68458b597a7d
    See description to get a list of firmwares/CIQ versions.
  • I am looking for Activity.Info.distanceToDestination and Activity.Info.elevationAtDestination.

    It suppose to be since 1.2.10.
    I got FW 7.36 on fenix3, I got SDK 2.1.
    So from desinger point of view I can build an app with all those.
    But it looks like I can't.
    How is that?

    How you guys design an app if SDK and FW says you have some property on your device and then boom! you don't have!
    From my perspective SDK is useless. It says one thing and whats on the watch is another.
    I know I have "has" operator but should I design an app starting from developing device FW tester for properties??
  • Former Member
    Former Member over 8 years ago
    I am looking for Activity.Info.distanceToDestination and Activity.Info.elevationAtDestination.

    It suppose to be since 1.2.10.
    I got FW 7.36 on fenix3, I got SDK 2.1.
    So from desinger point of view I can build an app with all those.
    But it looks like I can't.
    How is that?

    How you guys design an app if SDK and FW says you have some property on your device and then boom! you don't have!
    From my perspective SDK is useless. It says one thing and whats on the watch is another.
    I know I have "has" operator but should I design an app starting from developing device FW tester for properties??


    At this point I've been told the navigation features are only available on the Oregon device series, though it is on the plans for the edge devices at some point.
  • ...I am looking for info on which VM version/SDK version goes with each version of the firmware for a particular device.


    We have some enhancements coming to the development tools that should help address this to some extent. It's mostly a matter of knowing whether the devices you intend to target support Aikido (1.x) or Biker (2.x), but there are a few exceptions that can make it difficult to manage (e.g. the epix, which is still on the 1.2.1 VM).
  • We have some enhancements coming to the development tools that should help address this to some extent. It's mostly a matter of knowing whether the devices you intend to target support Aikido (1.x) or Biker (2.x), but there are a few exceptions that can make it difficult to manage (e.g. the epix, which is still on the 1.2.1 VM).


    Shouldn't be SDK itself telling a developer whether a method/class is supported on a device?
    I thought the "since: 1.2.10" in SDK is the thing that tells us the method is there when I have the coresponding FW version installed on a device(CIQ 1.2.10).

    So, please support following on fenix3: Activity.Info.elevationAtNextPoint, elevationAtDestination, distanceToDestination, distanceToNextPoint.