Confused: Is wearable2021 and smallwearable2021 venu2 and venu2s, in which case...

Confused: Is wearable2021 and smallwearable2021 venu2 and venu2s, in which case... why are there the duplicates?

(I published a few things yesterday with wearable thinking that would cover the new devices, but then venu2 venu2s update comes along...)

Top Replies

All Replies

  • Well, I think wearable2021 and smallwearable2021 were only placeholders before venu2 and venu2s were announced. For me, they don't show up in the device list in the SDK Manager, but they still show up on disk and in the product list in VS Code ("Edit Products").

    I could be wrong here, but maybe wearable2021 and smallwearable2021 should've been deleted by the SDK Manager since venu2 and venu2s are now available? I don't think publishing an app with "wearable2021" support is going to do anything....

  • The wearable devices where just there so you could start porting before the Venu2/s were announced, and now you want to use the Venu2 and Venu2s targets

  • I use jungles to customize some variables depending on the specific device. Since updating to SDK 7.4.x, I am unable to build projects due to errors related to undefined symbols (the variables managed by the jungle file) for the wearable2021 device.

    This device is not listed among the available build targets, and the issue does not occur when building with SDK 7.3.x.

    It’s unclear whether SDK 7.4.x is treating "wearable2021" as an alias for the Venu2 or if it’s adding this virtual device in addition to the correctly selected targets. It seems to be the latter since I can successfully build for the Venu2.

    While waiting for a fix in a future SDK release, I’ve explicitly added this virtual device to the jungle file and am treating it as equivalent to the Venu2.

  • Wearable2021 etc were just placeholders. You can safely delete references to them from jungle and code. 

  • Not so easy. I have never added these place holder to the project, but it seems it is built for it by default. The errors occur when I do not explicitly declare some variables for them, so I am oblige to include in my jungle a reference to specific source file were those variables are declared. The issue has been introduced by SDK 7.4.x. It has no sense to recover these old place holders, so I guess it is a bug that will be fixed in a new release.

  • If you open manifest.xml, is wearable2021 listed under the <iq:products> tag? If so, delete it from there. This could happen if you used Monkey C: Edit Products in the command palette and clicked the checkbox to select all products. (Then again, you did mention that wearable2021 is not listed among the available build targets, so this is unlikely.)

    Otherwise, is the wearable2021 folder present if you open the CIQ device library [*] on your computer?

    [*] On Windows: %APPDATA%\Garmin\ConnectIQ\Devices

    On Mac: ~/"Library/Application Support/Garmin/ConnectIQ/Devices"

    If so, I would suggest moving the folder somewhere else.

  • f you open manifest.xml, is wearable2021 listed under the <iq:products> tag? If so, delete it from there. This could happen if you used Monkey C: Edit Products in the command palette and clicked the checkbox to select all products. (Then again, you did mention that wearable2021 is not listed among the available build targets, so this is unlikely.)

    There is nothing in my manifest referencing wearable2021. In fact, I don’t even recall enabling this target in the past.

    Otherwise, is the wearable2021 folder present if you open the CIQ device library [*] on your computer?

    Yes, the devices folder contains both wearable2021 and smallwearable2021. I removed these folders, and then the project built successfully. Thanks!

    I don’t really understand why the compiler tries to build for this device. In fact, it seems to be only for wearable2021 and not smallwearable2021, and exclusively when I use SDK 7.4.x, not with any previous version.

  • Might be worth submitting a bug report. Seems that this problem could affect anyone dev who was around in 2021.

    The machines I currently use for development don't have the wearable2021 or smallwearable2021 folders, so I didn't run into this problem. I checked an old PC and it doesn't have either of those folders either. I wonder if the SDK manager actually did auto-delete these devices, but only for some people? Unfortunately I don't remember if I ever manually deleted these folders or not.

  • It only affects devs who were around 2021 and disappeared since, and are coming back now, if I understand what's going on. Am I incorrect? Not sure it's worth the effort of opening a bugreport (even if they would fix it eventually, but the chances are that they won't)

  • Yeah, maybe there was some period of time when the sdk manager was auto-deleting those devices, and now it just doesn't do it anymore?

    If that's the case, seems like it wouldn't be hard for Garmin to restore the code that would auto-delete those devices. I guess as with most bugs, it really depends on how many people are affected.

    After all, that's why these forums exist: so suckers helpful internet strangers like us can give and get free technical support.

    Then again, it seems like this is only a problem with the newer SDKs, and it seems that the newer SDKs are affected by the presence of device(s) which aren't even listed in the manifest, so maybe it's worth a look from Garmin.

    I don't see any downside in opening a bug report, except that it takes time.