diff --git a/apps.json b/apps.json index 0c47a9377..ca784bd37 100644 --- a/apps.json +++ b/apps.json @@ -809,6 +809,19 @@ {"name":"-flagrse","url":"app.js"}, {"name":"*flagrse","url":"app-icon.js","evaluate":true} ] + }, + { "id": "wohrm", + "name": "Workout Heart Rate Monitor", + "icon": "wohrm.png", + "version":"0.01", + "description": "Workout heart rate monitor notifies you with a buzz if your heart rate goes above or below the set limits.", + "tags": "hrm,workout", + "type": "app", + "allow_emulator":true, + "storage": [ + {"name":"+wohrm","url":"wohrm.json"}, + {"name":"-wohrm","url":"wohrm.js"}, + {"name":"*wohrm","url":"wohrm-icon.js","evaluate":true} + ] } - ] diff --git a/apps/wohrm/wohrm.js b/apps/wohrm/wohrm.js index d5f2c1c03..7d39f5e63 100644 --- a/apps/wohrm/wohrm.js +++ b/apps/wohrm/wohrm.js @@ -1,8 +1,13 @@ +const Setter = { + UPPER: 'upper', + LOWER: 'lower' +}; + upperLimit = 130; lowerLimit = 100; -limitSetter = "lower"; -currentHeartRate = 220; -hrConfidence = 49; +limitSetter = Setter.LOWER; +currentHeartRate = 0; +hrConfidence = -1; function drawTrainingHeartRate() { renderUpperLimit(); @@ -21,7 +26,7 @@ function renderUpperLimit() { g.fillRect(140,40, 230, 70); g.fillRect(200,70, 230, 210); - if(limitSetter === "upper"){ + if(limitSetter === Setter.UPPER){ g.setColor(255,255, 255); g.drawPoly([140,40,230,40,230,210,200,210,200,70,140,70], true); } @@ -44,7 +49,7 @@ function renderLowerLimit() { g.fillRect(10, 180, 100, 210); g.fillRect(10, 40, 40, 180); - if(limitSetter === "lower"){ + if(limitSetter === Setter.LOWER){ g.setColor(255,255, 255); g.drawPoly([10,40,40,40,40,180,100,180,100,210,10,210], true); } @@ -91,21 +96,21 @@ function onHrm(hrm){ } function setLimitSetterToLower() { - limitSetter = "lower"; + limitSetter = Setter.LOWER; console.log("Limit setter is lower"); renderUpperLimit(); renderLowerLimit(); } function setLimitSetterToUpper() { - limitSetter = "upper"; + limitSetter = Setter.UPPER; console.log("Limit setter is upper"); renderLowerLimit(); renderUpperLimit(); } function incrementLimit(){ - if(limitSetter === "upper"){ + if(limitSetter === Setter.UPPER){ upperLimit++; renderUpperLimit(); console.log("Upper limit: " + upperLimit); @@ -117,7 +122,7 @@ function incrementLimit(){ } function decrementLimit(){ - if(limitSetter === "upper"){ + if(limitSetter === Setter.UPPER){ upperLimit--; renderUpperLimit(); console.log("Upper limit: " + upperLimit); @@ -163,4 +168,4 @@ setWatch(decrementLimit, BTN3, {edge:"rising", debounce:50, repeat:true}); setWatch(setLimitSetterToLower, BTN4, {edge:"rising", debounce:50, repeat:true}); -setWatch(setLimitSetterToUpper, BTN5, {edge:"rising", debounce:50, repeat:true}); \ No newline at end of file +setWatch(setLimitSetterToUpper, BTN5, {edge:"rising", debounce:50, repeat:true});