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
  • Sure, but with a 205x148 pixel screen it makes no sense to render an arc or fan with more than 412 points in it. I'd argue that you could easily get away with a tenth of that and still have a curve that didn't look jagged. A simple speedometer style gauge as proposed shouldn't require more than 50 points to get something that would look good on currently supported hardware. I'm sure that future devices will have higher resolution screens, but using more points than is necessary is also expensive both in rendering time and in memory usage (I have no idea what the limits are or how costly these things are on actual hardware, but it certainly isn't free).

    I'm guessing that the method provided would avoid the issues relating to resolution on different devices as well the point array issue. Until that API is available (20 days from now?), writing the code to draw an arc or fan is not difficult. That is all I'm saying.

    I'm sure that those who are rendering map data run into this limit pretty easily. For something like that, I'd expect a more complicated solution. Perhaps something that took level-of-detail and culling into account. Those aren't trivial problems to solve, but drawing maps is a much more difficult problem than drawing fans and arcs.
  • Former Member
    Former Member over 10 years ago
    @Travis, I agree with you on your account and I agree that with the small resolution screen 65 points should be enough to draw a decent circle or arc. I guess I could write a method that would convert angles and radii to coordinates of a circle, but I'm lazy and why should I bother if the underlying engine has the capability? :-)
  • Former Member
    Former Member over 10 years ago
    Oh and in a completely unrelated note, running a custom watch face breaks BLE sync with my phone. If I have a custom watch face running the process that would be responsible for syncing runs, steps and calories, shall we say, "infrequently". Sometimes it won't sync for 5+ hours and it definitely does not sync every time I bring the Garmin Connect app to the foreground on my Android 4.4.4 powered Galaxy S4.
  • I guess I could write a method that would convert angles and radii to coordinates of a circle, but I'm lazy and why should I bother if the underlying engine has the capability? :-)

    If the functionality was already exposed, then I wouldn't have even opened my big mouth. Until the API is added and a new SDK version is released, you have three choices; wait, write it, or wait for someone else to write it. I already have code for rendering a pie chart. If you want it, I can make it a bit more generic so you have something to work with until the SDK is updated.

    Travis
  • Former Member
    Former Member over 10 years ago
    Built a watch face, tested it in the simulator, works as expected. I've tried to install the new face as per instructions, but the compiled clock.prg file does not work - it simply does not replace the default face. If I use the eclipse created default binary prg file, the face works with the previously mentioned quirks (colors, bitmaps are off). However the binary created with

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


    does not work for me. Anyone experienced similar issues? Any suggestions how to debug this issue?
  • I've had no such troubles.

    There is clearly some difference between the manual compile line and the one that is invoked by eclipse. The command above assumes that only one resource file exists and that the source files are all in the source directory. You might need to update the compile line includes all of the necessary resources and source files.

    Additionally, you should be able to test the application under the emulator. The fonts and stuff will display incorrectly, but it should run. You just need to invoke the emulator as...

    monkeydo <PRG file> fr920xt


    This should get you some information about the failure.

    Travis
  • Former Member
    Former Member over 10 years ago
    Awesome, Travis. The trouble was caused by a missing resource file. Also very useful to know how to invoke the emulator from the command line.
    Thanks!
  • Oh and in a completely unrelated note, running a custom watch face breaks BLE sync with my phone. If I have a custom watch face running the process that would be responsible for syncing runs, steps and calories, shall we say, "infrequently". Sometimes it won't sync for 5+ hours and it definitely does not sync every time I bring the Garmin Connect app to the foreground on my Android 4.4.4 powered Galaxy S4.


    We've not observed that here, but will look into it.

    -Alpha Monkey
  • Former Member
    Former Member over 10 years ago
    So are "watch apps" supported by the Forerunner 920 yet? If not, is there any chance it will happen by CES?

    Robert
  • Former Member
    Former Member over 10 years ago
    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.