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

Version 4.0 Communicates Much Higher Power vs. 3.8 #173

Closed
clearwave1 opened this issue Dec 20, 2020 · 68 comments
Closed

Version 4.0 Communicates Much Higher Power vs. 3.8 #173

clearwave1 opened this issue Dec 20, 2020 · 68 comments
Assignees
Labels
bug Something isn't working implemented solved

Comments

@clearwave1
Copy link

Details:

  • I have both Windows executables on the same machine
  • Fortius with T1942 Head Unit
  • Version 3.8
    • Start with no parameters
    • It asks me to start pedaling
    • It goes through the calibration sequence
    • I then ride in a 52 x 21 @ 100rpm which is about 35 km/hr and it shows about 105 watts
  • Version 4.0
    • Start with no parameters
    • It has automatically started and does not ask me to start pedaling or calibrate
    • I then ride in a 52 x 21 @ 100rpm which is about 35 km/hr and it shows about 305 watts

I'm wondering whether the lack of the calibration when it starts is the issue.

I do not have a power meter so I have nothing to measure against. However, I also have a non smart Fluid 2 trainer which Zwift has the torque curve for and the FortiusAnt v3.8 felt closer to this than 4.0 does.

Let me know if there are things I can try to debug this.

Thanks for all your hard work.

@WouterJD
Copy link
Owner

Do you use calibration, if not why?
Run with -d127 which produces a logfile; attach to response and I will check.

@clearwave1
Copy link
Author

I mentioned in my initial report that 4.0 does not let me calibrate.

I have attached two sets of log files - one from 3.8 and one from 4.0 (named in the file name). Github doesn't seem to support .json files so I added a ".log" on the end of these files.

FortiusANT-3.8.2020-12-20 22-51-55.log
FortiusANT-4.0.2020-12-20 17-45-29.log
FortiusANT-4.0.2020-12-20 17-45-29.json.log
FortiusANT-3.8.2020-12-20 22-51-55.json.log

@WouterJD
Copy link
Owner

17:45:31,134: Motor Brake Unit Firmware=4103 Serial= 127 year=2005 type=T1946 Version2=3086 MotorBrake=False

Version 4.0 detects that you use a magnetic brake, version 3.8 did not and treated the magnetic as a motor-brake.
The power curve for magnetic brake was incorrect; at least for most users. Version 4.0 should be better.
Please read the manual to understand this and how to act and/or refer to issues #143 and #153.

@switchabl
Copy link
Contributor

@WouterJD But T1942 is old solid blue unit and does not support magnetic brake I think? So this sounds wrong.

@WouterJD
Copy link
Owner

@clearwave1 did not tell what configuration he is using, so I cannot judge.
Why would 1942 not support magnetic brake?
In anyway, the controller does not report the Motor brake. See FortiusANT-4.0.2020-12-20 17-45-29.log

@clearwave1
Copy link
Author

I definitely have a motor brake. It is model T1946.50.

Overall, I have one of the original complete Fortius packages with the steering unit and motor brake. the motor brake says it is a 300W model - whatever that means.

@switchabl
Copy link
Contributor

Why would 1942 not support magnetic brake?

According to @totalreverse (and my own experience), T1942 firmware mostly passes commands back and forth to the brake using a serial protocol, but the magnetic brake has no serial protocol, it is completely "analog". The T1932 is smarter and can control the magnetic brake itself, while emulating the motor brake commands so the protocol is similar.

@totalreverse
Copy link

Looks like you have to add the T1946 US model (60 Hz / 110V) to your list of motor brakes?

@WouterJD
Copy link
Owner

I have implemented NewUsb as if all equal; now it appears that only T1932 supports magnetic brake. Sorry for that, I will make a patch.

In the meantime you can use 3.8

@WouterJD WouterJD added bug Something isn't working under investigation Being studied for implementation in next version labels Dec 21, 2020
@switchabl
Copy link
Contributor

@WouterJD Well, we could just assume if head unit = T1942, it is always motor brake. But that's not really necessary, I think it is just this line that is the problem:

if self.MotorBrakeUnitType in (41, 42):
    self.MotorBrake = True

As @totalreverse said, the possible motor brakes are T1941 (230V) and T1946 (110V), so I think it should be (41, 46).

@WouterJD
Copy link
Owner

WouterJD commented Dec 21, 2020

@SwitchaBLE, I have checked the code and what was returned by the T1942 headunit (logfile). You're right.
I will adjust if self.MotorBrakeUnitType in (41, 42): into (41, 46) in a next version (4.1).

I don't remember where the 42 comes from (typo, mix-up with headunit?).

If it is certain that only T1932 can control a magnetic brake, I could add if self.headunit != T1932: self.MotorBrake = True, so if we miss the MotorBrake message for whatever reason, we don't switch to Magnetic brake.
Please suggest.

@clearwave1 I suppose the 300Watt is the powerback, not indicating the resistance of the motorbrake (ref TotalReverse search for T1946 and T1949.50)

@switchabl
Copy link
Contributor

@WouterJD I'm quite sure T1942 can't do magnetic brakes (not without firmware hacking at least). But I have thought about it a bit: normally the check should never be necessary (unless we missed something). And if it had been there, we would not have found this error; not until someone tried to use a T1932 with the T1946 brake AND realized it is wrong. So it may be better not to have it.

I can't check what is returned with a magnetic brake right now, but I think it was all 0s or something? If that is so, it could be safer to check for 0s and assume anything else is motor brake.

WouterJD added a commit that referenced this issue Dec 22, 2020
@WouterJD WouterJD added implemented solved and removed under investigation Being studied for implementation in next version implemented labels Dec 22, 2020
WouterJD added a commit that referenced this issue Dec 22, 2020
@WouterJD
Copy link
Owner

Release 4.1 published; should solved the problem

@TriScott
Copy link

TriScott commented Dec 24, 2020

@WouterJD The 4.1.d Windows exe you commited seems to be bad:

Traceback (most recent call last):
File "FortiusAnt.py", line 38, in
File "c:\users\wouter dubbeldam\appdata\local\programs\python\python38-32\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 493, in exec_module
File "FortiusAntBody.py", line 210, in
File "c:\users\wouter dubbeldam\appdata\local\programs\python\python38-32\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 493, in exec_module
File "bleDongle.py", line 15, in
ModuleNotFoundError: No module named 'requests'
[12340] Failed to execute script FortiusAnt

@TacxBiker
Copy link

@WouterJD

4.1 doesn't calibrate like in 3.8
And the output power seems to high.
for the record, using a T1932 headunit and a T1941 brake

@WouterJD
Copy link
Owner

Please attach logfile

@TacxBiker
Copy link

@TacxBiker
Copy link

@jujroy
Copy link

jujroy commented Jan 9, 2021

Hello Wouter, thank you very much for your assistance and prompt reply on this issue. I would love to add myself to the map. I went to issue 14 and I am unable to figure out the way to do it :( Keep going around in circles. Help please. I will be out skiing today but will try to test 5.1 ASAP. Many thanks

@WouterJD
Copy link
Owner

WouterJD commented Jan 9, 2021

Just added a comment un der #14. Sorry that the map is not clickable.

I will be out skiing today
Lucky you; we're in lock-down in the Netherlands and skiiing in Austra/Italy impossible,

@DoubleH63
Copy link

DoubleH63 commented Jan 10, 2021

Hello Wouter

I am from Montreal, Canada.

First of all, thanks for giving us the possibility to use our old TACX Fortius on Zwift.

I found FortiusANT on January 1st. I had a few issues installing LibUSB since it is an unsigned driver. I had to follow the instructions for installing an unsigned driver on Win10.

I received my 2 dongles Wednesday and I was able to do a quick test on Zwift Wednesday night and it works fine.

I did a run Friday on the Richmond UCI: 17.1km in 24m40s, average speed=41,6km/h
I did a run this afternoon on the Watopia road: 30.2km in 45m45s, average speed=39.6km/h

I was asked by a Zwifter if I was using a Diesel Engine or an Electric bike 😁

I see that the resistance is not exactly like it was with my TACX TTS 2.07. My average speed should be around 30-32 km/h.

In the log file with the debug option, I have this:

  • Connected to Tacx Trainer T1932
  • Motor Brake Unit Firmware=4103 Serial= 879 year=2008 type=T1949 Version2=1300 MotorBrake=False

My problem is similar to the one reported by jujroy.

I will try version 5.1 to see if it solves the problem with -t Motorbrake

Many thanks

@WouterJD
Copy link
Owner

@DoubleH63 that willl work; type=T1949 is not expected to be a motor brake and therefore MotorBrake=False.
I will study how to rework this brake-detection part

@DoubleH63
Copy link

DoubleH63 commented Jan 10, 2021

Hello Wouter,

I just tested version 5.1 on the same road than yesterday,

Result: 31.8km in 46m35s for an average speed of 41,0km/h

Doesn't seem to use the MotorBrake as it should,

Here is the information I have in the DOS window when I started:

  1. FortiusANT.exe -a -g -H0 -A -t Motorbrake
  2. Connected to Tacx Trainer T1932
  3. Motor Brake Unit Firmware=4103 Serial= 879 year=2008 type=T1949 Version2=1300 MotorBrake=False

The GUI shows: Fortius Antifier v5.1 test II

Is it help ?

@WouterJD
Copy link
Owner

Yes it helps; thanks.
Working hard to get the version detection more solid

@jujroy
Copy link

jujroy commented Jan 11, 2021

Hello Wouter,

I just tested version 5.1 on the same road than yesterday,

Result: 31.8km in 46m35s for an average speed of 41,0km/h

Doesn't seem to use the MotorBrake as it should,

Here is the information I have in the DOS window when I started:

1. FortiusANT.exe -a -g -H0 -A -t Motorbrake

2. Connected to Tacx Trainer T1932

3. Motor Brake Unit Firmware=4103 Serial= 879 year=2008 type=T1949 Version2=1300 MotorBrake=False

The GUI shows: Fortius Antifier v5.1 test II

Is it help ?

Good evening.

I found out, by fluke, a sequence to make my system work consistently.
-I turn OFF the power switch on the Power Pack;
-I launch the FortiusAnt software and wait until the GUI gives me the Start Pedalling Prompt
-I then power up the Power Pack, start pedalling, go thru the calibration process and guess what...I get the proper power output.

I tried this sequence 5 times and always got the right power output.
Tomorrow I will Zwift with V5.1,

Hope this works for you.

Cheers

@DoubleH63
Copy link

Hello Wouter,
I just tested version 5.1 on the same road than yesterday,
Result: 31.8km in 46m35s for an average speed of 41,0km/h
Doesn't seem to use the MotorBrake as it should,
Here is the information I have in the DOS window when I started:

1. FortiusANT.exe -a -g -H0 -A -t Motorbrake

2. Connected to Tacx Trainer T1932

3. Motor Brake Unit Firmware=4103 Serial= 879 year=2008 type=T1949 Version2=1300 MotorBrake=False

The GUI shows: Fortius Antifier v5.1 test II
Is it help ?

Good evening.

I found out, by fluke, a sequence to make my system work consistently.
-I turn OFF the power switch on the Power Pack;
-I launch the FortiusAnt software and wait until the GUI gives me the Start Pedalling Prompt
-I then power up the Power Pack, start pedalling, go thru the calibration process and guess what...I get the proper power output.

I tried this sequence 5 times and always got the right power output.
Tomorrow I will Zwift with V5.1,

Hope this works for you.

Cheers

@jujroy I will try your sequence also tomorrow.
Regards

@WouterJD
Copy link
Owner

Version 5.1 Test III is available with major update on Motor/Magnetic brake determination.
(for details see wiki)

Please test

@jujroy
Copy link

jujroy commented Jan 11, 2021

@WouterJD
Hello Wouter, I proceeded with 5 tests all with the Power Pack switch ON.
GUI displayed version 5.1 III with virtuel cassette / chainring 50/19 ratio. I did not change the ratio at all.
All 5 times I got the Start Pedalling prompt and got the right amount of power similar to V3.8 without even going to the Parameters where is used to select Motor Brake.

All my compliments.

QUESTION: in Zwift yesterday and this morning in the device coupling box I noticed 2 options for the Power source: TACX FE/C 57591 and also GARMIN PWR 57596. I had the first one selected. Also in the Cadence box I had 4 options : 57591, 57596 and Speed/Cadence 57595 (My selection) and Speed/Cadence 62509 which I suspect is my ANT+ Bontrager Duo trap. Can you confirm that my selections were the right ones. Many thanks. Jean

@jujroy
Copy link

jujroy commented Jan 11, 2021

@WouterJD ,

forgot to mentioned that I zwifted earlier this AM with V5.1II. Results were matching V3.8

@TacxBiker
Copy link

with this new version motor brake detection seems to work every time.
after calibration the power feels the same as in 3.8 or previous versions with motor brake set True
Now I don't need to either enter trainer type or edit the usbtrainer.py

@DoubleH63
Copy link

Hello @WouterJD,

I did test version 5.1 III and it did not work for me.

I did the calibration and it ran for almost one minute. Then I went to Zwift.

I was doing 110 RPM on 52/13 gears on a 4% hill with 164 Watts... and going 13km/h. The display on FortiusANT GUI was showing 65km/h.

The Power is not transfered to the motor brake.

Also, when I do the Runoff test the wheel stops from 40 to 0 in 4.4 seconds. It is supposed to take around 7 seconds. I did remove pressure on the wheel and it does not change the result.

Do you suggest a parameter adjustment?

Regards

@WouterJD
Copy link
Owner

with this new version motor brake detection seems to work every time.
after calibration the power feels the same as in 3.8 or previous versions with motor brake set True
Now I don't need to either enter trainer type or edit the usbtrainer.py

@TacxBiker Thanks

@WouterJD
Copy link
Owner

I did test version 5.1 III and it did not work for me.

@DoubleH63 that's a real pity.
Please rerun with -d127 (create logfile, which is also possible using the settings dialogue) and attach the logfile and json file to your next post. Sorry that it takes so much effort to get your config working reliably.

@WouterJD
Copy link
Owner

Can you confirm that my selections were the right ones. Many thanks. Jean

@jujroy FortiusAnt broadcasts the following devices
57591 FE-C Controllable Fitness equipment
57592 HRM Heartrate monitor (optional, according -H parameter)
57595 SCS Speed/cadense sensor
57596 PWR Power monitor

In fact, only the FE-C (57591) is required. SCS and PWR are implemented so you can attach a Garmin Edge on your bike, it should not be required by Zwift. If you use an ANT+ heart rate monitor, Zwift will connect to that and the FortiusAnt HRM is not required.

@WouterJD
Copy link
Owner

Results were matching V3.8

@jujroy thanks for confirmation

@WouterJD
Copy link
Owner

I found out, by fluke, a sequence to make my system work consistently.

@jujroy Is this still required?

@DoubleH63
Copy link

@WouterJD Do you need the files until I enter Zwift or only until the calibration is done?

@jujroy
Copy link

jujroy commented Jan 12, 2021

I found out, by fluke, a sequence to make my system work consistently.

@jujroy Is this still required?

No with version III, the detection portion, Kick Start Pedalling Prompt and low speed power were all normal for my 5 quick tests. Ski day today but tomorrow I will Zwift and advise especially after reading @DoubleH63 comments. Yesterday, I Zwifted with Version II following the power ON of the Power Pack after I got the Kick Start Pedalling prompt I was happy with the results of my 1 hour ride (https://www.strava.com/activities/4603931142). More to follow. Have a nice day. Would it be possible that the new virtual cassette/chainring gets in the way using version III ????

@jujroy
Copy link

jujroy commented Jan 12, 2021

Can you confirm that my selections were the right ones. Many thanks. Jean

@jujroy FortiusAnt broadcasts the following devices
57591 FE-C Controllable Fitness equipment
57592 HRM Heartrate monitor (optional, according -H parameter)
57595 SCS Speed/cadense sensor
57596 PWR Power monitor

In fact, only the FE-C (57591) is required. SCS and PWR are implemented so you can attach a Garmin Edge on your bike, it should not be required by Zwift. If you use an ANT+ heart rate monitor, Zwift will connect to that and the FortiusAnt HRM is not required.

Thanks for the info. When I wear my HRM band I get 17888 both in the Fortius GUI and Zwift :)

@WouterJD
Copy link
Owner

When I wear my HRM band I get 17888 both in the Fortius GUI and Zwift :)

That's good (-H0 on command line ==> no 57292 device)

@WouterJD
Copy link
Owner

@WouterJD Do you need the files until I enter Zwift or only until the calibration is done?

Does not matter so much, send entire file + error description

@DoubleH63
Copy link

@WouterJD
Here is the test files with the calibration:

FortiusAnt.2021-01-12 18-59-45.zip

@DoubleH63
Copy link

@WouterJD

Any findings in the files that would explain why the power is not transmitted to the Motorbrake?

@WouterJD
Copy link
Owner

Any findings in the files that would explain why the power is not transmitted to the Motorbrake?

Calibration is performed normally ==> the communication with the trainer's head unit works.

19:00:33,912: devAntDongle.write(0x01,"a4 09 4e 03 00 00 00 00 00 00 00 00 e0")
19:00:34,928: AntDongle.Write exception (message lost): [Errno None] b'libusb0-dll:err [_usb_reap_async] timeout error\n'
19:00:34,928: AntDongle.Read() returns: []
19:00:34,928: Dongle    send   : synch=0xa4, len= 9, id=0x4e Broadcast Data       , check=0xf7, info="06 02 00 00 00 00 00 00 10" (ch=6 p=2(HRM Manufacturer info))
19:00:34,928: devAntDongle.write(0x01,"a4 09 4e 06 02 00 00 00 00 00 00 10 f7")
19:00:35,931: AntDongle.Write exception (message lost): [Errno None] b'libusb0-dll:err [_usb_reap_async] timeout error\n'
19:00:35,931: AntDongle.Read() returns: []
19:00:35,931: Dongle    send   : synch=0xa4, len= 9, id=0x4e Broadcast Data       , check=0xcb, info="00 19 01 00 00 00 00 00 30" (ch=0 p=25(Trainer Data))
19:00:35,931: devAntDongle.write(0x01,"a4 09 4e 00 19 01 00 00 00 00 00 30 cb")
19:00:36,935: AntDongle.Write exception (message lost): [Errno None] b'libusb0-dll:err [_usb_reap_async] timeout error\n'
19:00:36,935: AntDongle.Read() returns: []


19:00:36,935: Tacx2Dongle; Processing time 4.038 is 4.018 longer than planned 0.020 (seconds)
19:00:36,935: clsTacxTrainer.Refresh(True, 2)
19:00:36,935: clsTacxNewUsbTrainer._ReceiveFromTrainer()
19:00:36,935: Trainer recv hdr=-0x1 data="array('B', [2, 54, 2, 0, 0, 2, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 3, 0, 0, 0, 0])" (len=24)
19:00:36,935: Retry because short buffer (len=24) or incorrect header received (expected: 0x21303 received: -0x1)
19:00:37,044: Trainer recv hdr=-0x1 data="array('B', [2, 54, 2, 0, 0, 2, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 3, 0, 0, 0, 0])" (len=24)
19:00:37,044: Retry because short buffer (len=24) or incorrect header received (expected: 0x21303 received: -0x1)
19:00:37,154: Trainer recv hdr=-0x1 data="array('B', [2, 54, 2, 0, 0, 2, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 3, 0, 0, 0, 0])" (len=24)
19:00:37,154: Retry because short buffer (len=24) or incorrect header received (expected: 0x21303 received: -0x1)
19:00:37,263: Trainer recv hdr=-0x1 data="array('B', [2, 54, 2, 0, 0, 2, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 3, 0, 0, 0, 0])" (len=24)
19:00:37,263: Retry because short buffer (len=24) or incorrect header received (expected: 0x21303 received: -0x1)
19:00:37,373: Trainer recv hdr=-0x1 data="array('B', [2, 54, 2, 0, 0, 2, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 3, 0, 0, 0, 0])" (len=24)
19:00:37,373: Tacx head unit returns insufficient data, len=24
19:00:37,373: To resolve, try to run without Pedal Stroke Analysis.

For some reason there are errors in the ANT+ communication AND also in the trainer communication.

I would check all cabling, reboot and run FortiusAnt without -A (pedal stroke analysis)

WouterJD added a commit that referenced this issue Jan 21, 2021
* #184 Power in Rouvy issue

* #173 Version 4.0 Communicates Much Higher Power vs. 3.8

* #184 Power in Rouvy issue #2

* #184 Power in Rouvy issue #2

* #184 Power in Rouvy issue #3

* Fortius Antifier v4.2 test IV

* Fortius Antifier v5.1 test I

* Fortius Antifier v5.1 test II

* Fortius Antifier v5.1 test IIb

* #201

* #201

* Fortius Antifier v5.1 test III

* heart -> Heart2

* heart -> Heart2

* heart* -> heart.jpg

* Fortius Antifier v5.1 test IV

* Fortius Antifier v5.1 test V

* Fortius Antifier v5.1 test VI

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

No branches or pull requests

8 participants