1
0
Fork 0

Update app.js

master
nujw 2021-02-06 21:08:13 +13:00 committed by GitHub
parent 90ae9f0f8c
commit 48a6d29d60
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 21 additions and 17 deletions

View File

@ -2,7 +2,7 @@
Speed and Altitude [speedalt] Speed and Altitude [speedalt]
Mike Bennett mike[at]kereru.com Mike Bennett mike[at]kereru.com
*/ */
var v = '1.09'; var v = '1.10';
var buf = Graphics.createArrayBuffer(240,160,2,{msb:true}); var buf = Graphics.createArrayBuffer(240,160,2,{msb:true});
// Load fonts // Load fonts
@ -269,17 +269,21 @@ function setButtons(){
// Power saving on/off // Power saving on/off
setWatch(function(e){ setWatch(function(e){
pwrSav=!pwrSav; var dur = e.time - e.lastTime;
if ( pwrSav ) { if ( dur < 2 ) { // Short press.
LED1.reset(); pwrSav=!pwrSav;
var s = require('Storage').readJSON('setting.json',1)||{}; if ( pwrSav ) {
var t = s.timeout||10; LED1.reset();
Bangle.setLCDTimeout(t); var s = require('Storage').readJSON('setting.json',1)||{};
} var t = s.timeout||10;
else { Bangle.setLCDTimeout(t);
Bangle.setLCDTimeout(0); }
Bangle.setLCDPower(1); else {
LED1.set(); Bangle.setLCDTimeout(0);
Bangle.setLCDPower(1);
LED1.set();
}
else setLpMode('SuperE',false); // long press, power off LP GPS
} }
}, BTN2, {repeat:true,edge:"falling"}); }, BTN2, {repeat:true,edge:"falling"});
@ -309,7 +313,7 @@ function updateClock() {
function startDraw(){ function startDraw(){
canDraw=true; canDraw=true;
setLpMode('SuperE'); // off setLpMode('SuperE',true); // off
g.clear(); g.clear();
Bangle.drawWidgets(); Bangle.drawWidgets();
onGPS(lf); // draw app screen onGPS(lf); // draw app screen
@ -317,7 +321,7 @@ function startDraw(){
function stopDraw() { function stopDraw() {
canDraw=false; canDraw=false;
if (!tmrLP) tmrLP=setInterval(function () {if (lf.fix) setLpMode('PSMOO');}, 30000); //Drop to low power in 30 secs. Keep lp mode off until we have a first fix. if (!tmrLP) tmrLP=setInterval(function () {if (lf.fix) setLpMode('PSMOO',true);}, 30000); //Drop to low power in 30 secs. Keep lp mode off until we have a first fix.
} }
function savSettings() { function savSettings() {
@ -330,12 +334,12 @@ function isLP() {
return(1); return(1);
} }
function setLpMode(m) { function setLpMode(m,p) {
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 ( !lp ) return;
var s = WIDGETS.gpsservice.gps_get_settings(); var s = WIDGETS.gpsservice.gps_get_settings();
if ( m !== s.power_mode || !s.gpsservice ) { if ( m !== s.power_mode || !s.gpsservice ) {
s.gpsservice = true; s.gpsservice = p;
s.power_mode = m; s.power_mode = m;
WIDGETS.gpsservice.gps_set_settings(s); WIDGETS.gpsservice.gps_set_settings(s);
WIDGETS.gpsservice.reload(); WIDGETS.gpsservice.reload();
@ -399,7 +403,7 @@ onGPS(lf);
var lp = isLP(); // Low power GPS widget installed? var lp = isLP(); // Low power GPS widget installed?
if ( lp ) { if ( lp ) {
setLpMode('SuperE'); setLpMode('SuperE',true);
setInterval(()=>onGPS(WIDGETS.gpsservice.gps_get_fix()), 1000); setInterval(()=>onGPS(WIDGETS.gpsservice.gps_get_fix()), 1000);
} }
else { else {