@ovok/native 1.6.15 → 1.6.16
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/devices/bp2/bp2.device.js +39 -4
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +39 -1
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js +39 -4
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +39 -1
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts +7 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -6,8 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.BP2_ECG_MILLIVOLTS_PER_COUNT = exports.BP2Device = void 0;
|
|
7
7
|
var _core = require("@ovok/core");
|
|
8
8
|
var _BloodPressureStates = require("@ovok/core/dist/client/observation/types/measurement/BloodPressureStates");
|
|
9
|
+
var _sentryLogger = require("../../../../helpers/utils/sentry-logger.js");
|
|
9
10
|
var _bloodPressureTranslatedExceptionMap = require("../../../constants/blood-pressure-translated-exception-map.js");
|
|
10
11
|
var _caseType = require("../../../types/case-type.js");
|
|
12
|
+
var _deviceStatus = require("../../../types/device-status.js");
|
|
11
13
|
var _hexToByte = require("../../../utils/hex-to-byte.js");
|
|
12
14
|
var _i16FromHex = require("../../../utils/i-16-from-hex.js");
|
|
13
15
|
var _le16FromHex = require("../../../utils/le-16-from-hex.js");
|
|
@@ -27,16 +29,23 @@ const BP2_PREFERRED_MTU = 247;
|
|
|
27
29
|
|
|
28
30
|
/** BP2 ECG waveform resolution from the device protocol. */
|
|
29
31
|
const BP2_ECG_MILLIVOLTS_PER_COUNT = exports.BP2_ECG_MILLIVOLTS_PER_COUNT = 0.003098;
|
|
32
|
+
const BP2_ECG_SAMPLES_PER_SECOND = 250;
|
|
33
|
+
const BP2_ECG_SAMPLE_TOLERANCE = BP2_ECG_SAMPLES_PER_SECOND;
|
|
30
34
|
class BP2Device extends _btManagedDevice.BTManagedDevice {
|
|
31
35
|
collectedValues = [];
|
|
32
36
|
diagramPoints = [];
|
|
33
37
|
duration = 0;
|
|
34
38
|
historyMode = false;
|
|
35
39
|
historyRequested = false;
|
|
40
|
+
orphanHistoryMode = false;
|
|
36
41
|
pendingResults = new Map();
|
|
37
42
|
reportedFileNames = new Set();
|
|
38
43
|
mainServices = _bp2MainServices.bp2MainServices;
|
|
39
44
|
stuckDataTimeout = 5_000;
|
|
45
|
+
constructor(device, params) {
|
|
46
|
+
super(device, params);
|
|
47
|
+
this.deliveredEcgFileNames = new Set(params.deliveredEcgFileNames ?? []);
|
|
48
|
+
}
|
|
40
49
|
onStreamStart = () => {
|
|
41
50
|
this.collectedValues = [];
|
|
42
51
|
this.diagramPoints = [];
|
|
@@ -46,6 +55,7 @@ class BP2Device extends _btManagedDevice.BTManagedDevice {
|
|
|
46
55
|
createCommandSequencer = () => {
|
|
47
56
|
this.historyMode = true;
|
|
48
57
|
this.historyRequested = false;
|
|
58
|
+
this.orphanHistoryMode = false;
|
|
49
59
|
this.lastLiveResultSignature = undefined;
|
|
50
60
|
this.pendingResults.clear();
|
|
51
61
|
this.reportedFileNames.clear();
|
|
@@ -62,7 +72,11 @@ class BP2Device extends _btManagedDevice.BTManagedDevice {
|
|
|
62
72
|
shouldStartTransfer: () => this.historyRequested,
|
|
63
73
|
onTransferRequested: () => {
|
|
64
74
|
this.historyRequested = false;
|
|
65
|
-
}
|
|
75
|
+
},
|
|
76
|
+
onOrphanStreamEnd: () => {
|
|
77
|
+
this.orphanHistoryMode = true;
|
|
78
|
+
},
|
|
79
|
+
skipFiles: this.deliveredEcgFileNames
|
|
66
80
|
});
|
|
67
81
|
};
|
|
68
82
|
frameReader = new _bp2FrameReader.BP2FrameReader();
|
|
@@ -111,7 +125,19 @@ class BP2Device extends _btManagedDevice.BTManagedDevice {
|
|
|
111
125
|
const data = this.collectedValues.slice(dataStart, dataEnd);
|
|
112
126
|
|
|
113
127
|
// Duration + special_status + pulse_rate + reserved[10]
|
|
114
|
-
|
|
128
|
+
const duration = (0, _le32FromHex.le32FromHex)(data, 0x0a);
|
|
129
|
+
if (duration < this.duration) {
|
|
130
|
+
const droppedSamples = this.diagramPoints.length;
|
|
131
|
+
(0, _sentryLogger.sentryLogger)("info", "BT_MANAGER: BP2 ECG stream restarted", {
|
|
132
|
+
deviceId: this.deviceData.id,
|
|
133
|
+
previousDuration: this.duration,
|
|
134
|
+
duration,
|
|
135
|
+
droppedSamples
|
|
136
|
+
});
|
|
137
|
+
this.diagramPoints = [];
|
|
138
|
+
this.onDeviceStatusChanged?.(_deviceStatus.DeviceStatus.MEASURING, _core.MeasurementTypeKey.ecg);
|
|
139
|
+
}
|
|
140
|
+
this.duration = duration;
|
|
115
141
|
|
|
116
142
|
// sampling_num at data[0x1E..0x1F] ➜ Waveform.sampling_num :contentReference[oaicite:10]{index=10}
|
|
117
143
|
const samplingNum = (0, _le16FromHex.le16FromHex)(data, 0x1e);
|
|
@@ -182,7 +208,8 @@ class BP2Device extends _btManagedDevice.BTManagedDevice {
|
|
|
182
208
|
return;
|
|
183
209
|
}
|
|
184
210
|
const pending = this.pendingResults.get(decoded.measurementTypeKey);
|
|
185
|
-
|
|
211
|
+
const isOrphanEcg = this.orphanHistoryMode && decoded.measurementTypeKey === _core.MeasurementTypeKey.ecg;
|
|
212
|
+
if (!isOrphanEcg && (!pending || !this.matchesPendingResult(pending, decoded))) {
|
|
186
213
|
return;
|
|
187
214
|
}
|
|
188
215
|
this.reportedFileNames.add(file.name);
|
|
@@ -237,7 +264,15 @@ class BP2Device extends _btManagedDevice.BTManagedDevice {
|
|
|
237
264
|
if (ecgMeasurement.duration === undefined || ecgMeasurement.duration < 10) {
|
|
238
265
|
return "feedback-messages.measurement.insufficient-data-length";
|
|
239
266
|
}
|
|
240
|
-
if (ecgMeasurement.diagramPoints.length === 0
|
|
267
|
+
if (ecgMeasurement.diagramPoints.length === 0) {
|
|
268
|
+
return "feedback-messages.measurement.insufficient-data-length";
|
|
269
|
+
}
|
|
270
|
+
if (ecgMeasurement.duration > 0) {
|
|
271
|
+
const expectedSamples = ecgMeasurement.duration * BP2_ECG_SAMPLES_PER_SECOND;
|
|
272
|
+
if (ecgMeasurement.diagramPoints.length < expectedSamples - BP2_ECG_SAMPLE_TOLERANCE || ecgMeasurement.diagramPoints.length > expectedSamples + BP2_ECG_SAMPLE_TOLERANCE) {
|
|
273
|
+
return "feedback-messages.measurement.insufficient-data-length";
|
|
274
|
+
}
|
|
275
|
+
} else if (ecgMeasurement.diagramPoints.length < 3500) {
|
|
241
276
|
return "feedback-messages.measurement.insufficient-data-length";
|
|
242
277
|
}
|
|
243
278
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_BloodPressureStates","_bloodPressureTranslatedExceptionMap","_caseType","_hexToByte","_i16FromHex","_le16FromHex","_le32FromHex","_btManagedDevice","_bp2Files","_bp2FrameReader","_bp2HistorySequencer","_bp2MainServices","BP2_PREFERRED_MTU","BP2_ECG_MILLIVOLTS_PER_COUNT","exports","BP2Device","BTManagedDevice","collectedValues","diagramPoints","duration","historyMode","historyRequested","pendingResults","Map","reportedFileNames","Set","mainServices","bp2MainServices","stuckDataTimeout","onStreamStart","lastLiveResultSignature","undefined","createCommandSequencer","clear","service","write","writeUuid","BP2HistorySequencer","serviceUuid","uuid","characteristicUuid","onFile","handleHistoryFile","onError","handleHistoryError","onTransferFinished","reportPendingResults","shouldStartTransfer","onTransferRequested","frameReader","BP2FrameReader","preferredMtu","handleSuccessResult","successResult","measurementTypeKey","caseType","Error","MeasurementTypeKey","ecg","handleEcgResult","bloodPressure","handleBloodPressureResult","CaseType","RESULT","error","checkIfHasErrorForEcg","queueHistoryResult","onResult","handleEcgStream","lenL","hexToByte","lenH","dataLen","dataStart","dataEnd","data","slice","le32FromHex","samplingNum","le16FromHex","samplesStart","i","byteIndexInData","sampleVal","i16FromHex","push","checkIfHasErrorForBloodPressure","bpMeasurement","status","diastolic","systolic","heartRate","BloodPressureStates","REGULAR","errorString","bloodPressureTranslatedExceptionMap","get","DEVICE_ERROR","result","signature","signatureFor","set","join","diagnosticResult","file","has","name","decoded","decodeBP2File","content","pending","matchesPendingResult","add","delete","pendingBloodPressure","decodedBloodPressure","pendingEcg","decodedEcg","reason","forEach","ecgMeasurement","EcgDiagnosticFlag","POOR_WAVEFORM","LEAD_OFF","length"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.device.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_core","require","_BloodPressureStates","_sentryLogger","_bloodPressureTranslatedExceptionMap","_caseType","_deviceStatus","_hexToByte","_i16FromHex","_le16FromHex","_le32FromHex","_btManagedDevice","_bp2Files","_bp2FrameReader","_bp2HistorySequencer","_bp2MainServices","BP2_PREFERRED_MTU","BP2_ECG_MILLIVOLTS_PER_COUNT","exports","BP2_ECG_SAMPLES_PER_SECOND","BP2_ECG_SAMPLE_TOLERANCE","BP2Device","BTManagedDevice","collectedValues","diagramPoints","duration","historyMode","historyRequested","orphanHistoryMode","pendingResults","Map","reportedFileNames","Set","mainServices","bp2MainServices","stuckDataTimeout","constructor","device","params","deliveredEcgFileNames","onStreamStart","lastLiveResultSignature","undefined","createCommandSequencer","clear","service","write","writeUuid","BP2HistorySequencer","serviceUuid","uuid","characteristicUuid","onFile","handleHistoryFile","onError","handleHistoryError","onTransferFinished","reportPendingResults","shouldStartTransfer","onTransferRequested","onOrphanStreamEnd","skipFiles","frameReader","BP2FrameReader","preferredMtu","handleSuccessResult","successResult","measurementTypeKey","caseType","Error","MeasurementTypeKey","ecg","handleEcgResult","bloodPressure","handleBloodPressureResult","CaseType","RESULT","error","checkIfHasErrorForEcg","queueHistoryResult","onResult","handleEcgStream","lenL","hexToByte","lenH","dataLen","dataStart","dataEnd","data","slice","le32FromHex","droppedSamples","length","sentryLogger","deviceId","deviceData","id","previousDuration","onDeviceStatusChanged","DeviceStatus","MEASURING","samplingNum","le16FromHex","samplesStart","i","byteIndexInData","sampleVal","i16FromHex","push","checkIfHasErrorForBloodPressure","bpMeasurement","status","diastolic","systolic","heartRate","BloodPressureStates","REGULAR","errorString","bloodPressureTranslatedExceptionMap","get","DEVICE_ERROR","result","signature","signatureFor","set","join","diagnosticResult","file","has","name","decoded","decodeBP2File","content","pending","isOrphanEcg","matchesPendingResult","add","delete","pendingBloodPressure","decodedBloodPressure","pendingEcg","decodedEcg","reason","forEach","ecgMeasurement","EcgDiagnosticFlag","POOR_WAVEFORM","LEAD_OFF","expectedSamples"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,14 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.BP2_REALTIME_COMMAND = exports.BP2HistorySequencer = void 0;
|
|
7
|
+
var _sentryLogger = require("../../../../helpers/utils/sentry-logger.js");
|
|
7
8
|
var _hexToByte = require("../../../utils/hex-to-byte.js");
|
|
8
9
|
var _lepuCommandBuilder = require("../lepu/lepu.command-builder.js");
|
|
9
10
|
var _lepuFileTransfer = require("../lepu/lepu.file-transfer.js");
|
|
10
11
|
const BP2_REALTIME_COMMAND = exports.BP2_REALTIME_COMMAND = 0x08;
|
|
11
12
|
const BP2_RESULT_STATES = new Set(["05", "07", "11"]);
|
|
13
|
+
const BP2_ECG_STATE = "06";
|
|
14
|
+
const BP2_IDLE_STATES = new Set(["00", "01", "03"]);
|
|
12
15
|
/** Reads BP2 history only after a realtime result asks for its device timestamp. */
|
|
13
16
|
class BP2HistorySequencer {
|
|
14
17
|
builder = new _lepuCommandBuilder.LepuCommandBuilder();
|
|
18
|
+
lastRunStatusFrameCount = 0;
|
|
19
|
+
realtimeEcgActive = false;
|
|
15
20
|
constructor(params) {
|
|
16
21
|
this.params = params;
|
|
17
22
|
}
|
|
@@ -21,7 +26,16 @@ class BP2HistorySequencer {
|
|
|
21
26
|
if (this.transfer) {
|
|
22
27
|
return this.transfer.nextCommand(frame);
|
|
23
28
|
}
|
|
24
|
-
|
|
29
|
+
this.logRunStatus(frame);
|
|
30
|
+
const isResult = this.isResultFrame(frame);
|
|
31
|
+
const endedWithoutResult = this.realtimeEcgActive && this.isIdleFrame(frame);
|
|
32
|
+
if (isResult) {
|
|
33
|
+
this.realtimeEcgActive = false;
|
|
34
|
+
} else if (endedWithoutResult) {
|
|
35
|
+
this.realtimeEcgActive = false;
|
|
36
|
+
this.params.onOrphanStreamEnd();
|
|
37
|
+
}
|
|
38
|
+
if (this.params.shouldStartTransfer() || endedWithoutResult) {
|
|
25
39
|
this.params.onTransferRequested();
|
|
26
40
|
return this.startTransfer();
|
|
27
41
|
}
|
|
@@ -33,6 +47,7 @@ class BP2HistorySequencer {
|
|
|
33
47
|
builder: this.builder,
|
|
34
48
|
onFile: this.params.onFile,
|
|
35
49
|
onError: this.params.onError,
|
|
50
|
+
skipFiles: this.params.skipFiles,
|
|
36
51
|
afterTransfer: this.finishTransfer
|
|
37
52
|
});
|
|
38
53
|
return this.transfer.initialCommands();
|
|
@@ -47,6 +62,29 @@ class BP2HistorySequencer {
|
|
|
47
62
|
frame: this.builder.build(BP2_REALTIME_COMMAND)
|
|
48
63
|
});
|
|
49
64
|
isResultFrame = frame => (0, _hexToByte.hexToByte)(frame[1] ?? "0") === BP2_REALTIME_COMMAND && BP2_RESULT_STATES.has((frame[7] ?? "").toLowerCase());
|
|
65
|
+
isIdleFrame = frame => (0, _hexToByte.hexToByte)(frame[1] ?? "0") === BP2_REALTIME_COMMAND && BP2_IDLE_STATES.has((frame[7] ?? "").toLowerCase());
|
|
66
|
+
logRunStatus = frame => {
|
|
67
|
+
if ((0, _hexToByte.hexToByte)(frame[1] ?? "0") !== BP2_REALTIME_COMMAND) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const runStatus = (frame[7] ?? "").toLowerCase();
|
|
71
|
+
if (runStatus === BP2_ECG_STATE) {
|
|
72
|
+
this.realtimeEcgActive = true;
|
|
73
|
+
}
|
|
74
|
+
if (runStatus === this.lastRunStatus) {
|
|
75
|
+
this.lastRunStatusFrameCount++;
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
if (this.lastRunStatus !== undefined) {
|
|
79
|
+
(0, _sentryLogger.sentryLogger)("info", "BT_MANAGER: BP2 run status changed", {
|
|
80
|
+
from: this.lastRunStatus,
|
|
81
|
+
to: runStatus,
|
|
82
|
+
previousFrameCount: this.lastRunStatusFrameCount
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
this.lastRunStatus = runStatus;
|
|
86
|
+
this.lastRunStatusFrameCount = 1;
|
|
87
|
+
};
|
|
50
88
|
}
|
|
51
89
|
exports.BP2HistorySequencer = BP2HistorySequencer;
|
|
52
90
|
//# sourceMappingURL=bp2.history-sequencer.js.map
|
package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_sentryLogger","require","_hexToByte","_lepuCommandBuilder","_lepuFileTransfer","BP2_REALTIME_COMMAND","exports","BP2_RESULT_STATES","Set","BP2_ECG_STATE","BP2_IDLE_STATES","BP2HistorySequencer","builder","LepuCommandBuilder","lastRunStatusFrameCount","realtimeEcgActive","constructor","params","initialCommands","pollCommand","isHistoryTransfer","nextCommand","frame","transfer","logRunStatus","isResult","isResultFrame","endedWithoutResult","isIdleFrame","onOrphanStreamEnd","shouldStartTransfer","onTransferRequested","startTransfer","undefined","LepuFileTransfer","write","onFile","onError","skipFiles","afterTransfer","finishTransfer","onTransferFinished","build","hexToByte","has","toLowerCase","runStatus","lastRunStatus","sentryLogger","from","to","previousFrameCount"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.history-sequencer.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,8 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
import { MeasurementTypeKey, EcgDiagnosticFlag } from "@ovok/core";
|
|
6
6
|
import { BloodPressureStates } from "@ovok/core/dist/client/observation/types/measurement/BloodPressureStates";
|
|
7
|
+
import { sentryLogger } from "../../../../helpers/utils/sentry-logger.js";
|
|
7
8
|
import { bloodPressureTranslatedExceptionMap } from "../../../constants/blood-pressure-translated-exception-map.js";
|
|
8
9
|
import { CaseType } from "../../../types/case-type.js";
|
|
10
|
+
import { DeviceStatus } from "../../../types/device-status.js";
|
|
9
11
|
import { hexToByte } from "../../../utils/hex-to-byte.js";
|
|
10
12
|
import { i16FromHex } from "../../../utils/i-16-from-hex.js";
|
|
11
13
|
import { le16FromHex } from "../../../utils/le-16-from-hex.js";
|
|
@@ -24,16 +26,23 @@ const BP2_PREFERRED_MTU = 247;
|
|
|
24
26
|
|
|
25
27
|
/** BP2 ECG waveform resolution from the device protocol. */
|
|
26
28
|
const BP2_ECG_MILLIVOLTS_PER_COUNT = 0.003098;
|
|
29
|
+
const BP2_ECG_SAMPLES_PER_SECOND = 250;
|
|
30
|
+
const BP2_ECG_SAMPLE_TOLERANCE = BP2_ECG_SAMPLES_PER_SECOND;
|
|
27
31
|
class BP2Device extends BTManagedDevice {
|
|
28
32
|
collectedValues = [];
|
|
29
33
|
diagramPoints = [];
|
|
30
34
|
duration = 0;
|
|
31
35
|
historyMode = false;
|
|
32
36
|
historyRequested = false;
|
|
37
|
+
orphanHistoryMode = false;
|
|
33
38
|
pendingResults = new Map();
|
|
34
39
|
reportedFileNames = new Set();
|
|
35
40
|
mainServices = bp2MainServices;
|
|
36
41
|
stuckDataTimeout = 5_000;
|
|
42
|
+
constructor(device, params) {
|
|
43
|
+
super(device, params);
|
|
44
|
+
this.deliveredEcgFileNames = new Set(params.deliveredEcgFileNames ?? []);
|
|
45
|
+
}
|
|
37
46
|
onStreamStart = () => {
|
|
38
47
|
this.collectedValues = [];
|
|
39
48
|
this.diagramPoints = [];
|
|
@@ -43,6 +52,7 @@ class BP2Device extends BTManagedDevice {
|
|
|
43
52
|
createCommandSequencer = () => {
|
|
44
53
|
this.historyMode = true;
|
|
45
54
|
this.historyRequested = false;
|
|
55
|
+
this.orphanHistoryMode = false;
|
|
46
56
|
this.lastLiveResultSignature = undefined;
|
|
47
57
|
this.pendingResults.clear();
|
|
48
58
|
this.reportedFileNames.clear();
|
|
@@ -59,7 +69,11 @@ class BP2Device extends BTManagedDevice {
|
|
|
59
69
|
shouldStartTransfer: () => this.historyRequested,
|
|
60
70
|
onTransferRequested: () => {
|
|
61
71
|
this.historyRequested = false;
|
|
62
|
-
}
|
|
72
|
+
},
|
|
73
|
+
onOrphanStreamEnd: () => {
|
|
74
|
+
this.orphanHistoryMode = true;
|
|
75
|
+
},
|
|
76
|
+
skipFiles: this.deliveredEcgFileNames
|
|
63
77
|
});
|
|
64
78
|
};
|
|
65
79
|
frameReader = new BP2FrameReader();
|
|
@@ -108,7 +122,19 @@ class BP2Device extends BTManagedDevice {
|
|
|
108
122
|
const data = this.collectedValues.slice(dataStart, dataEnd);
|
|
109
123
|
|
|
110
124
|
// Duration + special_status + pulse_rate + reserved[10]
|
|
111
|
-
|
|
125
|
+
const duration = le32FromHex(data, 0x0a);
|
|
126
|
+
if (duration < this.duration) {
|
|
127
|
+
const droppedSamples = this.diagramPoints.length;
|
|
128
|
+
sentryLogger("info", "BT_MANAGER: BP2 ECG stream restarted", {
|
|
129
|
+
deviceId: this.deviceData.id,
|
|
130
|
+
previousDuration: this.duration,
|
|
131
|
+
duration,
|
|
132
|
+
droppedSamples
|
|
133
|
+
});
|
|
134
|
+
this.diagramPoints = [];
|
|
135
|
+
this.onDeviceStatusChanged?.(DeviceStatus.MEASURING, MeasurementTypeKey.ecg);
|
|
136
|
+
}
|
|
137
|
+
this.duration = duration;
|
|
112
138
|
|
|
113
139
|
// sampling_num at data[0x1E..0x1F] ➜ Waveform.sampling_num :contentReference[oaicite:10]{index=10}
|
|
114
140
|
const samplingNum = le16FromHex(data, 0x1e);
|
|
@@ -179,7 +205,8 @@ class BP2Device extends BTManagedDevice {
|
|
|
179
205
|
return;
|
|
180
206
|
}
|
|
181
207
|
const pending = this.pendingResults.get(decoded.measurementTypeKey);
|
|
182
|
-
|
|
208
|
+
const isOrphanEcg = this.orphanHistoryMode && decoded.measurementTypeKey === MeasurementTypeKey.ecg;
|
|
209
|
+
if (!isOrphanEcg && (!pending || !this.matchesPendingResult(pending, decoded))) {
|
|
183
210
|
return;
|
|
184
211
|
}
|
|
185
212
|
this.reportedFileNames.add(file.name);
|
|
@@ -234,7 +261,15 @@ class BP2Device extends BTManagedDevice {
|
|
|
234
261
|
if (ecgMeasurement.duration === undefined || ecgMeasurement.duration < 10) {
|
|
235
262
|
return "feedback-messages.measurement.insufficient-data-length";
|
|
236
263
|
}
|
|
237
|
-
if (ecgMeasurement.diagramPoints.length === 0
|
|
264
|
+
if (ecgMeasurement.diagramPoints.length === 0) {
|
|
265
|
+
return "feedback-messages.measurement.insufficient-data-length";
|
|
266
|
+
}
|
|
267
|
+
if (ecgMeasurement.duration > 0) {
|
|
268
|
+
const expectedSamples = ecgMeasurement.duration * BP2_ECG_SAMPLES_PER_SECOND;
|
|
269
|
+
if (ecgMeasurement.diagramPoints.length < expectedSamples - BP2_ECG_SAMPLE_TOLERANCE || ecgMeasurement.diagramPoints.length > expectedSamples + BP2_ECG_SAMPLE_TOLERANCE) {
|
|
270
|
+
return "feedback-messages.measurement.insufficient-data-length";
|
|
271
|
+
}
|
|
272
|
+
} else if (ecgMeasurement.diagramPoints.length < 3500) {
|
|
238
273
|
return "feedback-messages.measurement.insufficient-data-length";
|
|
239
274
|
}
|
|
240
275
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","EcgDiagnosticFlag","BloodPressureStates","bloodPressureTranslatedExceptionMap","CaseType","hexToByte","i16FromHex","le16FromHex","le32FromHex","BTManagedDevice","decodeBP2File","BP2FrameReader","BP2HistorySequencer","bp2MainServices","BP2_PREFERRED_MTU","BP2_ECG_MILLIVOLTS_PER_COUNT","BP2Device","collectedValues","diagramPoints","duration","historyMode","historyRequested","pendingResults","Map","reportedFileNames","Set","mainServices","stuckDataTimeout","onStreamStart","lastLiveResultSignature","undefined","createCommandSequencer","clear","service","write","writeUuid","serviceUuid","uuid","characteristicUuid","onFile","handleHistoryFile","onError","handleHistoryError","onTransferFinished","reportPendingResults","shouldStartTransfer","onTransferRequested","frameReader","preferredMtu","handleSuccessResult","successResult","measurementTypeKey","caseType","Error","ecg","handleEcgResult","bloodPressure","handleBloodPressureResult","RESULT","error","checkIfHasErrorForEcg","queueHistoryResult","onResult","handleEcgStream","lenL","lenH","dataLen","dataStart","dataEnd","data","slice","samplingNum","samplesStart","i","byteIndexInData","sampleVal","push","checkIfHasErrorForBloodPressure","bpMeasurement","status","diastolic","systolic","heartRate","REGULAR","errorString","get","DEVICE_ERROR","result","signature","signatureFor","set","join","diagnosticResult","file","has","name","decoded","content","pending","matchesPendingResult","add","delete","pendingBloodPressure","decodedBloodPressure","pendingEcg","decodedEcg","reason","forEach","ecgMeasurement","POOR_WAVEFORM","LEAD_OFF","length"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.device.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","EcgDiagnosticFlag","BloodPressureStates","sentryLogger","bloodPressureTranslatedExceptionMap","CaseType","DeviceStatus","hexToByte","i16FromHex","le16FromHex","le32FromHex","BTManagedDevice","decodeBP2File","BP2FrameReader","BP2HistorySequencer","bp2MainServices","BP2_PREFERRED_MTU","BP2_ECG_MILLIVOLTS_PER_COUNT","BP2_ECG_SAMPLES_PER_SECOND","BP2_ECG_SAMPLE_TOLERANCE","BP2Device","collectedValues","diagramPoints","duration","historyMode","historyRequested","orphanHistoryMode","pendingResults","Map","reportedFileNames","Set","mainServices","stuckDataTimeout","constructor","device","params","deliveredEcgFileNames","onStreamStart","lastLiveResultSignature","undefined","createCommandSequencer","clear","service","write","writeUuid","serviceUuid","uuid","characteristicUuid","onFile","handleHistoryFile","onError","handleHistoryError","onTransferFinished","reportPendingResults","shouldStartTransfer","onTransferRequested","onOrphanStreamEnd","skipFiles","frameReader","preferredMtu","handleSuccessResult","successResult","measurementTypeKey","caseType","Error","ecg","handleEcgResult","bloodPressure","handleBloodPressureResult","RESULT","error","checkIfHasErrorForEcg","queueHistoryResult","onResult","handleEcgStream","lenL","lenH","dataLen","dataStart","dataEnd","data","slice","droppedSamples","length","deviceId","deviceData","id","previousDuration","onDeviceStatusChanged","MEASURING","samplingNum","samplesStart","i","byteIndexInData","sampleVal","push","checkIfHasErrorForBloodPressure","bpMeasurement","status","diastolic","systolic","heartRate","REGULAR","errorString","get","DEVICE_ERROR","result","signature","signatureFor","set","join","diagnosticResult","file","has","name","decoded","content","pending","isOrphanEcg","matchesPendingResult","add","delete","pendingBloodPressure","decodedBloodPressure","pendingEcg","decodedEcg","reason","forEach","ecgMeasurement","POOR_WAVEFORM","LEAD_OFF","expectedSamples"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { sentryLogger } from "../../../../helpers/utils/sentry-logger.js";
|
|
3
4
|
import { hexToByte } from "../../../utils/hex-to-byte.js";
|
|
4
5
|
import { LepuCommandBuilder } from "../lepu/lepu.command-builder.js";
|
|
5
6
|
import { LepuFileTransfer } from "../lepu/lepu.file-transfer.js";
|
|
6
7
|
const BP2_REALTIME_COMMAND = 0x08;
|
|
7
8
|
const BP2_RESULT_STATES = new Set(["05", "07", "11"]);
|
|
9
|
+
const BP2_ECG_STATE = "06";
|
|
10
|
+
const BP2_IDLE_STATES = new Set(["00", "01", "03"]);
|
|
8
11
|
/** Reads BP2 history only after a realtime result asks for its device timestamp. */
|
|
9
12
|
class BP2HistorySequencer {
|
|
10
13
|
builder = new LepuCommandBuilder();
|
|
14
|
+
lastRunStatusFrameCount = 0;
|
|
15
|
+
realtimeEcgActive = false;
|
|
11
16
|
constructor(params) {
|
|
12
17
|
this.params = params;
|
|
13
18
|
}
|
|
@@ -17,7 +22,16 @@ class BP2HistorySequencer {
|
|
|
17
22
|
if (this.transfer) {
|
|
18
23
|
return this.transfer.nextCommand(frame);
|
|
19
24
|
}
|
|
20
|
-
|
|
25
|
+
this.logRunStatus(frame);
|
|
26
|
+
const isResult = this.isResultFrame(frame);
|
|
27
|
+
const endedWithoutResult = this.realtimeEcgActive && this.isIdleFrame(frame);
|
|
28
|
+
if (isResult) {
|
|
29
|
+
this.realtimeEcgActive = false;
|
|
30
|
+
} else if (endedWithoutResult) {
|
|
31
|
+
this.realtimeEcgActive = false;
|
|
32
|
+
this.params.onOrphanStreamEnd();
|
|
33
|
+
}
|
|
34
|
+
if (this.params.shouldStartTransfer() || endedWithoutResult) {
|
|
21
35
|
this.params.onTransferRequested();
|
|
22
36
|
return this.startTransfer();
|
|
23
37
|
}
|
|
@@ -29,6 +43,7 @@ class BP2HistorySequencer {
|
|
|
29
43
|
builder: this.builder,
|
|
30
44
|
onFile: this.params.onFile,
|
|
31
45
|
onError: this.params.onError,
|
|
46
|
+
skipFiles: this.params.skipFiles,
|
|
32
47
|
afterTransfer: this.finishTransfer
|
|
33
48
|
});
|
|
34
49
|
return this.transfer.initialCommands();
|
|
@@ -43,6 +58,29 @@ class BP2HistorySequencer {
|
|
|
43
58
|
frame: this.builder.build(BP2_REALTIME_COMMAND)
|
|
44
59
|
});
|
|
45
60
|
isResultFrame = frame => hexToByte(frame[1] ?? "0") === BP2_REALTIME_COMMAND && BP2_RESULT_STATES.has((frame[7] ?? "").toLowerCase());
|
|
61
|
+
isIdleFrame = frame => hexToByte(frame[1] ?? "0") === BP2_REALTIME_COMMAND && BP2_IDLE_STATES.has((frame[7] ?? "").toLowerCase());
|
|
62
|
+
logRunStatus = frame => {
|
|
63
|
+
if (hexToByte(frame[1] ?? "0") !== BP2_REALTIME_COMMAND) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const runStatus = (frame[7] ?? "").toLowerCase();
|
|
67
|
+
if (runStatus === BP2_ECG_STATE) {
|
|
68
|
+
this.realtimeEcgActive = true;
|
|
69
|
+
}
|
|
70
|
+
if (runStatus === this.lastRunStatus) {
|
|
71
|
+
this.lastRunStatusFrameCount++;
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (this.lastRunStatus !== undefined) {
|
|
75
|
+
sentryLogger("info", "BT_MANAGER: BP2 run status changed", {
|
|
76
|
+
from: this.lastRunStatus,
|
|
77
|
+
to: runStatus,
|
|
78
|
+
previousFrameCount: this.lastRunStatusFrameCount
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
this.lastRunStatus = runStatus;
|
|
82
|
+
this.lastRunStatusFrameCount = 1;
|
|
83
|
+
};
|
|
46
84
|
}
|
|
47
85
|
export { BP2HistorySequencer, BP2_REALTIME_COMMAND };
|
|
48
86
|
//# sourceMappingURL=bp2.history-sequencer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["hexToByte","LepuCommandBuilder","LepuFileTransfer","BP2_REALTIME_COMMAND","BP2_RESULT_STATES","Set","BP2HistorySequencer","builder","constructor","params","initialCommands","pollCommand","isHistoryTransfer","nextCommand","frame","transfer","
|
|
1
|
+
{"version":3,"names":["sentryLogger","hexToByte","LepuCommandBuilder","LepuFileTransfer","BP2_REALTIME_COMMAND","BP2_RESULT_STATES","Set","BP2_ECG_STATE","BP2_IDLE_STATES","BP2HistorySequencer","builder","lastRunStatusFrameCount","realtimeEcgActive","constructor","params","initialCommands","pollCommand","isHistoryTransfer","nextCommand","frame","transfer","logRunStatus","isResult","isResultFrame","endedWithoutResult","isIdleFrame","onOrphanStreamEnd","shouldStartTransfer","onTransferRequested","startTransfer","undefined","write","onFile","onError","skipFiles","afterTransfer","finishTransfer","onTransferFinished","build","has","toLowerCase","runStatus","lastRunStatus","from","to","previousFrameCount"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.history-sequencer.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4CAAyC;AAGtE,SAASC,SAAS,QAAQ,+BAA4B;AACtD,SAASC,kBAAkB,QAAQ,iCAA8B;AACjE,SAAmBC,gBAAgB,QAAQ,+BAA4B;AAEvE,MAAMC,oBAAoB,GAAG,IAAI;AACjC,MAAMC,iBAAiB,GAAG,IAAIC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACrD,MAAMC,aAAa,GAAG,IAAI;AAC1B,MAAMC,eAAe,GAAG,IAAIF,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAanD;AACA,MAAMG,mBAAmB,CAA6B;EACnCC,OAAO,GAAG,IAAIR,kBAAkB,CAAC,CAAC;EAG3CS,uBAAuB,GAAG,CAAC;EAC3BC,iBAAiB,GAAG,KAAK;EAE1BC,WAAWA,CAAkBC,MAAiC,EAAE;IAAA,KAAnCA,MAAiC,GAAjCA,MAAiC;EAAG;EAEjEC,eAAe,GAAGA,CAAA,KAAgC,CACvD,IAAI,CAACC,WAAW,CAAC,CAAC,CACnB;EAEMC,iBAAiB,GAAGA,CAAA,KAAe,IAAI;EAEvCC,WAAW,GAChBC,KAAwB,IACiB;IACzC,IAAI,IAAI,CAACC,QAAQ,EAAE;MACjB,OAAO,IAAI,CAACA,QAAQ,CAACF,WAAW,CAACC,KAAK,CAAC;IACzC;IAEA,IAAI,CAACE,YAAY,CAACF,KAAK,CAAC;IAExB,MAAMG,QAAQ,GAAG,IAAI,CAACC,aAAa,CAACJ,KAAK,CAAC;IAE1C,MAAMK,kBAAkB,GACtB,IAAI,CAACZ,iBAAiB,IAAI,IAAI,CAACa,WAAW,CAACN,KAAK,CAAC;IAEnD,IAAIG,QAAQ,EAAE;MACZ,IAAI,CAACV,iBAAiB,GAAG,KAAK;IAChC,CAAC,MAAM,IAAIY,kBAAkB,EAAE;MAC7B,IAAI,CAACZ,iBAAiB,GAAG,KAAK;MAC9B,IAAI,CAACE,MAAM,CAACY,iBAAiB,CAAC,CAAC;IACjC;IAEA,IAAI,IAAI,CAACZ,MAAM,CAACa,mBAAmB,CAAC,CAAC,IAAIH,kBAAkB,EAAE;MAC3D,IAAI,CAACV,MAAM,CAACc,mBAAmB,CAAC,CAAC;MAEjC,OAAO,IAAI,CAACC,aAAa,CAAC,CAAC;IAC7B;IAEA,OAAOC,SAAS;EAClB,CAAC;EAEOD,aAAa,GAAGA,CAAA,KAAgC;IACtD,IAAI,CAACT,QAAQ,GAAG,IAAIjB,gBAAgB,CAAC;MACnC4B,KAAK,EAAE,IAAI,CAACjB,MAAM,CAACiB,KAAK;MACxBrB,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBsB,MAAM,EAAE,IAAI,CAAClB,MAAM,CAACkB,MAAM;MAC1BC,OAAO,EAAE,IAAI,CAACnB,MAAM,CAACmB,OAAO;MAC5BC,SAAS,EAAE,IAAI,CAACpB,MAAM,CAACoB,SAAS;MAChCC,aAAa,EAAE,IAAI,CAACC;IACtB,CAAC,CAAC;IAEF,OAAO,IAAI,CAAChB,QAAQ,CAACL,eAAe,CAAC,CAAC;EACxC,CAAC;EAEOqB,cAAc,GAAGA,CAAA,KAAgC;IACvD,IAAI,CAAChB,QAAQ,GAAGU,SAAS;IACzB,IAAI,CAAChB,MAAM,CAACuB,kBAAkB,CAAC,CAAC;IAEhC,OAAO,CAAC,IAAI,CAACrB,WAAW,CAAC,CAAC,CAAC;EAC7B,CAAC;EAEOA,WAAW,GAAGA,CAAA,MAAsB;IAC1C,GAAG,IAAI,CAACF,MAAM,CAACiB,KAAK;IACpBZ,KAAK,EAAE,IAAI,CAACT,OAAO,CAAC4B,KAAK,CAAClC,oBAAoB;EAChD,CAAC,CAAC;EAEMmB,aAAa,GAAIJ,KAAwB,IAC/ClB,SAAS,CAACkB,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAKf,oBAAoB,IACnDC,iBAAiB,CAACkC,GAAG,CAAC,CAACpB,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAEqB,WAAW,CAAC,CAAC,CAAC;EAE/Cf,WAAW,GAAIN,KAAwB,IAC7ClB,SAAS,CAACkB,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAKf,oBAAoB,IACnDI,eAAe,CAAC+B,GAAG,CAAC,CAACpB,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAEqB,WAAW,CAAC,CAAC,CAAC;EAE7CnB,YAAY,GAAIF,KAAwB,IAAW;IACzD,IAAIlB,SAAS,CAACkB,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAKf,oBAAoB,EAAE;MACvD;IACF;IAEA,MAAMqC,SAAS,GAAG,CAACtB,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAEqB,WAAW,CAAC,CAAC;IAEhD,IAAIC,SAAS,KAAKlC,aAAa,EAAE;MAC/B,IAAI,CAACK,iBAAiB,GAAG,IAAI;IAC/B;IAEA,IAAI6B,SAAS,KAAK,IAAI,CAACC,aAAa,EAAE;MACpC,IAAI,CAAC/B,uBAAuB,EAAE;MAE9B;IACF;IAEA,IAAI,IAAI,CAAC+B,aAAa,KAAKZ,SAAS,EAAE;MACpC9B,YAAY,CAAC,MAAM,EAAE,oCAAoC,EAAE;QACzD2C,IAAI,EAAE,IAAI,CAACD,aAAa;QAExBE,EAAE,EAAEH,SAAS;QACbI,kBAAkB,EAAE,IAAI,CAAClC;MAC3B,CAAC,CAAC;IACJ;IAEA,IAAI,CAAC+B,aAAa,GAAGD,SAAS;IAC9B,IAAI,CAAC9B,uBAAuB,GAAG,CAAC;EAClC,CAAC;AACH;AAEA,SAASF,mBAAmB,EAAEL,oBAAoB","ignoreList":[]}
|
package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { Device } from "react-native-ble-plx";
|
|
1
2
|
import { CommandSequencer } from "../../../types/command-sequencer";
|
|
3
|
+
import { CreateDeviceParams } from "../../../types/create-device-params";
|
|
2
4
|
import { MeasurementTypeForDevices } from "../../../types/device-measurement-map";
|
|
3
5
|
import { IntegratedDevices } from "../../../types/integrated-devices";
|
|
4
6
|
import { MeasurementWithCaseType } from "../../../types/measurement-with-case-type";
|
|
@@ -14,10 +16,13 @@ declare class BP2Device extends BTManagedDevice<IntegratedDevices.BP2> {
|
|
|
14
16
|
private historyMode;
|
|
15
17
|
private historyRequested;
|
|
16
18
|
private lastLiveResultSignature;
|
|
19
|
+
private orphanHistoryMode;
|
|
20
|
+
private readonly deliveredEcgFileNames;
|
|
17
21
|
private pendingResults;
|
|
18
22
|
private reportedFileNames;
|
|
19
23
|
protected mainServices: IService[];
|
|
20
24
|
protected stuckDataTimeout: number;
|
|
25
|
+
constructor(device: Device, params: CreateDeviceParams<IntegratedDevices.BP2>);
|
|
21
26
|
protected onStreamStart: () => void;
|
|
22
27
|
protected createCommandSequencer: () => CommandSequencer;
|
|
23
28
|
protected frameReader: BP2FrameReader;
|
package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bp2.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.device.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bp2.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.device.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAK9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAKvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAUpD,4DAA4D;AAC5D,QAAA,MAAM,4BAA4B,WAAW,CAAC;AAI9C,cAAM,SAAU,SAAQ,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAC5D,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,uBAAuB,CAAqB;IACpD,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAsB;IAC5D,OAAO,CAAC,cAAc,CAGlB;IACJ,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAmB;IACrD,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAS;gBAGzC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAMnD,SAAS,CAAC,aAAa,EAAE,MAAM,IAAI,CAKjC;IAEF,SAAS,CAAC,sBAAsB,QAAO,gBAAgB,CA4BrD;IAEF,SAAS,CAAC,WAAW,EAAE,cAAc,CAAwB;IAC7D,SAAS,CAAC,YAAY,EAAE,MAAM,CAAqB;IAEnD,SAAS,CAAC,mBAAmB,CAC3B,aAAa,EAAE,uBAAuB,CACpC,yBAAyB,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CACnD,EACD,eAAe,EAAE,MAAM,EAAE,GACxB,IAAI,GAAG,OAAO;IA0BjB,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,eAAe;IA2CvB,OAAO,CAAC,yBAAyB;IAuBjC,OAAO,CAAC,+BAA+B;IAwCvC,OAAO,CAAC,kBAAkB,CAYxB;IAEF,OAAO,CAAC,YAAY,CAeF;IAElB,OAAO,CAAC,iBAAiB,CAkDvB;IAEF,OAAO,CAAC,oBAAoB,CAwB1B;IAEF,OAAO,CAAC,kBAAkB,CAIxB;IAEF,OAAO,CAAC,oBAAoB,CAO1B;IAEF,OAAO,CAAC,qBAAqB;CAoD9B;AAED,OAAO,EAAE,SAAS,EAAE,4BAA4B,EAAE,CAAC"}
|
|
@@ -9,12 +9,17 @@ interface BP2HistorySequencerParams {
|
|
|
9
9
|
onTransferFinished: () => void;
|
|
10
10
|
shouldStartTransfer: () => boolean;
|
|
11
11
|
onTransferRequested: () => void;
|
|
12
|
+
onOrphanStreamEnd: () => void;
|
|
13
|
+
skipFiles: ReadonlySet<string>;
|
|
12
14
|
}
|
|
13
15
|
/** Reads BP2 history only after a realtime result asks for its device timestamp. */
|
|
14
16
|
declare class BP2HistorySequencer implements CommandSequencer {
|
|
15
17
|
private readonly params;
|
|
16
18
|
private readonly builder;
|
|
17
19
|
private transfer;
|
|
20
|
+
private lastRunStatus;
|
|
21
|
+
private lastRunStatusFrameCount;
|
|
22
|
+
private realtimeEcgActive;
|
|
18
23
|
constructor(params: BP2HistorySequencerParams);
|
|
19
24
|
initialCommands: () => readonly DeviceCommand[];
|
|
20
25
|
isHistoryTransfer: () => boolean;
|
|
@@ -23,6 +28,8 @@ declare class BP2HistorySequencer implements CommandSequencer {
|
|
|
23
28
|
private finishTransfer;
|
|
24
29
|
private pollCommand;
|
|
25
30
|
private isResultFrame;
|
|
31
|
+
private isIdleFrame;
|
|
32
|
+
private logRunStatus;
|
|
26
33
|
}
|
|
27
34
|
export { BP2HistorySequencer, BP2_REALTIME_COMMAND };
|
|
28
35
|
//# sourceMappingURL=bp2.history-sequencer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bp2.history-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bp2.history-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,OAAO,EAAE,QAAQ,EAAoB,MAAM,4BAA4B,CAAC;AAExE,QAAA,MAAM,oBAAoB,IAAO,CAAC;AAKlC,UAAU,yBAAyB;IACjC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,mBAAmB,EAAE,MAAM,OAAO,CAAC;IACnC,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAChC;AAED,oFAAoF;AACpF,cAAM,mBAAoB,YAAW,gBAAgB;IAOhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAN1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,iBAAiB,CAAS;gBAEE,MAAM,EAAE,yBAAyB;IAE9D,eAAe,QAAO,SAAS,aAAa,EAAE,CAEnD;IAEK,iBAAiB,QAAO,OAAO,CAAS;IAExC,WAAW,GAChB,OAAO,SAAS,MAAM,EAAE,KACvB,SAAS,aAAa,EAAE,GAAG,SAAS,CA0BrC;IAEF,OAAO,CAAC,aAAa,CAWnB;IAEF,OAAO,CAAC,cAAc,CAKpB;IAEF,OAAO,CAAC,WAAW,CAGhB;IAEH,OAAO,CAAC,aAAa,CAEmC;IAExD,OAAO,CAAC,WAAW,CAEmC;IAEtD,OAAO,CAAC,YAAY,CA4BlB;CACH;AAED,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,CAAC"}
|
package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { Device } from "react-native-ble-plx";
|
|
1
2
|
import { CommandSequencer } from "../../../types/command-sequencer";
|
|
3
|
+
import { CreateDeviceParams } from "../../../types/create-device-params";
|
|
2
4
|
import { MeasurementTypeForDevices } from "../../../types/device-measurement-map";
|
|
3
5
|
import { IntegratedDevices } from "../../../types/integrated-devices";
|
|
4
6
|
import { MeasurementWithCaseType } from "../../../types/measurement-with-case-type";
|
|
@@ -14,10 +16,13 @@ declare class BP2Device extends BTManagedDevice<IntegratedDevices.BP2> {
|
|
|
14
16
|
private historyMode;
|
|
15
17
|
private historyRequested;
|
|
16
18
|
private lastLiveResultSignature;
|
|
19
|
+
private orphanHistoryMode;
|
|
20
|
+
private readonly deliveredEcgFileNames;
|
|
17
21
|
private pendingResults;
|
|
18
22
|
private reportedFileNames;
|
|
19
23
|
protected mainServices: IService[];
|
|
20
24
|
protected stuckDataTimeout: number;
|
|
25
|
+
constructor(device: Device, params: CreateDeviceParams<IntegratedDevices.BP2>);
|
|
21
26
|
protected onStreamStart: () => void;
|
|
22
27
|
protected createCommandSequencer: () => CommandSequencer;
|
|
23
28
|
protected frameReader: BP2FrameReader;
|
package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bp2.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.device.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bp2.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.device.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAK9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAKvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAUpD,4DAA4D;AAC5D,QAAA,MAAM,4BAA4B,WAAW,CAAC;AAI9C,cAAM,SAAU,SAAQ,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAC5D,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,uBAAuB,CAAqB;IACpD,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAsB;IAC5D,OAAO,CAAC,cAAc,CAGlB;IACJ,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAmB;IACrD,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAS;gBAGzC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAMnD,SAAS,CAAC,aAAa,EAAE,MAAM,IAAI,CAKjC;IAEF,SAAS,CAAC,sBAAsB,QAAO,gBAAgB,CA4BrD;IAEF,SAAS,CAAC,WAAW,EAAE,cAAc,CAAwB;IAC7D,SAAS,CAAC,YAAY,EAAE,MAAM,CAAqB;IAEnD,SAAS,CAAC,mBAAmB,CAC3B,aAAa,EAAE,uBAAuB,CACpC,yBAAyB,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CACnD,EACD,eAAe,EAAE,MAAM,EAAE,GACxB,IAAI,GAAG,OAAO;IA0BjB,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,eAAe;IA2CvB,OAAO,CAAC,yBAAyB;IAuBjC,OAAO,CAAC,+BAA+B;IAwCvC,OAAO,CAAC,kBAAkB,CAYxB;IAEF,OAAO,CAAC,YAAY,CAeF;IAElB,OAAO,CAAC,iBAAiB,CAkDvB;IAEF,OAAO,CAAC,oBAAoB,CAwB1B;IAEF,OAAO,CAAC,kBAAkB,CAIxB;IAEF,OAAO,CAAC,oBAAoB,CAO1B;IAEF,OAAO,CAAC,qBAAqB;CAoD9B;AAED,OAAO,EAAE,SAAS,EAAE,4BAA4B,EAAE,CAAC"}
|
|
@@ -9,12 +9,17 @@ interface BP2HistorySequencerParams {
|
|
|
9
9
|
onTransferFinished: () => void;
|
|
10
10
|
shouldStartTransfer: () => boolean;
|
|
11
11
|
onTransferRequested: () => void;
|
|
12
|
+
onOrphanStreamEnd: () => void;
|
|
13
|
+
skipFiles: ReadonlySet<string>;
|
|
12
14
|
}
|
|
13
15
|
/** Reads BP2 history only after a realtime result asks for its device timestamp. */
|
|
14
16
|
declare class BP2HistorySequencer implements CommandSequencer {
|
|
15
17
|
private readonly params;
|
|
16
18
|
private readonly builder;
|
|
17
19
|
private transfer;
|
|
20
|
+
private lastRunStatus;
|
|
21
|
+
private lastRunStatusFrameCount;
|
|
22
|
+
private realtimeEcgActive;
|
|
18
23
|
constructor(params: BP2HistorySequencerParams);
|
|
19
24
|
initialCommands: () => readonly DeviceCommand[];
|
|
20
25
|
isHistoryTransfer: () => boolean;
|
|
@@ -23,6 +28,8 @@ declare class BP2HistorySequencer implements CommandSequencer {
|
|
|
23
28
|
private finishTransfer;
|
|
24
29
|
private pollCommand;
|
|
25
30
|
private isResultFrame;
|
|
31
|
+
private isIdleFrame;
|
|
32
|
+
private logRunStatus;
|
|
26
33
|
}
|
|
27
34
|
export { BP2HistorySequencer, BP2_REALTIME_COMMAND };
|
|
28
35
|
//# sourceMappingURL=bp2.history-sequencer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bp2.history-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bp2.history-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,OAAO,EAAE,QAAQ,EAAoB,MAAM,4BAA4B,CAAC;AAExE,QAAA,MAAM,oBAAoB,IAAO,CAAC;AAKlC,UAAU,yBAAyB;IACjC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,mBAAmB,EAAE,MAAM,OAAO,CAAC;IACnC,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAChC;AAED,oFAAoF;AACpF,cAAM,mBAAoB,YAAW,gBAAgB;IAOhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAN1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,iBAAiB,CAAS;gBAEE,MAAM,EAAE,yBAAyB;IAE9D,eAAe,QAAO,SAAS,aAAa,EAAE,CAEnD;IAEK,iBAAiB,QAAO,OAAO,CAAS;IAExC,WAAW,GAChB,OAAO,SAAS,MAAM,EAAE,KACvB,SAAS,aAAa,EAAE,GAAG,SAAS,CA0BrC;IAEF,OAAO,CAAC,aAAa,CAWnB;IAEF,OAAO,CAAC,cAAc,CAKpB;IAEF,OAAO,CAAC,WAAW,CAGhB;IAEH,OAAO,CAAC,aAAa,CAEmC;IAExD,OAAO,CAAC,WAAW,CAEmC;IAEtD,OAAO,CAAC,YAAY,CA4BlB;CACH;AAED,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,CAAC"}
|