diff --git a/apps/btadv/app.js b/apps/btadv/app.js index 8856ebb02..7f9300923 100644 --- a/apps/btadv/app.js +++ b/apps/btadv/app.js @@ -23,6 +23,7 @@ var hrmAny; var mag; var btnsShown = false; var prevBtnsShown = undefined; +var hrmAnyClear; var settings = { bar: false, gps: false, @@ -132,6 +133,12 @@ var drawInfo = function (force) { g.drawString("~".concat(hrmAny.bpm, " BPM (").concat(hrmAny.confidence, "%)"), mid, y); y += g.getFontHeight(); drawn = true; + if (!settings.hrm && !hrmAnyClear) { + hrmAnyClear = setTimeout(function () { + hrmAny = undefined; + hrmAnyClear = undefined; + }, 10000); + } } if (mag) { g.drawString("".concat(mag.x, " ").concat(mag.y, " ").concat(mag.z), mid, y); diff --git a/apps/btadv/app.ts b/apps/btadv/app.ts index c20f9372f..b3a25305c 100644 --- a/apps/btadv/app.ts +++ b/apps/btadv/app.ts @@ -88,6 +88,7 @@ let hrmAny: undefined | Hrm; let mag: undefined | CompassData; let btnsShown = false; let prevBtnsShown: boolean | undefined = undefined; +let hrmAnyClear: undefined | number; type BtAdvType = "bar" | "gps" | "hrm" | "mag" | (IncludeAcc extends true ? "acc" : never); type BtAdvMap = { [key in BtAdvType]: T }; @@ -285,6 +286,14 @@ const drawInfo = (force?: true) => { drawn = true; + if (!settings.hrm && !hrmAnyClear) { + // hrm is erased, but hrmAny will remain until cleared (or reset) + // if it runs via health check, we reset it here + hrmAnyClear = setTimeout(() => { + hrmAny = undefined; + hrmAnyClear = undefined; + }, 10000); + } } if (mag) {