@ovok/native 1.16.1-dev.2177 → 1.16.1-dev.2181
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/services/custom/compile-custom-lepu.js +10 -0
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +8 -7
- 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 +18 -3
- 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.record-saved-watch.js +26 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +3 -0
- 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 +24 -8
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js +10 -0
- package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +8 -7
- 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 +18 -3
- 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.record-saved-watch.js +22 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +3 -0
- 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 +24 -8
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.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/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts +2 -1
- 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.record-saved-watch.d.ts +12 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +2 -0
- 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/types/custom-lepu-spec.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.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/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts +2 -1
- 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.record-saved-watch.d.ts +12 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +2 -0
- 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/types/custom-lepu-spec.d.ts +10 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -12,12 +12,16 @@ import { LepuCommandBuilder } from "../lepu/lepu.command-builder.js";
|
|
|
12
12
|
import { LepuEcgTransferSequencer } from "../lepu/lepu.ecg-transfer.js";
|
|
13
13
|
import { withLepuEncryption } from "../lepu/lepu.encryption-handshake.js";
|
|
14
14
|
import { LepuFrameReader } from "../lepu/lepu.frame-reader.js";
|
|
15
|
+
import { LepuRecordSavedWatch } from "../lepu/lepu.record-saved-watch.js";
|
|
15
16
|
import { LepuSession } from "../lepu/lepu.session.js";
|
|
16
17
|
import { TmbCommandSequencer } from "../tmb/tmb.command-sequencer.js";
|
|
17
18
|
import { TmbFrameReader } from "../tmb/tmb.frame-reader.js";
|
|
18
19
|
import { decodeViatomBp3File } from "../viatom/viatom.bp3-files.js";
|
|
19
20
|
import { decodeViatomEcgRecording, recordedAtFromViatomFileName } from "../viatom/viatom.ecg-files.js";
|
|
20
21
|
import { createLepuSequencer, recordLepuIdentity, selectLepu } from "./custom-lepu-sequencer.js";
|
|
22
|
+
/** ECG files are read again only on the poll answer that says a record was just saved. */
|
|
23
|
+
const recordSavedTrigger = lepu => lepu.recordSavedStatus ? new LepuRecordSavedWatch(lepu.recordSavedStatus).hasJustSaved : () => false;
|
|
24
|
+
|
|
21
25
|
/**
|
|
22
26
|
* Runs a device registered with defineCustomDevice.
|
|
23
27
|
*
|
|
@@ -115,13 +119,9 @@ export class CustomDevice extends BTManagedDevice {
|
|
|
115
119
|
onFile: lepu.fileTransfer === "ecg" ? this.reportViatomEcgFile : lepu.fileTransfer === "bp2" ? this.reportViatomBp2File : this.reportViatomBp3File,
|
|
116
120
|
skipFiles: lepu.fileTransfer === "bp3" ? undefined : this.deliveredFileNames,
|
|
117
121
|
acceptFile: lepu.fileTransfer === "ecg" ? name => lepu.ecgFileDecoder !== undefined && /^R/i.test(name) : lepu.fileTransfer === "bp3" ? name => /^bp\.list$/i.test(name) : undefined,
|
|
118
|
-
pollCommand: lepu.
|
|
119
|
-
pollIntervalMs: lepu.
|
|
120
|
-
|
|
121
|
-
serviceUuid: lepu.write.serviceUuid,
|
|
122
|
-
characteristicUuid: lepu.write.characteristicUuid,
|
|
123
|
-
frame: new LepuCommandBuilder(lepu.startBytes[0] ?? "a5").build(lepu.pollCommand)
|
|
124
|
-
}] : undefined,
|
|
122
|
+
pollCommand: lepu.pollCommand,
|
|
123
|
+
pollIntervalMs: lepu.pollIntervalMs,
|
|
124
|
+
shouldStartTransfer: lepu.fileTransfer === "ecg" ? recordSavedTrigger(lepu) : undefined,
|
|
125
125
|
onError: reason => this.onError?.(new Error(`Viatom ECG: ${reason}`)),
|
|
126
126
|
onProgress: progress => this.onConnectionEvent?.({
|
|
127
127
|
deviceData: this.deviceData,
|
|
@@ -153,6 +153,7 @@ export class CustomDevice extends BTManagedDevice {
|
|
|
153
153
|
}) : sequencer;
|
|
154
154
|
reportViatomEcgFile = file => {
|
|
155
155
|
const decoded = decodeViatomEcgRecording(file.content);
|
|
156
|
+
this.deliveredFileNames.add(file.name);
|
|
156
157
|
if (decoded.samples.length === 0) {
|
|
157
158
|
this.onError?.(new Error(`Viatom ECG: file "${file.name}" does not decode to its recorded length.`));
|
|
158
159
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","decodeBP2File","BTManagedDevice","LepuCommandBuilder","LepuEcgTransferSequencer","withLepuEncryption","LepuFrameReader","LepuSession","TmbCommandSequencer","TmbFrameReader","decodeViatomBp3File","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","selectLepu","CustomDevice","reportedHistoryIds","Set","validators","Map","sessionAggregates","lepuSession","constructor","device","params","definition","oneReadingPerConnection","frameHandler","createFrameHandler","sessionPolicy","deviceData","clockSync","deliveredFileNames","deliveredEcgFileNames","selectedLepu","lepu","manufacturerData","undefined","mainServices","manufacturerDataProtocol","filter","service","uuid","write","serviceUuid","frameReader","stuckDataTimeout","reportsBondedEvent","syncsCurrentTime","preferredMtu","declareLepuProtocol","declareTmbProtocol","declareSequencerFactory","frames","forEach","frame","set","create","createCommandSequencer","deviceId","id","recordCursorStorage","tmb","protocol","startBytes","fileTransfer","clear","withEncryption","characteristicUuid","builder","rejectEncryptionAtBytes","expectedDeviceTypes","onIdentified","onRefused","onIdentityRefused","onFile","reportViatomEcgFile","reportViatomBp2File","reportViatomBp3File","skipFiles","acceptFile","name","ecgFileDecoder","test","pollCommand","pollIntervalMs","afterTransfer","build","onError","reason","Error","onProgress","progress","onConnectionEvent","kind","current","receivedBytes","total","totalBytes","sequencer","session","startByte","file","decoded","content","samples","length","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","reportHistoryOnce","has","add","info","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","parsingCase","requiresStream","isMeasuring","OTHER","handleFrame","parsedData","handlerOnly","captureSessionSample","STREAM","shouldReportDependentResult","reportFrame","error","_data","handleSuccessResult","successResult","collectedValues","emit","reading","handleMeasurementEnd","policy","aggregates","values","sessionStartedAt","aggregate","count","minSamples","summary","sample","Object","fromEntries","sums","entries","map","sessionAverage","decorateReading","value","decimals","fields","Math","trunc","Number","toFixed","measurements","frameRecordedAt","Date","measurement","createMeasurement","rejection","measurementRejection","policyFor","key","existing","readingFields","fieldNames","recordOffset","decorate","repeated","repeatedRecords","report","records","floor","from","recordBytes","record","discard","reportMeasurement","parsedFields","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","decodeBP2File","BTManagedDevice","LepuCommandBuilder","LepuEcgTransferSequencer","withLepuEncryption","LepuFrameReader","LepuRecordSavedWatch","LepuSession","TmbCommandSequencer","TmbFrameReader","decodeViatomBp3File","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","selectLepu","recordSavedTrigger","lepu","recordSavedStatus","hasJustSaved","CustomDevice","reportedHistoryIds","Set","validators","Map","sessionAggregates","lepuSession","constructor","device","params","definition","oneReadingPerConnection","frameHandler","createFrameHandler","sessionPolicy","deviceData","clockSync","deliveredFileNames","deliveredEcgFileNames","selectedLepu","manufacturerData","undefined","mainServices","manufacturerDataProtocol","filter","service","uuid","write","serviceUuid","frameReader","stuckDataTimeout","reportsBondedEvent","syncsCurrentTime","preferredMtu","declareLepuProtocol","declareTmbProtocol","declareSequencerFactory","frames","forEach","frame","set","create","createCommandSequencer","deviceId","id","recordCursorStorage","tmb","protocol","startBytes","fileTransfer","clear","withEncryption","characteristicUuid","builder","rejectEncryptionAtBytes","expectedDeviceTypes","onIdentified","onRefused","onIdentityRefused","onFile","reportViatomEcgFile","reportViatomBp2File","reportViatomBp3File","skipFiles","acceptFile","name","ecgFileDecoder","test","pollCommand","pollIntervalMs","shouldStartTransfer","onError","reason","Error","onProgress","progress","onConnectionEvent","kind","current","receivedBytes","total","totalBytes","sequencer","session","startByte","file","decoded","content","add","samples","length","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","reportHistoryOnce","has","info","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","parsingCase","requiresStream","isMeasuring","OTHER","handleFrame","parsedData","handlerOnly","captureSessionSample","STREAM","shouldReportDependentResult","reportFrame","error","_data","handleSuccessResult","successResult","collectedValues","emit","reading","handleMeasurementEnd","policy","aggregates","values","sessionStartedAt","aggregate","count","minSamples","summary","sample","Object","fromEntries","sums","entries","map","sessionAverage","decorateReading","value","decimals","fields","Math","trunc","Number","toFixed","measurements","frameRecordedAt","Date","measurement","createMeasurement","rejection","measurementRejection","policyFor","key","existing","readingFields","fieldNames","recordOffset","decorate","repeated","repeatedRecords","report","records","floor","from","recordBytes","record","discard","reportMeasurement","parsedFields","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,12 @@ import { LepuFileTransfer } from "./lepu.file-transfer.js";
|
|
|
7
7
|
import { lepuCommandOf } from "./lepu.frame.js";
|
|
8
8
|
import { LepuIdentityGate } from "./lepu.identity-gate.js";
|
|
9
9
|
import { describeLepuResponseType, isLepuSuccess } from "./lepu.response-type.js";
|
|
10
|
+
/** How long past its delay a poll may go unanswered before it is sent again. */
|
|
11
|
+
const POLL_ANSWER_GRACE_MS = 1_000;
|
|
12
|
+
|
|
13
|
+
/** Lets a device finish writing a record before its file list is read. */
|
|
14
|
+
const FILE_LIST_DELAY_MS = 3_000;
|
|
15
|
+
|
|
10
16
|
/** Identifies a recorder, sets its local clock, then downloads its stored files. */
|
|
11
17
|
class LepuEcgTransferSequencer {
|
|
12
18
|
phase = "identity";
|
|
@@ -30,6 +36,9 @@ class LepuEcgTransferSequencer {
|
|
|
30
36
|
if (this.phase === "identity") {
|
|
31
37
|
return this.identity.commandTimeoutMs();
|
|
32
38
|
}
|
|
39
|
+
if (this.phase === "polling" && this.params.pollIntervalMs !== undefined) {
|
|
40
|
+
return this.params.pollIntervalMs + POLL_ANSWER_GRACE_MS;
|
|
41
|
+
}
|
|
33
42
|
return this.phase === "clock" ? LEPU_CONNECT_REPLY_TIMEOUT_MS : undefined;
|
|
34
43
|
};
|
|
35
44
|
|
|
@@ -38,6 +47,11 @@ class LepuEcgTransferSequencer {
|
|
|
38
47
|
if (this.phase === "identity") {
|
|
39
48
|
return this.identity.onCommandTimeout();
|
|
40
49
|
}
|
|
50
|
+
if (this.phase === "polling") {
|
|
51
|
+
return {
|
|
52
|
+
commands: [this.pollCommand()]
|
|
53
|
+
};
|
|
54
|
+
}
|
|
41
55
|
if (this.phase !== "clock") {
|
|
42
56
|
return {};
|
|
43
57
|
}
|
|
@@ -49,7 +63,8 @@ class LepuEcgTransferSequencer {
|
|
|
49
63
|
if (this.phase === "identity") {
|
|
50
64
|
return this.identity.commandProgress(frame);
|
|
51
65
|
}
|
|
52
|
-
|
|
66
|
+
const awaited = this.phase === "clock" ? LepuCommand.SET_TIME : this.phase === "polling" ? this.params.pollCommand : undefined;
|
|
67
|
+
return awaited !== undefined && lepuCommandOf(frame) !== awaited ? "ignored" : "complete";
|
|
53
68
|
};
|
|
54
69
|
nextCommand = frame => {
|
|
55
70
|
if (this.phase === "identity") {
|
|
@@ -62,7 +77,7 @@ class LepuEcgTransferSequencer {
|
|
|
62
77
|
if (this.params.pollCommand === undefined || lepuCommandOf(frame) !== this.params.pollCommand) {
|
|
63
78
|
return undefined;
|
|
64
79
|
}
|
|
65
|
-
return this.startTransfer(
|
|
80
|
+
return this.params.shouldStartTransfer?.(frame) ?? true ? this.startTransfer(FILE_LIST_DELAY_MS) : [this.pollCommand()];
|
|
66
81
|
}
|
|
67
82
|
return this.transfer?.nextCommand(frame);
|
|
68
83
|
};
|
|
@@ -107,7 +122,7 @@ class LepuEcgTransferSequencer {
|
|
|
107
122
|
this.phase = "polling";
|
|
108
123
|
return [this.pollCommand()];
|
|
109
124
|
}
|
|
110
|
-
return
|
|
125
|
+
return [];
|
|
111
126
|
};
|
|
112
127
|
pollCommand = () => ({
|
|
113
128
|
...this.params.write,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getClockParts","isClockSyncEnabled","LepuCommand","LEPU_CONNECT_REPLY_TIMEOUT_MS","LepuConnectRetry","LepuFileTransfer","lepuCommandOf","LepuIdentityGate","describeLepuResponseType","isLepuSuccess","LepuEcgTransferSequencer","phase","clockRetry","constructor","params","identity","write","builder","expectedDeviceTypes","manufacturerData","rejectEncryptionAtBytes","onIdentified","onRefused","onAdmitted","startClockOrTransfer","initialCommands","isHistoryTransfer","commandTimeoutMs","undefined","onCommandTimeout","commands","mayRetry","setTimeCommand","startTransfer","commandProgress","frame","SET_TIME","nextCommand","finishClock","
|
|
1
|
+
{"version":3,"names":["getClockParts","isClockSyncEnabled","LepuCommand","LEPU_CONNECT_REPLY_TIMEOUT_MS","LepuConnectRetry","LepuFileTransfer","lepuCommandOf","LepuIdentityGate","describeLepuResponseType","isLepuSuccess","POLL_ANSWER_GRACE_MS","FILE_LIST_DELAY_MS","LepuEcgTransferSequencer","phase","clockRetry","constructor","params","identity","write","builder","expectedDeviceTypes","manufacturerData","rejectEncryptionAtBytes","onIdentified","onRefused","onAdmitted","startClockOrTransfer","initialCommands","isHistoryTransfer","commandTimeoutMs","pollIntervalMs","undefined","onCommandTimeout","commands","pollCommand","mayRetry","setTimeCommand","startTransfer","commandProgress","frame","awaited","SET_TIME","nextCommand","finishClock","shouldStartTransfer","transfer","clockSync","started","build","clockPayload","onError","delayBeforeWriteMs","onFile","skipFiles","acceptFile","afterTransfer","finishTransfer","onProgress","parts","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,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { hexToByte } from "../../../utils/hex-to-byte.js";
|
|
4
|
+
const LOW_NIBBLE = 0x0f;
|
|
5
|
+
/** Spots the poll answer on which a recorder enters its record-saved state. */
|
|
6
|
+
class LepuRecordSavedWatch {
|
|
7
|
+
wasSaved = false;
|
|
8
|
+
constructor(status) {
|
|
9
|
+
this.status = status;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/** True on the first answer in the saved state, false on those that follow it. */
|
|
13
|
+
hasJustSaved = pollAnswer => {
|
|
14
|
+
const runStatus = hexToByte(pollAnswer[this.status.byteIndex] ?? "00");
|
|
15
|
+
const isSaved = (runStatus & LOW_NIBBLE) === this.status.state;
|
|
16
|
+
const justSaved = isSaved && !this.wasSaved;
|
|
17
|
+
this.wasSaved = isSaved;
|
|
18
|
+
return justSaved;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export { LepuRecordSavedWatch };
|
|
22
|
+
//# sourceMappingURL=lepu.record-saved-watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["hexToByte","LOW_NIBBLE","LepuRecordSavedWatch","wasSaved","constructor","status","hasJustSaved","pollAnswer","runStatus","byteIndex","isSaved","state","justSaved"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.record-saved-watch.ts"],"mappings":";;AACA,SAASA,SAAS,QAAQ,+BAA4B;AAEtD,MAAMC,UAAU,GAAG,IAAI;AAIvB;AACA,MAAMC,oBAAoB,CAAC;EACjBC,QAAQ,GAAG,KAAK;EAEjBC,WAAWA,CAAkBC,MAAyB,EAAE;IAAA,KAA3BA,MAAyB,GAAzBA,MAAyB;EAAG;;EAEhE;EACOC,YAAY,GAAIC,UAA6B,IAAc;IAChE,MAAMC,SAAS,GAAGR,SAAS,CAACO,UAAU,CAAC,IAAI,CAACF,MAAM,CAACI,SAAS,CAAC,IAAI,IAAI,CAAC;IACtE,MAAMC,OAAO,GAAG,CAACF,SAAS,GAAGP,UAAU,MAAM,IAAI,CAACI,MAAM,CAACM,KAAK;IAC9D,MAAMC,SAAS,GAAGF,OAAO,IAAI,CAAC,IAAI,CAACP,QAAQ;IAE3C,IAAI,CAACA,QAAQ,GAAGO,OAAO;IAEvB,OAAOE,SAAS;EAClB,CAAC;AACH;AAEA,SAASV,oBAAoB","ignoreList":[]}
|
|
@@ -207,6 +207,9 @@ const lepuDevice = params => {
|
|
|
207
207
|
...(params.pollIntervalMs === undefined ? {} : {
|
|
208
208
|
pollIntervalMs: params.pollIntervalMs
|
|
209
209
|
}),
|
|
210
|
+
...(params.recordSavedStatus === undefined ? {} : {
|
|
211
|
+
recordSavedStatus: params.recordSavedStatus
|
|
212
|
+
}),
|
|
210
213
|
...(params.writeWithoutResponse === undefined ? {} : {
|
|
211
214
|
writeWithoutResponse: params.writeWithoutResponse
|
|
212
215
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PREFERRED_MTU","defineCustomDevice","CHECKME_NOTIFY","CHECKME_SERVICE","CHECKME_WRITE","STANDARD_SERVICE","STANDARD_WRITE","STANDARD_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","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","viatomOxygen","protocol","monitor","each","uuid","frame","minLengthBytes","caseSelectorBytes","undefined","cases","services","v2","id","nameMatch","matchByService","stuckDataTimeoutMs","clockSync","sessionPolicy","lepu","startBytes","manufacturerDataProtocol","requestStartByte","rejectEncryptionAtBytes","write","characteristicUuid","expectedDeviceTypes","fileTransfer","ecgFileDecoder","pollCommand","pollIntervalMs","writeWithoutResponse","setClockBeforeInfo","clockSyncProtocol","map","service","decorateReading","createFrameHandler"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.transports.ts"],"mappings":";;AAAA;;AAEA,SAASA,aAAa,QAAQ,qCAAkC;AAUhE,SAASC,kBAAkB,QAAQ,sCAAmC;AACtE,SACEC,cAAc,EACdC,eAAe,EACfC,aAAa,QACR,gCAA6B;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,gBAAgB,GAAGF,eAAe;AACxC,MAAMG,cAAc,GAAGF,aAAa;AACpC,MAAMG,eAAe,GAAGL,cAAc;;AAEtC;AACA,MAAMM,WAAW,GAAG,sCAAsC;AAC1D,MAAMC,SAAS,GAAG,sCAAsC;AACxD,MAAMC,UAAU,GAAG,sCAAsC;;AAEzD;AACA;AACA;AACA;AACA,MAAMC,YAAY,GAAG,sCAAsC;AAC3D,MAAMC,UAAU,GAAG,sCAAsC;AACzD,MAAMC,WAAW,GAAG,sCAAsC;;AAE1D;AACA,MAAMC,eAAe,GAAG,sCAAsC;AAC9D,MAAMC,aAAa,GAAG,sCAAsC;AAC5D,MAAMC,cAAc,GAAG,sCAAsC;;AAE7D;AACA;AACA,MAAMC,WAAW,GAAG,EAAE;;AAEtB;AACA,MAAMC,wBAAwB,GAAG,MAAM;AAEvC,MAAMC,UAAU,GAAG,IAAI;AASvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAG;EACrB;EACAC,QAAQ,EAAE;IACR;IACAC,WAAW,EAAEjB,gBAAgB;IAE7B;IACAkB,UAAU,EAAEhB,eAAe;IAE3B;IACAiB,SAAS,EAAElB,cAAc;IAEzB;IACAmB,YAAY,EAAEzB;EAChB,CAAC;EAED;EACA0B,gBAAgB,EAAE;IAChB;IACAJ,WAAW,EAAEjB,gBAAgB;IAE7B;IACAkB,UAAU,EAAEhB,eAAe;IAE3B;IACAiB,SAAS,EAAElB,cAAc;IAEzB;IACAmB,YAAY,EAAER;EAChB,CAAC;EAED;EACAU,GAAG,EAAE;IACH;IACAL,WAAW,EAAEd,WAAW;IAExB;IACAe,UAAU,EAAEb,UAAU;IAEtB;IACAc,SAAS,EAAEf,SAAS;IAEpB;IACAgB,YAAY,EAAEzB;EAChB,CAAC;EAED;EACA4B,IAAI,EAAE;IACJ;IACAN,WAAW,EAAEX,YAAY;IAEzB;IACAY,UAAU,EAAEV,WAAW;IAEvB;IACAW,SAAS,EAAEZ,UAAU;IAErB;IACAa,YAAY,EAAEzB;EAChB,CAAC;EAED;EACA6B,MAAM,EAAE;IACN;IACAP,WAAW,EAAER,eAAe;IAE5B;IACAS,UAAU,EAAEP,cAAc;IAE1B;IACAQ,SAAS,EAAET,aAAa;IAExB;IACAU,YAAY,EAAEzB;EAChB;AACF,CAAkD;;AAElD;;AAGA;;
|
|
1
|
+
{"version":3,"names":["PREFERRED_MTU","defineCustomDevice","CHECKME_NOTIFY","CHECKME_SERVICE","CHECKME_WRITE","STANDARD_SERVICE","STANDARD_WRITE","STANDARD_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","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","viatomOxygen","protocol","monitor","each","uuid","frame","minLengthBytes","caseSelectorBytes","undefined","cases","services","v2","id","nameMatch","matchByService","stuckDataTimeoutMs","clockSync","sessionPolicy","lepu","startBytes","manufacturerDataProtocol","requestStartByte","rejectEncryptionAtBytes","write","characteristicUuid","expectedDeviceTypes","fileTransfer","ecgFileDecoder","pollCommand","pollIntervalMs","recordSavedStatus","writeWithoutResponse","setClockBeforeInfo","clockSyncProtocol","map","service","decorateReading","createFrameHandler"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.transports.ts"],"mappings":";;AAAA;;AAEA,SAASA,aAAa,QAAQ,qCAAkC;AAUhE,SAASC,kBAAkB,QAAQ,sCAAmC;AACtE,SACEC,cAAc,EACdC,eAAe,EACfC,aAAa,QACR,gCAA6B;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,gBAAgB,GAAGF,eAAe;AACxC,MAAMG,cAAc,GAAGF,aAAa;AACpC,MAAMG,eAAe,GAAGL,cAAc;;AAEtC;AACA,MAAMM,WAAW,GAAG,sCAAsC;AAC1D,MAAMC,SAAS,GAAG,sCAAsC;AACxD,MAAMC,UAAU,GAAG,sCAAsC;;AAEzD;AACA;AACA;AACA;AACA,MAAMC,YAAY,GAAG,sCAAsC;AAC3D,MAAMC,UAAU,GAAG,sCAAsC;AACzD,MAAMC,WAAW,GAAG,sCAAsC;;AAE1D;AACA,MAAMC,eAAe,GAAG,sCAAsC;AAC9D,MAAMC,aAAa,GAAG,sCAAsC;AAC5D,MAAMC,cAAc,GAAG,sCAAsC;;AAE7D;AACA;AACA,MAAMC,WAAW,GAAG,EAAE;;AAEtB;AACA,MAAMC,wBAAwB,GAAG,MAAM;AAEvC,MAAMC,UAAU,GAAG,IAAI;AASvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAG;EACrB;EACAC,QAAQ,EAAE;IACR;IACAC,WAAW,EAAEjB,gBAAgB;IAE7B;IACAkB,UAAU,EAAEhB,eAAe;IAE3B;IACAiB,SAAS,EAAElB,cAAc;IAEzB;IACAmB,YAAY,EAAEzB;EAChB,CAAC;EAED;EACA0B,gBAAgB,EAAE;IAChB;IACAJ,WAAW,EAAEjB,gBAAgB;IAE7B;IACAkB,UAAU,EAAEhB,eAAe;IAE3B;IACAiB,SAAS,EAAElB,cAAc;IAEzB;IACAmB,YAAY,EAAER;EAChB,CAAC;EAED;EACAU,GAAG,EAAE;IACH;IACAL,WAAW,EAAEd,WAAW;IAExB;IACAe,UAAU,EAAEb,UAAU;IAEtB;IACAc,SAAS,EAAEf,SAAS;IAEpB;IACAgB,YAAY,EAAEzB;EAChB,CAAC;EAED;EACA4B,IAAI,EAAE;IACJ;IACAN,WAAW,EAAEX,YAAY;IAEzB;IACAY,UAAU,EAAEV,WAAW;IAEvB;IACAW,SAAS,EAAEZ,UAAU;IAErB;IACAa,YAAY,EAAEzB;EAChB,CAAC;EAED;EACA6B,MAAM,EAAE;IACN;IACAP,WAAW,EAAER,eAAe;IAE5B;IACAS,UAAU,EAAEP,cAAc;IAE1B;IACAQ,SAAS,EAAET,aAAa;IAExB;IACAU,YAAY,EAAEzB;EAChB;AACF,CAAkD;;AAElD;;AAGA;;AAyGA,MAAM8B,YAAY,GAAG,CAAC;;AAEtB;AACA,MAAMC,UAAU,GAAIC,MAAwB,IAA6B;EACvE,MAAMC,SAAS,GAAGb,cAAc,CAACY,MAAM,CAACC,SAAS,IAAI,UAAU,CAAC;EAChE,MAAMC,YAAY,GAAGF,MAAM,CAACG,QAAQ,KAAK,eAAe;EAExD,MAAMC,OAAO,GAAIC,IAWhB,KAAM;IACLC,IAAI,EAAED,IAAI,CAACC,IAAI;IACfC,KAAK,EAAE;MAAEC,cAAc,EAAEH,IAAI,CAACG;IAAe,CAAC;IAC9C,IAAIH,IAAI,CAACI,iBAAiB,KAAKC,SAAS,GACpC,CAAC,CAAC,GACF;MAAED,iBAAiB,EAAEJ,IAAI,CAACI;IAAkB,CAAC,CAAC;IAClDE,KAAK,EAAEN,IAAI,CAACM;EACd,CAAC,CAAC;EAEF,MAAMC,QAAQ,GAAG,CACf;IACEN,IAAI,EAAEL,SAAS,CAACX,WAAW;IAC3Bc,OAAO,EAAE,CACPA,OAAO,CAAC;MACNE,IAAI,EAAEL,SAAS,CAACV,UAAU;MAC1BiB,cAAc,EAAER,MAAM,CAACQ,cAAc;MACrCC,iBAAiB,EAAET,MAAM,CAACS,iBAAiB;MAC3CE,KAAK,EAAEX,MAAM,CAACW;IAChB,CAAC,CAAC;EAEN,CAAC,EACD,IAAIX,MAAM,CAACa,EAAE,KAAKH,SAAS,GACvB,EAAE,GACF,CACE;IACEJ,IAAI,EAAElB,cAAc,CAACO,GAAG,CAACL,WAAW;IACpCc,OAAO,EAAE,CACPA,OAAO,CAAC;MACNE,IAAI,EAAElB,cAAc,CAACO,GAAG,CAACJ,UAAU;MACnCiB,cAAc,EAAER,MAAM,CAACa,EAAE,CAACL,cAAc;MACxCC,iBAAiB,EAAET,MAAM,CAACa,EAAE,CAACJ,iBAAiB;MAC9CE,KAAK,EAAEX,MAAM,CAACa,EAAE,CAACF;IACnB,CAAC,CAAC;EAEN,CAAC,CACF,CAAC,CACP;EAED,OAAO1C,kBAAkB,CACvB;IACE6C,EAAE,EAAEd,MAAM,CAACc,EAAE,IAAI,aAAa;IAC9BC,SAAS,EAAEf,MAAM,CAACe,SAAS;IAC3BC,cAAc,EAAEhB,MAAM,CAACe,SAAS,KAAKL,SAAS;IAC9CO,kBAAkB,EAAEjB,MAAM,CAACiB,kBAAkB,IAAI/B,wBAAwB;IACzEO,YAAY,EAAEQ,SAAS,CAACR,YAAY;IACpC,IAAIO,MAAM,CAACkB,SAAS,KAAKR,SAAS,GAC9B,CAAC,CAAC,GACF;MAAEQ,SAAS,EAAElB,MAAM,CAACkB;IAAU,CAAC,CAAC;IACpC,IAAIlB,MAAM,CAACmB,aAAa,KAAKT,SAAS,GAClC,CAAC,CAAC,GACF;MAAES,aAAa,EAAEnB,MAAM,CAACmB;IAAc,CAAC,CAAC;IAC5CC,IAAI,EAAE;MACJjB,QAAQ,EAAEH,MAAM,CAACG,QAAQ;MACzBkB,UAAU,EAAE,CACV,IAAInB,YAAY,IAChBF,MAAM,CAACsB,wBAAwB,KAAK,eAAe,GAC/C,CAAC,IAAI,EAAE,IAAI,CAAC,GACZ,CAACpB,YAAY,GAAG,IAAI,GAAGf,UAAU,CAAC,CAAC,CACxC;MACDoC,gBAAgB,EAAErB,YAAY,GAAG,IAAI,GAAGf,UAAU;MAClD,IAAIa,MAAM,CAACsB,wBAAwB,KAAKZ,SAAS,GAC7C,CAAC,CAAC,GACF;QAAEY,wBAAwB,EAAEtB,MAAM,CAACsB;MAAyB,CAAC,CAAC;MAClE,IAAItB,MAAM,CAACwB,uBAAuB,KAAKd,SAAS,GAC5C,CAAC,CAAC,GACF;QAAEc,uBAAuB,EAAExB,MAAM,CAACwB;MAAwB,CAAC,CAAC;MAChEC,KAAK,EAAE;QACLnC,WAAW,EAAEW,SAAS,CAACX,WAAW;QAClCoC,kBAAkB,EAAEzB,SAAS,CAACT;MAChC,CAAC;MACDmC,mBAAmB,EAAE,CAAC,IAAI3B,MAAM,CAAC2B,mBAAmB,IAAI,EAAE,CAAC,CAAC;MAC5D,IAAI3B,MAAM,CAAC4B,YAAY,KAAKlB,SAAS,GACjC,CAAC,CAAC,GACF;QAAEkB,YAAY,EAAE5B,MAAM,CAAC4B;MAAa,CAAC,CAAC;MAC1C,IAAI5B,MAAM,CAAC6B,cAAc,KAAKnB,SAAS,GACnC,CAAC,CAAC,GACF;QAAEmB,cAAc,EAAE7B,MAAM,CAAC6B;MAAe,CAAC,CAAC;MAC9C,IAAI7B,MAAM,CAAC8B,WAAW,KAAKpB,SAAS,GAChC,CAAC,CAAC,GACF;QAAEoB,WAAW,EAAE9B,MAAM,CAAC8B;MAAY,CAAC,CAAC;MACxC,IAAI9B,MAAM,CAAC+B,cAAc,KAAKrB,SAAS,GACnC,CAAC,CAAC,GACF;QAAEqB,cAAc,EAAE/B,MAAM,CAAC+B;MAAe,CAAC,CAAC;MAC9C,IAAI/B,MAAM,CAACgC,iBAAiB,KAAKtB,SAAS,GACtC,CAAC,CAAC,GACF;QAAEsB,iBAAiB,EAAEhC,MAAM,CAACgC;MAAkB,CAAC,CAAC;MACpD,IAAIhC,MAAM,CAACiC,oBAAoB,KAAKvB,SAAS,GACzC,CAAC,CAAC,GACF;QAAEuB,oBAAoB,EAAEjC,MAAM,CAACiC;MAAqB,CAAC,CAAC;MAC1D,IAAIjC,MAAM,CAACkC,kBAAkB,KAAKxB,SAAS,GACvC,CAAC,CAAC,GACF;QAAEwB,kBAAkB,EAAElC,MAAM,CAACkC;MAAmB,CAAC,CAAC;MACtD,IAAIlC,MAAM,CAACmC,iBAAiB,KAAKzB,SAAS,GACtC,CAAC,CAAC,GACF;QAAEyB,iBAAiB,EAAEnC,MAAM,CAACmC;MAAkB,CAAC;IACrD,CAAC;IACDvB,QAAQ,EAAEA,QAAQ,CAACwB,GAAG,CAAEC,OAAO,KAAM;MACnC,GAAGA,OAAO;MACVjC,OAAO,EAAEiC,OAAO,CAACjC,OAAO,CAACgC,GAAG,CAAE/B,IAAI,KAAM;QACtC,GAAGA,IAAI;QACPI,iBAAiB,EAAEJ,IAAI,CAACI,iBAAiB,IAAI,CAACX,YAAY;MAC5D,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,EACD;IACE,IAAIE,MAAM,CAACsC,eAAe,KAAK5B,SAAS,GACpC,CAAC,CAAC,GACF;MAAE4B,eAAe,EAAEtC,MAAM,CAACsC;IAAgB,CAAC,CAAC;IAChD,IAAItC,MAAM,CAACuC,kBAAkB,KAAK7B,SAAS,GACvC,CAAC,CAAC,GACF;MAAE6B,kBAAkB,EAAEvC,MAAM,CAACuC;IAAmB,CAAC;EACvD,CACF,CAAC;AACH,CAAC;AAED,SAASxC,UAAU,EAAEX,cAAc","ignoreList":[]}
|
|
@@ -38,16 +38,23 @@ const RT_DATA = 0x03;
|
|
|
38
38
|
/** The ER3 answers its realtime data on a different opcode from the rest of the range. */
|
|
39
39
|
const ER3_RT_DATA = 0x06;
|
|
40
40
|
const HEART_RATE_UNIT = "bpm";
|
|
41
|
+
|
|
42
|
+
/** The vendor's own client polls realtime at this pace. */
|
|
43
|
+
const POLL_INTERVAL_MS = 500;
|
|
44
|
+
|
|
45
|
+
/** The run status: the current state in the low nibble, the previous one above it. */
|
|
46
|
+
const RUN_STATUS_BYTE = 15;
|
|
47
|
+
const RECORDING = "2";
|
|
48
|
+
const SAVED = 4;
|
|
41
49
|
/** ER1, ER2 and ER3 share one parameter block: the heart rate opens it. */
|
|
42
50
|
const ER_HEART_RATE_BYTES = [7, 8];
|
|
43
51
|
/**
|
|
44
|
-
* Declares one recorder, reporting the heart rate from its realtime frame.
|
|
52
|
+
* Declares one recorder, reporting the heart rate from its realtime frame while it records.
|
|
45
53
|
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
* status byte, which a declaration cannot select on, so a recorder left connected and unworn
|
|
49
|
-
* reports a decoding failure on each poll. Reading those bits quietly needs a device class.
|
|
54
|
+
* Every other run status - idle, preparing, saving, lead off - leaves the device connected
|
|
55
|
+
* rather than measuring, so an unworn recorder is never shown as taking a reading.
|
|
50
56
|
*/
|
|
57
|
+
const byteHex = value => value.toString(16).padStart(2, "0");
|
|
51
58
|
const declareRecorder = (advertisedName, profile, params) => lepuDevice({
|
|
52
59
|
id: params.id ?? `viatom-${advertisedName.toLowerCase().replace(/[^a-z0-9]+/g, "-")}`,
|
|
53
60
|
nameMatch: params.nameMatch ?? lepuNameMatch(advertisedName),
|
|
@@ -58,10 +65,15 @@ const declareRecorder = (advertisedName, profile, params) => lepuDevice({
|
|
|
58
65
|
emit: "none"
|
|
59
66
|
},
|
|
60
67
|
pollCommand: profile.pollCommand,
|
|
61
|
-
|
|
62
|
-
|
|
68
|
+
pollIntervalMs: POLL_INTERVAL_MS,
|
|
69
|
+
recordSavedStatus: {
|
|
70
|
+
byteIndex: RUN_STATUS_BYTE,
|
|
71
|
+
state: SAVED
|
|
72
|
+
},
|
|
73
|
+
minLengthBytes: RUN_STATUS_BYTE + 1,
|
|
74
|
+
caseSelectorBytes: [1, RUN_STATUS_BYTE],
|
|
63
75
|
cases: [{
|
|
64
|
-
selector: profile.pollCommand
|
|
76
|
+
selector: `${byteHex(profile.pollCommand)}?${RECORDING}`,
|
|
65
77
|
kind: "result",
|
|
66
78
|
measurementTypeKey: MeasurementTypeKey.heartRate,
|
|
67
79
|
description: "Realtime parameters and waveform",
|
|
@@ -72,6 +84,10 @@ const declareRecorder = (advertisedName, profile, params) => lepuDevice({
|
|
|
72
84
|
encoding: "uint",
|
|
73
85
|
unit: HEART_RATE_UNIT
|
|
74
86
|
}]
|
|
87
|
+
}, {
|
|
88
|
+
selector: `${byteHex(profile.pollCommand)}??`,
|
|
89
|
+
kind: "idle",
|
|
90
|
+
description: "Realtime frame while not recording"
|
|
75
91
|
}],
|
|
76
92
|
...(params.expectedDeviceTypes ? {
|
|
77
93
|
expectedDeviceTypes: params.expectedDeviceTypes
|
package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","lepuNameMatch","lepuDevice","RT_DATA","ER3_RT_DATA","HEART_RATE_UNIT","ER_HEART_RATE_BYTES","declareRecorder","advertisedName","profile","params","id","toLowerCase","replace","nameMatch","transport","clockSync","sessionPolicy","minSamples","emit","pollCommand","
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","lepuNameMatch","lepuDevice","RT_DATA","ER3_RT_DATA","HEART_RATE_UNIT","POLL_INTERVAL_MS","RUN_STATUS_BYTE","RECORDING","SAVED","ER_HEART_RATE_BYTES","byteHex","value","toString","padStart","declareRecorder","advertisedName","profile","params","id","toLowerCase","replace","nameMatch","transport","clockSync","sessionPolicy","minSamples","emit","pollCommand","pollIntervalMs","recordSavedStatus","byteIndex","state","minLengthBytes","caseSelectorBytes","cases","selector","kind","measurementTypeKey","heartRate","description","fields","name","byteIndexes","heartRateBytes","byteOrder","encoding","unit","expectedDeviceTypes","fileTransfer","undefined","DECODED_ECG_MODEL_NAMES","has","ecgFileDecoder","er1Recorder","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":"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","ignoreList":[]}
|
|
@@ -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;AAkM9D;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,IAAI,MAAM,EACV,MAAM,gBAAgB,EACtB,cAAc,SAAS,MAAM,EAAE,KAC9B,cAAc,GAAG,SA8GnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/custom/custom.device.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EACL,sBAAsB,EAEvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAEpF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAQvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"custom.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/custom/custom.device.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,8 @@ interface LepuEcgTransferParams {
|
|
|
19
19
|
acceptFile?: (name: string) => boolean;
|
|
20
20
|
pollCommand?: number;
|
|
21
21
|
pollIntervalMs?: number;
|
|
22
|
-
|
|
22
|
+
/** Asked with each poll answer; without it, the stored files are read again after every poll. */
|
|
23
|
+
shouldStartTransfer?: (pollAnswer: readonly string[]) => boolean;
|
|
23
24
|
onProgress?: (progress: {
|
|
24
25
|
name: string;
|
|
25
26
|
receivedBytes: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lepu.ecg-transfer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAGjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAoB,MAAM,sBAAsB,CAAC;AAKlE,UAAU,qBAAqB;IAC7B,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"lepu.ecg-transfer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAGjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAoB,MAAM,sBAAsB,CAAC;AAKlE,UAAU,qBAAqB;IAC7B,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,iGAAiG;IACjG,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC;IACjE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;KACpB,KAAK,IAAI,CAAC;CACZ;AAUD,oFAAoF;AACpF,cAAM,wBAAyB,YAAW,gBAAgB;IAMrC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAL1C,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IACrD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;gBAER,MAAM,EAAE,qBAAqB;IAa1D,eAAe,QAAO,SAAS,aAAa,EAAE,CACnB;IAE3B,iBAAiB,QAAO,OAAO,CAAS;IAExC,gBAAgB,QAAO,MAAM,GAAG,SAAS,CAU9C;IAEF,2FAA2F;IACpF,gBAAgB,QAAO,oBAAoB,CAkBhD;IAEK,eAAe,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,SAAS,GAAG,UAAU,CAazE;IAEK,WAAW,GAChB,OAAO,SAAS,MAAM,EAAE,KACvB,SAAS,aAAa,EAAE,GAAG,SAAS,CAuBrC;IAEF,OAAO,CAAC,oBAAoB,CAS1B;IAEF,OAAO,CAAC,cAAc,CAMnB;IAEH,OAAO,CAAC,WAAW,CAcjB;IAEF,OAAO,CAAC,aAAa,CAgBnB;IAEF,OAAO,CAAC,cAAc,CAUpB;IAEF,OAAO,CAAC,WAAW,CAMhB;CACJ;AAED,QAAA,MAAM,YAAY,GAAI,YAAY,gBAAgB,KAAG,MAAM,EAe1D,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,CAAC;AAClD,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CustomLepuSpec } from "../../../types/custom-lepu-spec";
|
|
2
|
+
type RecordSavedStatus = NonNullable<CustomLepuSpec["recordSavedStatus"]>;
|
|
3
|
+
/** Spots the poll answer on which a recorder enters its record-saved state. */
|
|
4
|
+
declare class LepuRecordSavedWatch {
|
|
5
|
+
private readonly status;
|
|
6
|
+
private wasSaved;
|
|
7
|
+
constructor(status: RecordSavedStatus);
|
|
8
|
+
/** True on the first answer in the saved state, false on those that follow it. */
|
|
9
|
+
hasJustSaved: (pollAnswer: readonly string[]) => boolean;
|
|
10
|
+
}
|
|
11
|
+
export { LepuRecordSavedWatch };
|
|
12
|
+
//# sourceMappingURL=lepu.record-saved-watch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lepu.record-saved-watch.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAKjE,KAAK,iBAAiB,GAAG,WAAW,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAE1E,+EAA+E;AAC/E,cAAM,oBAAoB;IAGL,OAAO,CAAC,QAAQ,CAAC,MAAM;IAF1C,OAAO,CAAC,QAAQ,CAAS;gBAEW,MAAM,EAAE,iBAAiB;IAE7D,kFAAkF;IAC3E,YAAY,GAAI,YAAY,SAAS,MAAM,EAAE,KAAG,OAAO,CAQ5D;CACH;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts
CHANGED
|
@@ -129,6 +129,8 @@ interface LepuDeviceParams {
|
|
|
129
129
|
pollCommand?: number;
|
|
130
130
|
/** Delay before each realtime poll, for devices with a fixed polling cadence. */
|
|
131
131
|
pollIntervalMs?: number;
|
|
132
|
+
/** Where a poll answer says a record was just saved; see `CustomLepuSpec`. */
|
|
133
|
+
recordSavedStatus?: CustomLepuSpec["recordSavedStatus"];
|
|
132
134
|
/**
|
|
133
135
|
* Shortest frame any declared case may be read from. The seven-byte header and the
|
|
134
136
|
* trailing checksum are part of it, so a one-byte payload is nine.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lepu.transports.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.transports.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"lepu.transports.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.transports.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viatom.ecg-recorders.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"viatom.ecg-recorders.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAgEjF,UAAU,eAAe;IAEvB,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AA2DD,uFAAuF;AACvF,QAAA,MAAM,WAAW,GACf,gBAAgB,MAAM,EACtB,QAAQ,eAAe,KACtB,sBAUA,CAAC;AAEJ;;;;;GAKG;AACH,QAAA,MAAM,WAAW,GACf,gBAAgB,MAAM,EACtB,QAAQ,eAAe,KACtB,sBAUA,CAAC;AAEJ,6EAA6E;AAC7E,QAAA,MAAM,WAAW,GACf,gBAAgB,MAAM,EACtB,QAAQ,eAAe,KACtB,sBAUA,CAAC;AAEJ,6CAA6C;AAC7C,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAWrC,CAAC;AAEF,gFAAgF;AAChF,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAUrC,CAAC;AAKF,8EAA8E;AAC9E,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAAyB,CAAC;AAEhE,OAAO,EACL,WAAW,EACX,eAAe,EACf,WAAW,EACX,eAAe,EACf,eAAe,EACf,WAAW,GACZ,CAAC"}
|
|
@@ -64,6 +64,16 @@ export interface CustomLepuSpec {
|
|
|
64
64
|
pollCommand?: number;
|
|
65
65
|
/** Delay before each realtime poll, for devices with a fixed polling cadence. */
|
|
66
66
|
pollIntervalMs?: number;
|
|
67
|
+
/**
|
|
68
|
+
* Where a poll answer says a record was just saved: the run-status byte and the state in its
|
|
69
|
+
* low nibble. Entering that state reads the stored ECG files again.
|
|
70
|
+
*/
|
|
71
|
+
recordSavedStatus?: {
|
|
72
|
+
/** The run-status byte's index in the poll answer, header included. */
|
|
73
|
+
byteIndex: number;
|
|
74
|
+
/** The low-nibble state that means a record was just saved. */
|
|
75
|
+
state: number;
|
|
76
|
+
};
|
|
67
77
|
/** Sends the command through the write-without-response characteristic. */
|
|
68
78
|
writeWithoutResponse?: boolean;
|
|
69
79
|
/** Sends the Viatom oximeter clock command before the information request. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-lepu-spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-lepu-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;IAE7B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC;IAElC,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAElC,8FAA8F;IAC9F,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAErC;;;OAGG;IACH,cAAc,CAAC,EAAE,mBAAmB,GAAG,WAAW,CAAC;IAEnD;;;OAGG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,qFAAqF;IACrF,wBAAwB,CAAC,EAAE,eAAe,CAAC;IAE3C;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnC,0FAA0F;IAC1F,KAAK,EAAE;QAEL,4DAA4D;QAC5D,WAAW,EAAE,MAAM,CAAC;QAEpB,0DAA0D;QAC1D,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IAEF;;;;;;;OAOG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
|
|
1
|
+
{"version":3,"file":"custom-lepu-spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-lepu-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;IAE7B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC;IAElC,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAElC,8FAA8F;IAC9F,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAErC;;;OAGG;IACH,cAAc,CAAC,EAAE,mBAAmB,GAAG,WAAW,CAAC;IAEnD;;;OAGG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,qFAAqF;IACrF,wBAAwB,CAAC,EAAE,eAAe,CAAC;IAE3C;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnC,0FAA0F;IAC1F,KAAK,EAAE;QAEL,4DAA4D;QAC5D,WAAW,EAAE,MAAM,CAAC;QAEpB,0DAA0D;QAC1D,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IAEF;;;;;;;OAOG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,iBAAiB,CAAC,EAAE;QAElB,uEAAuE;QACvE,SAAS,EAAE,MAAM,CAAC;QAElB,+DAA+D;QAC/D,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAEF,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
|
package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map
CHANGED
|
@@ -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;AAkM9D;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,IAAI,MAAM,EACV,MAAM,gBAAgB,EACtB,cAAc,SAAS,MAAM,EAAE,KAC9B,cAAc,GAAG,SA8GnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/custom/custom.device.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EACL,sBAAsB,EAEvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAEpF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAQvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"custom.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/custom/custom.device.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EACL,sBAAsB,EAEvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAEpF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAQvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAwBvD,KAAK,mBAAmB,GAAG,yBAAyB,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;AACvE,KAAK,YAAY,GAAG,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;AAgBjE;;;;;;;;GAQG;AACH,qBAAa,YAAa,SAAQ,eAAe,CAAC,cAAc,CAAC;IAC/D,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC;IACnC,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAEnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiC;IAC9D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAc;IACjD,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkD;IAC7E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAChE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuC;IACzE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,gBAAgB,CAAmB;gBAGzC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,CAAC,cAAc,CAAC,EAC1C,UAAU,EAAE,sBAAsB;IA4CpC,oGAAoG;IACpG,OAAO,CAAC,uBAAuB;IAiB/B,uFAAuF;IACvF,OAAO,CAAC,kBAAkB;IAkB1B;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IA4E3B,+FAA+F;IAC/F,OAAO,CAAC,cAAc,CAeN;IAEhB,OAAO,CAAC,mBAAmB,CAuBzB;IAEF,OAAO,CAAC,mBAAmB,CAMzB;IAEF,OAAO,CAAC,mBAAmB,CAMzB;IAEF,iFAAiF;IACjF,OAAO,CAAC,iBAAiB,CAUvB;IAEF,OAAO,CAAC,YAAY,CACwB;IAE5C,OAAO,CAAC,iBAAiB,CAMvB;IAEF,SAAS,CAAC,eAAe,GAAI,KAAK,MAAM,EAAE,EAAE,MAAM,MAAM,KAAG,OAAO,CAQhE;IAEF;;;;OAIG;IACH,SAAS,CAAC,qBAAqB,GAC7B,MAAM,4BAA4B,CAAC,mBAAmB,CAAC,KACtD,4BAA4B,CAAC,mBAAmB,CAAC,CA2ClD;IAEF,4FAA4F;IAC5F,SAAS,CAAC,2BAA2B,GACnC,OAAO,4BAA4B,CAAC,mBAAmB,CAAC,KACvD,OAAO,CAAS;IAEnB;;;OAGG;IACH,SAAS,CAAC,mBAAmB,CAC3B,aAAa,EAAE,YAAY,EAC3B,eAAe,EAAE,MAAM,EAAE,GACxB,IAAI,GAAG,OAAO;IAMjB,OAAO,CAAC,WAAW;IAmBnB,+EAA+E;IAC/E,SAAS,CAAC,oBAAoB,IAAI,IAAI;IA2CtC,OAAO,CAAC,cAAc;IActB,kFAAkF;IAClF,OAAO,CAAC,oBAAoB;IA6C5B,mFAAmF;IACnF,SAAS,CAAC,eAAe,GACvB,SAAS,YAAY,EACrB,QAAQ,SAAS,MAAM,EAAE,EACzB,eAAe,MAAM,KACpB,YAAY,GAAG,IAAI,CAMpB;IAEF,OAAO,CAAC,IAAI;IAMZ;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IA2BnB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM;IAmBd,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,oBAAoB;CAe7B"}
|
package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts
CHANGED
|
@@ -19,7 +19,8 @@ interface LepuEcgTransferParams {
|
|
|
19
19
|
acceptFile?: (name: string) => boolean;
|
|
20
20
|
pollCommand?: number;
|
|
21
21
|
pollIntervalMs?: number;
|
|
22
|
-
|
|
22
|
+
/** Asked with each poll answer; without it, the stored files are read again after every poll. */
|
|
23
|
+
shouldStartTransfer?: (pollAnswer: readonly string[]) => boolean;
|
|
23
24
|
onProgress?: (progress: {
|
|
24
25
|
name: string;
|
|
25
26
|
receivedBytes: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lepu.ecg-transfer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAGjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAoB,MAAM,sBAAsB,CAAC;AAKlE,UAAU,qBAAqB;IAC7B,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"lepu.ecg-transfer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAGjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAoB,MAAM,sBAAsB,CAAC;AAKlE,UAAU,qBAAqB;IAC7B,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,iGAAiG;IACjG,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC;IACjE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;KACpB,KAAK,IAAI,CAAC;CACZ;AAUD,oFAAoF;AACpF,cAAM,wBAAyB,YAAW,gBAAgB;IAMrC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAL1C,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IACrD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;gBAER,MAAM,EAAE,qBAAqB;IAa1D,eAAe,QAAO,SAAS,aAAa,EAAE,CACnB;IAE3B,iBAAiB,QAAO,OAAO,CAAS;IAExC,gBAAgB,QAAO,MAAM,GAAG,SAAS,CAU9C;IAEF,2FAA2F;IACpF,gBAAgB,QAAO,oBAAoB,CAkBhD;IAEK,eAAe,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,SAAS,GAAG,UAAU,CAazE;IAEK,WAAW,GAChB,OAAO,SAAS,MAAM,EAAE,KACvB,SAAS,aAAa,EAAE,GAAG,SAAS,CAuBrC;IAEF,OAAO,CAAC,oBAAoB,CAS1B;IAEF,OAAO,CAAC,cAAc,CAMnB;IAEH,OAAO,CAAC,WAAW,CAcjB;IAEF,OAAO,CAAC,aAAa,CAgBnB;IAEF,OAAO,CAAC,cAAc,CAUpB;IAEF,OAAO,CAAC,WAAW,CAMhB;CACJ;AAED,QAAA,MAAM,YAAY,GAAI,YAAY,gBAAgB,KAAG,MAAM,EAe1D,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,CAAC;AAClD,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CustomLepuSpec } from "../../../types/custom-lepu-spec";
|
|
2
|
+
type RecordSavedStatus = NonNullable<CustomLepuSpec["recordSavedStatus"]>;
|
|
3
|
+
/** Spots the poll answer on which a recorder enters its record-saved state. */
|
|
4
|
+
declare class LepuRecordSavedWatch {
|
|
5
|
+
private readonly status;
|
|
6
|
+
private wasSaved;
|
|
7
|
+
constructor(status: RecordSavedStatus);
|
|
8
|
+
/** True on the first answer in the saved state, false on those that follow it. */
|
|
9
|
+
hasJustSaved: (pollAnswer: readonly string[]) => boolean;
|
|
10
|
+
}
|
|
11
|
+
export { LepuRecordSavedWatch };
|
|
12
|
+
//# sourceMappingURL=lepu.record-saved-watch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lepu.record-saved-watch.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAKjE,KAAK,iBAAiB,GAAG,WAAW,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAE1E,+EAA+E;AAC/E,cAAM,oBAAoB;IAGL,OAAO,CAAC,QAAQ,CAAC,MAAM;IAF1C,OAAO,CAAC,QAAQ,CAAS;gBAEW,MAAM,EAAE,iBAAiB;IAE7D,kFAAkF;IAC3E,YAAY,GAAI,YAAY,SAAS,MAAM,EAAE,KAAG,OAAO,CAQ5D;CACH;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|