bthrm - Allow recording unmodified internal HR
parent
a142bfa5f2
commit
fd0e13226b
|
|
@ -227,15 +227,15 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (settings.replace){
|
if (settings.replace){
|
||||||
var origIsHRMOn = Bangle.isHRMOn;
|
Bangle.origIsHRMOn = Bangle.isHRMOn;
|
||||||
|
|
||||||
Bangle.isHRMOn = function() {
|
Bangle.isHRMOn = function() {
|
||||||
if (settings.enabled && !settings.replace){
|
if (settings.enabled && !settings.replace){
|
||||||
return origIsHRMOn();
|
return Bangle.origIsHRMOn();
|
||||||
} else if (settings.enabled && settings.replace){
|
} else if (settings.enabled && settings.replace){
|
||||||
return Bangle.isBTHRMOn();
|
return Bangle.isBTHRMOn();
|
||||||
}
|
}
|
||||||
return origIsHRMOn() || Bangle.isBTHRMOn();
|
return Bangle.origIsHRMOn() || Bangle.isBTHRMOn();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -563,7 +563,7 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var origSetHRMPower = Bangle.setHRMPower;
|
Bangle.origSetHRMPower = Bangle.setHRMPower;
|
||||||
|
|
||||||
if (settings.startWithHrm){
|
if (settings.startWithHrm){
|
||||||
|
|
||||||
|
|
@ -573,7 +573,7 @@
|
||||||
Bangle.setBTHRMPower(isOn, app);
|
Bangle.setBTHRMPower(isOn, app);
|
||||||
}
|
}
|
||||||
if ((settings.enabled && !settings.replace) || !settings.enabled){
|
if ((settings.enabled && !settings.replace) || !settings.enabled){
|
||||||
origSetHRMPower(isOn, app);
|
Bangle.origSetHRMPower(isOn, app);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -583,7 +583,7 @@
|
||||||
|
|
||||||
var stopFallback = function(){
|
var stopFallback = function(){
|
||||||
if (fallbackActive){
|
if (fallbackActive){
|
||||||
origSetHRMPower(0, "bthrm_fallback");
|
Bangle.origSetHRMPower(0, "bthrm_fallback");
|
||||||
fallbackActive = false;
|
fallbackActive = false;
|
||||||
log("Fallback to HRM disabled");
|
log("Fallback to HRM disabled");
|
||||||
}
|
}
|
||||||
|
|
@ -592,7 +592,7 @@
|
||||||
var startFallback = function(){
|
var startFallback = function(){
|
||||||
if (!fallbackActive && settings.allowFallback) {
|
if (!fallbackActive && settings.allowFallback) {
|
||||||
fallbackActive = true;
|
fallbackActive = true;
|
||||||
origSetHRMPower(1, "bthrm_fallback");
|
Bangle.origSetHRMPower(1, "bthrm_fallback");
|
||||||
log("Fallback to HRM enabled");
|
log("Fallback to HRM enabled");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -616,7 +616,7 @@
|
||||||
for (var i = 0; i < Bangle._PWR.HRM.length; i++){
|
for (var i = 0; i < Bangle._PWR.HRM.length; i++){
|
||||||
var app = Bangle._PWR.HRM[i];
|
var app = Bangle._PWR.HRM[i];
|
||||||
log("Moving app " + app);
|
log("Moving app " + app);
|
||||||
origSetHRMPower(0, app);
|
Bangle.origSetHRMPower(0, app);
|
||||||
Bangle.setBTHRMPower(1, app);
|
Bangle.setBTHRMPower(1, app);
|
||||||
if (Bangle._PWR.HRM===undefined) break;
|
if (Bangle._PWR.HRM===undefined) break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,45 @@
|
||||||
Bangle.removeListener('BTHRM', onHRM);
|
Bangle.removeListener('BTHRM', onHRM);
|
||||||
if (Bangle.setBTRHMPower) Bangle.setBTHRMPower(0,"recorder");
|
if (Bangle.setBTRHMPower) Bangle.setBTHRMPower(0,"recorder");
|
||||||
},
|
},
|
||||||
draw : (x,y) => g.setColor((bpm != "")?"#00f":"#88f").drawImage(atob("DAwBAAAAMMeef+f+f+P8H4DwBgAA"),x,y)
|
draw : (x,y) => g.setColor((Bangle.isBTHRMActive && Bangle.isBTHRMActive())?"#00f":"#88f").drawImage(atob("DAwBAAAAMMeef+f+f+P8H4DwBgAA"),x,y)
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
recorders.hrmint = function() {
|
||||||
|
var active = false;
|
||||||
|
var bpmTimeout;
|
||||||
|
var bpm = "", bpmConfidence = "", src="";
|
||||||
|
function onHRM(h) {
|
||||||
|
bpmConfidence = h.confidence;
|
||||||
|
bpm = h.bpm;
|
||||||
|
srv = h.src;
|
||||||
|
if (h.bpm > 0){
|
||||||
|
active = true;
|
||||||
|
print("active" + h.bpm);
|
||||||
|
if (bpmTimeout) clearTimeout(bpmTimeout);
|
||||||
|
bpmTimeout = setTimeout(()=>{
|
||||||
|
print("inactive");
|
||||||
|
active = false;
|
||||||
|
},3000);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
name : "HR int",
|
||||||
|
fields : ["Heartrate", "Confidence"],
|
||||||
|
getValues : () => {
|
||||||
|
var r = [bpm,bpmConfidence,src];
|
||||||
|
bpm = ""; bpmConfidence = ""; src="";
|
||||||
|
return r;
|
||||||
|
},
|
||||||
|
start : () => {
|
||||||
|
Bangle.origOn('HRM', onHRM);
|
||||||
|
if (Bangle.origSetHRMPower) Bangle.origSetHRMPower(1,"recorder");
|
||||||
|
},
|
||||||
|
stop : () => {
|
||||||
|
Bangle.removeListener('HRM', onHRM);
|
||||||
|
if (Bangle.origSetHRMPower) Bangle.origSetHRMPower(0,"recorder");
|
||||||
|
},
|
||||||
|
draw : (x,y) => g.setColor(( Bangle.origIsHRMOn && Bangle.origIsHRMOn() && active)?"#0f0":"#8f8").drawImage(atob("DAwBAAAAMMeef+f+f+P8H4DwBgAA"),x,y)
|
||||||
|
};
|
||||||
|
};
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue