Connect IQ 2.1 SDK Preview!

The Connect IQ version 2.1 preview SDK is now available on the developer site!

We're excited about this release because it adds a bunch of new features that many Connect IQ developers have been asking for, like custom FIT recording, OAuth, Widget & App support for Edge products, and more! You can find out all about it and download it here:

http://developer.garmin.com/index.php/blog/post/connect-iq-2-biker-monkey

Since this is a preview, you won't be able to export apps for submission to the app store, but you can build apps to side load to your own device for development and testing purposes. Please give it a try! If you have feedback or notice any bugs, you can post to this forum or send your comments to the Connect IQ team at [EMAIL="[email protected]"][email protected][/EMAIL].

Thanks!

- The Connect IQ Team
  • Thank you, Brandon. I don't expect much from the new language, but if technical teams make a decision to develop something, they should consider to use common practice in sw development.
    switch can be powered with the ability to detect type of variable:
    switch (a) {
    "abc": {} // string
    "a": {} // character
    1, 3, 8, 9..15: {} //
    obj: {} //
    }

    Just imagine how complex it will look with the current syntax.

    As for me, I am not fond of any language that uses GC (I can imagine how awful and complicated it is for 32 KB) and non-strict types or even non-declared variables. All of this leads to hidden errors in developent. (+ absense of the debugger). Thanks for the Unit Tests in 2.1.
    C-operator = makes me cry each time I use it. I saw somebody in Garmin already uses in examples if ( 5 == test_value ) just because of trying to avoid such hidden errors. I'd correct syntax and make it impossible to use assign operator = in if() statement.

    >I need to kill simulator in 1.2.9 every time and _twice_ load app - This is not something I've experienced--is this on Mac or PC? I believe there have been similar reports occurring on Mac.
    PC, W7. Java 1.8.0_92, Eclipse Mars2 used.

    >any kind of records/structures? - No, and I don't know that we have plans to add this. I can submit a request to see whether it's something we'd like to do in the future.
    Wow. Then I will use tremendous unreadable code that runs much slower, uses GC and memory assignment.
    Like this:
    my_array[item_index] = new [2];
    my_array[item_index][0]=currWord;
    my_array[item_index][1]=flDelay;

    Refactoring can be better with the indexes 0 = recWord, 1 = recDelay...
    Behind this lays much more powerful, simplier and handy approach:
    my_array[item_index].recWord = currWord;
    my_array[item_index].recDelay = flDelay;

    or
    with ( my_array[item_index] ) {
    recWord = currWord;
    recDelay = flDelay;
    }

    Please consider to improve this.

    Error: 2.1beta framework was installed, assigned as default. IDE restart. Then compiled project, complaint about developer key received during compilation. Eclipse settings does not have "generate key" button/dialog.
    Please add the solution link to the first post https://forums.garmin.com/showthread.php?353982-You-Must-Provide-a-Private-Key-when-Compiling-Error-in-SDK-2-1-0-Beta and explain that update operation Help -> Check for updates needs to be performed.

    Error: recompiled project from 1.2.9 to 2.1b.
    Failed invoking <symbol>
    Too Many Arguments Error
    in onStart (C:\Garmin\P\srs\QA.mc:309)

    function onStart()
    {
    }

    I don't understand what is going on.
    Upd: Today tried to launch compilation again - no errors with the same project, on left side near lane number there is an exclamation sign in triangle. Very strange.


    Question: Is there any possibility to use method handler from other class?
    Like this (Handler is a class with onTimerUpdate method):
    method(:Handler.onTimerUpdate)

    Improvement request: I'd like to have simulator saved settings. Because every time I launch it, I need to switch to Russian. The same is for FIT and other parameters - not handy.

    Improvement request: preprocessor at least for #define simple expressions in code. I'd replace = to := using this.

    Improvement request: documentation template for function should be:
    class/module
    function abc(parameters description)
    return parameters description
    what is does explanation
    if function uses constants - link to the constants page description
    usage example source code

    Any modern SDK/IDE has similar help system.
  • Unfortunately, there are no plans to update epix to Biker.


    Are there plans to update it to latest Aikido?
  • Unfortunately, there are no plans to update epix to Biker.


    I fear there are no plans for any kind of update for the epix. It's a lame duck for garmin:mad:
  • Former Member
    Former Member over 9 years ago
    error:
    BUILD: ERROR: You must provide a private key when compiling.
    have I done something wrong? ;)
  • error:
    BUILD: ERROR: You must provide a private key when compiling.
    have I done something wrong? ;)


    Make sure you have version 2.1.0 of the Eclipse plugin installed.
    Then in Connect IQ settings you have to generate a developer key.

    It was explained earlier in this thread.
  • Former Member
    Former Member over 9 years ago
    Make sure you have version 2.1.0 of the Eclipse plugin installed.
    Then in Connect IQ settings you have to generate a developer key.

    It was explained earlier in this thread.


    thx now it works
  • One thing to note about the key - Once you have one make sure to keep it in a safe place.

    It will be used for "app signing" and when something gets uploaded to the store (not allowed with the previews), you'll only be able to update it if you use the same key.

    If you use more than one machine to develop stuff, you'll also want to use the same key for all the machines (copy the key file - don't generate a new one...)
  • Former Member
    Former Member over 9 years ago
    I have kind of stupid question:

    How can I access my widget app on the EDGE 520/1000?

    Details:
    I've just tried to move from DataField model to Widget. I've compiled the simple widget that displays only line of text. Looks good while it's running in simulator. But when I put .prg into App folder of my EDGE520 and reboot the device, I'm unable to find my widget in menu. Where it supposed to be? And can I set my widget as a fullscreen view on one of the data screens? Thank you!
  • Is there a FW upgrade for the 520/1000 with the 2.1.0 or 1.3.0 VM (I forget which one they are getting)? Until there's new FW (a beta for the va-hr just came out yesterday), you probably won't be able to test on the device.
  • Former Member
    Former Member over 9 years ago
    Thank you for the info! I'm currently on 6.20 firmware and it looks like the most up-to-date. I'll be waiting for the update.