forked from upstream-mirrors/OpenTracks
Garmin Speed 2: added workaround if cadence instead of speed is provided.
This commit is contained in:
@@ -19,6 +19,9 @@ However, often only one value is provided.
|
|||||||
### Speed
|
### Speed
|
||||||
|
|
||||||
* Garmin Speed Sensor 2
|
* Garmin Speed Sensor 2
|
||||||
|
This sensor reports speed data as cadence.
|
||||||
|
A workaround is in place.
|
||||||
|
|
||||||
* Wahoo Speed (Model: WFRPMSPD)
|
* Wahoo Speed (Model: WFRPMSPD)
|
||||||
|
|
||||||
### Cadence
|
### Cadence
|
||||||
|
|||||||
+7
-1
@@ -220,7 +220,13 @@ public abstract class BluetoothConnectionManager {
|
|||||||
protected SensorDataCycling.DistanceSpeed parsePayload(String sensorName, String address, BluetoothGattCharacteristic characteristic) {
|
protected SensorDataCycling.DistanceSpeed parsePayload(String sensorName, String address, BluetoothGattCharacteristic characteristic) {
|
||||||
SensorDataCycling.CadenceAndSpeed cadenceAndSpeed = BluetoothUtils.parseCyclingCrankAndWheel(address, sensorName, characteristic);
|
SensorDataCycling.CadenceAndSpeed cadenceAndSpeed = BluetoothUtils.parseCyclingCrankAndWheel(address, sensorName, characteristic);
|
||||||
if (cadenceAndSpeed != null) {
|
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;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user