@ovok/native 1.6.33 → 1.6.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +5 -1
  2. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  3. package/lib/commonjs/modules/bt-management/services/bt-manager.js +1 -0
  4. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  5. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-case.js +6 -0
  6. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-case.js.map +1 -1
  7. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js +42 -0
  8. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  9. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +20 -0
  10. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  11. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js +16 -12
  12. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  13. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.files.js +7 -5
  14. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.files.js.map +1 -1
  15. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +33 -6
  16. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -1
  17. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +5 -1
  18. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  19. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +4 -0
  20. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  21. package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js +4 -0
  22. package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -1
  23. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +133 -12
  24. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  25. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js +28 -4
  26. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js.map +1 -1
  27. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +6 -3
  28. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  29. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.identity-gate.js +28 -1
  30. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.identity-gate.js.map +1 -1
  31. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +9 -0
  32. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  33. package/lib/commonjs/modules/bt-management/services/devices/measurement-state-machine.js +4 -0
  34. package/lib/commonjs/modules/bt-management/services/devices/measurement-state-machine.js.map +1 -1
  35. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +13 -1
  36. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  37. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp3-files.js +51 -0
  38. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp3-files.js.map +1 -0
  39. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +4 -0
  40. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  41. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.lepod.js +4 -0
  42. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.lepod.js.map +1 -1
  43. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js +10 -0
  44. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -1
  45. package/lib/commonjs/modules/bt-management/types/clock-sync.js +1 -0
  46. package/lib/commonjs/modules/bt-management/types/clock-sync.js.map +1 -1
  47. package/lib/commonjs/modules/bt-management/types/custom-session-policy.js +2 -0
  48. package/lib/commonjs/modules/bt-management/types/custom-session-policy.js.map +1 -0
  49. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +5 -1
  50. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  51. package/lib/module/modules/bt-management/services/bt-manager.js +1 -0
  52. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  53. package/lib/module/modules/bt-management/services/custom/compile-custom-case.js +6 -0
  54. package/lib/module/modules/bt-management/services/custom/compile-custom-case.js.map +1 -1
  55. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js +42 -0
  56. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  57. package/lib/module/modules/bt-management/services/custom/define-custom-device.js +20 -0
  58. package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  59. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js +17 -13
  60. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  61. package/lib/module/modules/bt-management/services/devices/bp2/bp2.files.js +6 -5
  62. package/lib/module/modules/bt-management/services/devices/bp2/bp2.files.js.map +1 -1
  63. package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +33 -6
  64. package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -1
  65. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +5 -1
  66. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  67. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +4 -0
  68. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  69. package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js +4 -0
  70. package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -1
  71. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +133 -12
  72. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  73. package/lib/module/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js +27 -4
  74. package/lib/module/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js.map +1 -1
  75. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +6 -3
  76. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  77. package/lib/module/modules/bt-management/services/devices/lepu/lepu.identity-gate.js +28 -1
  78. package/lib/module/modules/bt-management/services/devices/lepu/lepu.identity-gate.js.map +1 -1
  79. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +9 -0
  80. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  81. package/lib/module/modules/bt-management/services/devices/measurement-state-machine.js +4 -0
  82. package/lib/module/modules/bt-management/services/devices/measurement-state-machine.js.map +1 -1
  83. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +13 -1
  84. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  85. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp3-files.js +47 -0
  86. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp3-files.js.map +1 -0
  87. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +4 -0
  88. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  89. package/lib/module/modules/bt-management/services/devices/viatom/viatom.lepod.js +4 -0
  90. package/lib/module/modules/bt-management/services/devices/viatom/viatom.lepod.js.map +1 -1
  91. package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js +10 -0
  92. package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -1
  93. package/lib/module/modules/bt-management/types/clock-sync.js +1 -0
  94. package/lib/module/modules/bt-management/types/clock-sync.js.map +1 -1
  95. package/lib/module/modules/bt-management/types/custom-device-definition.js.map +1 -1
  96. package/lib/module/modules/bt-management/types/custom-session-policy.js +2 -0
  97. package/lib/module/modules/bt-management/types/custom-session-policy.js.map +1 -0
  98. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  99. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +1 -0
  100. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  101. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-case.d.ts.map +1 -1
  102. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  103. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  104. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts +3 -2
  105. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  106. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.files.d.ts +2 -1
  107. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.files.d.ts.map +1 -1
  108. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts +4 -1
  109. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -1
  110. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts +1 -0
  111. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  112. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +2 -0
  113. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  114. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -1
  115. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +14 -1
  116. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  117. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts +8 -1
  118. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts.map +1 -1
  119. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +1 -1
  120. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  121. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts +6 -0
  122. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts.map +1 -1
  123. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +8 -1
  124. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  125. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/measurement-state-machine.d.ts +2 -0
  126. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/measurement-state-machine.d.ts.map +1 -1
  127. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  128. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp3-files.d.ts +18 -0
  129. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp3-files.d.ts.map +1 -0
  130. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  131. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts.map +1 -1
  132. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -1
  133. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts +1 -0
  134. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  135. package/lib/typescript/commonjs/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
  136. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +1 -0
  137. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  138. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-case-spec.d.ts +2 -0
  139. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-case-spec.d.ts.map +1 -1
  140. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +2 -0
  141. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  142. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts +3 -0
  143. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
  144. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +6 -2
  145. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  146. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-session-policy.d.ts +13 -0
  147. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-session-policy.d.ts.map +1 -0
  148. package/lib/typescript/commonjs/src/modules/bt-management/types/dependent-result-handler-params.d.ts +2 -0
  149. package/lib/typescript/commonjs/src/modules/bt-management/types/dependent-result-handler-params.d.ts.map +1 -1
  150. package/lib/typescript/commonjs/src/modules/bt-management/types/parsing-case.d.ts +1 -0
  151. package/lib/typescript/commonjs/src/modules/bt-management/types/parsing-case.d.ts.map +1 -1
  152. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  153. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +1 -0
  154. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  155. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-case.d.ts.map +1 -1
  156. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  157. package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  158. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts +3 -2
  159. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  160. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.files.d.ts +2 -1
  161. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.files.d.ts.map +1 -1
  162. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts +4 -1
  163. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -1
  164. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts +1 -0
  165. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  166. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +2 -0
  167. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  168. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -1
  169. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +14 -1
  170. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  171. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts +8 -1
  172. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts.map +1 -1
  173. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +1 -1
  174. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  175. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts +6 -0
  176. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts.map +1 -1
  177. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +8 -1
  178. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  179. package/lib/typescript/module/src/modules/bt-management/services/devices/measurement-state-machine.d.ts +2 -0
  180. package/lib/typescript/module/src/modules/bt-management/services/devices/measurement-state-machine.d.ts.map +1 -1
  181. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  182. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp3-files.d.ts +18 -0
  183. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp3-files.d.ts.map +1 -0
  184. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  185. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts.map +1 -1
  186. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -1
  187. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts +1 -0
  188. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  189. package/lib/typescript/module/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
  190. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +1 -0
  191. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  192. package/lib/typescript/module/src/modules/bt-management/types/custom-case-spec.d.ts +2 -0
  193. package/lib/typescript/module/src/modules/bt-management/types/custom-case-spec.d.ts.map +1 -1
  194. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +2 -0
  195. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  196. package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts +3 -0
  197. package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
  198. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +6 -2
  199. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  200. package/lib/typescript/module/src/modules/bt-management/types/custom-session-policy.d.ts +13 -0
  201. package/lib/typescript/module/src/modules/bt-management/types/custom-session-policy.d.ts.map +1 -0
  202. package/lib/typescript/module/src/modules/bt-management/types/dependent-result-handler-params.d.ts +2 -0
  203. package/lib/typescript/module/src/modules/bt-management/types/dependent-result-handler-params.d.ts.map +1 -1
  204. package/lib/typescript/module/src/modules/bt-management/types/parsing-case.d.ts +1 -0
  205. package/lib/typescript/module/src/modules/bt-management/types/parsing-case.d.ts.map +1 -1
  206. package/package.json +1 -1
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.decodeBP2File = exports.decodeBP2EcgFile = exports.decodeBP2BloodPressureFile = exports.BP2_ECG_WAVEFORM_OFFSET = exports.BP2_ECG_MILLIVOLTS_PER_COUNT = exports.BP2_BLOOD_PRESSURE_FILE_BYTES = void 0;
6
+ exports.recordedAtFromLocalSeconds = exports.decodeBP2File = exports.decodeBP2EcgFile = exports.decodeBP2BloodPressureFile = exports.BP2_ECG_WAVEFORM_OFFSET = exports.BP2_ECG_MILLIVOLTS_PER_COUNT = exports.BP2_BLOOD_PRESSURE_FILE_BYTES = void 0;
7
7
  var _core = require("@ovok/core");
8
8
  var _convertBpStateFlag = require("../../../utils/convert-bp-state-flag.js");
9
9
  var _convertEcgDiagnosticFlag = require("../../../utils/convert-ecg-diagnostic-flag.js");
@@ -14,13 +14,15 @@ const BP2_ECG_FILE_TYPE = 2;
14
14
  const BP2_BLOOD_PRESSURE_FILE_BYTES = exports.BP2_BLOOD_PRESSURE_FILE_BYTES = 19;
15
15
  const BP2_ECG_WAVEFORM_OFFSET = exports.BP2_ECG_WAVEFORM_OFFSET = 48;
16
16
  const BP2_ECG_MILLIVOLTS_PER_COUNT = exports.BP2_ECG_MILLIVOLTS_PER_COUNT = 0.003098;
17
- const recordedAtFromSeconds = seconds => {
17
+ const recordedAtFromLocalSeconds = (seconds, timezoneOffset = date => date.getTimezoneOffset()) => {
18
18
  if (seconds <= 0) {
19
19
  return undefined;
20
20
  }
21
- const recordedAt = new Date(seconds * 1000);
21
+ const localWallClock = new Date(seconds * 1000);
22
+ const recordedAt = new Date((seconds + timezoneOffset(localWallClock) * 60) * 1000);
22
23
  return Number.isNaN(recordedAt.getTime()) ? undefined : recordedAt;
23
24
  };
25
+ exports.recordedAtFromLocalSeconds = recordedAtFromLocalSeconds;
24
26
  const signed16FromHex = (content, offset) => {
25
27
  const value = (0, _hexToByte.hexToByte)(content[offset] ?? "0") | (0, _hexToByte.hexToByte)(content[offset + 1] ?? "0") << 8;
26
28
  return value & 0x8000 ? value - 0x10000 : value;
@@ -36,7 +38,7 @@ const decodeBP2BloodPressureFile = (name, content) => {
36
38
  meanArterialPressure: Number.parseInt(`${content[16] ?? "00"}${content[15] ?? "00"}`, 16),
37
39
  heartRate: (0, _hexToByte.hexToByte)(content[17] ?? "0"),
38
40
  status: (0, _convertBpStateFlag.convertBpStateFlag)(content[18] ?? "00"),
39
- recordedAt: recordedAtFromSeconds((0, _le32FromHex.le32FromHex)([...content], 2)),
41
+ recordedAt: recordedAtFromLocalSeconds((0, _le32FromHex.le32FromHex)([...content], 2)),
40
42
  recordingId: name
41
43
  };
42
44
  };
@@ -55,7 +57,7 @@ const decodeBP2EcgFile = (name, content) => {
55
57
  diagnosticResult: (0, _convertEcgDiagnosticFlag.convertEcgDiagnosticFlag)(content.slice(16, 20).join("")),
56
58
  diagramPoints,
57
59
  duration: (0, _le32FromHex.le32FromHex)([...content], 10),
58
- recordedAt: recordedAtFromSeconds((0, _le32FromHex.le32FromHex)([...content], 2)),
60
+ recordedAt: recordedAtFromLocalSeconds((0, _le32FromHex.le32FromHex)([...content], 2)),
59
61
  recordingId: name
60
62
  };
61
63
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_convertBpStateFlag","_convertEcgDiagnosticFlag","_hexToByte","_le32FromHex","BP2_BLOOD_PRESSURE_FILE_TYPE","BP2_ECG_FILE_TYPE","BP2_BLOOD_PRESSURE_FILE_BYTES","exports","BP2_ECG_WAVEFORM_OFFSET","BP2_ECG_MILLIVOLTS_PER_COUNT","recordedAtFromSeconds","seconds","undefined","recordedAt","Date","Number","isNaN","getTime","signed16FromHex","content","offset","value","hexToByte","decodeBP2BloodPressureFile","name","length","measurementTypeKey","MeasurementTypeKey","bloodPressure","systolic","parseInt","diastolic","meanArterialPressure","heartRate","status","convertBpStateFlag","le32FromHex","recordingId","decodeBP2EcgFile","diagramPoints","index","push","ecg","diagnosticResult","convertEcgDiagnosticFlag","slice","join","duration","decodeBP2File","fileType"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.files.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_convertBpStateFlag","_convertEcgDiagnosticFlag","_hexToByte","_le32FromHex","BP2_BLOOD_PRESSURE_FILE_TYPE","BP2_ECG_FILE_TYPE","BP2_BLOOD_PRESSURE_FILE_BYTES","exports","BP2_ECG_WAVEFORM_OFFSET","BP2_ECG_MILLIVOLTS_PER_COUNT","recordedAtFromLocalSeconds","seconds","timezoneOffset","date","getTimezoneOffset","undefined","localWallClock","Date","recordedAt","Number","isNaN","getTime","signed16FromHex","content","offset","value","hexToByte","decodeBP2BloodPressureFile","name","length","measurementTypeKey","MeasurementTypeKey","bloodPressure","systolic","parseInt","diastolic","meanArterialPressure","heartRate","status","convertBpStateFlag","le32FromHex","recordingId","decodeBP2EcgFile","diagramPoints","index","push","ecg","diagnosticResult","convertEcgDiagnosticFlag","slice","join","duration","decodeBP2File","fileType"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.files.ts"],"mappings":"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","ignoreList":[]}
@@ -5,24 +5,49 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.BP2_REALTIME_COMMAND = exports.BP2HistorySequencer = void 0;
7
7
  var _sentryLogger = require("../../../../helpers/utils/sentry-logger.js");
8
+ var _clockSync = require("../../../types/clock-sync.js");
8
9
  var _hexToByte = require("../../../utils/hex-to-byte.js");
9
10
  var _lepuCommandBuilder = require("../lepu/lepu.command-builder.js");
11
+ var _lepuCommands = require("../lepu/lepu.commands.js");
12
+ var _lepuEcgTransfer = require("../lepu/lepu.ecg-transfer.js");
10
13
  var _lepuFileTransfer = require("../lepu/lepu.file-transfer.js");
14
+ var _lepuFrame = require("../lepu/lepu.frame.js");
15
+ var _lepuResponseType = require("../lepu/lepu.response-type.js");
11
16
  const BP2_REALTIME_COMMAND = exports.BP2_REALTIME_COMMAND = 0x08;
12
17
  const BP2_RESULT_STATES = new Set(["05", "07", "11"]);
13
18
  const BP2_ECG_STATE = "06";
14
19
  const BP2_IDLE_STATES = new Set(["00", "01", "03"]);
15
- /** Reads BP2 history only after a realtime result asks for its device timestamp. */
20
+ const BP2_POLL_INTERVAL_MS = 200;
21
+ /** Reads unseen BP2 history on connect and after each realtime result. */
16
22
  class BP2HistorySequencer {
17
23
  builder = new _lepuCommandBuilder.LepuCommandBuilder();
18
24
  lastRunStatusFrameCount = 0;
19
25
  realtimeEcgActive = false;
26
+ phase = "files";
20
27
  constructor(params) {
21
28
  this.params = params;
22
29
  }
23
- initialCommands = () => [this.pollCommand()];
30
+ initialCommands = () => {
31
+ if ((0, _clockSync.isClockSyncEnabled)(this.params.clockSync)) {
32
+ this.phase = "clock";
33
+ return [{
34
+ ...this.params.write,
35
+ frame: this.builder.build(_lepuCommands.LepuCommand.SET_TIME, (0, _lepuEcgTransfer.clockPayload)(this.params.clockSync))
36
+ }];
37
+ }
38
+ return this.startTransfer();
39
+ };
24
40
  isHistoryTransfer = () => true;
25
41
  nextCommand = frame => {
42
+ if (this.phase === "clock") {
43
+ if ((0, _lepuFrame.lepuCommandOf)(frame) !== _lepuCommands.LepuCommand.SET_TIME) {
44
+ return undefined;
45
+ }
46
+ if (!(0, _lepuResponseType.isLepuSuccess)(frame)) {
47
+ this.params.onError(`the device refused SET_TIME: ${(0, _lepuResponseType.describeLepuResponseType)(frame)}`);
48
+ }
49
+ return this.startTransfer();
50
+ }
26
51
  if (this.transfer) {
27
52
  return this.transfer.nextCommand(frame);
28
53
  }
@@ -37,11 +62,12 @@ class BP2HistorySequencer {
37
62
  }
38
63
  if (this.params.shouldStartTransfer() || endedWithoutResult) {
39
64
  this.params.onTransferRequested();
40
- return this.startTransfer();
65
+ return this.startTransfer(isResult ? 3_000 : undefined);
41
66
  }
42
67
  return undefined;
43
68
  };
44
- startTransfer = () => {
69
+ startTransfer = delayBeforeWriteMs => {
70
+ this.phase = "files";
45
71
  this.transfer = new _lepuFileTransfer.LepuFileTransfer({
46
72
  write: this.params.write,
47
73
  builder: this.builder,
@@ -50,7 +76,7 @@ class BP2HistorySequencer {
50
76
  skipFiles: this.params.skipFiles,
51
77
  afterTransfer: this.finishTransfer
52
78
  });
53
- return this.transfer.initialCommands();
79
+ return this.transfer.initialCommands(delayBeforeWriteMs);
54
80
  };
55
81
  finishTransfer = () => {
56
82
  this.transfer = undefined;
@@ -59,7 +85,8 @@ class BP2HistorySequencer {
59
85
  };
60
86
  pollCommand = () => ({
61
87
  ...this.params.write,
62
- frame: this.builder.build(BP2_REALTIME_COMMAND)
88
+ frame: this.builder.build(BP2_REALTIME_COMMAND),
89
+ delayBeforeWriteMs: BP2_POLL_INTERVAL_MS
63
90
  });
64
91
  isResultFrame = frame => (0, _hexToByte.hexToByte)(frame[1] ?? "0") === BP2_REALTIME_COMMAND && BP2_RESULT_STATES.has((frame[7] ?? "").toLowerCase());
65
92
  isIdleFrame = frame => (0, _hexToByte.hexToByte)(frame[1] ?? "0") === BP2_REALTIME_COMMAND && BP2_IDLE_STATES.has((frame[7] ?? "").toLowerCase());
@@ -1 +1 @@
1
- {"version":3,"names":["_sentryLogger","require","_hexToByte","_lepuCommandBuilder","_lepuFileTransfer","BP2_REALTIME_COMMAND","exports","BP2_RESULT_STATES","Set","BP2_ECG_STATE","BP2_IDLE_STATES","BP2HistorySequencer","builder","LepuCommandBuilder","lastRunStatusFrameCount","realtimeEcgActive","constructor","params","initialCommands","pollCommand","isHistoryTransfer","nextCommand","frame","transfer","logRunStatus","isResult","isResultFrame","endedWithoutResult","isIdleFrame","onOrphanStreamEnd","shouldStartTransfer","onTransferRequested","startTransfer","undefined","LepuFileTransfer","write","onFile","onError","skipFiles","afterTransfer","finishTransfer","onTransferFinished","build","hexToByte","has","toLowerCase","runStatus","lastRunStatus","sentryLogger","from","to","previousFrameCount"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.history-sequencer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_sentryLogger","require","_clockSync","_hexToByte","_lepuCommandBuilder","_lepuCommands","_lepuEcgTransfer","_lepuFileTransfer","_lepuFrame","_lepuResponseType","BP2_REALTIME_COMMAND","exports","BP2_RESULT_STATES","Set","BP2_ECG_STATE","BP2_IDLE_STATES","BP2_POLL_INTERVAL_MS","BP2HistorySequencer","builder","LepuCommandBuilder","lastRunStatusFrameCount","realtimeEcgActive","phase","constructor","params","initialCommands","isClockSyncEnabled","clockSync","write","frame","build","LepuCommand","SET_TIME","clockPayload","startTransfer","isHistoryTransfer","nextCommand","lepuCommandOf","undefined","isLepuSuccess","onError","describeLepuResponseType","transfer","logRunStatus","isResult","isResultFrame","endedWithoutResult","isIdleFrame","onOrphanStreamEnd","shouldStartTransfer","onTransferRequested","delayBeforeWriteMs","LepuFileTransfer","onFile","skipFiles","afterTransfer","finishTransfer","onTransferFinished","pollCommand","hexToByte","has","toLowerCase","runStatus","lastRunStatus","sentryLogger","from","to","previousFrameCount"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.history-sequencer.ts"],"mappings":"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","ignoreList":[]}
@@ -31,6 +31,7 @@ class BTDataProcessor {
31
31
  this.measurementState = new _measurementStateMachine.MeasurementStateMachine({
32
32
  onStatusChanged: callbacks.onStatusChanged,
33
33
  onStreamStart: callbacks.onStreamStart,
34
+ onMeasurementEnd: callbacks.onMeasurementEnd,
34
35
  onResult: callbacks.onResult
35
36
  });
36
37
  }
@@ -143,7 +144,10 @@ class BTDataProcessor {
143
144
  */
144
145
  let dependentData = null;
145
146
  if (data.parsingCase.caseType === _caseType.CaseType.DEPENDENT) {
146
- dependentData = this.callbacks.handleDependentResult?.(data);
147
+ dependentData = this.callbacks.handleDependentResult?.({
148
+ ...data,
149
+ isMeasuring: this.measurementState.measuring
150
+ });
147
151
  }
148
152
  this.measurementState.advance(dependentData || data, frame);
149
153
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_sentryLogger","require","_caseType","_frameReadStatus","_frameParser","_measurementStateMachine","BTDataProcessor","buffers","Map","constructor","device","mainServices","stuckDataTimeoutDuration","callbacks","frameReader","frameParser","FrameParser","measurementState","MeasurementStateMachine","onStatusChanged","onStreamStart","onResult","currentUuid","destroy","clear","reset","clearTimeout","stuckDataTimeout","undefined","commandTimeout","processData","uuid","hexValue","String","toLowerCase","buffer","get","push","set","startStuckTimeout","readFramesFromBuffer","readWholeBuffer","armStuckTimeout","armCommandTimeout","startCommandTimeout","reader","length","result","readFrame","hasProgressed","consumedBytes","splice","status","FrameReadStatus","COMPLETE","handleFrame","frame","answerFrame","CORRUPT","reportCorruptFrame","INCOMPLETE","validatePackage","progress","commandProgress","commands","nextCommand","sendCommands","data","parse","sentryLogger","join","dependentData","parsingCase","caseType","CaseType","DEPENDENT","handleDependentResult","advance","onError","Error","cause","message","setTimeout","cancelConnection","duration","commandTimeoutMs","onCommandTimeout","terminal","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-data-processor.ts"],"mappings":";;;;;;AAIA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKA,IAAAE,gBAAA,GAAAF,OAAA;AAKA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,wBAAA,GAAAJ,OAAA;AAhBA;;AAsDO,MAAMK,eAAe,CAAwB;EAClD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACUC,OAAO,GAAG,IAAIC,GAAG,CAAmB,CAAC;EAK7CC,WAAWA,CACQC,MAAc,EAC/BC,YAA2C,EAC1BC,wBAAgC,EAChCC,SAAoC,EACpCC,WAAyB,EAC1C;IAAA,KALiBJ,MAAc,GAAdA,MAAc;IAAA,KAEdE,wBAAgC,GAAhCA,wBAAgC;IAAA,KAChCC,SAAoC,GAApCA,SAAoC;IAAA,KACpCC,WAAyB,GAAzBA,WAAyB;IAE1C,IAAI,CAACC,WAAW,GAAG,IAAIC,wBAAW,CAACL,YAAY,CAAC;IAChD,IAAI,CAACM,gBAAgB,GAAG,IAAIC,gDAAuB,CAAC;MAClDC,eAAe,EAAEN,SAAS,CAACM,eAAe;MAC1CC,aAAa,EAAEP,SAAS,CAACO,aAAa;MACtCC,QAAQ,EAAER,SAAS,CAACQ;IACtB,CAAC,CAAC;EACJ;EAEQC,WAAW,GAAW,EAAE;EAEzBC,OAAO,GAAGA,CAAA,KAAM;IACrB,IAAI,CAAChB,OAAO,CAACiB,KAAK,CAAC,CAAC;IACpB,IAAI,CAACF,WAAW,GAAG,EAAE;IACrB,IAAI,CAACL,gBAAgB,CAACQ,KAAK,CAAC,CAAC;IAC7BC,YAAY,CAAC,IAAI,CAACC,gBAAgB,CAAC;IACnC,IAAI,CAACA,gBAAgB,GAAGC,SAAS;IACjCF,YAAY,CAAC,IAAI,CAACG,cAAc,CAAC;IACjC,IAAI,CAACA,cAAc,GAAGD,SAAS;EACjC,CAAC;EAEME,WAAW,GAAGA,CAACC,IAAY,EAAEC,QAAkB,KAAK;IACzD,IAAI,CAACV,WAAW,GAAGW,MAAM,CAACF,IAAI,IAAI,EAAE,CAAC,CAACG,WAAW,CAAC,CAAC;IAEnD,MAAMC,MAAM,GAAG,IAAI,CAAC5B,OAAO,CAAC6B,GAAG,CAAC,IAAI,CAACd,WAAW,CAAC,IAAI,EAAE;IAEvDa,MAAM,CAACE,IAAI,CAAC,GAAGL,QAAQ,CAAC;IACxB,IAAI,CAACzB,OAAO,CAAC+B,GAAG,CAAC,IAAI,CAAChB,WAAW,EAAEa,MAAM,CAAC;IAC1C,IAAI,CAACI,iBAAiB,CAAC,CAAC;IAExB,IAAI,IAAI,CAACzB,WAAW,EAAE;MACpB,IAAI,CAAC0B,oBAAoB,CAAC,IAAI,CAAC1B,WAAW,EAAEiB,IAAI,EAAEI,MAAM,CAAC;MAEzD;IACF;IAEA,IAAI,CAACM,eAAe,CAACV,IAAI,EAAEI,MAAM,CAAC;EACpC,CAAC;;EAED;EACOO,eAAe,GAAGA,CAAA,KAAM;IAC7B,IAAI,CAACH,iBAAiB,CAAC,CAAC;EAC1B,CAAC;;EAED;EACOI,iBAAiB,GAAGA,CAAA,KAAM;IAC/B,IAAI,CAACC,mBAAmB,CAAC,CAAC;EAC5B,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACUJ,oBAAoB,GAAGA,CAC7BK,MAAmB,EACnBd,IAAY,EACZI,MAAgB,KACb;IACH,OAAOA,MAAM,CAACW,MAAM,GAAG,CAAC,EAAE;MACxB,MAAMC,MAAM,GAAGF,MAAM,CAACG,SAAS,CAACb,MAAM,CAAC;MACvC,MAAMc,aAAa,GAAGF,MAAM,CAACG,aAAa,GAAG,CAAC;MAE9Cf,MAAM,CAACgB,MAAM,CAAC,CAAC,EAAEJ,MAAM,CAACG,aAAa,CAAC;MAEtC,IAAIH,MAAM,CAACK,MAAM,KAAKC,gCAAe,CAACC,QAAQ,EAAE;QAC9C,IAAI,CAACC,WAAW,CAACxB,IAAI,EAAEgB,MAAM,CAACS,KAAK,CAAC;QACpC,IAAI,CAACC,WAAW,CAACV,MAAM,CAACS,KAAK,CAAC;QAE9B;MACF;MAEA,IAAIT,MAAM,CAACK,MAAM,KAAKC,gCAAe,CAACK,OAAO,EAAE;QAC7C,IAAI,CAACC,kBAAkB,CAAC,CAAC;MAC3B;MAEA,IAAIZ,MAAM,CAACK,MAAM,KAAKC,gCAAe,CAACO,UAAU,IAAI,CAACX,aAAa,EAAE;QAClE;MACF;IACF;EACF,CAAC;;EAED;AACF;AACA;EACUR,eAAe,GAAGA,CAACV,IAAY,EAAEI,MAAgB,KAAK;IAC5D,IAAI,CAAC,IAAI,CAACtB,SAAS,CAACgD,eAAe,CAAC1B,MAAM,EAAEJ,IAAI,CAAC,EAAE;MACjD;IACF;IAEA,IAAI,CAACwB,WAAW,CAACxB,IAAI,EAAEI,MAAM,CAAC;IAC9B,IAAI,CAAC5B,OAAO,CAAC+B,GAAG,CAAC,IAAI,CAAChB,WAAW,EAAE,EAAE,CAAC;IACtC,IAAI,CAACmC,WAAW,CAACtB,MAAM,CAAC;EAC1B,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACUsB,WAAW,GAAID,KAAwB,IAAK;IAClD,MAAMM,QAAQ,GAAG,IAAI,CAACjD,SAAS,CAACkD,eAAe,GAAGP,KAAK,CAAC,IAAI,UAAU;IACtE,MAAMQ,QAAQ,GAAG,IAAI,CAACnD,SAAS,CAACoD,WAAW,GAAGT,KAAK,CAAC;IAEpD,IAAIM,QAAQ,KAAK,UAAU,EAAE;MAC3BpC,YAAY,CAAC,IAAI,CAACG,cAAc,CAAC;MACjC,IAAI,CAACA,cAAc,GAAGD,SAAS;IACjC,CAAC,MAAM,IAAIkC,QAAQ,KAAK,SAAS,EAAE;MACjC,IAAI,CAAClB,mBAAmB,CAAC,CAAC;IAC5B;IAEA,IAAIoB,QAAQ,IAAIA,QAAQ,CAAClB,MAAM,GAAG,CAAC,EAAE;MACnC,IAAI,CAACjC,SAAS,CAACqD,YAAY,GAAGF,QAAQ,CAAC;MACvC,IAAI,CAACpB,mBAAmB,CAAC,CAAC;IAC5B;EACF,CAAC;EAEOW,WAAW,GAAGA,CAACxB,IAAY,EAAEyB,KAAe,KAAK;IACvD,MAAMW,IAAI,GAAG,IAAI,CAACpD,WAAW,CAACqD,KAAK,CAACrC,IAAI,EAAEyB,KAAK,CAAC;IAEhD,IAAI,CAACW,IAAI,EAAE;MACT,IAAAE,0BAAY,EAAC,MAAM,EAAE,4CAA4C,EAAE;QACjEtC,IAAI;QACJyB,KAAK,EAAEA,KAAK,CAACc,IAAI,CAAC,EAAE;MACtB,CAAC,CAAC;MAEF;IACF;;IAEA;AACJ;AACA;AACA;IACI,IAAIC,aAAa,GAAG,IAAI;IAExB,IAAIJ,IAAI,CAACK,WAAW,CAACC,QAAQ,KAAKC,kBAAQ,CAACC,SAAS,EAAE;MACpDJ,aAAa,GAAG,IAAI,CAAC1D,SAAS,CAAC+D,qBAAqB,GAAGT,IAAI,CAAC;IAC9D;IAEA,IAAI,CAAClD,gBAAgB,CAAC4D,OAAO,CAACN,aAAa,IAAIJ,IAAI,EAAEX,KAAK,CAAC;EAC7D,CAAC;EAEOG,kBAAkB,GAAGA,CAAA,KAAM;IACjC,IAAI,CAAC9C,SAAS,CAACiE,OAAO,GACpB,IAAIC,KAAK,CAAC,mDAAmD,EAAE;MAC7DC,KAAK,EAAE;QACLC,OAAO,EAAE;MACX;IACF,CAAC,CACH,CAAC;EACH,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACU1C,iBAAiB,GAAGA,CAAA,KAAM;IAChC,IAAI,IAAI,CAACZ,gBAAgB,EAAE;MACzBD,YAAY,CAAC,IAAI,CAACC,gBAAgB,CAAC;IACrC;IAEA,IAAI,CAACA,gBAAgB,GAAGuD,UAAU,CAAC,MAAM;MACvC,IAAI,CAACrE,SAAS,CAACiE,OAAO,GACpB,IAAIC,KAAK,CAAC,2CAA2C,EAAE;QACrDC,KAAK,EAAE;UACLC,OAAO,EAAE;QACX;MACF,CAAC,CACH,CAAC;MACD,IAAI,CAACvE,MAAM,CAACyE,gBAAgB,GAAG,CAAC;IAClC,CAAC,EAAE,IAAI,CAACvE,wBAAwB,CAAC;EACnC,CAAC;EAEOgC,mBAAmB,GAAGA,CAAA,KAAM;IAClC,MAAMwC,QAAQ,GAAG,IAAI,CAACvE,SAAS,CAACwE,gBAAgB,GAAG,CAAC;IAEpD,IAAI,CAACD,QAAQ,IAAIA,QAAQ,IAAI,CAAC,EAAE;MAC9B;IACF;IAEA1D,YAAY,CAAC,IAAI,CAACG,cAAc,CAAC;IACjC,IAAI,CAACA,cAAc,GAAGqD,UAAU,CAAC,MAAM;MACrC,IAAI,CAACrD,cAAc,GAAGD,SAAS;MAE/B,MAAMmB,MAAM,GAAG,IAAI,CAAClC,SAAS,CAACyE,gBAAgB,GAAG,CAAC;MAElD,IAAIvC,MAAM,EAAEiB,QAAQ,IAAIjB,MAAM,CAACiB,QAAQ,CAAClB,MAAM,GAAG,CAAC,EAAE;QAClD,IAAI,CAACjC,SAAS,CAACqD,YAAY,GAAGnB,MAAM,CAACiB,QAAQ,CAAC;QAC9C,IAAI,CAACpB,mBAAmB,CAAC,CAAC;QAE1B;MACF;MAEA,IAAIG,MAAM,EAAEwC,QAAQ,EAAE;QACpB,IAAI,CAAC1E,SAAS,CAACiE,OAAO,GACpB,IAAIC,KAAK,CAAC,+CAA+C,CAC3D,CAAC;QACD,KAAK,IAAI,CAACrE,MAAM,CAACyE,gBAAgB,GAAG,CAAC;MACvC;IACF,CAAC,EAAEC,QAAQ,CAAC;EACd,CAAC;AACH;AAACI,OAAA,CAAAlF,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"names":["_sentryLogger","require","_caseType","_frameReadStatus","_frameParser","_measurementStateMachine","BTDataProcessor","buffers","Map","constructor","device","mainServices","stuckDataTimeoutDuration","callbacks","frameReader","frameParser","FrameParser","measurementState","MeasurementStateMachine","onStatusChanged","onStreamStart","onMeasurementEnd","onResult","currentUuid","destroy","clear","reset","clearTimeout","stuckDataTimeout","undefined","commandTimeout","processData","uuid","hexValue","String","toLowerCase","buffer","get","push","set","startStuckTimeout","readFramesFromBuffer","readWholeBuffer","armStuckTimeout","armCommandTimeout","startCommandTimeout","reader","length","result","readFrame","hasProgressed","consumedBytes","splice","status","FrameReadStatus","COMPLETE","handleFrame","frame","answerFrame","CORRUPT","reportCorruptFrame","INCOMPLETE","validatePackage","progress","commandProgress","commands","nextCommand","sendCommands","data","parse","sentryLogger","join","dependentData","parsingCase","caseType","CaseType","DEPENDENT","handleDependentResult","isMeasuring","measuring","advance","onError","Error","cause","message","setTimeout","cancelConnection","duration","commandTimeoutMs","onCommandTimeout","terminal","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-data-processor.ts"],"mappings":"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","ignoreList":[]}
@@ -75,6 +75,8 @@ class BTManagedDevice {
75
75
  * neither parses nothing, so an unknown buffer is never decoded on trust.
76
76
  */
77
77
 
78
+ /** Flushes protocol-level session state before a connection is torn down. */
79
+ handleMeasurementEnd() {}
78
80
  constructor(device, {
79
81
  deviceName,
80
82
  onError: onErrorCallback,
@@ -213,6 +215,7 @@ class BTManagedDevice {
213
215
  this.onConnectionEvent = onConnectionEventCallback;
214
216
  }
215
217
  destroy = () => {
218
+ this.handleMeasurementEnd();
216
219
  (0, _sentryLogger.sentryLogger)("info", "BT_MANAGER: Destroying device", {
217
220
  deviceData: this.deviceData,
218
221
  deviceName: this.deviceData.name
@@ -302,6 +305,7 @@ class BTManagedDevice {
302
305
  this.dataProcessor = new _btDataProcessor.BTDataProcessor(this.device, this.mainServices, this.stuckDataTimeout, {
303
306
  onStatusChanged: this.onDeviceStatusChanged?.bind(this),
304
307
  onStreamStart: this.onStreamStart?.bind(this),
308
+ onMeasurementEnd: this.handleMeasurementEnd.bind(this),
305
309
  validatePackage: this.validatePackage?.bind(this) ?? (() => false),
306
310
  onResult: (parsedData, collectedValues) => {
307
311
  try {
@@ -1 +1 @@
1
- {"version":3,"names":["_sentryLogger","require","_telemetry","_bluetoothError","_clockSync","_deviceStatus","_resultIdentity","_summariseMeasurementForLog","_supportedMeasurementTypeKeys","_btConnectionHandler","_btDataProcessor","_pollingCommandSequencer","BTManagedDevice","connected","resultReportedThisConnection","historyTransferActive","bondedEventReported","reportedMeasurementKinds","Set","reportedDailyTotals","historyResultCount","reportsBondedEvent","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onConnectionEvent","onConnectionEventCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","resultPolicy","sentryLogger","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","clockSync","clockSyncCapabilityForDevice","status","measurementTypeKey","addOvokSpanEvent","model","error","Error","message","normalized","toBluetoothError","originalError","translationKey","code","caseType","_","data","policy","byMeasurement","default","has","add","temporal","end","Date","undefined","now","getTime","day","start","recordedAt","key","toISOString","slice","recordOvokMetric","summariseMeasurementForLog","kind","progress","current","result","Object","defineProperty","value","createStableResultId","enumerable","writable","destroy","connectionHandler","dataProcessor","disconnect","cancelConnection","String","connectInternal","clear","supportedMeasurementTypeKeys","mainServices","sequencer","createCommandSequencer","pollingSequencerFor","isHistoryTransfer","BTConnectionHandler","onStatusChanged","DeviceStatus","CONNECTED","bind","DISCONNECTED","event","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","serialNumber","initialCommands","onCommandSent","armStuckTimeout","armCommandTimeout","isNormalDisconnect","preferredMtu","BTDataProcessor","stuckDataTimeout","onStreamStart","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","commandTimeoutMs","onCommandTimeout","commandProgress","handleDependentResult","frameReader","connect","connectionPromise","Promise","resolve","finally","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":";;;;;;AAKA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAQA,IAAAI,aAAA,GAAAJ,OAAA;AAOA,IAAAK,eAAA,GAAAL,OAAA;AACA,IAAAM,2BAAA,GAAAN,OAAA;AACA,IAAAO,6BAAA,GAAAP,OAAA;AAEA,IAAAQ,oBAAA,GAAAR,OAAA;AACA,IAAAS,gBAAA,GAAAT,OAAA;AACA,IAAAU,wBAAA,GAAAV,OAAA;AA7BA;;AA+BO,MAAeW,eAAe,CAErC;EAKUC,SAAS,GAAG,KAAK;EAMjBC,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;;EAG9B;AACF;AACA;;EAGE;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;AACA;;EAkBEC,WAAWA,CACOC,MAAc,EAE9B;IACEC,UAAU;IACVC,OAAO,EAAEC,eAAe;IACxBC,qBAAqB,EAAEC,6BAA6B;IACpDC,QAAQ,EAAEC,gBAAgB;IAC1BC,iBAAiB,EAAEC,yBAAyB;IAC5CC,oBAAoB,EAAEC,4BAA4B;IAClDC,uBAAuB;IACvBC;EACqB,CAAC,EACxB;IAAA,KAZgBb,MAAc,GAAdA,MAAc;IAa9B,IAAI,CAACY,uBAAuB,GAAGA,uBAAuB,KAAK,IAAI;IAC/D,IAAI,CAACC,YAAY,GAAGA,YAAY;IAChC,IAAAC,0BAAY,EAAC,MAAM,EAAE,sCAAsC,EAAE;MAC3DC,QAAQ,EAAEf,MAAM,CAACgB,EAAE;MACnBf,UAAU,EAAEA;IACd,CAAC,CAAC;IACF,IAAI,CAACgB,UAAU,GAAG;MAChBD,EAAE,EAAEhB,MAAM,CAACgB,EAAE;MACbE,IAAI,EAAEjB,UAAU;MAChBkB,SAAS,EAAEnB,MAAM,CAACmB,SAAS,IAAI,EAAE;MACjCC,gBAAgB,EAAEpB,MAAM,CAACoB,gBAAgB,IAAI,EAAE;MAC/CC,EAAE,EAAE,EAAE;MAEN;MACAC,gBAAgB,EAAE,EAAE;MACpBC,SAAS,EAAE,IAAAC,uCAA4B,EAACvB,UAAU;IACpD,CAAC;IAED,IAAI,CAACe,EAAE,GAAGhB,MAAM,CAACgB,EAAE;IAEnB,IAAI,CAACZ,qBAAqB,GAAG,CAC3BqB,MAAoB,EACpBC,kBAAuC,KACpC;MACH,IAAAZ,0BAAY,EACV,MAAM,EACN,oDAAoD,EACpD;QACEW,MAAM;QACNC,kBAAkB;QAClBT,UAAU,EAAE,IAAI,CAACA,UAAU;QAC3BhB,UAAU,EAAE,IAAI,CAACgB,UAAU,CAACC;MAC9B,CACF,CAAC;MACD,IAAAS,2BAAgB,EAAC,uBAAuB,EAAE;QACxCZ,QAAQ,EAAE,IAAI,CAACE,UAAU,CAACD,EAAE;QAC5BY,KAAK,EAAE,IAAI,CAACX,UAAU,CAACC,IAAI;QAC3BO,MAAM;QACNC,kBAAkB,EAAEA,kBAAkB,IAAI;MAC5C,CAAC,CAAC;MACFrB,6BAA6B,GAAG;QAC9BY,UAAU,EAAE,IAAI,CAACA,UAAU;QAC3BQ,MAAM,EAAEA,MAAM;QACdC;MACF,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,CAACxB,OAAO,GAAI2B,KAAgC,IAAK;MACnD,IAAAf,0BAAY,EAAC,OAAO,EAAE,sCAAsC,EAAE;QAC5De,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGF,KAAK;QACrDZ,UAAU,EAAE,IAAI,CAACA,UAAU;QAC3BhB,UAAU,EAAE,IAAI,CAACgB,UAAU,CAACC;MAC9B,CAAC,CAAC;MACF,MAAMc,UAAU,GAAG,IAAAC,gCAAgB,EAACJ,KAAK,CAAC;MAC1C,MAAMK,aAAa,GAAGF,UAAU,CAACE,aAAa;MAE9C/B,eAAe,GAAG;QAChBc,UAAU,EAAE,IAAI,CAACA,UAAU;QAE3B;QACA;QACAY,KAAK,EACHG,UAAU,CAACG,cAAc,KACxBD,aAAa,YAAYJ,KAAK,IAAI,OAAOI,aAAa,KAAK,QAAQ,GAChEA,aAAa,GACbF,UAAU,CAAC;QACjBI,IAAI,EAAEJ,UAAU,CAACI;MACnB,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,CAAC9B,QAAQ,GAAG,CAAC;MACf+B,QAAQ,EAAEC,CAAC;MACX,GAAGC;IAC2B,CAAC,KAAK;MACpC,MAAMb,kBAAkB,GAAGa,IAAI,CAACb,kBAAkB;MAElD,MAAMc,MAAM,GACV,IAAI,CAAC3B,YAAY,EAAE4B,aAAa,GAAGf,kBAAkB,CAAC,IACtD,IAAI,CAACb,YAAY,EAAE6B,OAAO,IAC1B,KAAK;MAEP,IACE,IAAI,CAAC9B,uBAAuB,IAC5B,CAAC,IAAI,CAACC,YAAY,IAClB,IAAI,CAACtB,4BAA4B,EACjC;QACA;MACF;MAEA,IAAIiD,MAAM,KAAK,uCAAuC,EAAE;QACtD,IAAI,IAAI,CAAC9C,wBAAwB,CAACiD,GAAG,CAACjB,kBAAkB,CAAC,EAAE;UACzD;QACF;QACA,IAAI,CAAChC,wBAAwB,CAACkD,GAAG,CAAClB,kBAAkB,CAAC;MACvD;MAEA,IAAIc,MAAM,KAAK,mBAAmB,EAAE;QAClC,MAAMK,QAAQ,GAAGN,IAIhB;QAED,MAAMO,GAAG,GAAGD,QAAQ,CAACC,GAAG,YAAYC,IAAI,GAAGF,QAAQ,CAACC,GAAG,GAAGE,SAAS;QAEnE,MAAMC,GAAG,GAAG,IAAIF,IAAI,CAAC,CAAC;;QAEtB;QACA;QACA,IAAID,GAAG,IAAIA,GAAG,CAACI,OAAO,CAAC,CAAC,GAAGD,GAAG,CAACC,OAAO,CAAC,CAAC,EAAE;UACxC;QACF;QAEA,MAAMC,GAAG,GAAGN,QAAQ,CAACC,GAAG,IAAID,QAAQ,CAACO,KAAK,IAAIP,QAAQ,CAACQ,UAAU;QAEjE,IAAIF,GAAG,YAAYJ,IAAI,EAAE;UACvB,MAAMO,GAAG,GAAG,GAAG5B,kBAAkB,IAAIyB,GAAG,CAACI,WAAW,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;UAErE,IAAI,IAAI,CAAC5D,mBAAmB,CAAC+C,GAAG,CAACW,GAAG,CAAC,EAAE;YACrC;UACF;UAEA,IAAI,CAAC1D,mBAAmB,CAACgD,GAAG,CAACU,GAAG,CAAC;QACnC;MACF;MAEA,IAAI,CAAC/D,4BAA4B,GAAG,IAAI;MACxC,IAAI,CAACM,kBAAkB,IAAI,CAAC;MAC5B,IAAA4D,2BAAgB,EAAC,wBAAwB,EAAE,CAAC,EAAE;QAC5C1C,QAAQ,EAAE,IAAI,CAACE,UAAU,CAACD,EAAE;QAC5BY,KAAK,EAAE,IAAI,CAACX,UAAU,CAACC,IAAI;QAC3BQ;MACF,CAAC,CAAC;MACF,IAAAC,2BAAgB,EAAC,kBAAkB,EAAE;QACnCZ,QAAQ,EAAE,IAAI,CAACE,UAAU,CAACD,EAAE;QAC5BY,KAAK,EAAE,IAAI,CAACX,UAAU,CAACC,IAAI;QAC3BQ;MACF,CAAC,CAAC;MACF,IAAAZ,0BAAY,EAAC,MAAM,EAAE,uCAAuC,EAAE;QAC5DyB,IAAI,EAAE,IAAAmB,sDAA0B,EAACnB,IAAI,CAAC;QACtCtB,UAAU,EAAE,IAAI,CAACA,UAAU;QAC3BhB,UAAU,EAAE,IAAI,CAACgB,UAAU,CAACC;MAC9B,CAAC,CAAC;MACF,IAAI,IAAI,CAAC1B,qBAAqB,EAAE;QAC9BiB,yBAAyB,GAAG;UAC1BQ,UAAU,EAAE,IAAI,CAACA,UAAU;UAC3B0C,IAAI,EAAE,kBAAkB;UACxBC,QAAQ,EAAE;YAAEC,OAAO,EAAE,IAAI,CAAChE;UAAmB;QAC/C,CAAC,CAAC;MACJ;MACA,MAAMiE,MAAM,GAAG;QAAE7C,UAAU,EAAE,IAAI,CAACA,UAAU;QAAEsB;MAAK,CAIlD;MAGDwB,MAAM,CAACC,cAAc,CAACF,MAAM,EAAE,IAAI,EAAE;QAClCG,KAAK,EAAE,IAAAC,oCAAoB,EAAC,IAAI,CAACjD,UAAU,EAAEsB,IAAmB,CAAC;QACjE4B,UAAU,EAAE,IAAI;QAChBC,QAAQ,EAAE;MACZ,CAAC,CAAC;MACF7D,gBAAgB,GAAGuD,MAAM,CAAC;IAC5B,CAAC;IACD,IAAI,CAACpD,oBAAoB,GAAGC,4BAA4B;IACxD,IAAI,CAACH,iBAAiB,GAAGC,yBAAyB;EACpD;EAEO4D,OAAO,GAAGA,CAAA,KAAM;IACrB,IAAAvD,0BAAY,EAAC,MAAM,EAAE,+BAA+B,EAAE;MACpDG,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BhB,UAAU,EAAE,IAAI,CAACgB,UAAU,CAACC;IAC9B,CAAC,CAAC;IACF,IAAI,CAACoD,iBAAiB,EAAED,OAAO,CAAC,CAAC;IACjC,IAAI,CAACE,aAAa,EAAEF,OAAO,CAAC,CAAC;IAC7B,IAAI,CAACnE,OAAO,GAAG8C,SAAS;IACxB,IAAI,CAAC5C,qBAAqB,GAAG4C,SAAS;IACtC,IAAI,CAAC1C,QAAQ,GAAG0C,SAAS;IACzB,IAAI,CAACxC,iBAAiB,GAAGwC,SAAS;EACpC,CAAC;;EAED;EACOwB,UAAU,GAAG,MAAAA,CAAA,KAAY;IAC9B,IAAI,CAAClF,SAAS,GAAG,KAAK;IACtB,IAAI,CAAC+E,OAAO,CAAC,CAAC;IAEd,IAAI;MACF,MAAM,IAAI,CAACrE,MAAM,CAACyE,gBAAgB,CAAC,CAAC;IACtC,CAAC,CAAC,OAAO5C,KAAK,EAAE;MACd,IAAAf,0BAAY,EAAC,MAAM,EAAE,6CAA6C,EAAE;QAClEC,QAAQ,EAAE,IAAI,CAACf,MAAM,CAACgB,EAAE;QACxBa,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAG2C,MAAM,CAAC7C,KAAK;MAC9D,CAAC,CAAC;IACJ;EACF,CAAC;EAEO8C,eAAe,GAAG,MAAAA,CAAA,KAAY;IACpC,IAAI,CAACpF,4BAA4B,GAAG,KAAK;IACzC,IAAI,CAACG,wBAAwB,CAACkF,KAAK,CAAC,CAAC;IACrC,IAAI,CAAChF,mBAAmB,CAACgF,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC/E,kBAAkB,GAAG,CAAC;;IAE3B;IACA,IAAI,CAACoB,UAAU,CAACK,gBAAgB,GAAG,IAAAuD,0DAA4B,EAC7D,IAAI,CAACC,YACP,CAAC;IAED,MAAMC,SAA2B,GAC/B,IAAI,CAACC,sBAAsB,GAAG,CAAC,IAAI,IAAAC,4CAAmB,EAAC,IAAI,CAACH,YAAY,CAAC;IAE3E,IAAI,CAACtF,qBAAqB,GAAGuF,SAAS,CAACG,iBAAiB,GAAG,CAAC,KAAK,IAAI;IAErE,IAAI,CAACZ,iBAAiB,GAAG,IAAIa,wCAAmB,CAC9C,IAAI,CAACnF,MAAM,EACX,IAAI,CAAC8E,YAAY,EACjB;MACEM,eAAe,EAAG3D,MAAM,IAAK;QAC3B,IAAI,CAACnC,SAAS,GAAGmC,MAAM,KAAK4D,0BAAY,CAACC,SAAS;QAClD,IAAI,CAAClF,qBAAqB,EAAEmF,IAAI,CAAC,IAAI,CAAC,CAAC9D,MAAM,CAAC;QAC9C,IACEA,MAAM,KAAK4D,0BAAY,CAACC,SAAS,IACjC,IAAI,CAACxF,kBAAkB,IACvB,CAAC,IAAI,CAACL,mBAAmB,EACzB;UACA,IAAI,CAACA,mBAAmB,GAAG,IAAI;UAC/B,IAAI,CAACe,iBAAiB,GAAG;YACvBS,UAAU,EAAE,IAAI,CAACA,UAAU;YAC3B0C,IAAI,EAAE;UACR,CAAC,CAAC;QACJ;QACA,IAAIlC,MAAM,KAAK4D,0BAAY,CAACC,SAAS,EAAE;UACrC,IAAI,CAAC9E,iBAAiB,GAAG;YACvBS,UAAU,EAAE,IAAI,CAACA,UAAU;YAC3B0C,IAAI,EAAE;UACR,CAAC,CAAC;QACJ;QACA,IAAIlC,MAAM,KAAK4D,0BAAY,CAACG,YAAY,EAAE;UACxC,IAAI,CAAC9E,oBAAoB,GAAG,CAAC;UAC7B,IAAI,CAAC2D,OAAO,CAAC,CAAC;QAChB;MACF,CAAC;MACDnE,OAAO,EAAG2B,KAAK,IAAK,IAAI,CAAC3B,OAAO,EAAEqF,IAAI,CAAC,IAAI,CAAC,CAAC1D,KAAK,CAAC;MACnDrB,iBAAiB,EAAGiF,KAAK,IACvB,IAAI,CAACjF,iBAAiB,GAAG;QAAES,UAAU,EAAE,IAAI,CAACA,UAAU;QAAE,GAAGwE;MAAM,CAAC,CAAC;MACrEC,cAAc,EAAEA,CAACC,IAAI,EAAEC,QAAQ,KAAK;QAClC,IAAI,CAACrB,aAAa,EAAEsB,WAAW,CAACF,IAAI,EAAEC,QAAQ,CAAC;MACjD,CAAC;MACDE,YAAY,EAAGC,IAAI,IAAK;QACtB,IAAIA,IAAI,CAAC7E,IAAI,EAAE;UACb,IAAI,CAACD,UAAU,CAACE,SAAS,GAAG4E,IAAI,CAAC7E,IAAI;QACvC;QACA,IAAI6E,IAAI,CAACC,gBAAgB,EAAE;UACzB,IAAI,CAAC/E,UAAU,CAAC+E,gBAAgB,GAAGD,IAAI,CAACC,gBAAgB;QAC1D;QACA,IAAID,IAAI,CAACnE,KAAK,EAAE;UACd,IAAI,CAACX,UAAU,CAACW,KAAK,GAAGmE,IAAI,CAACnE,KAAK;QACpC;QACA,IAAImE,IAAI,CAACE,YAAY,EAAE;UACrB,IAAI,CAAChF,UAAU,CAACI,EAAE,GAAG0E,IAAI,CAACE,YAAY;QACxC;MACF,CAAC;MACDC,eAAe,EAAEA,CAAA,KAAMnB,SAAS,CAACmB,eAAe,CAAC,CAAC;MAClDC,aAAa,EAAEA,CAAA,KAAM;QACnB,IAAI,CAAC5B,aAAa,EAAE6B,eAAe,CAAC,CAAC;QACrC,IAAI,CAAC7B,aAAa,EAAE8B,iBAAiB,CAAC,CAAC;MACzC,CAAC;MACDC,kBAAkB,EAAEA,CAAA,KAAMvB,SAAS,CAACuB,kBAAkB,GAAG,CAAC,IAAI;IAChE,CAAC,EACD,IAAI,CAACC,YACP,CAAC;IAED,IAAI,CAAChC,aAAa,GAAG,IAAIiC,gCAAe,CACtC,IAAI,CAACxG,MAAM,EACX,IAAI,CAAC8E,YAAY,EACjB,IAAI,CAAC2B,gBAAgB,EACrB;MACErB,eAAe,EAAE,IAAI,CAAChF,qBAAqB,EAAEmF,IAAI,CAAC,IAAI,CAAC;MACvDmB,aAAa,EAAE,IAAI,CAACA,aAAa,EAAEnB,IAAI,CAAC,IAAI,CAAC;MAC7CoB,eAAe,EAAE,IAAI,CAACA,eAAe,EAAEpB,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,KAAK,CAAC;MAClEjF,QAAQ,EAAEA,CAACsG,UAAU,EAAEC,eAAe,KAAK;QACzC,IAAI;UACF,OAAO,IAAI,CAACC,mBAAmB,CAACvB,IAAI,CAAC,IAAI,CAAC,CACxCqB,UAAU,EACVC,eACF,CAAC;QACH,CAAC,CAAC,OAAOhF,KAAK,EAAE;UACd,IAAI,CAAC3B,OAAO,EAAEqF,IAAI,CAAC,IAAI,CAAC,CAAC1D,KAAyB,CAAC;QACrD;MACF,CAAC;MACDkF,WAAW,EAAGC,KAAK,IAAKjC,SAAS,CAACgC,WAAW,CAACC,KAAK,CAAC;MACpDC,YAAY,EAAGC,QAAQ,IACrB,KAAK,IAAI,CAAC5C,iBAAiB,EAAE2C,YAAY,CAACC,QAAQ,CAAC;MACrDC,gBAAgB,EAAEA,CAAA,KAAMpC,SAAS,CAACoC,gBAAgB,GAAG,CAAC;MACtDC,gBAAgB,EAAEA,CAAA,KAAMrC,SAAS,CAACqC,gBAAgB,GAAG,CAAC,IAAI,CAAC,CAAC;MAC5DC,eAAe,EAAGL,KAAK,IACrBjC,SAAS,CAACsC,eAAe,GAAGL,KAAK,CAAC,IAAI,UAAU;MAClD9G,OAAO,EAAE,IAAI,CAACA,OAAO,EAAEqF,IAAI,CAAC,IAAI,CAAC;MACjC+B,qBAAqB,EAAE,IAAI,CAACA,qBAAqB,EAAE/B,IAAI,CAAC,IAAI;IAC9D,CAAC,EACD,IAAI,CAACgC,WACP,CAAC;IAED,MAAM,IAAI,CAACjD,iBAAiB,CAACkD,OAAO,CAAC,CAAC;EACxC,CAAC;EAEMA,OAAO,GAAGA,CAAA,KAAqB;IACpC,IAAI,IAAI,CAACC,iBAAiB,EAAE;MAC1B,OAAO,IAAI,CAACA,iBAAiB;IAC/B;IAEA,IAAI,IAAI,CAACnI,SAAS,EAAE;MAClB,OAAOoI,OAAO,CAACC,OAAO,CAAC,CAAC;IAC1B;IAEA,IAAI,CAACF,iBAAiB,GAAG,IAAI,CAAC9C,eAAe,CAAC,CAAC,CAACiD,OAAO,CAAC,MAAM;MAC5D,IAAI,CAACH,iBAAiB,GAAGzE,SAAS;IACpC,CAAC,CAAC;IAEF,OAAO,IAAI,CAACyE,iBAAiB;EAC/B,CAAC;AACH;AAACI,OAAA,CAAAxI,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"names":["_sentryLogger","require","_telemetry","_bluetoothError","_clockSync","_deviceStatus","_resultIdentity","_summariseMeasurementForLog","_supportedMeasurementTypeKeys","_btConnectionHandler","_btDataProcessor","_pollingCommandSequencer","BTManagedDevice","connected","resultReportedThisConnection","historyTransferActive","bondedEventReported","reportedMeasurementKinds","Set","reportedDailyTotals","historyResultCount","reportsBondedEvent","handleMeasurementEnd","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onConnectionEvent","onConnectionEventCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","resultPolicy","sentryLogger","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","clockSync","clockSyncCapabilityForDevice","status","measurementTypeKey","addOvokSpanEvent","model","error","Error","message","normalized","toBluetoothError","originalError","translationKey","code","caseType","_","data","policy","byMeasurement","default","has","add","temporal","end","Date","undefined","now","getTime","day","start","recordedAt","key","toISOString","slice","recordOvokMetric","summariseMeasurementForLog","kind","progress","current","result","Object","defineProperty","value","createStableResultId","enumerable","writable","destroy","connectionHandler","dataProcessor","disconnect","cancelConnection","String","connectInternal","clear","supportedMeasurementTypeKeys","mainServices","sequencer","createCommandSequencer","pollingSequencerFor","isHistoryTransfer","BTConnectionHandler","onStatusChanged","DeviceStatus","CONNECTED","bind","DISCONNECTED","event","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","serialNumber","initialCommands","onCommandSent","armStuckTimeout","armCommandTimeout","isNormalDisconnect","preferredMtu","BTDataProcessor","stuckDataTimeout","onStreamStart","onMeasurementEnd","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","commandTimeoutMs","onCommandTimeout","commandProgress","handleDependentResult","frameReader","connect","connectionPromise","Promise","resolve","finally","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
@@ -53,11 +53,15 @@ const createLepuSequencer = (lepu, report, clockSync, manufacturerData) => {
53
53
  protocol: selected.protocol,
54
54
  writeWithoutResponse: selected.writeWithoutResponse,
55
55
  setClockBeforeInfo: selected.setClockBeforeInfo,
56
+ clockSyncProtocol: selected.clockSyncProtocol,
56
57
  clockSync,
57
58
  expectedDeviceTypes: selected.expectedDeviceTypes,
58
59
  ...(selected.pollCommand === undefined ? {} : {
59
60
  pollCommand: selected.pollCommand
60
61
  }),
62
+ ...(selected.pollIntervalMs === undefined ? {} : {
63
+ pollIntervalMs: selected.pollIntervalMs
64
+ }),
61
65
  manufacturerData,
62
66
  rejectEncryptionAtBytes: selected.rejectEncryptionAtBytes,
63
67
  onIdentified: report.onIdentified,
@@ -1 +1 @@
1
- {"version":3,"names":["_sentryLogger","require","_lepuAdvertisement","_lepuCommandBuilder","_lepuIdentityGate","_lepuTransports","DEFAULT_START_BYTE","recordLepuIdentity","deviceData","info","sn","serialNumber","sentryLogger","deviceId","id","deviceName","name","deviceType","branchCode","protocolMaxLength","exports","createLepuSequencer","lepu","report","clockSync","manufacturerData","selected","selectLepu","LepuIdentityGate","write","serviceUuid","characteristicUuid","builder","LepuCommandBuilder","requestStartByte","startBytes","fixedSequence","protocol","writeWithoutResponse","setClockBeforeInfo","expectedDeviceTypes","pollCommand","undefined","rejectEncryptionAtBytes","onIdentified","onRefused","manufacturerDataProtocol","viatomOxygenUsesV2","transport","lepuTransports","aw1","writeUuid"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom-lepu-sequencer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_sentryLogger","require","_lepuAdvertisement","_lepuCommandBuilder","_lepuIdentityGate","_lepuTransports","DEFAULT_START_BYTE","recordLepuIdentity","deviceData","info","sn","serialNumber","sentryLogger","deviceId","id","deviceName","name","deviceType","branchCode","protocolMaxLength","exports","createLepuSequencer","lepu","report","clockSync","manufacturerData","selected","selectLepu","LepuIdentityGate","write","serviceUuid","characteristicUuid","builder","LepuCommandBuilder","requestStartByte","startBytes","fixedSequence","protocol","writeWithoutResponse","setClockBeforeInfo","clockSyncProtocol","expectedDeviceTypes","pollCommand","undefined","pollIntervalMs","rejectEncryptionAtBytes","onIdentified","onRefused","manufacturerDataProtocol","viatomOxygenUsesV2","transport","lepuTransports","aw1","writeUuid"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom-lepu-sequencer.ts"],"mappings":"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","ignoreList":[]}
@@ -9,10 +9,12 @@ var _caseType = require("../../../types/case-type.js");
9
9
  var _createFrameValidator = require("../../../utils/create-frame-validator.js");
10
10
  var _parseMeasurement = require("../../../utils/parse-measurement.js");
11
11
  var _rejectCustomReading = require("../../../utils/reject-custom-reading.js");
12
+ var _bp2Files = require("../bp2/bp2.files.js");
12
13
  var _btManagedDevice = require("../bt-managed-device.js");
13
14
  var _lepuCommandBuilder = require("../lepu/lepu.command-builder.js");
14
15
  var _lepuEcgTransfer = require("../lepu/lepu.ecg-transfer.js");
15
16
  var _lepuFrameReader = require("../lepu/lepu.frame-reader.js");
17
+ var _viatomBp3Files = require("../viatom/viatom.bp3-files.js");
16
18
  var _viatomEcgFiles = require("../viatom/viatom.ecg-files.js");
17
19
  var _customLepuSequencer = require("./custom-lepu-sequencer.js");
18
20
  /* eslint-disable max-lines */
@@ -27,15 +29,18 @@ var _customLepuSequencer = require("./custom-lepu-sequencer.js");
27
29
  * catalog accepts. Anything else is reported through onError and no measurement is emitted.
28
30
  */
29
31
  class CustomDevice extends _btManagedDevice.BTManagedDevice {
32
+ reportedHistoryIds = new Set();
30
33
  validators = new Map();
34
+ sessionAggregates = new Map();
31
35
  constructor(device, params, definition) {
32
36
  super(device, {
33
37
  ...params,
34
38
  oneReadingPerConnection: params.oneReadingPerConnection ?? definition.oneReadingPerConnection
35
39
  });
36
40
  this.definition = definition;
41
+ this.sessionPolicy = definition.sessionPolicy;
37
42
  this.deviceData.clockSync = definition.clockSync;
38
- this.deliveredEcgFileNames = new Set(params.deliveredEcgFileNames ?? []);
43
+ this.deliveredFileNames = new Set([...(params.deliveredEcgFileNames ?? []), ...(params.deliveredFileNames ?? [])]);
39
44
  const selectedLepu = definition.lepu ? (0, _customLepuSequencer.selectLepu)(definition.lepu, device.manufacturerData ?? undefined) : undefined;
40
45
  this.mainServices = selectedLepu?.manufacturerDataProtocol === "viatom-oxygen" ? definition.mainServices.filter(service => service.uuid === selectedLepu.write.serviceUuid) : definition.mainServices;
41
46
  this.stuckDataTimeout = definition.stuckDataTimeout;
@@ -63,7 +68,8 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
63
68
  }
64
69
  this.frameReader = new _lepuFrameReader.LepuFrameReader(lepu.startBytes);
65
70
  this.createCommandSequencer = () => {
66
- if (lepu.fileTransfer === "ecg") {
71
+ if (lepu.fileTransfer !== undefined) {
72
+ this.reportedHistoryIds.clear();
67
73
  return new _lepuEcgTransfer.LepuEcgTransferSequencer({
68
74
  write: {
69
75
  serviceUuid: lepu.write.serviceUuid,
@@ -71,13 +77,17 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
71
77
  },
72
78
  builder: new _lepuCommandBuilder.LepuCommandBuilder(lepu.startBytes[0] ?? "a5"),
73
79
  clockSync,
80
+ manufacturerData: this.device.manufacturerData ?? undefined,
81
+ rejectEncryptionAtBytes: lepu.rejectEncryptionAtBytes,
74
82
  expectedDeviceTypes: lepu.expectedDeviceTypes,
75
83
  onIdentified: this.onIdentified,
76
84
  onRefused: this.onIdentityRefused,
77
- onFile: this.reportViatomEcgFile,
78
- skipFiles: this.deliveredEcgFileNames,
79
- acceptFile: name => lepu.ecgFileDecoder === "raw-int16" && /^R/i.test(name),
80
- afterTransfer: lepu.pollCommand ? () => [{
85
+ onFile: lepu.fileTransfer === "ecg" ? this.reportViatomEcgFile : lepu.fileTransfer === "bp2" ? this.reportViatomBp2File : this.reportViatomBp3File,
86
+ skipFiles: lepu.fileTransfer === "bp3" ? undefined : this.deliveredFileNames,
87
+ acceptFile: lepu.fileTransfer === "ecg" ? name => lepu.ecgFileDecoder === "raw-int16" && /^R/i.test(name) : lepu.fileTransfer === "bp3" ? name => /^bp\.list$/i.test(name) : undefined,
88
+ pollCommand: lepu.fileTransfer === "ecg" ? undefined : lepu.pollCommand,
89
+ pollIntervalMs: lepu.fileTransfer === "ecg" ? undefined : lepu.pollIntervalMs,
90
+ afterTransfer: lepu.fileTransfer === "ecg" && lepu.pollCommand ? () => [{
81
91
  serviceUuid: lepu.write.serviceUuid,
82
92
  characteristicUuid: lepu.write.characteristicUuid,
83
93
  frame: new _lepuCommandBuilder.LepuCommandBuilder(lepu.startBytes[0] ?? "a5").build(lepu.pollCommand)
@@ -114,6 +124,29 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
114
124
  recordingId: file.name
115
125
  });
116
126
  };
127
+ reportViatomBp2File = file => {
128
+ const decoded = (0, _bp2Files.decodeBP2File)(file.name, file.content);
129
+ if (!decoded || this.reportedHistoryIds.has(decoded.recordingId)) {
130
+ return;
131
+ }
132
+ this.reportedHistoryIds.add(decoded.recordingId);
133
+ this.onResult?.({
134
+ ...decoded,
135
+ caseType: _caseType.CaseType.RESULT
136
+ });
137
+ };
138
+ reportViatomBp3File = file => {
139
+ (0, _viatomBp3Files.decodeViatomBp3File)(file.name, file.content)?.forEach(decoded => {
140
+ if (this.deliveredFileNames.has(decoded.recordingId) || this.reportedHistoryIds.has(decoded.recordingId)) {
141
+ return;
142
+ }
143
+ this.reportedHistoryIds.add(decoded.recordingId);
144
+ this.onResult?.({
145
+ ...decoded,
146
+ caseType: _caseType.CaseType.RESULT
147
+ });
148
+ });
149
+ };
117
150
  onIdentified = info => (0, _customLepuSequencer.recordLepuIdentity)(this.deviceData, info);
118
151
  onIdentityRefused = reason => {
119
152
  this.onError?.(new Error(`Custom device "${this.definition.id}" was not addressed: ${reason}.`));
@@ -133,6 +166,25 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
133
166
  */
134
167
  handleDependentResult = data => {
135
168
  try {
169
+ if (data.parsingCase.requiresStream && !data.isMeasuring) {
170
+ return {
171
+ ...data,
172
+ parsingCase: {
173
+ ...data.parsingCase,
174
+ caseType: _caseType.CaseType.OTHER
175
+ }
176
+ };
177
+ }
178
+ if (this.sessionPolicy) {
179
+ this.captureSessionSample(data);
180
+ return {
181
+ ...data,
182
+ parsingCase: {
183
+ ...data.parsingCase,
184
+ caseType: _caseType.CaseType.STREAM
185
+ }
186
+ };
187
+ }
136
188
  if (this.shouldReportDependentResult(data)) {
137
189
  this.reportFrame(data);
138
190
  }
@@ -159,6 +211,68 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
159
211
  return;
160
212
  }
161
213
 
214
+ /** Emits a completed session before the state machine returns to CONNECTED. */
215
+ handleMeasurementEnd() {
216
+ const policy = this.sessionPolicy;
217
+ if (!policy) {
218
+ return;
219
+ }
220
+ const aggregates = [...this.sessionAggregates.values()];
221
+ this.sessionAggregates.clear();
222
+ const recordedAt = this.sessionStartedAt;
223
+ this.sessionStartedAt = undefined;
224
+ if (!recordedAt || policy.emit === "none") {
225
+ return;
226
+ }
227
+ aggregates.forEach(aggregate => {
228
+ if (aggregate.count < policy.minSamples) {
229
+ return;
230
+ }
231
+ const summary = {
232
+ ...aggregate.sample,
233
+ ...Object.fromEntries([...aggregate.sums.entries()].map(([name, total]) => [name, this.sessionAverage(aggregate.sample.measurementTypeKey, name, total / aggregate.count)])),
234
+ caseType: _caseType.CaseType.RESULT,
235
+ recordedAt
236
+ };
237
+ this.onResult?.(this.decorateReading(summary));
238
+ });
239
+ }
240
+ sessionAverage(measurementTypeKey, name, value) {
241
+ const decimals = this.definition.fields.get(`${measurementTypeKey}:${name}`)?.decimals;
242
+ return decimals === undefined ? Math.trunc(value) : Number(value.toFixed(decimals));
243
+ }
244
+
245
+ /** Collects only complete, physiologically valid readings from one live frame. */
246
+ captureSessionSample(data) {
247
+ const measurements = data.parsingCase.measurements ?? [];
248
+ const frameRecordedAt = this.sessionStartedAt ?? new Date();
249
+ measurements.forEach(measurement => {
250
+ const reading = this.createMeasurement(data.parsedData, measurement);
251
+ const rejection = this.measurementRejection(reading, measurement);
252
+
253
+ // Viatom uses out-of-range markers for values that are not available yet.
254
+ // They are ignored for the session rather than surfaced as decoding errors.
255
+ if (rejection) {
256
+ return;
257
+ }
258
+ const key = String(measurement.measurementTypeKey);
259
+ const existing = this.sessionAggregates.get(key);
260
+ const sums = existing?.sums ?? new Map();
261
+ measurement.fieldNames.forEach(name => {
262
+ const value = reading[name];
263
+ if (typeof value === "number") {
264
+ sums.set(name, (sums.get(name) ?? 0) + value);
265
+ }
266
+ });
267
+ this.sessionAggregates.set(key, {
268
+ count: (existing?.count ?? 0) + 1,
269
+ sample: existing?.sample ?? reading,
270
+ sums
271
+ });
272
+ this.sessionStartedAt ??= frameRecordedAt;
273
+ });
274
+ }
275
+
162
276
  /** Adds protocol-specific metadata to a validated reading before it is emitted. */
163
277
  decorateReading = (reading, frame, recordOffset) => this.definition.decorateReading?.(reading, frame, recordOffset) ?? reading;
164
278
 
@@ -205,6 +319,15 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
205
319
  this.onError?.((0, _rejectCustomReading.discardedReadingError)(this.definition.id, reason, parsedData));
206
320
  }
207
321
  reportMeasurement(parsedData, measurement, frame, recordOffset) {
322
+ const reading = this.createMeasurement(parsedData, measurement);
323
+ const rejection = this.measurementRejection(reading, measurement);
324
+ if (rejection) {
325
+ this.discard(rejection, reading);
326
+ return;
327
+ }
328
+ this.onResult?.(this.decorateReading(reading, frame, recordOffset));
329
+ }
330
+ createMeasurement(parsedData, measurement) {
208
331
  const reading = {
209
332
  caseType: parsedData.caseType,
210
333
  measurementTypeKey: measurement.measurementTypeKey
@@ -212,12 +335,10 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
212
335
  measurement.fieldNames.forEach(name => {
213
336
  reading[name] = parsedData[name];
214
337
  });
215
- const rejection = measurement.fieldNames.map(name => (0, _rejectCustomReading.rejectCustomReading)(this.definition.fields, measurement.measurementTypeKey, name, reading[name])).find(message => message !== undefined);
216
- if (rejection) {
217
- this.discard(rejection, reading);
218
- return;
219
- }
220
- this.onResult?.(this.decorateReading(reading, frame, recordOffset));
338
+ return reading;
339
+ }
340
+ measurementRejection(reading, measurement) {
341
+ return measurement.fieldNames.map(name => (0, _rejectCustomReading.rejectCustomReading)(this.definition.fields, measurement.measurementTypeKey, name, reading[name])).find(message => message !== undefined);
221
342
  }
222
343
  }
223
344
  exports.CustomDevice = CustomDevice;