Ticket Created
over 2 years ago

CIQQA-1354

Regression bug: Ant.GenericChannel does not work in simulator with SDK 4.1.x anymore

With CIQ SDK 4.1.x it is not possible to connect to an ANT device by using Ant.GenericChannel api from the simulator. For some reason, the connection to ANT device cannot be established from the simulator anymore. When switching to CIQ SDK 4.0.10, the connection to ANT device is established successfully.

Affected versions: 4.1.0 - 4.1.4

OS: Windows 10

How to reproduce (two USB ANT sticks and SimulANT+ are required):
1. Switch to CIQ SDK version 4.1.4
2. Clone or download git repository: https://github.com/maca88/E-Bike-Edge-MultiField
3. Close Garmin Express in order to prevent taking one USB ANT stick
4. Connect two USB ANT sticks
5. From the cloned repository open folder "Source\EBikeEdgeMultiField" with Visual Studio Code
6. From VS Code run the project (Ctrl + F5) by selecting one of the devices (e.g. Edge 1030)
7. Open SimulANT+ and under "Dev1:USB2" click "Add simulator", select "LEV Device", click "OK" and then click "TurnOn" button
8. In the simulator the connection to LEV device should be established, but it is not (LEV battery should be "0%" and not "__%")

Now in order to make it work by using SDK 4.0.10:
9. Close the simulator
10. Switch to CIQ SDK 4.0.10
11. From VS Code run the project (Ctrl + F5) by selecting one of the devices (e.g. Edge 1030)
12. Now the simulator is able to establish the connection with the LEV device

  • FYI, I can confirm that the following aftermarket USBm stick works with CIQ > 4.0.10:
    https://www.cardiosport.com/ant-usb-stick-dongle

    You can get it for half the price (25€) on European Amazons (Germany, Italy, France).

    This is the signature from Antware:

    ANT Version: AJK2.07RAF
    VERSION_0x3E

  • I invested another $49 for the original Garmin USBm stick to proceed developing with CIQ.

    The signature looks like #ANT Version: AJK2.07RAF

    Don't know which other brands are compatible.

    So some recognition from GARMIN is welcome.

  • Hi, bought a new ANT+ Stick which is compatible with all the new smart-trainers but still does not work with CIQ > 4.0.10

    So what are the requirement/specs for the ANT+ Stick?

    This is the info i get from Antware:

    Requesting Version...
    ANT Version: AP2USB1.05
    VERSION_0x3E

    Adv Capabilities:
    -Private Networks
    -Serial Number
    -Per Channel Tx Power
    -Low Priority Search
    -Search List
    -Extended Messaging
    -Scan Channel Support
    -Exit Channel Assignment
    -Proximity Search

  •  I would repeat itself, but the way Connect IQ platform is managed, makes us developers feel like "idiots" quite often, send my regards to Nick. Significant investment and months of efforts to develop interesting project only to throw it to trash because some random team in Garmin unexpectedly change something is just "ordinary" here. And everytime when something like this happens you guys only shows how clueless you are, in 95% cases just ignoring us unable to even accept or react to the problem. Funny that often these were closely related to new features CIQ team spent past weeks/months in development - great example was CIQ 3.0 release back in the day. As if you never use your own platform! So please don't be surprised by my attitude as the situation remains to be terrible in such aspects and with the way how you are getting feedback from the dev community you will never have whole picture. EVERYTHING what affect CIQ is CIQ related and you SHOULD be aware of it in order to be able to communicate it with us devs. 

    From my perspective ability to connect to third party ANT sensors is key aspect of CIQ platform and you guys take 1 and half year to even react to related issue! At least that were hinted after that time how to make it work again puts this topic above average. How many cancelled projects and demotivated devs / companies occurred because of this in the meantime? 

    So now that I feels bad as I spent time with explaining myself above, thanks for your response to my another rant. I think provided technical reason is relevant. 

    Can now somebody please help me to understand what "USBm" stands for? I know USB2, USB3, USB micro.... but don't know what USBm is. So does the platform is compatible only with that linked Garmin original ANT stick or we have wider options? 

  • Not treating you like idiots—just providing the recommended resolution. I will happily provide the additional detail I received from the ANT team, but I'm not sure it's relevant:

    It seems that changes in the SDK between V4.0.x and V4.1.x break Ant.GenericChannel for USB2 dongles. The channel assignment method is putting the radio in a bad state. If you observe the channel response event messages in the user's application you consistently see a MSG_ID_CHANNEL_RESPONSE_EVENT of MSG_ID_UNASSIGN_CHANNEL type with a payload of MSG_CODE_CHANNEL_IN_WRONG_STATE whenever a USB2 dongle is used for the CIQ simulator.  This does not occur when using a newer USBm dongle.

    That doesn't tell us much more than developers should no longer use a USB2 stick in favor of the USBm dongle. Since the USB2 ANT stick is no longer sold or in production and is quite old (I don't recall the exact dates, but I'm pretty sure the USBm sticks were first available around eight years ago), I don't believe we intend to fix whatever is putting the USB2 stick radio into a bad state as described above.