@ovok/native 1.16.1-dev.2183 → 1.16.1-dev.2185
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/hooks/runtime-context.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/bt-manager.js +13 -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 +13 -6
- 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 +5 -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 +31 -5
- 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.ecg-transfer.js +42 -4
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recording-watch.js +55 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recording-watch.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +2 -2
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +5 -12
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js +35 -0
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js.map +1 -0
- package/lib/commonjs/modules/bt-management/utils/le-32-from-hex.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/runtime-context.js.map +1 -1
- package/lib/module/modules/bt-management/services/bt-manager.js +13 -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 +13 -6
- 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 +5 -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 +31 -5
- 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.ecg-transfer.js +41 -4
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.recording-watch.js +51 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.recording-watch.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +2 -2
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +3 -10
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js +31 -0
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js.map +1 -0
- package/lib/module/modules/bt-management/utils/le-32-from-hex.js.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +6 -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 +2 -0
- 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 +8 -0
- 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.ecg-transfer.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts +23 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +2 -2
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +16 -6
- 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-connection-event.d.ts +17 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-connection-event.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/utils/le-32-from-hex.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/utils/le-32-from-hex.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +6 -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 +2 -0
- 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 +8 -0
- 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.ecg-transfer.d.ts +6 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts +23 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +2 -2
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.d.ts +8 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +16 -6
- 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-connection-event.d.ts +17 -1
- package/lib/typescript/module/src/modules/bt-management/types/device-connection-event.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/utils/le-32-from-hex.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-management/utils/le-32-from-hex.d.ts.map +1 -1
- package/package.json +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.js +0 -26
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.js.map +0 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.js +0 -22
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.js.map +0 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.d.ts +0 -12
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.d.ts.map +0 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.d.ts +0 -12
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.d.ts.map +0 -1
|
@@ -11,11 +11,14 @@ var _lepuFileTransfer = require("./lepu.file-transfer.js");
|
|
|
11
11
|
var _lepuFrame = require("./lepu.frame.js");
|
|
12
12
|
var _lepuIdentityGate = require("./lepu.identity-gate.js");
|
|
13
13
|
var _lepuResponseType = require("./lepu.response-type.js");
|
|
14
|
+
/* eslint-disable max-lines */
|
|
15
|
+
|
|
14
16
|
/** How long past its delay a poll may go unanswered before it is sent again. */
|
|
15
17
|
const POLL_ANSWER_GRACE_MS = 1_000;
|
|
16
18
|
|
|
17
19
|
/** Lets a device finish writing a record before its file list is read. */
|
|
18
20
|
const FILE_LIST_DELAY_MS = 3_000;
|
|
21
|
+
const hexOf = opcode => `0x${(opcode ?? 0).toString(16).padStart(2, "0")}`;
|
|
19
22
|
|
|
20
23
|
/** Identifies a recorder, sets its local clock, then downloads its stored files. */
|
|
21
24
|
class LepuEcgTransferSequencer {
|
|
@@ -43,6 +46,9 @@ class LepuEcgTransferSequencer {
|
|
|
43
46
|
if (this.phase === "polling" && this.params.pollIntervalMs !== undefined) {
|
|
44
47
|
return this.params.pollIntervalMs + POLL_ANSWER_GRACE_MS;
|
|
45
48
|
}
|
|
49
|
+
if (this.phase === "requested") {
|
|
50
|
+
return _lepuConnectRetry.LEPU_CONNECT_REPLY_TIMEOUT_MS;
|
|
51
|
+
}
|
|
46
52
|
return this.phase === "clock" ? _lepuConnectRetry.LEPU_CONNECT_REPLY_TIMEOUT_MS : undefined;
|
|
47
53
|
};
|
|
48
54
|
|
|
@@ -51,9 +57,12 @@ class LepuEcgTransferSequencer {
|
|
|
51
57
|
if (this.phase === "identity") {
|
|
52
58
|
return this.identity.onCommandTimeout();
|
|
53
59
|
}
|
|
54
|
-
if (this.phase === "
|
|
60
|
+
if (this.phase === "requested") {
|
|
61
|
+
this.params.onError(`the device did not answer command ${hexOf(this.requestedCommand)}`);
|
|
62
|
+
}
|
|
63
|
+
if (this.phase === "polling" || this.phase === "requested") {
|
|
55
64
|
return {
|
|
56
|
-
commands:
|
|
65
|
+
commands: this.resumePolling()
|
|
57
66
|
};
|
|
58
67
|
}
|
|
59
68
|
if (this.phase !== "clock") {
|
|
@@ -67,7 +76,7 @@ class LepuEcgTransferSequencer {
|
|
|
67
76
|
if (this.phase === "identity") {
|
|
68
77
|
return this.identity.commandProgress(frame);
|
|
69
78
|
}
|
|
70
|
-
const awaited = this.phase === "clock" ? _lepuCommands.LepuCommand.SET_TIME : this.phase === "polling" ? this.params.pollCommand : undefined;
|
|
79
|
+
const awaited = this.phase === "clock" ? _lepuCommands.LepuCommand.SET_TIME : this.phase === "polling" ? this.params.pollCommand : this.phase === "requested" ? this.requestedCommand : undefined;
|
|
71
80
|
return awaited !== undefined && (0, _lepuFrame.lepuCommandOf)(frame) !== awaited ? "ignored" : "complete";
|
|
72
81
|
};
|
|
73
82
|
nextCommand = frame => {
|
|
@@ -81,10 +90,39 @@ class LepuEcgTransferSequencer {
|
|
|
81
90
|
if (this.params.pollCommand === undefined || (0, _lepuFrame.lepuCommandOf)(frame) !== this.params.pollCommand) {
|
|
82
91
|
return undefined;
|
|
83
92
|
}
|
|
84
|
-
return this.params.shouldStartTransfer?.(frame) ?? true ? this.startTransfer(FILE_LIST_DELAY_MS) :
|
|
93
|
+
return this.params.shouldStartTransfer?.(frame) ?? true ? this.startTransfer(FILE_LIST_DELAY_MS) : this.requestedOrPoll();
|
|
94
|
+
}
|
|
95
|
+
if (this.phase === "requested") {
|
|
96
|
+
return this.finishRequested(frame);
|
|
85
97
|
}
|
|
86
98
|
return this.transfer?.nextCommand(frame);
|
|
87
99
|
};
|
|
100
|
+
requestedOrPoll = () => {
|
|
101
|
+
const requested = this.params.takeRequestedCommand?.();
|
|
102
|
+
if (requested === undefined) {
|
|
103
|
+
return [this.pollCommand()];
|
|
104
|
+
}
|
|
105
|
+
this.phase = "requested";
|
|
106
|
+
this.requestedCommand = requested;
|
|
107
|
+
return [{
|
|
108
|
+
...this.params.write,
|
|
109
|
+
frame: this.params.builder.build(requested)
|
|
110
|
+
}];
|
|
111
|
+
};
|
|
112
|
+
finishRequested = frame => {
|
|
113
|
+
if ((0, _lepuFrame.lepuCommandOf)(frame) !== this.requestedCommand) {
|
|
114
|
+
return undefined;
|
|
115
|
+
}
|
|
116
|
+
if (!(0, _lepuResponseType.isLepuSuccess)(frame)) {
|
|
117
|
+
this.params.onError(`the device refused command ${hexOf(this.requestedCommand)}: ${(0, _lepuResponseType.describeLepuResponseType)(frame)}`);
|
|
118
|
+
}
|
|
119
|
+
return this.resumePolling();
|
|
120
|
+
};
|
|
121
|
+
resumePolling = () => {
|
|
122
|
+
this.phase = "polling";
|
|
123
|
+
this.requestedCommand = undefined;
|
|
124
|
+
return [this.pollCommand()];
|
|
125
|
+
};
|
|
88
126
|
startClockOrTransfer = () => {
|
|
89
127
|
if ((0, _clockSync.isClockSyncEnabled)(this.params.clockSync)) {
|
|
90
128
|
this.phase = "clock";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clockSync","require","_lepuCommands","_lepuConnectRetry","_lepuFileTransfer","_lepuFrame","_lepuIdentityGate","_lepuResponseType","POLL_ANSWER_GRACE_MS","FILE_LIST_DELAY_MS","LepuEcgTransferSequencer","phase","clockRetry","LepuConnectRetry","constructor","params","identity","LepuIdentityGate","write","builder","expectedDeviceTypes","manufacturerData","rejectEncryptionAtBytes","onIdentified","onRefused","onAdmitted","startClockOrTransfer","initialCommands","isHistoryTransfer","commandTimeoutMs","pollIntervalMs","undefined","LEPU_CONNECT_REPLY_TIMEOUT_MS","onCommandTimeout","commands","
|
|
1
|
+
{"version":3,"names":["_clockSync","require","_lepuCommands","_lepuConnectRetry","_lepuFileTransfer","_lepuFrame","_lepuIdentityGate","_lepuResponseType","POLL_ANSWER_GRACE_MS","FILE_LIST_DELAY_MS","hexOf","opcode","toString","padStart","LepuEcgTransferSequencer","phase","clockRetry","LepuConnectRetry","constructor","params","identity","LepuIdentityGate","write","builder","expectedDeviceTypes","manufacturerData","rejectEncryptionAtBytes","onIdentified","onRefused","onAdmitted","startClockOrTransfer","initialCommands","isHistoryTransfer","commandTimeoutMs","pollIntervalMs","undefined","LEPU_CONNECT_REPLY_TIMEOUT_MS","onCommandTimeout","onError","requestedCommand","commands","resumePolling","mayRetry","setTimeCommand","startTransfer","commandProgress","frame","awaited","LepuCommand","SET_TIME","pollCommand","lepuCommandOf","nextCommand","finishClock","shouldStartTransfer","requestedOrPoll","finishRequested","transfer","requested","takeRequestedCommand","build","isLepuSuccess","describeLepuResponseType","isClockSyncEnabled","clockSync","started","clockPayload","delayBeforeWriteMs","LepuFileTransfer","onFile","skipFiles","acceptFile","afterTransfer","finishTransfer","onProgress","exports","parts","getClockParts","now","Date","timezone","year","month","day","hours","minutes","seconds"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.ecg-transfer.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.LepuRecordingWatch = void 0;
|
|
7
|
+
var _hexToByte = require("../../../utils/hex-to-byte.js");
|
|
8
|
+
var _le32FromHex = require("../../../utils/le-32-from-hex.js");
|
|
9
|
+
const LOW_NIBBLE = 0x0f;
|
|
10
|
+
const CLOSED = "closed";
|
|
11
|
+
/** Follows a recorder's open recording through its poll answers. */
|
|
12
|
+
class LepuRecordingWatch {
|
|
13
|
+
constructor(status, onRecordingChanged) {
|
|
14
|
+
this.status = status;
|
|
15
|
+
this.onRecordingChanged = onRecordingChanged;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/** Reads one poll answer; true when it is the first in the saved state, so the files are read. */
|
|
19
|
+
observe = pollAnswer => {
|
|
20
|
+
const previous = this.state;
|
|
21
|
+
this.state = (0, _hexToByte.hexToByte)(pollAnswer[this.status.byteIndex] ?? "00") & LOW_NIBBLE;
|
|
22
|
+
this.leadOffSince = this.isLeadOff() ? this.leadOffSince ?? new Date() : undefined;
|
|
23
|
+
this.report(this.recordingIn(pollAnswer));
|
|
24
|
+
return this.state === this.status.savedState && previous !== this.status.savedState;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
/** Whether a recording is open, so that stopping it means something. */
|
|
28
|
+
isOpen = () => this.state === this.status.recordingState || this.isLeadOff();
|
|
29
|
+
recordingIn = pollAnswer => {
|
|
30
|
+
if (!this.isOpen()) {
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
const seconds = (0, _le32FromHex.le32FromHex)(pollAnswer, this.status.secondsByteIndex);
|
|
34
|
+
return {
|
|
35
|
+
seconds,
|
|
36
|
+
...(this.leadOffSince ? {
|
|
37
|
+
leadOffSince: this.leadOffSince
|
|
38
|
+
} : {}),
|
|
39
|
+
storesOnStop: seconds >= this.status.minimumStoredSeconds
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
isLeadOff = () => this.state === this.status.leadOffState;
|
|
43
|
+
|
|
44
|
+
/** Reports a change in what the app would act on, not every tick of the seconds. */
|
|
45
|
+
report = recording => {
|
|
46
|
+
const key = recording ? `${recording.leadOffSince !== undefined}:${recording.storesOnStop}` : CLOSED;
|
|
47
|
+
const changed = key !== (this.reported ?? CLOSED);
|
|
48
|
+
this.reported = key;
|
|
49
|
+
if (changed) {
|
|
50
|
+
this.onRecordingChanged(recording);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
exports.LepuRecordingWatch = LepuRecordingWatch;
|
|
55
|
+
//# sourceMappingURL=lepu.recording-watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_hexToByte","require","_le32FromHex","LOW_NIBBLE","CLOSED","LepuRecordingWatch","constructor","status","onRecordingChanged","observe","pollAnswer","previous","state","hexToByte","byteIndex","leadOffSince","isLeadOff","Date","undefined","report","recordingIn","savedState","isOpen","recordingState","seconds","le32FromHex","secondsByteIndex","storesOnStop","minimumStoredSeconds","leadOffState","recording","key","changed","reported","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.recording-watch.ts"],"mappings":";;;;;;AAEA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,MAAME,UAAU,GAAG,IAAI;AACvB,MAAMC,MAAM,GAAG,QAAQ;AAMvB;AACA,MAAMC,kBAAkB,CAAC;EAKhBC,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,GAAG,IAAAC,oBAAS,EAACH,UAAU,CAAC,IAAI,CAACH,MAAM,CAACO,SAAS,CAAC,IAAI,IAAI,CAAC,GAAGX,UAAU;IAC9E,IAAI,CAACY,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,CAACV,UAAU,CAAC,CAAC;IAEzC,OAAO,IAAI,CAACE,KAAK,KAAK,IAAI,CAACL,MAAM,CAACc,UAAU,IAAIV,QAAQ,KAAK,IAAI,CAACJ,MAAM,CAACc,UAAU;EACrF,CAAC;;EAED;EACOC,MAAM,GAAGA,CAAA,KACd,IAAI,CAACV,KAAK,KAAK,IAAI,CAACL,MAAM,CAACgB,cAAc,IAAI,IAAI,CAACP,SAAS,CAAC,CAAC;EAEvDI,WAAW,GAAIV,UAA6B,IAA4B;IAC9E,IAAI,CAAC,IAAI,CAACY,MAAM,CAAC,CAAC,EAAE;MAClB,OAAOJ,SAAS;IAClB;IAEA,MAAMM,OAAO,GAAG,IAAAC,wBAAW,EAACf,UAAU,EAAE,IAAI,CAACH,MAAM,CAACmB,gBAAgB,CAAC;IAErE,OAAO;MACLF,OAAO;MACP,IAAI,IAAI,CAACT,YAAY,GAAG;QAAEA,YAAY,EAAE,IAAI,CAACA;MAAa,CAAC,GAAG,CAAC,CAAC,CAAC;MACjEY,YAAY,EAAEH,OAAO,IAAI,IAAI,CAACjB,MAAM,CAACqB;IACvC,CAAC;EACH,CAAC;EAEOZ,SAAS,GAAGA,CAAA,KAAe,IAAI,CAACJ,KAAK,KAAK,IAAI,CAACL,MAAM,CAACsB,YAAY;;EAE1E;EACQV,MAAM,GAAIW,SAAgC,IAAW;IAC3D,MAAMC,GAAG,GAAGD,SAAS,GACjB,GAAGA,SAAS,CAACf,YAAY,KAAKG,SAAS,IAAIY,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,CAACxB,kBAAkB,CAACsB,SAAS,CAAC;IACpC;EACF,CAAC;AACH;AAACI,OAAA,CAAA7B,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
@@ -210,8 +210,8 @@ const lepuDevice = params => {
|
|
|
210
210
|
...(params.pollIntervalMs === undefined ? {} : {
|
|
211
211
|
pollIntervalMs: params.pollIntervalMs
|
|
212
212
|
}),
|
|
213
|
-
...(params.
|
|
214
|
-
|
|
213
|
+
...(params.recordingStatus === undefined ? {} : {
|
|
214
|
+
recordingStatus: params.recordingStatus
|
|
215
215
|
}),
|
|
216
216
|
...(params.writeWithoutResponse === undefined ? {} : {
|
|
217
217
|
writeWithoutResponse: params.writeWithoutResponse
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_preferredMtu","require","_defineCustomDevice","_checkmeProtocol","STANDARD_SERVICE","CHECKME_SERVICE","STANDARD_WRITE","CHECKME_WRITE","STANDARD_NOTIFY","CHECKME_NOTIFY","AW1_SERVICE","AW1_WRITE","AW1_NOTIFY","DING_SERVICE","DING_WRITE","DING_NOTIFY","AI_TELE_SERVICE","AI_TELE_WRITE","AI_TELE_NOTIFY","MINIMUM_MTU","DEFAULT_STUCK_TIMEOUT_MS","START_BYTE","lepuTransports","exports","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","PREFERRED_MTU","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","viatomOxygen","protocol","monitor","each","uuid","frame","minLengthBytes","caseSelectorBytes","undefined","cases","services","v2","defineCustomDevice","id","nameMatch","matchByService","stuckDataTimeoutMs","clockSync","sessionPolicy","lepu","startBytes","manufacturerDataProtocol","requestStartByte","rejectEncryptionAtBytes","write","characteristicUuid","expectedDeviceTypes","fileTransfer","ecgFileDecoder","pollCommand","pollIntervalMs","
|
|
1
|
+
{"version":3,"names":["_preferredMtu","require","_defineCustomDevice","_checkmeProtocol","STANDARD_SERVICE","CHECKME_SERVICE","STANDARD_WRITE","CHECKME_WRITE","STANDARD_NOTIFY","CHECKME_NOTIFY","AW1_SERVICE","AW1_WRITE","AW1_NOTIFY","DING_SERVICE","DING_WRITE","DING_NOTIFY","AI_TELE_SERVICE","AI_TELE_WRITE","AI_TELE_NOTIFY","MINIMUM_MTU","DEFAULT_STUCK_TIMEOUT_MS","START_BYTE","lepuTransports","exports","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","PREFERRED_MTU","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","viatomOxygen","protocol","monitor","each","uuid","frame","minLengthBytes","caseSelectorBytes","undefined","cases","services","v2","defineCustomDevice","id","nameMatch","matchByService","stuckDataTimeoutMs","clockSync","sessionPolicy","lepu","startBytes","manufacturerDataProtocol","requestStartByte","rejectEncryptionAtBytes","write","characteristicUuid","expectedDeviceTypes","fileTransfer","ecgFileDecoder","pollCommand","pollIntervalMs","recordingStatus","writeWithoutResponse","setClockBeforeInfo","clockSyncProtocol","map","service","decorateReading","createFrameHandler"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.transports.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ exports.er3Recorder = exports.er2Recorder = exports.er1Recorder = exports.ER3_MO
|
|
|
7
7
|
var _next = require("@ovok/core/next");
|
|
8
8
|
var _lepuNameMatch = require("../lepu/lepu.name-match.js");
|
|
9
9
|
var _lepuTransports = require("../lepu/lepu.transports.js");
|
|
10
|
+
var _viatomEcgRecordingStatus = require("./viatom.ecg-recording-status.js");
|
|
10
11
|
/**
|
|
11
12
|
* The Viatom ECG recorders - ER1, ER2 and ER3.
|
|
12
13
|
*
|
|
@@ -44,11 +45,6 @@ const HEART_RATE_UNIT = "bpm";
|
|
|
44
45
|
|
|
45
46
|
/** The vendor's own client polls realtime at this pace. */
|
|
46
47
|
const POLL_INTERVAL_MS = 500;
|
|
47
|
-
|
|
48
|
-
/** The run status: the current state in the low nibble, the previous one above it. */
|
|
49
|
-
const RUN_STATUS_BYTE = 15;
|
|
50
|
-
const RECORDING = "2";
|
|
51
|
-
const SAVED = 4;
|
|
52
48
|
/** ER1, ER2 and ER3 share one parameter block: the heart rate opens it. */
|
|
53
49
|
const ER_HEART_RATE_BYTES = [7, 8];
|
|
54
50
|
/**
|
|
@@ -69,14 +65,11 @@ const declareRecorder = (advertisedName, profile, params) => (0, _lepuTransports
|
|
|
69
65
|
},
|
|
70
66
|
pollCommand: profile.pollCommand,
|
|
71
67
|
pollIntervalMs: POLL_INTERVAL_MS,
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
},
|
|
76
|
-
minLengthBytes: RUN_STATUS_BYTE + 1,
|
|
77
|
-
caseSelectorBytes: [1, RUN_STATUS_BYTE],
|
|
68
|
+
recordingStatus: (0, _viatomEcgRecordingStatus.viatomRecordingStatus)(advertisedName),
|
|
69
|
+
minLengthBytes: _viatomEcgRecordingStatus.RUN_STATUS_BYTE + 1,
|
|
70
|
+
caseSelectorBytes: [1, _viatomEcgRecordingStatus.RUN_STATUS_BYTE],
|
|
78
71
|
cases: [{
|
|
79
|
-
selector: `${byteHex(profile.pollCommand)}?${
|
|
72
|
+
selector: `${byteHex(profile.pollCommand)}?${_viatomEcgRecordingStatus.RECORDING_STATE}`,
|
|
80
73
|
kind: "result",
|
|
81
74
|
measurementTypeKey: _next.MeasurementTypeKey.heartRate,
|
|
82
75
|
description: "Realtime parameters and waveform",
|
package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_next","require","_lepuNameMatch","_lepuTransports","RT_DATA","ER3_RT_DATA","HEART_RATE_UNIT","POLL_INTERVAL_MS","
|
|
1
|
+
{"version":3,"names":["_next","require","_lepuNameMatch","_lepuTransports","_viatomEcgRecordingStatus","RT_DATA","ER3_RT_DATA","HEART_RATE_UNIT","POLL_INTERVAL_MS","ER_HEART_RATE_BYTES","byteHex","value","toString","padStart","declareRecorder","advertisedName","profile","params","lepuDevice","id","toLowerCase","replace","nameMatch","lepuNameMatch","transport","clockSync","sessionPolicy","minSamples","emit","pollCommand","pollIntervalMs","recordingStatus","viatomRecordingStatus","minLengthBytes","RUN_STATUS_BYTE","caseSelectorBytes","cases","selector","RECORDING_STATE","kind","measurementTypeKey","MeasurementTypeKey","heartRate","description","fields","name","byteIndexes","heartRateBytes","byteOrder","encoding","unit","expectedDeviceTypes","fileTransfer","undefined","DECODED_ECG_MODEL_NAMES","has","ecgFileDecoder","er1Recorder","exports","er2Recorder","er3Recorder","ER1_MODEL_NAMES","ER2_MODEL_NAMES","Set","ER3_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-recorders.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAEA,IAAAG,yBAAA,GAAAH,OAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAMI,OAAO,GAAG,IAAI;;AAEpB;AACA,MAAMC,WAAW,GAAG,IAAI;AAExB,MAAMC,eAAe,GAAG,KAAK;;AAE7B;AACA,MAAMC,gBAAgB,GAAG,GAAG;AAe5B;AACA,MAAMC,mBAAqC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AAoBpD;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,OAAO,GAAIC,KAAa,IAAaA,KAAK,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAE9E,MAAMC,eAAe,GAAGA,CACtBC,cAAsB,EACtBC,OAAmB,EACnBC,MAAuB,KAEvB,IAAAC,0BAAU,EAAC;EACTC,EAAE,EAAEF,MAAM,CAACE,EAAE,IAAI,UAAUJ,cAAc,CAACK,WAAW,CAAC,CAAC,CAACC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE;EACrFC,SAAS,EAAEL,MAAM,CAACK,SAAS,IAAI,IAAAC,4BAAa,EAACR,cAAc,CAAC;EAC5DS,SAAS,EAAER,OAAO,CAACQ,SAAS;EAC5BC,SAAS,EAAE,WAAW;EACtBC,aAAa,EAAE;IAAEC,UAAU,EAAE,CAAC;IAAEC,IAAI,EAAE;EAAO,CAAC;EAC9CC,WAAW,EAAEb,OAAO,CAACa,WAAW;EAChCC,cAAc,EAAEtB,gBAAgB;EAChCuB,eAAe,EAAE,IAAAC,+CAAqB,EAACjB,cAAc,CAAC;EACtDkB,cAAc,EAAEC,yCAAe,GAAG,CAAC;EACnCC,iBAAiB,EAAE,CAAC,CAAC,EAAED,yCAAe,CAAC;EACvCE,KAAK,EAAE,CACL;IACEC,QAAQ,EAAE,GAAG3B,OAAO,CAACM,OAAO,CAACa,WAAW,CAAC,IAAIS,yCAAe,EAAE;IAC9DC,IAAI,EAAE,QAAQ;IACdC,kBAAkB,EAAEC,wBAAkB,CAACC,SAAS;IAChDC,WAAW,EAAE,kCAAkC;IAC/CC,MAAM,EAAE,CACN;MACEC,IAAI,EAAE,WAAW;MACjBC,WAAW,EAAE,CAAC,GAAG9B,OAAO,CAAC+B,cAAc,CAAC;MACxCC,SAAS,EAAE,QAAQ;MACnBC,QAAQ,EAAE,MAAM;MAChBC,IAAI,EAAE3C;IACR,CAAC;EAEL,CAAC,EACD;IACE8B,QAAQ,EAAE,GAAG3B,OAAO,CAACM,OAAO,CAACa,WAAW,CAAC,IAAI;IAC7CU,IAAI,EAAE,MAAM;IACZI,WAAW,EAAE;EACf,CAAC,CACF;EACD,IAAI1B,MAAM,CAACkC,mBAAmB,GAC1B;IAAEA,mBAAmB,EAAElC,MAAM,CAACkC;EAAoB,CAAC,GACnD,CAAC,CAAC,CAAC;EACP,IAAInC,OAAO,CAACoC,YAAY,KAAKC,SAAS,GAClC,CAAC,CAAC,GACF;IAAED,YAAY,EAAEpC,OAAO,CAACoC;EAAa,CAAC,CAAC;EAC3C,IAAIE,uBAAuB,CAACC,GAAG,CAACxC,cAAc,CAAC,GAC3C;IAAEyC,cAAc,EAAE;EAA6B,CAAC,GAChD,CAAC,CAAC;AACR,CAAC,CAAC;;AAEJ;AACA,MAAMC,WAAW,GAAGA,CAClB1C,cAAsB,EACtBE,MAAuB,KAEvBH,eAAe,CACbC,cAAc,EACd;EACEc,WAAW,EAAExB,OAAO;EACpB0C,cAAc,EAAEtC,mBAAmB;EACnCe,SAAS,EAAE,UAAU;EACrB4B,YAAY,EAAErC,cAAc,KAAK,OAAO,GAAGsC,SAAS,GAAG;AACzD,CAAC,EACDpC,MACF,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AALAyC,OAAA,CAAAD,WAAA,GAAAA,WAAA;AAMA,MAAME,WAAW,GAAGA,CAClB5C,cAAsB,EACtBE,MAAuB,KAEvBH,eAAe,CACbC,cAAc,EACd;EACEc,WAAW,EAAExB,OAAO;EACpB0C,cAAc,EAAEtC,mBAAmB;EACnCe,SAAS,EAAE,kBAAkB;EAC7B4B,YAAY,EAAE;AAChB,CAAC,EACDnC,MACF,CAAC;;AAEH;AAAAyC,OAAA,CAAAC,WAAA,GAAAA,WAAA;AACA,MAAMC,WAAW,GAAGA,CAClB7C,cAAsB,EACtBE,MAAuB,KAEvBH,eAAe,CACbC,cAAc,EACd;EACEc,WAAW,EAAEvB,WAAW;EACxByC,cAAc,EAAEtC,mBAAmB;EACnCe,SAAS,EAAE,UAAU;EACrB4B,YAAY,EAAE;AAChB,CAAC,EACDnC,MACF,CAAC;;AAEH;AAAAyC,OAAA,CAAAE,WAAA,GAAAA,WAAA;AACA,MAAMC,eAAkC,GAAAH,OAAA,CAAAG,eAAA,GAAG,CACzC,KAAK,EACL,OAAO,EACP,OAAO,EACP,OAAO,EACP,QAAQ,EACR,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,EACP,WAAW,CACZ;;AAED;AACA,MAAMC,eAAkC,GAAAJ,OAAA,CAAAI,eAAA,GAAG,CACzC,KAAK,EACL,OAAO,EACP,MAAM,EACN,MAAM,EACN,QAAQ,EACR,OAAO,EACP,SAAS,EACT,MAAM,EACN,MAAM,CACP;;AAED;AACA,MAAMR,uBAAuB,GAAG,IAAIS,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;;AAEpE;AACA,MAAMC,eAAkC,GAAAN,OAAA,CAAAM,eAAA,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC","ignoreList":[]}
|
package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.viatomRecordingStatus = exports.RUN_STATUS_BYTE = exports.RECORDING_STATE = void 0;
|
|
7
|
+
/** The run status, with the current state in its low nibble. */
|
|
8
|
+
const RUN_STATUS_BYTE = exports.RUN_STATUS_BYTE = 15;
|
|
9
|
+
const RECORDING_STATE = exports.RECORDING_STATE = 2;
|
|
10
|
+
const LEAD_OFF_STATE = 7;
|
|
11
|
+
const SAVED_STATE = 4;
|
|
12
|
+
|
|
13
|
+
/** The seconds recorded so far, u32 little-endian, right before the run status. */
|
|
14
|
+
const RECORD_SECONDS_BYTE = 11;
|
|
15
|
+
|
|
16
|
+
/** Ends a recording and stores it when it is long enough. */
|
|
17
|
+
const STOP_MEASUREMENT = 0x05;
|
|
18
|
+
|
|
19
|
+
/** The holter patches keep only recordings of 5 minutes or more; the rest keep 30 s or more. */
|
|
20
|
+
const HOLTER_MODEL_NAMES = new Set(["ER1-W", "ER1-L", "Cardio AI"]);
|
|
21
|
+
const HOLTER_MINIMUM_STORED_SECONDS = 300;
|
|
22
|
+
const MINIMUM_STORED_SECONDS = 30;
|
|
23
|
+
|
|
24
|
+
/** How an ER recorder reports its open recording in the realtime answer. */
|
|
25
|
+
const viatomRecordingStatus = advertisedName => ({
|
|
26
|
+
byteIndex: RUN_STATUS_BYTE,
|
|
27
|
+
secondsByteIndex: RECORD_SECONDS_BYTE,
|
|
28
|
+
recordingState: RECORDING_STATE,
|
|
29
|
+
leadOffState: LEAD_OFF_STATE,
|
|
30
|
+
savedState: SAVED_STATE,
|
|
31
|
+
minimumStoredSeconds: HOLTER_MODEL_NAMES.has(advertisedName) ? HOLTER_MINIMUM_STORED_SECONDS : MINIMUM_STORED_SECONDS,
|
|
32
|
+
stopCommand: STOP_MEASUREMENT
|
|
33
|
+
});
|
|
34
|
+
exports.viatomRecordingStatus = viatomRecordingStatus;
|
|
35
|
+
//# sourceMappingURL=viatom.ecg-recording-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["RUN_STATUS_BYTE","exports","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,MAAMA,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,EAAE;AAC1B,MAAME,eAAe,GAAAD,OAAA,CAAAC,eAAA,GAAG,CAAC;AACzB,MAAMC,cAAc,GAAG,CAAC;AACxB,MAAMC,WAAW,GAAG,CAAC;;AAErB;AACA,MAAMC,mBAAmB,GAAG,EAAE;;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,EAAEb,eAAe;EAC1Bc,gBAAgB,EAAET,mBAAmB;EACrCU,cAAc,EAAEb,eAAe;EAC/Bc,YAAY,EAAEb,cAAc;EAC5Bc,UAAU,EAAEb,WAAW;EACvBc,oBAAoB,EAAEX,kBAAkB,CAACY,GAAG,CAACP,cAAc,CAAC,GACxDH,6BAA6B,GAC7BC,sBAAsB;EAC1BU,WAAW,EAAEd;AACf,CAAC,CAAC;AAACL,OAAA,CAAAU,qBAAA,GAAAA,qBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_hexToByte","require","le32FromHex","hex","i","b0","hexToByte","b1","b2","b3","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/utils/le-32-from-hex.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEA;AACO,MAAMC,WAAW,GAAGA,CAACC,
|
|
1
|
+
{"version":3,"names":["_hexToByte","require","le32FromHex","hex","i","b0","hexToByte","b1","b2","b3","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/utils/le-32-from-hex.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEA;AACO,MAAMC,WAAW,GAAGA,CAACC,GAAsB,EAAEC,CAAS,KAAa;EACxE,MAAMC,EAAE,GAAG,IAAAC,oBAAS,EAACH,GAAG,CAACC,CAAC,CAAC,IAAI,GAAG,CAAC;EACnC,MAAMG,EAAE,GAAG,IAAAD,oBAAS,EAACH,GAAG,CAACC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC;EACvC,MAAMI,EAAE,GAAG,IAAAF,oBAAS,EAACH,GAAG,CAACC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC;EACvC,MAAMK,EAAE,GAAG,IAAAH,oBAAS,EAACH,GAAG,CAACC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC;EAEvC,OAAOC,EAAE,GAAIE,EAAE,IAAI,CAAE,GAAIC,EAAE,IAAI,EAAG,GAAIC,EAAE,IAAI,EAAG;AACjD,CAAC;AAACC,OAAA,CAAAR,WAAA,GAAAA,WAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","BluetoothError","BluetoothErrorCode","jsx","_jsx","RuntimeContext","createContext","createBluetoothRuntime","bleManager","initialBackgroundScanEnabled","listeners","Map","currentManager","currentDevices","backgroundScanEnabled","backgroundScanInitialized","undefined","backgroundSyncFlush","bluetoothState","bluetoothPermissionStatus","subscribers","Set","currentSnapshot","devices","managerReady","publishState","forEach","notify","updateDevice","id","update","index","findIndex","item","device","next","map","i","pairedState","connectionIds","resultConnectionIds","WeakMap","getPairedState","storageKey","current","get","revision","set","notifyPairedDevices","value","callback","manager","getSnapshot","getBackgroundScanEnabled","initializeBackgroundScanEnabled","enabled","setBackgroundScanEnabled","setBackgroundSyncFlush","flush","flushBackgroundSync","Promise","reject","BACKGROUND_SYNC","setBluetoothState","state","setBluetoothPermissionStatus","status","subscribe","event","eventListeners","add","delete","subscribeState","hasListeners","size","emit","setManager","setAutoConnect","delayMs","onDeviceSelectionRequired","getPairedDeviceIds","loadPairedDeviceIds","load","resolve","loading","then","finally","setPairedDeviceIds","ids","length","every","upsertDevice","existing","previous","deviceData","latestResult","results","events","removeDevice","deviceId","some","filter","setDeviceResult","result","slice","getResultConnectionId","clearResults","setDeviceConnectionEvent","kind","setDeviceStatus","BluetoothRuntimeProvider","runtime","children","Provider","useBluetoothRuntime","useContext","Error","useRuntimeEvent","callbackRef","useRef","useEffect","useBluetoothSelector","selector","isEqual","Object","is","selectorRef","equalityRef","selectionRef","hasValue","getSelection","useCallback","useSyncExternalStore"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/runtime-context.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","BluetoothError","BluetoothErrorCode","jsx","_jsx","RuntimeContext","createContext","createBluetoothRuntime","bleManager","initialBackgroundScanEnabled","listeners","Map","currentManager","currentDevices","backgroundScanEnabled","backgroundScanInitialized","undefined","backgroundSyncFlush","bluetoothState","bluetoothPermissionStatus","subscribers","Set","currentSnapshot","devices","managerReady","publishState","forEach","notify","updateDevice","id","update","index","findIndex","item","device","next","map","i","pairedState","connectionIds","resultConnectionIds","WeakMap","getPairedState","storageKey","current","get","revision","set","notifyPairedDevices","value","callback","manager","getSnapshot","getBackgroundScanEnabled","initializeBackgroundScanEnabled","enabled","setBackgroundScanEnabled","setBackgroundSyncFlush","flush","flushBackgroundSync","Promise","reject","BACKGROUND_SYNC","setBluetoothState","state","setBluetoothPermissionStatus","status","subscribe","event","eventListeners","add","delete","subscribeState","hasListeners","size","emit","setManager","setAutoConnect","delayMs","onDeviceSelectionRequired","getPairedDeviceIds","loadPairedDeviceIds","load","resolve","loading","then","finally","setPairedDeviceIds","ids","length","every","upsertDevice","existing","previous","deviceData","latestResult","results","events","removeDevice","deviceId","some","filter","setDeviceResult","result","slice","getResultConnectionId","clearResults","setDeviceConnectionEvent","kind","setDeviceStatus","BluetoothRuntimeProvider","runtime","children","Provider","useBluetoothRuntime","useContext","Error","useRuntimeEvent","callbackRef","useRef","useEffect","useBluetoothSelector","selector","isEqual","Object","is","selectorRef","equalityRef","selectionRef","hasValue","getSelection","useCallback","useSyncExternalStore"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/runtime-context.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -325,6 +325,19 @@ class BTManager {
|
|
|
325
325
|
await device.disconnect();
|
|
326
326
|
};
|
|
327
327
|
|
|
328
|
+
/**
|
|
329
|
+
* Stops the recording a connected recorder holds open, for instance once the user confirms it
|
|
330
|
+
* after a `recording` event with `leadOff`. Rejects when the device is not connected or holds
|
|
331
|
+
* no recording.
|
|
332
|
+
*/
|
|
333
|
+
stopRecording = async deviceId => {
|
|
334
|
+
const device = this.devices.get(deviceId);
|
|
335
|
+
if (!device) {
|
|
336
|
+
throw new Error(`No connected device ${deviceId} to stop a recording on.`);
|
|
337
|
+
}
|
|
338
|
+
await device.stopRecording();
|
|
339
|
+
};
|
|
340
|
+
|
|
328
341
|
/** Disconnects one device and ignores later advertisements for this manager's lifetime. */
|
|
329
342
|
forget = async deviceId => {
|
|
330
343
|
this.forgottenDeviceIds.add(deviceId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Linking","Platform","ScanMode","State","sentryLogger","addOvokSpanEvent","recordOvokMetric","toBluetoothError","IntegratedDevices","errorCallbackPayload","DeviceCreator","SeriesRecorder","bluetoothErrorCallback","error","SCAN_RETRY_DELAY_MS","SERIES_IDLE_CHECK_MS","BTManager","MAX_DEVICES","devices","Map","forgottenDeviceIds","Set","keptDeviceIds","pendingConnectionIds","eventSubscriptions","scanGeneration","scanActive","scanStarting","destroyed","autoConnectCandidates","bluetoothEnablePrompted","constructor","bleManager","acceptedDevices","options","deviceCreator","backgroundScanEnabled","backgroundEnabled","series","storage","seriesStorage","getOwnerKey","setAutoConnect","enabledOrOptions","delayMs","onDeviceSelectionRequired","enabled","nextDelayMs","nextSelectionHandler","autoConnect","autoConnectDelayMs","clear","autoConnectTimer","clearTimeout","undefined","destroy","stopScan","getOpenSeries","getOpen","subscribeOpenSeries","listener","subscribe","startScan","stateChangeListener","seriesTimer","setInterval","closeIdle","generation","subscription","onStateChange","state","PoweredOn","startDeviceScan","forEach","requestPendingConnection","stopDeviceScan","PoweredOff","onErrorCallback","OS","sendIntent","push","setBackgroundScanEnabled","restartScan","haltScan","sub","remove","clearInterval","deliverTo","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","onConnectionEventCallback","device","disconnect","stopKeepingConnection","pauseScan","resumeScan","clearScanTimers","removeStateChangeListener","scanRetryTimer","scanRestartTimer","scheduleScanRetry","setTimeout","index","indexOf","splice","serviceUUIDs","scanServiceUUIDs","length","scanFailed","scanMode","LowPower","Balanced","onScanResult","platform","background","restoreDevices","delete","id","keepConnecting","deviceIds","deviceId","add","disconnectDevice","get","forget","onDeviceFound","callback","onError","onDeviceStatusChanged","onConnectionEvent","onResult","errorCode","code","advertisedName","name","trim","localName","has","deviceName","getDeviceName","manufacturerData","size","currentSize","deviceClass","createDevice","bind","onSeriesValue","deviceData","reading","hasResultReceiver","oneReadingPerConnection","deliveredEcgFileNames","deliveredFileNames","recordCursorStorage","clearDeviceHistory","resultPolicy","resultPolicies","clockSync","onDeviceDisconnected","closeDevice","removeDeviceFromFoundedDevices","set","queueAutoConnect","TRASENSE_S9","values","candidate","connect","select","selected","Error","Math","max","connectToDevice","then","cancelDeviceConnection","catch"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Linking","Platform","ScanMode","State","sentryLogger","addOvokSpanEvent","recordOvokMetric","toBluetoothError","IntegratedDevices","errorCallbackPayload","DeviceCreator","SeriesRecorder","bluetoothErrorCallback","error","SCAN_RETRY_DELAY_MS","SERIES_IDLE_CHECK_MS","BTManager","MAX_DEVICES","devices","Map","forgottenDeviceIds","Set","keptDeviceIds","pendingConnectionIds","eventSubscriptions","scanGeneration","scanActive","scanStarting","destroyed","autoConnectCandidates","bluetoothEnablePrompted","constructor","bleManager","acceptedDevices","options","deviceCreator","backgroundScanEnabled","backgroundEnabled","series","storage","seriesStorage","getOwnerKey","setAutoConnect","enabledOrOptions","delayMs","onDeviceSelectionRequired","enabled","nextDelayMs","nextSelectionHandler","autoConnect","autoConnectDelayMs","clear","autoConnectTimer","clearTimeout","undefined","destroy","stopScan","getOpenSeries","getOpen","subscribeOpenSeries","listener","subscribe","startScan","stateChangeListener","seriesTimer","setInterval","closeIdle","generation","subscription","onStateChange","state","PoweredOn","startDeviceScan","forEach","requestPendingConnection","stopDeviceScan","PoweredOff","onErrorCallback","OS","sendIntent","push","setBackgroundScanEnabled","restartScan","haltScan","sub","remove","clearInterval","deliverTo","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","onConnectionEventCallback","device","disconnect","stopKeepingConnection","pauseScan","resumeScan","clearScanTimers","removeStateChangeListener","scanRetryTimer","scanRestartTimer","scheduleScanRetry","setTimeout","index","indexOf","splice","serviceUUIDs","scanServiceUUIDs","length","scanFailed","scanMode","LowPower","Balanced","onScanResult","platform","background","restoreDevices","delete","id","keepConnecting","deviceIds","deviceId","add","disconnectDevice","get","stopRecording","Error","forget","onDeviceFound","callback","onError","onDeviceStatusChanged","onConnectionEvent","onResult","errorCode","code","advertisedName","name","trim","localName","has","deviceName","getDeviceName","manufacturerData","size","currentSize","deviceClass","createDevice","bind","onSeriesValue","deviceData","reading","hasResultReceiver","oneReadingPerConnection","deliveredEcgFileNames","deliveredFileNames","recordCursorStorage","clearDeviceHistory","resultPolicy","resultPolicies","clockSync","onDeviceDisconnected","closeDevice","removeDeviceFromFoundedDevices","set","queueAutoConnect","TRASENSE_S9","values","candidate","connect","select","selected","Math","max","connectToDevice","then","cancelDeviceConnection","catch"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":";;AAAA;AACA,SAASA,OAAO,EAAEC,QAAQ,QAAQ,cAAc;AAChD,SAIEC,QAAQ,EACRC,KAAK,QAEA,sBAAsB;AAE7B,SAASC,YAAY,QAAQ,sCAAmC;AAChE,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,kCAA+B;AAGlF,SAASC,gBAAgB,QAAQ,6BAA0B;AAO3D,SAASC,iBAAiB,QAAQ,gCAA6B;AAI/D,SAASC,oBAAoB,QAAQ,oCAAiC;AAEtE,SAASC,aAAa,QAAQ,qBAAkB;AAEhD,SAASC,cAAc,QAAQ,sBAAmB;;AAElD;;AA2DA;;AAMA,MAAMC,sBAAsB,GAAIC,KAAc,IAC5CJ,oBAAoB,CAACF,gBAAgB,CAACM,KAAK,CAAC,CAAC;AAE/C,MAAMC,mBAAmB,GAAG,KAAK;;AAEjC;AACA,MAAMC,oBAAoB,GAAG,MAAM;;AAEnC;AACA,MAAMC,SAAS,CAAsC;EACnD,OAAwBC,WAAW,GAAG,EAAE,CAAC,CAAC;EAClCC,OAAO,GAAG,IAAIC,GAAG,CAA0C,CAAC;EAC5DC,kBAAkB,GAAG,IAAIC,GAAG,CAAS,CAAC;EACtCC,aAAa,GAAG,IAAID,GAAG,CAAS,CAAC;EACjCE,oBAAoB,GAAG,IAAIF,GAAG,CAAS,CAAC;EAGxCG,kBAAkB,GAAmB,EAAE;EACvCC,cAAc,GAAG,CAAC;EAClBC,UAAU,GAAG,KAAK;EAClBC,YAAY,GAAG,KAAK;EACpBC,SAAS,GAAG,KAAK;EAIjBC,qBAAqB,GAAG,IAAIV,GAAG,CAA0C,CAAC;EAI1EW,uBAAuB,GAAG,KAAK;EAIvCC,WAAWA,CACQC,UAAsB,EACtBC,eAAkB,EAClBC,OAAyB,GAAG,CAAC,CAAC,EAC/C;IAAA,KAHiBF,UAAsB,GAAtBA,UAAsB;IAAA,KACtBC,eAAkB,GAAlBA,eAAkB;IAAA,KAClBC,OAAyB,GAAzBA,OAAyB;IAE1C,IAAI,CAACC,aAAa,GAAG,IAAIzB,aAAa,CAAC,IAAI,CAACuB,eAAe,CAAC;IAC5D,IAAI,CAACG,qBAAqB,GAAGF,OAAO,CAACG,iBAAiB,KAAK,IAAI;IAC/D,IAAI,CAACC,MAAM,GAAG,IAAI3B,cAAc,CAAC;MAAE4B,OAAO,EAAEL,OAAO,CAACM,aAAa;MAAEC,WAAW,EAAEP,OAAO,CAACO;IAAY,CAAC,CAAC;EACxG;;EAEA;EACOC,cAAc,GAAGA,CACtBC,gBAIC,EACDC,OAAgB,EAChBC,yBAAyE,KAChE;IACT,MAAMC,OAAO,GAAG,OAAOH,gBAAgB,KAAK,SAAS,GACjDA,gBAAgB,GAChBA,gBAAgB,CAACG,OAAO;IAE5B,MAAMC,WAAW,GAAG,OAAOJ,gBAAgB,KAAK,SAAS,GACrDC,OAAO,GACPD,gBAAgB,CAACC,OAAO;IAE5B,MAAMI,oBAAoB,GAAG,OAAOL,gBAAgB,KAAK,SAAS,GAC9DE,yBAAyB,GACzBF,gBAAgB,CAACE,yBAAyB;IAE9C,IAAI,CAACX,OAAO,CAACe,WAAW,GAAGH,OAAO;IAClC,IAAI,CAACZ,OAAO,CAACgB,kBAAkB,GAAGH,WAAW,IAAI,IAAI,CAACb,OAAO,CAACgB,kBAAkB;IAChF,IAAI,CAAChB,OAAO,CAACW,yBAAyB,GAAGG,oBAAoB;IAE7D,IAAI,CAACF,OAAO,EAAE;MACZ,IAAI,CAACjB,qBAAqB,CAACsB,KAAK,CAAC,CAAC;MAClC,IAAI,IAAI,CAACC,gBAAgB,EAAE;QACzBC,YAAY,CAAC,IAAI,CAACD,gBAAgB,CAAC;QACnC,IAAI,CAACA,gBAAgB,GAAGE,SAAS;MACnC;IACF;EACF,CAAC;;EAED;EACOC,OAAO,GAAGA,CAAA,KAAM;IACrBnD,YAAY,CAAC,MAAM,EAAE,kCAAkC,CAAC;IAExD,IAAI,CAACwB,SAAS,GAAG,IAAI;IACrB,IAAI,CAAC4B,QAAQ,CAAC,CAAC;IACf,IAAI,IAAI,CAACJ,gBAAgB,EAAE;MACzBC,YAAY,CAAC,IAAI,CAACD,gBAAgB,CAAC;MACnC,IAAI,CAACA,gBAAgB,GAAGE,SAAS;IACnC;;IAEA;IACA,IAAI,CAAClC,kBAAkB,CAAC+B,KAAK,CAAC,CAAC;IAE/B,IAAI,CAAChB,aAAa,CAACoB,OAAO,CAAC,CAAC;IAC5B,KAAK,IAAI,CAACjB,MAAM,CAACiB,OAAO,CAAC,CAAC;EAC5B,CAAC;;EAED;EACOE,aAAa,GAAGA,CAAA,KAA6B,IAAI,CAACnB,MAAM,CAACoB,OAAO,CAAC,CAAC;;EAEzE;EACOC,mBAAmB,GAAIC,QAAoB,IAAmB,IAAI,CAACtB,MAAM,CAACuB,SAAS,CAACD,QAAQ,CAAC;;EAEpG;EACOE,SAAS,GAAGA,CAAA,KAAM;IACvB,IACE,IAAI,CAAClC,SAAS,IACd,IAAI,CAACF,UAAU,IACf,IAAI,CAACC,YAAY,IACjB,IAAI,CAACoC,mBAAmB,EACxB;MACA;IACF;IAEA,IAAI,CAACC,WAAW,KAAKC,WAAW,CAAC,IAAI,CAAC3B,MAAM,CAAC4B,SAAS,EAAEnD,oBAAoB,CAAC;IAE7E,MAAMoD,UAAU,GAAG,EAAE,IAAI,CAAC1C,cAAc;IACxC,IAAI2C,YAAsC;IAE1C,MAAMC,aAAa,GAAIC,KAAY,IAAK;MACtC,IAAI,IAAI,CAAC1C,SAAS,IAAIuC,UAAU,KAAK,IAAI,CAAC1C,cAAc,EAAE;QACxD;MACF;MAEA,IAAI6C,KAAK,KAAKnE,KAAK,CAACoE,SAAS,EAAE;QAC7B,IAAI,CAACzC,uBAAuB,GAAG,KAAK;QACpC,IAAI,CAAC0C,eAAe,CAACL,UAAU,CAAC;QAChC,IAAI,CAAC7C,aAAa,CAACmD,OAAO,CAAC,IAAI,CAACC,wBAAwB,CAAC;QAEzD;MACF;MAEA,IAAI,CAAChD,UAAU,GAAG,KAAK;MACvB,IAAI,CAACC,YAAY,GAAG,KAAK;MACzB,IAAI,CAACK,UAAU,CAAC2C,cAAc,CAAC,CAAC;MAChC,IAAIL,KAAK,KAAKnE,KAAK,CAACyE,UAAU,IAAI,IAAI,CAAC9C,uBAAuB,EAAE;QAC9D;MACF;MAEA,IAAI,CAACA,uBAAuB,GAAG,IAAI;MACnC,IAAI,CAAC+C,eAAe,GAAGjE,sBAAsB,CAAC,0BAA0B,CAAC,CAAC;MAE1ER,YAAY,CACV,SAAS,EACT,wEACF,CAAC;;MAED;MACA;MACA;MACA,IAAIH,QAAQ,CAAC6E,EAAE,KAAK,SAAS,EAAE;QAC7B9E,OAAO,CAAC+E,UAAU,CAAC,iDAAiD,CAAC;QAErE;MACF;MAEA3E,YAAY,CACV,SAAS,EACT,4EACF,CAAC;IACH,CAAC;IAED,IAAI;MACFgE,YAAY,GAAG,IAAI,CAACpC,UAAU,CAACqC,aAAa,CAACA,aAAa,EAAE,IAAI,CAAC;IACnE,CAAC,CAAC,OAAOxD,KAAK,EAAE;MACd,IAAI,CAACgE,eAAe,GAAGjE,sBAAsB,CAACC,KAAK,CAAC,CAAC;MAErD;IACF;IAEA,IAAI,CAACkD,mBAAmB,GAAGK,YAAY;IACvC,IAAI,CAAC5C,kBAAkB,CAACwD,IAAI,CAACZ,YAAY,CAAC;EAC5C,CAAC;;EAED;EACOa,wBAAwB,GAAInC,OAAgB,IAAW;IAC5D,IAAI,IAAI,CAACV,qBAAqB,KAAKU,OAAO,EAAE;MAC1C;IACF;IAEA,IAAI,CAACV,qBAAqB,GAAGU,OAAO;IAEpC,IAAI,IAAI,CAACpB,UAAU,IAAI,IAAI,CAACqC,mBAAmB,EAAE;MAC/C,IAAI,CAACmB,WAAW,CAAC,CAAC;IACpB;EACF,CAAC;;EAED;EACO1B,QAAQ,GAAGA,CAAA,KAAM;IACtBpD,YAAY,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAEjD,IAAI,CAAC+E,QAAQ,CAAC,CAAC;;IAEf;IACA,IAAI,CAAC3D,kBAAkB,CAACiD,OAAO,CAAEW,GAAG,IAAKA,GAAG,CAACC,MAAM,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC7D,kBAAkB,GAAG,EAAE;;IAE5B;IACA8D,aAAa,CAAC,IAAI,CAACtB,WAAW,CAAC;IAC/B,IAAI,CAACA,WAAW,GAAGV,SAAS;IAC5B,IAAI,CAAChB,MAAM,CAACiD,SAAS,CAACjC,SAAS,CAAC;IAChC,IAAI,CAACuB,eAAe,GAAGvB,SAAS;IAChC,IAAI,CAACkC,qBAAqB,GAAGlC,SAAS;IACtC,IAAI,CAACmC,gBAAgB,GAAGnC,SAAS;IACjC,IAAI,CAACoC,6BAA6B,GAAGpC,SAAS;IAC9C,IAAI,CAACqC,yBAAyB,GAAGrC,SAAS;IAE1C,IAAI,CAACpC,OAAO,CAACuD,OAAO,CAAEmB,MAAM,IAAK;MAC/B,KAAKA,MAAM,CAACC,UAAU,CAAC,CAAC;IAC1B,CAAC,CAAC;IACF,IAAI,CAAC3E,OAAO,CAACiC,KAAK,CAAC,CAAC;IACpB,CAAC,GAAG,IAAI,CAAC7B,aAAa,CAAC,CAACmD,OAAO,CAAC,IAAI,CAACqB,qBAAqB,CAAC;EAC7D,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACSC,SAAS,GAAGA,CAAA,KAAM;IACvB,IAAI,IAAI,CAACnE,SAAS,EAAE;MAClB;IACF;IAEAxB,YAAY,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAEhD,IAAI,CAAC+E,QAAQ,CAAC,CAAC;EACjB,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACSa,UAAU,GAAGA,CAAA,KAAM;IACxB,IAAI,IAAI,CAACpE,SAAS,EAAE;MAClB;IACF;IAEAxB,YAAY,CAAC,MAAM,EAAE,2BAA2B,CAAC;IACjD,IAAI,CAAC8E,WAAW,CAAC,CAAC;EACpB,CAAC;EAEOA,WAAW,GAAGA,CAAA,KAAM;IAC1B,IAAI,IAAI,CAACtD,SAAS,EAAE;MAClB;IACF;IAEA,IAAI,CAACuD,QAAQ,CAAC,CAAC;IAEf,IAAI,CAACrB,SAAS,CAAC,CAAC;EAClB,CAAC;;EAED;EACQqB,QAAQ,GAAGA,CAAA,KAAM;IACvB,IAAI,CAAC1D,cAAc,IAAI,CAAC;IACxB,IAAI,CAACC,UAAU,GAAG,KAAK;IACvB,IAAI,CAACC,YAAY,GAAG,KAAK;IACzB,IAAI,CAACsE,eAAe,CAAC,CAAC;IACtB,IAAI,CAACC,yBAAyB,CAAC,CAAC;IAChC,IAAI,CAAClE,UAAU,CAAC2C,cAAc,CAAC,CAAC;EAClC,CAAC;EAEOsB,eAAe,GAAGA,CAAA,KAAM;IAC9B,IAAI,IAAI,CAACE,cAAc,EAAE;MACvB9C,YAAY,CAAC,IAAI,CAAC8C,cAAc,CAAC;MACjC,IAAI,CAACA,cAAc,GAAG7C,SAAS;IACjC;IAEA,IAAI,IAAI,CAAC8C,gBAAgB,EAAE;MACzB/C,YAAY,CAAC,IAAI,CAAC+C,gBAAgB,CAAC;MACnC,IAAI,CAACA,gBAAgB,GAAG9C,SAAS;IACnC;EACF,CAAC;EAEO+C,iBAAiB,GAAIlC,UAAkB,IAAK;IAClD,IAAI,IAAI,CAACvC,SAAS,IAAIuC,UAAU,KAAK,IAAI,CAAC1C,cAAc,IAAI,IAAI,CAAC0E,cAAc,EAAE;MAC/E;IACF;IAEA,IAAI,CAACA,cAAc,GAAGG,UAAU,CAAC,MAAM;MACrC,IAAI,CAACH,cAAc,GAAG7C,SAAS;MAC/B,IAAI,CAACkB,eAAe,CAACL,UAAU,CAAC;IAClC,CAAC,EAAErD,mBAAmB,CAAC;EACzB,CAAC;EAEOoF,yBAAyB,GAAGA,CAAC9B,YAAY,GAAG,IAAI,CAACL,mBAAmB,KAAK;IAC/E,IAAI,CAACK,YAAY,EAAE;MACjB;IACF;IAEAA,YAAY,CAACiB,MAAM,CAAC,CAAC;IAErB,IAAI,IAAI,CAACtB,mBAAmB,KAAKK,YAAY,EAAE;MAC7C,IAAI,CAACL,mBAAmB,GAAGT,SAAS;IACtC;IAEA,MAAMiD,KAAK,GAAG,IAAI,CAAC/E,kBAAkB,CAACgF,OAAO,CAACpC,YAAY,CAAC;IAE3D,IAAImC,KAAK,GAAG,CAAC,CAAC,EAAE;MACd,IAAI,CAAC/E,kBAAkB,CAACiF,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;IAC1C;EACF,CAAC;EAEO/B,eAAe,GAAIL,UAAkB,IAAK;IAChD,IACE,IAAI,CAACvC,SAAS,IACduC,UAAU,KAAK,IAAI,CAAC1C,cAAc,IAClC,IAAI,CAACC,UAAU,IACf,IAAI,CAACC,YAAY,EACjB;MACA;IACF;IAEA,MAAM+E,YAAY,GAAG,IAAI,CAACxE,OAAO,CAACwE,YAAY;;IAE9C;IACA,MAAMC,gBAAgB,GACpB,IAAI,CAACvE,qBAAqB,IAAIsE,YAAY,EAAEE,MAAM,GAAG,CAAC,GAAGF,YAAY,CAAC,GAAG,IAAI;IAE/E,IAAIzG,QAAQ,CAAC6E,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC1C,qBAAqB,IAAI,CAACsE,YAAY,EAAEE,MAAM,EAAE;MAChF,IAAI,CAAC/B,eAAe,GAClBjE,sBAAsB,CACpB,2GACF,CACF,CAAC;MAED;IACF;IAEA,IAAI,CAACe,YAAY,GAAG,IAAI;IAExB,IAAIkF,UAAU,GAAG,KAAK;IAEtB,IAAI;MACF,IAAI,CAAC7E,UAAU,CAACwC,eAAe,CAC7BmC,gBAAgB,EAChB;QACEG,QAAQ,EAAE,IAAI,CAAC1E,qBAAqB,GAChClC,QAAQ,CAAC6G,QAAQ,GACjB7G,QAAQ,CAAC8G;MACf,CAAC,EACD,CAACnG,KAAK,EAAE+E,MAAM,KAAK;QACjB,IAAIzB,UAAU,KAAK,IAAI,CAAC1C,cAAc,EAAE;UACtC;QACF;QAEA,IAAIZ,KAAK,EAAE;UACTgG,UAAU,GAAG,IAAI;UACjB,IAAI,CAACnF,UAAU,GAAG,KAAK;UACvB,IAAI,CAAC2E,iBAAiB,CAAClC,UAAU,CAAC;QACpC;QAEA,IAAI,CAAC8C,YAAY,CAACpG,KAAK,EAAE+E,MAAM,CAAC;MAClC,CACF,CAAC;MACD,IAAI,CAAClE,UAAU,GAAG,CAACmF,UAAU;MAC7BzG,YAAY,CAAC,MAAM,EAAE,4CAA4C,CAAC;MAClEC,gBAAgB,CAAC,wBAAwB,EAAE;QACzC6G,QAAQ,EAAEjH,QAAQ,CAAC6E,EAAE;QACrBqC,UAAU,EAAE,IAAI,CAAC/E;MACnB,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOvB,KAAK,EAAE;MACd,IAAI,CAACwF,iBAAiB,CAAClC,UAAU,CAAC;MAClC,IAAI,CAACU,eAAe,GAAGjE,sBAAsB,CAACC,KAAK,CAAC,CAAC;IACvD,CAAC,SAAS;MACR,IAAI,CAACc,YAAY,GAAG,KAAK;IAC3B;EACF,CAAC;;EAED;EACOyF,cAAc,GAAIlG,OAA0B,IAAK;IACtDA,OAAO,CAACuD,OAAO,CAAEmB,MAAM,IAAK;MAC1B,IAAI,CAACxE,kBAAkB,CAACiG,MAAM,CAACzB,MAAM,CAAC0B,EAAE,CAAC;MACzC,IAAI,CAACL,YAAY,CAAC,IAAI,EAAErB,MAAM,CAAC;IACjC,CAAC,CAAC;EACJ,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACS2B,cAAc,GAAIC,SAA4B,IAAW;IAC9D,IAAIvH,QAAQ,CAAC6E,EAAE,KAAK,KAAK,IAAI,IAAI,CAAClD,SAAS,EAAE;MAC3C;IACF;IAEA4F,SAAS,CAAC/C,OAAO,CAAEgD,QAAQ,IAAK;MAC9B,IAAI,CAACnG,aAAa,CAACoG,GAAG,CAACD,QAAQ,CAAC;MAChC,IAAI,CAAC/C,wBAAwB,CAAC+C,QAAQ,CAAC;IACzC,CAAC,CAAC;EACJ,CAAC;;EAED;EACOE,gBAAgB,GAAG,MAAOF,QAAgB,IAAoB;IACnE,IAAI,CAAC3B,qBAAqB,CAAC2B,QAAQ,CAAC;IACpC,IAAI,CAAC5F,qBAAqB,CAACwF,MAAM,CAACI,QAAQ,CAAC;IAE3C,MAAM7B,MAAM,GAAG,IAAI,CAAC1E,OAAO,CAAC0G,GAAG,CAACH,QAAQ,CAAC;IAEzC,IAAI,CAAC7B,MAAM,EAAE;MACX;IACF;IAEA,IAAI,CAAC1E,OAAO,CAACmG,MAAM,CAACI,QAAQ,CAAC;IAC7B,MAAM7B,MAAM,CAACC,UAAU,CAAC,CAAC;EAC3B,CAAC;;EAED;AACF;AACA;AACA;AACA;EACSgC,aAAa,GAAG,MAAOJ,QAAgB,IAAoB;IAChE,MAAM7B,MAAM,GAAG,IAAI,CAAC1E,OAAO,CAAC0G,GAAG,CAACH,QAAQ,CAAC;IAEzC,IAAI,CAAC7B,MAAM,EAAE;MACX,MAAM,IAAIkC,KAAK,CAAC,uBAAuBL,QAAQ,0BAA0B,CAAC;IAC5E;IAEA,MAAM7B,MAAM,CAACiC,aAAa,CAAC,CAAC;EAC9B,CAAC;;EAED;EACOE,MAAM,GAAG,MAAON,QAAgB,IAAoB;IACzD,IAAI,CAACrG,kBAAkB,CAACsG,GAAG,CAACD,QAAQ,CAAC;IACrC,MAAM,IAAI,CAACE,gBAAgB,CAACF,QAAQ,CAAC;EACvC,CAAC;;EAED;EACOO,aAAa,GAClBC,QAGkB,IACf;IACH7H,YAAY,CAAC,MAAM,EAAE,4CAA4C,CAAC;IAClE,IAAI,CAACoF,qBAAqB,GAAGyC,QAAQ;EACvC,CAAC;;EAED;EACOC,OAAO,GAAID,QAAwC,IAAK;IAC7D7H,YAAY,CAAC,MAAM,EAAE,sCAAsC,CAAC;IAC5D,IAAI,CAACyE,eAAe,GAAGoD,QAAQ;EACjC,CAAC;;EAED;EACOE,qBAAqB,GAC1BF,QAAqD,IAClD;IACH7H,YAAY,CAAC,MAAM,EAAE,oDAAoD,CAAC;IAC1E,IAAI,CAACsF,6BAA6B,GAAGuC,QAAQ;EAC/C,CAAC;;EAED;EACOG,iBAAiB,GACtBH,QAAgD,IAC7C;IACH7H,YAAY,CAAC,MAAM,EAAE,gDAAgD,CAAC;IACtE,IAAI,CAACuF,yBAAyB,GAAGsC,QAAQ;EAC3C,CAAC;;EAED;EACOI,QAAQ,GACbJ,QAAyD,IACtD;IACH7H,YAAY,CAAC,MAAM,EAAE,uCAAuC,CAAC;IAC7D,IAAI,CAACqF,gBAAgB,GAAGwC,QAAQ;;IAEhC;IACA,IAAI,CAAC3F,MAAM,CAACiD,SAAS,CAAC0C,QAAmE,CAAC;EAC5F,CAAC;;EAED;;EAYQhB,YAAY,GAAGA,CAACpG,KAAsB,EAAE+E,MAAqB,KAAK;IACxE,IAAI;MACF,IAAI/E,KAAK,EAAE;QACT,IAAI,CAACgE,eAAe,GAAGjE,sBAAsB,CAACC,KAAK,CAAC,CAAC;QACrDT,YAAY,CAAC,SAAS,EAAE,+BAA+B,EAAE;UACvDkI,SAAS,EAAE/H,gBAAgB,CAACM,KAAK,CAAC,CAAC0H;QACrC,CAAC,CAAC;QAEF;MACF;;MAEA;AACN;AACA;AACA;AACA;AACA;MACM,MAAMC,cAAc,GAClB5C,MAAM,EAAE6C,IAAI,EAAEC,IAAI,CAAC,CAAC,IAAI9C,MAAM,EAAE+C,SAAS,EAAED,IAAI,CAAC,CAAC,IAAI,EAAE;MAEzD,IAAI,CAAC9C,MAAM,EAAE;QACX;MACF;MAEA,IAAI,IAAI,CAACxE,kBAAkB,CAACwH,GAAG,CAAChD,MAAM,CAAC0B,EAAE,CAAC,EAAE;QAC1C;MACF;MAEA,IAAI,IAAI,CAACpG,OAAO,CAAC0H,GAAG,CAAChD,MAAM,CAAC0B,EAAE,CAAC,EAAE;QAC/B;MACF;MAEA,MAAMuB,UAAU,GAAG,IAAI,CAAC1G,aAAa,CAAC2G,aAAa,CACjDN,cAAc,EACd5C,MAAM,CAACc,YAAY,IAAI,EAAE,EACzBd,MAAM,CAACmD,gBAAgB,IAAIzF,SAC7B,CAAC;MAED,IAAI,CAACuF,UAAU,EAAE;QACf;MACF;;MAEA;MACA,IAAI,IAAI,CAAC3H,OAAO,CAAC8H,IAAI,IAAIhI,SAAS,CAACC,WAAW,EAAE;QAC9Cb,YAAY,CACV,SAAS,EACT,4DAA4D,EAC5D;UACE6I,WAAW,EAAE,IAAI,CAAC/H,OAAO,CAAC8H;QAC5B,CACF,CAAC;QAED;MACF;MAEA,MAAME,WAAW,GAAG,IAAI,CAAC/G,aAAa,CAACgH,YAAY,CAAC;QAClDvD,MAAM;QACNiD,UAAU;QACVX,OAAO,EAAE,IAAI,CAACrD,eAAe,EAAEuE,IAAI,CAAC,IAAI,CAAC;QACzCjB,qBAAqB,EAAE,IAAI,CAACzC,6BAA6B,EAAE0D,IAAI,CAAC,IAAI,CAAC;QACrEhB,iBAAiB,EAAE,IAAI,CAACzC,yBAAyB,EAAEyD,IAAI,CAAC,IAAI,CAAC;QAC7Df,QAAQ,EAAE,IAAI,CAAC5C,gBAAgB,EAAE2D,IAAI,CAAC,IAAI,CAAC;QAC3CC,aAAa,EAAEA,CAACC,UAAU,EAAEC,OAAO,KAAK,IAAI,CAACjH,MAAM,CAACoF,GAAG,CAAC4B,UAAU,EAAEC,OAAO,CAAC;QAC5EC,iBAAiB,EAAEA,CAAA,KAAM,IAAI,CAAC/D,gBAAgB,KAAKnC,SAAS;QAC5DmG,uBAAuB,EAAE,IAAI,CAACvH,OAAO,CAACuH,uBAAuB;QAC7DC,qBAAqB,EAAE,IAAI,CAACxH,OAAO,CAACwH,qBAAqB;QACzDC,kBAAkB,EAAE,IAAI,CAACzH,OAAO,CAACyH,kBAAkB;QACnDC,mBAAmB,EAAE,IAAI,CAAC1H,OAAO,CAAC0H,mBAAmB;QACrDC,kBAAkB,EAAE,IAAI,CAAC3H,OAAO,CAAC2H,kBAAkB;QACnDC,YAAY,EAAE,IAAI,CAAC5H,OAAO,CAAC6H,cAAc,GAAGlB,UAAU,CAAC;QACvDmB,SAAS,EAAE,IAAI,CAAC9H,OAAO,CAAC8H,SAAS;QACjCC,oBAAoB,EAAEA,CAAA,KAAM;UAC1B,IAAI,CAAC3H,MAAM,CAAC4H,WAAW,CAACtE,MAAM,CAAC0B,EAAE,CAAC;UAClC,IAAI,CAAC6C,8BAA8B,EAAEf,IAAI,CAAC,IAAI,CAAC,CAACxD,MAAM,CAAC0B,EAAE,CAAC;QAC5D;MACF,CAAC,CAAC;MAEF,IAAI,CAACpG,OAAO,CAACkJ,GAAG,CAACxE,MAAM,CAAC0B,EAAE,EAAE4B,WAAW,CAAC;MACxC5I,gBAAgB,CAAC,oBAAoB,EAAE,CAAC,EAAE;QACxC4G,QAAQ,EAAEjH,QAAQ,CAAC6E;MACrB,CAAC,CAAC;MAEF,IAAI,CAACU,qBAAqB,GAAG0D,WAAW,EAAE,IAAI,CAAC;MAC/C,IAAI,CAACmB,gBAAgB,CAACnB,WAAW,CAAC;IACpC,CAAC,CAAC,OAAOrI,KAAK,EAAE;MACdT,YAAY,CAAC,OAAO,EAAE,mCAAmC,EAAE;QACzDkI,SAAS,EAAE/H,gBAAgB,CAACM,KAAK,CAAC,CAAC0H;MACrC,CAAC,CAAC;IACJ;EACF,CAAC;EAEO8B,gBAAgB,GAAIzE,MAAuC,IAAW;IAC5E;IACA,IACE,CAAC,IAAI,CAAC1D,OAAO,CAACe,WAAW,IACzB2C,MAAM,CAAC0D,UAAU,CAACb,IAAI,KAAKjI,iBAAiB,CAAC8J,WAAW,EACxD;MACA;IACF;IAEA,IAAI,CAACzI,qBAAqB,CAACuI,GAAG,CAACxE,MAAM,CAAC0B,EAAE,EAAE1B,MAAM,CAAC;IAEjD,IAAI,IAAI,CAACxC,gBAAgB,EAAE;MACzBC,YAAY,CAAC,IAAI,CAACD,gBAAgB,CAAC;IACrC;IAEA,IAAI,CAACA,gBAAgB,GAAGkD,UAAU,CAAC,MAAM;MACvC,IAAI,CAAClD,gBAAgB,GAAGE,SAAS;MACjC,MAAMpC,OAAO,GAAG,CAAC,GAAG,IAAI,CAACW,qBAAqB,CAAC0I,MAAM,CAAC,CAAC,CAAC;MAExD,IAAI,CAAC1I,qBAAqB,CAACsB,KAAK,CAAC,CAAC;MAElC,IAAIjC,OAAO,CAAC0F,MAAM,KAAK,CAAC,EAAE;QACxB,MAAM4D,SAAS,GAAGtJ,OAAO,CAAC,CAAC,CAAC;QAE5B,IACEsJ,SAAS,IACT,CAAC,IAAI,CAACpJ,kBAAkB,CAACwH,GAAG,CAAC4B,SAAS,CAAClD,EAAE,CAAC,IAC1C,IAAI,CAACpG,OAAO,CAAC0G,GAAG,CAAC4C,SAAS,CAAClD,EAAE,CAAC,KAAKkD,SAAS,EAC5C;UACA,KAAKA,SAAS,CAACC,OAAO,CAAC,CAAC;QAC1B;QAEA;MACF;MAEA,IAAIvJ,OAAO,CAAC0F,MAAM,GAAG,CAAC,EAAE;QACtB,IAAI,CAAC1E,OAAO,CAACW,yBAAyB,GAAG;UACvC3B,OAAO,EAAEA,OAAuC;UAChDwJ,MAAM,EAAE,MAAOC,QAAQ,IAAK;YAC1B,IACE,IAAI,CAACvJ,kBAAkB,CAACwH,GAAG,CAAC+B,QAAQ,CAACrD,EAAE,CAAC,IACxC,IAAI,CAACpG,OAAO,CAAC0G,GAAG,CAAC+C,QAAQ,CAACrD,EAAE,CAAC,KAAKqD,QAAQ,EAC1C;cACA,MAAM,IAAI7C,KAAK,CAAC,8CAA8C,CAAC;YACjE;YAEA,MAAM6C,QAAQ,CAACF,OAAO,CAAC,CAAC;UAC1B;QACF,CAAC,CAAC;MACJ;IACF,CAAC,EAAEG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC3I,OAAO,CAACgB,kBAAkB,IAAI,GAAG,CAAC,CAAC;EACzD,CAAC;;EAED;EACQwB,wBAAwB,GAAI+C,QAAgB,IAAW;IAC7D,IACE,CAAC,IAAI,CAACnG,aAAa,CAACsH,GAAG,CAACnB,QAAQ,CAAC,IACjC,IAAI,CAAClG,oBAAoB,CAACqH,GAAG,CAACnB,QAAQ,CAAC,IACvC,IAAI,CAACrG,kBAAkB,CAACwH,GAAG,CAACnB,QAAQ,CAAC,IACrC,IAAI,CAACvG,OAAO,CAAC0H,GAAG,CAACnB,QAAQ,CAAC,EAC1B;MACA;IACF;IAEA,IAAI,CAAClG,oBAAoB,CAACmG,GAAG,CAACD,QAAQ,CAAC;IACvC,IAAI,CAACzF,UAAU,CAAC8I,eAAe,CAACrD,QAAQ,CAAC,CAACsD,IAAI,CAC3CnF,MAAM,IAAK;MACV,IAAI,CAACrE,oBAAoB,CAAC8F,MAAM,CAACI,QAAQ,CAAC;MAC1C,IAAI,IAAI,CAACnG,aAAa,CAACsH,GAAG,CAACnB,QAAQ,CAAC,EAAE;QACpC,IAAI,CAACR,YAAY,CAAC,IAAI,EAAErB,MAAM,CAAC;MACjC;IACF,CAAC,EACA/E,KAAc,IAAK;MAClB,IAAI,CAACU,oBAAoB,CAAC8F,MAAM,CAACI,QAAQ,CAAC;MAC1CrH,YAAY,CAAC,MAAM,EAAE,sCAAsC,EAAE;QAC3DkI,SAAS,EAAE/H,gBAAgB,CAACM,KAAK,CAAC,CAAC0H;MACrC,CAAC,CAAC;IACJ,CACF,CAAC;EACH,CAAC;EAEOzC,qBAAqB,GAAI2B,QAAgB,IAAW;IAC1D,IAAI,CAACnG,aAAa,CAAC+F,MAAM,CAACI,QAAQ,CAAC;IAEnC,IAAI,IAAI,CAAClG,oBAAoB,CAAC8F,MAAM,CAACI,QAAQ,CAAC,EAAE;MAC9C,KAAK,IAAI,CAACzF,UAAU,CAACgJ,sBAAsB,CAACvD,QAAQ,CAAC,CAACwD,KAAK,CAAC,MAAM3H,SAAS,CAAC;IAC9E;EACF,CAAC;EAEO6G,8BAA8B,GAAI1C,QAAgB,IAAK;IAC7DrH,YAAY,CACV,MAAM,EACN,2EACF,CAAC;IACD,IAAI,CAACc,OAAO,CAACmG,MAAM,CAACI,QAAQ,CAAC;IAC7B,IAAI,CAAC/C,wBAAwB,CAAC+C,QAAQ,CAAC;;IAEvC;IACA;IACA,IAAI,IAAI,CAAC/F,UAAU,EAAE;MACnB,IAAI,CAACsE,UAAU,CAAC,CAAC;IACnB;EACF,CAAC;AACH;AAEA,SAAShF,SAAS","ignoreList":[]}
|
|
@@ -11,6 +11,7 @@ const MAX_DEVICE_TYPE = 0xffff;
|
|
|
11
11
|
const MAX_POLL_INTERVAL_MS = 6_000_000;
|
|
12
12
|
const MAX_FRAME_INDEX = 0xffff;
|
|
13
13
|
const MAX_NIBBLE = 0x0f;
|
|
14
|
+
const MAX_RECORDING_SECONDS = 0xffffffff;
|
|
14
15
|
const ECG_FILE_DECODERS = ["viatom-compressed", "raw-int16"];
|
|
15
16
|
const assertFileTransfer = (id, fileTransfer) => {
|
|
16
17
|
if (fileTransfer === undefined) {
|
|
@@ -84,9 +85,15 @@ const assertPollCommand = (id, lepu) => {
|
|
|
84
85
|
return pollCommand === undefined ? undefined : assertIntegerInRange(id, "lepu.pollCommand", pollCommand, [0, MAX_OPCODE], `is ${String(pollCommand)}; an opcode is a whole number between 0 and ${MAX_OPCODE}`);
|
|
85
86
|
};
|
|
86
87
|
const assertPollInterval = (id, interval) => interval === undefined ? undefined : assertIntegerInRange(id, "lepu.pollIntervalMs", interval, [0, MAX_POLL_INTERVAL_MS], `is ${String(interval)}; it must be a whole number between 0 and ${MAX_POLL_INTERVAL_MS}`);
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
const assertRecordingField = (id, status, field, max) => assertIntegerInRange(id, `lepu.recordingStatus.${field}`, status[field], [0, max], `is ${String(status[field])}; it must be a whole number between 0 and ${max}`);
|
|
89
|
+
const assertRecordingStatus = (id, status) => status === undefined ? undefined : {
|
|
90
|
+
byteIndex: assertRecordingField(id, status, "byteIndex", MAX_FRAME_INDEX),
|
|
91
|
+
secondsByteIndex: assertRecordingField(id, status, "secondsByteIndex", MAX_FRAME_INDEX),
|
|
92
|
+
recordingState: assertRecordingField(id, status, "recordingState", MAX_NIBBLE),
|
|
93
|
+
leadOffState: assertRecordingField(id, status, "leadOffState", MAX_NIBBLE),
|
|
94
|
+
savedState: assertRecordingField(id, status, "savedState", MAX_NIBBLE),
|
|
95
|
+
minimumStoredSeconds: assertRecordingField(id, status, "minimumStoredSeconds", MAX_RECORDING_SECONDS),
|
|
96
|
+
stopCommand: assertRecordingField(id, status, "stopCommand", MAX_OPCODE)
|
|
90
97
|
};
|
|
91
98
|
|
|
92
99
|
/**
|
|
@@ -110,7 +117,7 @@ export const compileCustomLepu = (id, spec, serviceUuids) => {
|
|
|
110
117
|
const expectedDeviceTypes = assertDeviceTypes(id, lepu.expectedDeviceTypes);
|
|
111
118
|
const pollCommand = assertPollCommand(id, lepu);
|
|
112
119
|
const pollIntervalMs = assertPollInterval(id, lepu.pollIntervalMs);
|
|
113
|
-
const
|
|
120
|
+
const recordingStatus = assertRecordingStatus(id, lepu.recordingStatus);
|
|
114
121
|
const fileTransfer = assertFileTransfer(id, lepu.fileTransfer);
|
|
115
122
|
const ecgFileDecoder = lepu.ecgFileDecoder;
|
|
116
123
|
if (ecgFileDecoder !== undefined && !ECG_FILE_DECODERS.includes(ecgFileDecoder)) {
|
|
@@ -150,8 +157,8 @@ export const compileCustomLepu = (id, spec, serviceUuids) => {
|
|
|
150
157
|
...(pollIntervalMs === undefined ? {} : {
|
|
151
158
|
pollIntervalMs
|
|
152
159
|
}),
|
|
153
|
-
...(
|
|
154
|
-
|
|
160
|
+
...(recordingStatus === undefined ? {} : {
|
|
161
|
+
recordingStatus
|
|
155
162
|
}),
|
|
156
163
|
...(lepu.writeWithoutResponse === undefined ? {} : {
|
|
157
164
|
writeWithoutResponse: Boolean(lepu.writeWithoutResponse)
|