@ovok/native 1.16.1-dev.2187 → 1.16.1-dev.2189
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 +13 -0
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/runtime-context.js.map +1 -1
- package/lib/commonjs/modules/bt-management/index.js +12 -0
- package/lib/commonjs/modules/bt-management/index.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/bt-manager.js +7 -0
- package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js +20 -1
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +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.device.js +21 -4
- 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.live-ecg-chunks.js +75 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recorder.js +52 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recorder.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recording-watch.js +17 -15
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recording-watch.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.waveform.js +27 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.waveform.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js +13 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js.map +1 -1
- package/lib/commonjs/modules/bt-management/types/device-waveform.js +6 -0
- package/lib/commonjs/modules/bt-management/types/device-waveform.js.map +1 -0
- package/lib/commonjs/modules/bt-management/utils/i-16-from-hex.js.map +1 -1
- package/lib/commonjs/modules/next/bluetooth/ble-plx/legacy-driver.js +14 -0
- package/lib/commonjs/modules/next/bluetooth/ble-plx/legacy-driver.js.map +1 -1
- package/lib/commonjs/modules/next/bluetooth/connections.js +7 -1
- package/lib/commonjs/modules/next/bluetooth/connections.js.map +1 -1
- package/lib/commonjs/modules/next/bluetooth/driver.js.map +1 -1
- package/lib/commonjs/modules/next/bluetooth/runtime.js +8 -1
- package/lib/commonjs/modules/next/bluetooth/runtime.js.map +1 -1
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +13 -0
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/runtime-context.js.map +1 -1
- package/lib/module/modules/bt-management/index.js +1 -0
- package/lib/module/modules/bt-management/index.js.map +1 -1
- package/lib/module/modules/bt-management/services/bt-manager.js +7 -0
- package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js +20 -1
- package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +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.device.js +21 -4
- 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.live-ecg-chunks.js +72 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.recorder.js +48 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.recorder.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.recording-watch.js +17 -15
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.recording-watch.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.waveform.js +22 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.waveform.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js +14 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js.map +1 -1
- package/lib/module/modules/bt-management/types/device-waveform.js +4 -0
- package/lib/module/modules/bt-management/types/device-waveform.js.map +1 -0
- package/lib/module/modules/bt-management/utils/i-16-from-hex.js.map +1 -1
- package/lib/module/modules/next/bluetooth/ble-plx/legacy-driver.js +14 -0
- package/lib/module/modules/next/bluetooth/ble-plx/legacy-driver.js.map +1 -1
- package/lib/module/modules/next/bluetooth/connections.js +7 -1
- package/lib/module/modules/next/bluetooth/connections.js.map +1 -1
- package/lib/module/modules/next/bluetooth/driver.js.map +1 -1
- package/lib/module/modules/next/bluetooth/runtime.js +8 -1
- package/lib/module/modules/next/bluetooth/runtime.js.map +1 -1
- 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/hooks/runtime-context.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +2 -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.live-ecg-chunks.d.ts +42 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts +30 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +3 -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-lepu-spec.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-waveform.d.ts +15 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-waveform.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/i-16-from-hex.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/utils/i-16-from-hex.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/ble-plx/legacy-driver.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/connections.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/connections.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/driver.d.ts +6 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/driver.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/index.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/runtime.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/runtime.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/snapshot.d.ts +14 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/snapshot.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/hooks/runtime-context.d.ts +3 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/index.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +2 -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.live-ecg-chunks.d.ts +42 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts +30 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts +9 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +3 -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-lepu-spec.d.ts +11 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/device-waveform.d.ts +15 -0
- package/lib/typescript/module/src/modules/bt-management/types/device-waveform.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/utils/i-16-from-hex.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-management/utils/i-16-from-hex.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/ble-plx/legacy-driver.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/connections.d.ts +3 -1
- package/lib/typescript/module/src/modules/next/bluetooth/connections.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/driver.d.ts +6 -1
- package/lib/typescript/module/src/modules/next/bluetooth/driver.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/index.d.ts +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/runtime.d.ts +4 -1
- package/lib/typescript/module/src/modules/next/bluetooth/runtime.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/snapshot.d.ts +14 -1
- package/lib/typescript/module/src/modules/next/bluetooth/snapshot.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["assertIntegerInRange","customDeviceError","normalizeBleUuid","HEX_BYTE","MAX_OPCODE","MAX_DEVICE_TYPE","MAX_POLL_INTERVAL_MS","MAX_FRAME_INDEX","MAX_NIBBLE","MAX_RECORDING_SECONDS","ECG_FILE_DECODERS","assertFileTransfer","id","fileTransfer","undefined","String","assertProtocol","protocol","assertClockSyncProtocol","assertStartBytes","startBytes","Array","isArray","length","map","byte","index","normalized","toLowerCase","test","assertDeviceTypes","deviceTypes","deviceType","Number","isInteger","assertPollCommand","lepu","pollCommand","assertPollInterval","interval","assertRecordingField","status","field","max","assertRecordingStatus","byteIndex","secondsByteIndex","recordingState","leadOffState","savedState","minimumStoredSeconds","stopCommand","compileCustomLepu","spec","serviceUuids","services","some","service","write","clockSyncProtocol","expectedDeviceTypes","pollIntervalMs","recordingStatus","ecgFileDecoder","includes","requestStartByte","serviceUuid","rejectEncryptionAtBytes","writeWithoutResponse","Boolean","setClockBeforeInfo","manufacturerDataProtocol","characteristicUuid"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/compile-custom-lepu.ts"],"mappings":";;AAAA;;AAKA,SAASA,oBAAoB,QAAQ,8BAA2B;AAChE,SAASC,iBAAiB,QAAQ,0BAAuB;AACzD,SAASC,gBAAgB,QAAQ,yBAAsB;AAEvD,MAAMC,QAAQ,GAAG,eAAe;AAChC,MAAMC,UAAU,GAAG,IAAI;AACvB,MAAMC,eAAe,GAAG,MAAM;AAC9B,MAAMC,oBAAoB,GAAG,SAAS;AACtC,MAAMC,eAAe,GAAG,MAAM;AAC9B,MAAMC,UAAU,GAAG,IAAI;AACvB,MAAMC,qBAAqB,GAAG,UAAU;
|
|
1
|
+
{"version":3,"names":["assertIntegerInRange","customDeviceError","normalizeBleUuid","HEX_BYTE","MAX_OPCODE","MAX_DEVICE_TYPE","MAX_POLL_INTERVAL_MS","MAX_FRAME_INDEX","MAX_NIBBLE","MAX_RECORDING_SECONDS","INT16_MIN","INT16_MAX","ECG_FILE_DECODERS","assertFileTransfer","id","fileTransfer","undefined","String","assertProtocol","protocol","assertClockSyncProtocol","assertStartBytes","startBytes","Array","isArray","length","map","byte","index","normalized","toLowerCase","test","assertDeviceTypes","deviceTypes","deviceType","Number","isInteger","assertPollCommand","lepu","pollCommand","assertPollInterval","interval","assertRecordingField","status","field","max","assertPositive","value","isFinite","assertWaveform","waveform","countByteIndex","sampleRateHz","millivoltsPerCount","noSignalCount","assertRecordingStatus","byteIndex","secondsByteIndex","recordingState","leadOffState","savedState","minimumStoredSeconds","stopCommand","compileCustomLepu","spec","serviceUuids","services","some","service","write","clockSyncProtocol","expectedDeviceTypes","pollIntervalMs","recordingStatus","ecgFileDecoder","includes","requestStartByte","serviceUuid","rejectEncryptionAtBytes","writeWithoutResponse","Boolean","setClockBeforeInfo","manufacturerDataProtocol","characteristicUuid"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/compile-custom-lepu.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -127,6 +127,8 @@ export class BTManagedDevice {
|
|
|
127
127
|
|
|
128
128
|
/** Called for connection lifecycle events such as connected, bonded or history download. */
|
|
129
129
|
|
|
130
|
+
/** Called with the ECG samples of each realtime answer while a recorder records; for display only. */
|
|
131
|
+
|
|
130
132
|
/** How results of this kind are reported. */
|
|
131
133
|
policyFor = measurementTypeKey => this.resultPolicy?.byMeasurement?.[measurementTypeKey] ?? this.resultPolicy?.default ?? "all";
|
|
132
134
|
|
|
@@ -140,6 +142,7 @@ export class BTManagedDevice {
|
|
|
140
142
|
onResult: onResultCallback,
|
|
141
143
|
onSeriesValue: onSeriesValueCallback,
|
|
142
144
|
onConnectionEvent: onConnectionEventCallback,
|
|
145
|
+
onWaveform: onWaveformCallback,
|
|
143
146
|
onDeviceDisconnected: onDeviceDisconnectedCallback,
|
|
144
147
|
oneReadingPerConnection,
|
|
145
148
|
resultPolicy,
|
|
@@ -279,6 +282,7 @@ export class BTManagedDevice {
|
|
|
279
282
|
};
|
|
280
283
|
this.onDeviceDisconnected = onDeviceDisconnectedCallback;
|
|
281
284
|
this.onConnectionEvent = onConnectionEventCallback;
|
|
285
|
+
this.onWaveform = onWaveformCallback;
|
|
282
286
|
}
|
|
283
287
|
|
|
284
288
|
/** Stops the connection and data processing and clears the callbacks. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["sentryLogger","addOvokSpanEvent","recordOvokMetric","dailyTotalDay","BUILT_IN_MEASUREMENT_TYPES","findDeviceVariant","toBluetoothError","clockSyncCapabilityForDevice","isClockSyncEnabled","DeviceStatus","isFromAcceptedMemorySlot","errorCallbackPayload","createLegacyResultId","createStableResultId","supportedMeasurementTypeKeys","BTConnectionHandler","BTDataProcessor","pollingSequencerFor","BTManagedDevice","connected","destroyed","resultReportedThisConnection","historyTransferActive","bondedEventReported","reportedMeasurementKinds","Set","reportedDailyTotals","historyResultCount","getSupportedMeasurementTypeKeys","declared","mainServices","length","deviceData","name","reportsBondedEvent","syncsCurrentTime","handleSuccessResult","_successResult","_collectedValues","handleMeasurementEnd","stopRecording","Error","policyFor","measurementTypeKey","resultPolicy","byMeasurement","default","reportResult","result","onResult","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResultCallback","onSeriesValue","onSeriesValueCallback","onConnectionEvent","onConnectionEventCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","clockSync","policyPicksDelivery","undefined","clockSyncOptions","id","localName","manufacturerData","sn","measurementTypes","variant","String","manufacturer","model","status","error","normalized","errorCode","code","caseType","_","data","acceptedMemorySlots","policy","has","add","day","Date","now","key","kind","progress","current","Object","defineProperty","value","enumerable","writable","destroy","connectionHandler","dataProcessor","disconnect","cancelConnection","currentTimeSync","connectInternal","clear","sequencer","createCommandSequencer","isHistoryTransfer","onStatusChanged","CONNECTED","bind","DISCONNECTED","event","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","serialNumber","onServicesDiscovered","uuids","initialCommands","onCommandSent","armStuckTimeout","armCommandTimeout","isNormalDisconnect","preferredMtu","stuckDataTimeout","onStreamStart","onMeasurementEnd","validatePackage","parsedData","collectedValues","nextCommand","frame","sendCommands","commands","commandTimeoutMs","onCommandTimeout","commandProgress","handleDependentResult","frameReader","connect","Promise","reject","connectionPromise","resolve","finally"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["sentryLogger","addOvokSpanEvent","recordOvokMetric","dailyTotalDay","BUILT_IN_MEASUREMENT_TYPES","findDeviceVariant","toBluetoothError","clockSyncCapabilityForDevice","isClockSyncEnabled","DeviceStatus","isFromAcceptedMemorySlot","errorCallbackPayload","createLegacyResultId","createStableResultId","supportedMeasurementTypeKeys","BTConnectionHandler","BTDataProcessor","pollingSequencerFor","BTManagedDevice","connected","destroyed","resultReportedThisConnection","historyTransferActive","bondedEventReported","reportedMeasurementKinds","Set","reportedDailyTotals","historyResultCount","getSupportedMeasurementTypeKeys","declared","mainServices","length","deviceData","name","reportsBondedEvent","syncsCurrentTime","handleSuccessResult","_successResult","_collectedValues","handleMeasurementEnd","stopRecording","Error","policyFor","measurementTypeKey","resultPolicy","byMeasurement","default","reportResult","result","onResult","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResultCallback","onSeriesValue","onSeriesValueCallback","onConnectionEvent","onConnectionEventCallback","onWaveform","onWaveformCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","clockSync","policyPicksDelivery","undefined","clockSyncOptions","id","localName","manufacturerData","sn","measurementTypes","variant","String","manufacturer","model","status","error","normalized","errorCode","code","caseType","_","data","acceptedMemorySlots","policy","has","add","day","Date","now","key","kind","progress","current","Object","defineProperty","value","enumerable","writable","destroy","connectionHandler","dataProcessor","disconnect","cancelConnection","currentTimeSync","connectInternal","clear","sequencer","createCommandSequencer","isHistoryTransfer","onStatusChanged","CONNECTED","bind","DISCONNECTED","event","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","serialNumber","onServicesDiscovered","uuids","initialCommands","onCommandSent","armStuckTimeout","armCommandTimeout","isNormalDisconnect","preferredMtu","stuckDataTimeout","onStreamStart","onMeasurementEnd","validatePackage","parsedData","collectedValues","nextCommand","frame","sendCommands","commands","commandTimeoutMs","onCommandTimeout","commandProgress","handleDependentResult","frameReader","connect","Promise","reject","connectionPromise","resolve","finally"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,7 +12,7 @@ import { LepuCommandBuilder } from "../lepu/lepu.command-builder.js";
|
|
|
12
12
|
import { LepuEcgTransferSequencer } from "../lepu/lepu.ecg-transfer.js";
|
|
13
13
|
import { withLepuEncryption } from "../lepu/lepu.encryption-handshake.js";
|
|
14
14
|
import { LepuFrameReader } from "../lepu/lepu.frame-reader.js";
|
|
15
|
-
import {
|
|
15
|
+
import { LepuRecorder } from "../lepu/lepu.recorder.js";
|
|
16
16
|
import { LepuSession } from "../lepu/lepu.session.js";
|
|
17
17
|
import { TmbCommandSequencer } from "../tmb/tmb.command-sequencer.js";
|
|
18
18
|
import { TmbFrameReader } from "../tmb/tmb.frame-reader.js";
|
|
@@ -153,7 +153,7 @@ export class CustomDevice extends BTManagedDevice {
|
|
|
153
153
|
/** Stops the open recording; the device stores it when it is long enough, and the files are then read. */
|
|
154
154
|
stopRecording = async () => {
|
|
155
155
|
const stopCommand = this.definition.lepu?.recordingStatus?.stopCommand;
|
|
156
|
-
if (stopCommand === undefined || !this.
|
|
156
|
+
if (stopCommand === undefined || !this.recorder?.isOpen()) {
|
|
157
157
|
throw new Error(`Custom device "${this.definition.id}" has no open recording to stop.`);
|
|
158
158
|
}
|
|
159
159
|
this.requestedStop = stopCommand;
|
|
@@ -162,8 +162,24 @@ export class CustomDevice extends BTManagedDevice {
|
|
|
162
162
|
/** ECG files are read again only on the poll answer that says a record was just saved. */
|
|
163
163
|
watchRecording = lepu => {
|
|
164
164
|
this.requestedStop = undefined;
|
|
165
|
-
this.
|
|
166
|
-
|
|
165
|
+
this.recorder = lepu.recordingStatus ? new LepuRecorder(lepu.recordingStatus, {
|
|
166
|
+
onRecordingChanged: this.reportRecording,
|
|
167
|
+
onSamples: (samples, at) => this.reportSamples(lepu, samples, at),
|
|
168
|
+
onChunk: chunk => this.onResult?.(chunk)
|
|
169
|
+
}) : undefined;
|
|
170
|
+
return this.recorder?.observe ?? (() => false);
|
|
171
|
+
};
|
|
172
|
+
reportSamples = (lepu, samples, at) => {
|
|
173
|
+
const waveform = lepu.recordingStatus?.waveform;
|
|
174
|
+
if (waveform) {
|
|
175
|
+
this.onWaveform?.({
|
|
176
|
+
deviceData: this.deviceData,
|
|
177
|
+
samples,
|
|
178
|
+
sampleRateHz: waveform.sampleRateHz,
|
|
179
|
+
millivoltsPerCount: waveform.millivoltsPerCount,
|
|
180
|
+
at
|
|
181
|
+
});
|
|
182
|
+
}
|
|
167
183
|
};
|
|
168
184
|
takeStopRequest = () => {
|
|
169
185
|
const stop = this.requestedStop;
|
|
@@ -307,6 +323,7 @@ export class CustomDevice extends BTManagedDevice {
|
|
|
307
323
|
|
|
308
324
|
/** Emits a completed session before the state machine returns to CONNECTED. */
|
|
309
325
|
handleMeasurementEnd() {
|
|
326
|
+
this.recorder?.flush();
|
|
310
327
|
const policy = this.sessionPolicy;
|
|
311
328
|
if (!policy) {
|
|
312
329
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","decodeBP2File","BTManagedDevice","LepuCommandBuilder","LepuEcgTransferSequencer","withLepuEncryption","LepuFrameReader","LepuRecordingWatch","LepuSession","TmbCommandSequencer","TmbFrameReader","decodeViatomBp3File","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","selectLepu","CustomDevice","reportedHistoryIds","Set","validators","Map","sessionAggregates","lepuSession","constructor","device","params","definition","oneReadingPerConnection","frameHandler","createFrameHandler","sessionPolicy","deviceData","clockSync","deliveredFileNames","deliveredEcgFileNames","selectedLepu","lepu","manufacturerData","undefined","mainServices","manufacturerDataProtocol","filter","service","uuid","write","serviceUuid","frameReader","stuckDataTimeout","reportsBondedEvent","syncsCurrentTime","preferredMtu","declareLepuProtocol","declareTmbProtocol","declareSequencerFactory","frames","forEach","frame","set","create","createCommandSequencer","deviceId","id","recordCursorStorage","tmb","protocol","startBytes","fileTransfer","clear","withEncryption","characteristicUuid","builder","rejectEncryptionAtBytes","expectedDeviceTypes","onIdentified","onRefused","onIdentityRefused","onFile","reportViatomEcgFile","reportViatomBp2File","reportViatomBp3File","skipFiles","acceptFile","name","ecgFileDecoder","test","pollCommand","pollIntervalMs","shouldStartTransfer","watchRecording","takeRequestedCommand","takeStopRequest","onError","reason","Error","onProgress","progress","onConnectionEvent","kind","current","receivedBytes","total","totalBytes","sequencer","session","startByte","stopRecording","stopCommand","recordingStatus","recordingWatch","isOpen","requestedStop","reportRecording","observe","stop","recording","file","decoded","content","add","samples","length","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","reportHistoryOnce","has","info","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","parsingCase","requiresStream","isMeasuring","OTHER","handleFrame","parsedData","handlerOnly","captureSessionSample","STREAM","shouldReportDependentResult","reportFrame","error","_data","handleSuccessResult","successResult","collectedValues","emit","reading","handleMeasurementEnd","policy","aggregates","values","sessionStartedAt","aggregate","count","minSamples","summary","sample","Object","fromEntries","sums","entries","map","sessionAverage","decorateReading","value","decimals","fields","Math","trunc","Number","toFixed","measurements","frameRecordedAt","Date","measurement","createMeasurement","rejection","measurementRejection","policyFor","key","existing","readingFields","fieldNames","recordOffset","decorate","repeated","repeatedRecords","report","records","floor","from","recordBytes","record","discard","reportMeasurement","parsedFields","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","decodeBP2File","BTManagedDevice","LepuCommandBuilder","LepuEcgTransferSequencer","withLepuEncryption","LepuFrameReader","LepuRecorder","LepuSession","TmbCommandSequencer","TmbFrameReader","decodeViatomBp3File","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","selectLepu","CustomDevice","reportedHistoryIds","Set","validators","Map","sessionAggregates","lepuSession","constructor","device","params","definition","oneReadingPerConnection","frameHandler","createFrameHandler","sessionPolicy","deviceData","clockSync","deliveredFileNames","deliveredEcgFileNames","selectedLepu","lepu","manufacturerData","undefined","mainServices","manufacturerDataProtocol","filter","service","uuid","write","serviceUuid","frameReader","stuckDataTimeout","reportsBondedEvent","syncsCurrentTime","preferredMtu","declareLepuProtocol","declareTmbProtocol","declareSequencerFactory","frames","forEach","frame","set","create","createCommandSequencer","deviceId","id","recordCursorStorage","tmb","protocol","startBytes","fileTransfer","clear","withEncryption","characteristicUuid","builder","rejectEncryptionAtBytes","expectedDeviceTypes","onIdentified","onRefused","onIdentityRefused","onFile","reportViatomEcgFile","reportViatomBp2File","reportViatomBp3File","skipFiles","acceptFile","name","ecgFileDecoder","test","pollCommand","pollIntervalMs","shouldStartTransfer","watchRecording","takeRequestedCommand","takeStopRequest","onError","reason","Error","onProgress","progress","onConnectionEvent","kind","current","receivedBytes","total","totalBytes","sequencer","session","startByte","stopRecording","stopCommand","recordingStatus","recorder","isOpen","requestedStop","onRecordingChanged","reportRecording","onSamples","samples","at","reportSamples","onChunk","chunk","onResult","observe","waveform","onWaveform","sampleRateHz","millivoltsPerCount","stop","recording","file","decoded","content","add","length","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","reportHistoryOnce","has","info","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","parsingCase","requiresStream","isMeasuring","OTHER","handleFrame","parsedData","handlerOnly","captureSessionSample","STREAM","shouldReportDependentResult","reportFrame","error","_data","handleSuccessResult","successResult","collectedValues","emit","reading","handleMeasurementEnd","flush","policy","aggregates","values","sessionStartedAt","aggregate","count","minSamples","summary","sample","Object","fromEntries","sums","entries","map","sessionAverage","decorateReading","value","decimals","fields","Math","trunc","Number","toFixed","measurements","frameRecordedAt","Date","measurement","createMeasurement","rejection","measurementRejection","policyFor","key","existing","readingFields","fieldNames","recordOffset","decorate","repeated","repeatedRecords","report","records","floor","from","recordBytes","record","discard","reportMeasurement","parsedFields","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { MeasurementTypeKey } from "@ovok/core/next";
|
|
4
|
+
import { CaseType } from "../../../types/case-type.js";
|
|
5
|
+
import { millivoltsOf } from "./lepu.waveform.js";
|
|
6
|
+
|
|
7
|
+
/** How long a live chunk grows before it is handed over. */
|
|
8
|
+
const CHUNK_SECONDS = 300;
|
|
9
|
+
const MS_PER_SECOND = 1_000;
|
|
10
|
+
const COVERAGE_DECIMALS = 2;
|
|
11
|
+
|
|
12
|
+
/** A stretch of a recording sent live, before the device's own file supersedes it. */
|
|
13
|
+
|
|
14
|
+
/** Collects one recording's live samples and hands them over in chunks of five minutes or less. */
|
|
15
|
+
class LiveEcgChunks {
|
|
16
|
+
counts = [];
|
|
17
|
+
index = 0;
|
|
18
|
+
constructor(waveform, onChunk) {
|
|
19
|
+
this.waveform = waveform;
|
|
20
|
+
this.onChunk = onChunk;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** Adds the samples an answer at `at` carried, `recordedSeconds` into the recording. */
|
|
24
|
+
append = (samples, at, recordedSeconds) => {
|
|
25
|
+
this.recordingKey ??= recordingKeyOf(new Date(at.getTime() - recordedSeconds * MS_PER_SECOND));
|
|
26
|
+
this.startedAt ??= new Date(at.getTime() - this.secondsOf(samples.length) * MS_PER_SECOND);
|
|
27
|
+
this.counts.push(...samples);
|
|
28
|
+
this.lastAt = at;
|
|
29
|
+
if (this.secondsOf(this.counts.length) >= CHUNK_SECONDS) {
|
|
30
|
+
this.flush();
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/** Hands over what has been collected; the recording may continue into a further chunk. */
|
|
35
|
+
flush = () => {
|
|
36
|
+
if (this.counts.length === 0 || !this.startedAt || !this.lastAt || !this.recordingKey) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
this.onChunk({
|
|
40
|
+
measurementTypeKey: MeasurementTypeKey.ecg,
|
|
41
|
+
caseType: CaseType.RESULT,
|
|
42
|
+
diagramPoints: this.counts.map(count => millivoltsOf(count, this.waveform)),
|
|
43
|
+
duration: this.secondsOf(this.counts.length),
|
|
44
|
+
recordedAt: this.startedAt,
|
|
45
|
+
recordingId: `${this.recordingKey}-live-${this.index}`,
|
|
46
|
+
live: true,
|
|
47
|
+
coverage: this.coverage()
|
|
48
|
+
});
|
|
49
|
+
this.index += 1;
|
|
50
|
+
this.counts = [];
|
|
51
|
+
this.startedAt = undefined;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
/** Hands over the rest and forgets the recording, so the next one starts its own chunks. */
|
|
55
|
+
endRecording = () => {
|
|
56
|
+
this.flush();
|
|
57
|
+
this.recordingKey = undefined;
|
|
58
|
+
this.index = 0;
|
|
59
|
+
};
|
|
60
|
+
secondsOf = samples => samples / this.waveform.sampleRateHz;
|
|
61
|
+
coverage = () => {
|
|
62
|
+
const spanSeconds = ((this.lastAt?.getTime() ?? 0) - (this.startedAt?.getTime() ?? 0)) / MS_PER_SECOND;
|
|
63
|
+
const expected = Math.max(this.counts.length, spanSeconds * this.waveform.sampleRateHz);
|
|
64
|
+
return Number((this.counts.length / expected).toFixed(COVERAGE_DECIMALS));
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
const pad = value => String(value).padStart(2, "0");
|
|
68
|
+
|
|
69
|
+
/** The name the device gives the recording's file: `R` and its local start, to the second. */
|
|
70
|
+
const recordingKeyOf = start => `R${start.getFullYear()}${pad(start.getMonth() + 1)}${pad(start.getDate())}` + `${pad(start.getHours())}${pad(start.getMinutes())}${pad(start.getSeconds())}`;
|
|
71
|
+
export { LiveEcgChunks };
|
|
72
|
+
//# sourceMappingURL=lepu.live-ecg-chunks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","CaseType","millivoltsOf","CHUNK_SECONDS","MS_PER_SECOND","COVERAGE_DECIMALS","LiveEcgChunks","counts","index","constructor","waveform","onChunk","append","samples","at","recordedSeconds","recordingKey","recordingKeyOf","Date","getTime","startedAt","secondsOf","length","push","lastAt","flush","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","map","count","duration","recordedAt","recordingId","live","coverage","undefined","endRecording","sampleRateHz","spanSeconds","expected","Math","max","Number","toFixed","pad","value","String","padStart","start","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { LiveEcgChunks } from "./lepu.live-ecg-chunks.js";
|
|
4
|
+
import { LepuRecordingWatch } from "./lepu.recording-watch.js";
|
|
5
|
+
import { waveformSamples } from "./lepu.waveform.js";
|
|
6
|
+
/**
|
|
7
|
+
* Follows a recorder's open recording through its poll answers: reports its state, feeds the live
|
|
8
|
+
* trace while it records, and hands its samples over in chunks.
|
|
9
|
+
*/
|
|
10
|
+
class LepuRecorder {
|
|
11
|
+
constructor(status, callbacks) {
|
|
12
|
+
this.status = status;
|
|
13
|
+
this.callbacks = callbacks;
|
|
14
|
+
this.watch = new LepuRecordingWatch(status, callbacks.onRecordingChanged);
|
|
15
|
+
this.chunks = status.waveform ? new LiveEcgChunks(status.waveform, callbacks.onChunk) : undefined;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/** Reads one poll answer; true when it is the first in the saved state, so the files are read. */
|
|
19
|
+
observe = pollAnswer => {
|
|
20
|
+
const saved = this.watch.observe(pollAnswer);
|
|
21
|
+
if (this.watch.isRecording()) {
|
|
22
|
+
this.record(pollAnswer);
|
|
23
|
+
} else if (this.watch.isOpen()) {
|
|
24
|
+
this.chunks?.flush();
|
|
25
|
+
} else {
|
|
26
|
+
this.chunks?.endRecording();
|
|
27
|
+
}
|
|
28
|
+
return saved;
|
|
29
|
+
};
|
|
30
|
+
isOpen = () => this.watch.isOpen();
|
|
31
|
+
|
|
32
|
+
/** Hands over what is collected, for a connection that is ending. */
|
|
33
|
+
flush = () => this.chunks?.flush();
|
|
34
|
+
record = pollAnswer => {
|
|
35
|
+
if (!this.status.waveform) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const samples = waveformSamples(pollAnswer, this.status.waveform);
|
|
39
|
+
const at = new Date();
|
|
40
|
+
if (samples.length === 0) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
this.callbacks.onSamples(samples, at);
|
|
44
|
+
this.chunks?.append(samples, at, this.watch.recordedSeconds());
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export { LepuRecorder };
|
|
48
|
+
//# sourceMappingURL=lepu.recorder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["LiveEcgChunks","LepuRecordingWatch","waveformSamples","LepuRecorder","constructor","status","callbacks","watch","onRecordingChanged","chunks","waveform","onChunk","undefined","observe","pollAnswer","saved","isRecording","record","isOpen","flush","endRecording","samples","at","Date","length","onSamples","append","recordedSeconds"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.recorder.ts"],"mappings":";;AAGA,SAAuBA,aAAa,QAAQ,2BAAwB;AACpE,SAASC,kBAAkB,QAAQ,2BAAwB;AAC3D,SAASC,eAAe,QAAQ,oBAAiB;AAcjD;AACA;AACA;AACA;AACA,MAAMC,YAAY,CAAC;EAIVC,WAAWA,CACCC,MAAuB,EACvBC,SAAgC,EACjD;IAAA,KAFiBD,MAAuB,GAAvBA,MAAuB;IAAA,KACvBC,SAAgC,GAAhCA,SAAgC;IAEjD,IAAI,CAACC,KAAK,GAAG,IAAIN,kBAAkB,CAACI,MAAM,EAAEC,SAAS,CAACE,kBAAkB,CAAC;IACzE,IAAI,CAACC,MAAM,GAAGJ,MAAM,CAACK,QAAQ,GAAG,IAAIV,aAAa,CAACK,MAAM,CAACK,QAAQ,EAAEJ,SAAS,CAACK,OAAO,CAAC,GAAGC,SAAS;EACnG;;EAEA;EACOC,OAAO,GAAIC,UAA6B,IAAc;IAC3D,MAAMC,KAAK,GAAG,IAAI,CAACR,KAAK,CAACM,OAAO,CAACC,UAAU,CAAC;IAE5C,IAAI,IAAI,CAACP,KAAK,CAACS,WAAW,CAAC,CAAC,EAAE;MAC5B,IAAI,CAACC,MAAM,CAACH,UAAU,CAAC;IACzB,CAAC,MAAM,IAAI,IAAI,CAACP,KAAK,CAACW,MAAM,CAAC,CAAC,EAAE;MAC9B,IAAI,CAACT,MAAM,EAAEU,KAAK,CAAC,CAAC;IACtB,CAAC,MAAM;MACL,IAAI,CAACV,MAAM,EAAEW,YAAY,CAAC,CAAC;IAC7B;IAEA,OAAOL,KAAK;EACd,CAAC;EAEMG,MAAM,GAAGA,CAAA,KAAe,IAAI,CAACX,KAAK,CAACW,MAAM,CAAC,CAAC;;EAElD;EACOC,KAAK,GAAGA,CAAA,KAAY,IAAI,CAACV,MAAM,EAAEU,KAAK,CAAC,CAAC;EAEvCF,MAAM,GAAIH,UAA6B,IAAW;IACxD,IAAI,CAAC,IAAI,CAACT,MAAM,CAACK,QAAQ,EAAE;MACzB;IACF;IAEA,MAAMW,OAAO,GAAGnB,eAAe,CAACY,UAAU,EAAE,IAAI,CAACT,MAAM,CAACK,QAAQ,CAAC;IACjE,MAAMY,EAAE,GAAG,IAAIC,IAAI,CAAC,CAAC;IAErB,IAAIF,OAAO,CAACG,MAAM,KAAK,CAAC,EAAE;MACxB;IACF;IAEA,IAAI,CAAClB,SAAS,CAACmB,SAAS,CAACJ,OAAO,EAAEC,EAAE,CAAC;IACrC,IAAI,CAACb,MAAM,EAAEiB,MAAM,CAACL,OAAO,EAAEC,EAAE,EAAE,IAAI,CAACf,KAAK,CAACoB,eAAe,CAAC,CAAC,CAAC;EAChE,CAAC;AACH;AAEA,SAASxB,YAAY","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ const LOW_NIBBLE = 0x0f;
|
|
|
6
6
|
const CLOSED = "closed";
|
|
7
7
|
/** Follows a recorder's open recording through its poll answers. */
|
|
8
8
|
class LepuRecordingWatch {
|
|
9
|
+
seconds = 0;
|
|
9
10
|
constructor(status, onRecordingChanged) {
|
|
10
11
|
this.status = status;
|
|
11
12
|
this.onRecordingChanged = onRecordingChanged;
|
|
@@ -15,26 +16,27 @@ class LepuRecordingWatch {
|
|
|
15
16
|
observe = pollAnswer => {
|
|
16
17
|
const previous = this.state;
|
|
17
18
|
this.state = hexToByte(pollAnswer[this.status.byteIndex] ?? "00") & LOW_NIBBLE;
|
|
19
|
+
this.seconds = le32FromHex(pollAnswer, this.status.secondsByteIndex);
|
|
18
20
|
this.leadOffSince = this.isLeadOff() ? this.leadOffSince ?? new Date() : undefined;
|
|
19
|
-
this.report(this.recordingIn(
|
|
21
|
+
this.report(this.recordingIn());
|
|
20
22
|
return this.state === this.status.savedState && previous !== this.status.savedState;
|
|
21
23
|
};
|
|
22
24
|
|
|
23
25
|
/** Whether a recording is open, so that stopping it means something. */
|
|
24
|
-
isOpen = () => this.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
};
|
|
26
|
+
isOpen = () => this.isRecording() || this.isLeadOff();
|
|
27
|
+
|
|
28
|
+
/** Whether the electrodes have contact and samples are being recorded. */
|
|
29
|
+
isRecording = () => this.state === this.status.recordingState;
|
|
30
|
+
|
|
31
|
+
/** Seconds recorded, as of the last answer. */
|
|
32
|
+
recordedSeconds = () => this.seconds;
|
|
33
|
+
recordingIn = () => this.isOpen() ? {
|
|
34
|
+
seconds: this.seconds,
|
|
35
|
+
...(this.leadOffSince ? {
|
|
36
|
+
leadOffSince: this.leadOffSince
|
|
37
|
+
} : {}),
|
|
38
|
+
storesOnStop: this.seconds >= this.status.minimumStoredSeconds
|
|
39
|
+
} : undefined;
|
|
38
40
|
isLeadOff = () => this.state === this.status.leadOffState;
|
|
39
41
|
|
|
40
42
|
/** Reports a change in what the app would act on, not every tick of the seconds. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["hexToByte","le32FromHex","LOW_NIBBLE","CLOSED","LepuRecordingWatch","constructor","status","onRecordingChanged","observe","pollAnswer","previous","state","byteIndex","leadOffSince","isLeadOff","Date","undefined","report","recordingIn","savedState","isOpen","
|
|
1
|
+
{"version":3,"names":["hexToByte","le32FromHex","LOW_NIBBLE","CLOSED","LepuRecordingWatch","seconds","constructor","status","onRecordingChanged","observe","pollAnswer","previous","state","byteIndex","secondsByteIndex","leadOffSince","isLeadOff","Date","undefined","report","recordingIn","savedState","isOpen","isRecording","recordingState","recordedSeconds","storesOnStop","minimumStoredSeconds","leadOffState","recording","key","changed","reported"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.recording-watch.ts"],"mappings":";;AAEA,SAASA,SAAS,QAAQ,+BAA4B;AACtD,SAASC,WAAW,QAAQ,kCAA+B;AAE3D,MAAMC,UAAU,GAAG,IAAI;AACvB,MAAMC,MAAM,GAAG,QAAQ;AAMvB;AACA,MAAMC,kBAAkB,CAAC;EAEfC,OAAO,GAAG,CAAC;EAIZC,WAAWA,CACCC,MAAuB,EACvBC,kBAA8D,EAC/E;IAAA,KAFiBD,MAAuB,GAAvBA,MAAuB;IAAA,KACvBC,kBAA8D,GAA9DA,kBAA8D;EAC9E;;EAEH;EACOC,OAAO,GAAIC,UAA6B,IAAc;IAC3D,MAAMC,QAAQ,GAAG,IAAI,CAACC,KAAK;IAE3B,IAAI,CAACA,KAAK,GAAGZ,SAAS,CAACU,UAAU,CAAC,IAAI,CAACH,MAAM,CAACM,SAAS,CAAC,IAAI,IAAI,CAAC,GAAGX,UAAU;IAC9E,IAAI,CAACG,OAAO,GAAGJ,WAAW,CAACS,UAAU,EAAE,IAAI,CAACH,MAAM,CAACO,gBAAgB,CAAC;IACpE,IAAI,CAACC,YAAY,GAAG,IAAI,CAACC,SAAS,CAAC,CAAC,GAAI,IAAI,CAACD,YAAY,IAAI,IAAIE,IAAI,CAAC,CAAC,GAAIC,SAAS;IACpF,IAAI,CAACC,MAAM,CAAC,IAAI,CAACC,WAAW,CAAC,CAAC,CAAC;IAE/B,OAAO,IAAI,CAACR,KAAK,KAAK,IAAI,CAACL,MAAM,CAACc,UAAU,IAAIV,QAAQ,KAAK,IAAI,CAACJ,MAAM,CAACc,UAAU;EACrF,CAAC;;EAED;EACOC,MAAM,GAAGA,CAAA,KAAe,IAAI,CAACC,WAAW,CAAC,CAAC,IAAI,IAAI,CAACP,SAAS,CAAC,CAAC;;EAErE;EACOO,WAAW,GAAGA,CAAA,KAAe,IAAI,CAACX,KAAK,KAAK,IAAI,CAACL,MAAM,CAACiB,cAAc;;EAE7E;EACOC,eAAe,GAAGA,CAAA,KAAc,IAAI,CAACpB,OAAO;EAE3Ce,WAAW,GAAGA,CAAA,KACpB,IAAI,CAACE,MAAM,CAAC,CAAC,GACT;IACEjB,OAAO,EAAE,IAAI,CAACA,OAAO;IACrB,IAAI,IAAI,CAACU,YAAY,GAAG;MAAEA,YAAY,EAAE,IAAI,CAACA;IAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IACjEW,YAAY,EAAE,IAAI,CAACrB,OAAO,IAAI,IAAI,CAACE,MAAM,CAACoB;EAC5C,CAAC,GACDT,SAAS;EAEPF,SAAS,GAAGA,CAAA,KAAe,IAAI,CAACJ,KAAK,KAAK,IAAI,CAACL,MAAM,CAACqB,YAAY;;EAE1E;EACQT,MAAM,GAAIU,SAAgC,IAAW;IAC3D,MAAMC,GAAG,GAAGD,SAAS,GACjB,GAAGA,SAAS,CAACd,YAAY,KAAKG,SAAS,IAAIW,SAAS,CAACH,YAAY,EAAE,GACnEvB,MAAM;IAEV,MAAM4B,OAAO,GAAGD,GAAG,MAAM,IAAI,CAACE,QAAQ,IAAI7B,MAAM,CAAC;IAEjD,IAAI,CAAC6B,QAAQ,GAAGF,GAAG;IAEnB,IAAIC,OAAO,EAAE;MACX,IAAI,CAACvB,kBAAkB,CAACqB,SAAS,CAAC;IACpC;EACF,CAAC;AACH;AAEA,SAASzB,kBAAkB","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { i16FromHex } from "../../../utils/i-16-from-hex.js";
|
|
4
|
+
import { le16FromHex } from "../../../utils/le-16-from-hex.js";
|
|
5
|
+
const SAMPLE_BYTES = 2;
|
|
6
|
+
const COUNT_BYTES = 2;
|
|
7
|
+
const CHECKSUM_BYTES = 1;
|
|
8
|
+
|
|
9
|
+
/** The raw sample counts a poll answer carries, never more than the frame holds. */
|
|
10
|
+
const waveformSamples = (pollAnswer, waveform) => {
|
|
11
|
+
const first = waveform.countByteIndex + COUNT_BYTES;
|
|
12
|
+
const declared = le16FromHex(pollAnswer, waveform.countByteIndex);
|
|
13
|
+
const available = Math.floor((pollAnswer.length - CHECKSUM_BYTES - first) / SAMPLE_BYTES);
|
|
14
|
+
return Array.from({
|
|
15
|
+
length: Math.max(0, Math.min(declared, available))
|
|
16
|
+
}, (_, index) => i16FromHex(pollAnswer, first + index * SAMPLE_BYTES));
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/** One count in millivolts; the no-signal marker reads as 0. */
|
|
20
|
+
const millivoltsOf = (count, waveform) => count === waveform.noSignalCount ? 0 : count * waveform.millivoltsPerCount;
|
|
21
|
+
export { millivoltsOf, waveformSamples };
|
|
22
|
+
//# sourceMappingURL=lepu.waveform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["i16FromHex","le16FromHex","SAMPLE_BYTES","COUNT_BYTES","CHECKSUM_BYTES","waveformSamples","pollAnswer","waveform","first","countByteIndex","declared","available","Math","floor","length","Array","from","max","min","_","index","millivoltsOf","count","noSignalCount","millivoltsPerCount"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.waveform.ts"],"mappings":";;AACA,SAASA,UAAU,QAAQ,iCAA8B;AACzD,SAASC,WAAW,QAAQ,kCAA+B;AAI3D,MAAMC,YAAY,GAAG,CAAC;AACtB,MAAMC,WAAW,GAAG,CAAC;AACrB,MAAMC,cAAc,GAAG,CAAC;;AAExB;AACA,MAAMC,eAAe,GAAGA,CAACC,UAA6B,EAAEC,QAAkB,KAAe;EACvF,MAAMC,KAAK,GAAGD,QAAQ,CAACE,cAAc,GAAGN,WAAW;EACnD,MAAMO,QAAQ,GAAGT,WAAW,CAACK,UAAU,EAAEC,QAAQ,CAACE,cAAc,CAAC;EACjE,MAAME,SAAS,GAAGC,IAAI,CAACC,KAAK,CAAC,CAACP,UAAU,CAACQ,MAAM,GAAGV,cAAc,GAAGI,KAAK,IAAIN,YAAY,CAAC;EAEzF,OAAOa,KAAK,CAACC,IAAI,CAAC;IAAEF,MAAM,EAAEF,IAAI,CAACK,GAAG,CAAC,CAAC,EAAEL,IAAI,CAACM,GAAG,CAACR,QAAQ,EAAEC,SAAS,CAAC;EAAE,CAAC,EAAE,CAACQ,CAAC,EAAEC,KAAK,KACjFpB,UAAU,CAACM,UAAU,EAAEE,KAAK,GAAGY,KAAK,GAAGlB,YAAY,CAAC,CAAC;AACzD,CAAC;;AAED;AACA,MAAMmB,YAAY,GAAGA,CAACC,KAAa,EAAEf,QAAkB,KACrDe,KAAK,KAAKf,QAAQ,CAACgB,aAAa,GAAG,CAAC,GAAGD,KAAK,GAAGf,QAAQ,CAACiB,kBAAkB;AAE5E,SAASH,YAAY,EAAEhB,eAAe","ignoreList":[]}
|
package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { VIATOM_ECG_MILLIVOLTS_PER_COUNT } from "./viatom.ecg-files.js";
|
|
4
|
+
|
|
3
5
|
/** The run status, with the current state in its low nibble. */
|
|
4
6
|
const RUN_STATUS_BYTE = 15;
|
|
5
7
|
const RECORDING_STATE = 2;
|
|
@@ -9,6 +11,11 @@ const SAVED_STATE = 4;
|
|
|
9
11
|
/** The seconds recorded so far, u32 little-endian, right before the run status. */
|
|
10
12
|
const RECORD_SECONDS_BYTE = 11;
|
|
11
13
|
|
|
14
|
+
/** After the 18-byte parameter block: the sample count, then int16 samples. */
|
|
15
|
+
const WAVEFORM_COUNT_BYTE = 25;
|
|
16
|
+
const SAMPLES_PER_SECOND = 125;
|
|
17
|
+
const NO_SIGNAL_COUNT = 0x7fff;
|
|
18
|
+
|
|
12
19
|
/** Ends a recording and stores it when it is long enough. */
|
|
13
20
|
const STOP_MEASUREMENT = 0x05;
|
|
14
21
|
|
|
@@ -25,7 +32,13 @@ const viatomRecordingStatus = advertisedName => ({
|
|
|
25
32
|
leadOffState: LEAD_OFF_STATE,
|
|
26
33
|
savedState: SAVED_STATE,
|
|
27
34
|
minimumStoredSeconds: HOLTER_MODEL_NAMES.has(advertisedName) ? HOLTER_MINIMUM_STORED_SECONDS : MINIMUM_STORED_SECONDS,
|
|
28
|
-
stopCommand: STOP_MEASUREMENT
|
|
35
|
+
stopCommand: STOP_MEASUREMENT,
|
|
36
|
+
waveform: {
|
|
37
|
+
countByteIndex: WAVEFORM_COUNT_BYTE,
|
|
38
|
+
sampleRateHz: SAMPLES_PER_SECOND,
|
|
39
|
+
millivoltsPerCount: VIATOM_ECG_MILLIVOLTS_PER_COUNT,
|
|
40
|
+
noSignalCount: NO_SIGNAL_COUNT
|
|
41
|
+
}
|
|
29
42
|
});
|
|
30
43
|
export { RECORDING_STATE, RUN_STATUS_BYTE, viatomRecordingStatus };
|
|
31
44
|
//# sourceMappingURL=viatom.ecg-recording-status.js.map
|
package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RUN_STATUS_BYTE","RECORDING_STATE","LEAD_OFF_STATE","SAVED_STATE","RECORD_SECONDS_BYTE","STOP_MEASUREMENT","HOLTER_MODEL_NAMES","Set","HOLTER_MINIMUM_STORED_SECONDS","MINIMUM_STORED_SECONDS","viatomRecordingStatus","advertisedName","byteIndex","secondsByteIndex","recordingState","leadOffState","savedState","minimumStoredSeconds","has","stopCommand"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.ts"],"mappings":";;AAEA;AACA,
|
|
1
|
+
{"version":3,"names":["VIATOM_ECG_MILLIVOLTS_PER_COUNT","RUN_STATUS_BYTE","RECORDING_STATE","LEAD_OFF_STATE","SAVED_STATE","RECORD_SECONDS_BYTE","WAVEFORM_COUNT_BYTE","SAMPLES_PER_SECOND","NO_SIGNAL_COUNT","STOP_MEASUREMENT","HOLTER_MODEL_NAMES","Set","HOLTER_MINIMUM_STORED_SECONDS","MINIMUM_STORED_SECONDS","viatomRecordingStatus","advertisedName","byteIndex","secondsByteIndex","recordingState","leadOffState","savedState","minimumStoredSeconds","has","stopCommand","waveform","countByteIndex","sampleRateHz","millivoltsPerCount","noSignalCount"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.ts"],"mappings":";;AAEA,SAASA,+BAA+B,QAAQ,uBAAoB;;AAEpE;AACA,MAAMC,eAAe,GAAG,EAAE;AAC1B,MAAMC,eAAe,GAAG,CAAC;AACzB,MAAMC,cAAc,GAAG,CAAC;AACxB,MAAMC,WAAW,GAAG,CAAC;;AAErB;AACA,MAAMC,mBAAmB,GAAG,EAAE;;AAE9B;AACA,MAAMC,mBAAmB,GAAG,EAAE;AAC9B,MAAMC,kBAAkB,GAAG,GAAG;AAC9B,MAAMC,eAAe,GAAG,MAAM;;AAE9B;AACA,MAAMC,gBAAgB,GAAG,IAAI;;AAE7B;AACA,MAAMC,kBAAkB,GAAG,IAAIC,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AACnE,MAAMC,6BAA6B,GAAG,GAAG;AACzC,MAAMC,sBAAsB,GAAG,EAAE;;AAEjC;AACA,MAAMC,qBAAqB,GACzBC,cAAsB,KAC8B;EACpDC,SAAS,EAAEf,eAAe;EAC1BgB,gBAAgB,EAAEZ,mBAAmB;EACrCa,cAAc,EAAEhB,eAAe;EAC/BiB,YAAY,EAAEhB,cAAc;EAC5BiB,UAAU,EAAEhB,WAAW;EACvBiB,oBAAoB,EAAEX,kBAAkB,CAACY,GAAG,CAACP,cAAc,CAAC,GACxDH,6BAA6B,GAC7BC,sBAAsB;EAC1BU,WAAW,EAAEd,gBAAgB;EAC7Be,QAAQ,EAAE;IACRC,cAAc,EAAEnB,mBAAmB;IACnCoB,YAAY,EAAEnB,kBAAkB;IAChCoB,kBAAkB,EAAE3B,+BAA+B;IACnD4B,aAAa,EAAEpB;EACjB;AACF,CAAC,CAAC;AAEF,SAASN,eAAe,EAAED,eAAe,EAAEa,qBAAqB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/device-waveform.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["le16FromHex","i16FromHex","hex","i","v"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/utils/i-16-from-hex.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,qBAAkB;;AAE9C;AACA,OAAO,MAAMC,UAAU,GAAGA,CAACC,
|
|
1
|
+
{"version":3,"names":["le16FromHex","i16FromHex","hex","i","v"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/utils/i-16-from-hex.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,qBAAkB;;AAE9C;AACA,OAAO,MAAMC,UAAU,GAAGA,CAACC,GAAsB,EAAEC,CAAS,KAAa;EACvE,MAAMC,CAAC,GAAGJ,WAAW,CAACE,GAAG,EAAEC,CAAC,CAAC;EAE7B,OAAOC,CAAC,GAAG,MAAM,GAAGA,CAAC,GAAG,OAAO,GAAGA,CAAC;AACrC,CAAC","ignoreList":[]}
|