Garmin: Add average ascent velocity

This commit is contained in:
José Rebelo
2026-01-12 22:05:02 +00:00
parent 915c2a5546
commit 32210e7249
5 changed files with 16 additions and 0 deletions
@@ -5,6 +5,7 @@ import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_KILOMETERS;
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_LB;
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_METERS;
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_METERS_PER_HOUR;
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_METERS_PER_SECOND;
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_MINUTES_PER_100_METERS;
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.UNIT_MINUTES_PER_100_YARDS;
@@ -115,6 +116,12 @@ public class WorkoutValueFormatter {
unit = "km_h";
}
break;
case UNIT_METERS_PER_HOUR:
if (units.equals(UNIT_IMPERIAL)) {
value = value * 3.28084D;
unit = "foot_per_hour";
}
break;
case UNIT_SECONDS_PER_M:
if (units.equals(UNIT_IMPERIAL)) {
value = value * (1609.344 / 60D);
@@ -143,6 +143,7 @@ object ActivitySummaryGroup {
ActivitySummaryEntries.FLAT_DISTANCE,
ActivitySummaryEntries.ELEVATION_GAIN,
ActivitySummaryEntries.ELEVATION_LOSS,
ActivitySummaryEntries.AVERAGE_ASCENT_VELOCITY,
)
)
@@ -317,6 +317,9 @@ public class GarminWorkoutParser implements ActivitySummaryParser {
if (session.getTotalDescent() != null && !ActivityKind.isDiving(activityKind)) {
summaryData.add(TOTAL_DESCENT, session.getTotalDescent(), UNIT_METERS);
}
if (session.getAvgVam() != null && !ActivityKind.isDiving(activityKind)) {
summaryData.add(AVERAGE_ASCENT_VELOCITY, session.getAvgVam() * 3600, UNIT_METERS_PER_HOUR);
}
if (session.getAvgSwimCadence() != null) {
summaryData.add(SWIM_AVG_CADENCE, session.getAvgSwimCadence(), UNIT_STROKES_PER_LENGTH);
}
@@ -38,6 +38,7 @@ public class ActivitySummaryEntries {
public static final String TOTAL_ASCENT = "activityTotalAscent";
public static final String TOTAL_DESCENT = "activityTotalDescent";
public static final String AVERAGE_ASCENT_VELOCITY = "average_ascent_velocity";
public static final String ASCENT_DISTANCE = "ascentDistance";
public static final String ASCENT_METERS = "ascentMeters";
public static final String ASCENT_SECONDS = "ascentSeconds";
@@ -219,6 +220,7 @@ public class ActivitySummaryEntries {
public static final String UNIT_SECONDS_PER_M = "seconds_m";
public static final String UNIT_CENTIMETERS_PER_SECOND = "centimeters_second";
public static final String UNIT_METERS_PER_SECOND = "meters_second";
public static final String UNIT_METERS_PER_HOUR = "meters_per_hour";
public static final String UNIT_KMPH = "km_h";
public static final String UNIT_SPM = "spm";
public static final String UNIT_STEPS = "steps_unit";
+3
View File
@@ -2580,6 +2580,7 @@
<string name="ascentDistance">Uphill distance</string>
<string name="activityTotalAscent">Total ascent</string>
<string name="activityTotalDescent">Total descent</string>
<string name="average_ascent_velocity">Avg ascent velocity</string>
<string name="descentDistance">Downhill distance</string>
<string name="flatDistance">Flat distance</string>
<string name="elevationGain">Elevation gain</string>
@@ -2726,6 +2727,8 @@
<string name="centimeters_second">cm/s</string>
<string name="km_h">km/h</string>
<string name="mi_h">mi/h</string>
<string name="meters_per_hour">m/h</string>
<string name="foot_per_hour">ft/h</string>
<string name="minutes_mi">min/mi</string>
<string name="strokes_second">str/s</string>
<string name="strokes_minute">str/min</string>