@ovok/native 1.6.39 → 1.6.41
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-device/constants/supported-devices.js +8 -2
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-tmb.js +34 -0
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-tmb.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +5 -0
- package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +16 -0
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/tmb/tmb.bp-handler.js +70 -0
- package/lib/commonjs/modules/bt-management/services/devices/tmb/tmb.bp-handler.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/tmb/tmb.command-sequencer.js +100 -0
- package/lib/commonjs/modules/bt-management/services/devices/tmb/tmb.command-sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/tmb/tmb.frame-reader.js +54 -0
- package/lib/commonjs/modules/bt-management/services/devices/tmb/tmb.frame-reader.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +51 -2
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
- package/lib/commonjs/modules/bt-management/types/custom-tmb-spec.js +2 -0
- package/lib/commonjs/modules/bt-management/types/custom-tmb-spec.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-devices.js +9 -3
- package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/compile-custom-tmb.js +30 -0
- package/lib/module/modules/bt-management/services/custom/compile-custom-tmb.js.map +1 -0
- package/lib/module/modules/bt-management/services/custom/define-custom-device.js +5 -0
- package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +16 -0
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/tmb/tmb.bp-handler.js +65 -0
- package/lib/module/modules/bt-management/services/devices/tmb/tmb.bp-handler.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/tmb/tmb.command-sequencer.js +96 -0
- package/lib/module/modules/bt-management/services/devices/tmb/tmb.command-sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/tmb/tmb.frame-reader.js +49 -0
- package/lib/module/modules/bt-management/services/devices/tmb/tmb.frame-reader.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +49 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
- package/lib/module/modules/bt-management/types/custom-device-definition.js.map +1 -1
- package/lib/module/modules/bt-management/types/custom-tmb-spec.js +2 -0
- package/lib/module/modules/bt-management/types/custom-tmb-spec.js.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-tmb.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-tmb.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/tmb/tmb.bp-handler.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/tmb/tmb.bp-handler.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/tmb/tmb.command-sequencer.d.ts +28 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/tmb/tmb.command-sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/tmb/tmb.frame-reader.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/tmb/tmb.frame-reader.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-tmb-spec.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-tmb-spec.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-tmb.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-tmb.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/tmb/tmb.bp-handler.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/tmb/tmb.bp-handler.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/tmb/tmb.command-sequencer.d.ts +28 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/tmb/tmb.command-sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/tmb/tmb.frame-reader.d.ts +8 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/tmb/tmb.frame-reader.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts +4 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +3 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts +3 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-tmb-spec.d.ts +7 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-tmb-spec.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -3,11 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.viatomBpMonitor = exports.bp2wMonitor = exports.bp2tMonitor = exports.bp2aMonitor = exports.BP3_MODEL_NAMES = void 0;
|
|
6
|
+
exports.viatomBpMonitor = exports.tmbBpMonitor = exports.bp2wMonitor = exports.bp2tMonitor = exports.bp2aMonitor = exports.TMB_MODEL_NAMES = exports.BP3_MODEL_NAMES = void 0;
|
|
7
7
|
var _le32FromHex = require("../../../utils/le-32-from-hex.js");
|
|
8
|
+
var _defineCustomDevice = require("../../custom/define-custom-device.js");
|
|
8
9
|
var _bp2Files = require("../bp2/bp2.files.js");
|
|
9
10
|
var _lepuNameMatch = require("../lepu/lepu.name-match.js");
|
|
10
11
|
var _lepuTransports = require("../lepu/lepu.transports.js");
|
|
12
|
+
var _tmbBpHandler = require("../tmb/tmb.bp-handler.js");
|
|
11
13
|
var _viatomBpEcgHandler = require("./viatom.bp-ecg-handler.js");
|
|
12
14
|
var _viatomBpMonitorCases = require("./viatom.bp-monitor-cases.js");
|
|
13
15
|
/**
|
|
@@ -92,6 +94,52 @@ const bp2tMonitor = params => viatomBpMonitor("BP2T", params);
|
|
|
92
94
|
/** BP2W. Documented in its own section, but decoding the same realtime struct. */
|
|
93
95
|
exports.bp2tMonitor = bp2tMonitor;
|
|
94
96
|
const bp2wMonitor = params => viatomBpMonitor("BP2W", params);
|
|
97
|
+
exports.bp2wMonitor = bp2wMonitor;
|
|
98
|
+
const TMB_SERVICE = "0000a610-0000-1000-8000-00805f9b34fb";
|
|
99
|
+
const TMB_WRITE = "0000a624-0000-1000-8000-00805f9b34fb";
|
|
100
|
+
const TMB_ACK = "0000a622-0000-1000-8000-00805f9b34fb";
|
|
101
|
+
const TMB_NOTIFY = "0000a621-0000-1000-8000-00805f9b34fb";
|
|
102
|
+
const TMB_INDICATE = "0000a620-0000-1000-8000-00805f9b34fb";
|
|
103
|
+
|
|
104
|
+
/** Declares a Viatom TMB monitor, whose history protocol is separate from the BP3 Lepu flow. */
|
|
105
|
+
const tmbBpMonitor = (advertisedName, params) => (0, _defineCustomDevice.defineCustomDevice)({
|
|
106
|
+
id: params.id ?? `viatom-tmb-${advertisedName.toLowerCase().replace(/[^a-z0-9]+/g, "-")}`,
|
|
107
|
+
nameMatch: params.nameMatch ?? (0, _lepuNameMatch.lepuNameMatch)(advertisedName),
|
|
108
|
+
clockSync: "supported",
|
|
109
|
+
stuckDataTimeoutMs: 120_000,
|
|
110
|
+
preferredMtu: 247,
|
|
111
|
+
tmb: {
|
|
112
|
+
serviceUuid: TMB_SERVICE,
|
|
113
|
+
writeUuid: TMB_WRITE,
|
|
114
|
+
ackUuid: TMB_ACK
|
|
115
|
+
},
|
|
116
|
+
services: [{
|
|
117
|
+
uuid: TMB_SERVICE,
|
|
118
|
+
monitor: [{
|
|
119
|
+
uuid: TMB_NOTIFY,
|
|
120
|
+
caseSelectorBytes: [0],
|
|
121
|
+
frame: {
|
|
122
|
+
minLengthBytes: 2
|
|
123
|
+
},
|
|
124
|
+
cases: [{
|
|
125
|
+
selector: "*",
|
|
126
|
+
kind: "event"
|
|
127
|
+
}]
|
|
128
|
+
}, {
|
|
129
|
+
uuid: TMB_INDICATE,
|
|
130
|
+
caseSelectorBytes: [0],
|
|
131
|
+
frame: {
|
|
132
|
+
minLengthBytes: 2
|
|
133
|
+
},
|
|
134
|
+
cases: [{
|
|
135
|
+
selector: "*",
|
|
136
|
+
kind: "event"
|
|
137
|
+
}]
|
|
138
|
+
}]
|
|
139
|
+
}]
|
|
140
|
+
}, {
|
|
141
|
+
createFrameHandler: _tmbBpHandler.createTmbBloodPressureFrameHandler
|
|
142
|
+
});
|
|
95
143
|
|
|
96
144
|
/**
|
|
97
145
|
* The names the BP3 range advertises.
|
|
@@ -105,6 +153,7 @@ const bp2wMonitor = params => viatomBpMonitor("BP2W", params);
|
|
|
105
153
|
* );
|
|
106
154
|
* ```
|
|
107
155
|
*/
|
|
108
|
-
exports.
|
|
156
|
+
exports.tmbBpMonitor = tmbBpMonitor;
|
|
109
157
|
const BP3_MODEL_NAMES = exports.BP3_MODEL_NAMES = ["BP3", "BP3-B", "BP3-C1", "BP3-C2", "BP3A", "BP3B", "BP3C", "BP3D", "BP3E", "BP3F", "BP3G", "BP3H", "BP3K", "BP3L", "BP3Z", "HDM3D", "HDM3G"];
|
|
158
|
+
const TMB_MODEL_NAMES = exports.TMB_MODEL_NAMES = ["BP3-B", "BP3-C1", "BP3-C2", "BP2A Nexus", "BP4 Flex", "TMB-2288", "TMB_2088"];
|
|
110
159
|
//# sourceMappingURL=viatom.bp-monitors.js.map
|
package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_le32FromHex","require","_bp2Files","_lepuNameMatch","_lepuTransports","_viatomBpEcgHandler","_viatomBpMonitorCases","RT_DATA","CASE_SELECTOR_BYTES","MIN_LENGTH_BYTES","RESULT_CODE_INDEX","DEVICE_TIME_INDEX","rejectFailedResult","reading","frame","resultCode","Number","parseInt","Error","toString","padStart","recordedAt","length","recordedAtFromLocalSeconds","le32FromHex","undefined","viatomBpMonitor","advertisedName","params","isBp3","BP3_MODEL_NAMES","includes","hasEcg","lepuDevice","id","toLowerCase","replace","nameMatch","lepuNameMatch","clockSync","clockSyncProtocol","fileTransfer","rejectEncryptionAtBytes","pollCommand","pollIntervalMs","minLengthBytes","caseSelectorBytes","cases","BP3_ECG_CASES","BP3_CASES","BP2_CASES","BP2_ECG_CASES","map","each","decorateReading","createFrameHandler","createViatomFrameHandler","expectedDeviceTypes","exports","bp2aMonitor","bp2tMonitor","bp2wMonitor"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.bp-monitors.ts"],"mappings":";;;;;;AAIA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,
|
|
1
|
+
{"version":3,"names":["_le32FromHex","require","_defineCustomDevice","_bp2Files","_lepuNameMatch","_lepuTransports","_tmbBpHandler","_viatomBpEcgHandler","_viatomBpMonitorCases","RT_DATA","CASE_SELECTOR_BYTES","MIN_LENGTH_BYTES","RESULT_CODE_INDEX","DEVICE_TIME_INDEX","rejectFailedResult","reading","frame","resultCode","Number","parseInt","Error","toString","padStart","recordedAt","length","recordedAtFromLocalSeconds","le32FromHex","undefined","viatomBpMonitor","advertisedName","params","isBp3","BP3_MODEL_NAMES","includes","hasEcg","lepuDevice","id","toLowerCase","replace","nameMatch","lepuNameMatch","clockSync","clockSyncProtocol","fileTransfer","rejectEncryptionAtBytes","pollCommand","pollIntervalMs","minLengthBytes","caseSelectorBytes","cases","BP3_ECG_CASES","BP3_CASES","BP2_CASES","BP2_ECG_CASES","map","each","decorateReading","createFrameHandler","createViatomFrameHandler","expectedDeviceTypes","exports","bp2aMonitor","bp2tMonitor","bp2wMonitor","TMB_SERVICE","TMB_WRITE","TMB_ACK","TMB_NOTIFY","TMB_INDICATE","tmbBpMonitor","defineCustomDevice","stuckDataTimeoutMs","preferredMtu","tmb","serviceUuid","writeUuid","ackUuid","services","uuid","monitor","selector","kind","createTmbBloodPressureFrameHandler","TMB_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.bp-monitors.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/custom-tmb-spec.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ import { standardBloodPressureDevice, standardHeartRateDevice, standardPulseOxim
|
|
|
8
8
|
import { visomatComfortSoftBtMonitor } from "../../bt-management/services/devices/uebe/visomat.comfort-soft-bt.js";
|
|
9
9
|
import { bpu26Monitor, bpw26Monitor } from "../../bt-management/services/devices/veroval/veroval.bp-monitors.js";
|
|
10
10
|
import { verovalFusionMonitor } from "../../bt-management/services/devices/veroval/veroval.fusion.js";
|
|
11
|
-
import { bp2aMonitor, bp2tMonitor, bp2wMonitor, BP3_MODEL_NAMES, viatomBpMonitor } from "../../bt-management/services/devices/viatom/viatom.bp-monitors.js";
|
|
11
|
+
import { bp2aMonitor, bp2tMonitor, bp2wMonitor, BP3_MODEL_NAMES, TMB_MODEL_NAMES, tmbBpMonitor, viatomBpMonitor } from "../../bt-management/services/devices/viatom/viatom.bp-monitors.js";
|
|
12
12
|
import { ER1_MODEL_NAMES, ER2_MODEL_NAMES, ER3_MODEL_NAMES, er1Recorder, er2Recorder, er3Recorder } from "../../bt-management/services/devices/viatom/viatom.ecg-recorders.js";
|
|
13
13
|
import { LEPOD_MODEL_NAMES, lepodMonitor } from "../../bt-management/services/devices/viatom/viatom.lepod.js";
|
|
14
14
|
import { VIATOM_OXIMETER_NAMES, VIATOM_OXYII_NAMES, viatomOximeter, viatomOxyIiMonitor } from "../../bt-management/services/devices/viatom/viatom.oximeters.js";
|
|
@@ -266,10 +266,16 @@ const definitionsFor = name => {
|
|
|
266
266
|
}
|
|
267
267
|
if (name === "Viatom BP3 series") {
|
|
268
268
|
return {
|
|
269
|
-
acceptedDevices: BP3_MODEL_NAMES.map(model => viatomBpMonitor(model, {})),
|
|
269
|
+
acceptedDevices: BP3_MODEL_NAMES.map(model => TMB_MODEL_NAMES.includes(model) ? tmbBpMonitor(model, {}) : viatomBpMonitor(model, {})),
|
|
270
270
|
measurementTypes: [MeasurementTypeKey.bloodPressure, MeasurementTypeKey.ecg]
|
|
271
271
|
};
|
|
272
272
|
}
|
|
273
|
+
if (TMB_MODEL_NAMES.includes(name)) {
|
|
274
|
+
return {
|
|
275
|
+
acceptedDevices: [tmbBpMonitor(name, {})],
|
|
276
|
+
measurementTypes: [MeasurementTypeKey.bloodPressure]
|
|
277
|
+
};
|
|
278
|
+
}
|
|
273
279
|
if (BP3_MODEL_NAMES.includes(name)) {
|
|
274
280
|
return {
|
|
275
281
|
acceptedDevices: [viatomBpMonitor(name, {})],
|
|
@@ -492,7 +498,7 @@ const supportedDevices = Devices.map(device => {
|
|
|
492
498
|
id: customId(device.name),
|
|
493
499
|
...definitions
|
|
494
500
|
};
|
|
495
|
-
});
|
|
501
|
+
}).filter(device => device.acceptedDevices.length > 0);
|
|
496
502
|
const SUPPORTED_DEVICES = supportedDevices;
|
|
497
503
|
const acceptedDeviceKey = device => typeof device === "string" ? `built-in:${device}` : `custom:${device.id}`;
|
|
498
504
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","bosoMedicusMonitor","PC60FW_MODEL_NAMES","pc60FwMonitor","standardBloodPressureDevice","standardHeartRateDevice","standardPulseOximeterDevice","standardThermometerDevice","standardWeightScaleDevice","visomatComfortSoftBtMonitor","bpu26Monitor","bpw26Monitor","verovalFusionMonitor","bp2aMonitor","bp2tMonitor","bp2wMonitor","BP3_MODEL_NAMES","viatomBpMonitor","ER1_MODEL_NAMES","ER2_MODEL_NAMES","ER3_MODEL_NAMES","er1Recorder","er2Recorder","er3Recorder","LEPOD_MODEL_NAMES","lepodMonitor","VIATOM_OXIMETER_NAMES","VIATOM_OXYII_NAMES","viatomOximeter","viatomOxyIiMonitor","IntegratedDevices","deviceImages","DEVICE_INSTRUCTION_PDFS","aojCredit","bosoMedicusSystemCredit","bosoMedicusSystemImage","contecCredit","cyclotestMySenseCredit","cyclotestMySenseImage","hartmannBpu26Credit","hartmannBpw26Credit","hartmannFusionCredit","hartmannActivityCredit","hartmannDuoControlCredit","hartmannEcgCredit","viatomAojImage","viatomBodyScaleCredit","viatomBp2Image","viatomBp3Credit","viatomBp3Image","viatomBloodPressureCredit","viatomCheckmeCredit","viatomCheckmeImage","viatomEcgCredit","viatomEr1Image","viatomF4Image","viatomO2RingImage","viatomOximeterCredit","verovalBpu26Image","verovalBpw26Image","verovalFusionImage","verovalActivityImage","visomatComfortSoftBtCredit","visomatComfortSoftBtImage","additionalSupportedDevices","verovalDuoControlImage","verovalEcgImage","bluetoothSigLogo","bluetoothSigAssetCredit","Devices","name","nameKey","manufacturer","manufacturerKey","logo","creditsForImage","bc401DeviceImage","standardProfile","customId","toLowerCase","replace","definitionsFor","acceptedDevices","BP2","measurementTypes","bloodPressure","ecg","manualUrl","CHECKME","heartRate","bloodOxygenPulseRate","temperature","map","model","includes","respiratoryRate","VEROVAL_ACTIVITY","stepCount","AOJ20A","GENIAL_T31","ZH_SG_A606","bloodGlucose","BPW1","filter","expectedDeviceTypes","MYSENSE","bodyWeight","builtIn","F4","PC60WF","BC01","TAIDOC_GLUCOSE","GLUCOCHECK","BGM","VEROVAL_DUO_CONTROL","VEROVAL_ECG","integrated","uricAcid","undefined","supportedDevices","device","definitions","id","SUPPORTED_DEVICES","acceptedDeviceKey","SUPPORTED_ACCEPTED_DEVICES","Map","flatMap","values"],"sourceRoot":"../../../../../src","sources":["modules/bt-device/constants/supported-devices.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","bosoMedicusMonitor","PC60FW_MODEL_NAMES","pc60FwMonitor","standardBloodPressureDevice","standardHeartRateDevice","standardPulseOximeterDevice","standardThermometerDevice","standardWeightScaleDevice","visomatComfortSoftBtMonitor","bpu26Monitor","bpw26Monitor","verovalFusionMonitor","bp2aMonitor","bp2tMonitor","bp2wMonitor","BP3_MODEL_NAMES","TMB_MODEL_NAMES","tmbBpMonitor","viatomBpMonitor","ER1_MODEL_NAMES","ER2_MODEL_NAMES","ER3_MODEL_NAMES","er1Recorder","er2Recorder","er3Recorder","LEPOD_MODEL_NAMES","lepodMonitor","VIATOM_OXIMETER_NAMES","VIATOM_OXYII_NAMES","viatomOximeter","viatomOxyIiMonitor","IntegratedDevices","deviceImages","DEVICE_INSTRUCTION_PDFS","aojCredit","bosoMedicusSystemCredit","bosoMedicusSystemImage","contecCredit","cyclotestMySenseCredit","cyclotestMySenseImage","hartmannBpu26Credit","hartmannBpw26Credit","hartmannFusionCredit","hartmannActivityCredit","hartmannDuoControlCredit","hartmannEcgCredit","viatomAojImage","viatomBodyScaleCredit","viatomBp2Image","viatomBp3Credit","viatomBp3Image","viatomBloodPressureCredit","viatomCheckmeCredit","viatomCheckmeImage","viatomEcgCredit","viatomEr1Image","viatomF4Image","viatomO2RingImage","viatomOximeterCredit","verovalBpu26Image","verovalBpw26Image","verovalFusionImage","verovalActivityImage","visomatComfortSoftBtCredit","visomatComfortSoftBtImage","additionalSupportedDevices","verovalDuoControlImage","verovalEcgImage","bluetoothSigLogo","bluetoothSigAssetCredit","Devices","name","nameKey","manufacturer","manufacturerKey","logo","creditsForImage","bc401DeviceImage","standardProfile","customId","toLowerCase","replace","definitionsFor","acceptedDevices","BP2","measurementTypes","bloodPressure","ecg","manualUrl","CHECKME","heartRate","bloodOxygenPulseRate","temperature","map","model","includes","respiratoryRate","VEROVAL_ACTIVITY","stepCount","AOJ20A","GENIAL_T31","ZH_SG_A606","bloodGlucose","BPW1","filter","expectedDeviceTypes","MYSENSE","bodyWeight","builtIn","F4","PC60WF","BC01","TAIDOC_GLUCOSE","GLUCOCHECK","BGM","VEROVAL_DUO_CONTROL","VEROVAL_ECG","integrated","uricAcid","undefined","supportedDevices","device","definitions","id","length","SUPPORTED_DEVICES","acceptedDeviceKey","SUPPORTED_ACCEPTED_DEVICES","Map","flatMap","values"],"sourceRoot":"../../../../../src","sources":["modules/bt-device/constants/supported-devices.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { customDeviceError } from "./custom-device-error.js";
|
|
4
|
+
import { normalizeBleUuid } from "./normalize-ble-uuid.js";
|
|
5
|
+
|
|
6
|
+
/** Validates the TMB declaration and normalises its three control-point UUIDs. */
|
|
7
|
+
export const compileCustomTmb = (id, spec, serviceUuids) => {
|
|
8
|
+
const tmb = spec.tmb;
|
|
9
|
+
if (!tmb) {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
if (spec.lepu) {
|
|
13
|
+
throw customDeviceError(id, "tmb", "cannot be declared alongside lepu");
|
|
14
|
+
}
|
|
15
|
+
if (spec.services.some(service => service.write)) {
|
|
16
|
+
throw customDeviceError(id, "services[].write", "cannot be declared alongside tmb, which builds its own commands");
|
|
17
|
+
}
|
|
18
|
+
const serviceUuid = normalizeBleUuid(id, "tmb.serviceUuid", tmb.serviceUuid);
|
|
19
|
+
const writeUuid = normalizeBleUuid(id, "tmb.writeUuid", tmb.writeUuid);
|
|
20
|
+
const ackUuid = normalizeBleUuid(id, "tmb.ackUuid", tmb.ackUuid);
|
|
21
|
+
if (!serviceUuids.includes(serviceUuid)) {
|
|
22
|
+
throw customDeviceError(id, "tmb.serviceUuid", `must be one of the declared service UUIDs; received ${serviceUuid}`);
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
serviceUuid,
|
|
26
|
+
writeUuid,
|
|
27
|
+
ackUuid
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=compile-custom-tmb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["customDeviceError","normalizeBleUuid","compileCustomTmb","id","spec","serviceUuids","tmb","undefined","lepu","services","some","service","write","serviceUuid","writeUuid","ackUuid","includes"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/compile-custom-tmb.ts"],"mappings":";;AAGA,SAASA,iBAAiB,QAAQ,0BAAuB;AACzD,SAASC,gBAAgB,QAAQ,yBAAsB;;AAEvD;AACA,OAAO,MAAMC,gBAAgB,GAAGA,CAC9BC,EAAU,EACVC,IAAsB,EACtBC,YAA+B,KACD;EAC9B,MAAMC,GAAG,GAAGF,IAAI,CAACE,GAAG;EAEpB,IAAI,CAACA,GAAG,EAAE;IACR,OAAOC,SAAS;EAClB;EAEA,IAAIH,IAAI,CAACI,IAAI,EAAE;IACb,MAAMR,iBAAiB,CACrBG,EAAE,EACF,KAAK,EACL,mCACF,CAAC;EACH;EAEA,IAAIC,IAAI,CAACK,QAAQ,CAACC,IAAI,CAAEC,OAAO,IAAKA,OAAO,CAACC,KAAK,CAAC,EAAE;IAClD,MAAMZ,iBAAiB,CACrBG,EAAE,EACF,kBAAkB,EAClB,iEACF,CAAC;EACH;EAEA,MAAMU,WAAW,GAAGZ,gBAAgB,CAACE,EAAE,EAAE,iBAAiB,EAAEG,GAAG,CAACO,WAAW,CAAC;EAC5E,MAAMC,SAAS,GAAGb,gBAAgB,CAACE,EAAE,EAAE,eAAe,EAAEG,GAAG,CAACQ,SAAS,CAAC;EACtE,MAAMC,OAAO,GAAGd,gBAAgB,CAACE,EAAE,EAAE,aAAa,EAAEG,GAAG,CAACS,OAAO,CAAC;EAEhE,IAAI,CAACV,YAAY,CAACW,QAAQ,CAACH,WAAW,CAAC,EAAE;IACvC,MAAMb,iBAAiB,CACrBG,EAAE,EACF,iBAAiB,EACjB,uDAAuDU,WAAW,EACpE,CAAC;EACH;EAEA,OAAO;IAAEA,WAAW;IAAEC,SAAS;IAAEC;EAAQ,CAAC;AAC5C,CAAC","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ import { CUSTOM_DEVICE_BRAND } from "../../constants/custom-device-brand.js";
|
|
|
6
6
|
import { IntegratedDevices } from "../../types/integrated-devices.js";
|
|
7
7
|
import { compileCustomLepu } from "./compile-custom-lepu.js";
|
|
8
8
|
import { compileCustomMonitor } from "./compile-custom-monitor.js";
|
|
9
|
+
import { compileCustomTmb } from "./compile-custom-tmb.js";
|
|
9
10
|
import { customDeviceError } from "./custom-device-error.js";
|
|
10
11
|
import { normalizeBleUuid } from "./normalize-ble-uuid.js";
|
|
11
12
|
const MIN_STUCK_TIMEOUT_MS = 1_000;
|
|
@@ -141,6 +142,7 @@ export const defineCustomDevice = (spec, options = {}) => {
|
|
|
141
142
|
};
|
|
142
143
|
});
|
|
143
144
|
const lepu = compileCustomLepu(id, spec, mainServices.map(service => service.uuid));
|
|
145
|
+
const tmb = compileCustomTmb(id, spec, mainServices.map(service => service.uuid));
|
|
144
146
|
return {
|
|
145
147
|
[CUSTOM_DEVICE_BRAND]: true,
|
|
146
148
|
id: id,
|
|
@@ -165,6 +167,9 @@ export const defineCustomDevice = (spec, options = {}) => {
|
|
|
165
167
|
...(lepu === undefined ? {} : {
|
|
166
168
|
lepu
|
|
167
169
|
}),
|
|
170
|
+
...(tmb === undefined ? {} : {
|
|
171
|
+
tmb
|
|
172
|
+
}),
|
|
168
173
|
...(options.decorateReading === undefined ? {} : {
|
|
169
174
|
decorateReading: options.decorateReading
|
|
170
175
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CUSTOM_DEVICE_BRAND","IntegratedDevices","compileCustomLepu","compileCustomMonitor","customDeviceError","normalizeBleUuid","MIN_STUCK_TIMEOUT_MS","MIN_MTU","MAX_MTU","MAX_STUCK_TIMEOUT_MS","HEX_BYTES","assertIdentity","spec","id","trim","String","builtIn","Object","values","find","name","toLowerCase","compileNameMatch","nameMatch","RegExp","global","sticky","exact","matchByService","replace","assertStuckTimeout","timeout","stuckDataTimeoutMs","Number","isInteger","assertPreferredMtu","mtu","preferredMtu","undefined","assertSessionPolicy","policy","minSamples","emit","compileWrite","path","write","commandHex","test","uuid","mainCommandUuid","defineCustomDevice","options","stuckDataTimeout","sessionPolicy","Array","isArray","services","length","fields","Map","frames","seenCharacteristics","Set","mainServices","map","service","serviceIndex","monitor","monitorUuids","monitorIndex","monitorPath","characteristic","frame","has","add","set","writeUuid","lepu","oneReadingPerConnection","clockSync","setClockBeforeInfo","frameReader","decorateReading","createFrameHandler"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/define-custom-device.ts"],"mappings":";;AAAA;;AAEA,SAASA,mBAAmB,QAAQ,wCAAqC;AAWzE,SAASC,iBAAiB,QAAQ,mCAAgC;AAGlE,SAASC,iBAAiB,QAAQ,0BAAuB;AACzD,SAASC,oBAAoB,QAAQ,6BAA0B;AAC/D,SAASC,iBAAiB,QAAQ,0BAAuB;AACzD,SAASC,gBAAgB,QAAQ,yBAAsB;AAEvD,MAAMC,oBAAoB,GAAG,KAAK;;AAElC;AACA,MAAMC,OAAO,GAAG,EAAE;AAClB,MAAMC,OAAO,GAAG,GAAG;;AAEnB;AACA,MAAMC,oBAAoB,GAAG,SAAS;AACtC,MAAMC,SAAS,GAAG,kBAAkB;AAEpC,MAAMC,cAAc,GAAIC,IAAsB,IAAa;EACzD,MAAMC,EAAE,GAAG,OAAOD,IAAI,EAAEC,EAAE,KAAK,QAAQ,GAAGD,IAAI,CAACC,EAAE,CAACC,IAAI,CAAC,CAAC,GAAG,oBAAoB;EAE/E,IAAI,CAACD,EAAE,EAAE;IACP,MAAMT,iBAAiB,CAACW,MAAM,CAACH,IAAI,EAAEC,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,CAAC;EACtE;EAEA,MAAMG,OAAO,GAAGC,MAAM,CAACC,MAAM,
|
|
1
|
+
{"version":3,"names":["CUSTOM_DEVICE_BRAND","IntegratedDevices","compileCustomLepu","compileCustomMonitor","compileCustomTmb","customDeviceError","normalizeBleUuid","MIN_STUCK_TIMEOUT_MS","MIN_MTU","MAX_MTU","MAX_STUCK_TIMEOUT_MS","HEX_BYTES","assertIdentity","spec","id","trim","String","builtIn","Object","values","find","name","toLowerCase","compileNameMatch","nameMatch","RegExp","global","sticky","exact","matchByService","replace","assertStuckTimeout","timeout","stuckDataTimeoutMs","Number","isInteger","assertPreferredMtu","mtu","preferredMtu","undefined","assertSessionPolicy","policy","minSamples","emit","compileWrite","path","write","commandHex","test","uuid","mainCommandUuid","defineCustomDevice","options","stuckDataTimeout","sessionPolicy","Array","isArray","services","length","fields","Map","frames","seenCharacteristics","Set","mainServices","map","service","serviceIndex","monitor","monitorUuids","monitorIndex","monitorPath","characteristic","frame","has","add","set","writeUuid","lepu","tmb","oneReadingPerConnection","clockSync","setClockBeforeInfo","frameReader","decorateReading","createFrameHandler"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/define-custom-device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,6 +11,8 @@ import { BTManagedDevice } from "../bt-managed-device.js";
|
|
|
11
11
|
import { LepuCommandBuilder } from "../lepu/lepu.command-builder.js";
|
|
12
12
|
import { LepuEcgTransferSequencer } from "../lepu/lepu.ecg-transfer.js";
|
|
13
13
|
import { LepuFrameReader } from "../lepu/lepu.frame-reader.js";
|
|
14
|
+
import { TmbCommandSequencer } from "../tmb/tmb.command-sequencer.js";
|
|
15
|
+
import { TmbFrameReader } from "../tmb/tmb.frame-reader.js";
|
|
14
16
|
import { decodeViatomBp3File } from "../viatom/viatom.bp3-files.js";
|
|
15
17
|
import { decodeViatomEcgRecording, recordedAtFromViatomFileName } from "../viatom/viatom.ecg-files.js";
|
|
16
18
|
import { createLepuSequencer, recordLepuIdentity, selectLepu } from "./custom-lepu-sequencer.js";
|
|
@@ -46,11 +48,25 @@ export class CustomDevice extends BTManagedDevice {
|
|
|
46
48
|
this.preferredMtu = definition.preferredMtu;
|
|
47
49
|
}
|
|
48
50
|
this.declareLepuProtocol(definition, params.clockSync);
|
|
51
|
+
this.declareTmbProtocol(definition, params.clockSync);
|
|
49
52
|
definition.frames.forEach((frame, uuid) => {
|
|
50
53
|
this.validators.set(uuid, createFrameValidator(frame));
|
|
51
54
|
});
|
|
52
55
|
}
|
|
53
56
|
|
|
57
|
+
/** Gives a TMB declaration its length-prefixed reader and history command sequence. */
|
|
58
|
+
declareTmbProtocol(definition, clockSync) {
|
|
59
|
+
const tmb = definition.tmb;
|
|
60
|
+
if (!tmb) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
this.frameReader = new TmbFrameReader();
|
|
64
|
+
this.createCommandSequencer = () => new TmbCommandSequencer({
|
|
65
|
+
protocol: tmb,
|
|
66
|
+
clockSync
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
54
70
|
/**
|
|
55
71
|
* Gives a Lepu declaration its frame reader and its command sequence.
|
|
56
72
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","decodeBP2File","BTManagedDevice","LepuCommandBuilder","LepuEcgTransferSequencer","LepuFrameReader","decodeViatomBp3File","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","selectLepu","CustomDevice","reportedHistoryIds","Set","validators","Map","sessionAggregates","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","preferredMtu","declareLepuProtocol","frames","forEach","frame","set","startBytes","createCommandSequencer","fileTransfer","clear","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","file","decoded","content","samples","length","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","has","add","info","id","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","key","existing","fieldNames","recordOffset","repeated","repeatedRecords","report","records","floor","from","recordBytes","record","discard","reportMeasurement","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","LepuFrameReader","TmbCommandSequencer","TmbFrameReader","decodeViatomBp3File","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","selectLepu","CustomDevice","reportedHistoryIds","Set","validators","Map","sessionAggregates","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","preferredMtu","declareLepuProtocol","declareTmbProtocol","frames","forEach","frame","set","tmb","createCommandSequencer","protocol","startBytes","fileTransfer","clear","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","file","decoded","content","samples","length","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","has","add","info","id","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","key","existing","fieldNames","recordOffset","repeated","repeatedRecords","report","records","floor","from","recordBytes","record","discard","reportMeasurement","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { MeasurementTypeKey } from "@ovok/core";
|
|
4
|
+
import { CaseType } from "../../../types/case-type.js";
|
|
5
|
+
import { hexToByte } from "../../../utils/hex-to-byte.js";
|
|
6
|
+
import { recordedAtFromLocalSeconds } from "../bp2/bp2.files.js";
|
|
7
|
+
import { TMB_EPOCH_SECONDS } from "./tmb.command-sequencer.js";
|
|
8
|
+
const RECORD_BYTES = 21;
|
|
9
|
+
const RECORD_RESPONSE = 0x4902;
|
|
10
|
+
const uint16 = (values, offset) => hexToByte(values[offset] ?? "00") << 8 | hexToByte(values[offset + 1] ?? "00");
|
|
11
|
+
const uint32 = (values, offset) => hexToByte(values[offset] ?? "00") << 24 | hexToByte(values[offset + 1] ?? "00") << 16 | hexToByte(values[offset + 2] ?? "00") << 8 | hexToByte(values[offset + 3] ?? "00");
|
|
12
|
+
const commandOf = frame => {
|
|
13
|
+
const head = hexToByte(frame[0] ?? "00");
|
|
14
|
+
if (head === 0x21 || head === 0) {
|
|
15
|
+
return 0;
|
|
16
|
+
}
|
|
17
|
+
return hexToByte(frame[2] ?? "00") << 8 | hexToByte(frame[3] ?? "00");
|
|
18
|
+
};
|
|
19
|
+
const payload = frame => frame.slice(hexToByte(frame[0] ?? "00") === 0x21 ? 2 : 4);
|
|
20
|
+
|
|
21
|
+
/** Decodes the fixed 21-byte TMB blood-pressure history records. */
|
|
22
|
+
export const createTmbBloodPressureFrameHandler = () => {
|
|
23
|
+
const pending = [];
|
|
24
|
+
const reported = new Set();
|
|
25
|
+
return ({
|
|
26
|
+
frame,
|
|
27
|
+
emit
|
|
28
|
+
}) => {
|
|
29
|
+
const head = hexToByte(frame[0] ?? "00");
|
|
30
|
+
const opcode = commandOf(frame);
|
|
31
|
+
if (head !== 0x21 && opcode !== RECORD_RESPONSE) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
pending.push(...payload(frame));
|
|
35
|
+
while (pending.length >= RECORD_BYTES) {
|
|
36
|
+
const record = pending.splice(0, RECORD_BYTES);
|
|
37
|
+
const timestamp = uint32(record, 17) + TMB_EPOCH_SECONDS;
|
|
38
|
+
const systolic = uint16(record, 6);
|
|
39
|
+
const diastolic = uint16(record, 8);
|
|
40
|
+
const meanArterialPressure = uint16(record, 10);
|
|
41
|
+
const heartRate = uint16(record, 14);
|
|
42
|
+
const userId = hexToByte(record[16] ?? "00");
|
|
43
|
+
const recordingId = `tmb:${userId}:${timestamp}:${systolic}:${diastolic}`;
|
|
44
|
+
if (reported.has(recordingId) || systolic < 50 || systolic > 300 || diastolic < 30 || diastolic > 200 || meanArterialPressure < 30 || meanArterialPressure > 250 || heartRate < 20 || heartRate > 240) {
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
reported.add(recordingId);
|
|
48
|
+
const recordedAt = recordedAtFromLocalSeconds(timestamp);
|
|
49
|
+
emit({
|
|
50
|
+
measurementTypeKey: MeasurementTypeKey.bloodPressure,
|
|
51
|
+
caseType: CaseType.RESULT,
|
|
52
|
+
systolic,
|
|
53
|
+
diastolic,
|
|
54
|
+
meanArterialPressure,
|
|
55
|
+
heartRate,
|
|
56
|
+
memorySlot: userId,
|
|
57
|
+
...(recordedAt ? {
|
|
58
|
+
recordedAt
|
|
59
|
+
} : {}),
|
|
60
|
+
recordingId
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=tmb.bp-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","CaseType","hexToByte","recordedAtFromLocalSeconds","TMB_EPOCH_SECONDS","RECORD_BYTES","RECORD_RESPONSE","uint16","values","offset","uint32","commandOf","frame","head","payload","slice","createTmbBloodPressureFrameHandler","pending","reported","Set","emit","opcode","push","length","record","splice","timestamp","systolic","diastolic","meanArterialPressure","heartRate","userId","recordingId","has","add","recordedAt","measurementTypeKey","bloodPressure","caseType","RESULT","memorySlot"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/tmb/tmb.bp-handler.ts"],"mappings":"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","ignoreList":[]}
|