Set-Slope Inconsistent Results
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.
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: https://github.com/alex-hhh/TrainerControl/blob/2c908746e1c193a1e121f8c84d5c0266f9bd5cd1/src/FitnessEquipmentControl.cpp#L278
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.