@ovok/native 1.16.1-dev.2185 → 1.16.1-dev.2189
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +13 -0
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/runtime-context.js.map +1 -1
- package/lib/commonjs/modules/bt-management/index.js +12 -0
- package/lib/commonjs/modules/bt-management/index.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/bt-manager.js +7 -0
- package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js +20 -1
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +4 -0
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +21 -4
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.js +75 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recorder.js +52 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recorder.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recording-watch.js +17 -15
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recording-watch.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.waveform.js +27 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.waveform.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js +13 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js.map +1 -1
- package/lib/commonjs/modules/bt-management/types/device-waveform.js +6 -0
- package/lib/commonjs/modules/bt-management/types/device-waveform.js.map +1 -0
- package/lib/commonjs/modules/bt-management/utils/i-16-from-hex.js.map +1 -1
- package/lib/commonjs/modules/next/bluetooth/ble-plx/legacy-driver.js +27 -1
- package/lib/commonjs/modules/next/bluetooth/ble-plx/legacy-driver.js.map +1 -1
- package/lib/commonjs/modules/next/bluetooth/connections.js +32 -1
- package/lib/commonjs/modules/next/bluetooth/connections.js.map +1 -1
- package/lib/commonjs/modules/next/bluetooth/driver.js.map +1 -1
- package/lib/commonjs/modules/next/bluetooth/errors.js.map +1 -1
- package/lib/commonjs/modules/next/bluetooth/runtime.js +21 -1
- package/lib/commonjs/modules/next/bluetooth/runtime.js.map +1 -1
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +13 -0
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/runtime-context.js.map +1 -1
- package/lib/module/modules/bt-management/index.js +1 -0
- package/lib/module/modules/bt-management/index.js.map +1 -1
- package/lib/module/modules/bt-management/services/bt-manager.js +7 -0
- package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js +20 -1
- package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +4 -0
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +21 -4
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.js +72 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.recorder.js +48 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.recorder.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.recording-watch.js +17 -15
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.recording-watch.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.waveform.js +22 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.waveform.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js +14 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js.map +1 -1
- package/lib/module/modules/bt-management/types/device-waveform.js +4 -0
- package/lib/module/modules/bt-management/types/device-waveform.js.map +1 -0
- package/lib/module/modules/bt-management/utils/i-16-from-hex.js.map +1 -1
- package/lib/module/modules/next/bluetooth/ble-plx/legacy-driver.js +27 -1
- package/lib/module/modules/next/bluetooth/ble-plx/legacy-driver.js.map +1 -1
- package/lib/module/modules/next/bluetooth/connections.js +32 -1
- package/lib/module/modules/next/bluetooth/connections.js.map +1 -1
- package/lib/module/modules/next/bluetooth/driver.js.map +1 -1
- package/lib/module/modules/next/bluetooth/errors.js.map +1 -1
- package/lib/module/modules/next/bluetooth/runtime.js +21 -1
- package/lib/module/modules/next/bluetooth/runtime.js.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts +42 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts +30 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-waveform.d.ts +15 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-waveform.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/i-16-from-hex.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/utils/i-16-from-hex.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/ble-plx/legacy-driver.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/connections.d.ts +10 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/connections.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/driver.d.ts +13 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/driver.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/errors.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/errors.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/index.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/runtime.d.ts +11 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/runtime.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/snapshot.d.ts +28 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/snapshot.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts +3 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/index.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +2 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts +42 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts +30 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts +9 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +3 -0
- package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +11 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/device-waveform.d.ts +15 -0
- package/lib/typescript/module/src/modules/bt-management/types/device-waveform.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/utils/i-16-from-hex.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-management/utils/i-16-from-hex.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/ble-plx/legacy-driver.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/connections.d.ts +10 -1
- package/lib/typescript/module/src/modules/next/bluetooth/connections.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/driver.d.ts +13 -0
- package/lib/typescript/module/src/modules/next/bluetooth/driver.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/errors.d.ts +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/errors.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/index.d.ts +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/runtime.d.ts +11 -1
- package/lib/typescript/module/src/modules/next/bluetooth/runtime.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/snapshot.d.ts +28 -1
- package/lib/typescript/module/src/modules/next/bluetooth/snapshot.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -6,6 +6,7 @@ const LOW_NIBBLE = 0x0f;
|
|
|
6
6
|
const CLOSED = "closed";
|
|
7
7
|
/** Follows a recorder's open recording through its poll answers. */
|
|
8
8
|
class LepuRecordingWatch {
|
|
9
|
+
seconds = 0;
|
|
9
10
|
constructor(status, onRecordingChanged) {
|
|
10
11
|
this.status = status;
|
|
11
12
|
this.onRecordingChanged = onRecordingChanged;
|
|
@@ -15,26 +16,27 @@ class LepuRecordingWatch {
|
|
|
15
16
|
observe = pollAnswer => {
|
|
16
17
|
const previous = this.state;
|
|
17
18
|
this.state = hexToByte(pollAnswer[this.status.byteIndex] ?? "00") & LOW_NIBBLE;
|
|
19
|
+
this.seconds = le32FromHex(pollAnswer, this.status.secondsByteIndex);
|
|
18
20
|
this.leadOffSince = this.isLeadOff() ? this.leadOffSince ?? new Date() : undefined;
|
|
19
|
-
this.report(this.recordingIn(
|
|
21
|
+
this.report(this.recordingIn());
|
|
20
22
|
return this.state === this.status.savedState && previous !== this.status.savedState;
|
|
21
23
|
};
|
|
22
24
|
|
|
23
25
|
/** Whether a recording is open, so that stopping it means something. */
|
|
24
|
-
isOpen = () => this.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
};
|
|
26
|
+
isOpen = () => this.isRecording() || this.isLeadOff();
|
|
27
|
+
|
|
28
|
+
/** Whether the electrodes have contact and samples are being recorded. */
|
|
29
|
+
isRecording = () => this.state === this.status.recordingState;
|
|
30
|
+
|
|
31
|
+
/** Seconds recorded, as of the last answer. */
|
|
32
|
+
recordedSeconds = () => this.seconds;
|
|
33
|
+
recordingIn = () => this.isOpen() ? {
|
|
34
|
+
seconds: this.seconds,
|
|
35
|
+
...(this.leadOffSince ? {
|
|
36
|
+
leadOffSince: this.leadOffSince
|
|
37
|
+
} : {}),
|
|
38
|
+
storesOnStop: this.seconds >= this.status.minimumStoredSeconds
|
|
39
|
+
} : undefined;
|
|
38
40
|
isLeadOff = () => this.state === this.status.leadOffState;
|
|
39
41
|
|
|
40
42
|
/** Reports a change in what the app would act on, not every tick of the seconds. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["hexToByte","le32FromHex","LOW_NIBBLE","CLOSED","LepuRecordingWatch","constructor","status","onRecordingChanged","observe","pollAnswer","previous","state","byteIndex","leadOffSince","isLeadOff","Date","undefined","report","recordingIn","savedState","isOpen","
|
|
1
|
+
{"version":3,"names":["hexToByte","le32FromHex","LOW_NIBBLE","CLOSED","LepuRecordingWatch","seconds","constructor","status","onRecordingChanged","observe","pollAnswer","previous","state","byteIndex","secondsByteIndex","leadOffSince","isLeadOff","Date","undefined","report","recordingIn","savedState","isOpen","isRecording","recordingState","recordedSeconds","storesOnStop","minimumStoredSeconds","leadOffState","recording","key","changed","reported"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.recording-watch.ts"],"mappings":";;AAEA,SAASA,SAAS,QAAQ,+BAA4B;AACtD,SAASC,WAAW,QAAQ,kCAA+B;AAE3D,MAAMC,UAAU,GAAG,IAAI;AACvB,MAAMC,MAAM,GAAG,QAAQ;AAMvB;AACA,MAAMC,kBAAkB,CAAC;EAEfC,OAAO,GAAG,CAAC;EAIZC,WAAWA,CACCC,MAAuB,EACvBC,kBAA8D,EAC/E;IAAA,KAFiBD,MAAuB,GAAvBA,MAAuB;IAAA,KACvBC,kBAA8D,GAA9DA,kBAA8D;EAC9E;;EAEH;EACOC,OAAO,GAAIC,UAA6B,IAAc;IAC3D,MAAMC,QAAQ,GAAG,IAAI,CAACC,KAAK;IAE3B,IAAI,CAACA,KAAK,GAAGZ,SAAS,CAACU,UAAU,CAAC,IAAI,CAACH,MAAM,CAACM,SAAS,CAAC,IAAI,IAAI,CAAC,GAAGX,UAAU;IAC9E,IAAI,CAACG,OAAO,GAAGJ,WAAW,CAACS,UAAU,EAAE,IAAI,CAACH,MAAM,CAACO,gBAAgB,CAAC;IACpE,IAAI,CAACC,YAAY,GAAG,IAAI,CAACC,SAAS,CAAC,CAAC,GAAI,IAAI,CAACD,YAAY,IAAI,IAAIE,IAAI,CAAC,CAAC,GAAIC,SAAS;IACpF,IAAI,CAACC,MAAM,CAAC,IAAI,CAACC,WAAW,CAAC,CAAC,CAAC;IAE/B,OAAO,IAAI,CAACR,KAAK,KAAK,IAAI,CAACL,MAAM,CAACc,UAAU,IAAIV,QAAQ,KAAK,IAAI,CAACJ,MAAM,CAACc,UAAU;EACrF,CAAC;;EAED;EACOC,MAAM,GAAGA,CAAA,KAAe,IAAI,CAACC,WAAW,CAAC,CAAC,IAAI,IAAI,CAACP,SAAS,CAAC,CAAC;;EAErE;EACOO,WAAW,GAAGA,CAAA,KAAe,IAAI,CAACX,KAAK,KAAK,IAAI,CAACL,MAAM,CAACiB,cAAc;;EAE7E;EACOC,eAAe,GAAGA,CAAA,KAAc,IAAI,CAACpB,OAAO;EAE3Ce,WAAW,GAAGA,CAAA,KACpB,IAAI,CAACE,MAAM,CAAC,CAAC,GACT;IACEjB,OAAO,EAAE,IAAI,CAACA,OAAO;IACrB,IAAI,IAAI,CAACU,YAAY,GAAG;MAAEA,YAAY,EAAE,IAAI,CAACA;IAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IACjEW,YAAY,EAAE,IAAI,CAACrB,OAAO,IAAI,IAAI,CAACE,MAAM,CAACoB;EAC5C,CAAC,GACDT,SAAS;EAEPF,SAAS,GAAGA,CAAA,KAAe,IAAI,CAACJ,KAAK,KAAK,IAAI,CAACL,MAAM,CAACqB,YAAY;;EAE1E;EACQT,MAAM,GAAIU,SAAgC,IAAW;IAC3D,MAAMC,GAAG,GAAGD,SAAS,GACjB,GAAGA,SAAS,CAACd,YAAY,KAAKG,SAAS,IAAIW,SAAS,CAACH,YAAY,EAAE,GACnEvB,MAAM;IAEV,MAAM4B,OAAO,GAAGD,GAAG,MAAM,IAAI,CAACE,QAAQ,IAAI7B,MAAM,CAAC;IAEjD,IAAI,CAAC6B,QAAQ,GAAGF,GAAG;IAEnB,IAAIC,OAAO,EAAE;MACX,IAAI,CAACvB,kBAAkB,CAACqB,SAAS,CAAC;IACpC;EACF,CAAC;AACH;AAEA,SAASzB,kBAAkB","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { i16FromHex } from "../../../utils/i-16-from-hex.js";
|
|
4
|
+
import { le16FromHex } from "../../../utils/le-16-from-hex.js";
|
|
5
|
+
const SAMPLE_BYTES = 2;
|
|
6
|
+
const COUNT_BYTES = 2;
|
|
7
|
+
const CHECKSUM_BYTES = 1;
|
|
8
|
+
|
|
9
|
+
/** The raw sample counts a poll answer carries, never more than the frame holds. */
|
|
10
|
+
const waveformSamples = (pollAnswer, waveform) => {
|
|
11
|
+
const first = waveform.countByteIndex + COUNT_BYTES;
|
|
12
|
+
const declared = le16FromHex(pollAnswer, waveform.countByteIndex);
|
|
13
|
+
const available = Math.floor((pollAnswer.length - CHECKSUM_BYTES - first) / SAMPLE_BYTES);
|
|
14
|
+
return Array.from({
|
|
15
|
+
length: Math.max(0, Math.min(declared, available))
|
|
16
|
+
}, (_, index) => i16FromHex(pollAnswer, first + index * SAMPLE_BYTES));
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/** One count in millivolts; the no-signal marker reads as 0. */
|
|
20
|
+
const millivoltsOf = (count, waveform) => count === waveform.noSignalCount ? 0 : count * waveform.millivoltsPerCount;
|
|
21
|
+
export { millivoltsOf, waveformSamples };
|
|
22
|
+
//# sourceMappingURL=lepu.waveform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["i16FromHex","le16FromHex","SAMPLE_BYTES","COUNT_BYTES","CHECKSUM_BYTES","waveformSamples","pollAnswer","waveform","first","countByteIndex","declared","available","Math","floor","length","Array","from","max","min","_","index","millivoltsOf","count","noSignalCount","millivoltsPerCount"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.waveform.ts"],"mappings":";;AACA,SAASA,UAAU,QAAQ,iCAA8B;AACzD,SAASC,WAAW,QAAQ,kCAA+B;AAI3D,MAAMC,YAAY,GAAG,CAAC;AACtB,MAAMC,WAAW,GAAG,CAAC;AACrB,MAAMC,cAAc,GAAG,CAAC;;AAExB;AACA,MAAMC,eAAe,GAAGA,CAACC,UAA6B,EAAEC,QAAkB,KAAe;EACvF,MAAMC,KAAK,GAAGD,QAAQ,CAACE,cAAc,GAAGN,WAAW;EACnD,MAAMO,QAAQ,GAAGT,WAAW,CAACK,UAAU,EAAEC,QAAQ,CAACE,cAAc,CAAC;EACjE,MAAME,SAAS,GAAGC,IAAI,CAACC,KAAK,CAAC,CAACP,UAAU,CAACQ,MAAM,GAAGV,cAAc,GAAGI,KAAK,IAAIN,YAAY,CAAC;EAEzF,OAAOa,KAAK,CAACC,IAAI,CAAC;IAAEF,MAAM,EAAEF,IAAI,CAACK,GAAG,CAAC,CAAC,EAAEL,IAAI,CAACM,GAAG,CAACR,QAAQ,EAAEC,SAAS,CAAC;EAAE,CAAC,EAAE,CAACQ,CAAC,EAAEC,KAAK,KACjFpB,UAAU,CAACM,UAAU,EAAEE,KAAK,GAAGY,KAAK,GAAGlB,YAAY,CAAC,CAAC;AACzD,CAAC;;AAED;AACA,MAAMmB,YAAY,GAAGA,CAACC,KAAa,EAAEf,QAAkB,KACrDe,KAAK,KAAKf,QAAQ,CAACgB,aAAa,GAAG,CAAC,GAAGD,KAAK,GAAGf,QAAQ,CAACiB,kBAAkB;AAE5E,SAASH,YAAY,EAAEhB,eAAe","ignoreList":[]}
|
package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { VIATOM_ECG_MILLIVOLTS_PER_COUNT } from "./viatom.ecg-files.js";
|
|
4
|
+
|
|
3
5
|
/** The run status, with the current state in its low nibble. */
|
|
4
6
|
const RUN_STATUS_BYTE = 15;
|
|
5
7
|
const RECORDING_STATE = 2;
|
|
@@ -9,6 +11,11 @@ const SAVED_STATE = 4;
|
|
|
9
11
|
/** The seconds recorded so far, u32 little-endian, right before the run status. */
|
|
10
12
|
const RECORD_SECONDS_BYTE = 11;
|
|
11
13
|
|
|
14
|
+
/** After the 18-byte parameter block: the sample count, then int16 samples. */
|
|
15
|
+
const WAVEFORM_COUNT_BYTE = 25;
|
|
16
|
+
const SAMPLES_PER_SECOND = 125;
|
|
17
|
+
const NO_SIGNAL_COUNT = 0x7fff;
|
|
18
|
+
|
|
12
19
|
/** Ends a recording and stores it when it is long enough. */
|
|
13
20
|
const STOP_MEASUREMENT = 0x05;
|
|
14
21
|
|
|
@@ -25,7 +32,13 @@ const viatomRecordingStatus = advertisedName => ({
|
|
|
25
32
|
leadOffState: LEAD_OFF_STATE,
|
|
26
33
|
savedState: SAVED_STATE,
|
|
27
34
|
minimumStoredSeconds: HOLTER_MODEL_NAMES.has(advertisedName) ? HOLTER_MINIMUM_STORED_SECONDS : MINIMUM_STORED_SECONDS,
|
|
28
|
-
stopCommand: STOP_MEASUREMENT
|
|
35
|
+
stopCommand: STOP_MEASUREMENT,
|
|
36
|
+
waveform: {
|
|
37
|
+
countByteIndex: WAVEFORM_COUNT_BYTE,
|
|
38
|
+
sampleRateHz: SAMPLES_PER_SECOND,
|
|
39
|
+
millivoltsPerCount: VIATOM_ECG_MILLIVOLTS_PER_COUNT,
|
|
40
|
+
noSignalCount: NO_SIGNAL_COUNT
|
|
41
|
+
}
|
|
29
42
|
});
|
|
30
43
|
export { RECORDING_STATE, RUN_STATUS_BYTE, viatomRecordingStatus };
|
|
31
44
|
//# sourceMappingURL=viatom.ecg-recording-status.js.map
|
package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RUN_STATUS_BYTE","RECORDING_STATE","LEAD_OFF_STATE","SAVED_STATE","RECORD_SECONDS_BYTE","STOP_MEASUREMENT","HOLTER_MODEL_NAMES","Set","HOLTER_MINIMUM_STORED_SECONDS","MINIMUM_STORED_SECONDS","viatomRecordingStatus","advertisedName","byteIndex","secondsByteIndex","recordingState","leadOffState","savedState","minimumStoredSeconds","has","stopCommand"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.ts"],"mappings":";;AAEA;AACA,
|
|
1
|
+
{"version":3,"names":["VIATOM_ECG_MILLIVOLTS_PER_COUNT","RUN_STATUS_BYTE","RECORDING_STATE","LEAD_OFF_STATE","SAVED_STATE","RECORD_SECONDS_BYTE","WAVEFORM_COUNT_BYTE","SAMPLES_PER_SECOND","NO_SIGNAL_COUNT","STOP_MEASUREMENT","HOLTER_MODEL_NAMES","Set","HOLTER_MINIMUM_STORED_SECONDS","MINIMUM_STORED_SECONDS","viatomRecordingStatus","advertisedName","byteIndex","secondsByteIndex","recordingState","leadOffState","savedState","minimumStoredSeconds","has","stopCommand","waveform","countByteIndex","sampleRateHz","millivoltsPerCount","noSignalCount"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.ts"],"mappings":";;AAEA,SAASA,+BAA+B,QAAQ,uBAAoB;;AAEpE;AACA,MAAMC,eAAe,GAAG,EAAE;AAC1B,MAAMC,eAAe,GAAG,CAAC;AACzB,MAAMC,cAAc,GAAG,CAAC;AACxB,MAAMC,WAAW,GAAG,CAAC;;AAErB;AACA,MAAMC,mBAAmB,GAAG,EAAE;;AAE9B;AACA,MAAMC,mBAAmB,GAAG,EAAE;AAC9B,MAAMC,kBAAkB,GAAG,GAAG;AAC9B,MAAMC,eAAe,GAAG,MAAM;;AAE9B;AACA,MAAMC,gBAAgB,GAAG,IAAI;;AAE7B;AACA,MAAMC,kBAAkB,GAAG,IAAIC,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AACnE,MAAMC,6BAA6B,GAAG,GAAG;AACzC,MAAMC,sBAAsB,GAAG,EAAE;;AAEjC;AACA,MAAMC,qBAAqB,GACzBC,cAAsB,KAC8B;EACpDC,SAAS,EAAEf,eAAe;EAC1BgB,gBAAgB,EAAEZ,mBAAmB;EACrCa,cAAc,EAAEhB,eAAe;EAC/BiB,YAAY,EAAEhB,cAAc;EAC5BiB,UAAU,EAAEhB,WAAW;EACvBiB,oBAAoB,EAAEX,kBAAkB,CAACY,GAAG,CAACP,cAAc,CAAC,GACxDH,6BAA6B,GAC7BC,sBAAsB;EAC1BU,WAAW,EAAEd,gBAAgB;EAC7Be,QAAQ,EAAE;IACRC,cAAc,EAAEnB,mBAAmB;IACnCoB,YAAY,EAAEnB,kBAAkB;IAChCoB,kBAAkB,EAAE3B,+BAA+B;IACnD4B,aAAa,EAAEpB;EACjB;AACF,CAAC,CAAC;AAEF,SAASN,eAAe,EAAED,eAAe,EAAEa,qBAAqB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/device-waveform.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["le16FromHex","i16FromHex","hex","i","v"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/utils/i-16-from-hex.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,qBAAkB;;AAE9C;AACA,OAAO,MAAMC,UAAU,GAAGA,CAACC,
|
|
1
|
+
{"version":3,"names":["le16FromHex","i16FromHex","hex","i","v"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/utils/i-16-from-hex.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,qBAAkB;;AAE9C;AACA,OAAO,MAAMC,UAAU,GAAGA,CAACC,GAAsB,EAAEC,CAAS,KAAa;EACvE,MAAMC,CAAC,GAAGJ,WAAW,CAACE,GAAG,EAAEC,CAAC,CAAC;EAE7B,OAAOC,CAAC,GAAG,MAAM,GAAGA,CAAC,GAAG,OAAO,GAAGA,CAAC;AACrC,CAAC","ignoreList":[]}
|
|
@@ -51,7 +51,33 @@ const legacyDriver = (creator, deviceName) => (peripheral, signal) => {
|
|
|
51
51
|
}) => events.push({
|
|
52
52
|
kind: "error",
|
|
53
53
|
error: fromBleError(error)
|
|
54
|
-
})
|
|
54
|
+
}),
|
|
55
|
+
onWaveform: ({
|
|
56
|
+
samples,
|
|
57
|
+
sampleRateHz,
|
|
58
|
+
millivoltsPerCount,
|
|
59
|
+
at
|
|
60
|
+
}) => events.push({
|
|
61
|
+
kind: "waveform",
|
|
62
|
+
waveform: {
|
|
63
|
+
samples,
|
|
64
|
+
sampleRateHz,
|
|
65
|
+
millivoltsPerCount,
|
|
66
|
+
at
|
|
67
|
+
}
|
|
68
|
+
}),
|
|
69
|
+
onConnectionEvent: ({
|
|
70
|
+
kind,
|
|
71
|
+
recording
|
|
72
|
+
}) => {
|
|
73
|
+
if (kind === "recording") {
|
|
74
|
+
events.push({
|
|
75
|
+
kind: "recording",
|
|
76
|
+
recording: recording ?? null,
|
|
77
|
+
stop: () => managed.stopRecording()
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
55
81
|
});
|
|
56
82
|
signal.addEventListener("abort", stop, {
|
|
57
83
|
once: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DeviceStatus","Channel","isTimestamped","fromBleError","bleDeviceOf","STATUSES","CONNECTED","MEASURING","DISCONNECTED","legacyDriver","creator","deviceName","peripheral","signal","stop","events","end","removeEventListener","managed","disconnect","createDevice","device","onResult","id","data","reading","push","kind","onDeviceStatusChanged","status","mapped","onError","error","addEventListener","once","connect","catch","fail"],"sourceRoot":"../../../../../../src","sources":["modules/next/bluetooth/ble-plx/legacy-driver.ts"],"mappings":";;AAKA,SAASA,YAAY,QAAQ,+CAA4C;AACzE,SAASC,OAAO,QAAQ,eAAY;AACpC,SAA8BC,aAAa,QAAQ,cAAW;AAE9D,SAASC,YAAY,QAAQ,iBAAc;AAC3C,SAASC,WAAW,QAAQ,qBAAkB;AAE9C,MAAMC,QAAmF,GAAG;EAC1F,CAACL,YAAY,CAACM,SAAS,GAAG,WAAW;EACrC,CAACN,YAAY,CAACO,SAAS,GAAG,WAAW;EACrC,CAACP,YAAY,CAACQ,YAAY,GAAG;AAC/B,CAAC;;AAED;AACA,MAAMC,YAAY,GAAGA,CAACC,OAAiD,EAAEC,UAAqB,KAC5F,CAACC,UAAU,EAAEC,MAAM,KAAK;EACtB,MAAMC,IAAI,GAAGA,CAAA,KAAMC,MAAM,CAACC,GAAG,CAAC,CAAC;EAE/B,MAAMD,MAAM,GAAG,IAAId,OAAO,CAAc,MAAM;IAC5CY,MAAM,CAACI,mBAAmB,CAAC,OAAO,EAAEH,IAAI,CAAC;IACzC,KAAKI,OAAO,CAACC,UAAU,CAAC,CAAC;EAC3B,CAAC,CAAC;EAEF,MAAMD,OAAO,GAAGR,OAAO,CAACU,YAAY,CAAC;IACnCC,MAAM,EAAEjB,WAAW,CAACQ,UAAU,CAAC;IAC/BD,UAAU;IACVW,QAAQ,EAAEA,CAAC;MAAEC,EAAE;MAAEC;IAAK,CAAC,KAAK;MAC1B,MAAMC,OAAO,GAAGD,IAAmB;MAEnCT,MAAM,CAACW,IAAI,CAAC;QAAEC,IAAI,EAAE,SAAS;QAAEJ,EAAE,EAAErB,aAAa,CAACuB,OAAO,CAAC,GAAGF,EAAE,GAAG,IAAI;QAAEE;MAAQ,CAAC,CAAC;IACnF,CAAC;IACDG,qBAAqB,EAAEA,CAAC;MAAEC;IAAO,CAAC,KAAK;MACrC,MAAMC,MAAM,GAAGzB,QAAQ,CAACwB,MAAM,CAAC;MAE/B,IAAIC,MAAM,EAAE;QACVf,MAAM,CAACW,IAAI,CAAC;UAAEC,IAAI,EAAE,QAAQ;UAAEE,MAAM,EAAEC;QAAO,CAAC,CAAC;MACjD;MACA,IAAID,MAAM,KAAK7B,YAAY,CAACQ,YAAY,EAAE;QACxCO,MAAM,CAACC,GAAG,CAAC,CAAC;MACd;IACF,CAAC;IACDe,OAAO,EAAEA,CAAC;MAAEC;IAAM,CAAC,KAAKjB,MAAM,CAACW,IAAI,CAAC;MAAEC,IAAI,EAAE,OAAO;MAAEK,KAAK,EAAE7B,YAAY,CAAC6B,KAAK;IAAE,CAAC;
|
|
1
|
+
{"version":3,"names":["DeviceStatus","Channel","isTimestamped","fromBleError","bleDeviceOf","STATUSES","CONNECTED","MEASURING","DISCONNECTED","legacyDriver","creator","deviceName","peripheral","signal","stop","events","end","removeEventListener","managed","disconnect","createDevice","device","onResult","id","data","reading","push","kind","onDeviceStatusChanged","status","mapped","onError","error","onWaveform","samples","sampleRateHz","millivoltsPerCount","at","waveform","onConnectionEvent","recording","stopRecording","addEventListener","once","connect","catch","fail"],"sourceRoot":"../../../../../../src","sources":["modules/next/bluetooth/ble-plx/legacy-driver.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,11 +7,13 @@ const endedBeforeConnecting = () => new BluetoothError("connection-failed", "The
|
|
|
7
7
|
/** One driver run per connected device, its events folded into the snapshot. */
|
|
8
8
|
class Connections {
|
|
9
9
|
sessions = new Map();
|
|
10
|
-
|
|
10
|
+
recordingStops = new Map();
|
|
11
|
+
constructor(store, readings, policy, onEnded, onWaveform) {
|
|
11
12
|
this.store = store;
|
|
12
13
|
this.readings = readings;
|
|
13
14
|
this.policy = policy;
|
|
14
15
|
this.onEnded = onEnded;
|
|
16
|
+
this.onWaveform = onWaveform;
|
|
15
17
|
}
|
|
16
18
|
isActive(id) {
|
|
17
19
|
return this.sessions.has(id);
|
|
@@ -32,6 +34,21 @@ class Connections {
|
|
|
32
34
|
await session?.ended;
|
|
33
35
|
}
|
|
34
36
|
|
|
37
|
+
/**
|
|
38
|
+
* Stops the recording a connected device holds open.
|
|
39
|
+
*
|
|
40
|
+
* @throws BluetoothError `no-open-recording` when the device holds none.
|
|
41
|
+
*/
|
|
42
|
+
async stopRecording(id) {
|
|
43
|
+
const stop = this.recordingStops.get(id);
|
|
44
|
+
if (!stop || !this.store.device(id)?.recording) {
|
|
45
|
+
throw new BluetoothError("no-open-recording", "The device holds no open recording to stop");
|
|
46
|
+
}
|
|
47
|
+
await stop().catch(error => {
|
|
48
|
+
throw asBluetoothError(error, "no-open-recording");
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
35
52
|
/** Disconnects every device; resolves once every connection has ended. */
|
|
36
53
|
async disconnectAll() {
|
|
37
54
|
await Promise.all([...this.sessions.keys()].map(id => this.disconnect(id)));
|
|
@@ -67,6 +84,10 @@ class Connections {
|
|
|
67
84
|
failConnecting(failure);
|
|
68
85
|
}).finally(() => {
|
|
69
86
|
this.sessions.delete(id);
|
|
87
|
+
this.recordingStops.delete(id);
|
|
88
|
+
this.store.updateDevice(id, {
|
|
89
|
+
recording: undefined
|
|
90
|
+
});
|
|
70
91
|
this.onEnded(id);
|
|
71
92
|
});
|
|
72
93
|
const session = {
|
|
@@ -94,6 +115,16 @@ class Connections {
|
|
|
94
115
|
this.store.updateDevice(id, {
|
|
95
116
|
information: event.information
|
|
96
117
|
});
|
|
118
|
+
} else if (event.kind === "waveform") {
|
|
119
|
+
this.onWaveform({
|
|
120
|
+
deviceId: id,
|
|
121
|
+
...event.waveform
|
|
122
|
+
});
|
|
123
|
+
} else if (event.kind === "recording") {
|
|
124
|
+
this.recordingStops.set(id, event.stop);
|
|
125
|
+
this.store.updateDevice(id, {
|
|
126
|
+
recording: event.recording ?? undefined
|
|
127
|
+
});
|
|
97
128
|
} else if (event.kind === "reading") {
|
|
98
129
|
const device = this.store.device(id);
|
|
99
130
|
if (device) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["asBluetoothError","BluetoothError","keepReadings","endedBeforeConnecting","Connections","sessions","Map","constructor","store","readings","policy","onEnded","isActive","id","has","connect","peripheral","driver","current","get","controller","signal","aborted","ended","start","connected","disconnect","session","abort","disconnectAll","Promise","all","keys","map","AbortController","markConnected","undefined","failConnecting","resolve","reject","updateDevice","connection","
|
|
1
|
+
{"version":3,"names":["asBluetoothError","BluetoothError","keepReadings","endedBeforeConnecting","Connections","sessions","Map","recordingStops","constructor","store","readings","policy","onEnded","onWaveform","isActive","id","has","connect","peripheral","driver","current","get","controller","signal","aborted","ended","start","connected","disconnect","session","abort","stopRecording","stop","device","recording","catch","error","disconnectAll","Promise","all","keys","map","AbortController","markConnected","undefined","failConnecting","resolve","reject","updateDevice","connection","run","then","failure","finally","delete","set","event","apply","kind","status","information","deviceId","waveform","receive","reading"],"sourceRoot":"../../../../../src","sources":["modules/next/bluetooth/connections.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["stableHash","isTimestamped","reading","temporal","recordedAt","start","end","some","value","Date","readingId","key","peripheral","id","gattDriver","protocol","signal","link","openLink","kind","status","deviceInformation","information","close"],"sourceRoot":"../../../../../src","sources":["modules/next/bluetooth/driver.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["stableHash","isTimestamped","reading","temporal","recordedAt","start","end","some","value","Date","readingId","key","peripheral","id","gattDriver","protocol","signal","link","openLink","kind","status","deviceInformation","information","close"],"sourceRoot":"../../../../../src","sources":["modules/next/bluetooth/driver.ts"],"mappings":";;AAKA,SAASA,UAAU,QAAQ,kBAAe;;AAG1C;;AAyDA;;AAGA;;AAGA;AACA,MAAMC,aAAa,GAAIC,OAAoB,IAAc;EACvD,MAAMC,QAAQ,GAAGD,OAAmE;EAEpF,OAAO,CAACC,QAAQ,CAACC,UAAU,EAAED,QAAQ,CAACE,KAAK,EAAEF,QAAQ,CAACG,GAAG,CAAC,CAACC,IAAI,CAAEC,KAAK,IAAKA,KAAK,YAAYC,IAAI,CAAC;AACnG,CAAC;;AAED;AACA,MAAMC,SAAS,GAAGA,CAACC,GAAW,EAAEC,UAAsB,EAAEV,OAAoB,KAC1ED,aAAa,CAACC,OAAO,CAAC,GAAG,QAAQF,UAAU,CAAC;EAAEW,GAAG;EAAEC,UAAU,EAAEA,UAAU,CAACC,EAAE;EAAEX;AAAQ,CAAC,CAAC,EAAE,GAAG,IAAI;;AAEnG;AACA,MAAMY,UAAU,GAAGA,CAACH,GAAW,EAAEI,QAAwB,KACvD,iBAAiBH,UAAU,EAAEI,MAAM,EAAE;EACnC,MAAMC,IAAI,GAAG,MAAML,UAAU,CAACM,QAAQ,CAACF,MAAM,CAAC;EAE9C,IAAI;IACF,MAAM;MAAEG,IAAI,EAAE,QAAQ;MAAEC,MAAM,EAAE;IAAY,CAAC;IAC7C,IAAIH,IAAI,CAACI,iBAAiB,EAAE;MAC1B,MAAM;QAAEF,IAAI,EAAE,aAAa;QAAEG,WAAW,EAAEL,IAAI,CAACI;MAAkB,CAAC;IACpE;IACA,WAAW,MAAMnB,OAAO,IAAIa,QAAQ,CAACE,IAAI,CAAC,EAAE;MAC1C,MAAM;QAAEE,IAAI,EAAE,SAAS;QAAEN,EAAE,EAAEH,SAAS,CAACC,GAAG,EAAEC,UAAU,EAAEV,OAAO,CAAC;QAAEA;MAAQ,CAAC;IAC7E;IACA,MAAM;MAAEiB,IAAI,EAAE,QAAQ;MAAEC,MAAM,EAAE;IAAe,CAAC;EAClD,CAAC,SAAS;IACR,MAAMH,IAAI,CAACM,KAAK,CAAC,CAAC;EACpB;AACF,CAAC;AAEH,SAAST,UAAU,EAAEb,aAAa","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BluetoothError","Error","name","constructor","code","message","cause","asBluetoothError","error","String"],"sourceRoot":"../../../../../src","sources":["modules/next/bluetooth/errors.ts"],"mappings":";;AAAA;;
|
|
1
|
+
{"version":3,"names":["BluetoothError","Error","name","constructor","code","message","cause","asBluetoothError","error","String"],"sourceRoot":"../../../../../src","sources":["modules/next/bluetooth/errors.ts"],"mappings":";;AAAA;;AAkBA;AACA,MAAMA,cAAc,SAASC,KAAK,CAAC;EACjC;EACgBC,IAAI,GAAG,gBAAgB;EAEhCC,WAAWA,CAEhB;EACgBC,IAAwB,EACxCC,OAAe,EACfC,KAAe,EACf;IACA,KAAK,CAACD,OAAO,EAAE;MAAEC;IAAM,CAAC,CAAC;IAAC,KAJVF,IAAwB,GAAxBA,IAAwB;EAK1C;AACF;;AAEA;AACA,MAAMG,gBAAgB,GAAGA,CAACC,KAAc,EAAEJ,IAAwB,KAChEI,KAAK,YAAYR,cAAc,GAC3BQ,KAAK,GACL,IAAIR,cAAc,CAACI,IAAI,EAAEI,KAAK,YAAYP,KAAK,GAAGO,KAAK,CAACH,OAAO,GAAGI,MAAM,CAACD,KAAK,CAAC,EAAEA,KAAK,CAAC;AAE7F,SAASD,gBAAgB,EAAEP,cAAc","ignoreList":[]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
/* eslint-disable max-lines */
|
|
4
|
+
|
|
3
5
|
import { AutoConnectBackoff } from "./auto-connect.js";
|
|
4
6
|
import { Connections } from "./connections.js";
|
|
5
7
|
import { matchDevice } from "./devices.js";
|
|
@@ -22,12 +24,13 @@ class BluetoothRuntime {
|
|
|
22
24
|
held = new Set();
|
|
23
25
|
backoff = new AutoConnectBackoff();
|
|
24
26
|
retryTimers = new Set();
|
|
27
|
+
waveformListeners = new Set();
|
|
25
28
|
scanRequest = 0;
|
|
26
29
|
disposed = false;
|
|
27
30
|
constructor(options) {
|
|
28
31
|
this.options = options;
|
|
29
32
|
this.readings = new ReadingLog(this.store, options.sink);
|
|
30
|
-
this.connections = new Connections(this.store, this.readings, options.resultPolicy ?? everyReading, id => this.connectionEnded(id));
|
|
33
|
+
this.connections = new Connections(this.store, this.readings, options.resultPolicy ?? everyReading, id => this.connectionEnded(id), waveform => this.waveformListeners.forEach(listener => listener(waveform)));
|
|
31
34
|
this.paired = new PairedDevices(paired => this.store.set({
|
|
32
35
|
paired
|
|
33
36
|
}), options.pairedStorage);
|
|
@@ -47,6 +50,12 @@ class BluetoothRuntime {
|
|
|
47
50
|
/** Calls `listener` after every state change; returns the unsubscribe. */
|
|
48
51
|
subscribe = listener => this.store.subscribe(listener);
|
|
49
52
|
|
|
53
|
+
/** Calls `listener` with the live ECG samples of recording devices, for display; returns the unsubscribe. */
|
|
54
|
+
subscribeWaveform = listener => {
|
|
55
|
+
this.waveformListeners.add(listener);
|
|
56
|
+
return () => this.waveformListeners.delete(listener);
|
|
57
|
+
};
|
|
58
|
+
|
|
50
59
|
/** Reads the permission without prompting. */
|
|
51
60
|
async checkPermission() {
|
|
52
61
|
return this.recordPermission(await this.options.permissions.check());
|
|
@@ -106,6 +115,17 @@ class BluetoothRuntime {
|
|
|
106
115
|
await this.connections.connect(peripheral, match.driver);
|
|
107
116
|
}
|
|
108
117
|
|
|
118
|
+
/**
|
|
119
|
+
* Stops the recording a connected recorder holds open, for instance once the user confirms it while
|
|
120
|
+
* its `recording.leadOffSince` is set. The stored recording then arrives as a reading.
|
|
121
|
+
*
|
|
122
|
+
* @throws BluetoothError `no-open-recording` when the device holds none; `runtime-disposed` after `dispose`.
|
|
123
|
+
*/
|
|
124
|
+
async stopRecording(deviceId) {
|
|
125
|
+
this.assertLive();
|
|
126
|
+
await this.connections.stopRecording(deviceId);
|
|
127
|
+
}
|
|
128
|
+
|
|
109
129
|
/** Disconnects a device; a paired one stays disconnected until `connect` or `pair` is called again. */
|
|
110
130
|
async disconnect(deviceId) {
|
|
111
131
|
this.held.add(deviceId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AutoConnectBackoff","Connections","matchDevice","BluetoothError","PairedDevices","ReadingLog","everyReading","ScanLoop","SnapshotStore","BluetoothRuntime","store","known","Map","held","Set","backoff","retryTimers","scanRequest","disposed","constructor","options","readings","sink","connections","resultPolicy","id","connectionEnded","paired","set","pairedStorage","scan","scanner","peripheral","found","unwatchAdapter","watchState","adapter","sync","checkPermission","catch","undefined","getSnapshot","get","subscribe","
|
|
1
|
+
{"version":3,"names":["AutoConnectBackoff","Connections","matchDevice","BluetoothError","PairedDevices","ReadingLog","everyReading","ScanLoop","SnapshotStore","BluetoothRuntime","store","known","Map","held","Set","backoff","retryTimers","waveformListeners","scanRequest","disposed","constructor","options","readings","sink","connections","resultPolicy","id","connectionEnded","waveform","forEach","listener","paired","set","pairedStorage","scan","scanner","peripheral","found","unwatchAdapter","watchState","adapter","sync","checkPermission","catch","undefined","getSnapshot","get","subscribe","subscribeWaveform","add","delete","recordPermission","permissions","check","requestPermission","request","openPermissionSettings","openSettings","startScan","assertLive","permission","scanning","stopScan","connect","deviceId","match","require","driver","stopRecording","disconnect","pair","forget","remove","retrySaves","dispose","close","clearTimeout","disconnectAll","devices","advertisement","device","key","name","connection","error","connectIfPaired","waiting","has","isActive","allows","succeeded","restartScan","timer","setTimeout","failed","running","restart"],"sourceRoot":"../../../../../src","sources":["modules/next/bluetooth/runtime.ts"],"mappings":";;AAAA;;AAGA,SAASA,kBAAkB,QAAQ,mBAAgB;AACnD,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAAqCC,WAAW,QAAQ,cAAW;AACnE,SAASC,cAAc,QAAQ,aAAU;AACzC,SAASC,aAAa,QAAQ,aAAU;AAExC,SAASC,UAAU,QAAQ,eAAY;AACvC,SAASC,YAAY,QAAsB,oBAAiB;AAC5D,SAASC,QAAQ,QAAQ,gBAAa;AAGtC,SAASC,aAAa,QAAQ,YAAS;;AAGvC;;AAwBA;AACA;AACA;AACA;AACA,MAAMC,gBAAgB,CAAC;EACJC,KAAK,GAAG,IAAIF,aAAa,CAAC,CAAC;EAC3BG,KAAK,GAAG,IAAIC,GAAG,CAAsB,CAAC;EACtCC,IAAI,GAAG,IAAIC,GAAG,CAAS,CAAC;EACxBC,OAAO,GAAG,IAAIf,kBAAkB,CAAC,CAAC;EAClCgB,WAAW,GAAG,IAAIF,GAAG,CAAgC,CAAC;EACtDG,iBAAiB,GAAG,IAAIH,GAAG,CAAqC,CAAC;EAM1EI,WAAW,GAAG,CAAC;EACfC,QAAQ,GAAG,KAAK;EAEjBC,WAAWA,CAAkBC,OAAgC,EAAE;IAAA,KAAlCA,OAAgC,GAAhCA,OAAgC;IAClE,IAAI,CAACC,QAAQ,GAAG,IAAIjB,UAAU,CAAC,IAAI,CAACK,KAAK,EAAEW,OAAO,CAACE,IAAI,CAAC;IACxD,IAAI,CAACC,WAAW,GAAG,IAAIvB,WAAW,CAChC,IAAI,CAACS,KAAK,EACV,IAAI,CAACY,QAAQ,EACbD,OAAO,CAACI,YAAY,IAAInB,YAAY,EACnCoB,EAAE,IAAK,IAAI,CAACC,eAAe,CAACD,EAAE,CAAC,EAC/BE,QAAQ,IAAK,IAAI,CAACX,iBAAiB,CAACY,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAACF,QAAQ,CAAC,CAC/E,CAAC;IACD,IAAI,CAACG,MAAM,GAAG,IAAI3B,aAAa,CAAE2B,MAAM,IAAK,IAAI,CAACrB,KAAK,CAACsB,GAAG,CAAC;MAAED;IAAO,CAAC,CAAC,EAAEV,OAAO,CAACY,aAAa,CAAC;IAC9F,IAAI,CAACC,IAAI,GAAG,IAAI3B,QAAQ,CAACc,OAAO,CAACc,OAAO,EAAE,IAAI,CAACzB,KAAK,EAAG0B,UAAU,IAAK,IAAI,CAACC,KAAK,CAACD,UAAU,CAAC,CAAC;IAC7F,IAAI,CAACE,cAAc,GAAGjB,OAAO,CAACc,OAAO,CAACI,UAAU,CAAEC,OAAO,IAAK;MAC5D,IAAI,CAAC9B,KAAK,CAACsB,GAAG,CAAC;QAAEQ;MAAQ,CAAC,CAAC;MAC3B,IAAI,CAACN,IAAI,CAACO,IAAI,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,KAAK,IAAI,CAACC,eAAe,CAAC,CAAC,CAACC,KAAK,CAAC,MAAMC,SAAS,CAAC;EACpD;;EAEA;EACOC,WAAW,GAAGA,CAAA,KAAyB,IAAI,CAACnC,KAAK,CAACoC,GAAG,CAAC,CAAC;;EAE9D;EACOC,SAAS,GAAIjB,QAAoB,IAAmB,IAAI,CAACpB,KAAK,CAACqC,SAAS,CAACjB,QAAQ,CAAC;;EAEzF;EACOkB,iBAAiB,GAAIlB,QAA4C,IAAmB;IACzF,IAAI,CAACb,iBAAiB,CAACgC,GAAG,CAACnB,QAAQ,CAAC;IAEpC,OAAO,MAAM,IAAI,CAACb,iBAAiB,CAACiC,MAAM,CAACpB,QAAQ,CAAC;EACtD,CAAC;;EAED;EACA,MAAaY,eAAeA,CAAA,EAAiC;IAC3D,OAAO,IAAI,CAACS,gBAAgB,CAAC,MAAM,IAAI,CAAC9B,OAAO,CAAC+B,WAAW,CAACC,KAAK,CAAC,CAAC,CAAC;EACtE;;EAEA;EACA,MAAaC,iBAAiBA,CAAA,EAAiC;IAC7D,OAAO,IAAI,CAACH,gBAAgB,CAAC,MAAM,IAAI,CAAC9B,OAAO,CAAC+B,WAAW,CAACG,OAAO,CAAC,CAAC,CAAC;EACxE;;EAEA;EACOC,sBAAsBA,CAAA,EAAkB;IAC7C,OAAO,IAAI,CAACnC,OAAO,CAAC+B,WAAW,CAACK,YAAY,CAAC,CAAC;EAChD;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAaC,SAASA,CAAA,EAAkB;IACtC,IAAI,CAACC,UAAU,CAAC,CAAC;IAEjB,MAAMJ,OAAO,GAAG,EAAE,IAAI,CAACrC,WAAW;IAClC,MAAM0C,UAAU,GAAG,IAAI,CAAClD,KAAK,CAACoC,GAAG,CAAC,CAAC,CAACc,UAAU,KAAK,SAAS,GAAG,SAAS,GAAG,MAAM,IAAI,CAACN,iBAAiB,CAAC,CAAC;IAEzG,IAAIM,UAAU,KAAK,SAAS,EAAE;MAC5B,MAAM,IAAIzD,cAAc,CAAC,mBAAmB,EAAE,qCAAqC,CAAC;IACtF;IACA,IAAIoD,OAAO,KAAK,IAAI,CAACrC,WAAW,IAAI,CAAC,IAAI,CAACC,QAAQ,EAAE;MAClD,IAAI,CAACT,KAAK,CAACsB,GAAG,CAAC;QAAE6B,QAAQ,EAAE;MAAK,CAAC,CAAC;MAClC,IAAI,CAAC3B,IAAI,CAACO,IAAI,CAAC,CAAC;IAClB;EACF;;EAEA;EACOqB,QAAQA,CAAA,EAAS;IACtB,IAAI,CAAC5C,WAAW,IAAI,CAAC;IACrB,IAAI,CAACR,KAAK,CAACsB,GAAG,CAAC;MAAE6B,QAAQ,EAAE;IAAM,CAAC,CAAC;IACnC,IAAI,CAAC3B,IAAI,CAACO,IAAI,CAAC,CAAC;EAClB;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAasB,OAAOA,CAACC,QAAgB,EAAiB;IACpD,IAAI,CAACL,UAAU,CAAC,CAAC;IAEjB,MAAM;MAAEvB,UAAU;MAAE6B;IAAM,CAAC,GAAG,IAAI,CAACC,OAAO,CAACF,QAAQ,CAAC;IAEpD,IAAI,CAACnD,IAAI,CAACqC,MAAM,CAACc,QAAQ,CAAC;IAC1B,MAAM,IAAI,CAACxC,WAAW,CAACuC,OAAO,CAAC3B,UAAU,EAAE6B,KAAK,CAACE,MAAM,CAAC;EAC1D;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,MAAaC,aAAaA,CAACJ,QAAgB,EAAiB;IAC1D,IAAI,CAACL,UAAU,CAAC,CAAC;IACjB,MAAM,IAAI,CAACnC,WAAW,CAAC4C,aAAa,CAACJ,QAAQ,CAAC;EAChD;;EAEA;EACA,MAAaK,UAAUA,CAACL,QAAgB,EAAiB;IACvD,IAAI,CAACnD,IAAI,CAACoC,GAAG,CAACe,QAAQ,CAAC;IACvB,MAAM,IAAI,CAACxC,WAAW,CAAC6C,UAAU,CAACL,QAAQ,CAAC;EAC7C;;EAEA;EACA,MAAaM,IAAIA,CAACN,QAAgB,EAAiB;IACjD,IAAI,CAACE,OAAO,CAACF,QAAQ,CAAC;IACtB,MAAM,IAAI,CAACjC,MAAM,CAACkB,GAAG,CAACe,QAAQ,CAAC;IAC/B,MAAM,IAAI,CAACD,OAAO,CAACC,QAAQ,CAAC;EAC9B;;EAEA;EACA,MAAaO,MAAMA,CAACP,QAAgB,EAAiB;IACnD,MAAM,IAAI,CAACjC,MAAM,CAACyC,MAAM,CAACR,QAAQ,CAAC;IAClC,MAAM,IAAI,CAACK,UAAU,CAACL,QAAQ,CAAC;EACjC;;EAEA;EACOS,UAAUA,CAAA,EAAkB;IACjC,OAAO,IAAI,CAACnD,QAAQ,CAACmD,UAAU,CAAC,CAAC;EACnC;;EAEA;EACA,MAAaC,OAAOA,CAAA,EAAkB;IACpC,IAAI,IAAI,CAACvD,QAAQ,EAAE;MACjB;IACF;IAEA,IAAI,CAAC2C,QAAQ,CAAC,CAAC;IACf,IAAI,CAAC3C,QAAQ,GAAG,IAAI;IACpB,IAAI,CAACe,IAAI,CAACyC,KAAK,CAAC,CAAC;IACjB,IAAI,CAACrC,cAAc,CAAC,CAAC;IACrB,IAAI,CAACtB,WAAW,CAACa,OAAO,CAAC+C,YAAY,CAAC;IACtC,MAAM,IAAI,CAACpD,WAAW,CAACqD,aAAa,CAAC,CAAC;IACtC,IAAI,CAACnE,KAAK,CAACiE,KAAK,CAAC,CAAC;EACpB;EAEQxB,gBAAgBA,CAACS,UAA+B,EAAuB;IAC7E,IAAI,CAAClD,KAAK,CAACsB,GAAG,CAAC;MAAE4B;IAAW,CAAC,CAAC;IAE9B,OAAOA,UAAU;EACnB;EAEQvB,KAAKA,CAACD,UAAsB,EAAQ;IAC1C,MAAMzB,KAAK,GAAG,IAAI,CAACA,KAAK,CAACmC,GAAG,CAACV,UAAU,CAACV,EAAE,CAAC;IAC3C,MAAMuC,KAAK,GAAGtD,KAAK,EAAEsD,KAAK,IAAI/D,WAAW,CAAC,IAAI,CAACmB,OAAO,CAACyD,OAAO,EAAE1C,UAAU,CAAC2C,aAAa,CAAC;IAEzF,IAAI,CAACd,KAAK,EAAE;MACV;IACF;IAEA,IAAI,CAACtD,KAAK,CAACqB,GAAG,CAACI,UAAU,CAACV,EAAE,EAAE;MAAEU,UAAU;MAAE6B;IAAM,CAAC,CAAC;IACpD,IAAI,CAACtD,KAAK,EAAE;MACV,MAAMqE,MAAM,GAAG;QAAEtD,EAAE,EAAEU,UAAU,CAACV,EAAE;QAAEuD,GAAG,EAAEhB,KAAK,CAACgB,GAAG;QAAEC,IAAI,EAAE9C,UAAU,CAAC2C,aAAa,CAACG;MAAK,CAAC;MAEzF,IAAI,CAACxE,KAAK,CAACsB,GAAG,CAAC;QAAE8C,OAAO,EAAE,CAAC,GAAG,IAAI,CAACpE,KAAK,CAACoC,GAAG,CAAC,CAAC,CAACgC,OAAO,EAAE;UAAE,GAAGE,MAAM;UAAEG,UAAU,EAAE,MAAM;UAAEC,KAAK,EAAE;QAAK,CAAC;MAAE,CAAC,CAAC;IAC5G;IACA,IAAI,CAACC,eAAe,CAACjD,UAAU,CAACV,EAAE,CAAC;EACrC;EAEQ2D,eAAeA,CAAC3D,EAAU,EAAQ;IACxC,MAAM4D,OAAO,GAAG,IAAI,CAACzE,IAAI,CAAC0E,GAAG,CAAC7D,EAAE,CAAC,IAAI,IAAI,CAACF,WAAW,CAACgE,QAAQ,CAAC9D,EAAE,CAAC,IAAI,CAAC,IAAI,CAACX,OAAO,CAAC0E,MAAM,CAAC/D,EAAE,CAAC;IAE9F,IAAI,IAAI,CAACK,MAAM,CAACwD,GAAG,CAAC7D,EAAE,CAAC,IAAI,CAAC4D,OAAO,EAAE;MACnC,IAAI,CAACvB,OAAO,CAACrC,EAAE,CAAC,CAACiB,KAAK,CAAC,MAAMC,SAAS,CAAC;IACzC;EACF;;EAEA;EACQjB,eAAeA,CAACD,EAAU,EAAQ;IACxC,IAAI,CAAC,IAAI,CAACK,MAAM,CAACwD,GAAG,CAAC7D,EAAE,CAAC,IAAI,IAAI,CAACb,IAAI,CAAC0E,GAAG,CAAC7D,EAAE,CAAC,IAAI,IAAI,CAACP,QAAQ,EAAE;MAC9D;IACF;IAEA,IAAI,IAAI,CAACT,KAAK,CAACsE,MAAM,CAACtD,EAAE,CAAC,EAAEyD,UAAU,KAAK,QAAQ,EAAE;MAClD,IAAI,CAACpE,OAAO,CAAC2E,SAAS,CAAChE,EAAE,CAAC;MAC1B,IAAI,CAACiE,WAAW,CAAC,CAAC;MAElB;IACF;IAEA,MAAMC,KAAK,GAAGC,UAAU,CAAC,MAAM;MAC7B,IAAI,CAAC7E,WAAW,CAACkC,MAAM,CAAC0C,KAAK,CAAC;MAC9B,IAAI,CAACD,WAAW,CAAC,CAAC;IACpB,CAAC,EAAE,IAAI,CAAC5E,OAAO,CAAC+E,MAAM,CAACpE,EAAE,CAAC,CAAC;IAE3B,IAAI,CAACV,WAAW,CAACiC,GAAG,CAAC2C,KAAK,CAAC;EAC7B;EAEQD,WAAWA,CAAA,EAAS;IAC1B,IAAI,IAAI,CAACzD,IAAI,CAAC6D,OAAO,EAAE;MACrB,IAAI,CAAC7D,IAAI,CAAC8D,OAAO,CAAC,CAAC;IACrB;EACF;EAEQ9B,OAAOA,CAACF,QAAgB,EAAe;IAC7C,MAAMgB,MAAM,GAAG,IAAI,CAACrE,KAAK,CAACmC,GAAG,CAACkB,QAAQ,CAAC;IAEvC,IAAI,CAACgB,MAAM,EAAE;MACX,MAAM,IAAI7E,cAAc,CAAC,kBAAkB,EAAE,aAAa6D,QAAQ,wBAAwB,CAAC;IAC7F;IAEA,OAAOgB,MAAM;EACf;EAEQrB,UAAUA,CAAA,EAAS;IACzB,IAAI,IAAI,CAACxC,QAAQ,EAAE;MACjB,MAAM,IAAIhB,cAAc,CAAC,kBAAkB,EAAE,oCAAoC,CAAC;IACpF;EACF;AACF;AAEA,SAASM,gBAAgB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bt-provider-child-wrapper.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/components/bt-provider-child-wrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAsCjF,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,SAAS,cAAc,EAAE,EAAE,mWAqBvE,KAAK,CAAC,iBAAiB,CACxB,2BAA2B,CAAC,CAAC,CAAC,GAAG;IAAE,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,CACxE,
|
|
1
|
+
{"version":3,"file":"bt-provider-child-wrapper.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/components/bt-provider-child-wrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAsCjF,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,SAAS,cAAc,EAAE,EAAE,mWAqBvE,KAAK,CAAC,iBAAiB,CACxB,2BAA2B,CAAC,CAAC,CAAC,GAAG;IAAE,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,CACxE,sBAijBF,CAAC"}
|
|
@@ -7,6 +7,7 @@ import { DeviceData } from "../types/device-data";
|
|
|
7
7
|
import { DeviceKey } from "../types/device-key";
|
|
8
8
|
import { DeviceStatus } from "../types/device-status";
|
|
9
9
|
import { DeviceStatusChangeCallback } from "../types/device-status-change-callback";
|
|
10
|
+
import { DeviceWaveform } from "../types/device-waveform";
|
|
10
11
|
import { ErrorCallback } from "../types/error-callback";
|
|
11
12
|
import { ResultCallback } from "../types/result-callback";
|
|
12
13
|
/** Typed union exposed when a host listens to every accepted device. */
|
|
@@ -60,6 +61,8 @@ export interface RuntimeEventMap {
|
|
|
60
61
|
result: RuntimeResult;
|
|
61
62
|
/** A connection lifecycle event occurred. */
|
|
62
63
|
connection: RuntimeConnectionEvent;
|
|
64
|
+
/** A recording device sent live ECG samples; for display, never stored. */
|
|
65
|
+
waveform: DeviceWaveform;
|
|
63
66
|
}
|
|
64
67
|
/** Name of an event the runtime emits. */
|
|
65
68
|
export type RuntimeEvent = keyof RuntimeEventMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-context.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/hooks/runtime-context.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,wEAAwE;AACxE,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;AAEtD,+CAA+C;AAC/C,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC;AAEzC,oEAAoE;AACpE,MAAM,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AAE3D,+DAA+D;AAC/D,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,GAAG,cAAc,GAAG,aAAa,CAAC;AAE9F,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAE5B,gCAAgC;IAChC,EAAE,EAAE,MAAM,CAAC;IAEX,8BAA8B;IAC9B,UAAU,EAAE,UAAU,CAAC;IAEvB,+DAA+D;IAC/D,MAAM,EAAE;QAEN,gCAAgC;QAChC,EAAE,EAAE,MAAM,CAAC;QAEX,8BAA8B;QAC9B,UAAU,EAAE,UAAU,CAAC;QAEvB,0CAA0C;QAC1C,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAE7B,2CAA2C;QAC3C,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;KACjC,CAAC;IAEF,8BAA8B;IAC9B,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,aAAa,CAAC;IAE7B,oCAAoC;IACpC,OAAO,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAEnC,8CAA8C;IAC9C,MAAM,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;CAC5C;AAED,0DAA0D;AAC1D,MAAM,WAAW,eAAe;IAE9B,oCAAoC;IACpC,WAAW,EAAE,aAAa,CAAC;IAE3B,gEAAgE;IAChE,aAAa,EAAE;QAEb,uCAAuC;QACvC,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,4CAA4C;IAC5C,KAAK,EAAE,YAAY,CAAC;IAEpB,+BAA+B;IAC/B,MAAM,EAAE,0BAA0B,CAAC;IAEnC,kCAAkC;IAClC,MAAM,EAAE,aAAa,CAAC;IAEtB,6CAA6C;IAC7C,UAAU,EAAE,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-context.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/hooks/runtime-context.tsx"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,7 @@ export * from "./types/bluetooth-error";
|
|
|
41
41
|
export * from "./types/bluetooth-permission-status";
|
|
42
42
|
export * from "./types/device-status-change-callback";
|
|
43
43
|
export * from "./types/device-connection-event";
|
|
44
|
+
export * from "./types/device-waveform";
|
|
44
45
|
export * from "./types/result-policy";
|
|
45
46
|
export * from "./types/measurement-series";
|
|
46
47
|
export * from "./types/clock-sync";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/bt-management/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/bt-management/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { ClockSyncOptions } from "../types/clock-sync";
|
|
|
5
5
|
import { DeviceConnectionEvent } from "../types/device-connection-event";
|
|
6
6
|
import { DeviceKeyOf } from "../types/device-key-of";
|
|
7
7
|
import { DeviceStatusChangeCallback } from "../types/device-status-change-callback";
|
|
8
|
+
import { DeviceWaveform } from "../types/device-waveform";
|
|
8
9
|
import { ErrorCallback } from "../types/error-callback";
|
|
9
10
|
import { OpenSeries } from "../types/measurement-series";
|
|
10
11
|
import { ResultCallback } from "../types/result-callback";
|
|
@@ -150,6 +151,8 @@ declare class BTManager<T extends readonly AcceptedDevice[]> {
|
|
|
150
151
|
onDeviceStatusChanged: (callback?: (data: DeviceStatusChangeCallback) => void) => void;
|
|
151
152
|
/** Sets the callback called for device connection events. */
|
|
152
153
|
onConnectionEvent: (callback?: (data: DeviceConnectionEvent) => void) => void;
|
|
154
|
+
/** Sets the callback called with the live ECG samples of recording devices; for display, never saved. */
|
|
155
|
+
onWaveform: (callback?: (waveform: DeviceWaveform) => void) => void;
|
|
153
156
|
/** Sets the callback called with each result; series that closed while nobody listened are delivered first. */
|
|
154
157
|
onResult: (callback?: (data: ResultCallback<DeviceKeyOf<T>>) => void) => void;
|
|
155
158
|
private onResultCallback?;
|
|
@@ -157,6 +160,7 @@ declare class BTManager<T extends readonly AcceptedDevice[]> {
|
|
|
157
160
|
private onDeviceFoundCallback?;
|
|
158
161
|
private onDeviceStatusChangedCallback?;
|
|
159
162
|
private onConnectionEventCallback?;
|
|
163
|
+
private onWaveformCallback?;
|
|
160
164
|
private onScanResult;
|
|
161
165
|
private queueAutoConnect;
|
|
162
166
|
/** Connecting without a timeout leaves the request with the system until the device is in range. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bt-manager.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/bt-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,UAAU,EACV,MAAM,EAIP,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI5D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,+BAA+B;AAC/B,UAAU,gBAAgB;IAExB,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAExC,wDAAwD;IACxD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC,8EAA8E;IAC9E,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE1C,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEvC,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,qCAAqC;IACrC,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE7D;;;OAGG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;IAEtC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,qBAAqB,CAAC;IAE5C,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAEvC,sCAAsC;IACtC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAE7B,gFAAgF;IAChF,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,qFAAqF;IACrF,yBAAyB,CAAC,EAAE,CAAC,SAAS,EAAE;QACtC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;QACtC,MAAM,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACtD,KAAK,IAAI,CAAC;CACZ;AAED,yFAAyF;AACzF,KAAK,iBAAiB,GAAG,IAAI,CAC3B,eAAe,EACf,IAAI,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAC3C,CAAC;AAUF,uFAAuF;AACvF,cAAM,SAAS,CAAC,CAAC,SAAS,SAAS,cAAc,EAAE;IAyB/C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO;IA1B1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAM;IACzC,OAAO,CAAC,OAAO,CAAsD;IACrE,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,oBAAoB,CAAqB;IAEjD,OAAO,CAAC,mBAAmB,CAA2B;IACtD,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,qBAAqB,CAAU;IACvC,OAAO,CAAC,qBAAqB,CAAsD;IACnF,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,WAAW,CAA6C;gBAG7C,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,CAAC,EAClB,OAAO,GAAE,gBAAqB;IAOjD,uGAAuG;IAChG,cAAc,GACnB,kBAAkB,OAAO,GAAG;QAC1B,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,yBAAyB,CAAC,EAAE,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;KAC3E,EACD,UAAU,MAAM,EAChB,4BAA4B,gBAAgB,CAAC,2BAA2B,CAAC,KACxE,IAAI,CAwBL;IAEF,oEAAoE;IAC7D,OAAO,aAeZ;IAEF,mGAAmG;IAC5F,aAAa,QAAO,SAAS,UAAU,EAAE,CAA0B;IAE1E,0FAA0F;IACnF,mBAAmB,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAAoC;IAErG,sGAAsG;IAC/F,SAAS,aAoEd;IAEF,+EAA+E;IACxE,wBAAwB,GAAI,SAAS,OAAO,KAAG,IAAI,CAUxD;IAEF,wEAAwE;IACjE,QAAQ,
|
|
1
|
+
{"version":3,"file":"bt-manager.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/bt-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile-custom-lepu.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-custom-lepu.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"compile-custom-lepu.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-custom-lepu.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAsP9D;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,IAAI,MAAM,EACV,MAAM,gBAAgB,EACtB,cAAc,SAAS,MAAM,EAAE,KAC9B,cAAc,GAAG,SA8GnB,CAAC"}
|
package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { DeviceData } from "../../types/device-data";
|
|
|
8
8
|
import { DeviceKey } from "../../types/device-key";
|
|
9
9
|
import { MeasurementTypeForDevices } from "../../types/device-measurement-map";
|
|
10
10
|
import { DeviceStatus } from "../../types/device-status";
|
|
11
|
+
import { DeviceWaveform } from "../../types/device-waveform";
|
|
11
12
|
import { FrameReader } from "../../types/frame-reader";
|
|
12
13
|
import { IBTManagedDevice } from "../../types/i-bt-managed-device";
|
|
13
14
|
import { IMedicalDevice } from "../../types/i-medical-device";
|
|
@@ -118,13 +119,15 @@ export declare abstract class BTManagedDevice<T extends DeviceKey = IntegratedDe
|
|
|
118
119
|
onDeviceDisconnected?: () => void;
|
|
119
120
|
/** Called for connection lifecycle events such as connected, bonded or history download. */
|
|
120
121
|
onConnectionEvent?: (data: DeviceConnectionEvent) => void;
|
|
122
|
+
/** Called with the ECG samples of each realtime answer while a recorder records; for display only. */
|
|
123
|
+
onWaveform?: (waveform: DeviceWaveform) => void;
|
|
121
124
|
/** How results of this kind are reported. */
|
|
122
125
|
protected policyFor: (measurementTypeKey: MeasurementTypeKey) => ResultPolicy;
|
|
123
126
|
/** Reports a sequencer's result; the cast to this device's result type lives here once. */
|
|
124
127
|
protected reportResult: (result: object) => void;
|
|
125
128
|
constructor(
|
|
126
129
|
/** The underlying BLE device. */
|
|
127
|
-
device: Device, { deviceName, onError: onErrorCallback, onDeviceStatusChanged: onDeviceStatusChangedCallback, onResult: onResultCallback, onSeriesValue: onSeriesValueCallback, onConnectionEvent: onConnectionEventCallback, onDeviceDisconnected: onDeviceDisconnectedCallback, oneReadingPerConnection, resultPolicy, clockSync, }: CreateDeviceParams<T>);
|
|
130
|
+
device: Device, { deviceName, onError: onErrorCallback, onDeviceStatusChanged: onDeviceStatusChangedCallback, onResult: onResultCallback, onSeriesValue: onSeriesValueCallback, onConnectionEvent: onConnectionEventCallback, onWaveform: onWaveformCallback, onDeviceDisconnected: onDeviceDisconnectedCallback, oneReadingPerConnection, resultPolicy, clockSync, }: CreateDeviceParams<T>);
|
|
128
131
|
/** Stops the connection and data processing and clears the callbacks. */
|
|
129
132
|
destroy: () => void;
|
|
130
133
|
/** Stops this device's subscriptions and closes its BLE connection. */
|