-
-
Notifications
You must be signed in to change notification settings - Fork 77
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
Control Gearbox settings by keyboard? GradeMode issue? HRM and Genius improvements. #381
Comments
Welcome to the FortiusANT community I'm always curious to know who I communicate with, where FortiusANT is used and what configuration is used. The Genius is controlled directly (FortiusAnt <--> Brake) and the headunit is not used. In the current implementation, you have two alternatives:
|
Keyboard switching could be implemented... feature to be implemented |
Perfect! |
Hello, I have a Genius and would like to use virtual shifting. Greetings from Germany, |
What do you mean with "manual states"?
Nice
As described in the manual, the buttons on the Remote work exactly like the buttons of a tacx head unit; it changes the virtual gears (I understand you see that happening) which in the end means that the required resistance changes and the speed. I checked the implementation: Which suggests that the virtual gears would only work in PowerMode and not in GradeMode. PowerMode is usually used during structured training and GradeMode is used for virtual rides. As a first step, please explain a bit more what training you do, including what CTP is used. A screen short while testing the Shifting helps. |
Reopened to investigate whether Virtual Shifting would not work in GradeMode... |
And @krusty82 |
Hi @pquentin I see you follow this issue, Do you use FortiusAnt - all the way in La Reunion? |
Also in GradeMode? |
According to the screen prints, FortiusAnt is not paired with the Genius. |
Yes. So the problem must be with the implementation of the Genius. |
No, it is connected. After starting FortiusAnt the message to Nudge the wheel to start Calibrating appears. |
That's a bug in itself (please raise an issue); which is hard for me to investigate because I have no Genius. (It could be that the self._DeviceNumber is zero, where a postivie value is expected aftfer pairing - this is dongle-dependant) |
Fortius implementation: The brake requires a TargetResistance. Genius implementation: The brake requires a TargetPower or a TargetGrade and further conversions required. Common code The VirtualGearbox modifies the TargetPower 550 but not the TargetGrade 569 Both Fortius AND Genius use the same TargetPower (modified) and TargetGrade. |
So @krusty82 your assessment is important here: |
I am not good at programming, but if I understand that correctly: FortiusANT/pythoncode/usbTrainer.py Line 1609 in 5a89179
for mode_Grade the Genius is used in mode_slope and only the grade is send, without conversion. So the VirtualGearRatio has no effect. |
Hello! What makes you think I am following this issue? I have never heard about FortiusAnt, sorry, and I don't understand what it does from the README. |
When typing @, github provides your name @pquentin as suggestion ... which put me on your track. See also: /~https://github.com/WouterJD/FortiusANT/graphs/contributors Funny that github shows this and you have no clue. |
You're on the right way! In base class, there are two functions SetGrade() and SetPower() importing the required grade or power to the trainer-class. As you see in line 550, TargetPower is adjusted by the virtual gearbox, but TargetGrade is NOT in line 569. BUT ... you tell me that the virtual gearbox works for the Fortius in Grade mode. PS. The reason NOT to adjust at line 1609 as you suggest (#381 (comment)) |
So, I finally got Python running on my maschine and could play a bit with the code. Now that I can mess with the code, I can adjust the grade that is send to the Genius, because my problem with it is, that on flat parts I have to use a very high gear and the genius becomes quite loud. Maybe with some more coding it is possible to implement a virtual shifting for the Genius that works and feels right. |
Actually I remember now! I forked to contribute #433 because I was trying to get urllib3 2.0 adopted as an urllib3 maintainer. |
Please note the concerns (in the code) regarding the effect when Grade=0 |
Yeah, thats one concern, because I use the virtual gears mostly on flat parts. |
No, I used the same method, that is already used for the other trainers.
|
On the Tacx Fortius, when Grade get's negative, the brake becomes an engine and produces a negative resistance. Gears will not invert, but in a low gear with no resistance, your cadence wil go high. (cycling with no resistance).
Apparently the provided Terget must be a positive value |
Genius does support it, but i guess only in slope_mode, in which it is not possible (or ot that easy) to use virtual gears |
Sorry, I use Vortex and Genius as synonyms. I will study all the previous next week. Thanks for cooperation. |
So i uploaded my changes to a fork here: /~https://github.com/krusty82/FortiusANT Another thing I noticed is, that the reported Power from the Genius is much slower in change compared to the Fortius. |
Never mind, it seemed to be a connection issue. I moved the ANT receiver closer and it worked flawlessly. |
Hi @krusty82 just got time to study your work right now.
I've adopted this too My ANT-remote has three buttons, hence
apparently yours has four buttons:
If I would adopt this code, the function of the select button (middle one) would change... |
@krusty82 could you please download usbTrainer.py and FortiusAntBody.py to your system and test; they're uploaded to the master branch. (I have the impression you did not create a branch for test-purpose, but may be mistaken. I'm not so very experienced in github with all features) Please check |
The control has 3 Buttons, but you can long press everyone for a different function. |
Oops, forgot one line... you changed please explain :-) I have a special situation;
I get the impression, you know more on programming just a bit; do you see where the problem is? |
I have an ANT+ HRM from Ciclosport. But I could not connect it through Rouvy ant FortiusANT. But in Zwift it was working. But instead of this workaround it would be cleaner to get the HRM signal in the FE-C channel.
I also noticed that. And I don't know much on programming. It's mostly just trial and error until it's working ;) |
CTP's like Rouvy do not use the HRM info in the data from FE-C, because ANT/BLE devices are expected. The old tacx trainers connected to a uncoded HRM and provided the HRMdata through USB to the PC where the proprietary tacx software was running. I connect HRM to display the heart rate on the console. Implementing an HRM broadcast of the received data requires a second device, like the SCS. This will be quite some work. Buying a "standard" HRM is out-of-pocket money, but "cheaper" than all the work to implement |
I think so and will do some testing |
I made a branch here: /~https://github.com/krusty82/FortiusANT/tree/Testing the change in regard to weight is because I got an error if weight was greater than 255 (because of gear reduction conversion) |
Nice, I will check asap |
In my fork I set the SearchTimeout to infinity. Maybe this helps. |
I recall there is some sort of restart and will look into it as well. I just realized recently the sequence issue re HRM. Thanks for joining the quality improvement activities, it encourages me to dive into it again as well. |
I have adopted the updates antDongle.py:
FortiusAntBody.py:
usbTrainer.py:
Task to be done is the Remote, I'll do that asap. ConcludingRegarding the HRM, the updates you suggested are now implemented. PS "And I don't know much on programming. It's mostly just trial and error until it's working ;)" seems a little humble; the modifications in the antDongle module show experience. Thanks. Good work! Regression-test from your side is highly appreciated! PS. Are you also on Strava, publishing your training? |
small correction: weight should be positive and below 255kg
okay, maybe I do know something about programming, but I don't know python and its syntax too well.
Will do some testing later. (Additional motivation for training :) )
Yes, my profile is: https://www.strava.com/athletes/106755454 |
Hi, I wonder if it's possible to control the gearbox by keyboard?
Formerly I used a Tacx fortius headunit, that worked like a charm, but upgraded to a Genius with a T2022 headunit.
This headunit is not recognized nor pressing buttons on the unit changes the gearbox settings. So I wonder if it's possible to change the gearbox settings by the PC keyboard?
Regards,
Chris
The text was updated successfully, but these errors were encountered: