@ovok/native 1.16.1-dev.2185 → 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.
Files changed (153) hide show
  1. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +13 -0
  2. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  3. package/lib/commonjs/modules/bt-management/hooks/runtime-context.js.map +1 -1
  4. package/lib/commonjs/modules/bt-management/index.js +12 -0
  5. package/lib/commonjs/modules/bt-management/index.js.map +1 -1
  6. package/lib/commonjs/modules/bt-management/services/bt-manager.js +7 -0
  7. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  8. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js +20 -1
  9. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  10. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +4 -0
  11. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  12. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +21 -4
  13. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  14. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.js +75 -0
  15. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.js.map +1 -0
  16. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recorder.js +52 -0
  17. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recorder.js.map +1 -0
  18. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recording-watch.js +17 -15
  19. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recording-watch.js.map +1 -1
  20. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.waveform.js +27 -0
  21. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.waveform.js.map +1 -0
  22. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js +13 -1
  23. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js.map +1 -1
  24. package/lib/commonjs/modules/bt-management/types/device-waveform.js +6 -0
  25. package/lib/commonjs/modules/bt-management/types/device-waveform.js.map +1 -0
  26. package/lib/commonjs/modules/bt-management/utils/i-16-from-hex.js.map +1 -1
  27. package/lib/commonjs/modules/next/bluetooth/ble-plx/legacy-driver.js +27 -1
  28. package/lib/commonjs/modules/next/bluetooth/ble-plx/legacy-driver.js.map +1 -1
  29. package/lib/commonjs/modules/next/bluetooth/connections.js +32 -1
  30. package/lib/commonjs/modules/next/bluetooth/connections.js.map +1 -1
  31. package/lib/commonjs/modules/next/bluetooth/driver.js.map +1 -1
  32. package/lib/commonjs/modules/next/bluetooth/errors.js.map +1 -1
  33. package/lib/commonjs/modules/next/bluetooth/runtime.js +21 -1
  34. package/lib/commonjs/modules/next/bluetooth/runtime.js.map +1 -1
  35. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +13 -0
  36. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  37. package/lib/module/modules/bt-management/hooks/runtime-context.js.map +1 -1
  38. package/lib/module/modules/bt-management/index.js +1 -0
  39. package/lib/module/modules/bt-management/index.js.map +1 -1
  40. package/lib/module/modules/bt-management/services/bt-manager.js +7 -0
  41. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  42. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js +20 -1
  43. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  44. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +4 -0
  45. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  46. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +21 -4
  47. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  48. package/lib/module/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.js +72 -0
  49. package/lib/module/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.js.map +1 -0
  50. package/lib/module/modules/bt-management/services/devices/lepu/lepu.recorder.js +48 -0
  51. package/lib/module/modules/bt-management/services/devices/lepu/lepu.recorder.js.map +1 -0
  52. package/lib/module/modules/bt-management/services/devices/lepu/lepu.recording-watch.js +17 -15
  53. package/lib/module/modules/bt-management/services/devices/lepu/lepu.recording-watch.js.map +1 -1
  54. package/lib/module/modules/bt-management/services/devices/lepu/lepu.waveform.js +22 -0
  55. package/lib/module/modules/bt-management/services/devices/lepu/lepu.waveform.js.map +1 -0
  56. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js +14 -1
  57. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js.map +1 -1
  58. package/lib/module/modules/bt-management/types/device-waveform.js +4 -0
  59. package/lib/module/modules/bt-management/types/device-waveform.js.map +1 -0
  60. package/lib/module/modules/bt-management/utils/i-16-from-hex.js.map +1 -1
  61. package/lib/module/modules/next/bluetooth/ble-plx/legacy-driver.js +27 -1
  62. package/lib/module/modules/next/bluetooth/ble-plx/legacy-driver.js.map +1 -1
  63. package/lib/module/modules/next/bluetooth/connections.js +32 -1
  64. package/lib/module/modules/next/bluetooth/connections.js.map +1 -1
  65. package/lib/module/modules/next/bluetooth/driver.js.map +1 -1
  66. package/lib/module/modules/next/bluetooth/errors.js.map +1 -1
  67. package/lib/module/modules/next/bluetooth/runtime.js +21 -1
  68. package/lib/module/modules/next/bluetooth/runtime.js.map +1 -1
  69. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  70. package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts +3 -0
  71. package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
  72. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +1 -0
  73. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  74. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +4 -0
  75. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  76. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  77. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
  78. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  79. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +2 -1
  80. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  81. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts +42 -0
  82. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts.map +1 -0
  83. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts +30 -0
  84. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts.map +1 -0
  85. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts +5 -0
  86. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts.map +1 -1
  87. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts +9 -0
  88. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts.map +1 -0
  89. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.d.ts.map +1 -1
  90. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +3 -0
  91. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  92. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +11 -0
  93. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  94. package/lib/typescript/commonjs/src/modules/bt-management/types/device-waveform.d.ts +15 -0
  95. package/lib/typescript/commonjs/src/modules/bt-management/types/device-waveform.d.ts.map +1 -0
  96. package/lib/typescript/commonjs/src/modules/bt-management/utils/i-16-from-hex.d.ts +1 -1
  97. package/lib/typescript/commonjs/src/modules/bt-management/utils/i-16-from-hex.d.ts.map +1 -1
  98. package/lib/typescript/commonjs/src/modules/next/bluetooth/ble-plx/legacy-driver.d.ts.map +1 -1
  99. package/lib/typescript/commonjs/src/modules/next/bluetooth/connections.d.ts +10 -1
  100. package/lib/typescript/commonjs/src/modules/next/bluetooth/connections.d.ts.map +1 -1
  101. package/lib/typescript/commonjs/src/modules/next/bluetooth/driver.d.ts +13 -0
  102. package/lib/typescript/commonjs/src/modules/next/bluetooth/driver.d.ts.map +1 -1
  103. package/lib/typescript/commonjs/src/modules/next/bluetooth/errors.d.ts +1 -1
  104. package/lib/typescript/commonjs/src/modules/next/bluetooth/errors.d.ts.map +1 -1
  105. package/lib/typescript/commonjs/src/modules/next/bluetooth/index.d.ts +1 -1
  106. package/lib/typescript/commonjs/src/modules/next/bluetooth/index.d.ts.map +1 -1
  107. package/lib/typescript/commonjs/src/modules/next/bluetooth/runtime.d.ts +11 -1
  108. package/lib/typescript/commonjs/src/modules/next/bluetooth/runtime.d.ts.map +1 -1
  109. package/lib/typescript/commonjs/src/modules/next/bluetooth/snapshot.d.ts +28 -1
  110. package/lib/typescript/commonjs/src/modules/next/bluetooth/snapshot.d.ts.map +1 -1
  111. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  112. package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts +3 -0
  113. package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
  114. package/lib/typescript/module/src/modules/bt-management/index.d.ts +1 -0
  115. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  116. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +4 -0
  117. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  118. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  119. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
  120. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  121. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +2 -1
  122. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  123. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts +42 -0
  124. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts.map +1 -0
  125. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts +30 -0
  126. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts.map +1 -0
  127. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts +5 -0
  128. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts.map +1 -1
  129. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts +9 -0
  130. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts.map +1 -0
  131. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.d.ts.map +1 -1
  132. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +3 -0
  133. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  134. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +11 -0
  135. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  136. package/lib/typescript/module/src/modules/bt-management/types/device-waveform.d.ts +15 -0
  137. package/lib/typescript/module/src/modules/bt-management/types/device-waveform.d.ts.map +1 -0
  138. package/lib/typescript/module/src/modules/bt-management/utils/i-16-from-hex.d.ts +1 -1
  139. package/lib/typescript/module/src/modules/bt-management/utils/i-16-from-hex.d.ts.map +1 -1
  140. package/lib/typescript/module/src/modules/next/bluetooth/ble-plx/legacy-driver.d.ts.map +1 -1
  141. package/lib/typescript/module/src/modules/next/bluetooth/connections.d.ts +10 -1
  142. package/lib/typescript/module/src/modules/next/bluetooth/connections.d.ts.map +1 -1
  143. package/lib/typescript/module/src/modules/next/bluetooth/driver.d.ts +13 -0
  144. package/lib/typescript/module/src/modules/next/bluetooth/driver.d.ts.map +1 -1
  145. package/lib/typescript/module/src/modules/next/bluetooth/errors.d.ts +1 -1
  146. package/lib/typescript/module/src/modules/next/bluetooth/errors.d.ts.map +1 -1
  147. package/lib/typescript/module/src/modules/next/bluetooth/index.d.ts +1 -1
  148. package/lib/typescript/module/src/modules/next/bluetooth/index.d.ts.map +1 -1
  149. package/lib/typescript/module/src/modules/next/bluetooth/runtime.d.ts +11 -1
  150. package/lib/typescript/module/src/modules/next/bluetooth/runtime.d.ts.map +1 -1
  151. package/lib/typescript/module/src/modules/next/bluetooth/snapshot.d.ts +28 -1
  152. package/lib/typescript/module/src/modules/next/bluetooth/snapshot.d.ts.map +1 -1
  153. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["Linking","Platform","ScanMode","State","sentryLogger","addOvokSpanEvent","recordOvokMetric","toBluetoothError","IntegratedDevices","errorCallbackPayload","DeviceCreator","SeriesRecorder","bluetoothErrorCallback","error","SCAN_RETRY_DELAY_MS","SERIES_IDLE_CHECK_MS","BTManager","MAX_DEVICES","devices","Map","forgottenDeviceIds","Set","keptDeviceIds","pendingConnectionIds","eventSubscriptions","scanGeneration","scanActive","scanStarting","destroyed","autoConnectCandidates","bluetoothEnablePrompted","constructor","bleManager","acceptedDevices","options","deviceCreator","backgroundScanEnabled","backgroundEnabled","series","storage","seriesStorage","getOwnerKey","setAutoConnect","enabledOrOptions","delayMs","onDeviceSelectionRequired","enabled","nextDelayMs","nextSelectionHandler","autoConnect","autoConnectDelayMs","clear","autoConnectTimer","clearTimeout","undefined","destroy","stopScan","getOpenSeries","getOpen","subscribeOpenSeries","listener","subscribe","startScan","stateChangeListener","seriesTimer","setInterval","closeIdle","generation","subscription","onStateChange","state","PoweredOn","startDeviceScan","forEach","requestPendingConnection","stopDeviceScan","PoweredOff","onErrorCallback","OS","sendIntent","push","setBackgroundScanEnabled","restartScan","haltScan","sub","remove","clearInterval","deliverTo","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","onConnectionEventCallback","device","disconnect","stopKeepingConnection","pauseScan","resumeScan","clearScanTimers","removeStateChangeListener","scanRetryTimer","scanRestartTimer","scheduleScanRetry","setTimeout","index","indexOf","splice","serviceUUIDs","scanServiceUUIDs","length","scanFailed","scanMode","LowPower","Balanced","onScanResult","platform","background","restoreDevices","delete","id","keepConnecting","deviceIds","deviceId","add","disconnectDevice","get","stopRecording","Error","forget","onDeviceFound","callback","onError","onDeviceStatusChanged","onConnectionEvent","onResult","errorCode","code","advertisedName","name","trim","localName","has","deviceName","getDeviceName","manufacturerData","size","currentSize","deviceClass","createDevice","bind","onSeriesValue","deviceData","reading","hasResultReceiver","oneReadingPerConnection","deliveredEcgFileNames","deliveredFileNames","recordCursorStorage","clearDeviceHistory","resultPolicy","resultPolicies","clockSync","onDeviceDisconnected","closeDevice","removeDeviceFromFoundedDevices","set","queueAutoConnect","TRASENSE_S9","values","candidate","connect","select","selected","Math","max","connectToDevice","then","cancelDeviceConnection","catch"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Linking","Platform","ScanMode","State","sentryLogger","addOvokSpanEvent","recordOvokMetric","toBluetoothError","IntegratedDevices","errorCallbackPayload","DeviceCreator","SeriesRecorder","bluetoothErrorCallback","error","SCAN_RETRY_DELAY_MS","SERIES_IDLE_CHECK_MS","BTManager","MAX_DEVICES","devices","Map","forgottenDeviceIds","Set","keptDeviceIds","pendingConnectionIds","eventSubscriptions","scanGeneration","scanActive","scanStarting","destroyed","autoConnectCandidates","bluetoothEnablePrompted","constructor","bleManager","acceptedDevices","options","deviceCreator","backgroundScanEnabled","backgroundEnabled","series","storage","seriesStorage","getOwnerKey","setAutoConnect","enabledOrOptions","delayMs","onDeviceSelectionRequired","enabled","nextDelayMs","nextSelectionHandler","autoConnect","autoConnectDelayMs","clear","autoConnectTimer","clearTimeout","undefined","destroy","stopScan","getOpenSeries","getOpen","subscribeOpenSeries","listener","subscribe","startScan","stateChangeListener","seriesTimer","setInterval","closeIdle","generation","subscription","onStateChange","state","PoweredOn","startDeviceScan","forEach","requestPendingConnection","stopDeviceScan","PoweredOff","onErrorCallback","OS","sendIntent","push","setBackgroundScanEnabled","restartScan","haltScan","sub","remove","clearInterval","deliverTo","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","onConnectionEventCallback","onWaveformCallback","device","disconnect","stopKeepingConnection","pauseScan","resumeScan","clearScanTimers","removeStateChangeListener","scanRetryTimer","scanRestartTimer","scheduleScanRetry","setTimeout","index","indexOf","splice","serviceUUIDs","scanServiceUUIDs","length","scanFailed","scanMode","LowPower","Balanced","onScanResult","platform","background","restoreDevices","delete","id","keepConnecting","deviceIds","deviceId","add","disconnectDevice","get","stopRecording","Error","forget","onDeviceFound","callback","onError","onDeviceStatusChanged","onConnectionEvent","onWaveform","onResult","errorCode","code","advertisedName","name","trim","localName","has","deviceName","getDeviceName","manufacturerData","size","currentSize","deviceClass","createDevice","bind","waveform","onSeriesValue","deviceData","reading","hasResultReceiver","oneReadingPerConnection","deliveredEcgFileNames","deliveredFileNames","recordCursorStorage","clearDeviceHistory","resultPolicy","resultPolicies","clockSync","onDeviceDisconnected","closeDevice","removeDeviceFromFoundedDevices","set","queueAutoConnect","TRASENSE_S9","values","candidate","connect","select","selected","Math","max","connectToDevice","then","cancelDeviceConnection","catch"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":"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","ignoreList":[]}
@@ -12,6 +12,8 @@ const MAX_POLL_INTERVAL_MS = 6_000_000;
12
12
  const MAX_FRAME_INDEX = 0xffff;
13
13
  const MAX_NIBBLE = 0x0f;
14
14
  const MAX_RECORDING_SECONDS = 0xffffffff;
15
+ const INT16_MIN = -0x8000;
16
+ const INT16_MAX = 0x7fff;
15
17
  const ECG_FILE_DECODERS = ["viatom-compressed", "raw-int16"];
16
18
  const assertFileTransfer = (id, fileTransfer) => {
17
19
  if (fileTransfer === undefined) {
@@ -86,6 +88,20 @@ const assertPollCommand = (id, lepu) => {
86
88
  };
87
89
  const assertPollInterval = (id, interval) => interval === undefined ? undefined : assertIntegerInRange(id, "lepu.pollIntervalMs", interval, [0, MAX_POLL_INTERVAL_MS], `is ${String(interval)}; it must be a whole number between 0 and ${MAX_POLL_INTERVAL_MS}`);
88
90
  const assertRecordingField = (id, status, field, max) => assertIntegerInRange(id, `lepu.recordingStatus.${field}`, status[field], [0, max], `is ${String(status[field])}; it must be a whole number between 0 and ${max}`);
91
+ const assertPositive = (id, field, value) => {
92
+ if (typeof value !== "number" || !Number.isFinite(value) || value <= 0) {
93
+ throw customDeviceError(id, `lepu.recordingStatus.waveform.${field}`, `is ${String(value)}; it must be a positive number`);
94
+ }
95
+ return value;
96
+ };
97
+ const assertWaveform = (id, waveform) => ({
98
+ countByteIndex: assertIntegerInRange(id, "lepu.recordingStatus.waveform.countByteIndex", waveform.countByteIndex, [0, MAX_FRAME_INDEX], `is ${String(waveform.countByteIndex)}; it must be a whole number between 0 and ${MAX_FRAME_INDEX}`),
99
+ sampleRateHz: assertPositive(id, "sampleRateHz", waveform.sampleRateHz),
100
+ millivoltsPerCount: assertPositive(id, "millivoltsPerCount", waveform.millivoltsPerCount),
101
+ ...(waveform.noSignalCount === undefined ? {} : {
102
+ noSignalCount: assertIntegerInRange(id, "lepu.recordingStatus.waveform.noSignalCount", waveform.noSignalCount, [INT16_MIN, INT16_MAX], `is ${String(waveform.noSignalCount)}; it must be an int16 count`)
103
+ })
104
+ });
89
105
  const assertRecordingStatus = (id, status) => status === undefined ? undefined : {
90
106
  byteIndex: assertRecordingField(id, status, "byteIndex", MAX_FRAME_INDEX),
91
107
  secondsByteIndex: assertRecordingField(id, status, "secondsByteIndex", MAX_FRAME_INDEX),
@@ -93,7 +109,10 @@ const assertRecordingStatus = (id, status) => status === undefined ? undefined :
93
109
  leadOffState: assertRecordingField(id, status, "leadOffState", MAX_NIBBLE),
94
110
  savedState: assertRecordingField(id, status, "savedState", MAX_NIBBLE),
95
111
  minimumStoredSeconds: assertRecordingField(id, status, "minimumStoredSeconds", MAX_RECORDING_SECONDS),
96
- stopCommand: assertRecordingField(id, status, "stopCommand", MAX_OPCODE)
112
+ stopCommand: assertRecordingField(id, status, "stopCommand", MAX_OPCODE),
113
+ ...(status.waveform === undefined ? {} : {
114
+ waveform: assertWaveform(id, status.waveform)
115
+ })
97
116
  };
98
117
 
99
118
  /**
@@ -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":"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","ignoreList":[]}
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 { LepuRecordingWatch } from "../lepu/lepu.recording-watch.js";
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.recordingWatch?.isOpen()) {
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.recordingWatch = lepu.recordingStatus ? new LepuRecordingWatch(lepu.recordingStatus, this.reportRecording) : undefined;
166
- return this.recordingWatch?.observe ?? (() => false);
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":[]}