WouterJD / FortiusANT

FortiusANT enables a pre-smart Tacx trainer (usb- or ANT-connected) to communicate with TrainerRoad, Rouvy or Zwift through ANT or Bluetooth LE.
GNU General Public License v3.0
146 stars 78 forks source link

Dongle types: Suunto vs Anself/Dynastream #163

Closed BrRoBo closed 3 years ago

BrRoBo commented 3 years ago

Opening new issue for discussion or perhaps further investigation...

I have 2 dongles of which one is a Suunto Movestick Mini I purchased maybe in 2016, and the second dongle is a new "Anself" USB ANT+ Stick which is reported by FortiusAnt as a Dynastream as confirmed by this debug output:

17:10:49,654: FortiusANT started 17:10:49,654: -a 17:10:49,654: -A 17:10:49,654: -d 127 (0b1111111) 17:10:49,655: -g 17:10:49,655: -H None 17:10:49,655: -p 1.0 17:10:49,656: ------------------ 17:10:50,607: FortiusAnt GUI started in child-process 17:10:51,272: GetDongle - Try dongle: manufacturer=Dynastream Innovations, product= ANT USBStick2, vendor= 0xfcf, product=0x1008(4104) 17:10:51,869: Connected to Tacx Trainer T1942 17:10:53,060: FortiusANT broadcasts data as an ANT+ Controlled Fitness Equipent device (FE-C), id=57591 17:10:53,256: FortiusANT broadcasts data as an ANT+ Heart Rate Monitor (HRM), id=57592 17:10:53,450: FortiusANT broadcasts data as an ANT+ Bicycle Power Sensor (PWR), id=57596 17:10:53,665: FortiusANT broadcasts data as an ANT+ Speed and Cadence Sensor (SCS), id=57595

In my setup, I run one Windows 10 PC with these 2 dongles inserted in a USB hub. The order of the dongles in the USB ports seems to matter.

Scenario 1: If the Suunto is picked up first and used by FortiusAnt (reported in the GUI and debug), then in Zwift I assume it utilizes the Anself/Dynastream and all the Ant+ devices show up ok in the pairing screen, including FE-C Controllable.

Scenario 2: If the dongle order is reversed in the USB hub and FortiusAnt picks up the Anself/Dynastream (as reported in the GUI and debug), all the "broadcast" messages appear correct and seemingly to work ok from the FortiusAnt side as shown above in the debug output. However, this will leave the Suunto Movestick Mini dongle for Zwift, but in the Zwift pairing screen now there are NO devices found at all :(

This is the Anself/Dynastream stick purchase source from Amazon (photos of product packaging received shown at bottom of this post)... https://www.amazon.com/gp/product/B01M3VQP6Z/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&psc=1

IMG_20201210_091943421 IMG_20201210_092010671

WouterJD commented 3 years ago

I could implement -D antDongle, where you can specifiy which dongle you want. (in this case -D 4104) which would select one dongle if there are two different dongles.

Please experiment first and let me know whether such a selection would help.

switchabl commented 3 years ago

That's a curious case. The Suunto is supposed to be completely fine with Zwift. There have been reports that newer ANSELF dongles are now identical to the (problematic) CYCPLUS ones, but I think those show up as CYCPLUS when connected. So yours should be fine.

Maybe there is something in the Zwift logs that can shed some light: https://support.zwift.com/locating-log-files-BykKO63fr

BrRoBo commented 3 years ago

@switchabl Yes, this is a curiosity as both Suunto and Dynstream dongles are suppose to be good. I'll grab a new Zwift log with the non-working setup (scenario 2) and see if the Ant scanning has some issue reported.

BrRoBo commented 3 years ago

I could implement -D antDongle, where you can specifiy which dongle you want. (in this case -D 4104) which would select one dongle if there are two different dongles.

Please experiment first and let me know whether such a selection would help.

Yes that might be a good potential workaround, especially if someone has a system where they don't seem to be able to get the dongle enumeration order changed.

I am happy the setup works with scenario 1, but digging into the underlying issue to determine cause might be worthwhile. .

switchabl commented 3 years ago

Yes that might be a good potential workaround, especially if someone has a system where they don't seem to be able to get the dongle enumeration order changed.

If all else fails, there is always the possibility to 1) plug in just one dongle 2) start FortiusANT 3) plug in second second dongle 4) start Zwift (or whatever you use). But I guess that might be annoying if you had to do it every time.

WouterJD commented 3 years ago

Agree, that's more like test mode

WouterJD commented 3 years ago

PS -D because a and A already in use

switchabl commented 3 years ago

Yikes! We should really have a configuration file. I had started some work on that for the remote control feature (for mapping the buttons). Then we could have some (optional) parameters for advanced users/testing/debugging without creating 1000 new command-line switches. And maybe some day a "Settings" dialog for the most important things so normal users don't need to worry about command-line. Well, I will get back to that at some point.

WouterJD commented 3 years ago

-D implemented in version 3.9 which is to be released this week

PS. configuration file for somewhere in future. We still have a lot of alphabet left to enjoy :-)