forked from FOSS/BangleApps
commit
894acdf323
|
@ -4,14 +4,11 @@
|
|||
E.showMenu({
|
||||
"" : { "title" : "Altimeter Widget" },
|
||||
"< Back" : () => back(),
|
||||
'QNH: ': {
|
||||
value: o.seaLevelPressure,
|
||||
'QNH': {
|
||||
value: Math.floor(o.seaLevelPressure),
|
||||
min: 100, max: 10000,
|
||||
format: v=>(v+"hPa\nAlt: "+(44330 * (1.0 - Math.pow(p.pressure/v, 0.1903))).toFixed(0)+"m"),
|
||||
onchange: v => {
|
||||
o.seaLevelPressure = v;
|
||||
Bangle.setOptions(o);
|
||||
}
|
||||
onchange: v => {Bangle.setOptions({seaLevelPressure:v});}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,35 +1,22 @@
|
|||
(()=>{
|
||||
var alt="";
|
||||
var lastDraw=0;
|
||||
var lastAlt=0;
|
||||
|
||||
function readAltitude() {
|
||||
try {Bangle.getPressure().then((p)=>{
|
||||
print("pressure read, altitude "+p.altitude.toFixed(0));
|
||||
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();
|
||||
WIDGETS["widalt"].draw();
|
||||
setTimeout(readAltitude,60000);
|
||||
else WIDGETS["widalt"].draw();
|
||||
}
|
||||
});}
|
||||
catch(err) {
|
||||
print("ERROR");
|
||||
setTimeout(readAltitude,1000);
|
||||
}
|
||||
}
|
||||
|
||||
readAltitude();
|
||||
Bangle.setBarometerPower(false,"widalt")
|
||||
setTimeout(()=>{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);
|
||||
g.fillRect(this.x, this.y, this.x + this.width, this.y + 23);
|
||||
|
|
Loading…
Reference in New Issue