@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.
Files changed (147) 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 +14 -0
  28. package/lib/commonjs/modules/next/bluetooth/ble-plx/legacy-driver.js.map +1 -1
  29. package/lib/commonjs/modules/next/bluetooth/connections.js +7 -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/runtime.js +8 -1
  33. package/lib/commonjs/modules/next/bluetooth/runtime.js.map +1 -1
  34. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +13 -0
  35. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  36. package/lib/module/modules/bt-management/hooks/runtime-context.js.map +1 -1
  37. package/lib/module/modules/bt-management/index.js +1 -0
  38. package/lib/module/modules/bt-management/index.js.map +1 -1
  39. package/lib/module/modules/bt-management/services/bt-manager.js +7 -0
  40. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  41. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js +20 -1
  42. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  43. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +4 -0
  44. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  45. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +21 -4
  46. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  47. package/lib/module/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.js +72 -0
  48. package/lib/module/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.js.map +1 -0
  49. package/lib/module/modules/bt-management/services/devices/lepu/lepu.recorder.js +48 -0
  50. package/lib/module/modules/bt-management/services/devices/lepu/lepu.recorder.js.map +1 -0
  51. package/lib/module/modules/bt-management/services/devices/lepu/lepu.recording-watch.js +17 -15
  52. package/lib/module/modules/bt-management/services/devices/lepu/lepu.recording-watch.js.map +1 -1
  53. package/lib/module/modules/bt-management/services/devices/lepu/lepu.waveform.js +22 -0
  54. package/lib/module/modules/bt-management/services/devices/lepu/lepu.waveform.js.map +1 -0
  55. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js +14 -1
  56. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js.map +1 -1
  57. package/lib/module/modules/bt-management/types/device-waveform.js +4 -0
  58. package/lib/module/modules/bt-management/types/device-waveform.js.map +1 -0
  59. package/lib/module/modules/bt-management/utils/i-16-from-hex.js.map +1 -1
  60. package/lib/module/modules/next/bluetooth/ble-plx/legacy-driver.js +14 -0
  61. package/lib/module/modules/next/bluetooth/ble-plx/legacy-driver.js.map +1 -1
  62. package/lib/module/modules/next/bluetooth/connections.js +7 -1
  63. package/lib/module/modules/next/bluetooth/connections.js.map +1 -1
  64. package/lib/module/modules/next/bluetooth/driver.js.map +1 -1
  65. package/lib/module/modules/next/bluetooth/runtime.js +8 -1
  66. package/lib/module/modules/next/bluetooth/runtime.js.map +1 -1
  67. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  68. package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts +3 -0
  69. package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
  70. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +1 -0
  71. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  72. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +4 -0
  73. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  74. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  75. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
  76. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  77. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +2 -1
  78. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  79. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts +42 -0
  80. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts.map +1 -0
  81. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts +30 -0
  82. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts.map +1 -0
  83. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts +5 -0
  84. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts.map +1 -1
  85. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts +9 -0
  86. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts.map +1 -0
  87. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +3 -0
  89. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  90. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +11 -0
  91. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  92. package/lib/typescript/commonjs/src/modules/bt-management/types/device-waveform.d.ts +15 -0
  93. package/lib/typescript/commonjs/src/modules/bt-management/types/device-waveform.d.ts.map +1 -0
  94. package/lib/typescript/commonjs/src/modules/bt-management/utils/i-16-from-hex.d.ts +1 -1
  95. package/lib/typescript/commonjs/src/modules/bt-management/utils/i-16-from-hex.d.ts.map +1 -1
  96. package/lib/typescript/commonjs/src/modules/next/bluetooth/ble-plx/legacy-driver.d.ts.map +1 -1
  97. package/lib/typescript/commonjs/src/modules/next/bluetooth/connections.d.ts +3 -1
  98. package/lib/typescript/commonjs/src/modules/next/bluetooth/connections.d.ts.map +1 -1
  99. package/lib/typescript/commonjs/src/modules/next/bluetooth/driver.d.ts +6 -1
  100. package/lib/typescript/commonjs/src/modules/next/bluetooth/driver.d.ts.map +1 -1
  101. package/lib/typescript/commonjs/src/modules/next/bluetooth/index.d.ts +1 -1
  102. package/lib/typescript/commonjs/src/modules/next/bluetooth/index.d.ts.map +1 -1
  103. package/lib/typescript/commonjs/src/modules/next/bluetooth/runtime.d.ts +4 -1
  104. package/lib/typescript/commonjs/src/modules/next/bluetooth/runtime.d.ts.map +1 -1
  105. package/lib/typescript/commonjs/src/modules/next/bluetooth/snapshot.d.ts +14 -1
  106. package/lib/typescript/commonjs/src/modules/next/bluetooth/snapshot.d.ts.map +1 -1
  107. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  108. package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts +3 -0
  109. package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
  110. package/lib/typescript/module/src/modules/bt-management/index.d.ts +1 -0
  111. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  112. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +4 -0
  113. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  114. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  115. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
  116. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  117. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +2 -1
  118. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  119. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts +42 -0
  120. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts.map +1 -0
  121. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts +30 -0
  122. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts.map +1 -0
  123. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts +5 -0
  124. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts.map +1 -1
  125. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts +9 -0
  126. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts.map +1 -0
  127. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.d.ts.map +1 -1
  128. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +3 -0
  129. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  130. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +11 -0
  131. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  132. package/lib/typescript/module/src/modules/bt-management/types/device-waveform.d.ts +15 -0
  133. package/lib/typescript/module/src/modules/bt-management/types/device-waveform.d.ts.map +1 -0
  134. package/lib/typescript/module/src/modules/bt-management/utils/i-16-from-hex.d.ts +1 -1
  135. package/lib/typescript/module/src/modules/bt-management/utils/i-16-from-hex.d.ts.map +1 -1
  136. package/lib/typescript/module/src/modules/next/bluetooth/ble-plx/legacy-driver.d.ts.map +1 -1
  137. package/lib/typescript/module/src/modules/next/bluetooth/connections.d.ts +3 -1
  138. package/lib/typescript/module/src/modules/next/bluetooth/connections.d.ts.map +1 -1
  139. package/lib/typescript/module/src/modules/next/bluetooth/driver.d.ts +6 -1
  140. package/lib/typescript/module/src/modules/next/bluetooth/driver.d.ts.map +1 -1
  141. package/lib/typescript/module/src/modules/next/bluetooth/index.d.ts +1 -1
  142. package/lib/typescript/module/src/modules/next/bluetooth/index.d.ts.map +1 -1
  143. package/lib/typescript/module/src/modules/next/bluetooth/runtime.d.ts +4 -1
  144. package/lib/typescript/module/src/modules/next/bluetooth/runtime.d.ts.map +1 -1
  145. package/lib/typescript/module/src/modules/next/bluetooth/snapshot.d.ts +14 -1
  146. package/lib/typescript/module/src/modules/next/bluetooth/snapshot.d.ts.map +1 -1
  147. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_assertIntegerInRange","require","_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","customDeviceError","String","assertProtocol","protocol","assertClockSyncProtocol","assertStartBytes","startBytes","Array","isArray","length","map","byte","index","normalized","toLowerCase","test","assertDeviceTypes","deviceTypes","deviceType","Number","isInteger","assertPollCommand","lepu","pollCommand","assertIntegerInRange","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","normalizeBleUuid","rejectEncryptionAtBytes","writeWithoutResponse","Boolean","setClockBeforeInfo","manufacturerDataProtocol","characteristicUuid","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/compile-custom-lepu.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_assertIntegerInRange","require","_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","customDeviceError","String","assertProtocol","protocol","assertClockSyncProtocol","assertStartBytes","startBytes","Array","isArray","length","map","byte","index","normalized","toLowerCase","test","assertDeviceTypes","deviceTypes","deviceType","Number","isInteger","assertPollCommand","lepu","pollCommand","assertIntegerInRange","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","normalizeBleUuid","rejectEncryptionAtBytes","writeWithoutResponse","Boolean","setClockBeforeInfo","manufacturerDataProtocol","characteristicUuid","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/compile-custom-lepu.ts"],"mappings":"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","ignoreList":[]}
@@ -130,6 +130,8 @@ class BTManagedDevice {
130
130
 
131
131
  /** Called for connection lifecycle events such as connected, bonded or history download. */
132
132
 
133
+ /** Called with the ECG samples of each realtime answer while a recorder records; for display only. */
134
+
133
135
  /** How results of this kind are reported. */
134
136
  policyFor = measurementTypeKey => this.resultPolicy?.byMeasurement?.[measurementTypeKey] ?? this.resultPolicy?.default ?? "all";
135
137
 
@@ -143,6 +145,7 @@ class BTManagedDevice {
143
145
  onResult: onResultCallback,
144
146
  onSeriesValue: onSeriesValueCallback,
145
147
  onConnectionEvent: onConnectionEventCallback,
148
+ onWaveform: onWaveformCallback,
146
149
  onDeviceDisconnected: onDeviceDisconnectedCallback,
147
150
  oneReadingPerConnection,
148
151
  resultPolicy,
@@ -282,6 +285,7 @@ class BTManagedDevice {
282
285
  };
283
286
  this.onDeviceDisconnected = onDeviceDisconnectedCallback;
284
287
  this.onConnectionEvent = onConnectionEventCallback;
288
+ this.onWaveform = onWaveformCallback;
285
289
  }
286
290
 
287
291
  /** Stops the connection and data processing and clears the callbacks. */
@@ -1 +1 @@
1
- {"version":3,"names":["_sentryLogger","require","_telemetry","_dailyTotalDay","_builtInMeasurementTypes","_deviceVariants","_bluetoothError","_clockSync","_deviceStatus","_deviceUser","_errorCallbackPayload","_resultIdentity","_supportedMeasurementTypeKeys","_btConnectionHandler","_btDataProcessor","_pollingCommandSequencer","BTManagedDevice","connected","destroyed","resultReportedThisConnection","historyTransferActive","bondedEventReported","reportedMeasurementKinds","Set","reportedDailyTotals","historyResultCount","getSupportedMeasurementTypeKeys","declared","supportedMeasurementTypeKeys","mainServices","length","BUILT_IN_MEASUREMENT_TYPES","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","sentryLogger","id","localName","manufacturerData","sn","measurementTypes","clockSyncCapabilityForDevice","variant","findDeviceVariant","String","manufacturer","model","status","addOvokSpanEvent","error","normalized","toBluetoothError","errorCode","code","errorCallbackPayload","caseType","_","data","acceptedMemorySlots","isFromAcceptedMemorySlot","policy","has","add","day","dailyTotalDay","Date","now","key","recordOvokMetric","kind","progress","current","Object","defineProperty","value","createStableResultId","enumerable","writable","createLegacyResultId","destroy","connectionHandler","dataProcessor","disconnect","cancelConnection","currentTimeSync","isClockSyncEnabled","connectInternal","clear","sequencer","createCommandSequencer","pollingSequencerFor","isHistoryTransfer","BTConnectionHandler","onStatusChanged","DeviceStatus","CONNECTED","bind","DISCONNECTED","event","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","serialNumber","onServicesDiscovered","uuids","initialCommands","onCommandSent","armStuckTimeout","armCommandTimeout","isNormalDisconnect","preferredMtu","BTDataProcessor","stuckDataTimeout","onStreamStart","onMeasurementEnd","validatePackage","parsedData","collectedValues","nextCommand","frame","sendCommands","commands","commandTimeoutMs","onCommandTimeout","commandProgress","handleDependentResult","frameReader","connect","Promise","reject","connectionPromise","resolve","finally","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":";;;;;;AAKA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,wBAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAYA,IAAAO,aAAA,GAAAP,OAAA;AAQA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,qBAAA,GAAAT,OAAA;AACA,IAAAU,eAAA,GAAAV,OAAA;AACA,IAAAW,6BAAA,GAAAX,OAAA;AAEA,IAAAY,oBAAA,GAAAZ,OAAA;AACA,IAAAa,gBAAA,GAAAb,OAAA;AACA,IAAAc,wBAAA,GAAAd,OAAA;AAtCA;;AAwCA;AACA;AACA;AACA;AACO,MAAee,eAAe,CAErC;EACE;;EAKQC,SAAS,GAAG,KAAK;EACjBC,SAAS,GAAG,KAAK;;EAOzB;;EAGQC,4BAA4B,GAAG,KAAK;EACpCC,qBAAqB,GAAG,KAAK;EAC7BC,mBAAmB,GAAG,KAAK;EAC3BC,wBAAwB,GAAG,IAAIC,GAAG,CAAqB,CAAC;EACxDC,mBAAmB,GAAG,IAAID,GAAG,CAAS,CAAC;EACvCE,kBAAkB,GAAG,CAAC;;EAE9B;;EAGA;AACF;AACA;;EAGE;AACF;AACA;AACA;EACYC,+BAA+BA,CAAA,EAAyB;IAChE,MAAMC,QAAQ,GAAG,IAAAC,0DAA4B,EAAC,IAAI,CAACC,YAAY,CAAC;IAEhE,OAAOF,QAAQ,CAACG,MAAM,GAAG,CAAC,GACtBH,QAAQ,GACR,CAAC,IAAII,mDAA0B,CAAC,IAAI,CAACC,UAAU,CAACC,IAAI,CAAsB,IAAI,EAAE,CAAC,CAAC;EACxF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;EAOE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAGE;AACF;AACA;AACA;AACA;AACA;AACA;;EAGE;AACF;AACA;AACA;AACA;AACA;;EAGE;EACUC,kBAAkB,GAAG,KAAK;;EAEpC;AACF;AACA;AACA;AACA;EACYC,gBAAgB,GAAG,KAAK;;EAElC;AACF;AACA;AACA;AACA;AACA;;EAIE;EACUC,mBAAmBA,CAC3BC,cAAoD,EACpDC,gBAA0B,EACV;IAChB;EACF;;EAEA;EACUC,oBAAoBA,CAAA,EAAS,CAAC;;EAExC;EACOC,aAAa,GAAG,MAAAA,CAAA,KAA2B;IAChD,MAAM,IAAIC,KAAK,CAAC,GAAG,IAAI,CAACT,UAAU,CAACC,IAAI,iCAAiC,CAAC;EAC3E,CAAC;;EAED;;EAGA;;EAMA;;EAKA;;EAGA;;EAGA;EACUS,SAAS,GAAIC,kBAAsC,IAC3D,IAAI,CAACC,YAAY,EAAEC,aAAa,GAAGF,kBAAkB,CAAC,IACtD,IAAI,CAACC,YAAY,EAAEE,OAAO,IAC1B,KAAK;;EAEP;EACUC,YAAY,GAAIC,MAAc,IACtC,IAAI,CAACC,QAAQ,GACXD,MACF,CAAC;EAEHE,WAAWA,CAET;EACgBC,MAAc,EAE9B;IACEC,UAAU;IACVC,OAAO,EAAEC,eAAe;IACxBC,qBAAqB,EAAEC,6BAA6B;IACpDP,QAAQ,EAAEQ,gBAAgB;IAC1BC,aAAa,EAAEC,qBAAqB;IACpCC,iBAAiB,EAAEC,yBAAyB;IAC5CC,oBAAoB,EAAEC,4BAA4B;IAClDC,uBAAuB;IACvBpB,YAAY;IACZqB;EACqB,CAAC,EACxB;IAAA,KAdgBd,MAAc,GAAdA,MAAc;IAe9B,IAAI,CAACa,uBAAuB,GAAGA,uBAAuB,KAAK,IAAI;IAC/D,IAAI,CAACpB,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACsB,mBAAmB,GACtBtB,YAAY,EAAEE,OAAO,KAAKqB,SAAS,IACnCvB,YAAY,EAAEC,aAAa,KAAKsB,SAAS;IAC3C,IAAI,CAACC,gBAAgB,GAAGH,SAAS;IACjC,IAAAI,0BAAY,EAAC,MAAM,EAAE,sCAAsC,CAAC;IAC5D,IAAI,CAACrC,UAAU,GAAG;MAChBsC,EAAE,EAAEnB,MAAM,CAACmB,EAAE;MACbrC,IAAI,EAAEmB,UAAU;MAChBmB,SAAS,EAAEpB,MAAM,CAACoB,SAAS,IAAI,EAAE;MACjCC,gBAAgB,EAAErB,MAAM,CAACqB,gBAAgB,IAAI,EAAE;MAC/CC,EAAE,EAAE,EAAE;MAEN;MACAC,gBAAgB,EAAE,EAAE;MACpBT,SAAS,EAAE,IAAAU,uCAA4B,EAACvB,UAAU;IACpD,CAAC;;IAED;IACA,MAAMwB,OAAO,GACX,IAAAC,iCAAiB,EAACC,MAAM,CAAC1B,UAAU,CAAC,EAAED,MAAM,CAAClB,IAAI,IAAI,EAAE,CAAC,IACxD,IAAA4C,iCAAiB,EAACC,MAAM,CAAC1B,UAAU,CAAC,EAAED,MAAM,CAACoB,SAAS,IAAI,EAAE,CAAC;IAE/D,IAAIK,OAAO,EAAE;MACX,IAAI,CAAC5C,UAAU,CAAC4C,OAAO,GAAG;QACxBG,YAAY,EAAEH,OAAO,CAACG,YAAY;QAClCC,KAAK,EAAEJ,OAAO,CAACI;MACjB,CAAC;IACH;IAEA,IAAI,CAACV,EAAE,GAAGnB,MAAM,CAACmB,EAAE;IAEnB,IAAI,CAACf,qBAAqB,GAAG,CAC3B0B,MAAoB,EACpBtC,kBAAuC,KACpC;MACH,IAAA0B,0BAAY,EACV,MAAM,EACN,oDAAoD,EACpD;QACEY,MAAM;QACNtC;MACF,CACF,CAAC;MACD,IAAAuC,2BAAgB,EAAC,uBAAuB,EAAE;QACxCF,KAAK,EAAE,IAAI,CAAChD,UAAU,CAACC,IAAI;QAC3BgD,MAAM;QACNtC,kBAAkB,EAAEA,kBAAkB,IAAI;MAC5C,CAAC,CAAC;MACFa,6BAA6B,GAAG;QAC9BxB,UAAU,EAAE,IAAI,CAACA,UAAU;QAC3BiD,MAAM,EAAEA,MAAM;QACdtC;MACF,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,CAACU,OAAO,GAAI8B,KAAgC,IAAK;MACnD,MAAMC,UAAU,GAAG,IAAAC,gCAAgB,EAACF,KAAK,CAAC;MAE1C,IAAAd,0BAAY,EAAC,OAAO,EAAE,sCAAsC,EAAE;QAC5DiB,SAAS,EAAEF,UAAU,CAACG;MACxB,CAAC,CAAC;MAEFjC,eAAe,GAAG;QAChBtB,UAAU,EAAE,IAAI,CAACA,UAAU;QAC3B,GAAG,IAAAwD,0CAAoB,EAACJ,UAAU;MACpC,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,CAACnC,QAAQ,GAAG,CAAC;MACfwC,QAAQ,EAAEC,CAAC;MACX,GAAGC;IAC2B,CAAC,KAAK;MACpC,MAAMhD,kBAAkB,GAAGgD,IAAI,CAAChD,kBAAkB;MAClD,MAAMiD,mBAAmB,GAAG,IAAI,CAAChD,YAAY,EAAEgD,mBAAmB;MAElE,IAAIA,mBAAmB,IAAI,CAAC,IAAAC,oCAAwB,EAACF,IAAI,EAAEC,mBAAmB,CAAC,EAAE;QAC/E,IAAAvB,0BAAY,EAAC,MAAM,EAAE,uDAAuD,EAAE;UAC5E1B;QACF,CAAC,CAAC;QAEF;MACF;MAEA,MAAMmD,MAAM,GAAG,IAAI,CAACpD,SAAS,CAACC,kBAAkB,CAAC;;MAEjD;MACA,IAAImD,MAAM,KAAK,QAAQ,IAAInC,qBAAqB,GAAG,IAAI,CAAC3B,UAAU,EAAE2D,IAAmB,CAAC,EAAE;QACxF;MACF;MAEA,IACE,IAAI,CAAC3B,uBAAuB,IAC5B,CAAC,IAAI,CAACE,mBAAmB,IACzB,IAAI,CAAC/C,4BAA4B,EACjC;QACA;MACF;MAEA,IAAI2E,MAAM,KAAK,uCAAuC,EAAE;QACtD,IAAI,IAAI,CAACxE,wBAAwB,CAACyE,GAAG,CAACpD,kBAAkB,CAAC,EAAE;UACzD;QACF;QACA,IAAI,CAACrB,wBAAwB,CAAC0E,GAAG,CAACrD,kBAAkB,CAAC;MACvD;MAEA,IAAImD,MAAM,KAAK,mBAAmB,EAAE;QAClC;QACA;QACA,MAAMG,GAAG,GAAG,IAAAC,4BAAa,EAACP,IAAI,EAAEQ,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;QAE3C,IAAIH,GAAG,KAAK,QAAQ,EAAE;UACpB;QACF;QAEA,IAAIA,GAAG,EAAE;UACP,MAAMI,GAAG,GAAG,GAAG1D,kBAAkB,IAAIsD,GAAG,EAAE;UAE1C,IAAI,IAAI,CAACzE,mBAAmB,CAACuE,GAAG,CAACM,GAAG,CAAC,EAAE;YACrC;UACF;UAEA,IAAI,CAAC7E,mBAAmB,CAACwE,GAAG,CAACK,GAAG,CAAC;QACnC;MACF;MAEA,IAAI,CAAClF,4BAA4B,GAAG,IAAI;MACxC,IAAI,CAACM,kBAAkB,IAAI,CAAC;MAC5B,IAAA6E,2BAAgB,EAAC,wBAAwB,EAAE,CAAC,EAAE;QAC5CtB,KAAK,EAAE,IAAI,CAAChD,UAAU,CAACC,IAAI;QAC3BU;MACF,CAAC,CAAC;MACF,IAAAuC,2BAAgB,EAAC,kBAAkB,EAAE;QACnCF,KAAK,EAAE,IAAI,CAAChD,UAAU,CAACC,IAAI;QAC3BU;MACF,CAAC,CAAC;MACF,IAAA0B,0BAAY,EAAC,MAAM,EAAE,uCAAuC,EAAE;QAC5D1B;MACF,CAAC,CAAC;MACF,IAAI,IAAI,CAACvB,qBAAqB,EAAE;QAC9ByC,yBAAyB,GAAG;UAC1B7B,UAAU,EAAE,IAAI,CAACA,UAAU;UAC3BuE,IAAI,EAAE,kBAAkB;UACxBC,QAAQ,EAAE;YAAEC,OAAO,EAAE,IAAI,CAAChF;UAAmB;QAC/C,CAAC,CAAC;MACJ;MACA,MAAMuB,MAAM,GAAG;QAAEhB,UAAU,EAAE,IAAI,CAACA,UAAU;QAAE2D;MAAK,CAIlD;MAGDe,MAAM,CAACC,cAAc,CAAC3D,MAAM,EAAE,IAAI,EAAE;QAClC4D,KAAK,EAAE,IAAAC,oCAAoB,EAAC,IAAI,CAAC7E,UAAU,EAAE2D,IAAmB,CAAC;QACjEmB,UAAU,EAAE,IAAI;QAChBC,QAAQ,EAAE;MACZ,CAAC,CAAC;MACFL,MAAM,CAACC,cAAc,CAAC3D,MAAM,EAAE,UAAU,EAAE;QACxC4D,KAAK,EAAE,IAAAI,oCAAoB,EAAC,IAAI,CAAChF,UAAU,EAAE2D,IAAmB,CAAC;QACjEmB,UAAU,EAAE,IAAI;QAChBC,QAAQ,EAAE;MACZ,CAAC,CAAC;MACFtD,gBAAgB,GAAGT,MAAM,CAAC;IAC5B,CAAC;IACD,IAAI,CAACc,oBAAoB,GAAGC,4BAA4B;IACxD,IAAI,CAACH,iBAAiB,GAAGC,yBAAyB;EACpD;;EAEA;EACOoD,OAAO,GAAGA,CAAA,KAAM;IACrB,IAAI,CAAC/F,SAAS,GAAG,IAAI;IACrB,IAAI,CAACqB,oBAAoB,CAAC,CAAC;IAC3B,IAAA8B,0BAAY,EAAC,MAAM,EAAE,+BAA+B,CAAC;IACrD,IAAI,CAAC6C,iBAAiB,EAAED,OAAO,CAAC,CAAC;IACjC,IAAI,CAACE,aAAa,EAAEF,OAAO,CAAC,CAAC;IAC7B,IAAI,CAAC5D,OAAO,GAAGc,SAAS;IACxB,IAAI,CAACZ,qBAAqB,GAAGY,SAAS;IACtC,IAAI,CAAClB,QAAQ,GAAGkB,SAAS;IACzB,IAAI,CAACP,iBAAiB,GAAGO,SAAS;EACpC,CAAC;;EAED;EACOiD,UAAU,GAAG,MAAAA,CAAA,KAAY;IAC9B,IAAI,CAACnG,SAAS,GAAG,KAAK;IACtB,IAAI,CAACgG,OAAO,CAAC,CAAC;IAEd,IAAI;MACF,MAAM,IAAI,CAAC9D,MAAM,CAACkE,gBAAgB,CAAC,CAAC;IACtC,CAAC,CAAC,OAAOlC,KAAK,EAAE;MACd,MAAMC,UAAU,GAAG,IAAAC,gCAAgB,EAACF,KAAK,CAAC;MAE1C,IAAAd,0BAAY,EAAC,MAAM,EAAE,6CAA6C,EAAE;QAClEiB,SAAS,EAAEF,UAAU,CAACG;MACxB,CAAC,CAAC;IACJ;EACF,CAAC;EAEO+B,eAAe,GAAGA,CAAA,KACxB,IAAI,CAACnF,gBAAgB,IAAI,IAAAoF,6BAAkB,EAAC,IAAI,CAACnD,gBAAgB,CAAC,GAC7D,IAAI,CAACA,gBAAgB,IAAI,CAAC,CAAC,GAC5BD,SAAS;EAEPqD,eAAe,GAAG,MAAAA,CAAA,KAAY;IACpC,IAAI,CAACrG,4BAA4B,GAAG,KAAK;IACzC,IAAI,CAACG,wBAAwB,CAACmG,KAAK,CAAC,CAAC;IACrC,IAAI,CAACjG,mBAAmB,CAACiG,KAAK,CAAC,CAAC;IAChC,IAAI,CAAChG,kBAAkB,GAAG,CAAC;;IAE3B;IACA,IAAI,CAACO,UAAU,CAAC0C,gBAAgB,GAAG,IAAI,CAAChD,+BAA+B,CAAC,CAAC;IAEzE,MAAMgG,SAA2B,GAC/B,IAAI,CAACC,sBAAsB,GAAG,CAAC,IAAI,IAAAC,4CAAmB,EAAC,IAAI,CAAC/F,YAAY,CAAC;IAE3E,IAAI,CAACT,qBAAqB,GAAGsG,SAAS,CAACG,iBAAiB,GAAG,CAAC,KAAK,IAAI;IAErE,IAAI,CAACX,iBAAiB,GAAG,IAAIY,wCAAmB,CAC9C,IAAI,CAAC3E,MAAM,EACX,IAAI,CAACtB,YAAY,EACjB;MACEkG,eAAe,EAAG9C,MAAM,IAAK;QAC3B,IAAI,CAAChE,SAAS,GAAGgE,MAAM,KAAK+C,0BAAY,CAACC,SAAS;QAClD,IAAI,CAAC1E,qBAAqB,EAAE2E,IAAI,CAAC,IAAI,CAAC,CAACjD,MAAM,CAAC;QAC9C,IACEA,MAAM,KAAK+C,0BAAY,CAACC,SAAS,IACjC,IAAI,CAAC/F,kBAAkB,IACvB,CAAC,IAAI,CAACb,mBAAmB,EACzB;UACA,IAAI,CAACA,mBAAmB,GAAG,IAAI;UAC/B,IAAI,CAACuC,iBAAiB,GAAG;YACvB5B,UAAU,EAAE,IAAI,CAACA,UAAU;YAC3BuE,IAAI,EAAE;UACR,CAAC,CAAC;QACJ;QACA,IAAItB,MAAM,KAAK+C,0BAAY,CAACC,SAAS,EAAE;UACrC,IAAI,CAACrE,iBAAiB,GAAG;YACvB5B,UAAU,EAAE,IAAI,CAACA,UAAU;YAC3BuE,IAAI,EAAE;UACR,CAAC,CAAC;QACJ;QACA,IAAItB,MAAM,KAAK+C,0BAAY,CAACG,YAAY,EAAE;UACxC,IAAI,CAACrE,oBAAoB,GAAG,CAAC;UAC7B,IAAI,CAACmD,OAAO,CAAC,CAAC;QAChB;MACF,CAAC;MACD5D,OAAO,EAAG8B,KAAK,IAAK,IAAI,CAAC9B,OAAO,EAAE6E,IAAI,CAAC,IAAI,CAAC,CAAC/C,KAAK,CAAC;MACnDvB,iBAAiB,EAAGwE,KAAK,IACvB,IAAI,CAACxE,iBAAiB,GAAG;QAAE5B,UAAU,EAAE,IAAI,CAACA,UAAU;QAAE,GAAGoG;MAAM,CAAC,CAAC;MACrEC,cAAc,EAAEA,CAACC,IAAI,EAAEC,QAAQ,KAAK;QAClC,IAAI,CAACpB,aAAa,EAAEqB,WAAW,CAACF,IAAI,EAAEC,QAAQ,CAAC;MACjD,CAAC;MACDE,YAAY,EAAGC,IAAI,IAAK;QACtB,IAAIA,IAAI,CAACzG,IAAI,EAAE;UACb,IAAI,CAACD,UAAU,CAACuC,SAAS,GAAGmE,IAAI,CAACzG,IAAI;QACvC;QACA,IAAIyG,IAAI,CAACC,gBAAgB,EAAE;UACzB,IAAI,CAAC3G,UAAU,CAAC2G,gBAAgB,GAAGD,IAAI,CAACC,gBAAgB;QAC1D;QACA,IAAID,IAAI,CAAC1D,KAAK,EAAE;UACd,IAAI,CAAChD,UAAU,CAACgD,KAAK,GAAG0D,IAAI,CAAC1D,KAAK;QACpC;QACA,IAAI0D,IAAI,CAACE,YAAY,EAAE;UACrB,IAAI,CAAC5G,UAAU,CAACyC,EAAE,GAAGiE,IAAI,CAACE,YAAY;QACxC;MACF,CAAC;MACDC,oBAAoB,EAAGC,KAAK,IAAKpB,SAAS,CAACmB,oBAAoB,GAAGC,KAAK,CAAC;MACxEC,eAAe,EAAEA,CAAA,KAAMrB,SAAS,CAACqB,eAAe,CAAC,CAAC;MAClDzB,eAAe,EAAE,IAAI,CAACA,eAAe,CAAC,CAAC;MACvC0B,aAAa,EAAEA,CAAA,KAAM;QACnB,IAAI,CAAC7B,aAAa,EAAE8B,eAAe,CAAC,CAAC;QACrC,IAAI,CAAC9B,aAAa,EAAE+B,iBAAiB,CAAC,CAAC;MACzC,CAAC;MACDC,kBAAkB,EAAEA,CAAA,KAAMzB,SAAS,CAACyB,kBAAkB,GAAG,CAAC,IAAI;IAChE,CAAC,EACD,IAAI,CAACC,YACP,CAAC;IAED,IAAI,CAACjC,aAAa,GAAG,IAAIkC,gCAAe,CACtC,IAAI,CAAClG,MAAM,EACX,IAAI,CAACtB,YAAY,EACjB,IAAI,CAACyH,gBAAgB,EACrB;MACEvB,eAAe,EAAE,IAAI,CAACxE,qBAAqB,EAAE2E,IAAI,CAAC,IAAI,CAAC;MACvDqB,aAAa,EAAE,IAAI,CAACA,aAAa,EAAErB,IAAI,CAAC,IAAI,CAAC;MAC7CsB,gBAAgB,EAAE,IAAI,CAACjH,oBAAoB,CAAC2F,IAAI,CAAC,IAAI,CAAC;MACtDuB,eAAe,EAAE,IAAI,CAACA,eAAe,EAAEvB,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,KAAK,CAAC;MAClEjF,QAAQ,EAAEA,CAACyG,UAAU,EAAEC,eAAe,KAAK;QACzC,IAAI;UACF,OAAO,IAAI,CAACvH,mBAAmB,CAAC8F,IAAI,CAAC,IAAI,CAAC,CACxCwB,UAAU,EACVC,eACF,CAAC;QACH,CAAC,CAAC,OAAOxE,KAAK,EAAE;UACd,IAAI,CAAC9B,OAAO,EAAE6E,IAAI,CAAC,IAAI,CAAC,CAAC/C,KAAyB,CAAC;QACrD;MACF,CAAC;MACDyE,WAAW,EAAEA,CAACC,KAAK,EAAEvB,IAAI,KAAKZ,SAAS,CAACkC,WAAW,CAACC,KAAK,EAAEvB,IAAI,CAAC;MAChEwB,YAAY,EAAGC,QAAQ,IACrB,KAAK,IAAI,CAAC7C,iBAAiB,EAAE4C,YAAY,CAACC,QAAQ,CAAC;MACrDC,gBAAgB,EAAEA,CAAA,KAAMtC,SAAS,CAACsC,gBAAgB,GAAG,CAAC;MACtDC,gBAAgB,EAAEA,CAAA,KAAMvC,SAAS,CAACuC,gBAAgB,GAAG,CAAC,IAAI,CAAC,CAAC;MAC5DC,eAAe,EAAGL,KAAK,IACrBnC,SAAS,CAACwC,eAAe,GAAGL,KAAK,CAAC,IAAI,UAAU;MAClDxG,OAAO,EAAE,IAAI,CAACA,OAAO,EAAE6E,IAAI,CAAC,IAAI,CAAC;MACjCiC,qBAAqB,EAAE,IAAI,CAACA,qBAAqB,EAAEjC,IAAI,CAAC,IAAI;IAC9D,CAAC,EACD,IAAI,CAACkC,WACP,CAAC;IAED,MAAM,IAAI,CAAClD,iBAAiB,CAACmD,OAAO,CAAC,CAAC;EACxC,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACSA,OAAO,GAAGA,CAAA,KAAqB;IACpC,IAAI,IAAI,CAACnJ,SAAS,EAAE;MAClB,OAAOoJ,OAAO,CAACC,MAAM,CAAC,IAAI9H,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjF;IAEA,IAAI,IAAI,CAAC+H,iBAAiB,EAAE;MAC1B,OAAO,IAAI,CAACA,iBAAiB;IAC/B;IAEA,IAAI,IAAI,CAACvJ,SAAS,EAAE;MAClB,OAAOqJ,OAAO,CAACG,OAAO,CAAC,CAAC;IAC1B;IAEA,IAAI,CAACD,iBAAiB,GAAG,IAAI,CAAChD,eAAe,CAAC,CAAC,CAACkD,OAAO,CAAC,MAAM;MAC5D,IAAI,CAACF,iBAAiB,GAAGrG,SAAS;IACpC,CAAC,CAAC;IAEF,OAAO,IAAI,CAACqG,iBAAiB;EAC/B,CAAC;AACH;AAACG,OAAA,CAAA3J,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"names":["_sentryLogger","require","_telemetry","_dailyTotalDay","_builtInMeasurementTypes","_deviceVariants","_bluetoothError","_clockSync","_deviceStatus","_deviceUser","_errorCallbackPayload","_resultIdentity","_supportedMeasurementTypeKeys","_btConnectionHandler","_btDataProcessor","_pollingCommandSequencer","BTManagedDevice","connected","destroyed","resultReportedThisConnection","historyTransferActive","bondedEventReported","reportedMeasurementKinds","Set","reportedDailyTotals","historyResultCount","getSupportedMeasurementTypeKeys","declared","supportedMeasurementTypeKeys","mainServices","length","BUILT_IN_MEASUREMENT_TYPES","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","sentryLogger","id","localName","manufacturerData","sn","measurementTypes","clockSyncCapabilityForDevice","variant","findDeviceVariant","String","manufacturer","model","status","addOvokSpanEvent","error","normalized","toBluetoothError","errorCode","code","errorCallbackPayload","caseType","_","data","acceptedMemorySlots","isFromAcceptedMemorySlot","policy","has","add","day","dailyTotalDay","Date","now","key","recordOvokMetric","kind","progress","current","Object","defineProperty","value","createStableResultId","enumerable","writable","createLegacyResultId","destroy","connectionHandler","dataProcessor","disconnect","cancelConnection","currentTimeSync","isClockSyncEnabled","connectInternal","clear","sequencer","createCommandSequencer","pollingSequencerFor","isHistoryTransfer","BTConnectionHandler","onStatusChanged","DeviceStatus","CONNECTED","bind","DISCONNECTED","event","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","serialNumber","onServicesDiscovered","uuids","initialCommands","onCommandSent","armStuckTimeout","armCommandTimeout","isNormalDisconnect","preferredMtu","BTDataProcessor","stuckDataTimeout","onStreamStart","onMeasurementEnd","validatePackage","parsedData","collectedValues","nextCommand","frame","sendCommands","commands","commandTimeoutMs","onCommandTimeout","commandProgress","handleDependentResult","frameReader","connect","Promise","reject","connectionPromise","resolve","finally","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
@@ -15,7 +15,7 @@ var _lepuCommandBuilder = require("../lepu/lepu.command-builder.js");
15
15
  var _lepuEcgTransfer = require("../lepu/lepu.ecg-transfer.js");
16
16
  var _lepuEncryptionHandshake = require("../lepu/lepu.encryption-handshake.js");
17
17
  var _lepuFrameReader = require("../lepu/lepu.frame-reader.js");
18
- var _lepuRecordingWatch = require("../lepu/lepu.recording-watch.js");
18
+ var _lepuRecorder = require("../lepu/lepu.recorder.js");
19
19
  var _lepuSession = require("../lepu/lepu.session.js");
20
20
  var _tmbCommandSequencer = require("../tmb/tmb.command-sequencer.js");
21
21
  var _tmbFrameReader = require("../tmb/tmb.frame-reader.js");
@@ -158,7 +158,7 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
158
158
  /** Stops the open recording; the device stores it when it is long enough, and the files are then read. */
159
159
  stopRecording = async () => {
160
160
  const stopCommand = this.definition.lepu?.recordingStatus?.stopCommand;
161
- if (stopCommand === undefined || !this.recordingWatch?.isOpen()) {
161
+ if (stopCommand === undefined || !this.recorder?.isOpen()) {
162
162
  throw new Error(`Custom device "${this.definition.id}" has no open recording to stop.`);
163
163
  }
164
164
  this.requestedStop = stopCommand;
@@ -167,8 +167,24 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
167
167
  /** ECG files are read again only on the poll answer that says a record was just saved. */
168
168
  watchRecording = lepu => {
169
169
  this.requestedStop = undefined;
170
- this.recordingWatch = lepu.recordingStatus ? new _lepuRecordingWatch.LepuRecordingWatch(lepu.recordingStatus, this.reportRecording) : undefined;
171
- return this.recordingWatch?.observe ?? (() => false);
170
+ this.recorder = lepu.recordingStatus ? new _lepuRecorder.LepuRecorder(lepu.recordingStatus, {
171
+ onRecordingChanged: this.reportRecording,
172
+ onSamples: (samples, at) => this.reportSamples(lepu, samples, at),
173
+ onChunk: chunk => this.onResult?.(chunk)
174
+ }) : undefined;
175
+ return this.recorder?.observe ?? (() => false);
176
+ };
177
+ reportSamples = (lepu, samples, at) => {
178
+ const waveform = lepu.recordingStatus?.waveform;
179
+ if (waveform) {
180
+ this.onWaveform?.({
181
+ deviceData: this.deviceData,
182
+ samples,
183
+ sampleRateHz: waveform.sampleRateHz,
184
+ millivoltsPerCount: waveform.millivoltsPerCount,
185
+ at
186
+ });
187
+ }
172
188
  };
173
189
  takeStopRequest = () => {
174
190
  const stop = this.requestedStop;
@@ -312,6 +328,7 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
312
328
 
313
329
  /** Emits a completed session before the state machine returns to CONNECTED. */
314
330
  handleMeasurementEnd() {
331
+ this.recorder?.flush();
315
332
  const policy = this.sessionPolicy;
316
333
  if (!policy) {
317
334
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["_next","require","_caseType","_createFrameValidator","_parseMeasurement","_rejectCustomReading","_bp2Files","_btManagedDevice","_lepuCommandBuilder","_lepuEcgTransfer","_lepuEncryptionHandshake","_lepuFrameReader","_lepuRecordingWatch","_lepuSession","_tmbCommandSequencer","_tmbFrameReader","_viatomBp3Files","_viatomEcgFiles","_customLepuSequencer","CustomDevice","BTManagedDevice","reportedHistoryIds","Set","validators","Map","sessionAggregates","lepuSession","LepuSession","constructor","device","params","definition","oneReadingPerConnection","frameHandler","createFrameHandler","sessionPolicy","deviceData","clockSync","deliveredFileNames","deliveredEcgFileNames","selectedLepu","lepu","selectLepu","manufacturerData","undefined","mainServices","manufacturerDataProtocol","filter","service","uuid","write","serviceUuid","frameReader","stuckDataTimeout","reportsBondedEvent","syncsCurrentTime","preferredMtu","declareLepuProtocol","declareTmbProtocol","declareSequencerFactory","frames","forEach","frame","set","createFrameValidator","create","createCommandSequencer","deviceId","id","recordCursorStorage","tmb","TmbFrameReader","TmbCommandSequencer","protocol","LepuFrameReader","startBytes","fileTransfer","clear","withEncryption","LepuEcgTransferSequencer","characteristicUuid","builder","LepuCommandBuilder","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","createLepuSequencer","sequencer","withLepuEncryption","session","startByte","stopRecording","stopCommand","recordingStatus","recordingWatch","isOpen","requestedStop","LepuRecordingWatch","reportRecording","observe","stop","recording","file","decoded","decodeViatomEcgRecording","content","add","samples","length","onResult","measurementTypeKey","MeasurementTypeKey","ecg","caseType","CaseType","RESULT","diagramPoints","duration","recordedAt","recordedAtFromViatomFileName","recordingId","decodeBP2File","reportHistoryOnce","decodeViatomBp3File","has","info","recordLepuIdentity","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","parseMeasurement","discard","reportMeasurement","discardedReadingError","parsedFields","rejectCustomReading","find","message","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_next","require","_caseType","_createFrameValidator","_parseMeasurement","_rejectCustomReading","_bp2Files","_btManagedDevice","_lepuCommandBuilder","_lepuEcgTransfer","_lepuEncryptionHandshake","_lepuFrameReader","_lepuRecorder","_lepuSession","_tmbCommandSequencer","_tmbFrameReader","_viatomBp3Files","_viatomEcgFiles","_customLepuSequencer","CustomDevice","BTManagedDevice","reportedHistoryIds","Set","validators","Map","sessionAggregates","lepuSession","LepuSession","constructor","device","params","definition","oneReadingPerConnection","frameHandler","createFrameHandler","sessionPolicy","deviceData","clockSync","deliveredFileNames","deliveredEcgFileNames","selectedLepu","lepu","selectLepu","manufacturerData","undefined","mainServices","manufacturerDataProtocol","filter","service","uuid","write","serviceUuid","frameReader","stuckDataTimeout","reportsBondedEvent","syncsCurrentTime","preferredMtu","declareLepuProtocol","declareTmbProtocol","declareSequencerFactory","frames","forEach","frame","set","createFrameValidator","create","createCommandSequencer","deviceId","id","recordCursorStorage","tmb","TmbFrameReader","TmbCommandSequencer","protocol","LepuFrameReader","startBytes","fileTransfer","clear","withEncryption","LepuEcgTransferSequencer","characteristicUuid","builder","LepuCommandBuilder","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","createLepuSequencer","sequencer","withLepuEncryption","session","startByte","stopRecording","stopCommand","recordingStatus","recorder","isOpen","requestedStop","LepuRecorder","onRecordingChanged","reportRecording","onSamples","samples","at","reportSamples","onChunk","chunk","onResult","observe","waveform","onWaveform","sampleRateHz","millivoltsPerCount","stop","recording","file","decoded","decodeViatomEcgRecording","content","add","length","measurementTypeKey","MeasurementTypeKey","ecg","caseType","CaseType","RESULT","diagramPoints","duration","recordedAt","recordedAtFromViatomFileName","recordingId","decodeBP2File","reportHistoryOnce","decodeViatomBp3File","has","info","recordLepuIdentity","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","parseMeasurement","discard","reportMeasurement","discardedReadingError","parsedFields","rejectCustomReading","find","message","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LiveEcgChunks = void 0;
7
+ var _next = require("@ovok/core/next");
8
+ var _caseType = require("../../../types/case-type.js");
9
+ var _lepuWaveform = require("./lepu.waveform.js");
10
+ /** How long a live chunk grows before it is handed over. */
11
+ const CHUNK_SECONDS = 300;
12
+ const MS_PER_SECOND = 1_000;
13
+ const COVERAGE_DECIMALS = 2;
14
+
15
+ /** A stretch of a recording sent live, before the device's own file supersedes it. */
16
+
17
+ /** Collects one recording's live samples and hands them over in chunks of five minutes or less. */
18
+ class LiveEcgChunks {
19
+ counts = [];
20
+ index = 0;
21
+ constructor(waveform, onChunk) {
22
+ this.waveform = waveform;
23
+ this.onChunk = onChunk;
24
+ }
25
+
26
+ /** Adds the samples an answer at `at` carried, `recordedSeconds` into the recording. */
27
+ append = (samples, at, recordedSeconds) => {
28
+ this.recordingKey ??= recordingKeyOf(new Date(at.getTime() - recordedSeconds * MS_PER_SECOND));
29
+ this.startedAt ??= new Date(at.getTime() - this.secondsOf(samples.length) * MS_PER_SECOND);
30
+ this.counts.push(...samples);
31
+ this.lastAt = at;
32
+ if (this.secondsOf(this.counts.length) >= CHUNK_SECONDS) {
33
+ this.flush();
34
+ }
35
+ };
36
+
37
+ /** Hands over what has been collected; the recording may continue into a further chunk. */
38
+ flush = () => {
39
+ if (this.counts.length === 0 || !this.startedAt || !this.lastAt || !this.recordingKey) {
40
+ return;
41
+ }
42
+ this.onChunk({
43
+ measurementTypeKey: _next.MeasurementTypeKey.ecg,
44
+ caseType: _caseType.CaseType.RESULT,
45
+ diagramPoints: this.counts.map(count => (0, _lepuWaveform.millivoltsOf)(count, this.waveform)),
46
+ duration: this.secondsOf(this.counts.length),
47
+ recordedAt: this.startedAt,
48
+ recordingId: `${this.recordingKey}-live-${this.index}`,
49
+ live: true,
50
+ coverage: this.coverage()
51
+ });
52
+ this.index += 1;
53
+ this.counts = [];
54
+ this.startedAt = undefined;
55
+ };
56
+
57
+ /** Hands over the rest and forgets the recording, so the next one starts its own chunks. */
58
+ endRecording = () => {
59
+ this.flush();
60
+ this.recordingKey = undefined;
61
+ this.index = 0;
62
+ };
63
+ secondsOf = samples => samples / this.waveform.sampleRateHz;
64
+ coverage = () => {
65
+ const spanSeconds = ((this.lastAt?.getTime() ?? 0) - (this.startedAt?.getTime() ?? 0)) / MS_PER_SECOND;
66
+ const expected = Math.max(this.counts.length, spanSeconds * this.waveform.sampleRateHz);
67
+ return Number((this.counts.length / expected).toFixed(COVERAGE_DECIMALS));
68
+ };
69
+ }
70
+ exports.LiveEcgChunks = LiveEcgChunks;
71
+ const pad = value => String(value).padStart(2, "0");
72
+
73
+ /** The name the device gives the recording's file: `R` and its local start, to the second. */
74
+ const recordingKeyOf = start => `R${start.getFullYear()}${pad(start.getMonth() + 1)}${pad(start.getDate())}` + `${pad(start.getHours())}${pad(start.getMinutes())}${pad(start.getSeconds())}`;
75
+ //# sourceMappingURL=lepu.live-ecg-chunks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_next","require","_caseType","_lepuWaveform","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","MeasurementTypeKey","ecg","caseType","CaseType","RESULT","diagramPoints","map","count","millivoltsOf","duration","recordedAt","recordingId","live","coverage","undefined","endRecording","sampleRateHz","spanSeconds","expected","Math","max","Number","toFixed","exports","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,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LepuRecorder = void 0;
7
+ var _lepuLiveEcgChunks = require("./lepu.live-ecg-chunks.js");
8
+ var _lepuRecordingWatch = require("./lepu.recording-watch.js");
9
+ var _lepuWaveform = require("./lepu.waveform.js");
10
+ /**
11
+ * Follows a recorder's open recording through its poll answers: reports its state, feeds the live
12
+ * trace while it records, and hands its samples over in chunks.
13
+ */
14
+ class LepuRecorder {
15
+ constructor(status, callbacks) {
16
+ this.status = status;
17
+ this.callbacks = callbacks;
18
+ this.watch = new _lepuRecordingWatch.LepuRecordingWatch(status, callbacks.onRecordingChanged);
19
+ this.chunks = status.waveform ? new _lepuLiveEcgChunks.LiveEcgChunks(status.waveform, callbacks.onChunk) : undefined;
20
+ }
21
+
22
+ /** Reads one poll answer; true when it is the first in the saved state, so the files are read. */
23
+ observe = pollAnswer => {
24
+ const saved = this.watch.observe(pollAnswer);
25
+ if (this.watch.isRecording()) {
26
+ this.record(pollAnswer);
27
+ } else if (this.watch.isOpen()) {
28
+ this.chunks?.flush();
29
+ } else {
30
+ this.chunks?.endRecording();
31
+ }
32
+ return saved;
33
+ };
34
+ isOpen = () => this.watch.isOpen();
35
+
36
+ /** Hands over what is collected, for a connection that is ending. */
37
+ flush = () => this.chunks?.flush();
38
+ record = pollAnswer => {
39
+ if (!this.status.waveform) {
40
+ return;
41
+ }
42
+ const samples = (0, _lepuWaveform.waveformSamples)(pollAnswer, this.status.waveform);
43
+ const at = new Date();
44
+ if (samples.length === 0) {
45
+ return;
46
+ }
47
+ this.callbacks.onSamples(samples, at);
48
+ this.chunks?.append(samples, at, this.watch.recordedSeconds());
49
+ };
50
+ }
51
+ exports.LepuRecorder = LepuRecorder;
52
+ //# sourceMappingURL=lepu.recorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_lepuLiveEcgChunks","require","_lepuRecordingWatch","_lepuWaveform","LepuRecorder","constructor","status","callbacks","watch","LepuRecordingWatch","onRecordingChanged","chunks","waveform","LiveEcgChunks","onChunk","undefined","observe","pollAnswer","saved","isRecording","record","isOpen","flush","endRecording","samples","waveformSamples","at","Date","length","onSamples","append","recordedSeconds","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.recorder.ts"],"mappings":";;;;;;AAGA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AAcA;AACA;AACA;AACA;AACA,MAAMG,YAAY,CAAC;EAIVC,WAAWA,CACCC,MAAuB,EACvBC,SAAgC,EACjD;IAAA,KAFiBD,MAAuB,GAAvBA,MAAuB;IAAA,KACvBC,SAAgC,GAAhCA,SAAgC;IAEjD,IAAI,CAACC,KAAK,GAAG,IAAIC,sCAAkB,CAACH,MAAM,EAAEC,SAAS,CAACG,kBAAkB,CAAC;IACzE,IAAI,CAACC,MAAM,GAAGL,MAAM,CAACM,QAAQ,GAAG,IAAIC,gCAAa,CAACP,MAAM,CAACM,QAAQ,EAAEL,SAAS,CAACO,OAAO,CAAC,GAAGC,SAAS;EACnG;;EAEA;EACOC,OAAO,GAAIC,UAA6B,IAAc;IAC3D,MAAMC,KAAK,GAAG,IAAI,CAACV,KAAK,CAACQ,OAAO,CAACC,UAAU,CAAC;IAE5C,IAAI,IAAI,CAACT,KAAK,CAACW,WAAW,CAAC,CAAC,EAAE;MAC5B,IAAI,CAACC,MAAM,CAACH,UAAU,CAAC;IACzB,CAAC,MAAM,IAAI,IAAI,CAACT,KAAK,CAACa,MAAM,CAAC,CAAC,EAAE;MAC9B,IAAI,CAACV,MAAM,EAAEW,KAAK,CAAC,CAAC;IACtB,CAAC,MAAM;MACL,IAAI,CAACX,MAAM,EAAEY,YAAY,CAAC,CAAC;IAC7B;IAEA,OAAOL,KAAK;EACd,CAAC;EAEMG,MAAM,GAAGA,CAAA,KAAe,IAAI,CAACb,KAAK,CAACa,MAAM,CAAC,CAAC;;EAElD;EACOC,KAAK,GAAGA,CAAA,KAAY,IAAI,CAACX,MAAM,EAAEW,KAAK,CAAC,CAAC;EAEvCF,MAAM,GAAIH,UAA6B,IAAW;IACxD,IAAI,CAAC,IAAI,CAACX,MAAM,CAACM,QAAQ,EAAE;MACzB;IACF;IAEA,MAAMY,OAAO,GAAG,IAAAC,6BAAe,EAACR,UAAU,EAAE,IAAI,CAACX,MAAM,CAACM,QAAQ,CAAC;IACjE,MAAMc,EAAE,GAAG,IAAIC,IAAI,CAAC,CAAC;IAErB,IAAIH,OAAO,CAACI,MAAM,KAAK,CAAC,EAAE;MACxB;IACF;IAEA,IAAI,CAACrB,SAAS,CAACsB,SAAS,CAACL,OAAO,EAAEE,EAAE,CAAC;IACrC,IAAI,CAACf,MAAM,EAAEmB,MAAM,CAACN,OAAO,EAAEE,EAAE,EAAE,IAAI,CAAClB,KAAK,CAACuB,eAAe,CAAC,CAAC,CAAC;EAChE,CAAC;AACH;AAACC,OAAA,CAAA5B,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -10,6 +10,7 @@ const LOW_NIBBLE = 0x0f;
10
10
  const CLOSED = "closed";
11
11
  /** Follows a recorder's open recording through its poll answers. */
12
12
  class LepuRecordingWatch {
13
+ seconds = 0;
13
14
  constructor(status, onRecordingChanged) {
14
15
  this.status = status;
15
16
  this.onRecordingChanged = onRecordingChanged;
@@ -19,26 +20,27 @@ class LepuRecordingWatch {
19
20
  observe = pollAnswer => {
20
21
  const previous = this.state;
21
22
  this.state = (0, _hexToByte.hexToByte)(pollAnswer[this.status.byteIndex] ?? "00") & LOW_NIBBLE;
23
+ this.seconds = (0, _le32FromHex.le32FromHex)(pollAnswer, this.status.secondsByteIndex);
22
24
  this.leadOffSince = this.isLeadOff() ? this.leadOffSince ?? new Date() : undefined;
23
- this.report(this.recordingIn(pollAnswer));
25
+ this.report(this.recordingIn());
24
26
  return this.state === this.status.savedState && previous !== this.status.savedState;
25
27
  };
26
28
 
27
29
  /** Whether a recording is open, so that stopping it means something. */
28
- isOpen = () => this.state === this.status.recordingState || this.isLeadOff();
29
- recordingIn = pollAnswer => {
30
- if (!this.isOpen()) {
31
- return undefined;
32
- }
33
- const seconds = (0, _le32FromHex.le32FromHex)(pollAnswer, this.status.secondsByteIndex);
34
- return {
35
- seconds,
36
- ...(this.leadOffSince ? {
37
- leadOffSince: this.leadOffSince
38
- } : {}),
39
- storesOnStop: seconds >= this.status.minimumStoredSeconds
40
- };
41
- };
30
+ isOpen = () => this.isRecording() || this.isLeadOff();
31
+
32
+ /** Whether the electrodes have contact and samples are being recorded. */
33
+ isRecording = () => this.state === this.status.recordingState;
34
+
35
+ /** Seconds recorded, as of the last answer. */
36
+ recordedSeconds = () => this.seconds;
37
+ recordingIn = () => this.isOpen() ? {
38
+ seconds: this.seconds,
39
+ ...(this.leadOffSince ? {
40
+ leadOffSince: this.leadOffSince
41
+ } : {}),
42
+ storesOnStop: this.seconds >= this.status.minimumStoredSeconds
43
+ } : undefined;
42
44
  isLeadOff = () => this.state === this.status.leadOffState;
43
45
 
44
46
  /** Reports a change in what the app would act on, not every tick of the seconds. */
@@ -1 +1 @@
1
- {"version":3,"names":["_hexToByte","require","_le32FromHex","LOW_NIBBLE","CLOSED","LepuRecordingWatch","constructor","status","onRecordingChanged","observe","pollAnswer","previous","state","hexToByte","byteIndex","leadOffSince","isLeadOff","Date","undefined","report","recordingIn","savedState","isOpen","recordingState","seconds","le32FromHex","secondsByteIndex","storesOnStop","minimumStoredSeconds","leadOffState","recording","key","changed","reported","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.recording-watch.ts"],"mappings":";;;;;;AAEA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,MAAME,UAAU,GAAG,IAAI;AACvB,MAAMC,MAAM,GAAG,QAAQ;AAMvB;AACA,MAAMC,kBAAkB,CAAC;EAKhBC,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,GAAG,IAAAC,oBAAS,EAACH,UAAU,CAAC,IAAI,CAACH,MAAM,CAACO,SAAS,CAAC,IAAI,IAAI,CAAC,GAAGX,UAAU;IAC9E,IAAI,CAACY,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,CAACV,UAAU,CAAC,CAAC;IAEzC,OAAO,IAAI,CAACE,KAAK,KAAK,IAAI,CAACL,MAAM,CAACc,UAAU,IAAIV,QAAQ,KAAK,IAAI,CAACJ,MAAM,CAACc,UAAU;EACrF,CAAC;;EAED;EACOC,MAAM,GAAGA,CAAA,KACd,IAAI,CAACV,KAAK,KAAK,IAAI,CAACL,MAAM,CAACgB,cAAc,IAAI,IAAI,CAACP,SAAS,CAAC,CAAC;EAEvDI,WAAW,GAAIV,UAA6B,IAA4B;IAC9E,IAAI,CAAC,IAAI,CAACY,MAAM,CAAC,CAAC,EAAE;MAClB,OAAOJ,SAAS;IAClB;IAEA,MAAMM,OAAO,GAAG,IAAAC,wBAAW,EAACf,UAAU,EAAE,IAAI,CAACH,MAAM,CAACmB,gBAAgB,CAAC;IAErE,OAAO;MACLF,OAAO;MACP,IAAI,IAAI,CAACT,YAAY,GAAG;QAAEA,YAAY,EAAE,IAAI,CAACA;MAAa,CAAC,GAAG,CAAC,CAAC,CAAC;MACjEY,YAAY,EAAEH,OAAO,IAAI,IAAI,CAACjB,MAAM,CAACqB;IACvC,CAAC;EACH,CAAC;EAEOZ,SAAS,GAAGA,CAAA,KAAe,IAAI,CAACJ,KAAK,KAAK,IAAI,CAACL,MAAM,CAACsB,YAAY;;EAE1E;EACQV,MAAM,GAAIW,SAAgC,IAAW;IAC3D,MAAMC,GAAG,GAAGD,SAAS,GACjB,GAAGA,SAAS,CAACf,YAAY,KAAKG,SAAS,IAAIY,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,CAACxB,kBAAkB,CAACsB,SAAS,CAAC;IACpC;EACF,CAAC;AACH;AAACI,OAAA,CAAA7B,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_hexToByte","require","_le32FromHex","LOW_NIBBLE","CLOSED","LepuRecordingWatch","seconds","constructor","status","onRecordingChanged","observe","pollAnswer","previous","state","hexToByte","byteIndex","le32FromHex","secondsByteIndex","leadOffSince","isLeadOff","Date","undefined","report","recordingIn","savedState","isOpen","isRecording","recordingState","recordedSeconds","storesOnStop","minimumStoredSeconds","leadOffState","recording","key","changed","reported","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.recording-watch.ts"],"mappings":";;;;;;AAEA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,MAAME,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,GAAG,IAAAC,oBAAS,EAACH,UAAU,CAAC,IAAI,CAACH,MAAM,CAACO,SAAS,CAAC,IAAI,IAAI,CAAC,GAAGZ,UAAU;IAC9E,IAAI,CAACG,OAAO,GAAG,IAAAU,wBAAW,EAACL,UAAU,EAAE,IAAI,CAACH,MAAM,CAACS,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,CAACV,KAAK,KAAK,IAAI,CAACL,MAAM,CAACgB,UAAU,IAAIZ,QAAQ,KAAK,IAAI,CAACJ,MAAM,CAACgB,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,CAACb,KAAK,KAAK,IAAI,CAACL,MAAM,CAACmB,cAAc;;EAE7E;EACOC,eAAe,GAAGA,CAAA,KAAc,IAAI,CAACtB,OAAO;EAE3CiB,WAAW,GAAGA,CAAA,KACpB,IAAI,CAACE,MAAM,CAAC,CAAC,GACT;IACEnB,OAAO,EAAE,IAAI,CAACA,OAAO;IACrB,IAAI,IAAI,CAACY,YAAY,GAAG;MAAEA,YAAY,EAAE,IAAI,CAACA;IAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IACjEW,YAAY,EAAE,IAAI,CAACvB,OAAO,IAAI,IAAI,CAACE,MAAM,CAACsB;EAC5C,CAAC,GACDT,SAAS;EAEPF,SAAS,GAAGA,CAAA,KAAe,IAAI,CAACN,KAAK,KAAK,IAAI,CAACL,MAAM,CAACuB,YAAY;;EAE1E;EACQT,MAAM,GAAIU,SAAgC,IAAW;IAC3D,MAAMC,GAAG,GAAGD,SAAS,GACjB,GAAGA,SAAS,CAACd,YAAY,KAAKG,SAAS,IAAIW,SAAS,CAACH,YAAY,EAAE,GACnEzB,MAAM;IAEV,MAAM8B,OAAO,GAAGD,GAAG,MAAM,IAAI,CAACE,QAAQ,IAAI/B,MAAM,CAAC;IAEjD,IAAI,CAAC+B,QAAQ,GAAGF,GAAG;IAEnB,IAAIC,OAAO,EAAE;MACX,IAAI,CAACzB,kBAAkB,CAACuB,SAAS,CAAC;IACpC;EACF,CAAC;AACH;AAACI,OAAA,CAAA/B,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.waveformSamples = exports.millivoltsOf = void 0;
7
+ var _i16FromHex = require("../../../utils/i-16-from-hex.js");
8
+ var _le16FromHex = require("../../../utils/le-16-from-hex.js");
9
+ const SAMPLE_BYTES = 2;
10
+ const COUNT_BYTES = 2;
11
+ const CHECKSUM_BYTES = 1;
12
+
13
+ /** The raw sample counts a poll answer carries, never more than the frame holds. */
14
+ const waveformSamples = (pollAnswer, waveform) => {
15
+ const first = waveform.countByteIndex + COUNT_BYTES;
16
+ const declared = (0, _le16FromHex.le16FromHex)(pollAnswer, waveform.countByteIndex);
17
+ const available = Math.floor((pollAnswer.length - CHECKSUM_BYTES - first) / SAMPLE_BYTES);
18
+ return Array.from({
19
+ length: Math.max(0, Math.min(declared, available))
20
+ }, (_, index) => (0, _i16FromHex.i16FromHex)(pollAnswer, first + index * SAMPLE_BYTES));
21
+ };
22
+
23
+ /** One count in millivolts; the no-signal marker reads as 0. */
24
+ exports.waveformSamples = waveformSamples;
25
+ const millivoltsOf = (count, waveform) => count === waveform.noSignalCount ? 0 : count * waveform.millivoltsPerCount;
26
+ exports.millivoltsOf = millivoltsOf;
27
+ //# sourceMappingURL=lepu.waveform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_i16FromHex","require","_le16FromHex","SAMPLE_BYTES","COUNT_BYTES","CHECKSUM_BYTES","waveformSamples","pollAnswer","waveform","first","countByteIndex","declared","le16FromHex","available","Math","floor","length","Array","from","max","min","_","index","i16FromHex","exports","millivoltsOf","count","noSignalCount","millivoltsPerCount"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.waveform.ts"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAIA,MAAME,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,GAAG,IAAAC,wBAAW,EAACL,UAAU,EAAEC,QAAQ,CAACE,cAAc,CAAC;EACjE,MAAMG,SAAS,GAAGC,IAAI,CAACC,KAAK,CAAC,CAACR,UAAU,CAACS,MAAM,GAAGX,cAAc,GAAGI,KAAK,IAAIN,YAAY,CAAC;EAEzF,OAAOc,KAAK,CAACC,IAAI,CAAC;IAAEF,MAAM,EAAEF,IAAI,CAACK,GAAG,CAAC,CAAC,EAAEL,IAAI,CAACM,GAAG,CAACT,QAAQ,EAAEE,SAAS,CAAC;EAAE,CAAC,EAAE,CAACQ,CAAC,EAAEC,KAAK,KACjF,IAAAC,sBAAU,EAAChB,UAAU,EAAEE,KAAK,GAAGa,KAAK,GAAGnB,YAAY,CAAC,CAAC;AACzD,CAAC;;AAED;AAAAqB,OAAA,CAAAlB,eAAA,GAAAA,eAAA;AACA,MAAMmB,YAAY,GAAGA,CAACC,KAAa,EAAElB,QAAkB,KACrDkB,KAAK,KAAKlB,QAAQ,CAACmB,aAAa,GAAG,CAAC,GAAGD,KAAK,GAAGlB,QAAQ,CAACoB,kBAAkB;AAACJ,OAAA,CAAAC,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.viatomRecordingStatus = exports.RUN_STATUS_BYTE = exports.RECORDING_STATE = void 0;
7
+ var _viatomEcgFiles = require("./viatom.ecg-files.js");
7
8
  /** The run status, with the current state in its low nibble. */
8
9
  const RUN_STATUS_BYTE = exports.RUN_STATUS_BYTE = 15;
9
10
  const RECORDING_STATE = exports.RECORDING_STATE = 2;
@@ -13,6 +14,11 @@ const SAVED_STATE = 4;
13
14
  /** The seconds recorded so far, u32 little-endian, right before the run status. */
14
15
  const RECORD_SECONDS_BYTE = 11;
15
16
 
17
+ /** After the 18-byte parameter block: the sample count, then int16 samples. */
18
+ const WAVEFORM_COUNT_BYTE = 25;
19
+ const SAMPLES_PER_SECOND = 125;
20
+ const NO_SIGNAL_COUNT = 0x7fff;
21
+
16
22
  /** Ends a recording and stores it when it is long enough. */
17
23
  const STOP_MEASUREMENT = 0x05;
18
24
 
@@ -29,7 +35,13 @@ const viatomRecordingStatus = advertisedName => ({
29
35
  leadOffState: LEAD_OFF_STATE,
30
36
  savedState: SAVED_STATE,
31
37
  minimumStoredSeconds: HOLTER_MODEL_NAMES.has(advertisedName) ? HOLTER_MINIMUM_STORED_SECONDS : MINIMUM_STORED_SECONDS,
32
- stopCommand: STOP_MEASUREMENT
38
+ stopCommand: STOP_MEASUREMENT,
39
+ waveform: {
40
+ countByteIndex: WAVEFORM_COUNT_BYTE,
41
+ sampleRateHz: SAMPLES_PER_SECOND,
42
+ millivoltsPerCount: _viatomEcgFiles.VIATOM_ECG_MILLIVOLTS_PER_COUNT,
43
+ noSignalCount: NO_SIGNAL_COUNT
44
+ }
33
45
  });
34
46
  exports.viatomRecordingStatus = viatomRecordingStatus;
35
47
  //# sourceMappingURL=viatom.ecg-recording-status.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["RUN_STATUS_BYTE","exports","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,MAAMA,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,EAAE;AAC1B,MAAME,eAAe,GAAAD,OAAA,CAAAC,eAAA,GAAG,CAAC;AACzB,MAAMC,cAAc,GAAG,CAAC;AACxB,MAAMC,WAAW,GAAG,CAAC;;AAErB;AACA,MAAMC,mBAAmB,GAAG,EAAE;;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,EAAEb,eAAe;EAC1Bc,gBAAgB,EAAET,mBAAmB;EACrCU,cAAc,EAAEb,eAAe;EAC/Bc,YAAY,EAAEb,cAAc;EAC5Bc,UAAU,EAAEb,WAAW;EACvBc,oBAAoB,EAAEX,kBAAkB,CAACY,GAAG,CAACP,cAAc,CAAC,GACxDH,6BAA6B,GAC7BC,sBAAsB;EAC1BU,WAAW,EAAEd;AACf,CAAC,CAAC;AAACL,OAAA,CAAAU,qBAAA,GAAAA,qBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_viatomEcgFiles","require","RUN_STATUS_BYTE","exports","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","VIATOM_ECG_MILLIVOLTS_PER_COUNT","noSignalCount"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.ts"],"mappings":";;;;;;AAEA,IAAAA,eAAA,GAAAC,OAAA;AAEA;AACA,MAAMC,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,EAAE;AAC1B,MAAME,eAAe,GAAAD,OAAA,CAAAC,eAAA,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,EAAEhB,eAAe;EAC1BiB,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,EAAEC,+CAA+B;IACnDC,aAAa,EAAErB;EACjB;AACF,CAAC,CAAC;AAACP,OAAA,CAAAa,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=device-waveform.js.map