1
0
Fork 0
BangleApps/apps/speedalt/settings.js

89 lines
2.4 KiB
JavaScript
Raw Normal View History

2021-01-22 00:48:35 +00:00
(function(back) {
2021-01-28 23:52:44 +00:00
2021-01-22 00:48:35 +00:00
let settings = require('Storage').readJSON('speedalt.json',1)||{};
2021-01-29 01:58:03 +00:00
//settings.buzz = settings.buzz||1;
2021-01-22 00:48:35 +00:00
2021-01-28 23:52:44 +00:00
function writeSettings() {
2021-01-28 10:19:05 +00:00
require('Storage').write('speedalt.json',settings);
2021-01-22 00:48:35 +00:00
}
2021-01-28 23:52:44 +00:00
function setUnits(m,u) {
settings.spd = m;
settings.spd_unit = u;
writeSettings();
}
2021-01-22 00:48:35 +00:00
function setUnitsAlt(m,u) {
2021-01-28 23:52:44 +00:00
settings.alt = m;
settings.alt_unit = u;
writeSettings();
2021-01-22 00:48:35 +00:00
}
2021-01-31 06:01:57 +00:00
function setUnitsDist(d,u) {
settings.dist = d;
settings.dist_unit = u;
writeSettings();
}
2021-01-26 02:22:52 +00:00
function setColour(c) {
2021-01-28 23:52:44 +00:00
settings.colour = c;
writeSettings();
2021-01-26 02:22:52 +00:00
}
2021-01-26 02:22:52 +00:00
2021-01-22 00:48:35 +00:00
const appMenu = {
2021-01-22 11:42:17 +00:00
'': {'title': 'GPS Speed Alt'},
2021-01-28 19:48:56 +00:00
'< Back': back,
2021-02-12 02:14:19 +00:00
'< Load GPS Adv Sport': ()=>{load('speedalt.app.js');},
2021-01-28 19:26:33 +00:00
'Units' : function() { E.showMenu(unitsMenu); },
'Colours' : function() { E.showMenu(colMenu); },
'Kalman Filter' : function() { E.showMenu(kalMenu); }/*,
2021-01-28 21:27:20 +00:00
'Vibrate' : {
2021-01-28 22:16:28 +00:00
value : settings.buzz,
2021-01-28 21:27:20 +00:00
format : v => v?"On":"Off",
2021-02-04 09:48:35 +00:00
onchange : () => { settings.buzz = !settings.buzz; writeSettings(); }
}*/
};
2021-01-22 11:42:17 +00:00
const unitsMenu = {
2021-01-22 00:48:35 +00:00
'': {'title': 'Units'},
2021-01-28 19:48:56 +00:00
'< Back': function() { E.showMenu(appMenu); },
2021-01-22 00:48:35 +00:00
'default (spd)' : function() { setUnits(0,''); },
2021-01-28 19:26:33 +00:00
'Kph (spd)' : function() { setUnits(1,'kph'); },
2021-02-21 21:07:54 +00:00
'Knots (spd)' : function() { setUnits(1.852,'kts'); },
2021-01-28 19:26:33 +00:00
'Mph (spd)' : function() { setUnits(1.60934,'mph'); },
'm/s (spd)' : function() { setUnits(3.6,'m/s'); },
2021-01-31 06:01:57 +00:00
'Km (dist)' : function() { setUnitsDist(1000,'km'); },
2021-02-21 21:07:54 +00:00
'Miles (dist)' : function() { setUnitsDist(1609.344,'mi'); },
2021-01-31 06:01:57 +00:00
'Nm (dist)' : function() { setUnitsDist(1852.001,'nm'); },
2021-01-28 19:26:33 +00:00
'Meters (alt)' : function() { setUnitsAlt(1,'m'); },
2021-02-21 21:07:54 +00:00
'Feet (alt)' : function() { setUnitsAlt(0.3048,'ft'); }
2021-01-22 00:48:35 +00:00
};
2021-01-22 11:42:17 +00:00
2021-01-26 02:22:52 +00:00
const colMenu = {
'': {'title': 'Colours'},
2021-01-28 19:48:56 +00:00
'< Back': function() { E.showMenu(appMenu); },
2021-01-28 10:34:02 +00:00
'Default' : function() { setColour(0); },
2021-01-28 19:26:33 +00:00
'Hi Contrast' : function() { setColour(1); },
2021-01-28 19:48:56 +00:00
'Night' : function() { setColour(2); }
2021-01-26 02:22:52 +00:00
};
2021-01-25 01:35:21 +00:00
const kalMenu = {
'': {'title': 'Kalman Filter'},
'Speed' : {
value : settings.spdFilt,
format : v => v?"On":"Off",
onchange : () => { settings.spdFilt = !settings.spdFilt; writeSettings(); }
},
'Altitude' : {
value : settings.altFilt,
format : v => v?"On":"Off",
onchange : () => { settings.altFilt = !settings.altFilt; writeSettings(); }
}
};
2021-01-22 11:42:17 +00:00
2021-01-28 23:52:44 +00:00
E.showMenu(appMenu);
});