rolling average window size => settings

This commit is contained in:
Gyuri Horák 2023-11-17 16:39:00 +01:00
parent 80faa77afb
commit 1e1e28f4e7
Signed by: dyuri
GPG Key ID: 4993F07B3EAE8D38
4 changed files with 10 additions and 5 deletions

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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;