Eclipse to VSC?

Is CIQ/MonkeyC development generally stable and full-featured in Visual Studio Code? What (if any) features are still missing? When SDK 4 comes out of preview mode, will VSC support it at the same time as Eclipse?

Looking forward to making the switch, but will wait until it is ready.

Thanks!

  • @FlowState I'm flattered that you think that I'm making money from my app. The only folks benefitting from my app are sitting in Olathe KS, from the watches that are being purchased to run my app.

    I hear you, but you are taking it too personally. In previous lives the suppliers' forums were closely monitored and responded to by their tech support. It seems like Garmin has outsourced its tech support enthusiastic volunteers like you and Jim. 

    And yes, I do apologise for being a bit thick and cranky at times - it comes from being from a previous age.

    Thanks for taking the time to express your thoughts.

  • Thanks for taking the time to express your thoughts.

    No worries. Sorry for being too harsh and critical in my responses.

    I definitely realize nobody is forcing me to comment here either, haha.

    I should probably try to be a bit more chill and tolerant.

    I agree with your sentiment that it would be nice if the forums had a greater presence from Garmin. I do find that Travis is pretty good at responding to most questions that go unanswered, especially when they relate to a bug or an issue in the documentation.

    I think in general, the problem is that Garmin doesn't really allocate a lot of resources to Connect IQ, for one reason or another. Maybe they just don't have the resources? Connect IQ is probably not a huge money maker for them, but simply a marketing checkbox to tick off.

    Good luck with your app development, and I hope you get CIQ 4 to work for you eventually.

    TBH, I've been reluctant to upgrade SDKs in the past, but for a slightly different reason: I've noticed that peak/current memory sometimes increases with new SDKs, even for old watches that don't support the newer CIQ versions. This always makes me nervous that my app which previously worked on memory-constrained devices will crash under certain circumstances when I resubmit it after building with a new SDK.

    I just resigned myself to the fact that I have to update SDKs if I want to support new devices.

  • I've noticed that peak/current memory sometimes increases with new SDKs

    Yes, me too. I now have 4.0 working in the sim (it didn't like a variable redefinition in a function, or allocating  a bigger than 32 bit number to a variable - both oversights in my code). My app is running very close on memory and any suggestion that the new SDK might do that sends shivers down my spine.

    3.1.9 to 4.0 doesn't seem to have done that in my case.

  • I think in general, the problem is that Garmin doesn't really allocate a lot of resources to Connect IQ, for one reason or another. Maybe they just don't have the resources? Connect IQ is probably not a huge money maker for them, but simply a marketing checkbox to tick off.

    Yes, and that annoys me. They don't seem to accept that they are a software company!

    And that we are definitely adding value to their product for free (at least they don't charge us for the privilege like Apple!)

  • Yes, and that annoys me. They don't seem to accept that they are a software company!

    I very much doubt that they think of themselves as a software company.

    Witness all the complaints from users in device forums about wanting to get new features/CIQ on older/current devices because "it's just software". Or to get feature X from a running watch like 245 on a "lifestyle" watch like Vivoactive 4.

    Their whole business model relies on you buying a new watch every now and then, and it's hard to do that without selling you features that are tied to a hardware device.

    OTOH, you can't get things like FirstBeat on an Apple Watch without paying for a subscription. For a running watch, I prefer to be able to pay for the whole thing upfront, which is one of the reasons I still prefer Garmin watches. (The other reasons include the physical buttons, the battery life, and the running-focused features/ecosystem.)

  • And that we are definitely adding value to their product for free (at least they don't charge us for the privilege like Apple!)

    I think Apple's developer fee is meant to provide a barrier of entry to prevent the App Store from being flooded with low-effort junk. Even Google charges a one-time $25 fee (which to be fair, is a lot lower than Apple's annual $99 fee.)

  • And that we are definitely adding value to their product for free (at least they don't charge us for the privilege like Apple!)

    Sometimes I wonder if the average Garmin user sees it that way. Most of the people I run with are unaware of or uninterested in Connect IQ apps. A few of them prefer Apple Watch.

    When I look at people discussing connect IQ apps on reddit (for example), a recurring complaint seems to be that most of the apps consist of unprofessional/hobbyist projects, and that there's very few apps from big companies.

  • You are probably right there about the average Garmin user.

    The folks who buy the watch for my app are sailboat racers who hear about the app through their own networks and who are looking for an edge. And all of these guys have to buy a watch.

    The problem with these guys is that they are sailboat racers first, smart watch users last! So they struggle to get to first base. Once they get the hang of a smart watch, they are pretty happy with my app.

    My problem is getting into their network. Until I manage to monetise it, I don't have any funds to promote it. Vicious circle. And to be truthful, the market is pretty small - maybe 250,000 sailboat racers worldwide. 

  • Good morning guys, 

    Lots of good information in this discussion, and my Eclipse version has just told me   

    BUILD ERROR: App Exporting Not Supported.

    Following the discussion in VS CODE, 

    I opened the workspace folder I used in eclipse, and tried to do a few basic things which I can do in eclipse like run the simulator, build for a device.... don't even get me started on exporting which is all I had to do. Everything is failing and not passing the compile. 

    It does compile and work in Eclipse with build warnings.

    Any ideas why these programms work in eclipse, but fail on build in VS code... ?  Am I doing something wrong?

    line 56478:37 token recognition error at: ')'
    line 56479:35 token recognition error at: '('
    line 56479:37 token recognition error at: ')'
    line 56480:35 token recognition error at: '('

    ERROR: fenix7x: ERROR: assembler: no viable alternative at input 'putvC_Users_Random_Desktop_New_folder_'
    ERROR: fenix7x: ERROR: assembler: mismatched input '3' expecting {'@', Idref}
    ERROR: fenix7x: ERROR: assembler: extraneous input '@strinitialize_871091088' expecting {IntNumber, HexNumber, OctalNumber}

    ERROR: fenix7x: unknown:0: For input string: "@strinitialize_87109108816"
    ERROR: fenix7x: ERROR: assembler: extraneous input 'C_Users_Random_Desktop_New_folder_' expecting {'nop', 'incsp', 'ipush', 'fpush', 'spush', 'bpush', 'npush', 'lpush', 'dpush', 'frpush', 'popv', 'addv', 'subv', 'mulv', 'divv', 'andv', 'orv', 'modv', 'shlv', 'shrv', 'xorv', 'invv', 'getv', 'putv', 'invokem', 'invokef', 'agetv', 'aputv', 'lgetv', 'lputv', 'getm', 'newa', 'newba', 'newc', 'newd', 'return', 'ret', 'news', 'goto', 'eq', 'lt', 'lte', 'gt', 'gte', 'ne', 'isnull', 'isa', 'canhazplz', 'jsr', 'bt', 'bf', 'dup', 'throw', 'cpush', 'argc', 'PERMISSIONS', 'DATA', 'BYTES', 'EXTENDS', 'CODE', 'CLASSDEF', 'APPTYPE', 'PERMISSIONREQUIRED', 'METHOD', 'CLASS', 'MODULE', 'NULL', 'PARENT', 'STRING', 'INT', 'FLOAT', 'BOOLEAN', 'SYMBOL', 'SYMBOLTABLE', 'STATICENTRY', 'MODULEID', 'LINENUM', 'END', 'LINKTABLE', 'RESOURCES', 'EXCEPTIONS', 'SETTINGS', 'NaN', 'BACKGROUND', 'GLANCE', Iddef}

  • The 4.1.0-beta1 SDK doesn't allow building .iq files, as it's a beta.  use 4.1.3.

    Are you using Garmin's VS Code extension in VS Code?