Garmin Speed 2: added workaround if cadence instead of speed is provided.

This commit is contained in:
Dennis Guse
2021-03-06 18:56:37 +01:00
parent 2431d60171
commit d1e9649505
2 changed files with 10 additions and 1 deletions
+3
View File
@@ -19,6 +19,9 @@ However, often only one value is provided.
### Speed
* Garmin Speed Sensor 2
This sensor reports speed data as cadence.
A workaround is in place.
* Wahoo Speed (Model: WFRPMSPD)
### Cadence
@@ -220,7 +220,13 @@ public abstract class BluetoothConnectionManager {
protected SensorDataCycling.DistanceSpeed parsePayload(String sensorName, String address, BluetoothGattCharacteristic characteristic) {
SensorDataCycling.CadenceAndSpeed cadenceAndSpeed = BluetoothUtils.parseCyclingCrankAndWheel(address, sensorName, characteristic);
if (cadenceAndSpeed != null) {
return cadenceAndSpeed.getDistanceSpeed();
// Workaround for Garmin Speed Sensor 2: provides cadence instead of speed
SensorDataCycling.DistanceSpeed result = cadenceAndSpeed.getDistanceSpeed();
if (result == null && cadenceAndSpeed.getCadence() != null) {
result = new SensorDataCycling.DistanceSpeed(cadenceAndSpeed.getSensorAddress(), cadenceAndSpeed.getSensorName(), (int) cadenceAndSpeed.getCadence().getCrankRevolutionsCount(), cadenceAndSpeed.getCadence().getCrankRevolutionsTime());
}
return result;
}
return null;
}