From e5624843605dfbf71d57d929031e3ff3ff2ea58e Mon Sep 17 00:00:00 2001 From: Markus Deibel Date: Sun, 16 Feb 2020 09:48:07 +0100 Subject: [PATCH 1/4] Adds Workout Heart Rate Monitor App --- apps.json | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/apps.json b/apps.json index 0c47a9377..212ece336 100644 --- a/apps.json +++ b/apps.json @@ -809,6 +809,17 @@ {"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 app", + "storage": [ + {"name":"+wohrm","url":"wohrm.json"}, + {"name":"-wohrm","url":"wohrm.js"}, + {"name":"*wohrm","url":"wohrm-icon.js","evaluate":true} + ] } - ] From 18c69b9e677e22436e3263182b2c52884c54155f Mon Sep 17 00:00:00 2001 From: Markus Deibel Date: Sun, 16 Feb 2020 09:52:06 +0100 Subject: [PATCH 2/4] Fixes type and tags for wohrm --- apps.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps.json b/apps.json index 212ece336..cb98281fc 100644 --- a/apps.json +++ b/apps.json @@ -815,7 +815,8 @@ "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 app", + "tags": "hrm,workout,app", + "type": "app", "storage": [ {"name":"+wohrm","url":"wohrm.json"}, {"name":"-wohrm","url":"wohrm.js"}, From 7386330f599165378a1a0a9251f58e56c8ee9a64 Mon Sep 17 00:00:00 2001 From: Markus Deibel Date: Sun, 16 Feb 2020 09:56:01 +0100 Subject: [PATCH 3/4] Allow running in the emulator for wohrm --- apps.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps.json b/apps.json index cb98281fc..ca784bd37 100644 --- a/apps.json +++ b/apps.json @@ -815,8 +815,9 @@ "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,app", + "tags": "hrm,workout", "type": "app", + "allow_emulator":true, "storage": [ {"name":"+wohrm","url":"wohrm.json"}, {"name":"-wohrm","url":"wohrm.js"}, From f01133bf571abed7082679cf0f36d33be5b7bb2d Mon Sep 17 00:00:00 2001 From: Markus Deibel Date: Mon, 17 Feb 2020 21:54:12 +0100 Subject: [PATCH 4/4] Uses enum for limit setter values --- apps/wohrm/wohrm.js | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) 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});