forked from FOSS/BangleApps
commit
894acdf323
|
@ -4,14 +4,11 @@
|
||||||
E.showMenu({
|
E.showMenu({
|
||||||
"" : { "title" : "Altimeter Widget" },
|
"" : { "title" : "Altimeter Widget" },
|
||||||
"< Back" : () => back(),
|
"< Back" : () => back(),
|
||||||
'QNH: ': {
|
'QNH': {
|
||||||
value: o.seaLevelPressure,
|
value: Math.floor(o.seaLevelPressure),
|
||||||
min: 100, max: 10000,
|
min: 100, max: 10000,
|
||||||
format: v=>(v+"hPa\nAlt: "+(44330 * (1.0 - Math.pow(p.pressure/v, 0.1903))).toFixed(0)+"m"),
|
format: v=>(v+"hPa\nAlt: "+(44330 * (1.0 - Math.pow(p.pressure/v, 0.1903))).toFixed(0)+"m"),
|
||||||
onchange: v => {
|
onchange: v => {Bangle.setOptions({seaLevelPressure:v});}
|
||||||
o.seaLevelPressure = v;
|
|
||||||
Bangle.setOptions(o);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,35 +1,22 @@
|
||||||
(()=>{
|
(()=>{
|
||||||
var alt="";
|
var alt="";
|
||||||
var lastDraw=0;
|
|
||||||
var lastAlt=0;
|
var lastAlt=0;
|
||||||
|
Bangle.setBarometerPower(true,"widalt");
|
||||||
function readAltitude() {
|
Bangle.on("pressure", (p)=>{
|
||||||
try {Bangle.getPressure().then((p)=>{
|
if (Math.floor(p.altitude)!=lastAlt) {
|
||||||
print("pressure read, altitude "+p.altitude.toFixed(0));
|
lastAlt=Math.floor(p.altitude);
|
||||||
if (Math.floor(p.altitude)!=lastAlt) {
|
alt=p.altitude.toFixed(0);
|
||||||
print("altitude changed!");
|
var w = WIDGETS["widalt"].width;
|
||||||
lastAlt=Math.floor(p.altitude);
|
WIDGETS["widalt"].width = 1 + (alt.length)*12+16;
|
||||||
alt=p.altitude.toFixed(0);
|
if (w!=WIDGETS["widalt"].width) Bangle.drawWidgets();
|
||||||
var w = WIDGETS["widalt"].width;
|
else WIDGETS["widalt"].draw();
|
||||||
WIDGETS["widalt"].width = 1 + (alt.length)*12+16;
|
}
|
||||||
if (w!=WIDGETS["widalt"].width) Bangle.drawWidgets();
|
Bangle.setBarometerPower(false,"widalt")
|
||||||
WIDGETS["widalt"].draw();
|
setTimeout(()=>{Bangle.setBarometerPower(true,"widalt");},5000);
|
||||||
setTimeout(readAltitude,60000);
|
});
|
||||||
}
|
|
||||||
});}
|
|
||||||
catch(err) {
|
|
||||||
print("ERROR");
|
|
||||||
setTimeout(readAltitude,1000);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
readAltitude();
|
|
||||||
|
|
||||||
function draw() {
|
function draw() {
|
||||||
//if (Date().getTime()-lastDraw<6000) return;//!!!!!
|
|
||||||
if (!Bangle.isLCDOn()) return;
|
if (!Bangle.isLCDOn()) return;
|
||||||
//lastDraw=Date().getTime();
|
|
||||||
print("drawing");
|
|
||||||
g.reset();
|
g.reset();
|
||||||
g.setColor(g.theme.bg);
|
g.setColor(g.theme.bg);
|
||||||
g.fillRect(this.x, this.y, this.x + this.width, this.y + 23);
|
g.fillRect(this.x, this.y, this.x + this.width, this.y + 23);
|
||||||
|
@ -37,7 +24,7 @@
|
||||||
g.drawImage(atob("EBCBAAAAAAAIAAwgFXAX0BCYIIggTD/EYPZADkACf/4AAAAA"), this.x, this.y+4);
|
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.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.setFontAlign(-1, 0);
|
||||||
g.drawString(alt, this.x+16, this.y + 12);
|
g.drawString(alt, this.x+16, this.y + 12);
|
||||||
}
|
}
|
||||||
WIDGETS["widalt"] = {
|
WIDGETS["widalt"] = {
|
||||||
area: "tr",
|
area: "tr",
|
||||||
|
|
Loading…
Reference in New Issue