Skip to content
This repository has been archived by the owner on Jul 4, 2021. It is now read-only.

Set-Slope Inconsistent Results #2

Open
codemwnci opened this issue Jan 10, 2021 · 1 comment
Open

Set-Slope Inconsistent Results #2

codemwnci opened this issue Jan 10, 2021 · 1 comment

Comments

@codemwnci
Copy link

I am not sure if this is an issue with the TelemetryServer, however, I am getting inconsistent results with the Slope.

I have a Bkool Pro, with my ANT+ dongle located very close to the trainer (using a USB extender), so I don't think it is interference or the packets dropping. However, when using the Bike-Trainer, or sending the commands directly to the TelemetryServer (I created a custom Kotlin app to read/write to/from the Telemetry Server), the trainer resistance doesn't always reflect the slope.

For example, setting the slope to 10.1, I was getting very little resistance, but setting the resistance to 5 and I was getting quite a lot. Also, setting the resistance to -15, and again, I was getting far more resistance than I was expecting. When using the Bike-Trainer app, I also noticed that some of the tougher climbs on my GPX file were quite easy, but the easier climbs had higher resistance.

Is there a GET-SLOPE equivalent command that can be used to confirm the slope has been set? Or is there a way to confirm the correct values are being passed through?
I can confirm the TelemetryServer is outputting the expected slope at the expected time.

@alex-hhh
Copy link
Owner

I don't have an answer to your questions by here are some thoughts:

  • looking at the ANT Device Profile for trainers (FE-C), the trainers don't transmit back the slope, so a "GET-SLOPE" command cannot be implemented (i.e. one that retrieves the actual slope value that the trainer has).
  • The slope is transmitted to the trainer using an "acknowledged data page" and the code will keep sending the last value until it succeeds, so, even if one "set slope" message is lost, another one will be sent in its place. This is done here:
    void FitnessEquipmentControl::OnAcknowledgedDataReply(

One limitation of this code is that it does not support trainer calibration, and most trainers need calibration to work correctly -- calibration can be done using the trainers own application, and it should keep its calibration as long as it is powered up (i.e. you can disconnect the trainers own application and connect TrainerContrrol after the calibration).

There are also some other parameters, such as rider weight and wheel size, which you might want to make sure are correct.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants