diff --git a/apps/altimeter/ChangeLog b/apps/altimeter/ChangeLog index 5560f00bc..29388520e 100644 --- a/apps/altimeter/ChangeLog +++ b/apps/altimeter/ChangeLog @@ -1 +1,2 @@ 0.01: New App! +0.02: Actually upload correct code diff --git a/apps/altimeter/app.js b/apps/altimeter/app.js index 06c254a36..cac4e80fd 100644 --- a/apps/altimeter/app.js +++ b/apps/altimeter/app.js @@ -1,34 +1,30 @@ -// place your const, vars, functions or classes here +Bangle.setBarometerPower(true, "app"); -// clear the screen -g.clear(); +g.clear(1); +Bangle.loadWidgets(); +Bangle.drawWidgets(); +var zero = 0; +var R = Bangle.appRect; +var y = R.y + R.h/2; +var MEDIANLENGTH = 20; +var avr = [], median; +var value = 0; -var n = 0; - -// redraw the screen -function draw() { - g.reset().clearRect(Bangle.appRect); - g.setFont("6x8").setFontAlign(0,0).drawString("Up / Down",g.getWidth()/2,g.getHeight()/2 - 20); - g.setFont("Vector",60).setFontAlign(0,0).drawString(n,g.getWidth()/2,g.getHeight()/2 + 30); -} - -// Respond to user input -Bangle.setUI({mode: "updown"}, function(dir) { - if (dir<0) { - n--; - draw(); - } else if (dir>0) { - n++; - draw(); - } else { - n = 0; - draw(); +Bangle.on('pressure', function(e) { + while (avr.length>MEDIANLENGTH) avr.pop(); + avr.unshift(e.altitude); + median = avr.slice().sort(); + g.reset().clearRect(0,y-30,g.getWidth()-10,y+30); + if (median.length>10) { + var mid = median.length>>1; + value = E.sum(median.slice(mid-4,mid+5)) / 9; + g.setFont("Vector",50).setFontAlign(0,0).drawString((value-zero).toFixed(1), g.getWidth()/2, y); } }); -// First draw... -draw(); - -// Load widgets -Bangle.loadWidgets(); -Bangle.drawWidgets(); +g.reset(); +g.setFont("6x8").setFontAlign(0,0).drawString(/*LANG*/"ALTITUDE (m)", g.getWidth()/2, y-40); +g.setFont("6x8").setFontAlign(0,0,3).drawString(/*LANG*/"ZERO", g.getWidth()-5, g.getHeight()/2); +setWatch(function() { + zero = value; +}, (process.env.HWVERSION==2) ? BTN1 : BTN2, {repeat:true}); diff --git a/apps/altimeter/metadata.json b/apps/altimeter/metadata.json index 137ceb8ba..8bdbf3022 100644 --- a/apps/altimeter/metadata.json +++ b/apps/altimeter/metadata.json @@ -1,10 +1,10 @@ { "id": "altimeter", "name": "Altimeter", - "version":"0.01", + "version":"0.02", "description": "Simple altimeter that can display height changed using Bangle.js 2's built in pressure sensor.", "icon": "app.png", "tags": "tool,outdoors", - "supports" : ["BANGLEJS2"], + "supports" : ["BANGLEJS2"], "storage": [ {"name":"altimeter.app.js","url":"app.js"}, {"name":"altimeter.img","url":"app-icon.js","evaluate":true}