1
0
Fork 0

Merge pull request #17 from xxDUxx/development

Development
master
xxDUxx 2022-08-03 08:16:01 +02:00 committed by GitHub
commit 894acdf323
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 33 deletions

View File

@ -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);
}
} }
}); });
}); });

View File

@ -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",