From 2f531799dbea73e84e61c401d31496dacfa2ac5a Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Wed, 26 Jan 2022 20:56:22 +0100 Subject: [PATCH] health - Adds 3 minute setting --- apps/health/ChangeLog | 1 + apps/health/app.js | 4 ++-- apps/health/boot.js | 36 +++++++++++++++++++++++------------- apps/health/metadata.json | 2 +- 4 files changed, 27 insertions(+), 16 deletions(-) diff --git a/apps/health/ChangeLog b/apps/health/ChangeLog index c65cc3ab4..a693b2a83 100644 --- a/apps/health/ChangeLog +++ b/apps/health/ChangeLog @@ -8,3 +8,4 @@ 0.07: Added coloured bar charts 0.08: Suppress bleed through of E.showMenu's when displaying bar charts 0.09: Fix file naming so months are 1-based (not 0) (fix #1119) +0.10: Adds additional 3 minute setting for HRM diff --git a/apps/health/app.js b/apps/health/app.js index 08d6ead17..7a55eec27 100644 --- a/apps/health/app.js +++ b/apps/health/app.js @@ -28,8 +28,8 @@ function menuSettings() { "< Back":()=>menuMain(), "Heart Rt":{ value : 0|s.hrm, - min : 0, max : 2, - format : v=>["Off","10 mins","Always"][v], + min : 0, max : 3, + format : v=>["Off","3 mins","10 mins","Always"][v], onchange : v => { s.hrm=v;setSettings(s); } } }); diff --git a/apps/health/boot.js b/apps/health/boot.js index c72e62b41..7b9aa51aa 100644 --- a/apps/health/boot.js +++ b/apps/health/boot.js @@ -1,18 +1,28 @@ (function(){ - var settings = require("Storage").readJSON("health.json",1)||{}; - var hrm = 0|settings.hrm; - if (hrm==1) { - function onHealth() { - Bangle.setHRMPower(1, "health"); - setTimeout(()=>Bangle.setHRMPower(0, "health"),2*60000); // give it 2 minutes + var settings = require("Storage").readJSON("health.json",1)||{}; + var hrm = 0|settings.hrm; + if (hrm == 1 || hrm == 2) { + function onHealth() { + Bangle.setHRMPower(1, "health"); + setTimeout(()=>Bangle.setHRMPower(0, "health"),hrm*60000); // give it 1 minute detection time for 3 min setting and 2 minutes for 10 min setting + if (hrm == 1){ + for (var i = 1; i <= 2; i++){ + setTimeout(()=>{ + Bangle.setHRMPower(1, "health"); + setTimeout(()=>{ + Bangle.setHRMPower(0, "health"); + }, (i * 200000) + 60000); + }, (i * 200000)); + } } - Bangle.on("health", onHealth); - Bangle.on('HRM', h => { - if (h.confidence>80) Bangle.setHRMPower(0, "health"); - }); - if (Bangle.getHealthStatus().bpmConfidence) return; - onHealth(); - } else Bangle.setHRMPower(hrm!=0, "health"); + } + Bangle.on("health", onHealth); + Bangle.on('HRM', h => { + if (h.confidence>80) Bangle.setHRMPower(0, "health"); + }); + if (Bangle.getHealthStatus().bpmConfidence) return; + onHealth(); + } else Bangle.setHRMPower(hrm!=0, "health"); })(); Bangle.on("health", health => { diff --git a/apps/health/metadata.json b/apps/health/metadata.json index b96087e1b..da9d764ea 100644 --- a/apps/health/metadata.json +++ b/apps/health/metadata.json @@ -1,7 +1,7 @@ { "id": "health", "name": "Health Tracking", - "version": "0.09", + "version": "0.10", "description": "Logs health data and provides an app to view it (requires firmware 2v10.100 or later)", "icon": "app.png", "tags": "tool,system,health",