mirror of https://github.com/espruino/BangleApps
Use new GPS settings module
parent
0784361e43
commit
c3a45287d0
|
@ -1,8 +1,9 @@
|
||||||
/*
|
/*
|
||||||
Speed and Altitude [speedalt]
|
Speed and Altitude [speedalt]
|
||||||
Mike Bennett mike[at]kereru.com
|
Mike Bennett mike[at]kereru.com
|
||||||
|
1.16 : Use new GPS settings module
|
||||||
*/
|
*/
|
||||||
var v = '1.15';
|
var v = '1.16';
|
||||||
var buf = Graphics.createArrayBuffer(240,160,2,{msb:true});
|
var buf = Graphics.createArrayBuffer(240,160,2,{msb:true});
|
||||||
|
|
||||||
// Load fonts
|
// Load fonts
|
||||||
|
@ -269,22 +270,18 @@ function setButtons(){
|
||||||
|
|
||||||
// Power saving on/off
|
// Power saving on/off
|
||||||
setWatch(function(e){
|
setWatch(function(e){
|
||||||
var dur = e.time - e.lastTime;
|
pwrSav=!pwrSav;
|
||||||
if ( dur < 2 ) { // Short press.
|
if ( pwrSav ) {
|
||||||
pwrSav=!pwrSav;
|
LED1.reset();
|
||||||
if ( pwrSav ) {
|
var s = require('Storage').readJSON('setting.json',1)||{};
|
||||||
LED1.reset();
|
var t = s.timeout||10;
|
||||||
var s = require('Storage').readJSON('setting.json',1)||{};
|
Bangle.setLCDTimeout(t);
|
||||||
var t = s.timeout||10;
|
}
|
||||||
Bangle.setLCDTimeout(t);
|
else {
|
||||||
}
|
Bangle.setLCDTimeout(0);
|
||||||
else {
|
Bangle.setLCDPower(1);
|
||||||
Bangle.setLCDTimeout(0);
|
LED1.set();
|
||||||
Bangle.setLCDPower(1);
|
|
||||||
LED1.set();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else gpsOff(); // long press, power off LP GPS
|
|
||||||
}, BTN2, {repeat:true,edge:"falling"});
|
}, BTN2, {repeat:true,edge:"falling"});
|
||||||
|
|
||||||
// Toggle between alt or dist
|
// Toggle between alt or dist
|
||||||
|
@ -328,31 +325,10 @@ function savSettings() {
|
||||||
require("Storage").write('speedalt.json',settings);
|
require("Storage").write('speedalt.json',settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Is low power GPS service available to use?
|
|
||||||
function isLP() {
|
|
||||||
if (WIDGETS.gpsservice == undefined) return(0);
|
|
||||||
return(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
function setLpMode(m) {
|
function setLpMode(m) {
|
||||||
if (tmrLP) {clearInterval(tmrLP);tmrLP = false;} // Stop any scheduled drop to low power
|
if (tmrLP) {clearInterval(tmrLP);tmrLP = false;} // Stop any scheduled drop to low power
|
||||||
if ( !lp ) return;
|
if ( !gpssetup ) return;
|
||||||
var s = WIDGETS.gpsservice.gps_get_settings();
|
gpssetup.setPowerMode({power_mode:m})
|
||||||
if ( m !== s.power_mode || !s.gpsservice ) {
|
|
||||||
s.gpsservice = true;
|
|
||||||
s.power_mode = m;
|
|
||||||
WIDGETS.gpsservice.gps_set_settings(s);
|
|
||||||
WIDGETS.gpsservice.reload();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function gpsOff() {
|
|
||||||
if ( !lp ) return;
|
|
||||||
var s = WIDGETS.gpsservice.gps_get_settings();
|
|
||||||
s.gpsservice = false;
|
|
||||||
s.power_mode = 'SuperE';
|
|
||||||
WIDGETS.gpsservice.gps_set_settings(s);
|
|
||||||
WIDGETS.gpsservice.reload();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// =Main Prog
|
// =Main Prog
|
||||||
|
@ -404,21 +380,29 @@ Bangle.on('lcdPower',function(on) {
|
||||||
else stopDraw();
|
else stopDraw();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var gpssetup;
|
||||||
|
try {
|
||||||
|
gpssetup = require("gpssetup")
|
||||||
|
} catch(e) {
|
||||||
|
gpssetup = false;
|
||||||
|
}
|
||||||
|
|
||||||
// All set up. Lets go.
|
// All set up. Lets go.
|
||||||
g.clear();
|
g.clear();
|
||||||
Bangle.loadWidgets();
|
Bangle.loadWidgets();
|
||||||
Bangle.drawWidgets();
|
Bangle.drawWidgets();
|
||||||
onGPS(lf);
|
onGPS(lf);
|
||||||
|
Bangle.setGPSPower(1);
|
||||||
|
|
||||||
var lp = isLP(); // Low power GPS widget installed?
|
if ( gpssetup ) {
|
||||||
if ( lp ) {
|
gpssetup.setPowerMode({power_mode:"SuperE"}).then(function() { Bangle.setGPSPower(1); });
|
||||||
setLpMode('SuperE');
|
// setInterval(()=>onGPS(WIDGETS.gpsservice.gps_get_fix()), 1000);
|
||||||
setInterval(()=>onGPS(WIDGETS.gpsservice.gps_get_fix()), 1000);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Bangle.setGPSPower(1);
|
Bangle.setGPSPower(1);
|
||||||
Bangle.on('GPS', onGPS);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Bangle.on('GPS', onGPS);
|
||||||
|
|
||||||
setButtons();
|
setButtons();
|
||||||
setInterval(updateClock, 30000);
|
setInterval(updateClock, 30000);
|
||||||
|
|
Loading…
Reference in New Issue