bthrm - Disable fallback correctly
parent
8c1fce695b
commit
5644f44f3f
|
|
@ -36,3 +36,4 @@
|
||||||
Device not found errors now utilize increasing timeouts
|
Device not found errors now utilize increasing timeouts
|
||||||
0.15: Fix recording internal sensor
|
0.15: Fix recording internal sensor
|
||||||
Handle fallback to internal sensor consistently if BT bpm is 0
|
Handle fallback to internal sensor consistently if BT bpm is 0
|
||||||
|
Power internal sensor down if not needed for fallback
|
||||||
|
|
|
||||||
|
|
@ -255,7 +255,7 @@ exports.enable = () => {
|
||||||
var retry = function() {
|
var retry = function() {
|
||||||
log("Retry");
|
log("Retry");
|
||||||
|
|
||||||
if (!currentRetryTimeout){
|
if (!currentRetryTimeout && !powerdownRequested){
|
||||||
|
|
||||||
var clampedTime = retryTime < 100 ? 100 : retryTime;
|
var clampedTime = retryTime < 100 ? 100 : retryTime;
|
||||||
|
|
||||||
|
|
@ -287,7 +287,7 @@ exports.enable = () => {
|
||||||
retryTimeResetNeeded &= reason != "No device found matching filters";
|
retryTimeResetNeeded &= reason != "No device found matching filters";
|
||||||
clearRetryTimeout(retryTimeResetNeeded);
|
clearRetryTimeout(retryTimeResetNeeded);
|
||||||
supportedCharacteristics["0x2a37"].active = false;
|
supportedCharacteristics["0x2a37"].active = false;
|
||||||
startFallback();
|
if (!powerdownRequested) startFallback();
|
||||||
blockInit = false;
|
blockInit = false;
|
||||||
if (settings.warnDisconnect && !buzzing){
|
if (settings.warnDisconnect && !buzzing){
|
||||||
buzzing = true;
|
buzzing = true;
|
||||||
|
|
@ -369,7 +369,7 @@ exports.enable = () => {
|
||||||
|
|
||||||
var initBt = function () {
|
var initBt = function () {
|
||||||
log("initBt with blockInit: " + blockInit);
|
log("initBt with blockInit: " + blockInit);
|
||||||
if (blockInit){
|
if (blockInit && !powerdownRequested){
|
||||||
retry();
|
retry();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -508,6 +508,8 @@ exports.enable = () => {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var powerdownRequested = false;
|
||||||
|
|
||||||
Bangle.setBTHRMPower = function(isOn, app) {
|
Bangle.setBTHRMPower = function(isOn, app) {
|
||||||
// Do app power handling
|
// Do app power handling
|
||||||
if (!app) app="?";
|
if (!app) app="?";
|
||||||
|
|
@ -522,7 +524,9 @@ exports.enable = () => {
|
||||||
if (!Bangle.isBTHRMConnected()) initBt();
|
if (!Bangle.isBTHRMConnected()) initBt();
|
||||||
} else { // not on
|
} else { // not on
|
||||||
log("Power off for " + app);
|
log("Power off for " + app);
|
||||||
|
powerdownRequested = true;
|
||||||
clearRetryTimeout(true);
|
clearRetryTimeout(true);
|
||||||
|
stopFallback();
|
||||||
if (gatt) {
|
if (gatt) {
|
||||||
if (gatt.connected){
|
if (gatt.connected){
|
||||||
log("Disconnect with gatt", gatt);
|
log("Disconnect with gatt", gatt);
|
||||||
|
|
@ -543,7 +547,7 @@ exports.enable = () => {
|
||||||
if (settings.replace){
|
if (settings.replace){
|
||||||
// register a listener for original HRM events and emit as HRM_int
|
// register a listener for original HRM events and emit as HRM_int
|
||||||
Bangle.on("HRM", (e) => {
|
Bangle.on("HRM", (e) => {
|
||||||
e.src = "int";
|
e.modified = true;
|
||||||
log("Emitting HRM_int", e);
|
log("Emitting HRM_int", e);
|
||||||
Bangle.emit("HRM_int", e);
|
Bangle.emit("HRM_int", e);
|
||||||
if (fallbackActive){
|
if (fallbackActive){
|
||||||
|
|
@ -574,6 +578,11 @@ exports.enable = () => {
|
||||||
log("setHRMPower for " + app + ": " + (isOn?"on":"off"));
|
log("setHRMPower for " + app + ": " + (isOn?"on":"off"));
|
||||||
if (settings.enabled){
|
if (settings.enabled){
|
||||||
Bangle.setBTHRMPower(isOn, app);
|
Bangle.setBTHRMPower(isOn, app);
|
||||||
|
if (Bangle._PWR && Bangle._PWR.HRM && Object.keys(Bangle._PWR.HRM).length == 0) {
|
||||||
|
Bangle._PWR.BTHRM = [];
|
||||||
|
Bangle.setBTHRMPower(0);
|
||||||
|
if (!isOn) stopFallback();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if ((settings.enabled && !settings.replace) || !settings.enabled){
|
if ((settings.enabled && !settings.replace) || !settings.enabled){
|
||||||
Bangle.origSetHRMPower(isOn, app);
|
Bangle.origSetHRMPower(isOn, app);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue