@ovok/native 1.6.33 → 1.6.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +5 -1
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/bt-manager.js +1 -0
- package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-case.js +6 -0
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-case.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js +42 -0
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +20 -0
- package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js +16 -12
- 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.files.js +7 -5
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.files.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +33 -6
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +5 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +4 -0
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js +4 -0
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +133 -12
- 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 +28 -4
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +6 -3
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.identity-gate.js +28 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.identity-gate.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +9 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/measurement-state-machine.js +4 -0
- package/lib/commonjs/modules/bt-management/services/devices/measurement-state-machine.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +13 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp3-files.js +51 -0
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp3-files.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +4 -0
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.lepod.js +4 -0
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.lepod.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js +10 -0
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -1
- package/lib/commonjs/modules/bt-management/types/clock-sync.js +1 -0
- package/lib/commonjs/modules/bt-management/types/clock-sync.js.map +1 -1
- package/lib/commonjs/modules/bt-management/types/custom-session-policy.js +2 -0
- package/lib/commonjs/modules/bt-management/types/custom-session-policy.js.map +1 -0
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +5 -1
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/module/modules/bt-management/services/bt-manager.js +1 -0
- package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/compile-custom-case.js +6 -0
- package/lib/module/modules/bt-management/services/custom/compile-custom-case.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js +42 -0
- package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/define-custom-device.js +20 -0
- package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js +17 -13
- 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.files.js +6 -5
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.files.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +33 -6
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +5 -1
- package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +4 -0
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js +4 -0
- package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +133 -12
- 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 +27 -4
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +6 -3
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.identity-gate.js +28 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.identity-gate.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +9 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/measurement-state-machine.js +4 -0
- package/lib/module/modules/bt-management/services/devices/measurement-state-machine.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +13 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp3-files.js +47 -0
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp3-files.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +4 -0
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.lepod.js +4 -0
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.lepod.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js +10 -0
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -1
- package/lib/module/modules/bt-management/types/clock-sync.js +1 -0
- package/lib/module/modules/bt-management/types/clock-sync.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-session-policy.js +2 -0
- package/lib/module/modules/bt-management/types/custom-session-policy.js.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-case.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts +3 -2
- 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.files.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.files.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +14 -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 +8 -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.file-transfer.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +8 -1
- 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/measurement-state-machine.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/measurement-state-machine.d.ts.map +1 -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/services/devices/viatom/viatom.bp3-files.d.ts +18 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp3-files.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-case-spec.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-case-spec.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +2 -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-lepu-spec.d.ts +6 -2
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-session-policy.d.ts +13 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-session-policy.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/dependent-result-handler-params.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/dependent-result-handler-params.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/parsing-case.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/parsing-case.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-case.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/custom/define-custom-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts +3 -2
- 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.files.d.ts +2 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.files.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts +4 -1
- package/lib/typescript/module/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/bt-data-processor.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +14 -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 +8 -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.file-transfer.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts +6 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +8 -1
- 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/measurement-state-machine.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/measurement-state-machine.d.ts.map +1 -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/services/devices/viatom/viatom.bp3-files.d.ts +18 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp3-files.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-case-spec.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-case-spec.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +2 -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-lepu-spec.d.ts +6 -2
- package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-session-policy.d.ts +13 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-session-policy.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/dependent-result-handler-params.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/dependent-result-handler-params.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/parsing-case.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/parsing-case.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.decodeBP2File = exports.decodeBP2EcgFile = exports.decodeBP2BloodPressureFile = exports.BP2_ECG_WAVEFORM_OFFSET = exports.BP2_ECG_MILLIVOLTS_PER_COUNT = exports.BP2_BLOOD_PRESSURE_FILE_BYTES = void 0;
|
|
6
|
+
exports.recordedAtFromLocalSeconds = exports.decodeBP2File = exports.decodeBP2EcgFile = exports.decodeBP2BloodPressureFile = exports.BP2_ECG_WAVEFORM_OFFSET = exports.BP2_ECG_MILLIVOLTS_PER_COUNT = exports.BP2_BLOOD_PRESSURE_FILE_BYTES = void 0;
|
|
7
7
|
var _core = require("@ovok/core");
|
|
8
8
|
var _convertBpStateFlag = require("../../../utils/convert-bp-state-flag.js");
|
|
9
9
|
var _convertEcgDiagnosticFlag = require("../../../utils/convert-ecg-diagnostic-flag.js");
|
|
@@ -14,13 +14,15 @@ const BP2_ECG_FILE_TYPE = 2;
|
|
|
14
14
|
const BP2_BLOOD_PRESSURE_FILE_BYTES = exports.BP2_BLOOD_PRESSURE_FILE_BYTES = 19;
|
|
15
15
|
const BP2_ECG_WAVEFORM_OFFSET = exports.BP2_ECG_WAVEFORM_OFFSET = 48;
|
|
16
16
|
const BP2_ECG_MILLIVOLTS_PER_COUNT = exports.BP2_ECG_MILLIVOLTS_PER_COUNT = 0.003098;
|
|
17
|
-
const
|
|
17
|
+
const recordedAtFromLocalSeconds = (seconds, timezoneOffset = date => date.getTimezoneOffset()) => {
|
|
18
18
|
if (seconds <= 0) {
|
|
19
19
|
return undefined;
|
|
20
20
|
}
|
|
21
|
-
const
|
|
21
|
+
const localWallClock = new Date(seconds * 1000);
|
|
22
|
+
const recordedAt = new Date((seconds + timezoneOffset(localWallClock) * 60) * 1000);
|
|
22
23
|
return Number.isNaN(recordedAt.getTime()) ? undefined : recordedAt;
|
|
23
24
|
};
|
|
25
|
+
exports.recordedAtFromLocalSeconds = recordedAtFromLocalSeconds;
|
|
24
26
|
const signed16FromHex = (content, offset) => {
|
|
25
27
|
const value = (0, _hexToByte.hexToByte)(content[offset] ?? "0") | (0, _hexToByte.hexToByte)(content[offset + 1] ?? "0") << 8;
|
|
26
28
|
return value & 0x8000 ? value - 0x10000 : value;
|
|
@@ -36,7 +38,7 @@ const decodeBP2BloodPressureFile = (name, content) => {
|
|
|
36
38
|
meanArterialPressure: Number.parseInt(`${content[16] ?? "00"}${content[15] ?? "00"}`, 16),
|
|
37
39
|
heartRate: (0, _hexToByte.hexToByte)(content[17] ?? "0"),
|
|
38
40
|
status: (0, _convertBpStateFlag.convertBpStateFlag)(content[18] ?? "00"),
|
|
39
|
-
recordedAt:
|
|
41
|
+
recordedAt: recordedAtFromLocalSeconds((0, _le32FromHex.le32FromHex)([...content], 2)),
|
|
40
42
|
recordingId: name
|
|
41
43
|
};
|
|
42
44
|
};
|
|
@@ -55,7 +57,7 @@ const decodeBP2EcgFile = (name, content) => {
|
|
|
55
57
|
diagnosticResult: (0, _convertEcgDiagnosticFlag.convertEcgDiagnosticFlag)(content.slice(16, 20).join("")),
|
|
56
58
|
diagramPoints,
|
|
57
59
|
duration: (0, _le32FromHex.le32FromHex)([...content], 10),
|
|
58
|
-
recordedAt:
|
|
60
|
+
recordedAt: recordedAtFromLocalSeconds((0, _le32FromHex.le32FromHex)([...content], 2)),
|
|
59
61
|
recordingId: name
|
|
60
62
|
};
|
|
61
63
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_convertBpStateFlag","_convertEcgDiagnosticFlag","_hexToByte","_le32FromHex","BP2_BLOOD_PRESSURE_FILE_TYPE","BP2_ECG_FILE_TYPE","BP2_BLOOD_PRESSURE_FILE_BYTES","exports","BP2_ECG_WAVEFORM_OFFSET","BP2_ECG_MILLIVOLTS_PER_COUNT","
|
|
1
|
+
{"version":3,"names":["_core","require","_convertBpStateFlag","_convertEcgDiagnosticFlag","_hexToByte","_le32FromHex","BP2_BLOOD_PRESSURE_FILE_TYPE","BP2_ECG_FILE_TYPE","BP2_BLOOD_PRESSURE_FILE_BYTES","exports","BP2_ECG_WAVEFORM_OFFSET","BP2_ECG_MILLIVOLTS_PER_COUNT","recordedAtFromLocalSeconds","seconds","timezoneOffset","date","getTimezoneOffset","undefined","localWallClock","Date","recordedAt","Number","isNaN","getTime","signed16FromHex","content","offset","value","hexToByte","decodeBP2BloodPressureFile","name","length","measurementTypeKey","MeasurementTypeKey","bloodPressure","systolic","parseInt","diastolic","meanArterialPressure","heartRate","status","convertBpStateFlag","le32FromHex","recordingId","decodeBP2EcgFile","diagramPoints","index","push","ecg","diagnosticResult","convertEcgDiagnosticFlag","slice","join","duration","decodeBP2File","fileType"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.files.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAMA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,yBAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AAEA,MAAMK,4BAA4B,GAAG,CAAC;AACtC,MAAMC,iBAAiB,GAAG,CAAC;AAC3B,MAAMC,6BAA6B,GAAAC,OAAA,CAAAD,6BAAA,GAAG,EAAE;AACxC,MAAME,uBAAuB,GAAAD,OAAA,CAAAC,uBAAA,GAAG,EAAE;AAClC,MAAMC,4BAA4B,GAAAF,OAAA,CAAAE,4BAAA,GAAG,QAAQ;AAW7C,MAAMC,0BAA0B,GAAGA,CACjCC,OAAe,EACfC,cAAsC,GAAIC,IAAI,IAC5CA,IAAI,CAACC,iBAAiB,CAAC,CAAC,KACL;EACrB,IAAIH,OAAO,IAAI,CAAC,EAAE;IAChB,OAAOI,SAAS;EAClB;EAEA,MAAMC,cAAc,GAAG,IAAIC,IAAI,CAACN,OAAO,GAAG,IAAI,CAAC;EAE/C,MAAMO,UAAU,GAAG,IAAID,IAAI,CACzB,CAACN,OAAO,GAAGC,cAAc,CAACI,cAAc,CAAC,GAAG,EAAE,IAAI,IACpD,CAAC;EAED,OAAOG,MAAM,CAACC,KAAK,CAACF,UAAU,CAACG,OAAO,CAAC,CAAC,CAAC,GAAGN,SAAS,GAAGG,UAAU;AACpE,CAAC;AAACX,OAAA,CAAAG,0BAAA,GAAAA,0BAAA;AAEF,MAAMY,eAAe,GAAGA,CAACC,OAA0B,EAAEC,MAAc,KAAa;EAC9E,MAAMC,KAAK,GACT,IAAAC,oBAAS,EAACH,OAAO,CAACC,MAAM,CAAC,IAAI,GAAG,CAAC,GAChC,IAAAE,oBAAS,EAACH,OAAO,CAACC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAE;EAE9C,OAAOC,KAAK,GAAG,MAAM,GAAGA,KAAK,GAAG,OAAO,GAAGA,KAAK;AACjD,CAAC;AAED,MAAME,0BAA0B,GAAGA,CACjCC,IAAY,EACZL,OAA0B,KACW;EACrC,IACEA,OAAO,CAACM,MAAM,GAAGvB,6BAA6B,IAC9C,IAAAoB,oBAAS,EAACH,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAKnB,4BAA4B,EAC7D;IACA,OAAOW,SAAS;EAClB;EAEA,OAAO;IACLe,kBAAkB,EAAEC,wBAAkB,CAACC,aAAa;IACpDC,QAAQ,EAAEd,MAAM,CAACe,QAAQ,CACvB,GAAGX,OAAO,CAAC,EAAE,CAAC,IAAI,IAAI,GAAGA,OAAO,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,EAC9C,EACF,CAAC;IACDY,SAAS,EAAEhB,MAAM,CAACe,QAAQ,CACxB,GAAGX,OAAO,CAAC,EAAE,CAAC,IAAI,IAAI,GAAGA,OAAO,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,EAC9C,EACF,CAAC;IACDa,oBAAoB,EAAEjB,MAAM,CAACe,QAAQ,CACnC,GAAGX,OAAO,CAAC,EAAE,CAAC,IAAI,IAAI,GAAGA,OAAO,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,EAC9C,EACF,CAAC;IACDc,SAAS,EAAE,IAAAX,oBAAS,EAACH,OAAO,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC;IACxCe,MAAM,EAAE,IAAAC,sCAAkB,EAAChB,OAAO,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;IAC/CL,UAAU,EAAER,0BAA0B,CAAC,IAAA8B,wBAAW,EAAC,CAAC,GAAGjB,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACpEkB,WAAW,EAAEb;EACf,CAAC;AACH,CAAC;AAACrB,OAAA,CAAAoB,0BAAA,GAAAA,0BAAA;AAEF,MAAMe,gBAAgB,GAAGA,CACvBd,IAAY,EACZL,OAA0B,KACC;EAC3B,IACEA,OAAO,CAACM,MAAM,IAAIrB,uBAAuB,IACzC,IAAAkB,oBAAS,EAACH,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAKlB,iBAAiB,EAClD;IACA,OAAOU,SAAS;EAClB;EAEA,MAAM4B,aAAuB,GAAG,EAAE;EAElC,KACE,IAAIC,KAAK,GAAGpC,uBAAuB,EACnCoC,KAAK,GAAG,CAAC,GAAGrB,OAAO,CAACM,MAAM,EAC1Be,KAAK,IAAI,CAAC,EACV;IACAD,aAAa,CAACE,IAAI,CAChBvB,eAAe,CAACC,OAAO,EAAEqB,KAAK,CAAC,GAAGnC,4BACpC,CAAC;EACH;EAEA,OAAO;IACLqB,kBAAkB,EAAEC,wBAAkB,CAACe,GAAG;IAC1CT,SAAS,EAAElB,MAAM,CAACe,QAAQ,CACxB,GAAGX,OAAO,CAAC,EAAE,CAAC,IAAI,IAAI,GAAGA,OAAO,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,EAC9C,EACF,CAAC;IACDwB,gBAAgB,EAAE,IAAAC,kDAAwB,EAACzB,OAAO,CAAC0B,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1EP,aAAa;IACbQ,QAAQ,EAAE,IAAAX,wBAAW,EAAC,CAAC,GAAGjB,OAAO,CAAC,EAAE,EAAE,CAAC;IACvCL,UAAU,EAAER,0BAA0B,CAAC,IAAA8B,wBAAW,EAAC,CAAC,GAAGjB,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACpEkB,WAAW,EAAEb;EACf,CAAC;AACH,CAAC;AAACrB,OAAA,CAAAmC,gBAAA,GAAAA,gBAAA;AAEF,MAAMU,aAAa,GAAGA,CACpBxB,IAAY,EACZL,OAA0B,KACwB;EAClD,MAAM8B,QAAQ,GAAG,IAAA3B,oBAAS,EAACH,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;EAE7C,IAAI8B,QAAQ,KAAKjD,4BAA4B,EAAE;IAC7C,OAAOuB,0BAA0B,CAACC,IAAI,EAAEL,OAAO,CAAC;EAClD;EAEA,IAAI8B,QAAQ,KAAKhD,iBAAiB,EAAE;IAClC,OAAOqC,gBAAgB,CAACd,IAAI,EAAEL,OAAO,CAAC;EACxC;EAEA,OAAOR,SAAS;AAClB,CAAC;AAACR,OAAA,CAAA6C,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -5,24 +5,49 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.BP2_REALTIME_COMMAND = exports.BP2HistorySequencer = void 0;
|
|
7
7
|
var _sentryLogger = require("../../../../helpers/utils/sentry-logger.js");
|
|
8
|
+
var _clockSync = require("../../../types/clock-sync.js");
|
|
8
9
|
var _hexToByte = require("../../../utils/hex-to-byte.js");
|
|
9
10
|
var _lepuCommandBuilder = require("../lepu/lepu.command-builder.js");
|
|
11
|
+
var _lepuCommands = require("../lepu/lepu.commands.js");
|
|
12
|
+
var _lepuEcgTransfer = require("../lepu/lepu.ecg-transfer.js");
|
|
10
13
|
var _lepuFileTransfer = require("../lepu/lepu.file-transfer.js");
|
|
14
|
+
var _lepuFrame = require("../lepu/lepu.frame.js");
|
|
15
|
+
var _lepuResponseType = require("../lepu/lepu.response-type.js");
|
|
11
16
|
const BP2_REALTIME_COMMAND = exports.BP2_REALTIME_COMMAND = 0x08;
|
|
12
17
|
const BP2_RESULT_STATES = new Set(["05", "07", "11"]);
|
|
13
18
|
const BP2_ECG_STATE = "06";
|
|
14
19
|
const BP2_IDLE_STATES = new Set(["00", "01", "03"]);
|
|
15
|
-
|
|
20
|
+
const BP2_POLL_INTERVAL_MS = 200;
|
|
21
|
+
/** Reads unseen BP2 history on connect and after each realtime result. */
|
|
16
22
|
class BP2HistorySequencer {
|
|
17
23
|
builder = new _lepuCommandBuilder.LepuCommandBuilder();
|
|
18
24
|
lastRunStatusFrameCount = 0;
|
|
19
25
|
realtimeEcgActive = false;
|
|
26
|
+
phase = "files";
|
|
20
27
|
constructor(params) {
|
|
21
28
|
this.params = params;
|
|
22
29
|
}
|
|
23
|
-
initialCommands = () =>
|
|
30
|
+
initialCommands = () => {
|
|
31
|
+
if ((0, _clockSync.isClockSyncEnabled)(this.params.clockSync)) {
|
|
32
|
+
this.phase = "clock";
|
|
33
|
+
return [{
|
|
34
|
+
...this.params.write,
|
|
35
|
+
frame: this.builder.build(_lepuCommands.LepuCommand.SET_TIME, (0, _lepuEcgTransfer.clockPayload)(this.params.clockSync))
|
|
36
|
+
}];
|
|
37
|
+
}
|
|
38
|
+
return this.startTransfer();
|
|
39
|
+
};
|
|
24
40
|
isHistoryTransfer = () => true;
|
|
25
41
|
nextCommand = frame => {
|
|
42
|
+
if (this.phase === "clock") {
|
|
43
|
+
if ((0, _lepuFrame.lepuCommandOf)(frame) !== _lepuCommands.LepuCommand.SET_TIME) {
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
if (!(0, _lepuResponseType.isLepuSuccess)(frame)) {
|
|
47
|
+
this.params.onError(`the device refused SET_TIME: ${(0, _lepuResponseType.describeLepuResponseType)(frame)}`);
|
|
48
|
+
}
|
|
49
|
+
return this.startTransfer();
|
|
50
|
+
}
|
|
26
51
|
if (this.transfer) {
|
|
27
52
|
return this.transfer.nextCommand(frame);
|
|
28
53
|
}
|
|
@@ -37,11 +62,12 @@ class BP2HistorySequencer {
|
|
|
37
62
|
}
|
|
38
63
|
if (this.params.shouldStartTransfer() || endedWithoutResult) {
|
|
39
64
|
this.params.onTransferRequested();
|
|
40
|
-
return this.startTransfer();
|
|
65
|
+
return this.startTransfer(isResult ? 3_000 : undefined);
|
|
41
66
|
}
|
|
42
67
|
return undefined;
|
|
43
68
|
};
|
|
44
|
-
startTransfer =
|
|
69
|
+
startTransfer = delayBeforeWriteMs => {
|
|
70
|
+
this.phase = "files";
|
|
45
71
|
this.transfer = new _lepuFileTransfer.LepuFileTransfer({
|
|
46
72
|
write: this.params.write,
|
|
47
73
|
builder: this.builder,
|
|
@@ -50,7 +76,7 @@ class BP2HistorySequencer {
|
|
|
50
76
|
skipFiles: this.params.skipFiles,
|
|
51
77
|
afterTransfer: this.finishTransfer
|
|
52
78
|
});
|
|
53
|
-
return this.transfer.initialCommands();
|
|
79
|
+
return this.transfer.initialCommands(delayBeforeWriteMs);
|
|
54
80
|
};
|
|
55
81
|
finishTransfer = () => {
|
|
56
82
|
this.transfer = undefined;
|
|
@@ -59,7 +85,8 @@ class BP2HistorySequencer {
|
|
|
59
85
|
};
|
|
60
86
|
pollCommand = () => ({
|
|
61
87
|
...this.params.write,
|
|
62
|
-
frame: this.builder.build(BP2_REALTIME_COMMAND)
|
|
88
|
+
frame: this.builder.build(BP2_REALTIME_COMMAND),
|
|
89
|
+
delayBeforeWriteMs: BP2_POLL_INTERVAL_MS
|
|
63
90
|
});
|
|
64
91
|
isResultFrame = frame => (0, _hexToByte.hexToByte)(frame[1] ?? "0") === BP2_REALTIME_COMMAND && BP2_RESULT_STATES.has((frame[7] ?? "").toLowerCase());
|
|
65
92
|
isIdleFrame = frame => (0, _hexToByte.hexToByte)(frame[1] ?? "0") === BP2_REALTIME_COMMAND && BP2_IDLE_STATES.has((frame[7] ?? "").toLowerCase());
|
package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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","
|
|
1
|
+
{"version":3,"names":["_sentryLogger","require","_clockSync","_hexToByte","_lepuCommandBuilder","_lepuCommands","_lepuEcgTransfer","_lepuFileTransfer","_lepuFrame","_lepuResponseType","BP2_REALTIME_COMMAND","exports","BP2_RESULT_STATES","Set","BP2_ECG_STATE","BP2_IDLE_STATES","BP2_POLL_INTERVAL_MS","BP2HistorySequencer","builder","LepuCommandBuilder","lastRunStatusFrameCount","realtimeEcgActive","phase","constructor","params","initialCommands","isClockSyncEnabled","clockSync","write","frame","build","LepuCommand","SET_TIME","clockPayload","startTransfer","isHistoryTransfer","nextCommand","lepuCommandOf","undefined","isLepuSuccess","onError","describeLepuResponseType","transfer","logRunStatus","isResult","isResultFrame","endedWithoutResult","isIdleFrame","onOrphanStreamEnd","shouldStartTransfer","onTransferRequested","delayBeforeWriteMs","LepuFileTransfer","onFile","skipFiles","afterTransfer","finishTransfer","onTransferFinished","pollCommand","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":[]}
|
|
@@ -31,6 +31,7 @@ class BTDataProcessor {
|
|
|
31
31
|
this.measurementState = new _measurementStateMachine.MeasurementStateMachine({
|
|
32
32
|
onStatusChanged: callbacks.onStatusChanged,
|
|
33
33
|
onStreamStart: callbacks.onStreamStart,
|
|
34
|
+
onMeasurementEnd: callbacks.onMeasurementEnd,
|
|
34
35
|
onResult: callbacks.onResult
|
|
35
36
|
});
|
|
36
37
|
}
|
|
@@ -143,7 +144,10 @@ class BTDataProcessor {
|
|
|
143
144
|
*/
|
|
144
145
|
let dependentData = null;
|
|
145
146
|
if (data.parsingCase.caseType === _caseType.CaseType.DEPENDENT) {
|
|
146
|
-
dependentData = this.callbacks.handleDependentResult?.(
|
|
147
|
+
dependentData = this.callbacks.handleDependentResult?.({
|
|
148
|
+
...data,
|
|
149
|
+
isMeasuring: this.measurementState.measuring
|
|
150
|
+
});
|
|
147
151
|
}
|
|
148
152
|
this.measurementState.advance(dependentData || data, frame);
|
|
149
153
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_sentryLogger","require","_caseType","_frameReadStatus","_frameParser","_measurementStateMachine","BTDataProcessor","buffers","Map","constructor","device","mainServices","stuckDataTimeoutDuration","callbacks","frameReader","frameParser","FrameParser","measurementState","MeasurementStateMachine","onStatusChanged","onStreamStart","onResult","currentUuid","destroy","clear","reset","clearTimeout","stuckDataTimeout","undefined","commandTimeout","processData","uuid","hexValue","String","toLowerCase","buffer","get","push","set","startStuckTimeout","readFramesFromBuffer","readWholeBuffer","armStuckTimeout","armCommandTimeout","startCommandTimeout","reader","length","result","readFrame","hasProgressed","consumedBytes","splice","status","FrameReadStatus","COMPLETE","handleFrame","frame","answerFrame","CORRUPT","reportCorruptFrame","INCOMPLETE","validatePackage","progress","commandProgress","commands","nextCommand","sendCommands","data","parse","sentryLogger","join","dependentData","parsingCase","caseType","CaseType","DEPENDENT","handleDependentResult","advance","onError","Error","cause","message","setTimeout","cancelConnection","duration","commandTimeoutMs","onCommandTimeout","terminal","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-data-processor.ts"],"mappings":";;;;;;AAIA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKA,IAAAE,gBAAA,GAAAF,OAAA;AAKA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,wBAAA,GAAAJ,OAAA;AAhBA;;
|
|
1
|
+
{"version":3,"names":["_sentryLogger","require","_caseType","_frameReadStatus","_frameParser","_measurementStateMachine","BTDataProcessor","buffers","Map","constructor","device","mainServices","stuckDataTimeoutDuration","callbacks","frameReader","frameParser","FrameParser","measurementState","MeasurementStateMachine","onStatusChanged","onStreamStart","onMeasurementEnd","onResult","currentUuid","destroy","clear","reset","clearTimeout","stuckDataTimeout","undefined","commandTimeout","processData","uuid","hexValue","String","toLowerCase","buffer","get","push","set","startStuckTimeout","readFramesFromBuffer","readWholeBuffer","armStuckTimeout","armCommandTimeout","startCommandTimeout","reader","length","result","readFrame","hasProgressed","consumedBytes","splice","status","FrameReadStatus","COMPLETE","handleFrame","frame","answerFrame","CORRUPT","reportCorruptFrame","INCOMPLETE","validatePackage","progress","commandProgress","commands","nextCommand","sendCommands","data","parse","sentryLogger","join","dependentData","parsingCase","caseType","CaseType","DEPENDENT","handleDependentResult","isMeasuring","measuring","advance","onError","Error","cause","message","setTimeout","cancelConnection","duration","commandTimeoutMs","onCommandTimeout","terminal","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-data-processor.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -75,6 +75,8 @@ class BTManagedDevice {
|
|
|
75
75
|
* neither parses nothing, so an unknown buffer is never decoded on trust.
|
|
76
76
|
*/
|
|
77
77
|
|
|
78
|
+
/** Flushes protocol-level session state before a connection is torn down. */
|
|
79
|
+
handleMeasurementEnd() {}
|
|
78
80
|
constructor(device, {
|
|
79
81
|
deviceName,
|
|
80
82
|
onError: onErrorCallback,
|
|
@@ -213,6 +215,7 @@ class BTManagedDevice {
|
|
|
213
215
|
this.onConnectionEvent = onConnectionEventCallback;
|
|
214
216
|
}
|
|
215
217
|
destroy = () => {
|
|
218
|
+
this.handleMeasurementEnd();
|
|
216
219
|
(0, _sentryLogger.sentryLogger)("info", "BT_MANAGER: Destroying device", {
|
|
217
220
|
deviceData: this.deviceData,
|
|
218
221
|
deviceName: this.deviceData.name
|
|
@@ -302,6 +305,7 @@ class BTManagedDevice {
|
|
|
302
305
|
this.dataProcessor = new _btDataProcessor.BTDataProcessor(this.device, this.mainServices, this.stuckDataTimeout, {
|
|
303
306
|
onStatusChanged: this.onDeviceStatusChanged?.bind(this),
|
|
304
307
|
onStreamStart: this.onStreamStart?.bind(this),
|
|
308
|
+
onMeasurementEnd: this.handleMeasurementEnd.bind(this),
|
|
305
309
|
validatePackage: this.validatePackage?.bind(this) ?? (() => false),
|
|
306
310
|
onResult: (parsedData, collectedValues) => {
|
|
307
311
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_sentryLogger","require","_telemetry","_bluetoothError","_clockSync","_deviceStatus","_resultIdentity","_summariseMeasurementForLog","_supportedMeasurementTypeKeys","_btConnectionHandler","_btDataProcessor","_pollingCommandSequencer","BTManagedDevice","connected","resultReportedThisConnection","historyTransferActive","bondedEventReported","reportedMeasurementKinds","Set","reportedDailyTotals","historyResultCount","reportsBondedEvent","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onConnectionEvent","onConnectionEventCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","resultPolicy","sentryLogger","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","clockSync","clockSyncCapabilityForDevice","status","measurementTypeKey","addOvokSpanEvent","model","error","Error","message","normalized","toBluetoothError","originalError","translationKey","code","caseType","_","data","policy","byMeasurement","default","has","add","temporal","end","Date","undefined","now","getTime","day","start","recordedAt","key","toISOString","slice","recordOvokMetric","summariseMeasurementForLog","kind","progress","current","result","Object","defineProperty","value","createStableResultId","enumerable","writable","destroy","connectionHandler","dataProcessor","disconnect","cancelConnection","String","connectInternal","clear","supportedMeasurementTypeKeys","mainServices","sequencer","createCommandSequencer","pollingSequencerFor","isHistoryTransfer","BTConnectionHandler","onStatusChanged","DeviceStatus","CONNECTED","bind","DISCONNECTED","event","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","serialNumber","initialCommands","onCommandSent","armStuckTimeout","armCommandTimeout","isNormalDisconnect","preferredMtu","BTDataProcessor","stuckDataTimeout","onStreamStart","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","commandTimeoutMs","onCommandTimeout","commandProgress","handleDependentResult","frameReader","connect","connectionPromise","Promise","resolve","finally","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_sentryLogger","require","_telemetry","_bluetoothError","_clockSync","_deviceStatus","_resultIdentity","_summariseMeasurementForLog","_supportedMeasurementTypeKeys","_btConnectionHandler","_btDataProcessor","_pollingCommandSequencer","BTManagedDevice","connected","resultReportedThisConnection","historyTransferActive","bondedEventReported","reportedMeasurementKinds","Set","reportedDailyTotals","historyResultCount","reportsBondedEvent","handleMeasurementEnd","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onConnectionEvent","onConnectionEventCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","resultPolicy","sentryLogger","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","clockSync","clockSyncCapabilityForDevice","status","measurementTypeKey","addOvokSpanEvent","model","error","Error","message","normalized","toBluetoothError","originalError","translationKey","code","caseType","_","data","policy","byMeasurement","default","has","add","temporal","end","Date","undefined","now","getTime","day","start","recordedAt","key","toISOString","slice","recordOvokMetric","summariseMeasurementForLog","kind","progress","current","result","Object","defineProperty","value","createStableResultId","enumerable","writable","destroy","connectionHandler","dataProcessor","disconnect","cancelConnection","String","connectInternal","clear","supportedMeasurementTypeKeys","mainServices","sequencer","createCommandSequencer","pollingSequencerFor","isHistoryTransfer","BTConnectionHandler","onStatusChanged","DeviceStatus","CONNECTED","bind","DISCONNECTED","event","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","serialNumber","initialCommands","onCommandSent","armStuckTimeout","armCommandTimeout","isNormalDisconnect","preferredMtu","BTDataProcessor","stuckDataTimeout","onStreamStart","onMeasurementEnd","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","commandTimeoutMs","onCommandTimeout","commandProgress","handleDependentResult","frameReader","connect","connectionPromise","Promise","resolve","finally","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -53,11 +53,15 @@ const createLepuSequencer = (lepu, report, clockSync, manufacturerData) => {
|
|
|
53
53
|
protocol: selected.protocol,
|
|
54
54
|
writeWithoutResponse: selected.writeWithoutResponse,
|
|
55
55
|
setClockBeforeInfo: selected.setClockBeforeInfo,
|
|
56
|
+
clockSyncProtocol: selected.clockSyncProtocol,
|
|
56
57
|
clockSync,
|
|
57
58
|
expectedDeviceTypes: selected.expectedDeviceTypes,
|
|
58
59
|
...(selected.pollCommand === undefined ? {} : {
|
|
59
60
|
pollCommand: selected.pollCommand
|
|
60
61
|
}),
|
|
62
|
+
...(selected.pollIntervalMs === undefined ? {} : {
|
|
63
|
+
pollIntervalMs: selected.pollIntervalMs
|
|
64
|
+
}),
|
|
61
65
|
manufacturerData,
|
|
62
66
|
rejectEncryptionAtBytes: selected.rejectEncryptionAtBytes,
|
|
63
67
|
onIdentified: report.onIdentified,
|
package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_sentryLogger","require","_lepuAdvertisement","_lepuCommandBuilder","_lepuIdentityGate","_lepuTransports","DEFAULT_START_BYTE","recordLepuIdentity","deviceData","info","sn","serialNumber","sentryLogger","deviceId","id","deviceName","name","deviceType","branchCode","protocolMaxLength","exports","createLepuSequencer","lepu","report","clockSync","manufacturerData","selected","selectLepu","LepuIdentityGate","write","serviceUuid","characteristicUuid","builder","LepuCommandBuilder","requestStartByte","startBytes","fixedSequence","protocol","writeWithoutResponse","setClockBeforeInfo","expectedDeviceTypes","pollCommand","undefined","rejectEncryptionAtBytes","onIdentified","onRefused","manufacturerDataProtocol","viatomOxygenUsesV2","transport","lepuTransports","aw1","writeUuid"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom-lepu-sequencer.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAKA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AAEA,IAAAG,iBAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AAEA;AACA,MAAMK,kBAAkB,GAAG,IAAI;AAO/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAGA,CACzBC,UAAsB,EACtBC,IAAoB,KACX;EACTD,UAAU,CAACE,EAAE,GAAGD,IAAI,CAACE,YAAY;EAEjC,IAAAC,0BAAY,EAAC,MAAM,EAAE,sCAAsC,EAAE;IAC3DC,QAAQ,EAAEL,UAAU,CAACM,EAAE;IACvBC,UAAU,EAAEP,UAAU,CAACQ,IAAI;IAC3BC,UAAU,EAAER,IAAI,CAACQ,UAAU;IAC3BC,UAAU,EAAET,IAAI,CAACS,UAAU;IAC3BC,iBAAiB,EAAEV,IAAI,CAACU;EAC1B,CAAC,CAAC;AACJ,CAAC;AAACC,OAAA,CAAAb,kBAAA,GAAAA,kBAAA;AAEF,MAAMc,mBAAmB,GAAGA,CAC1BC,IAAoB,EACpBC,MAAsB,EACtBC,SAA4B,EAC5BC,gBAAyB,KACJ;EACrB,MAAMC,QAAQ,GAAGC,UAAU,CAACL,IAAI,EAAEG,gBAAgB,CAAC;EAEnD,OAAO,IAAIG,kCAAgB,CAAC;IAC1BC,KAAK,EAAE;MACLC,WAAW,EAAEJ,QAAQ,CAACG,KAAK,CAACC,WAAW;MACvCC,kBAAkB,EAAEL,QAAQ,CAACG,KAAK,CAACE;IACrC,CAAC;IACDC,OAAO,EAAE,IAAIC,sCAAkB,CAC7BP,QAAQ,CAACQ,gBAAgB,IAAIR,QAAQ,CAACS,UAAU,CAAC,CAAC,CAAC,IAAI7B,kBAAkB,EACzE;MAAE8B,aAAa,EAAEV,QAAQ,CAACW,QAAQ,KAAK;IAAgB,CACzD,CAAC;IACDA,QAAQ,EAAEX,QAAQ,CAACW,QAAQ;IAC3BC,oBAAoB,EAAEZ,QAAQ,CAACY,oBAAoB;IACnDC,kBAAkB,EAAEb,QAAQ,CAACa,kBAAkB;IAC/
|
|
1
|
+
{"version":3,"names":["_sentryLogger","require","_lepuAdvertisement","_lepuCommandBuilder","_lepuIdentityGate","_lepuTransports","DEFAULT_START_BYTE","recordLepuIdentity","deviceData","info","sn","serialNumber","sentryLogger","deviceId","id","deviceName","name","deviceType","branchCode","protocolMaxLength","exports","createLepuSequencer","lepu","report","clockSync","manufacturerData","selected","selectLepu","LepuIdentityGate","write","serviceUuid","characteristicUuid","builder","LepuCommandBuilder","requestStartByte","startBytes","fixedSequence","protocol","writeWithoutResponse","setClockBeforeInfo","clockSyncProtocol","expectedDeviceTypes","pollCommand","undefined","pollIntervalMs","rejectEncryptionAtBytes","onIdentified","onRefused","manufacturerDataProtocol","viatomOxygenUsesV2","transport","lepuTransports","aw1","writeUuid"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom-lepu-sequencer.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAKA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AAEA,IAAAG,iBAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AAEA;AACA,MAAMK,kBAAkB,GAAG,IAAI;AAO/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAGA,CACzBC,UAAsB,EACtBC,IAAoB,KACX;EACTD,UAAU,CAACE,EAAE,GAAGD,IAAI,CAACE,YAAY;EAEjC,IAAAC,0BAAY,EAAC,MAAM,EAAE,sCAAsC,EAAE;IAC3DC,QAAQ,EAAEL,UAAU,CAACM,EAAE;IACvBC,UAAU,EAAEP,UAAU,CAACQ,IAAI;IAC3BC,UAAU,EAAER,IAAI,CAACQ,UAAU;IAC3BC,UAAU,EAAET,IAAI,CAACS,UAAU;IAC3BC,iBAAiB,EAAEV,IAAI,CAACU;EAC1B,CAAC,CAAC;AACJ,CAAC;AAACC,OAAA,CAAAb,kBAAA,GAAAA,kBAAA;AAEF,MAAMc,mBAAmB,GAAGA,CAC1BC,IAAoB,EACpBC,MAAsB,EACtBC,SAA4B,EAC5BC,gBAAyB,KACJ;EACrB,MAAMC,QAAQ,GAAGC,UAAU,CAACL,IAAI,EAAEG,gBAAgB,CAAC;EAEnD,OAAO,IAAIG,kCAAgB,CAAC;IAC1BC,KAAK,EAAE;MACLC,WAAW,EAAEJ,QAAQ,CAACG,KAAK,CAACC,WAAW;MACvCC,kBAAkB,EAAEL,QAAQ,CAACG,KAAK,CAACE;IACrC,CAAC;IACDC,OAAO,EAAE,IAAIC,sCAAkB,CAC7BP,QAAQ,CAACQ,gBAAgB,IAAIR,QAAQ,CAACS,UAAU,CAAC,CAAC,CAAC,IAAI7B,kBAAkB,EACzE;MAAE8B,aAAa,EAAEV,QAAQ,CAACW,QAAQ,KAAK;IAAgB,CACzD,CAAC;IACDA,QAAQ,EAAEX,QAAQ,CAACW,QAAQ;IAC3BC,oBAAoB,EAAEZ,QAAQ,CAACY,oBAAoB;IACnDC,kBAAkB,EAAEb,QAAQ,CAACa,kBAAkB;IAC/CC,iBAAiB,EAAEd,QAAQ,CAACc,iBAAiB;IAC7ChB,SAAS;IACTiB,mBAAmB,EAAEf,QAAQ,CAACe,mBAAmB;IACjD,IAAIf,QAAQ,CAACgB,WAAW,KAAKC,SAAS,GAClC,CAAC,CAAC,GACF;MAAED,WAAW,EAAEhB,QAAQ,CAACgB;IAAY,CAAC,CAAC;IAC1C,IAAIhB,QAAQ,CAACkB,cAAc,KAAKD,SAAS,GACrC,CAAC,CAAC,GACF;MAAEC,cAAc,EAAElB,QAAQ,CAACkB;IAAe,CAAC,CAAC;IAChDnB,gBAAgB;IAChBoB,uBAAuB,EAAEnB,QAAQ,CAACmB,uBAAuB;IACzDC,YAAY,EAAEvB,MAAM,CAACuB,YAAY;IACjCC,SAAS,EAAExB,MAAM,CAACwB;EACpB,CAAC,CAAC;AACJ,CAAC;AAAC3B,OAAA,CAAAC,mBAAA,GAAAA,mBAAA;AAEF,MAAMM,UAAU,GAAGA,CACjBL,IAAoB,EACpBG,gBAAyB,KACN;EACnB,IACEH,IAAI,CAAC0B,wBAAwB,KAAK,eAAe,IACjD,CAAC,IAAAC,qCAAkB,EAACxB,gBAAgB,CAAC,EACrC;IACA,OAAOH,IAAI;EACb;EAEA,MAAM4B,SAAS,GAAGC,8BAAc,CAACC,GAAG;EAEpC,OAAO;IACL,GAAG9B,IAAI;IACPe,QAAQ,EAAE,IAAI;IACdF,UAAU,EAAE,CAAC,IAAI,CAAC;IAClBD,gBAAgB,EAAE,IAAI;IACtBL,KAAK,EAAE;MACLC,WAAW,EAAEoB,SAAS,CAACpB,WAAW;MAClCC,kBAAkB,EAAEmB,SAAS,CAACG;IAChC,CAAC;IACDX,WAAW,EAAE,IAAI;IACjBJ,oBAAoB,EAAE,IAAI;IAC1BC,kBAAkB,EAAE;EACtB,CAAC;AACH,CAAC;AAACnB,OAAA,CAAAO,UAAA,GAAAA,UAAA","ignoreList":[]}
|
|
@@ -9,10 +9,12 @@ var _caseType = require("../../../types/case-type.js");
|
|
|
9
9
|
var _createFrameValidator = require("../../../utils/create-frame-validator.js");
|
|
10
10
|
var _parseMeasurement = require("../../../utils/parse-measurement.js");
|
|
11
11
|
var _rejectCustomReading = require("../../../utils/reject-custom-reading.js");
|
|
12
|
+
var _bp2Files = require("../bp2/bp2.files.js");
|
|
12
13
|
var _btManagedDevice = require("../bt-managed-device.js");
|
|
13
14
|
var _lepuCommandBuilder = require("../lepu/lepu.command-builder.js");
|
|
14
15
|
var _lepuEcgTransfer = require("../lepu/lepu.ecg-transfer.js");
|
|
15
16
|
var _lepuFrameReader = require("../lepu/lepu.frame-reader.js");
|
|
17
|
+
var _viatomBp3Files = require("../viatom/viatom.bp3-files.js");
|
|
16
18
|
var _viatomEcgFiles = require("../viatom/viatom.ecg-files.js");
|
|
17
19
|
var _customLepuSequencer = require("./custom-lepu-sequencer.js");
|
|
18
20
|
/* eslint-disable max-lines */
|
|
@@ -27,15 +29,18 @@ var _customLepuSequencer = require("./custom-lepu-sequencer.js");
|
|
|
27
29
|
* catalog accepts. Anything else is reported through onError and no measurement is emitted.
|
|
28
30
|
*/
|
|
29
31
|
class CustomDevice extends _btManagedDevice.BTManagedDevice {
|
|
32
|
+
reportedHistoryIds = new Set();
|
|
30
33
|
validators = new Map();
|
|
34
|
+
sessionAggregates = new Map();
|
|
31
35
|
constructor(device, params, definition) {
|
|
32
36
|
super(device, {
|
|
33
37
|
...params,
|
|
34
38
|
oneReadingPerConnection: params.oneReadingPerConnection ?? definition.oneReadingPerConnection
|
|
35
39
|
});
|
|
36
40
|
this.definition = definition;
|
|
41
|
+
this.sessionPolicy = definition.sessionPolicy;
|
|
37
42
|
this.deviceData.clockSync = definition.clockSync;
|
|
38
|
-
this.
|
|
43
|
+
this.deliveredFileNames = new Set([...(params.deliveredEcgFileNames ?? []), ...(params.deliveredFileNames ?? [])]);
|
|
39
44
|
const selectedLepu = definition.lepu ? (0, _customLepuSequencer.selectLepu)(definition.lepu, device.manufacturerData ?? undefined) : undefined;
|
|
40
45
|
this.mainServices = selectedLepu?.manufacturerDataProtocol === "viatom-oxygen" ? definition.mainServices.filter(service => service.uuid === selectedLepu.write.serviceUuid) : definition.mainServices;
|
|
41
46
|
this.stuckDataTimeout = definition.stuckDataTimeout;
|
|
@@ -63,7 +68,8 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
|
|
|
63
68
|
}
|
|
64
69
|
this.frameReader = new _lepuFrameReader.LepuFrameReader(lepu.startBytes);
|
|
65
70
|
this.createCommandSequencer = () => {
|
|
66
|
-
if (lepu.fileTransfer
|
|
71
|
+
if (lepu.fileTransfer !== undefined) {
|
|
72
|
+
this.reportedHistoryIds.clear();
|
|
67
73
|
return new _lepuEcgTransfer.LepuEcgTransferSequencer({
|
|
68
74
|
write: {
|
|
69
75
|
serviceUuid: lepu.write.serviceUuid,
|
|
@@ -71,13 +77,17 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
|
|
|
71
77
|
},
|
|
72
78
|
builder: new _lepuCommandBuilder.LepuCommandBuilder(lepu.startBytes[0] ?? "a5"),
|
|
73
79
|
clockSync,
|
|
80
|
+
manufacturerData: this.device.manufacturerData ?? undefined,
|
|
81
|
+
rejectEncryptionAtBytes: lepu.rejectEncryptionAtBytes,
|
|
74
82
|
expectedDeviceTypes: lepu.expectedDeviceTypes,
|
|
75
83
|
onIdentified: this.onIdentified,
|
|
76
84
|
onRefused: this.onIdentityRefused,
|
|
77
|
-
onFile: this.reportViatomEcgFile,
|
|
78
|
-
skipFiles: this.
|
|
79
|
-
acceptFile: name => lepu.ecgFileDecoder === "raw-int16" && /^R/i.test(name),
|
|
80
|
-
|
|
85
|
+
onFile: lepu.fileTransfer === "ecg" ? this.reportViatomEcgFile : lepu.fileTransfer === "bp2" ? this.reportViatomBp2File : this.reportViatomBp3File,
|
|
86
|
+
skipFiles: lepu.fileTransfer === "bp3" ? undefined : this.deliveredFileNames,
|
|
87
|
+
acceptFile: lepu.fileTransfer === "ecg" ? name => lepu.ecgFileDecoder === "raw-int16" && /^R/i.test(name) : lepu.fileTransfer === "bp3" ? name => /^bp\.list$/i.test(name) : undefined,
|
|
88
|
+
pollCommand: lepu.fileTransfer === "ecg" ? undefined : lepu.pollCommand,
|
|
89
|
+
pollIntervalMs: lepu.fileTransfer === "ecg" ? undefined : lepu.pollIntervalMs,
|
|
90
|
+
afterTransfer: lepu.fileTransfer === "ecg" && lepu.pollCommand ? () => [{
|
|
81
91
|
serviceUuid: lepu.write.serviceUuid,
|
|
82
92
|
characteristicUuid: lepu.write.characteristicUuid,
|
|
83
93
|
frame: new _lepuCommandBuilder.LepuCommandBuilder(lepu.startBytes[0] ?? "a5").build(lepu.pollCommand)
|
|
@@ -114,6 +124,29 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
|
|
|
114
124
|
recordingId: file.name
|
|
115
125
|
});
|
|
116
126
|
};
|
|
127
|
+
reportViatomBp2File = file => {
|
|
128
|
+
const decoded = (0, _bp2Files.decodeBP2File)(file.name, file.content);
|
|
129
|
+
if (!decoded || this.reportedHistoryIds.has(decoded.recordingId)) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
this.reportedHistoryIds.add(decoded.recordingId);
|
|
133
|
+
this.onResult?.({
|
|
134
|
+
...decoded,
|
|
135
|
+
caseType: _caseType.CaseType.RESULT
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
reportViatomBp3File = file => {
|
|
139
|
+
(0, _viatomBp3Files.decodeViatomBp3File)(file.name, file.content)?.forEach(decoded => {
|
|
140
|
+
if (this.deliveredFileNames.has(decoded.recordingId) || this.reportedHistoryIds.has(decoded.recordingId)) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
this.reportedHistoryIds.add(decoded.recordingId);
|
|
144
|
+
this.onResult?.({
|
|
145
|
+
...decoded,
|
|
146
|
+
caseType: _caseType.CaseType.RESULT
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
};
|
|
117
150
|
onIdentified = info => (0, _customLepuSequencer.recordLepuIdentity)(this.deviceData, info);
|
|
118
151
|
onIdentityRefused = reason => {
|
|
119
152
|
this.onError?.(new Error(`Custom device "${this.definition.id}" was not addressed: ${reason}.`));
|
|
@@ -133,6 +166,25 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
|
|
|
133
166
|
*/
|
|
134
167
|
handleDependentResult = data => {
|
|
135
168
|
try {
|
|
169
|
+
if (data.parsingCase.requiresStream && !data.isMeasuring) {
|
|
170
|
+
return {
|
|
171
|
+
...data,
|
|
172
|
+
parsingCase: {
|
|
173
|
+
...data.parsingCase,
|
|
174
|
+
caseType: _caseType.CaseType.OTHER
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
if (this.sessionPolicy) {
|
|
179
|
+
this.captureSessionSample(data);
|
|
180
|
+
return {
|
|
181
|
+
...data,
|
|
182
|
+
parsingCase: {
|
|
183
|
+
...data.parsingCase,
|
|
184
|
+
caseType: _caseType.CaseType.STREAM
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
}
|
|
136
188
|
if (this.shouldReportDependentResult(data)) {
|
|
137
189
|
this.reportFrame(data);
|
|
138
190
|
}
|
|
@@ -159,6 +211,68 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
|
|
|
159
211
|
return;
|
|
160
212
|
}
|
|
161
213
|
|
|
214
|
+
/** Emits a completed session before the state machine returns to CONNECTED. */
|
|
215
|
+
handleMeasurementEnd() {
|
|
216
|
+
const policy = this.sessionPolicy;
|
|
217
|
+
if (!policy) {
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
const aggregates = [...this.sessionAggregates.values()];
|
|
221
|
+
this.sessionAggregates.clear();
|
|
222
|
+
const recordedAt = this.sessionStartedAt;
|
|
223
|
+
this.sessionStartedAt = undefined;
|
|
224
|
+
if (!recordedAt || policy.emit === "none") {
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
aggregates.forEach(aggregate => {
|
|
228
|
+
if (aggregate.count < policy.minSamples) {
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
const summary = {
|
|
232
|
+
...aggregate.sample,
|
|
233
|
+
...Object.fromEntries([...aggregate.sums.entries()].map(([name, total]) => [name, this.sessionAverage(aggregate.sample.measurementTypeKey, name, total / aggregate.count)])),
|
|
234
|
+
caseType: _caseType.CaseType.RESULT,
|
|
235
|
+
recordedAt
|
|
236
|
+
};
|
|
237
|
+
this.onResult?.(this.decorateReading(summary));
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
sessionAverage(measurementTypeKey, name, value) {
|
|
241
|
+
const decimals = this.definition.fields.get(`${measurementTypeKey}:${name}`)?.decimals;
|
|
242
|
+
return decimals === undefined ? Math.trunc(value) : Number(value.toFixed(decimals));
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/** Collects only complete, physiologically valid readings from one live frame. */
|
|
246
|
+
captureSessionSample(data) {
|
|
247
|
+
const measurements = data.parsingCase.measurements ?? [];
|
|
248
|
+
const frameRecordedAt = this.sessionStartedAt ?? new Date();
|
|
249
|
+
measurements.forEach(measurement => {
|
|
250
|
+
const reading = this.createMeasurement(data.parsedData, measurement);
|
|
251
|
+
const rejection = this.measurementRejection(reading, measurement);
|
|
252
|
+
|
|
253
|
+
// Viatom uses out-of-range markers for values that are not available yet.
|
|
254
|
+
// They are ignored for the session rather than surfaced as decoding errors.
|
|
255
|
+
if (rejection) {
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
const key = String(measurement.measurementTypeKey);
|
|
259
|
+
const existing = this.sessionAggregates.get(key);
|
|
260
|
+
const sums = existing?.sums ?? new Map();
|
|
261
|
+
measurement.fieldNames.forEach(name => {
|
|
262
|
+
const value = reading[name];
|
|
263
|
+
if (typeof value === "number") {
|
|
264
|
+
sums.set(name, (sums.get(name) ?? 0) + value);
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
this.sessionAggregates.set(key, {
|
|
268
|
+
count: (existing?.count ?? 0) + 1,
|
|
269
|
+
sample: existing?.sample ?? reading,
|
|
270
|
+
sums
|
|
271
|
+
});
|
|
272
|
+
this.sessionStartedAt ??= frameRecordedAt;
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
|
|
162
276
|
/** Adds protocol-specific metadata to a validated reading before it is emitted. */
|
|
163
277
|
decorateReading = (reading, frame, recordOffset) => this.definition.decorateReading?.(reading, frame, recordOffset) ?? reading;
|
|
164
278
|
|
|
@@ -205,6 +319,15 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
|
|
|
205
319
|
this.onError?.((0, _rejectCustomReading.discardedReadingError)(this.definition.id, reason, parsedData));
|
|
206
320
|
}
|
|
207
321
|
reportMeasurement(parsedData, measurement, frame, recordOffset) {
|
|
322
|
+
const reading = this.createMeasurement(parsedData, measurement);
|
|
323
|
+
const rejection = this.measurementRejection(reading, measurement);
|
|
324
|
+
if (rejection) {
|
|
325
|
+
this.discard(rejection, reading);
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
328
|
+
this.onResult?.(this.decorateReading(reading, frame, recordOffset));
|
|
329
|
+
}
|
|
330
|
+
createMeasurement(parsedData, measurement) {
|
|
208
331
|
const reading = {
|
|
209
332
|
caseType: parsedData.caseType,
|
|
210
333
|
measurementTypeKey: measurement.measurementTypeKey
|
|
@@ -212,12 +335,10 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
|
|
|
212
335
|
measurement.fieldNames.forEach(name => {
|
|
213
336
|
reading[name] = parsedData[name];
|
|
214
337
|
});
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
}
|
|
220
|
-
this.onResult?.(this.decorateReading(reading, frame, recordOffset));
|
|
338
|
+
return reading;
|
|
339
|
+
}
|
|
340
|
+
measurementRejection(reading, measurement) {
|
|
341
|
+
return measurement.fieldNames.map(name => (0, _rejectCustomReading.rejectCustomReading)(this.definition.fields, measurement.measurementTypeKey, name, reading[name])).find(message => message !== undefined);
|
|
221
342
|
}
|
|
222
343
|
}
|
|
223
344
|
exports.CustomDevice = CustomDevice;
|