diff --git a/apps/widalt/widalt.wid.js b/apps/widalt/widalt.wid.js index 645aea2cd..23b1d3427 100644 --- a/apps/widalt/widalt.wid.js +++ b/apps/widalt/widalt.wid.js @@ -2,33 +2,25 @@ var alt=""; var lastDraw=0; var lastAlt=0; - - function readAltitude() { - try {Bangle.getPressure().then((p)=>{ - print("pressure read, altitude "+p.altitude.toFixed(0)); - if (Math.floor(p.altitude)!=lastAlt) { - print("altitude changed!"); - lastAlt=Math.floor(p.altitude); - alt=p.altitude.toFixed(0); - var w = WIDGETS["widalt"].width; - WIDGETS["widalt"].width = 1 + (alt.length)*12+16; - if (w!=WIDGETS["widalt"].width) Bangle.drawWidgets(); - WIDGETS["widalt"].draw(); - setTimeout(readAltitude,60000); - } - });} - catch(err) { - print("ERROR"); - setTimeout(readAltitude,1000); - } - } - - readAltitude(); + var timer; + Bangle.setBarometerPower(true,"widalt"); + Bangle.on("pressure", (p)=>{ + if (Math.floor(p.altitude)!=lastAlt) { + print("altitude changed!"); + lastAlt=Math.floor(p.altitude); + alt=p.altitude.toFixed(0); + var w = WIDGETS["widalt"].width; + WIDGETS["widalt"].width = 1 + (alt.length)*12+16; + if (w!=WIDGETS["widalt"].width) Bangle.drawWidgets(); + else WIDGETS["widalt"].draw(); + } + Bangle.setBarometerPower(false,"widalt") + print("powering down"); + setTimeout(()=>{print("powering up");Bangle.setBarometerPower(true,"widalt");},5000); + }); function draw() { - //if (Date().getTime()-lastDraw<6000) return;//!!!!! if (!Bangle.isLCDOn()) return; - //lastDraw=Date().getTime(); print("drawing"); g.reset(); g.setColor(g.theme.bg); @@ -37,7 +29,7 @@ g.drawImage(atob("EBCBAAAAAAAIAAwgFXAX0BCYIIggTD/EYPZADkACf/4AAAAA"), this.x, this.y+4); g.setFontCustom(atob("AAAAABwAAOAAAgAAHAADwAD4AB8AB8AA+AAeAADAAAAOAAP+AH/8B4DwMAGBgAwMAGBgAwOAOA//gD/4AD4AAAAAAAABgAAcAwDAGAwAwP/+B//wAAGAAAwAAGAAAAAAAAIAwHgOA4DwMA+BgOwMDmBg4wOeGA/gwDwGAAAAAAAAAGAHA8A4DwMAGBhAwMMGBjgwOcOA+/gDj4AAAAABgAAcAAHgADsAA5gAOMAHBgBwMAP/+B//wABgAAMAAAAAAAgD4OB/AwOYGBjAwMYGBjBwMe8Bh/AIHwAAAAAAAAAfAAP8AHxwB8GAdgwPMGBxgwMOOAB/gAH4AAAAAAABgAAMAABgAwMAeBgPgMHwBj4AN8AB+AAPAABAAAAAAAMfAH38B/xwMcGBhgwMMGBjgwP+OA+/gDj4AAAAAAAAOAAH4AA/gQMMGBgzwME8BhvAOPgA/4AD8AAEAAAAAAGAwA4OAHBwAAA="), 46, atob("BAgMDAwMDAwMDAwMBQ=="), 21+(1<<8)+(1<<16)); g.setFontAlign(-1, 0); - g.drawString(alt, this.x+16, this.y + 12); + g.drawString(alt, this.x+16, this.y + 12); } WIDGETS["widalt"] = { area: "tr",