Merge pull request #3819 from bobrippling/fix/settings-alt

Fix settings altitude calibration saving
master
thyttan 2025-04-22 13:16:31 +02:00 committed by GitHub
commit 9acdc9930a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 14 additions and 7 deletions

View File

@ -85,3 +85,4 @@ of 'Select Clock'
0.74: Add extra layer of checks before allowing a factory reset (fix #3476) 0.74: Add extra layer of checks before allowing a factory reset (fix #3476)
0.75: Restore previous menu's scroll positions 0.75: Restore previous menu's scroll positions
0.76: Add altitude calibration menu (and update README after menu changed) 0.76: Add altitude calibration menu (and update README after menu changed)
0.77: Save altitude calibration when user exits via reset

View File

@ -1,7 +1,7 @@
{ {
"id": "setting", "id": "setting",
"name": "Settings", "name": "Settings",
"version": "0.76", "version": "0.77",
"description": "A menu for setting up Bangle.js", "description": "A menu for setting up Bangle.js",
"icon": "settings.png", "icon": "settings.png",
"tags": "tool,system", "tags": "tool,system",

View File

@ -1036,8 +1036,14 @@ function showAltitude() {
menuAltitude.value = Math.round(pressure.altitude); menuAltitude.value = Math.round(pressure.altitude);
m.draw(); m.draw();
} }
function altitudeDone() {
settings.seaLevelPressure = seaLevelPressure;
updateSettings();
}
Bangle.setBarometerPower(1,"settings"); Bangle.setBarometerPower(1,"settings");
Bangle.on("pressure",onPressure); Bangle.on("pressure",onPressure);
E.on("kill", altitudeDone);
var seaLevelPressure = Bangle.getOptions().seaLevelPressure; var seaLevelPressure = Bangle.getOptions().seaLevelPressure;
if (!isFinite(seaLevelPressure)) seaLevelPressure=1013.25; if (!isFinite(seaLevelPressure)) seaLevelPressure=1013.25;
var menuPressure = {value:"-"}; var menuPressure = {value:"-"};
@ -1045,8 +1051,8 @@ function showAltitude() {
var m = E.showMenu({ "" : {title:/*LANG*/"Altitude",back:() => { var m = E.showMenu({ "" : {title:/*LANG*/"Altitude",back:() => {
Bangle.setBarometerPower(0,"settings"); Bangle.setBarometerPower(0,"settings");
Bangle.removeListener("pressure",onPressure); Bangle.removeListener("pressure",onPressure);
settings.seaLevelPressure = seaLevelPressure; E.removeListener("kill",altitudeDone);
updateSettings(); altitudeDone();
popMenu(systemMenu()); popMenu(systemMenu());
}}, }},
/*LANG*/"Pressure (hPa)" : menuPressure, /*LANG*/"Pressure (hPa)" : menuPressure,
@ -1054,17 +1060,17 @@ function showAltitude() {
/*LANG*/"Adjust up" : function() { /*LANG*/"Adjust up" : function() {
Bangle.buzz(80); Bangle.buzz(80);
seaLevelPressure++; seaLevelPressure++;
Bangle.setOptions({seaLevelPressure:seaLevelPressure}); Bangle.setOptions({seaLevelPressure});
}, },
/*LANG*/"Adjust down" : function() { /*LANG*/"Adjust down" : function() {
Bangle.buzz(80); Bangle.buzz(80);
seaLevelPressure--; seaLevelPressure--;
Bangle.setOptions({seaLevelPressure:seaLevelPressure}); Bangle.setOptions({seaLevelPressure});
}, },
/*LANG*/"Set Default" : function() { /*LANG*/"Set Default" : function() {
Bangle.buzz(); Bangle.buzz();
seaLevelPressure=1013.25; seaLevelPressure=1013.25;
Bangle.setOptions({seaLevelPressure:seaLevelPressure}); Bangle.setOptions({seaLevelPressure});
} }
}); });
} }