Try out Connect IQ on the Forerunner 920

Hi all,

It's time for the rubber to hit the road. I'm excited to announce that the new beta of the 920XT has Connect IQ support for watch faces and data fields. If you have a FR920, you can get the beta image at:

http://www8.garmin.com/support/download_details.jsp?id=7627

Follow the instructions here to download and install the firmware image.

HOW TO BUILD FOR RUNNING ON A DEVICE

Differences in resolutions, color depth, and layouts are handled by the resource compiler. You need to communicate the device you are building for to the resource compiler to put the file on the device. For now you can do this on the command line with the following syntax.

monkeyc -o <PRG file> -m manifest.xml -z resources\resources.xml -d fr920xt source\*.mc

The "-d fr920xt" option will tell the resource compiler the device you are building for.

HOW TO INSTALL A WATCH FACE

1. Build a Connect IQ watch face for the 920
2. Rename the PRG file (built with instructions above) to CLOCK.PRG
3. Put the device into mass storage and put the CLOCK.PRG file into \GARMIN\APPS\
4. When you remove the device from mass storage it will run your watch face

HOW TO INSTALL A DATA FIELD

1. Build a Connect IQ data field for the 920
2. Put the device into mass storage and put the PRG file (built with instructions above) into \GARMIN\APPS\ (no renaming necessary)
3. When you use the device, you should be able to find the data field when you edit your activity profile. They will appear under the Connect IQ category

For you 920/Connect IQ developers - try it out! Feedback is welcome.

-Alpha Monkey
  • Hi, is there any update on the flipped text?

    I'm using eclipse on the mac does that make any difference in compiling? Now, I'm running it in the simulator, rename the .prg and then drop it on the GARMIN/APPS/ of the 920xt folder. Which works fine but I'm not sure if I can (and have to) put some compile arguments somewhere. Is that possible and/or necessary?

    In eclipse I have set the program to run as 920xt.


    Please see the first post in this thread. You have to compile via the command line.

    HOW TO BUILD FOR RUNNING ON A DEVICE

    Differences in resolutions, color depth, and layouts are handled by the resource compiler. You need to communicate the device you are building for to the resource compiler to put the file on the device. For now you can do this on the command line with the following syntax.

    monkeyc -o <PRG file> -m manifest.xml -z resources\resources.xml -d fr920xt source\*.mc

    The "-d fr920xt" option will tell the resource compiler the device you are building for.
  • Former Member
    Former Member over 10 years ago
    Well, I try to Compile through the command line but I get an error message:

    com.garmin.monkeybrains.manifest.ManifestException: /Volumes/Macintosh (No such file or directory)

    My volume is 'Macintosh HD'. The space is probably the problem. I can't seem to get around this. Tried: quotes (both single and double), the backslash right after Macintosh (\)

    The command I use is:
    monkeyc -o CLOCK.PRG -m /Volumes/Macintosh\ HD/Taco/Desktop/ConnectIQ2/samples/Analog/manifest.xml -z /Volumes/Macintosh\ HD/Taco/Desktop/ConnectIQ2/samples/Analog/resources/resource/resources.xml -d fr920xt /Volumes/Macintosh\ HD/Taco/Desktop/ConnectIQ2/samples/Analog/source/Analog.mc

    Also tried the tilde (~) for referring to the home directory. This gives the same error. Any ideas?
  • You should be able to avoid the issue with spaces by changing to the directory containing your sources and building there.

    $ cd "/Volumes/Macintosh HD/Taco/Desktop/ConnectIQ2/samples/Analog"
    $ monkeyc -o CLOCK.PRG -m manifest.xml -z resources/resource/resources.xml -d fr920xt source/Analog.mc


    I'm not sure why escaping or quoting the path does not work, but using ~ to represent your home directory won't work because the shell replaces the ~ with the absolute path to your home directory, and you're right back where you started (with a space in the path).
  • Former Member
    Former Member over 10 years ago
    Hi Travis,

    Your solution worked for finding and reaching the right files. Thanks :D.

    But another question:
    I get an error message saying when I try to compile at the commandline:
    ERROR:stdin:1349: Unable to resolve app name. Check the manifest file.
    ERROR:stdin:1349: Unable to resolve launcher icon. Check the manifest file.


    I don't understand what to look for. The manifest file says:
    <iq:application entry="AnalogWatch" id="98153CD986EFAB64CDA0954834618412" launcherIcon="LauncherIcon" name="AppName" type="watch face">

    When I look into the strings.xml and the resources.xml files it seems to point at the right files and providing a name for the app.
    Strings.xml:
    <string id="AppName">AnalogClock</string>
  • You need to specify the manifest file, each of the resource files, and all of the source files om the compile line. The sample command line only specifies one resource file, but you describe using at least three. Note that the list of resource files is separated by semicolons.
  • Former Member
    Former Member over 10 years ago
    Hello,

    I have tried to install a DATA FIELD but I have some problem to make it run :S. Hope you can help!

    I used the ComplexDataField from the examples in SDK 0.2.4. I am running version 2.70 on the 920XT device (used the update from Garmin Connect just released).

    1. I modified the example in the manifest.xml file to run on a 920XT device.

    2. I compile from the command line without problems.
    C:\Users\jeju.jeju-wrkstn.000\Documents\David>monkeyc -o ComplexDataField.prg -m workspace\ComplexDataField\manifest.xml -z workspace\ComplexDataField\resources\resources.xml;workspace\ComplexDataField\resources\strings.xml;workspace\ComplexDataField\resources\bitmaps.xml -d fr920xt workspace\ComplexDataField\source\*.mc

    (I needed to do some changes in resources to AppName and LauncherIcon, and it seems to build)

    3. I add the ComplexDataField.PRG to K:\GARMIN\APPS where K: is the device when connected over usb. I need to create the APPS directory.

    4. Now I dismount the watch. Now my aim is to add this to an activity.
    I go to > activity settings> data pages > screen 1 > field 1 >
    Here I can choose from time, distance, speed, pulse, cadence, power, altitude, others. I can not find an entry in either of these fields for the ComplexDataField.

    I guess I have missunderstood something. Maybe this is not a data field?
    Maybe this ComplexDataField should not be extending App.AppBase? (since it is not an App / watch face, it is just a data field)?

    E.g. I can remove this from ComplexDataField.mc:
    //! main is the primary start point for a Monkeybrains application
    class ComplexDataField extends App.AppBase
    {
    function onStart()
    {
    return false;
    }

    function getInitialView()
    {
    return [new DataField()];
    }

    function onStop()
    {
    return false;
    }
    }


    and change class DataField extends Ui.DataField to class ComplexDataField extends Ui.DataField

    That does not run in the simulator but maybe the device will pick it up?
  • You say you're using version 2.70. This is not the beta firmware that supports ConnectIQ, this is the updated GPS firmware that was released publicly. If you want to test Connect IQ watch faces or data fields, you have to install the 2.57 beta firmware as described in the first post of this thread.
  • Former Member
    Former Member over 10 years ago
    You say you're using version 2.70. This is not the beta firmware that supports ConnectIQ, this is the updated GPS firmware that was released publicly. If you want to test Connect IQ watch faces or data fields, you have to install the 2.57 beta firmware as described in the first post of this thread.


    Hahah! Thanks. This solved the problem. I had not seen the fact that there were two different versions of software in the watch :D
  • Just FYI - I am un-stickying this thread so people go to the new announcement.

    -Alpha Monkey
  • Former Member
    Former Member over 10 years ago
    seems to be working fine, but I would like to have a plugin for IntelliJ as well :)

    For those of you who have read the book "Fyrsten" by Henrik Langeland, I made Christian von der Hall's favourite datafield.

    And for those of you who haven't read the book (most of you, I guess, as the book is in Norwegian), the main character Christian von der Hall uses a fictive Garmin watch called 930XT. On that watch, he has downloaded an app that shows his heart rate as much lower than his actual heart rate. In meetings (and other situations where he likes to brag) he wears the watch clearly visible so that everyone can see his extremely low heart rate and be impressed and intimidated by his calm appearance in a heated discussion. Master suppression technique :)