mirror of
https://github.com/dyuri/garmin-repafield.git
synced 2025-12-16 11:14:16 +00:00
Compare commits
2 Commits
846e401313
...
1e1e28f4e7
| Author | SHA1 | Date | |
|---|---|---|---|
| 1e1e28f4e7 | |||
| 80faa77afb |
@ -8,4 +8,5 @@
|
||||
<property id="showNextPoint" type="boolean">true</property>
|
||||
<property id="saveToFit" type="boolean">true</property>
|
||||
<property id="tlFieldData" type="number">1</property>
|
||||
<property id="rollingAvgWindow" type="number">5</property>
|
||||
</properties>
|
||||
|
||||
@ -36,4 +36,7 @@
|
||||
<setting propertyKey="@Properties.saveToFit" title="@Strings.SaveToFit">
|
||||
<settingConfig type="boolean" />
|
||||
</setting>
|
||||
<setting propertyKey="@Properties.rollingAvgWindow" title="@Strings.RollingAvgWindow">
|
||||
<settingConfig type="numeric" />
|
||||
</setting>
|
||||
</settings>
|
||||
@ -16,6 +16,7 @@
|
||||
<string id="TLFGrade">Grade</string>
|
||||
<string id="TLFGAP">Grade Adjusted Pace</string>
|
||||
<string id="TLFVSpeed">Vertical Speed</string>
|
||||
<string id="RollingAvgWindow">Rolling average window (~seconds)</string>
|
||||
<string id="uGrade">%</string>
|
||||
<string id="uGAP">min/km</string>
|
||||
<string id="uVSpeed">m/min</string>
|
||||
|
||||
@ -11,7 +11,9 @@ const GRADE_ADJUSTMENT as Array<Array<Numeric>> = [
|
||||
|
||||
function adjustPaceForGrade(pace, grade) {
|
||||
if (grade <= GRADE_ADJUSTMENT[0][0]) {
|
||||
return pace / GRADE_ADJUSTMENT[0][1];
|
||||
var slope = (GRADE_ADJUSTMENT[1][1] - GRADE_ADJUSTMENT[0][1]) / (GRADE_ADJUSTMENT[1][0] - GRADE_ADJUSTMENT[0][0]);
|
||||
var adjustment = GRADE_ADJUSTMENT[0][1] + slope * (grade - GRADE_ADJUSTMENT[0][0]);
|
||||
return pace / adjustment;
|
||||
}
|
||||
|
||||
var size = GRADE_ADJUSTMENT.size();
|
||||
@ -27,5 +29,8 @@ function adjustPaceForGrade(pace, grade) {
|
||||
}
|
||||
}
|
||||
|
||||
return pace / GRADE_ADJUSTMENT[size - 1][1];
|
||||
var slope = (GRADE_ADJUSTMENT[size - 1][1] - GRADE_ADJUSTMENT[size - 2][1]) / (GRADE_ADJUSTMENT[size - 1][0] - GRADE_ADJUSTMENT[size - 2][0]);
|
||||
var adjustment = GRADE_ADJUSTMENT[size - 1][1] + slope * (grade - GRADE_ADJUSTMENT[size - 1][0]);
|
||||
|
||||
return pace / adjustment;
|
||||
}
|
||||
@ -55,6 +55,7 @@ class RepaFieldView extends WatchUi.DataField {
|
||||
hidden var speedNotPace as Boolean;
|
||||
hidden var showNextPoint as Boolean;
|
||||
hidden var tlFieldData as Number;
|
||||
hidden var rollingAvgWindow as Number = 5;
|
||||
hidden var hrZones as Array<Number>;
|
||||
hidden var hrHist as Array<Number>;
|
||||
hidden var hrZoneColors as Array<Number>;
|
||||
@ -129,8 +130,6 @@ class RepaFieldView extends WatchUi.DataField {
|
||||
function initialize() {
|
||||
DataField.initialize();
|
||||
|
||||
var RASize = 5; // TODO: rolling average window size => settings
|
||||
|
||||
themeColor = Application.Properties.getValue("themeColor").toNumberWithBase(16);
|
||||
themeColor2 = Application.Properties.getValue("themeColor2").toNumberWithBase(16);
|
||||
themeColor3 = Application.Properties.getValue("themeColor3").toNumberWithBase(16);
|
||||
@ -138,6 +137,7 @@ class RepaFieldView extends WatchUi.DataField {
|
||||
speedNotPace = Application.Properties.getValue("speedNotPace");
|
||||
showNextPoint = Application.Properties.getValue("showNextPoint");
|
||||
tlFieldData = Application.Properties.getValue("tlFieldData").toNumber();
|
||||
rollingAvgWindow = Application.Properties.getValue("rollingAvgWindow").toNumber();
|
||||
|
||||
hrValue = 0;
|
||||
ahrValue = 0;
|
||||
@ -170,9 +170,9 @@ class RepaFieldView extends WatchUi.DataField {
|
||||
cgrade = null;
|
||||
cvspeed = null;
|
||||
cgap = null;
|
||||
deltaAlt = new RollingAverage(RASize);
|
||||
deltaDist = new RollingAverage(RASize);
|
||||
deltaTime = new RollingAverage(RASize);
|
||||
deltaAlt = new RollingAverage(rollingAvgWindow);
|
||||
deltaDist = new RollingAverage(rollingAvgWindow);
|
||||
deltaTime = new RollingAverage(rollingAvgWindow);
|
||||
|
||||
var settings = System.getDeviceSettings();
|
||||
isDistanceMetric = settings.distanceUnits == System.UNIT_METRIC;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user