Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

65 cyplus #77

Closed
wants to merge 10 commits into from
Closed

65 cyplus #77

wants to merge 10 commits into from

Conversation

WouterJD
Copy link
Owner

@WouterJD WouterJD commented May 7, 2020

@ElDonad @mattipee @TrevorHunter @aegisdesign @martingeraghty @aegisdesign @iainhay

Based upon the investigations done by Elie and Matthew, combined with the invaluable lessons I learned from Matthew last night, error-recovery is implemeted for unwilling dongles.

At first, CYCPLUS dongles don't like the ResetDongle() command, other than at session-startup. So it is disabled.

Secondly, the dongle goes "offline" and must be reconnected. This is what FortiusANT now does: after an error, the dongle is found again and all channels are paired again. So it required some work.
In my situation (I have no CYCPLUS dongle) I can remove the dongle while running and pluggin in (even another one) and FortiusANT and ExplorANT continue to run.

So my request to you is to test this from the https://github.com/WouterJD/FortiusANT/tree/65-CYPLUS branch.

If results are positive, I will promote to the master.

@ElDonad
Copy link

ElDonad commented May 7, 2020

Wonderful ! I will test it right now, I incidentally needed to do a little bit of sport 😁

@ElDonad
Copy link

ElDonad commented May 7, 2020

So ! After about half an hour of testing, here is my experience :

  • I think because you are reinitializing the power part too, the target power keeps resetting when the dongle disconnects, where in my implementation the power stays the same until reconnection. I think it is much lest disturbing for the user this way, maybe is there an easy fix for that...

  • But most importantly, the general experience is that the connection is very unstable, staying connected for under a minute and then failing to reconnect unt the fourth of fifth attempt... I don't know if it is the general experience, but it is not very pleasant, even if the dongle is always reconnecting. But I guess at this point there is not much we can do to fox that... Maybe the fact that my "server" pc is quite old plays a role, but I doubt it. Maybe not everyone is experiencing the same thing, though...

@TrevorHunter
Copy link

Just had a 10 min try just using the Fortius GUI and seems to work well thanks without any errors appearing in the console. I will try a more extensive test with Zwift after work this evening...

@WouterJD
Copy link
Owner Author

WouterJD commented May 7, 2020

I will take a look at the Target-rest; that was not the intention!

@mattipee
Copy link
Contributor

mattipee commented May 7, 2020

Testing with CYCPLUS dongle on Raspberry PI.

FortiusANT.2020-05-07 16-59-49.log
FortiusANT.2020-05-07 17-01-53.log

First one reconnected immediatelafter calibration, three times.
Second one was with calibration disabled, didn't even get around to launching Zwift on the laptop - you can see reconnects in the second log as I was pedalling to nowhere.

@aegisdesign
Copy link

I think having the software reconnect for whatever reason is a 'good thing' because disconnects may happen and it saves having to restart FortiusANT manually.

But IMHO we're expending resources to bodge something which is totally broken with these particular CYCPLUS dongles. The dongles just don't support continuous scanning. The CYCPLUS engineer has admitted they messed up and they've changed the hardware. See https://tacxfaqx.com/knowledge-base/cycplus-ant-stick/

Steven zhou
1 month ago
Hi.
I am steven. I am a R&D Engineer from CYCPLUS team.
Thanks for your support.
Because Nordic and Garmin will stop selling the IC(Nrf24ap2) for designing USB ant stick. So we have to change the solution. There are some bug in these products we sold from 10/2019 to 02/202. You can’t ues ERG noemolly. We have solved the problem from now.
Please contact me if you have the problem about ERG.
My email is [email protected].
We will send a new one to you for free.
So sorry for our mistake in work.
We will design more better and affordable products for you in the fulture.
Thanks you.

Apparently from February 2020 on they've fixed it but I bought my two dongles mid April so I can only presume I got old stock. I imagine many will still get old stock for some time.

And of course we can work around this in FortiusANT but we can't in Zwift or other closed source apps so if you're using two dongles, one is not going to work.

My two dongles went back for a refund today.

@WouterJD
Copy link
Owner Author

WouterJD commented May 7, 2020

Hi I have added the detach_kernel_driver for Linux
I copy/pasted the code, because the versions were too different.

Note that, after reconnecting all channels must be reset as well.

Please verify, so that I can merge the software.

@WouterJD
Copy link
Owner Author

Hi all @ElDonad @mattipee @TrevorHunter @aegisdesign @martingeraghty @aegisdesign @iainhay

Is this the max we can do for CYCPLUS?
The implementation will be integrated in the next version.

@ElDonad
Copy link

ElDonad commented May 11, 2020

Yeah, I think this is the most we can do, considering these devices are broken... I had however no problem the Zwift side, at least no visible one, but at this point I think I'm going to try getting a working one from Cycplus ^^

In the meantime however, I see no more thing we can do to support these dongle... Apparently the stability of the connection varies between people, and yes the dongle doesn't crash if not paired.

Anyway, thank you very much for the hard work, see you maybe on Zwift !

@WouterJD
Copy link
Owner Author

Tonite I will do regression test on new version myself, containing #65 #51 and #54 to get to a new baseline. I will publish asap.

@WouterJD WouterJD closed this May 11, 2020
@WouterJD WouterJD deleted the 65-CYPLUS branch May 19, 2020 20:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants