BangleApps/apps/speedalt2/settings.js

103 lines
2.8 KiB
JavaScript
Raw Permalink Normal View History

2021-10-19 01:16:57 +00:00
(function(back) {
2021-10-19 01:50:15 +00:00
let settings = require('Storage').readJSON('speedalt2.json',1)||{};
2021-10-19 01:16:57 +00:00
//settings.buzz = settings.buzz||1;
function writeSettings() {
2021-10-19 01:50:15 +00:00
require('Storage').write('speedalt2.json',settings);
2021-10-19 01:16:57 +00:00
}
function setUnits(m,u) {
settings.spd = m;
settings.spd_unit = u;
writeSettings();
}
function setUnitsAlt(m,u) {
settings.alt = m;
settings.alt_unit = u;
writeSettings();
}
function setUnitsDist(d,u) {
settings.dist = d;
settings.dist_unit = u;
writeSettings();
}
function setColour(c) {
settings.colour = c;
writeSettings();
}
2022-05-23 04:35:04 +00:00
function setSfx(s) {
settings.wptSfx = s;
writeSettings();
}
2021-10-19 01:16:57 +00:00
const appMenu = {
2021-10-19 01:59:20 +00:00
'': {'title': 'GPS Adv Sprt II'},
2021-10-19 01:16:57 +00:00
'< Back': back,
2021-10-19 01:50:15 +00:00
'< Load GPS Adv Sport': ()=>{load('speedalt2.app.js');},
2021-10-19 01:16:57 +00:00
'Units' : function() { E.showMenu(unitsMenu); },
'Colours' : function() { E.showMenu(colMenu); },
2021-10-24 20:20:36 +00:00
'Kalman Filter' : function() { E.showMenu(kalMenu); },
2022-05-23 04:35:04 +00:00
'Wpt File Suffix' : function() { E.showMenu(sfxMenu); },
2021-10-24 20:20:36 +00:00
'Touch' : {
value : settings.touch,
onchange : () => { settings.touch = !settings.touch; writeSettings(); }
}
2021-10-19 01:16:57 +00:00
};
const unitsMenu = {
'': {'title': 'Units'},
'< Back': function() { E.showMenu(appMenu); },
2022-02-03 08:47:26 +00:00
// 'default (spd)' : function() { setUnits(0,''); },
2021-10-19 01:16:57 +00:00
'Kph (spd)' : function() { setUnits(1,'kph'); },
'Knots (spd)' : function() { setUnits(1.852,'kts'); },
'Mph (spd)' : function() { setUnits(1.60934,'mph'); },
'm/s (spd)' : function() { setUnits(3.6,'m/s'); },
'Km (dist)' : function() { setUnitsDist(1000,'km'); },
'Miles (dist)' : function() { setUnitsDist(1609.344,'mi'); },
'Nm (dist)' : function() { setUnitsDist(1852.001,'nm'); },
'Meters (alt)' : function() { setUnitsAlt(1,'m'); },
'Feet (alt)' : function() { setUnitsAlt(0.3048,'ft'); }
};
const colMenu = {
'': {'title': 'Colours'},
'< Back': function() { E.showMenu(appMenu); },
'Default' : function() { setColour(0); },
'Hi Contrast' : function() { setColour(1); },
2021-10-29 09:24:02 +00:00
'Night' : function() { setColour(2); },
2021-10-29 09:20:30 +00:00
'Inverted' : function() { setColour(3); }
2021-10-19 01:16:57 +00:00
};
2022-05-23 04:35:04 +00:00
const sfxMenu = {
'': {'title': 'Wpt File Suffix'},
'< Back': function() { E.showMenu(appMenu); },
'Default' : function() { setSfx(''); },
'1' : function() { setSfx('1'); },
'2' : function() { setSfx('2'); },
'3' : function() { setSfx('3'); }
};
2021-10-19 01:16:57 +00:00
const kalMenu = {
'': {'title': 'Kalman Filter'},
'< Back': function() { E.showMenu(appMenu); },
'Speed' : {
value : settings.spdFilt,
onchange : () => { settings.spdFilt = !settings.spdFilt; writeSettings(); }
},
'Altitude' : {
value : settings.altFilt,
onchange : () => { settings.altFilt = !settings.altFilt; writeSettings(); }
}
};
E.showMenu(appMenu);
})