mirror of https://github.com/espruino/BangleApps
103 lines
2.8 KiB
JavaScript
103 lines
2.8 KiB
JavaScript
(function(back) {
|
|
|
|
let settings = require('Storage').readJSON('speedalt2.json',1)||{};
|
|
//settings.buzz = settings.buzz||1;
|
|
|
|
function writeSettings() {
|
|
require('Storage').write('speedalt2.json',settings);
|
|
}
|
|
|
|
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();
|
|
}
|
|
|
|
function setSfx(s) {
|
|
settings.wptSfx = s;
|
|
writeSettings();
|
|
}
|
|
|
|
|
|
const appMenu = {
|
|
'': {'title': 'GPS Adv Sprt II'},
|
|
'< Back': back,
|
|
'< Load GPS Adv Sport': ()=>{load('speedalt2.app.js');},
|
|
'Units' : function() { E.showMenu(unitsMenu); },
|
|
'Colours' : function() { E.showMenu(colMenu); },
|
|
'Kalman Filter' : function() { E.showMenu(kalMenu); },
|
|
'Wpt File Suffix' : function() { E.showMenu(sfxMenu); },
|
|
'Touch' : {
|
|
value : settings.touch,
|
|
onchange : () => { settings.touch = !settings.touch; writeSettings(); }
|
|
}
|
|
};
|
|
|
|
const unitsMenu = {
|
|
'': {'title': 'Units'},
|
|
'< Back': function() { E.showMenu(appMenu); },
|
|
// 'default (spd)' : function() { setUnits(0,''); },
|
|
'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); },
|
|
'Night' : function() { setColour(2); },
|
|
'Inverted' : function() { setColour(3); }
|
|
};
|
|
|
|
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'); }
|
|
};
|
|
|
|
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);
|
|
|
|
});
|