Developer Blog

Connect IQ 2.4.0 Beta Now Available!

10/18/17 @ 08:26 AM

Barrels, Jungles, and ANT, oh my!

Connect IQ 2.4 beta is here! Connect IQ adds new features to the Connect IQ SDK and some new device features.

Barrels

Barrels

One of the most requested features from our developer summit was the ability to package code so it can be shared between projects, a la Ruby Gems or Python Packages. Monkey Barrels are the new Monkey C packages. They allow code and resources to be packaged into a shareable bundle that can easily be imported into other projects. Now you can put your shared libraries into their own projects, and make them easily available for others to use. We have added sample barrels to our github account for you to see how they work.

Barrels

Jungle Boogie

Jungles are a domain specific language for managing build configuration through lazy evaluation of properties; easier put, it is Monkey Make. Unlike make tools that managing build dependencies, Jungles provide a tool for managing build configurations of multiple Garmin devices.

Here is a simple, but relevant, example. Remember that time when Garmin turned the
fēnix® Chronos into the fēnix 5s
? Now there were two round 218x218 products unlike the others. If you wanted to support all round 218 x 218 products you needed to create and manage three resource directories; two of them are duplicates.

resources-round-218x218/layouts.xml
resources-fenix5s/layouts.xml
resources-fenixchronos/layouts.xml

With Jungles, you can rectify the situation with one line.

fenixchronos.resourcePath = $(fenix5s.resourcePath)

Now building for the fēnix Chronos will use the fēnix 5s resources. You can use resources-round-218x218 for fēnix 3, and resources-fenix5s for fēnix 5s and fēnix chronos.

One more example - lets say you are writing a wearable app that has different code for round versus semi-round versus rectangle layouts. Before you had to use build resources to specify the build paths, but with Jungles you can configure it in one place.

# Configure paths based on screen shape
round.sourcePath = $(base.sourcePath);source-round
semi-round.sourcePath = $(base.sourcePath);source-semi-round
rectangle.sourcePath = $(base.sourcePath);source-rectangle

Now round products will automatically add the source-round path, semi-round the source-semi-round, and rectangle the source-rectangle. Jungles can control source path, resource paths, excludes, annotations, and barrels. Barrels include Jungles inside for their own build configuration, allowing them to have separate build configuration from the parent project. Jungles make it much easier to manage project build configuration in one place.

Running Dynamics and FE-C

Connect IQ 2.4 adds access to the Running Dynamics ANT+ profile for the Forerunner® 735xt, Forerunner 935, quatix® 5, and fēnix 5 family; and the FE-C profile to the Edge® 520, 820, 1000, and 1030.

Getting Started

We encourage developers to install a new copy of Eclipse Oxygen for Java Developers before installing the beta SDK to separate beta and production Connect IQ development environments.

To install the new beta SDK, follow these instructions:

  1. In Eclipse, click the Help menu
  2. Choose Install New Software…
  3. Click the Add… button
  4. Add https://developer.garmin.com/downloads/connect-iq/beta/eclipse/ to the Location field and click OK
  5. Check the box next to Connect IQ in the Available Software window and click Next
  6. Review the license agreement and click Finish
  7. Once the installation completes, restart Eclipse
  8. After Eclipse re-launches, click the Connect IQ menu
  9. Choose Open SDK Manager
  10. Click the Download button next to the 2.4.0 Beta 1 SDK release
  11. Review the license agreement, and click Agree
  12. Once the download completes, click Yes when prompted to use the new SDK version as your active SDK
  13. Close the SDK Manager

We also have beta firmware releases that support the Connect IQ 2.4.0 beta SDK available for the following devices:

We are excited to see what you think! We’ll be updating the blog with firmware betas for Connect IQ 2.4; check back to see if we’ve added support for your device.

Categories: Connect IQ SDK