Max step rate for OutdoorWalkingV2Parser version 1

This commit is contained in:
AndrewP 2024-12-18 21:41:25 +01:00
parent f4bc2ed6af
commit ae4079eb14
4 changed files with 12 additions and 3 deletions

View File

@ -40,6 +40,7 @@ public class ActivitySummaryEntries {
public static final String STEP_RATE_SUM = "stepRateSum";
public static final String STEP_RATE_AVG = "stepRateAvg";
public static final String STEP_RATE_MAX = "stepRateMax";
public static final String STEP_LENGTH_AVG = "stepLengthAvg";
public static final String CADENCE_AVG = "averageCadence";

View File

@ -63,6 +63,12 @@ public class ActivitySummaryJsonSummary {
summary.add("averageSpeed", distance / duration, UNIT_METERS_PER_SECOND);
}
if (!summary.has(STEP_RATE_AVG) && summary.has(STEPS) && summary.has(ACTIVE_SECONDS)) {
double stepcount = summary.getNumber(STEPS, 0).doubleValue();
double duration = summary.getNumber(ACTIVE_SECONDS, 1).doubleValue();
summary.add(STEP_RATE_AVG, (double)((int)(((stepcount / duration) * 60)+0.5)), UNIT_SPM);
}
return summary;
}
@ -169,7 +175,7 @@ public class ActivitySummaryJsonSummary {
put(GROUP_SPEED, Arrays.asList(
SPEED_AVG, SPEED_MAX, SPEED_MIN, PACE_AVG_SECONDS_KM, PACE_MIN,
PACE_MAX, "averageSpeed2", CADENCE_AVG, CADENCE_MAX, CADENCE_MIN,
STEP_RATE_AVG
STEP_RATE_AVG, STEP_RATE_MAX
));
put(GROUP_ELEVATION, Arrays.asList(
ASCENT_METERS, DESCENT_METERS, ALTITUDE_MAX, ALTITUDE_MIN, ALTITUDE_AVG,

View File

@ -43,6 +43,7 @@ import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.SPEED_AVG;
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.SPEED_MAX;
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.STEPS;
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.STEP_RATE_MAX;
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.STROKES;
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.STROKE_RATE_AVG;
import static nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryEntries.JUMPS;
@ -453,9 +454,9 @@ public class WorkoutSummaryParser extends XiaomiActivityParser implements Activi
if (version == 1) {
builder.addInt(PACE_MAX, UNIT_SECONDS_PER_KM);
builder.addInt(PACE_MIN, UNIT_SECONDS_PER_KM);
builder.addUnknown(4);
builder.addFloat(SPEED_MAX, UNIT_KMPH);
builder.addInt(STEPS, UNIT_STEPS);
builder.addUnknown(2); // MAX_STEPS_PER_MINUTE, UNIT_STEPS_PER_MINUTE
builder.addShort(STEP_RATE_MAX, UNIT_SPM);
builder.addByte(HR_AVG, UNIT_BPM);
builder.addByte(HR_MAX, UNIT_BPM);
builder.addByte(HR_MIN, UNIT_BPM);

View File

@ -2266,6 +2266,7 @@
<string name="averageSpeed">Average Speed</string>
<string name="stepRateSum">Sum of step rate</string>
<string name="stepRateAvg">Average step rate</string>
<string name="stepRateMax">Max step rate</string>
<string name="stepLengthAvg">Average Step Length</string>
<string name="groundContactTimeAvg">Average ground contact time</string>
<string name="impactAvg">Average impact</string>