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

[BUG] Rouvy: Virtual shifting with Zwift gearing, noticeably harder than physical gearing #3031

Open
thekerub opened this issue Jan 11, 2025 · 28 comments
Assignees
Labels
bug Something isn't working
Milestone

Comments

@thekerub
Copy link

thekerub commented Jan 11, 2025

Describe the bug
The resistance in virtual gearing with Zwift 1x24 is greater than the resistance that is actually sent from Rouvy app.

For testing I shifted into the smallest physical gear which is 30T front and 28T rear which is a ~1.08 gear ratio. I rode up an incline in Rouvy, tried to keep it at a 75rpm cadence and needed to push 190W.
Next I enabled virtual gearing with the Zwift 1x24 range. I input the correct chainring/cog numbers in the Wahoo settings. Stayed in the lowest virtual gear (app default) which should be a ratio of 0.75. I Rode up the same incline at a 75rpm cadence, this time I needed to push around 220W to maintain cadence.

It feels like the QZ app actually increases target resistance with virtual shifting instead of decreasing. Decreasing and increasing resistance works fine with the default QZ behaviour with unlimited "gears".

Trainer is Elite Direto XR-T.

Expected behavior
Needed power output should be significantly lower to maintain cadence when shifting into a low virtual gear.

Smartphone (please complete the following information):

  • Device: iPhone 13 Pro Max
  • OS: iOS
  • Version 2.18 (993) (current TestFlight beta)

debug-Sa__Jan__11_12_41_19_2025.log

@thekerub thekerub added the bug Something isn't working label Jan 11, 2025
@cagnulein
Copy link
Owner

cagnulein commented Jan 11, 2025 via email

@thekerub
Copy link
Author

thekerub commented Jan 11, 2025

The app starts in first gear, which is 0.75 ratio so I did not change it. I can produce a new log where I shift around a bit, this does not change the behavior though. I edited the initial report because it seems my description was misleading.

@cagnulein
Copy link
Owner

cagnulein commented Jan 11, 2025 via email

@thekerub
Copy link
Author

Negative gearing with the QZ default settings works fine. I meant the 1x24 gearing that you can enable in accessories settings. Or does that not work correctly in Rouvy?

@cagnulein
Copy link
Owner

@thekerub For tour trainer that kind of customization doesn't work. You have only to use the gears gain and gears offset to create a different gear profile

@thekerub
Copy link
Author

So this feature only works on Wahoo trainers? Do you plan to support this for other trainers in the future?

@cagnulein
Copy link
Owner

cagnulein commented Jan 11, 2025 via email

@thekerub
Copy link
Author

Yes, it is possible to set wheel circumference. See attached screenshot. Trainer is Elite Direto XR(-T) with latest software version 87. This version also has native support for Zwift virtual shifting so I guess it might be possible to implement.

image

@cagnulein
Copy link
Owner

Perfect! So could you please, following this, https://ultrawyrypa.pl/index.php/2024/11/05/qz-fitness-connect-ifit-treadmil-to-zwift-and-not-only/ change the wheel diamater to 2 known value? So I can implement in qz as well?

@thekerub
Copy link
Author

Do you need specific diameters or can I just use 2000 and 2100 for example?

@cagnulein
Copy link
Owner

cagnulein commented Jan 11, 2025 via email

@thekerub
Copy link
Author

Ok and just to get it right, I change inclination and speed through the Elite app when producing the BT log right?

@cagnulein
Copy link
Owner

cagnulein commented Jan 11, 2025 via email

@thekerub
Copy link
Author

Here are the BT logs I produced. Please let me know if they work or if you need anything else. Thanks!

diretoxr_eliteapp_2000mm.log
diretoxr_eliteapp_2100mm.log

@cagnulein
Copy link
Owner

Perfect, I will check it ASAP

@cagnulein
Copy link
Owner

log checked, but unfortunately i can see the ride but not the wheel diamater changes. Are you logging the session when you are changing it from the app? i need this part too

@thekerub
Copy link
Author

Ohhh I'm sorry I misunderstood. I will produce new logs this evening.

@cagnulein
Copy link
Owner

cagnulein commented Jan 12, 2025 via email

@thekerub
Copy link
Author

Here's the new log. What I did was start log → launch app → connect to trainer → change wheel from 2100mm to 2000mm → 20s activity with chaning resistance → change wheel from 2000mm to 2100 → 20s activity → change back to 2000mm → 20s activity. I hope that is enough? If you need anything else I will try provide.

diretoxr_eliteapp_2000_2100.log

@cagnulein
Copy link
Owner

cagnulein commented Jan 12, 2025 via email

@cagnulein
Copy link
Owner

perfect! i can see them and it's a very easy implementation

example 2000

Value: 12204e
in the ftms control point! i will add it asap!

@cagnulein
Copy link
Owner

actually it's what i did here! #2715

@cagnulein
Copy link
Owner

done! @thekerub
send me an email to roberto.viola83 at gmail.com indicating this ticket and if you are on android or iOS. Thanks

remember to enable the zwift gear experimental setting under the settings, accessories, zwift, to enable this mode (i did in this way so to keep the legacy for the other users)

@cagnulein cagnulein added this to the 2.18 milestone Jan 12, 2025
cagnulein added a commit that referenced this issue Jan 12, 2025
@thekerub
Copy link
Author

Man you're fast! Thanks a lot, looking forward to testing it.

@thekerub
Copy link
Author

After some first tests I can confirm that the lowest virtual gear now is easier than the current physical gear. However, virtual gears don't feel like they should and are very dependent on the physical gear I'm in.

E.g. in physical gear 40x14 the lowest virtual gear (75x100) is significantly harder than when I use the lowest virtual gear in the 30x19 physical gear. Even though I correctly input the physical gear in the Wahoo bike options and reboot the app. I will need to do some more structured testing on this.

@cagnulein
Copy link
Owner

the fact that it kind of worked at the first try it's really a success for me :D
if you want i can check the calculation if you put a debug log here. thanks

@thekerub
Copy link
Author

Note that I did not shift virtual gears, I did a short test ride with growing inclination.

debug-Mo__Jan__13_11_31_15_2025.log

@cagnulein
Copy link
Owner

hah wait! your trainer it's already compatible with zwift virtual shifting! in case i can try to use the elite ftms protocol instead of sending the frame in zwift protocol

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants