Connect IQ 2.2.0 Public Beta!

The Connect IQ 2.2.0 public beta is now available for download!

You can get it one of two ways:

  • Use the Connect IQ SDK Manager in Eclipse, by clicking the Connect IQ menu, selecting Open SDK Manager, and then clicking the Download button for Connect IQ SDK 2.2.0 released October 6, 2016.
  • Download directly from our developer site at http://developer.garmin.com/connect-iq/sdk/

There is also a new Eclipse plug-in version to support some of the new features in the 2.2.0 SDK, so be sure to install it, too, if you use Eclipse as your development environment. You can easily check for plug-in updates in Eclipse by clicking Help > Check for Updates.

This beta will allow you to develop, simulate, and build apps to side-load to your devices that use the new 2.2.0 features, but the ability to export apps for submission to the app store is disabled. Once this release is out of beta, we'll re-enable the app export features.

General Changes

  • Change assertEquals(), assertEqualsMessage(), assertNotEquals(), and assertNotEqualsMessage() to use .equals() instead of the == operator.
  • Add access to saved waypoints, courses, and workouts on a device with the PersistedContent module. See the Programmer’s Guide for more details.
  • Deprecate the PersistedLocations module. Use PersistedContent.saveWaypoint() instead.
  • Add support for Bike Light status and control using ANT+.
  • Add support for Bike Power using ANT+.
  • Add support for bursting in Ant.GenericChannel.
  • Add support for downloading FIT files and loading them onto the device. See the makeWebRequest() section in the Programmer’s Guide for more details.
  • Allow a watch-app or widget to open another CIQ app or native application using System.exitTo(). See the Programmer’s Guide for more details.
  • Optimize apps by having the compiler fold constants into a single value. var number = 4 + 5; will now compile to var number = 9; instead of performing an add operation.
  • Clean up samples to only support devices that can run them.
  • Several API / documentation fixes
  • Add Call to Parent’s initialize() in RunNoEvil
  • Limit the size of an app’s mailbox from a partner app to 8kb.

Simulator Changes

  • Simulate navigation data.
  • Simulate Accel and Mag data.
  • Save waypoints created with PersistedContent.saveWaypoint().
  • Simulate APIs available to the device being run. For example, Pressure History is no longer available to the Forerunner 735 in the simulator.
  • Support pairing Bike Lights.
  • Fix UTF8 strings in memory window

Known Issues

  • If an Exception is thrown from a catch block, the finally block of the current try/catch/finally will not be executed.
  • What about Epix?

    Hi Brandon.

    Is it possible to use Connect IQ 2.2.0 with Epix?
  • I suspect you'll be able to use 2.2.x to build for the Epix, just like you can with 2.1.x, but since the Epix itself is still on 1.2.x CIQ, you can't use any of the new 1.3/2.1/2.2 functionality. For some reason the Epix seems to be stuck at 1.2.x and has been for about a year. It's up the the Epix Platform folks, and not Connect IQ...
  • Optimize apps by having the compiler fold constants into a single value. var number = 4 + 5; will now compile to var number = 9; instead of performing an add operation.


    This is great news! Is there any chance that you'll be able to optimize expressions using non-literals (constants and enumerations) like

    var justification = Gfx.TEXT_JUSTIFY_CENTER | Gfx.TEXT_JUSTIFY_VCENTER;


    It seems that since MonkeyC is statically scoped and attributes cannot be dynamically added to classes/modules, you should be able to find the declaration of Gfx and do the lookup of each of the constants at compile time.

    Travis
  • Former Member
    Former Member over 8 years ago
    • Add access to saved waypoints, courses, and workouts on a device with the PersistedContent module. See the Programmer’s Guide for more details.


    Very goor news! According to the documentation is not clear how to get access to the data waypoint. Only the name is available to read? Interested the latitude and longitude too. How?
  • >Fix UTF8 strings in memory window
    Thank you, fixed in Simulator and App settings editor.

    SDK includes ability to create Watchface, Widget and Apps for Oregon 7xx. Hopefully, FW update for this device will be issued soon.
  • SDK includes ability to create Watchface, Widget and Apps for Oregon 7xx. Hopefully, FW update for this device will be issued soon.


    I'm seeing widgets and watch-apps for the Oregon (as well as the Rino) in the SDK, but not watch faces - that's just like the Edge devices when it comes to app types. I don't think watchfaces will be a type for the non-watches.

    Yes, I wonder when some new beta fw will be available!
  • I'll find out about this because I'm not sure. It sounds feasible, though.

    This is great news! Is there any chance that you'll be able to optimize expressions using non-literals (constants and enumerations) like

    var justification = Gfx.TEXT_JUSTIFY_CENTER | Gfx.TEXT_JUSTIFY_VCENTER;


    It seems that since MonkeyC is statically scoped and attributes cannot be dynamically added to classes/modules, you should be able to find the declaration of Gfx and do the lookup of each of the constants at compile time.

    Travis
  • Take a look at the PersistedContent module in the API documentation that ships with the SDK (in the 'doc' directory). We have getters for each content type (courses, waypoints, etc.) that return iterators of its respective object. These do contain some basic info about the items (for example a waypoint object has an Id, Name, and an Intent), but we don't expose other specifics like the lat/lon. Instead, you can pass the objects to other apps through Intents.

    For example, if I download a waypoint via PersistedContent and then call:

    System.exitTo(myWaypoint.toIntent());


    This will launch a native app and allow me to navigate to that waypoint. On an Edge, this would display a list of my activity profiles (e.g. Run, Bike, Train, etc.), and allow me to choose one. Upon choosing, an activity would start and route me to the waypoint.

    There's more you can do, of course, but hopefully this illustrates the purpose behind PersistedContent.

    • Add access to saved waypoints, courses, and workouts on a device with the PersistedContent module. See the Programmer’s Guide for more details.


    Very goor news! According to the documentation is not clear how to get access to the data waypoint. Only the name is available to read? Interested the latitude and longitude too. How?
  • There's no plan to bring watch faces to non-watch-like devices.

    I suppose it's pretty apparent that we'll have supporting firmware available for Oregon and Rino soon, but I'm not quite certain when. In the meantime, you'll be able to start developing apps and widgets for these devices if you'd like so they can be available on the store once the firmware is release. :)

    I'm seeing widgets and watch-apps for the Oregon (as well as the Rino) in the SDK, but not watch faces - that's just like the Edge devices when it comes to app types. I don't think watchfaces will be a type for the non-watches.

    Yes, I wonder when some new beta fw will be available!