@ovok/native 0.4.6 → 0.4.8

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 (520) hide show
  1. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js +3 -1
  2. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  3. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js +1 -1
  4. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  5. package/lib/commonjs/modules/bt-management/index.js +220 -0
  6. package/lib/commonjs/modules/bt-management/index.js.map +1 -1
  7. package/lib/commonjs/modules/bt-management/services/custom/compile-case-fields.js +49 -0
  8. package/lib/commonjs/modules/bt-management/services/custom/compile-case-fields.js.map +1 -0
  9. package/lib/commonjs/modules/bt-management/services/custom/compile-case-shape.js +52 -0
  10. package/lib/commonjs/modules/bt-management/services/custom/compile-case-shape.js.map +1 -0
  11. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-case.js +53 -41
  12. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-case.js.map +1 -1
  13. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-field.js +3 -0
  14. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-field.js.map +1 -1
  15. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-frame.js +48 -2
  16. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-frame.js.map +1 -1
  17. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js +98 -0
  18. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -0
  19. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +24 -1
  20. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  21. package/lib/commonjs/modules/bt-management/services/device-creator.js +19 -8
  22. package/lib/commonjs/modules/bt-management/services/device-creator.js.map +1 -1
  23. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj.thermometers.js +85 -0
  24. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -0
  25. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.frame-reader.js +8 -74
  26. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.frame-reader.js.map +1 -1
  27. package/lib/commonjs/modules/bt-management/services/devices/bt-command-writer.js +155 -0
  28. package/lib/commonjs/modules/bt-management/services/devices/bt-command-writer.js.map +1 -0
  29. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +9 -49
  30. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  31. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +17 -6
  32. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  33. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +21 -14
  34. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  35. package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js +55 -0
  36. package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -0
  37. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +82 -29
  38. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  39. package/lib/commonjs/modules/bt-management/services/devices/frame-parser.js +2 -1
  40. package/lib/commonjs/modules/bt-management/services/devices/frame-parser.js.map +1 -1
  41. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.command-builder.js +48 -0
  42. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.command-builder.js.map +1 -0
  43. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.commands.js +37 -0
  44. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.commands.js.map +1 -0
  45. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.device-info.js +83 -0
  46. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.device-info.js.map +1 -0
  47. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.device-names.js +26 -0
  48. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.device-names.js.map +1 -0
  49. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-names.js +36 -0
  50. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-names.js.map +1 -0
  51. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +155 -0
  52. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -0
  53. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.frame-reader.js +98 -0
  54. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.frame-reader.js.map +1 -0
  55. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.frame.js +29 -0
  56. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.frame.js.map +1 -0
  57. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.identity-gate.js +103 -0
  58. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.identity-gate.js.map +1 -0
  59. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.name-match.js +32 -0
  60. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.name-match.js.map +1 -0
  61. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.response-type.js +64 -0
  62. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.response-type.js.map +1 -0
  63. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +143 -0
  64. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -0
  65. package/lib/commonjs/modules/bt-management/services/devices/polling-command-sequencer.js +38 -0
  66. package/lib/commonjs/modules/bt-management/services/devices/polling-command-sequencer.js.map +1 -0
  67. package/lib/commonjs/modules/bt-management/services/devices/sentinel-frame-reader.js +84 -0
  68. package/lib/commonjs/modules/bt-management/services/devices/sentinel-frame-reader.js.map +1 -0
  69. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +130 -0
  70. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -0
  71. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +55 -0
  72. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -0
  73. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js +43 -0
  74. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js.map +1 -0
  75. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.duo-control-device.js +113 -0
  76. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.duo-control-device.js.map +1 -0
  77. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.js +120 -0
  78. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.js.map +1 -0
  79. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.ecg-device.js +92 -0
  80. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.ecg-device.js.map +1 -0
  81. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.ecg-samples.js +64 -0
  82. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.ecg-samples.js.map +1 -0
  83. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.js +94 -0
  84. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.js.map +1 -0
  85. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +124 -0
  86. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -0
  87. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +113 -0
  88. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -0
  89. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.lepod.js +117 -0
  90. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.lepod.js.map +1 -0
  91. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js +82 -0
  92. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -0
  93. package/lib/commonjs/modules/bt-management/types/command-sequencer.js +6 -0
  94. package/lib/commonjs/modules/bt-management/types/command-sequencer.js.map +1 -0
  95. package/lib/commonjs/modules/bt-management/types/custom-checksum-algorithm.js +2 -0
  96. package/lib/commonjs/modules/bt-management/types/custom-checksum-algorithm.js.map +1 -0
  97. package/lib/commonjs/modules/bt-management/types/custom-checksum-spec.js +6 -0
  98. package/lib/commonjs/modules/bt-management/types/custom-checksum-spec.js.map +1 -0
  99. package/lib/commonjs/modules/bt-management/types/custom-lepu-spec.js +2 -0
  100. package/lib/commonjs/modules/bt-management/types/custom-lepu-spec.js.map +1 -0
  101. package/lib/commonjs/modules/bt-management/types/custom-measurement-spec.js +6 -0
  102. package/lib/commonjs/modules/bt-management/types/custom-measurement-spec.js.map +1 -0
  103. package/lib/commonjs/modules/bt-management/types/device-command.js +2 -0
  104. package/lib/commonjs/modules/bt-management/types/device-command.js.map +1 -0
  105. package/lib/commonjs/modules/bt-management/types/integrated-devices.js +2 -0
  106. package/lib/commonjs/modules/bt-management/types/integrated-devices.js.map +1 -1
  107. package/lib/commonjs/modules/bt-management/types/measurement-group.js +6 -0
  108. package/lib/commonjs/modules/bt-management/types/measurement-group.js.map +1 -0
  109. package/lib/commonjs/modules/bt-management/utils/calculate-checksum.js +49 -0
  110. package/lib/commonjs/modules/bt-management/utils/calculate-checksum.js.map +1 -0
  111. package/lib/commonjs/modules/bt-management/utils/create-custom-field-parser.js +21 -0
  112. package/lib/commonjs/modules/bt-management/utils/create-custom-field-parser.js.map +1 -1
  113. package/lib/commonjs/modules/bt-management/utils/create-frame-validator.js +9 -0
  114. package/lib/commonjs/modules/bt-management/utils/create-frame-validator.js.map +1 -1
  115. package/lib/commonjs/modules/bt-management/utils/hex-to-bytes.js +19 -0
  116. package/lib/commonjs/modules/bt-management/utils/hex-to-bytes.js.map +1 -0
  117. package/lib/commonjs/modules/bt-management/utils/le-32-to-bytes.js +13 -0
  118. package/lib/commonjs/modules/bt-management/utils/le-32-to-bytes.js.map +1 -0
  119. package/lib/commonjs/modules/bt-management/utils/parse-measurement.js +10 -7
  120. package/lib/commonjs/modules/bt-management/utils/parse-measurement.js.map +1 -1
  121. package/lib/commonjs/modules/bt-management/utils/reject-custom-reading.js +34 -0
  122. package/lib/commonjs/modules/bt-management/utils/reject-custom-reading.js.map +1 -0
  123. package/lib/commonjs/modules/bt-management/utils/summarise-measurement-for-log.js +22 -0
  124. package/lib/commonjs/modules/bt-management/utils/summarise-measurement-for-log.js.map +1 -0
  125. package/lib/commonjs/modules/bt-management/utils/supported-measurement-type-keys.js +18 -0
  126. package/lib/commonjs/modules/bt-management/utils/supported-measurement-type-keys.js.map +1 -0
  127. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js +3 -1
  128. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  129. package/lib/module/modules/bt-management/constants/integrated-devices-map.js +1 -1
  130. package/lib/module/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  131. package/lib/module/modules/bt-management/index.js +20 -0
  132. package/lib/module/modules/bt-management/index.js.map +1 -1
  133. package/lib/module/modules/bt-management/services/custom/compile-case-fields.js +44 -0
  134. package/lib/module/modules/bt-management/services/custom/compile-case-fields.js.map +1 -0
  135. package/lib/module/modules/bt-management/services/custom/compile-case-shape.js +48 -0
  136. package/lib/module/modules/bt-management/services/custom/compile-case-shape.js.map +1 -0
  137. package/lib/module/modules/bt-management/services/custom/compile-custom-case.js +53 -41
  138. package/lib/module/modules/bt-management/services/custom/compile-custom-case.js.map +1 -1
  139. package/lib/module/modules/bt-management/services/custom/compile-custom-field.js +3 -0
  140. package/lib/module/modules/bt-management/services/custom/compile-custom-field.js.map +1 -1
  141. package/lib/module/modules/bt-management/services/custom/compile-custom-frame.js +48 -2
  142. package/lib/module/modules/bt-management/services/custom/compile-custom-frame.js.map +1 -1
  143. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js +93 -0
  144. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -0
  145. package/lib/module/modules/bt-management/services/custom/define-custom-device.js +24 -1
  146. package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  147. package/lib/module/modules/bt-management/services/device-creator.js +20 -8
  148. package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
  149. package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js +81 -0
  150. package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -0
  151. package/lib/module/modules/bt-management/services/devices/bp2/bp2.frame-reader.js +8 -73
  152. package/lib/module/modules/bt-management/services/devices/bp2/bp2.frame-reader.js.map +1 -1
  153. package/lib/module/modules/bt-management/services/devices/bt-command-writer.js +150 -0
  154. package/lib/module/modules/bt-management/services/devices/bt-command-writer.js.map +1 -0
  155. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +9 -49
  156. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  157. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +17 -6
  158. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  159. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +21 -14
  160. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  161. package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js +51 -0
  162. package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -0
  163. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +82 -29
  164. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  165. package/lib/module/modules/bt-management/services/devices/frame-parser.js +2 -1
  166. package/lib/module/modules/bt-management/services/devices/frame-parser.js.map +1 -1
  167. package/lib/module/modules/bt-management/services/devices/lepu/lepu.command-builder.js +43 -0
  168. package/lib/module/modules/bt-management/services/devices/lepu/lepu.command-builder.js.map +1 -0
  169. package/lib/module/modules/bt-management/services/devices/lepu/lepu.commands.js +33 -0
  170. package/lib/module/modules/bt-management/services/devices/lepu/lepu.commands.js.map +1 -0
  171. package/lib/module/modules/bt-management/services/devices/lepu/lepu.device-info.js +79 -0
  172. package/lib/module/modules/bt-management/services/devices/lepu/lepu.device-info.js.map +1 -0
  173. package/lib/module/modules/bt-management/services/devices/lepu/lepu.device-names.js +22 -0
  174. package/lib/module/modules/bt-management/services/devices/lepu/lepu.device-names.js.map +1 -0
  175. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-names.js +32 -0
  176. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-names.js.map +1 -0
  177. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +150 -0
  178. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -0
  179. package/lib/module/modules/bt-management/services/devices/lepu/lepu.frame-reader.js +93 -0
  180. package/lib/module/modules/bt-management/services/devices/lepu/lepu.frame-reader.js.map +1 -0
  181. package/lib/module/modules/bt-management/services/devices/lepu/lepu.frame.js +24 -0
  182. package/lib/module/modules/bt-management/services/devices/lepu/lepu.frame.js.map +1 -0
  183. package/lib/module/modules/bt-management/services/devices/lepu/lepu.identity-gate.js +98 -0
  184. package/lib/module/modules/bt-management/services/devices/lepu/lepu.identity-gate.js.map +1 -0
  185. package/lib/module/modules/bt-management/services/devices/lepu/lepu.name-match.js +27 -0
  186. package/lib/module/modules/bt-management/services/devices/lepu/lepu.name-match.js.map +1 -0
  187. package/lib/module/modules/bt-management/services/devices/lepu/lepu.response-type.js +59 -0
  188. package/lib/module/modules/bt-management/services/devices/lepu/lepu.response-type.js.map +1 -0
  189. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +140 -0
  190. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -0
  191. package/lib/module/modules/bt-management/services/devices/polling-command-sequencer.js +34 -0
  192. package/lib/module/modules/bt-management/services/devices/polling-command-sequencer.js.map +1 -0
  193. package/lib/module/modules/bt-management/services/devices/sentinel-frame-reader.js +79 -0
  194. package/lib/module/modules/bt-management/services/devices/sentinel-frame-reader.js.map +1 -0
  195. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +123 -0
  196. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -0
  197. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +50 -0
  198. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -0
  199. package/lib/module/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js +38 -0
  200. package/lib/module/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js.map +1 -0
  201. package/lib/module/modules/bt-management/services/devices/veroval/veroval.duo-control-device.js +108 -0
  202. package/lib/module/modules/bt-management/services/devices/veroval/veroval.duo-control-device.js.map +1 -0
  203. package/lib/module/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.js +116 -0
  204. package/lib/module/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.js.map +1 -0
  205. package/lib/module/modules/bt-management/services/devices/veroval/veroval.ecg-device.js +87 -0
  206. package/lib/module/modules/bt-management/services/devices/veroval/veroval.ecg-device.js.map +1 -0
  207. package/lib/module/modules/bt-management/services/devices/veroval/veroval.ecg-samples.js +60 -0
  208. package/lib/module/modules/bt-management/services/devices/veroval/veroval.ecg-samples.js.map +1 -0
  209. package/lib/module/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.js +89 -0
  210. package/lib/module/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.js.map +1 -0
  211. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +118 -0
  212. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -0
  213. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +108 -0
  214. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -0
  215. package/lib/module/modules/bt-management/services/devices/viatom/viatom.lepod.js +114 -0
  216. package/lib/module/modules/bt-management/services/devices/viatom/viatom.lepod.js.map +1 -0
  217. package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js +79 -0
  218. package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -0
  219. package/lib/module/modules/bt-management/types/command-sequencer.js +4 -0
  220. package/lib/module/modules/bt-management/types/command-sequencer.js.map +1 -0
  221. package/lib/module/modules/bt-management/types/custom-checksum-algorithm.js +2 -0
  222. package/lib/module/modules/bt-management/types/custom-checksum-algorithm.js.map +1 -0
  223. package/lib/module/modules/bt-management/types/custom-checksum-spec.js +4 -0
  224. package/lib/module/modules/bt-management/types/custom-checksum-spec.js.map +1 -0
  225. package/lib/module/modules/bt-management/types/custom-device-definition.js.map +1 -1
  226. package/lib/module/modules/bt-management/types/custom-lepu-spec.js +2 -0
  227. package/lib/module/modules/bt-management/types/custom-lepu-spec.js.map +1 -0
  228. package/lib/module/modules/bt-management/types/custom-measurement-spec.js +4 -0
  229. package/lib/module/modules/bt-management/types/custom-measurement-spec.js.map +1 -0
  230. package/lib/module/modules/bt-management/types/device-command.js +2 -0
  231. package/lib/module/modules/bt-management/types/device-command.js.map +1 -0
  232. package/lib/module/modules/bt-management/types/device-measurement-map.js +3 -3
  233. package/lib/module/modules/bt-management/types/device-measurement-map.js.map +1 -1
  234. package/lib/module/modules/bt-management/types/integrated-devices.js +2 -0
  235. package/lib/module/modules/bt-management/types/integrated-devices.js.map +1 -1
  236. package/lib/module/modules/bt-management/types/measurement-group.js +4 -0
  237. package/lib/module/modules/bt-management/types/measurement-group.js.map +1 -0
  238. package/lib/module/modules/bt-management/utils/calculate-checksum.js +44 -0
  239. package/lib/module/modules/bt-management/utils/calculate-checksum.js.map +1 -0
  240. package/lib/module/modules/bt-management/utils/create-custom-field-parser.js +21 -0
  241. package/lib/module/modules/bt-management/utils/create-custom-field-parser.js.map +1 -1
  242. package/lib/module/modules/bt-management/utils/create-frame-validator.js +9 -0
  243. package/lib/module/modules/bt-management/utils/create-frame-validator.js.map +1 -1
  244. package/lib/module/modules/bt-management/utils/hex-to-bytes.js +14 -0
  245. package/lib/module/modules/bt-management/utils/hex-to-bytes.js.map +1 -0
  246. package/lib/module/modules/bt-management/utils/le-32-to-bytes.js +8 -0
  247. package/lib/module/modules/bt-management/utils/le-32-to-bytes.js.map +1 -0
  248. package/lib/module/modules/bt-management/utils/parse-measurement.js +10 -7
  249. package/lib/module/modules/bt-management/utils/parse-measurement.js.map +1 -1
  250. package/lib/module/modules/bt-management/utils/reject-custom-reading.js +29 -0
  251. package/lib/module/modules/bt-management/utils/reject-custom-reading.js.map +1 -0
  252. package/lib/module/modules/bt-management/utils/summarise-measurement-for-log.js +17 -0
  253. package/lib/module/modules/bt-management/utils/summarise-measurement-for-log.js.map +1 -0
  254. package/lib/module/modules/bt-management/utils/supported-measurement-type-keys.js +13 -0
  255. package/lib/module/modules/bt-management/utils/supported-measurement-type-keys.js.map +1 -0
  256. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  257. package/lib/typescript/commonjs/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
  258. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +20 -0
  259. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  260. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-case-fields.d.ts +13 -0
  261. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-case-fields.d.ts.map +1 -0
  262. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-case-shape.d.ts +19 -0
  263. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-case-shape.d.ts.map +1 -0
  264. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-case.d.ts.map +1 -1
  265. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-field.d.ts.map +1 -1
  266. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-frame.d.ts.map +1 -1
  267. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts +11 -0
  268. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -0
  269. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  270. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  271. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts +24 -0
  272. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts.map +1 -0
  273. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.frame-reader.d.ts +5 -8
  274. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.frame-reader.d.ts.map +1 -1
  275. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-command-writer.d.ts +74 -0
  276. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-command-writer.d.ts.map +1 -0
  277. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +6 -4
  278. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  279. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts +20 -1
  280. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  281. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +12 -1
  282. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  283. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts +30 -0
  284. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -0
  285. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +32 -2
  286. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  287. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/frame-parser.d.ts.map +1 -1
  288. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.command-builder.d.ts +24 -0
  289. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.command-builder.d.ts.map +1 -0
  290. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.commands.d.ts +32 -0
  291. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.commands.d.ts.map +1 -0
  292. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.device-info.d.ts +27 -0
  293. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.device-info.d.ts.map +1 -0
  294. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.device-names.d.ts +20 -0
  295. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.device-names.d.ts.map +1 -0
  296. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-names.d.ts +14 -0
  297. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-names.d.ts.map +1 -0
  298. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +75 -0
  299. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -0
  300. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.frame-reader.d.ts +28 -0
  301. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.frame-reader.d.ts.map +1 -0
  302. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.frame.d.ts +12 -0
  303. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.frame.d.ts.map +1 -0
  304. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts +81 -0
  305. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts.map +1 -0
  306. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.name-match.d.ts +17 -0
  307. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.name-match.d.ts.map +1 -0
  308. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.response-type.d.ts +33 -0
  309. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.response-type.d.ts.map +1 -0
  310. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +85 -0
  311. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -0
  312. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/polling-command-sequencer.d.ts +27 -0
  313. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/polling-command-sequencer.d.ts.map +1 -0
  314. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/sentinel-frame-reader.d.ts +52 -0
  315. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/sentinel-frame-reader.d.ts.map +1 -0
  316. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +53 -0
  317. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -0
  318. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +45 -0
  319. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -0
  320. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts +18 -0
  321. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts.map +1 -0
  322. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.d.ts +19 -0
  323. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.d.ts.map +1 -0
  324. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.d.ts +45 -0
  325. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.d.ts.map +1 -0
  326. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.ecg-device.d.ts +30 -0
  327. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.ecg-device.d.ts.map +1 -0
  328. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.ecg-samples.d.ts +39 -0
  329. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.ecg-samples.d.ts.map +1 -0
  330. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.d.ts +35 -0
  331. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.d.ts.map +1 -0
  332. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts +44 -0
  333. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -0
  334. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +32 -0
  335. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -0
  336. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts +25 -0
  337. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts.map +1 -0
  338. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts +39 -0
  339. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -0
  340. package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts +26 -0
  341. package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -0
  342. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-case-spec.d.ts +43 -0
  343. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-case-spec.d.ts.map +1 -1
  344. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-checksum-algorithm.d.ts +10 -0
  345. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-checksum-algorithm.d.ts.map +1 -0
  346. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-checksum-spec.d.ts +23 -0
  347. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-checksum-spec.d.ts.map +1 -0
  348. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +5 -0
  349. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  350. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts +12 -0
  351. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
  352. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-field-encoding.d.ts +7 -1
  353. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-field-encoding.d.ts.map +1 -1
  354. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-frame-spec.d.ts +8 -0
  355. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-frame-spec.d.ts.map +1 -1
  356. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +44 -0
  357. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -0
  358. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-measurement-spec.d.ts +9 -0
  359. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-measurement-spec.d.ts.map +1 -0
  360. package/lib/typescript/commonjs/src/modules/bt-management/types/dependent-result-handler-params.d.ts +7 -0
  361. package/lib/typescript/commonjs/src/modules/bt-management/types/dependent-result-handler-params.d.ts.map +1 -1
  362. package/lib/typescript/commonjs/src/modules/bt-management/types/device-command.d.ts +27 -0
  363. package/lib/typescript/commonjs/src/modules/bt-management/types/device-command.d.ts.map +1 -0
  364. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +2 -0
  365. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  366. package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts +3 -1
  367. package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
  368. package/lib/typescript/commonjs/src/modules/bt-management/types/measurement-group.d.ts +14 -0
  369. package/lib/typescript/commonjs/src/modules/bt-management/types/measurement-group.d.ts.map +1 -0
  370. package/lib/typescript/commonjs/src/modules/bt-management/types/parsing-case.d.ts +17 -0
  371. package/lib/typescript/commonjs/src/modules/bt-management/types/parsing-case.d.ts.map +1 -1
  372. package/lib/typescript/commonjs/src/modules/bt-management/utils/calculate-checksum.d.ts +13 -0
  373. package/lib/typescript/commonjs/src/modules/bt-management/utils/calculate-checksum.d.ts.map +1 -0
  374. package/lib/typescript/commonjs/src/modules/bt-management/utils/create-custom-field-parser.d.ts.map +1 -1
  375. package/lib/typescript/commonjs/src/modules/bt-management/utils/create-frame-validator.d.ts.map +1 -1
  376. package/lib/typescript/commonjs/src/modules/bt-management/utils/hex-to-bytes.d.ts +10 -0
  377. package/lib/typescript/commonjs/src/modules/bt-management/utils/hex-to-bytes.d.ts.map +1 -0
  378. package/lib/typescript/commonjs/src/modules/bt-management/utils/le-32-to-bytes.d.ts +3 -0
  379. package/lib/typescript/commonjs/src/modules/bt-management/utils/le-32-to-bytes.d.ts.map +1 -0
  380. package/lib/typescript/commonjs/src/modules/bt-management/utils/parse-measurement.d.ts +4 -1
  381. package/lib/typescript/commonjs/src/modules/bt-management/utils/parse-measurement.d.ts.map +1 -1
  382. package/lib/typescript/commonjs/src/modules/bt-management/utils/reject-custom-reading.d.ts +15 -0
  383. package/lib/typescript/commonjs/src/modules/bt-management/utils/reject-custom-reading.d.ts.map +1 -0
  384. package/lib/typescript/commonjs/src/modules/bt-management/utils/summarise-measurement-for-log.d.ts +9 -0
  385. package/lib/typescript/commonjs/src/modules/bt-management/utils/summarise-measurement-for-log.d.ts.map +1 -0
  386. package/lib/typescript/commonjs/src/modules/bt-management/utils/supported-measurement-type-keys.d.ts +10 -0
  387. package/lib/typescript/commonjs/src/modules/bt-management/utils/supported-measurement-type-keys.d.ts.map +1 -0
  388. package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  389. package/lib/typescript/module/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
  390. package/lib/typescript/module/src/modules/bt-management/index.d.ts +20 -0
  391. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  392. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-case-fields.d.ts +13 -0
  393. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-case-fields.d.ts.map +1 -0
  394. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-case-shape.d.ts +19 -0
  395. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-case-shape.d.ts.map +1 -0
  396. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-case.d.ts.map +1 -1
  397. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-field.d.ts.map +1 -1
  398. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-frame.d.ts.map +1 -1
  399. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts +11 -0
  400. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -0
  401. package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  402. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  403. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts +24 -0
  404. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts.map +1 -0
  405. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.frame-reader.d.ts +5 -8
  406. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.frame-reader.d.ts.map +1 -1
  407. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-command-writer.d.ts +74 -0
  408. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-command-writer.d.ts.map +1 -0
  409. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +6 -4
  410. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  411. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts +20 -1
  412. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  413. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +12 -1
  414. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  415. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts +30 -0
  416. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -0
  417. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +32 -2
  418. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  419. package/lib/typescript/module/src/modules/bt-management/services/devices/frame-parser.d.ts.map +1 -1
  420. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.command-builder.d.ts +24 -0
  421. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.command-builder.d.ts.map +1 -0
  422. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.commands.d.ts +32 -0
  423. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.commands.d.ts.map +1 -0
  424. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.device-info.d.ts +27 -0
  425. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.device-info.d.ts.map +1 -0
  426. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.device-names.d.ts +20 -0
  427. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.device-names.d.ts.map +1 -0
  428. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-names.d.ts +14 -0
  429. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-names.d.ts.map +1 -0
  430. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +75 -0
  431. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -0
  432. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.frame-reader.d.ts +28 -0
  433. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.frame-reader.d.ts.map +1 -0
  434. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.frame.d.ts +12 -0
  435. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.frame.d.ts.map +1 -0
  436. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts +81 -0
  437. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts.map +1 -0
  438. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.name-match.d.ts +17 -0
  439. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.name-match.d.ts.map +1 -0
  440. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.response-type.d.ts +33 -0
  441. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.response-type.d.ts.map +1 -0
  442. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +85 -0
  443. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -0
  444. package/lib/typescript/module/src/modules/bt-management/services/devices/polling-command-sequencer.d.ts +27 -0
  445. package/lib/typescript/module/src/modules/bt-management/services/devices/polling-command-sequencer.d.ts.map +1 -0
  446. package/lib/typescript/module/src/modules/bt-management/services/devices/sentinel-frame-reader.d.ts +52 -0
  447. package/lib/typescript/module/src/modules/bt-management/services/devices/sentinel-frame-reader.d.ts.map +1 -0
  448. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +53 -0
  449. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -0
  450. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +45 -0
  451. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -0
  452. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts +18 -0
  453. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts.map +1 -0
  454. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.d.ts +19 -0
  455. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.d.ts.map +1 -0
  456. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.d.ts +45 -0
  457. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.d.ts.map +1 -0
  458. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.ecg-device.d.ts +30 -0
  459. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.ecg-device.d.ts.map +1 -0
  460. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.ecg-samples.d.ts +39 -0
  461. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.ecg-samples.d.ts.map +1 -0
  462. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.d.ts +35 -0
  463. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.d.ts.map +1 -0
  464. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts +44 -0
  465. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -0
  466. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +32 -0
  467. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -0
  468. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts +25 -0
  469. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts.map +1 -0
  470. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts +39 -0
  471. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -0
  472. package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts +26 -0
  473. package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -0
  474. package/lib/typescript/module/src/modules/bt-management/types/custom-case-spec.d.ts +43 -0
  475. package/lib/typescript/module/src/modules/bt-management/types/custom-case-spec.d.ts.map +1 -1
  476. package/lib/typescript/module/src/modules/bt-management/types/custom-checksum-algorithm.d.ts +10 -0
  477. package/lib/typescript/module/src/modules/bt-management/types/custom-checksum-algorithm.d.ts.map +1 -0
  478. package/lib/typescript/module/src/modules/bt-management/types/custom-checksum-spec.d.ts +23 -0
  479. package/lib/typescript/module/src/modules/bt-management/types/custom-checksum-spec.d.ts.map +1 -0
  480. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +5 -0
  481. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  482. package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts +12 -0
  483. package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
  484. package/lib/typescript/module/src/modules/bt-management/types/custom-field-encoding.d.ts +7 -1
  485. package/lib/typescript/module/src/modules/bt-management/types/custom-field-encoding.d.ts.map +1 -1
  486. package/lib/typescript/module/src/modules/bt-management/types/custom-frame-spec.d.ts +8 -0
  487. package/lib/typescript/module/src/modules/bt-management/types/custom-frame-spec.d.ts.map +1 -1
  488. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +44 -0
  489. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -0
  490. package/lib/typescript/module/src/modules/bt-management/types/custom-measurement-spec.d.ts +9 -0
  491. package/lib/typescript/module/src/modules/bt-management/types/custom-measurement-spec.d.ts.map +1 -0
  492. package/lib/typescript/module/src/modules/bt-management/types/dependent-result-handler-params.d.ts +7 -0
  493. package/lib/typescript/module/src/modules/bt-management/types/dependent-result-handler-params.d.ts.map +1 -1
  494. package/lib/typescript/module/src/modules/bt-management/types/device-command.d.ts +27 -0
  495. package/lib/typescript/module/src/modules/bt-management/types/device-command.d.ts.map +1 -0
  496. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +2 -0
  497. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  498. package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts +3 -1
  499. package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
  500. package/lib/typescript/module/src/modules/bt-management/types/measurement-group.d.ts +14 -0
  501. package/lib/typescript/module/src/modules/bt-management/types/measurement-group.d.ts.map +1 -0
  502. package/lib/typescript/module/src/modules/bt-management/types/parsing-case.d.ts +17 -0
  503. package/lib/typescript/module/src/modules/bt-management/types/parsing-case.d.ts.map +1 -1
  504. package/lib/typescript/module/src/modules/bt-management/utils/calculate-checksum.d.ts +13 -0
  505. package/lib/typescript/module/src/modules/bt-management/utils/calculate-checksum.d.ts.map +1 -0
  506. package/lib/typescript/module/src/modules/bt-management/utils/create-custom-field-parser.d.ts.map +1 -1
  507. package/lib/typescript/module/src/modules/bt-management/utils/create-frame-validator.d.ts.map +1 -1
  508. package/lib/typescript/module/src/modules/bt-management/utils/hex-to-bytes.d.ts +10 -0
  509. package/lib/typescript/module/src/modules/bt-management/utils/hex-to-bytes.d.ts.map +1 -0
  510. package/lib/typescript/module/src/modules/bt-management/utils/le-32-to-bytes.d.ts +3 -0
  511. package/lib/typescript/module/src/modules/bt-management/utils/le-32-to-bytes.d.ts.map +1 -0
  512. package/lib/typescript/module/src/modules/bt-management/utils/parse-measurement.d.ts +4 -1
  513. package/lib/typescript/module/src/modules/bt-management/utils/parse-measurement.d.ts.map +1 -1
  514. package/lib/typescript/module/src/modules/bt-management/utils/reject-custom-reading.d.ts +15 -0
  515. package/lib/typescript/module/src/modules/bt-management/utils/reject-custom-reading.d.ts.map +1 -0
  516. package/lib/typescript/module/src/modules/bt-management/utils/summarise-measurement-for-log.d.ts +9 -0
  517. package/lib/typescript/module/src/modules/bt-management/utils/summarise-measurement-for-log.d.ts.map +1 -0
  518. package/lib/typescript/module/src/modules/bt-management/utils/supported-measurement-type-keys.d.ts +10 -0
  519. package/lib/typescript/module/src/modules/bt-management/utils/supported-measurement-type-keys.d.ts.map +1 -0
  520. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["parseMeasurement","measurementInHex","parsingCase","parserDefinitions","parseDefinitions","result","reduce","acc","parserDefinition","parsingValue","getFullValueForMeasurementProperty","customParserDefinition","name","parseInt","measurement","measurementTypeKey","caseType","messageInHex","parseDefinition","valuesInString","i","byteIndexes","length"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/utils/parse-measurement.ts"],"mappings":";;AAMA,OAAO,MAAMA,gBAAgB,GAAGA,CAC9BC,gBAA0B,EAC1BC,WAAwB,KACiB;EACzC,MAAMC,iBAAiB,GAAGD,WAAW,CAACE,gBAAgB;EAEtD,MAAMC,MAAM,GAAGF,iBAAiB,CAACG,MAAM,CACrC,CAACC,GAAG,EAAEC,gBAAgB,KAAK;IACzB,MAAMC,YAAY,GAAGC,kCAAkC,CACrDT,gBAAgB,EAChBO,gBACF,CAAC;IAED,IAAIA,gBAAgB,CAACG,sBAAsB,EAAE;MAC3CJ,GAAG,CAACC,gBAAgB,CAACI,IAAI,CAAC,GACxBJ,gBAAgB,CAACG,sBAAsB,CAACF,YAAY,CAAC;IACzD,CAAC,MAAM;MACLF,GAAG,CAACC,gBAAgB,CAACI,IAAI,CAAC,GAAGC,QAAQ,CAACJ,YAAY,EAAE,EAAE,CAAC;IACzD;IAEA,OAAOF,GAAG;EACZ,CAAC;EACD;EACA,CAAC,CACH,CAAC;EAED,MAAMO,WAAW,GAAGT,MAA8C;EAElES,WAAW,CAACC,kBAAkB,GAAGb,WAAW,CAACa,kBAAmB;EAChED,WAAW,CAACE,QAAQ,GAAGd,WAAW,CAACc,QAAQ;EAE3C,OAAOF,WAAW;AACpB,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMJ,kCAAkC,GAAGA,CACzCO,YAAsB,EACtBC,eAAiC,KACtB;EACX,IAAIC,cAAc,GAAG,EAAE;EAEvB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,eAAe,CAACG,WAAW,CAACC,MAAM,EAAEF,CAAC,EAAE,EAAE;IAC3DD,cAAc,IAAIF,YAAY,CAACC,eAAe,CAACG,WAAW,CAACD,CAAC,CAAC,IAAI,GAAG,CAAC;EACvE;EAEA,OAAOD,cAAc;AACvB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["parseMeasurement","measurementInHex","parsingCase","byteOffset","parserDefinitions","parseDefinitions","result","reduce","acc","parserDefinition","parsingValue","getFullValueForMeasurementProperty","customParserDefinition","name","parseInt","measurement","measurementTypeKey","caseType","messageInHex","parseDefinition","valuesInString","i","byteIndexes","length"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/utils/parse-measurement.ts"],"mappings":";;AAMA;AACA;AACA;AACA,OAAO,MAAMA,gBAAgB,GAAGA,CAC9BC,gBAA0B,EAC1BC,WAAwB,EACxBC,UAAU,GAAG,CAAC,KAC2B;EACzC,MAAMC,iBAAiB,GAAGF,WAAW,CAACG,gBAAgB;EAEtD,MAAMC,MAAM,GAAGF,iBAAiB,CAACG,MAAM,CACrC,CAACC,GAAG,EAAEC,gBAAgB,KAAK;IACzB,MAAMC,YAAY,GAAGC,kCAAkC,CACrDV,gBAAgB,EAChBQ,gBAAgB,EAChBN,UACF,CAAC;IAED,IAAIM,gBAAgB,CAACG,sBAAsB,EAAE;MAC3CJ,GAAG,CAACC,gBAAgB,CAACI,IAAI,CAAC,GACxBJ,gBAAgB,CAACG,sBAAsB,CAACF,YAAY,CAAC;IACzD,CAAC,MAAM;MACLF,GAAG,CAACC,gBAAgB,CAACI,IAAI,CAAC,GAAGC,QAAQ,CAACJ,YAAY,EAAE,EAAE,CAAC;IACzD;IAEA,OAAOF,GAAG;EACZ,CAAC;EACD;EACA,CAAC,CACH,CAAC;EAED,MAAMO,WAAW,GAAGT,MAA8C;EAElES,WAAW,CAACC,kBAAkB,GAAGd,WAAW,CAACc,kBAAmB;EAChED,WAAW,CAACE,QAAQ,GAAGf,WAAW,CAACe,QAAQ;EAE3C,OAAOF,WAAW;AACpB,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMJ,kCAAkC,GAAGA,CACzCO,YAAsB,EACtBC,eAAiC,EACjChB,UAAkB,KACP;EACX,IAAIiB,cAAc,GAAG,EAAE;EAEvB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,eAAe,CAACG,WAAW,CAACC,MAAM,EAAEF,CAAC,EAAE,EAAE;IAC3DD,cAAc,IACZF,YAAY,CAAC,CAACC,eAAe,CAACG,WAAW,CAACD,CAAC,CAAC,IAAI,CAAC,IAAIlB,UAAU,CAAC;EACpE;EAEA,OAAOiB,cAAc;AACvB,CAAC","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ /** The reading that was thrown away, and why, so a decoding fault can be diagnosed. */
4
+ const discardedReadingError = (deviceId, reason, parsedData) => new Error(`Custom device "${deviceId}": ${reason}. The reading was discarded (decoded ${JSON.stringify(parsedData)}).`);
5
+
6
+ /**
7
+ * Why a decoded property is not a reading, or nothing when it is.
8
+ *
9
+ * The checks are the last thing between a misread frame and a clinical record, so each one
10
+ * says what was wrong rather than returning a bare false: a property the measurement does
11
+ * not have is a declaration mistake, a value that is not a finite number is a frame shorter
12
+ * than the declaration expects, and a value outside the envelope is a decoding fault
13
+ * wearing the shape of a reading.
14
+ */
15
+ const rejectCustomReading = (fields, measurementTypeKey, name, value) => {
16
+ const field = fields.get(`${measurementTypeKey}:${name}`);
17
+ if (!field) {
18
+ return `decoded "${name}", which is not declared for ${measurementTypeKey}`;
19
+ }
20
+ if (typeof value !== "number" || !Number.isFinite(value)) {
21
+ return `could not decode ${name}; the frame was shorter than the declaration expects`;
22
+ }
23
+ if (value < field.min || value > field.max) {
24
+ return `decoded ${name} = ${value} ${field.unit}, outside the accepted range ${field.min}-${field.max} ${field.unit}`;
25
+ }
26
+ return undefined;
27
+ };
28
+ export { discardedReadingError, rejectCustomReading };
29
+ //# sourceMappingURL=reject-custom-reading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["discardedReadingError","deviceId","reason","parsedData","Error","JSON","stringify","rejectCustomReading","fields","measurementTypeKey","name","value","field","get","Number","isFinite","min","max","unit","undefined"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/utils/reject-custom-reading.ts"],"mappings":";;AAEA;AACA,MAAMA,qBAAqB,GAAGA,CAC5BC,QAAgB,EAChBC,MAAc,EACdC,UAAmB,KAEnB,IAAIC,KAAK,CACP,kBAAkBH,QAAQ,MAAMC,MAAM,wCAAwCG,IAAI,CAACC,SAAS,CAACH,UAAU,CAAC,IAC1G,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMI,mBAAmB,GAAGA,CAC1BC,MAAgD,EAChDC,kBAA0B,EAC1BC,IAAY,EACZC,KAAc,KACS;EACvB,MAAMC,KAAK,GAAGJ,MAAM,CAACK,GAAG,CAAC,GAAGJ,kBAAkB,IAAIC,IAAI,EAAE,CAAC;EAEzD,IAAI,CAACE,KAAK,EAAE;IACV,OAAO,YAAYF,IAAI,gCAAgCD,kBAAkB,EAAE;EAC7E;EAEA,IAAI,OAAOE,KAAK,KAAK,QAAQ,IAAI,CAACG,MAAM,CAACC,QAAQ,CAACJ,KAAK,CAAC,EAAE;IACxD,OAAO,oBAAoBD,IAAI,sDAAsD;EACvF;EAEA,IAAIC,KAAK,GAAGC,KAAK,CAACI,GAAG,IAAIL,KAAK,GAAGC,KAAK,CAACK,GAAG,EAAE;IAC1C,OAAO,WAAWP,IAAI,MAAMC,KAAK,IAAIC,KAAK,CAACM,IAAI,gCAAgCN,KAAK,CAACI,GAAG,IAAIJ,KAAK,CAACK,GAAG,IAAIL,KAAK,CAACM,IAAI,EAAE;EACvH;EAEA,OAAOC,SAAS;AAClB,CAAC;AAED,SAASnB,qBAAqB,EAAEO,mBAAmB","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Shapes a measurement for a log line.
5
+ *
6
+ * An ECG carries thousands of waveform points. Logging them costs more than the reading
7
+ * they describe and buries it, so the count stands in for them - which is the only thing
8
+ * the log is being asked: whether the waveform arrived, not what was in it.
9
+ */
10
+ export const summariseMeasurementForLog = data => {
11
+ const points = data.diagramPoints;
12
+ return {
13
+ ...data,
14
+ diagramPoints: Array.isArray(points) ? points.length : undefined
15
+ };
16
+ };
17
+ //# sourceMappingURL=summarise-measurement-for-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["summariseMeasurementForLog","data","points","diagramPoints","Array","isArray","length","undefined"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/utils/summarise-measurement-for-log.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,0BAA0B,GACrCC,IAAO,IACqB;EAC5B,MAAMC,MAAM,GAAID,IAAI,CAAiCE,aAAa;EAElE,OAAO;IACL,GAAGF,IAAI;IACPE,aAAa,EAAEC,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC,GAAGA,MAAM,CAACI,MAAM,GAAGC;EACzD,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * The measurement types a device's declared services can produce.
5
+ *
6
+ * Read from the parsing cases rather than stated separately, so a device cannot advertise a
7
+ * measurement it has no case to decode, or omit one it does.
8
+ */
9
+ export const supportedMeasurementTypeKeys = services => {
10
+ const declared = services.flatMap(service => service.monitorUuids.flatMap(monitor => monitor.parsingModel.cases.map(c => c.measurementTypeKey) || [])).filter(type => type !== undefined);
11
+ return [...new Set(declared.flat())];
12
+ };
13
+ //# sourceMappingURL=supported-measurement-type-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["supportedMeasurementTypeKeys","services","declared","flatMap","service","monitorUuids","monitor","parsingModel","cases","map","c","measurementTypeKey","filter","type","undefined","Set","flat"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/utils/supported-measurement-type-keys.ts"],"mappings":";;AAIA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,4BAA4B,GACvCC,QAAuC,IACd;EACzB,MAAMC,QAAQ,GAAGD,QAAQ,CACtBE,OAAO,CAAEC,OAAO,IACfA,OAAO,CAACC,YAAY,CAACF,OAAO,CACzBG,OAAO,IACNA,OAAO,CAACC,YAAY,CAACC,KAAK,CAACC,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,kBAAkB,CAAC,IAAI,EACnE,CACF,CAAC,CACAC,MAAM,CAAEC,IAAI,IAAKA,IAAI,KAAKC,SAAS,CAAC;EAEvC,OAAO,CAAC,GAAG,IAAIC,GAAG,CAACb,QAAQ,CAACc,IAAI,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"device-instruction-pdfs.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/device-instruction-pdfs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAOxD,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAoBrE,CAAC"}
1
+ {"version":3,"file":"device-instruction-pdfs.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/device-instruction-pdfs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAOxD,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAsBrE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"integrated-devices-map.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/constants/integrated-devices-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,eAAO,MAAM,oBAAoB,gCAmB/B,CAAC"}
1
+ {"version":3,"file":"integrated-devices-map.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/constants/integrated-devices-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,eAAO,MAAM,oBAAoB,gCAqB/B,CAAC"}
@@ -10,9 +10,12 @@ export * from "./types/custom-device-spec";
10
10
  export * from "./types/custom-field-encoding";
11
11
  export * from "./types/custom-field-spec";
12
12
  export * from "./types/custom-frame-spec";
13
+ export * from "./types/custom-lepu-spec";
13
14
  export * from "./types/custom-measurement";
14
15
  export * from "./types/custom-monitor-spec";
15
16
  export * from "./types/custom-service-spec";
17
+ export * from "./types/command-sequencer";
18
+ export * from "./types/device-command";
16
19
  export * from "./types/device-key";
17
20
  export * from "./types/device-key-of";
18
21
  export * from "./types/device-data";
@@ -30,6 +33,23 @@ export * from "./services/devices/bt-managed-device";
30
33
  export * from "./services/devices/custom/custom.device";
31
34
  export * from "./services/bt-manager";
32
35
  export * from "./services/custom/define-custom-device";
36
+ export * from "./services/devices/standard-gatt/standard-gatt.devices";
37
+ export * from "./services/devices/veroval/veroval.bp-monitors";
38
+ export * from "./services/devices/veroval/veroval.duo-control-device";
39
+ export * from "./services/devices/veroval/veroval.ecg-device";
40
+ export * from "./services/devices/veroval/veroval.ecg-samples";
41
+ export * from "./services/devices/lepu/lepu.transports";
42
+ export * from "./services/devices/aoj/aoj.thermometers";
43
+ export * from "./services/devices/viatom/viatom.bp-monitors";
44
+ export * from "./services/devices/viatom/viatom.oximeters";
45
+ export * from "./services/devices/viatom/viatom.ecg-recorders";
46
+ export * from "./services/devices/viatom/viatom.lepod";
47
+ export * from "./services/devices/lepu/lepu.device-names";
48
+ export * from "./services/devices/lepu/lepu.name-match";
49
+ export * from "./services/devices/lepu/lepu.commands";
50
+ export * from "./services/devices/lepu/lepu.device-info";
51
+ export * from "./services/devices/lepu/lepu.file-transfer";
52
+ export * from "./services/devices/lepu/lepu.response-type";
33
53
  export * from "./constants/measurement-field-catalog";
34
54
  export * from "./components/bt-provider";
35
55
  export * from "./components/default-permission-fallback";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/bt-management/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AAEtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,uBAAuB,CAAC;AACtC,cAAc,wCAAwC,CAAC;AAEvD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0CAA0C,CAAC;AACzD,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/bt-management/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AAEtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,uBAAuB,CAAC;AACtC,cAAc,wCAAwC,CAAC;AACvD,cAAc,wDAAwD,CAAC;AACvE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,uDAAuD,CAAC;AACtE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,4CAA4C,CAAC;AAE3D,cAAc,uCAAuC,CAAC;AAEtD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0CAA0C,CAAC;AACzD,cAAc,iCAAiC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { MeasurementTypeKey } from "@ovok/core";
2
+ import { CompiledCustomField } from "../../types/compiled-custom-field";
3
+ import { CustomFieldSpec } from "../../types/custom-field-spec";
4
+ import { ParserDefinition } from "../../types/parser-definition";
5
+ /**
6
+ * A reading must carry every property that makes it that measurement. A blood pressure
7
+ * without a diastolic is not a partial blood pressure, it is a clinical record of something
8
+ * the device never reported, so the declaration is refused rather than the reading dropped.
9
+ */
10
+ declare const assertRequiredFields: (id: string, path: string, declared: CustomFieldSpec[], measurementTypeKey: MeasurementTypeKey) => void;
11
+ declare const compileFields: (id: string, path: string, declared: CustomFieldSpec[], measurementTypeKey: MeasurementTypeKey, minLengthBytes: number, fields: Map<string, CompiledCustomField>, names: Set<string>) => ParserDefinition[];
12
+ export { assertRequiredFields, compileFields };
13
+ //# sourceMappingURL=compile-case-fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile-case-fields.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-case-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA8BjE;;;;GAIG;AACH,QAAA,MAAM,oBAAoB,GACxB,IAAI,MAAM,EACV,MAAM,MAAM,EACZ,UAAU,eAAe,EAAE,EAC3B,oBAAoB,kBAAkB,KACrC,IAeF,CAAC;AAEF,QAAA,MAAM,aAAa,GACjB,IAAI,MAAM,EACV,MAAM,MAAM,EACZ,UAAU,eAAe,EAAE,EAC3B,oBAAoB,kBAAkB,EACtC,gBAAgB,MAAM,EACtB,QAAQ,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACxC,OAAO,GAAG,CAAC,MAAM,CAAC,KACjB,gBAAgB,EA4Bf,CAAC;AAEL,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { CustomCaseSpec } from "../../types/custom-case-spec";
2
+ /**
3
+ * How long a frame of this shape is, which may be longer than the shortest the
4
+ * characteristic emits but never shorter: the selector chose this shape, so its own fields
5
+ * are the ones that have to fit.
6
+ */
7
+ declare const assertCaseLength: (id: string, path: string, caseSpec: CustomCaseSpec, frameMinLengthBytes: number) => number;
8
+ /**
9
+ * A frame that is a run of records, and how wide one is.
10
+ *
11
+ * The characteristic has to guarantee at least one whole record, otherwise a declaration
12
+ * whose fields all fit could still never decode anything.
13
+ */
14
+ declare const assertRepeatedRecords: (id: string, path: string, caseSpec: CustomCaseSpec, frameMinLengthBytes: number) => {
15
+ recordBytes: number;
16
+ from: number;
17
+ } | undefined;
18
+ export { assertCaseLength, assertRepeatedRecords };
19
+ //# sourceMappingURL=compile-case-shape.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile-case-shape.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-case-shape.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAI9D;;;;GAIG;AACH,QAAA,MAAM,gBAAgB,GACpB,IAAI,MAAM,EACV,MAAM,MAAM,EACZ,UAAU,cAAc,EACxB,qBAAqB,MAAM,KAC1B,MAgBF,CAAC;AAEF;;;;;GAKG;AACH,QAAA,MAAM,qBAAqB,GACzB,IAAI,MAAM,EACV,MAAM,MAAM,EACZ,UAAU,cAAc,EACxB,qBAAqB,MAAM,KAC1B;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAkC1C,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compile-custom-case.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-custom-case.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAgJvD,2EAA2E;AAC3E,eAAO,MAAM,iBAAiB,GAC5B,IAAI,MAAM,EACV,MAAM,MAAM,EACZ,UAAU,cAAc,EACxB,gBAAgB,MAAM,EACtB,QAAQ,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,KACvC,WA4DF,CAAC"}
1
+ {"version":3,"file":"compile-custom-case.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-custom-case.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAI9D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAgGvD,2EAA2E;AAC3E,eAAO,MAAM,iBAAiB,GAC5B,IAAI,MAAM,EACV,MAAM,MAAM,EACZ,UAAU,cAAc,EACxB,gBAAgB,MAAM,EACtB,QAAQ,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,KACvC,WA+FF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compile-custom-field.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-custom-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAsGhE,8FAA8F;AAC9F,eAAO,MAAM,kBAAkB,GAC7B,IAAI,MAAM,EACV,MAAM,MAAM,EACZ,OAAO,eAAe,EACtB,oBAAoB,kBAAkB,EACtC,gBAAgB,MAAM,KACrB,mBAyDF,CAAC"}
1
+ {"version":3,"file":"compile-custom-field.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-custom-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AA+GhE,8FAA8F;AAC9F,eAAO,MAAM,kBAAkB,GAC7B,IAAI,MAAM,EACV,MAAM,MAAM,EACZ,OAAO,eAAe,EACtB,oBAAoB,kBAAkB,EACtC,gBAAgB,MAAM,KACrB,mBAyDF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compile-custom-frame.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-custom-frame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAMhE;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAC7B,IAAI,MAAM,EACV,MAAM,MAAM,EACZ,OAAO,eAAe,KACrB,eA6EF,CAAC"}
1
+ {"version":3,"file":"compile-custom-frame.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-custom-frame.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AA+EhE;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAC7B,IAAI,MAAM,EACV,MAAM,MAAM,EACZ,OAAO,eAAe,KACrB,eAmFF,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { CustomDeviceSpec } from "../../types/custom-device-spec";
2
+ import { CustomLepuSpec } from "../../types/custom-lepu-spec";
3
+ /**
4
+ * Validates the Lepu declaration and normalises its UUIDs.
5
+ *
6
+ * The write service has to be one the declaration already monitors: a command written to a
7
+ * service the device never opened is accepted by nothing and answered by nothing, which
8
+ * looks exactly like hardware that is simply not responding.
9
+ */
10
+ export declare const compileCustomLepu: (id: string, spec: CustomDeviceSpec, serviceUuids: readonly string[]) => CustomLepuSpec | undefined;
11
+ //# sourceMappingURL=compile-custom-lepu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile-custom-lepu.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-custom-lepu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAkG9D;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,IAAI,MAAM,EACV,MAAM,gBAAgB,EACtB,cAAc,SAAS,MAAM,EAAE,KAC9B,cAAc,GAAG,SA8CnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"define-custom-device.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/define-custom-device.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAwGlE;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,gBAAgB,KACrB,sBAqEF,CAAC"}
1
+ {"version":3,"file":"define-custom-device.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/define-custom-device.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAkIlE;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,gBAAgB,KACrB,sBA8EF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"device-creator.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/device-creator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAMrD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAyC9D,qBAAa,aAAa,CAAC,CAAC,SAAS,SAAS,cAAc,EAAE;IAKhD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAJhD,OAAO,CAAC,eAAe,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAO;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;gBAEvC,mBAAmB,EAAE,CAAC;IAI5C,aAAa,GAAI,WAAW,MAAM,KAAG,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAkBpE;IAEK,YAAY,CAAC,CAAC,SAAS,SAAS,EACrC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC5B,eAAe,CAAC,CAAC,CAAC;IAwCd,OAAO,aAEZ;IAEF;;;OAGG;IACH,OAAO,CAAC,eAAe,CAmBrB;IAEF,OAAO,CAAC,eAAe;CAexB"}
1
+ {"version":3,"file":"device-creator.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/device-creator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAMrD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AA6D9D,qBAAa,aAAa,CAAC,CAAC,SAAS,SAAS,cAAc,EAAE;IAKhD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAJhD,OAAO,CAAC,eAAe,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAO;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;gBAEvC,mBAAmB,EAAE,CAAC;IAI5C,aAAa,GAAI,WAAW,MAAM,KAAG,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAkBpE;IAEK,YAAY,CAAC,CAAC,SAAS,SAAS,EACrC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC5B,eAAe,CAAC,CAAC,CAAC;IAmCd,OAAO,aAEZ;IAEF;;;OAGG;IACH,OAAO,CAAC,eAAe,CAmBrB;IAEF,OAAO,CAAC,eAAe;CAexB"}
@@ -0,0 +1,24 @@
1
+ import { CustomDeviceDefinition } from "../../../types/custom-device-definition";
2
+ interface AojDeviceParams {
3
+ /** Reported back as deviceData.name, and must not collide with a built-in device. */
4
+ id: string;
5
+ /** The name the hardware advertises. */
6
+ nameMatch: string | RegExp;
7
+ stuckDataTimeoutMs?: number;
8
+ }
9
+ /**
10
+ * The AOJ-20A infrared thermometer.
11
+ *
12
+ * Declared without a write characteristic, because the device sends its reading rather than
13
+ * waiting to be asked: the vendor app has a request for it, calls it from nowhere, and still
14
+ * displays temperatures - so the reply arrives when someone takes a measurement. Not writing
15
+ * also means not polling, which for a spot-check device would otherwise re-report the same
16
+ * reading for as long as the link stayed up.
17
+ *
18
+ * Only the realtime reply is declared. The stored-history reply shares the header and would
19
+ * need its own case; nothing reads history yet, and a case that decoded it into the same
20
+ * measurement would post old readings as though they had just been taken.
21
+ */
22
+ export declare const aoj20aThermometer: (params: AojDeviceParams) => CustomDeviceDefinition;
23
+ export {};
24
+ //# sourceMappingURL=aoj.thermometers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aoj.thermometers.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/aoj/aoj.thermometers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAmCjF,UAAU,eAAe;IAEvB,qFAAqF;IACrF,EAAE,EAAE,MAAM,CAAC;IAEX,wCAAwC;IACxC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAE3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,eAAe,KACtB,sBA0CC,CAAC"}
@@ -1,14 +1,11 @@
1
- import { FrameReadResult } from "../../../types/frame-read-result";
2
- import { FrameReader } from "../../../types/frame-reader";
1
+ import { LepuFrameReader } from "../lepu/lepu.frame-reader";
3
2
  /**
4
3
  * Reads Lepu protocol frames as used by the BP2.
5
4
  *
6
- * Layout: `a5 | cmd | ~cmd | type | seq | lenLow lenHigh | payload | crc8`, where the
7
- * checksum covers every byte before it. The complement of the command byte only narrows
8
- * the search for a start; the checksum is what actually decides a frame is trustworthy.
5
+ * The frame itself is shared across the family, so it lives in `LepuFrameReader`; the only
6
+ * thing that makes it a BP2 is which start byte it accepts.
9
7
  */
10
- export declare class BP2FrameReader implements FrameReader {
11
- readFrame(buffer: readonly string[]): FrameReadResult;
12
- private hasValidChecksum;
8
+ export declare class BP2FrameReader extends LepuFrameReader {
9
+ constructor();
13
10
  }
14
11
  //# sourceMappingURL=bp2.frame-reader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bp2.frame-reader.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.frame-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AA8C1D;;;;;;GAMG;AACH,qBAAa,cAAe,YAAW,WAAW;IACzC,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,eAAe;IAiC5D,OAAO,CAAC,gBAAgB;CAMzB"}
1
+ {"version":3,"file":"bp2.frame-reader.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.frame-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAK5D;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,eAAe;;CAIlD"}
@@ -0,0 +1,74 @@
1
+ import { BleError, Device } from "react-native-ble-plx";
2
+ import { DeviceCommand } from "../../types/device-command";
3
+ /**
4
+ * The write channel to a connected device.
5
+ *
6
+ * These protocols allow one command outstanding at a time, and the reply to it is what
7
+ * decides the next one, so writes are serialised rather than merely guarded against
8
+ * re-entry. Refusing a command while another is in flight stalls a self-clocking exchange
9
+ * permanently: the refused command is the one that would have provoked the next reply, and
10
+ * nothing retries it.
11
+ */
12
+ export declare class BTCommandWriter {
13
+ private readonly device;
14
+ private readonly onError?;
15
+ private pendingWrites;
16
+ private mtu;
17
+ constructor(device: Device, onError?: ((error: BleError | Error) => void) | undefined);
18
+ /**
19
+ * Records what the link actually negotiated.
20
+ *
21
+ * The floor stands until something says otherwise, because a link that has not
22
+ * negotiated is at the minimum, and over-estimating truncates while under-estimating
23
+ * only costs a second packet.
24
+ */
25
+ useNegotiatedMtu: (mtu?: number) => void;
26
+ /** Drops anything still queued, for a link that is going away. */
27
+ reset: () => void;
28
+ /**
29
+ * Queues commands behind whatever is already being written.
30
+ *
31
+ * The returned promise settles when the last of them has been written and never rejects.
32
+ * A write that fails is retried and reported where it happens; the catch here is a
33
+ * backstop, so that anything that gets past that still cannot poison the queue and
34
+ * silence every command after it.
35
+ */
36
+ send: (commands: readonly DeviceCommand[]) => Promise<void>;
37
+ private writeInOrder;
38
+ /**
39
+ * Writes one command, split to fit the link.
40
+ *
41
+ * A write longer than the negotiated MTU is truncated by the stack rather than refused,
42
+ * so an oversized command arrives as a shorter one whose header still looks valid. The
43
+ * Er2 negotiates the 23-byte minimum where the rest of the family grants 247, which is
44
+ * enough to cut a 28-byte file-read request in half.
45
+ *
46
+ * A chunk that cannot be written abandons the rest of the command. The device reassembles
47
+ * by arrival, so continuing past a gap would hand it a frame that is not the one asked
48
+ * for - worse than sending nothing, because it would be answered.
49
+ */
50
+ private writeCommand;
51
+ /**
52
+ * Writes one chunk the way the characteristic accepts writes.
53
+ *
54
+ * A with-response write to a characteristic that only supports write-without-response
55
+ * fails outright, so the command says which it is rather than the transport guessing.
56
+ */
57
+ private writeTo;
58
+ /**
59
+ * Splits a frame into writes the link will carry whole.
60
+ *
61
+ * A frame that already fits yields one chunk, so the common command - a poll of a handful
62
+ * of bytes - is written exactly as it was before there was any splitting at all.
63
+ */
64
+ private chunksOf;
65
+ /**
66
+ * Writes one chunk, retrying a failed write.
67
+ *
68
+ * The attempt count is local rather than an instance field, so a write that exhausted its
69
+ * retries cannot leave the next one with none left - which is what a shared counter did
70
+ * on any path that failed to reset it.
71
+ */
72
+ private writeChunk;
73
+ }
74
+ //# sourceMappingURL=bt-command-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bt-command-writer.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-command-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAIxD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAW3D;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAKxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAL3B,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,GAAG,CAAmB;gBAGX,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,GAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,KAAK,IAAI,aAAA;IAG9D;;;;;;OAMG;IACI,gBAAgB,GAAI,MAAM,MAAM,KAAG,IAAI,CAI5C;IAEF,kEAAkE;IAC3D,KAAK,QAAO,IAAI,CAErB;IAEF;;;;;;;OAOG;IACI,IAAI,GAAI,UAAU,SAAS,aAAa,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CAQ/D;IAEF,OAAO,CAAC,YAAY,CAMlB;IAEF;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,YAAY,CAQlB;IAEF;;;;;OAKG;IACH,OAAO,CAAC,OAAO,CAmBb;IAEF;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CASd;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,CA8BhB;CACH"}
@@ -1,10 +1,13 @@
1
1
  import { BleError, Device } from "react-native-ble-plx";
2
+ import { DeviceCommand } from "../../types/device-command";
2
3
  import { DeviceStatus } from "../../types/device-status";
3
4
  import { IMedicalDevice } from "../../types/i-medical-device";
4
5
  interface ConnectionHandlerCallbacks {
5
6
  onStatusChanged?: (status: DeviceStatus) => void;
6
7
  onError?: (error: BleError | Error) => void;
7
8
  onDataReceived?: (uuid: string, value: string[]) => void;
9
+ /** The commands to send once every characteristic is subscribed. */
10
+ initialCommands?: () => readonly DeviceCommand[];
8
11
  }
9
12
  export declare class BTConnectionHandler {
10
13
  private readonly device;
@@ -13,12 +16,12 @@ export declare class BTConnectionHandler {
13
16
  private readonly preferredMtu?;
14
17
  private onDisconnectSubscription;
15
18
  private characteristicSubscriptions;
16
- private isSendingCommand;
17
- private retryCount;
19
+ private readonly writer;
18
20
  constructor(device: Device, mainServices: IMedicalDevice["mainService"], callbacks: ConnectionHandlerCallbacks, preferredMtu?: number | undefined);
19
21
  connect: () => Promise<void>;
20
22
  destroy: () => void;
21
- sendCommandToDevice: () => Promise<void>;
23
+ /** Sends commands to the device, in order, one at a time. */
24
+ sendCommands: (commands: readonly DeviceCommand[]) => Promise<void>;
22
25
  /**
23
26
  * Asks for a larger MTU so a frame arrives in fewer notifications.
24
27
  *
@@ -29,7 +32,6 @@ export declare class BTConnectionHandler {
29
32
  private connectWithRetries;
30
33
  private onDeviceDisconnected;
31
34
  private subscribeToAllCharacteristics;
32
- private sendCommand;
33
35
  }
34
36
  export {};
35
37
  //# sourceMappingURL=bt-connection-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bt-connection-handler.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-connection-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAgB,MAAM,sBAAsB,CAAC;AAItE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAK9D,UAAU,0BAA0B;IAClC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,KAAK,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC1D;AAED,qBAAa,mBAAmB;IAO5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAThC,OAAO,CAAC,wBAAwB,CAA2B;IAC3D,OAAO,CAAC,2BAA2B,CAAsB;IACzD,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,UAAU,CAAa;gBAGZ,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,cAAc,CAAC,aAAa,CAAC,EAC3C,SAAS,EAAE,0BAA0B,EACrC,YAAY,CAAC,EAAE,MAAM,YAAA;IAGjC,OAAO,sBAsBZ;IAEK,OAAO,aAOZ;IAEK,mBAAmB,QAAa,OAAO,CAAC,IAAI,CAAC,CAelD;IAEF;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB,CAezB;IAEF,OAAO,CAAC,kBAAkB,CA2CxB;IAEF,OAAO,CAAC,oBAAoB,CAiB1B;IAEF,OAAO,CAAC,6BAA6B,CA4CnC;IAEF,OAAO,CAAC,WAAW,CAkCjB;CACH"}
1
+ {"version":3,"file":"bt-connection-handler.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-connection-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAgB,MAAM,sBAAsB,CAAC;AAGtE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAK9D,UAAU,0BAA0B;IAClC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,KAAK,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAEzD,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,SAAS,aAAa,EAAE,CAAC;CAClD;AAED,qBAAa,mBAAmB;IAM5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IARhC,OAAO,CAAC,wBAAwB,CAA2B;IAC3D,OAAO,CAAC,2BAA2B,CAAsB;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;gBAGtB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,cAAc,CAAC,aAAa,CAAC,EAC3C,SAAS,EAAE,0BAA0B,EACrC,YAAY,CAAC,EAAE,MAAM,YAAA;IAKjC,OAAO,sBAsBZ;IAEK,OAAO,aAMZ;IAEF,6DAA6D;IACtD,YAAY,GAAI,UAAU,SAAS,aAAa,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CAC5C;IAE7B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB,CAiBzB;IAEF,OAAO,CAAC,kBAAkB,CA2CxB;IAEF,OAAO,CAAC,oBAAoB,CAiB1B;IAEF,OAAO,CAAC,6BAA6B,CA4CnC;CAEH"}
@@ -1,6 +1,7 @@
1
1
  import { Measurement, MeasurementTypeKey } from "@ovok/core";
2
2
  import { Device } from "react-native-ble-plx";
3
3
  import { DependentResultHandlerParams } from "../../types/dependent-result-handler-params";
4
+ import { DeviceCommand } from "../../types/device-command";
4
5
  import { DeviceStatus } from "../../types/device-status";
5
6
  import { FrameReader } from "../../types/frame-reader";
6
7
  import { IMedicalDevice } from "../../types/i-medical-device";
@@ -10,7 +11,16 @@ interface DataProcessorCallbacks<T extends Measurement> {
10
11
  onStatusChanged?: (status: DeviceStatus, measurementTypeKey?: MeasurementTypeKey) => void;
11
12
  onStreamStart?: () => void;
12
13
  onResult?: (parsedData: MeasurementWithCaseType<Measurement>, collectedValues: string[]) => boolean | void;
13
- onSendCommandToDevice?: () => void;
14
+ /**
15
+ * Decides what to send in answer to one complete frame, if anything.
16
+ *
17
+ * The frame rather than nothing, because these exchanges are self-clocking: a file read
18
+ * walks its offsets from the reply it just got, and an identity check gates every later
19
+ * command on the first one. Neither can be expressed by re-sending a fixed frame.
20
+ */
21
+ nextCommand?: (frame: readonly string[]) => readonly DeviceCommand[] | undefined;
22
+ /** Sends what `nextCommand` decided. */
23
+ sendCommands?: (commands: readonly DeviceCommand[]) => void;
14
24
  onError?: (error: Error) => void;
15
25
  handleDependentResult?: (data: DependentResultHandlerParams<T>) => DependentResultHandlerParams<T>;
16
26
  }
@@ -48,6 +58,15 @@ export declare class BTDataProcessor<T extends Measurement> {
48
58
  * Treats the whole buffer as one frame, for devices that have not declared a reader.
49
59
  */
50
60
  private readWholeBuffer;
61
+ /**
62
+ * Answers one complete frame with whatever the device's sequencer decides.
63
+ *
64
+ * Every frame is offered, including one that matched no parsing case. An identity reply
65
+ * and a file-transfer chunk carry no measurement, and a sequencer that never saw them
66
+ * could not take the step that follows - the exchange would stop dead on the first frame
67
+ * that was protocol rather than data.
68
+ */
69
+ private answerFrame;
51
70
  private handleFrame;
52
71
  private reportCorruptFrame;
53
72
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"bt-data-processor.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-data-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAKjF,UAAU,sBAAsB,CAAC,CAAC,SAAS,WAAW;IACpD,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1D,eAAe,CAAC,EAAE,CAChB,MAAM,EAAE,YAAY,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,KACpC,IAAI,CAAC;IACV,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,CACT,UAAU,EAAE,uBAAuB,CAAC,WAAW,CAAC,EAChD,eAAe,EAAE,MAAM,EAAE,KACtB,OAAO,GAAG,IAAI,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,qBAAqB,CAAC,EAAE,CACtB,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,KAClC,4BAA4B,CAAC,CAAC,CAAC,CAAC;CACtC;AAED,qBAAa,eAAe,CAAC,CAAC,SAAS,WAAW;IAe9C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAlB/B;;;;;;;;OAQG;IACH,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,OAAO,CAAC,gBAAgB,CAA4C;gBAEjD,MAAM,EAAE,MAAM,EAC/B,YAAY,EAAE,cAAc,CAAC,aAAa,CAAC,EAC1B,wBAAwB,EAAE,MAAM,EAChC,SAAS,EAAE,sBAAsB,CAAC,CAAC,CAAC,EACpC,WAAW,CAAC,EAAE,WAAW,YAAA;IAU5C,OAAO,CAAC,WAAW,CAAc;IAE1B,OAAO,aAMZ;IAEK,WAAW,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,EAAE,UAgBpD;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB,CAgC1B;IAEF;;OAEG;IACH,OAAO,CAAC,eAAe,CAQrB;IAEF,OAAO,CAAC,WAAW,CAuBjB;IAEF,OAAO,CAAC,kBAAkB,CAQxB;IAEF;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB,CAevB;CACH"}
1
+ {"version":3,"file":"bt-data-processor.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-data-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAKjF,UAAU,sBAAsB,CAAC,CAAC,SAAS,WAAW;IACpD,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1D,eAAe,CAAC,EAAE,CAChB,MAAM,EAAE,YAAY,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,KACpC,IAAI,CAAC;IACV,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,CACT,UAAU,EAAE,uBAAuB,CAAC,WAAW,CAAC,EAChD,eAAe,EAAE,MAAM,EAAE,KACtB,OAAO,GAAG,IAAI,CAAC;IAEpB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,SAAS,aAAa,EAAE,GAAG,SAAS,CAAC;IAEjF,wCAAwC;IACxC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,KAAK,IAAI,CAAC;IAE5D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,qBAAqB,CAAC,EAAE,CACtB,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,KAClC,4BAA4B,CAAC,CAAC,CAAC,CAAC;CACtC;AAED,qBAAa,eAAe,CAAC,CAAC,SAAS,WAAW;IAe9C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAlB/B;;;;;;;;OAQG;IACH,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,OAAO,CAAC,gBAAgB,CAA4C;gBAEjD,MAAM,EAAE,MAAM,EAC/B,YAAY,EAAE,cAAc,CAAC,aAAa,CAAC,EAC1B,wBAAwB,EAAE,MAAM,EAChC,SAAS,EAAE,sBAAsB,CAAC,CAAC,CAAC,EACpC,WAAW,CAAC,EAAE,WAAW,YAAA;IAU5C,OAAO,CAAC,WAAW,CAAc;IAE1B,OAAO,aAMZ;IAEK,WAAW,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,EAAE,UAgBpD;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB,CA0B1B;IAEF;;OAEG;IACH,OAAO,CAAC,eAAe,CAQrB;IAEF;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW,CAMjB;IAEF,OAAO,CAAC,WAAW,CAuBjB;IAEF,OAAO,CAAC,kBAAkB,CAQxB;IAEF;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB,CAevB;CACH"}
@@ -1,5 +1,6 @@
1
1
  import { Measurement, MeasurementTypeKey } from "@ovok/core";
2
2
  import { BleError, Device } from "react-native-ble-plx";
3
+ import { CommandSequencer } from "../../types/command-sequencer";
3
4
  import { CreateDeviceParams } from "../../types/create-device-params";
4
5
  import { DependentResultHandlerParams } from "../../types/dependent-result-handler-params";
5
6
  import { DeviceData } from "../../types/device-data";
@@ -31,6 +32,17 @@ export declare abstract class BTManagedDevice<T extends DeviceKey = IntegratedDe
31
32
  */
32
33
  protected handleDependentResult?: (data: DependentResultHandlerParams<MeasurementTypeForDevices<[T]>>) => DependentResultHandlerParams<MeasurementTypeForDevices<[T]>>;
33
34
  protected abstract mainServices: IMedicalDevice["mainService"];
35
+ /**
36
+ * Builds the policy that decides what to send this device, and when.
37
+ *
38
+ * A factory rather than an instance, because a sequencer carries the state of the
39
+ * exchange - whether the device has identified itself, how far a file read has got. One
40
+ * shared across connections would resume a conversation the device has forgotten.
41
+ *
42
+ * A device that leaves this undefined polls with the command its services declare, which
43
+ * is what every device did before a policy could be expressed at all.
44
+ */
45
+ protected createCommandSequencer?: () => CommandSequencer;
34
46
  /**
35
47
  * Locates frame boundaries inside the notification buffer.
36
48
  *
@@ -62,6 +74,5 @@ export declare abstract class BTManagedDevice<T extends DeviceKey = IntegratedDe
62
74
  constructor(device: Device, { deviceName, onError: onErrorCallback, onDeviceStatusChanged: onDeviceStatusChangedCallback, onResult: onResultCallback, onDeviceDisconnected: onDeviceDisconnectedCallback, }: CreateDeviceParams<T>);
63
75
  destroy: () => void;
64
76
  connect: () => Promise<void>;
65
- private getSupportedMeasurementTypeKeys;
66
77
  }
67
78
  //# sourceMappingURL=bt-managed-device.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bt-managed-device.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-managed-device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAKjF,8BAAsB,eAAe,CAAC,CAAC,SAAS,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAC/E,YAAW,gBAAgB;aAqET,MAAM,EAAE,MAAM;IAnEzB,EAAE,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,aAAa,CAEP;IACP,UAAU,EAAE,UAAU,CAAC;IAE9B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAE5C;;;;;;;OAOG;IACH,SAAS,CAAC,qBAAqB,CAAC,EAAE,CAChC,IAAI,EAAE,4BAA4B,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAC/D,4BAA4B,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAElE,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAE/D;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IAEpC;;;;;OAKG;IACH,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACrE,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9C,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CACpC,aAAa,EAAE,uBAAuB,CAAC,WAAW,CAAC,EACnD,eAAe,EAAE,MAAM,EAAE,GACxB,IAAI,GAAG,OAAO;IAEV,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC;IACrD,qBAAqB,CAAC,EAAE,CAC7B,MAAM,EAAE,YAAY,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,KACpC,IAAI,CAAC;IACH,QAAQ,CAAC,EAAE,CAChB,IAAI,EAAE,uBAAuB,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAC1D,IAAI,CAAC;IACH,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;gBAEvB,MAAM,EAAE,MAAM,EAE9B,EACE,UAAU,EACV,OAAO,EAAE,eAAe,EACxB,qBAAqB,EAAE,6BAA6B,EACpD,QAAQ,EAAE,gBAAgB,EAC1B,oBAAoB,EAAE,4BAA4B,GACnD,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAsEnB,OAAO,aAUZ;IAEK,OAAO,sBAkDZ;IAEF,OAAO,CAAC,+BAA+B,CAarC;CACH"}
1
+ {"version":3,"file":"bt-managed-device.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-managed-device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAQjF,8BAAsB,eAAe,CAAC,CAAC,SAAS,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAC/E,YAAW,gBAAgB;aAiFT,MAAM,EAAE,MAAM;IA/EzB,EAAE,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,aAAa,CAEP;IACP,UAAU,EAAE,UAAU,CAAC;IAE9B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAE5C;;;;;;;OAOG;IACH,SAAS,CAAC,qBAAqB,CAAC,EAAE,CAChC,IAAI,EAAE,4BAA4B,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAC/D,4BAA4B,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAElE,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAE/D;;;;;;;;;OASG;IACH,SAAS,CAAC,sBAAsB,CAAC,EAAE,MAAM,gBAAgB,CAAC;IAE1D;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IAEpC;;;;;OAKG;IACH,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACrE,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9C,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CACpC,aAAa,EAAE,uBAAuB,CAAC,WAAW,CAAC,EACnD,eAAe,EAAE,MAAM,EAAE,GACxB,IAAI,GAAG,OAAO;IAEV,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC;IACrD,qBAAqB,CAAC,EAAE,CAC7B,MAAM,EAAE,YAAY,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,KACpC,IAAI,CAAC;IACH,QAAQ,CAAC,EAAE,CAChB,IAAI,EAAE,uBAAuB,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAC1D,IAAI,CAAC;IACH,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;gBAEvB,MAAM,EAAE,MAAM,EAE9B,EACE,UAAU,EACV,OAAO,EAAE,eAAe,EACxB,qBAAqB,EAAE,6BAA6B,EACpD,QAAQ,EAAE,gBAAgB,EAC1B,oBAAoB,EAAE,4BAA4B,GACnD,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAgEnB,OAAO,aAUZ;IAEK,OAAO,sBAyDZ;CAEH"}
@@ -0,0 +1,30 @@
1
+ import { CommandSequencer } from "../../../types/command-sequencer";
2
+ import { CustomLepuSpec } from "../../../types/custom-lepu-spec";
3
+ import { DeviceData } from "../../../types/device-data";
4
+ import { LepuDeviceInfo } from "../lepu/lepu.device-info";
5
+ interface IdentityReport {
6
+ onIdentified: (info: LepuDeviceInfo) => void;
7
+ onRefused: (reason: string) => void;
8
+ }
9
+ /**
10
+ * Builds the gate a Lepu declaration asks for.
11
+ *
12
+ * A fresh builder each time, because its sequence number is per connection: one shared
13
+ * across devices would interleave their counters, which is a defect the vendor's own global
14
+ * counter has.
15
+ *
16
+ * Frames are built with the first declared start byte. A device that accepts either still
17
+ * answers on the one it is addressed with, so the list matters for reading and its head for
18
+ * writing.
19
+ */
20
+ /**
21
+ * Records what the device said it was.
22
+ *
23
+ * The model number is logged because it is the only place one exists: the vendor's SDK
24
+ * never reads the field back, so a declaration written without it is completed by
25
+ * connecting once and reading this line.
26
+ */
27
+ declare const recordLepuIdentity: (deviceData: DeviceData, info: LepuDeviceInfo) => void;
28
+ declare const createLepuSequencer: (lepu: CustomLepuSpec, report: IdentityReport) => CommandSequencer;
29
+ export { createLepuSequencer, recordLepuIdentity };
30
+ //# sourceMappingURL=custom-lepu-sequencer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-lepu-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAM1D,UAAU,cAAc;IACtB,YAAY,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED;;;;;;;;;;GAUG;AACH;;;;;;GAMG;AACH,QAAA,MAAM,kBAAkB,GACtB,YAAY,UAAU,EACtB,MAAM,cAAc,KACnB,IAUF,CAAC;AAEF,QAAA,MAAM,mBAAmB,GACvB,MAAM,cAAc,EACpB,QAAQ,cAAc,KACrB,gBAWC,CAAC;AAEL,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC"}