@ovok/native 1.10.10 → 1.10.12

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 (418) hide show
  1. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js +20 -1
  2. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  3. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-and-medical-variants.js +47 -0
  4. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-and-medical-variants.js.map +1 -0
  5. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-cofoe-variants.js +119 -0
  6. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-cofoe-variants.js.map +1 -0
  7. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-standard-variants.js +6 -0
  8. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-standard-variants.js.map +1 -1
  9. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-taidoc-variants.js +173 -0
  10. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-taidoc-variants.js.map +1 -0
  11. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.js +107 -0
  12. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.js.map +1 -0
  13. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-variants.js +10 -0
  14. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-variants.js.map +1 -1
  15. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-yonker-variants.js +113 -0
  16. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-yonker-variants.js.map +1 -0
  17. package/lib/commonjs/modules/bt-device/constants/supported-devices.js +5 -37
  18. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
  19. package/lib/commonjs/modules/bt-management/constants/and-medical-device-variants.js +39 -0
  20. package/lib/commonjs/modules/bt-management/constants/and-medical-device-variants.js.map +1 -0
  21. package/lib/commonjs/modules/bt-management/constants/built-in-measurement-types.js +86 -0
  22. package/lib/commonjs/modules/bt-management/constants/built-in-measurement-types.js.map +1 -0
  23. package/lib/commonjs/modules/bt-management/constants/cofoe-device-variants.js +101 -0
  24. package/lib/commonjs/modules/bt-management/constants/cofoe-device-variants.js.map +1 -0
  25. package/lib/commonjs/modules/bt-management/constants/device-variants.js +6 -1
  26. package/lib/commonjs/modules/bt-management/constants/device-variants.js.map +1 -1
  27. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js +1 -1
  28. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  29. package/lib/commonjs/modules/bt-management/constants/standard-device-variants.js +5 -0
  30. package/lib/commonjs/modules/bt-management/constants/standard-device-variants.js.map +1 -1
  31. package/lib/commonjs/modules/bt-management/constants/taidoc-device-variants.js +144 -0
  32. package/lib/commonjs/modules/bt-management/constants/taidoc-device-variants.js.map +1 -0
  33. package/lib/commonjs/modules/bt-management/constants/transtek-a6-device-variants.js +89 -0
  34. package/lib/commonjs/modules/bt-management/constants/transtek-a6-device-variants.js.map +1 -0
  35. package/lib/commonjs/modules/bt-management/constants/yonker-device-variants.js +93 -0
  36. package/lib/commonjs/modules/bt-management/constants/yonker-device-variants.js.map +1 -0
  37. package/lib/commonjs/modules/bt-management/core/resolve-device-key.js +6 -0
  38. package/lib/commonjs/modules/bt-management/core/resolve-device-key.js.map +1 -1
  39. package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js +18 -0
  40. package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -1
  41. package/lib/commonjs/modules/bt-management/services/device-classes.js +27 -1
  42. package/lib/commonjs/modules/bt-management/services/device-classes.js.map +1 -1
  43. package/lib/commonjs/modules/bt-management/services/device-creator.js +5 -3
  44. package/lib/commonjs/modules/bt-management/services/device-creator.js.map +1 -1
  45. package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.device.js +61 -0
  46. package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.device.js.map +1 -0
  47. package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.protocol.js +113 -0
  48. package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.protocol.js.map +1 -0
  49. package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.sequencer.js +77 -0
  50. package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.sequencer.js.map +1 -0
  51. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-70b.device.js +1 -1
  52. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-70b.device.js.map +1 -1
  53. package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +7 -25
  54. package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -1
  55. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +3 -2
  56. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  57. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +7 -2
  58. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  59. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.js +86 -0
  60. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.js.map +1 -0
  61. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.js +155 -0
  62. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.js.map +1 -0
  63. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.js +33 -0
  64. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.js.map +1 -0
  65. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.device.js +87 -0
  66. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.device.js.map +1 -0
  67. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.protocol.js +185 -0
  68. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.protocol.js.map +1 -0
  69. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.records.js +86 -0
  70. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.records.js.map +1 -0
  71. package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.device.js +1 -1
  72. package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.device.js.map +1 -1
  73. package/lib/commonjs/modules/bt-management/services/devices/live-oximeter.sequencer.js +10 -6
  74. package/lib/commonjs/modules/bt-management/services/devices/live-oximeter.sequencer.js.map +1 -1
  75. package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.device.js +50 -0
  76. package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.device.js.map +1 -0
  77. package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.protocol.js +127 -0
  78. package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.protocol.js.map +1 -0
  79. package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.records.js +181 -0
  80. package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.records.js.map +1 -0
  81. package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.sequencer.js +139 -0
  82. package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.sequencer.js.map +1 -0
  83. package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.device.js +50 -0
  84. package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.device.js.map +1 -0
  85. package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.measurements.js +78 -0
  86. package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.measurements.js.map +1 -0
  87. package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.protocol.js +134 -0
  88. package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.protocol.js.map +1 -0
  89. package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.sequencer.js +102 -0
  90. package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.sequencer.js.map +1 -0
  91. package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.device.js +51 -0
  92. package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.device.js.map +1 -0
  93. package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.measurements.js +48 -0
  94. package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.measurements.js.map +1 -0
  95. package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.protocol.js +181 -0
  96. package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.protocol.js.map +1 -0
  97. package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.js +73 -0
  98. package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.js.map +1 -0
  99. package/lib/commonjs/modules/bt-management/services/devices/yonker/yonker.device.js +90 -0
  100. package/lib/commonjs/modules/bt-management/services/devices/yonker/yonker.device.js.map +1 -0
  101. package/lib/commonjs/modules/bt-management/services/devices/yonker/yonker.protocol.js +202 -0
  102. package/lib/commonjs/modules/bt-management/services/devices/yonker/yonker.protocol.js.map +1 -0
  103. package/lib/commonjs/modules/bt-management/services/devices/yonker/yonker.sequencer.js +137 -0
  104. package/lib/commonjs/modules/bt-management/services/devices/yonker/yonker.sequencer.js.map +1 -0
  105. package/lib/commonjs/modules/bt-management/types/clock-sync.js +2 -0
  106. package/lib/commonjs/modules/bt-management/types/clock-sync.js.map +1 -1
  107. package/lib/commonjs/modules/bt-management/types/integrated-devices.js +19 -0
  108. package/lib/commonjs/modules/bt-management/types/integrated-devices.js.map +1 -1
  109. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js +20 -1
  110. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  111. package/lib/module/modules/bt-device/constants/supported-device-catalog-and-medical-variants.js +45 -0
  112. package/lib/module/modules/bt-device/constants/supported-device-catalog-and-medical-variants.js.map +1 -0
  113. package/lib/module/modules/bt-device/constants/supported-device-catalog-cofoe-variants.js +117 -0
  114. package/lib/module/modules/bt-device/constants/supported-device-catalog-cofoe-variants.js.map +1 -0
  115. package/lib/module/modules/bt-device/constants/supported-device-catalog-standard-variants.js +6 -0
  116. package/lib/module/modules/bt-device/constants/supported-device-catalog-standard-variants.js.map +1 -1
  117. package/lib/module/modules/bt-device/constants/supported-device-catalog-taidoc-variants.js +171 -0
  118. package/lib/module/modules/bt-device/constants/supported-device-catalog-taidoc-variants.js.map +1 -0
  119. package/lib/module/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.js +105 -0
  120. package/lib/module/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.js.map +1 -0
  121. package/lib/module/modules/bt-device/constants/supported-device-catalog-variants.js +10 -0
  122. package/lib/module/modules/bt-device/constants/supported-device-catalog-variants.js.map +1 -1
  123. package/lib/module/modules/bt-device/constants/supported-device-catalog-yonker-variants.js +111 -0
  124. package/lib/module/modules/bt-device/constants/supported-device-catalog-yonker-variants.js.map +1 -0
  125. package/lib/module/modules/bt-device/constants/supported-devices.js +5 -37
  126. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
  127. package/lib/module/modules/bt-management/constants/and-medical-device-variants.js +37 -0
  128. package/lib/module/modules/bt-management/constants/and-medical-device-variants.js.map +1 -0
  129. package/lib/module/modules/bt-management/constants/built-in-measurement-types.js +84 -0
  130. package/lib/module/modules/bt-management/constants/built-in-measurement-types.js.map +1 -0
  131. package/lib/module/modules/bt-management/constants/cofoe-device-variants.js +99 -0
  132. package/lib/module/modules/bt-management/constants/cofoe-device-variants.js.map +1 -0
  133. package/lib/module/modules/bt-management/constants/device-variants.js +6 -1
  134. package/lib/module/modules/bt-management/constants/device-variants.js.map +1 -1
  135. package/lib/module/modules/bt-management/constants/integrated-devices-map.js +1 -1
  136. package/lib/module/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  137. package/lib/module/modules/bt-management/constants/standard-device-variants.js +5 -0
  138. package/lib/module/modules/bt-management/constants/standard-device-variants.js.map +1 -1
  139. package/lib/module/modules/bt-management/constants/taidoc-device-variants.js +142 -0
  140. package/lib/module/modules/bt-management/constants/taidoc-device-variants.js.map +1 -0
  141. package/lib/module/modules/bt-management/constants/transtek-a6-device-variants.js +87 -0
  142. package/lib/module/modules/bt-management/constants/transtek-a6-device-variants.js.map +1 -0
  143. package/lib/module/modules/bt-management/constants/yonker-device-variants.js +91 -0
  144. package/lib/module/modules/bt-management/constants/yonker-device-variants.js.map +1 -0
  145. package/lib/module/modules/bt-management/core/resolve-device-key.js +6 -0
  146. package/lib/module/modules/bt-management/core/resolve-device-key.js.map +1 -1
  147. package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js +18 -0
  148. package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -1
  149. package/lib/module/modules/bt-management/services/device-classes.js +27 -1
  150. package/lib/module/modules/bt-management/services/device-classes.js.map +1 -1
  151. package/lib/module/modules/bt-management/services/device-creator.js +5 -3
  152. package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
  153. package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.device.js +57 -0
  154. package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.device.js.map +1 -0
  155. package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.protocol.js +106 -0
  156. package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.protocol.js.map +1 -0
  157. package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.sequencer.js +74 -0
  158. package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.sequencer.js.map +1 -0
  159. package/lib/module/modules/bt-management/services/devices/aoj/aoj-70b.device.js +2 -2
  160. package/lib/module/modules/bt-management/services/devices/aoj/aoj-70b.device.js.map +1 -1
  161. package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +6 -24
  162. package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -1
  163. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +3 -2
  164. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  165. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +7 -2
  166. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  167. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.js +82 -0
  168. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.js.map +1 -0
  169. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.js +148 -0
  170. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.js.map +1 -0
  171. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.js +30 -0
  172. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.js.map +1 -0
  173. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.device.js +83 -0
  174. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.device.js.map +1 -0
  175. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.protocol.js +173 -0
  176. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.protocol.js.map +1 -0
  177. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.records.js +78 -0
  178. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.records.js.map +1 -0
  179. package/lib/module/modules/bt-management/services/devices/jumper/jumper.device.js +2 -2
  180. package/lib/module/modules/bt-management/services/devices/jumper/jumper.device.js.map +1 -1
  181. package/lib/module/modules/bt-management/services/devices/live-oximeter.sequencer.js +10 -6
  182. package/lib/module/modules/bt-management/services/devices/live-oximeter.sequencer.js.map +1 -1
  183. package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.device.js +46 -0
  184. package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.device.js.map +1 -0
  185. package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.protocol.js +114 -0
  186. package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.protocol.js.map +1 -0
  187. package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.records.js +168 -0
  188. package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.records.js.map +1 -0
  189. package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.sequencer.js +136 -0
  190. package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.sequencer.js.map +1 -0
  191. package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.device.js +45 -0
  192. package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.device.js.map +1 -0
  193. package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.measurements.js +73 -0
  194. package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.measurements.js.map +1 -0
  195. package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.protocol.js +121 -0
  196. package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.protocol.js.map +1 -0
  197. package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.sequencer.js +97 -0
  198. package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.sequencer.js.map +1 -0
  199. package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.device.js +46 -0
  200. package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.device.js.map +1 -0
  201. package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.measurements.js +43 -0
  202. package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.measurements.js.map +1 -0
  203. package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.protocol.js +174 -0
  204. package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.protocol.js.map +1 -0
  205. package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.js +68 -0
  206. package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.js.map +1 -0
  207. package/lib/module/modules/bt-management/services/devices/yonker/yonker.device.js +86 -0
  208. package/lib/module/modules/bt-management/services/devices/yonker/yonker.device.js.map +1 -0
  209. package/lib/module/modules/bt-management/services/devices/yonker/yonker.protocol.js +186 -0
  210. package/lib/module/modules/bt-management/services/devices/yonker/yonker.protocol.js.map +1 -0
  211. package/lib/module/modules/bt-management/services/devices/yonker/yonker.sequencer.js +133 -0
  212. package/lib/module/modules/bt-management/services/devices/yonker/yonker.sequencer.js.map +1 -0
  213. package/lib/module/modules/bt-management/types/clock-sync.js +2 -0
  214. package/lib/module/modules/bt-management/types/clock-sync.js.map +1 -1
  215. package/lib/module/modules/bt-management/types/device-measurement-map.js.map +1 -1
  216. package/lib/module/modules/bt-management/types/integrated-devices.js +19 -0
  217. package/lib/module/modules/bt-management/types/integrated-devices.js.map +1 -1
  218. package/lib/typescript/commonjs/src/modules/auth/hooks/use-sign-in.d.ts +1 -1
  219. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  220. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-and-medical-variants.d.ts +5 -0
  221. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-and-medical-variants.d.ts.map +1 -0
  222. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-cofoe-variants.d.ts +5 -0
  223. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-cofoe-variants.d.ts.map +1 -0
  224. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-standard-variants.d.ts.map +1 -1
  225. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-taidoc-variants.d.ts +5 -0
  226. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-taidoc-variants.d.ts.map +1 -0
  227. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.d.ts +5 -0
  228. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.d.ts.map +1 -0
  229. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-variants.d.ts.map +1 -1
  230. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-yonker-variants.d.ts +5 -0
  231. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-yonker-variants.d.ts.map +1 -0
  232. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  233. package/lib/typescript/commonjs/src/modules/bt-management/constants/and-medical-device-variants.d.ts +5 -0
  234. package/lib/typescript/commonjs/src/modules/bt-management/constants/and-medical-device-variants.d.ts.map +1 -0
  235. package/lib/typescript/commonjs/src/modules/bt-management/constants/built-in-measurement-types.d.ts +9 -0
  236. package/lib/typescript/commonjs/src/modules/bt-management/constants/built-in-measurement-types.d.ts.map +1 -0
  237. package/lib/typescript/commonjs/src/modules/bt-management/constants/cofoe-device-variants.d.ts +5 -0
  238. package/lib/typescript/commonjs/src/modules/bt-management/constants/cofoe-device-variants.d.ts.map +1 -0
  239. package/lib/typescript/commonjs/src/modules/bt-management/constants/device-variants.d.ts.map +1 -1
  240. package/lib/typescript/commonjs/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
  241. package/lib/typescript/commonjs/src/modules/bt-management/constants/standard-device-variants.d.ts.map +1 -1
  242. package/lib/typescript/commonjs/src/modules/bt-management/constants/taidoc-device-variants.d.ts +5 -0
  243. package/lib/typescript/commonjs/src/modules/bt-management/constants/taidoc-device-variants.d.ts.map +1 -0
  244. package/lib/typescript/commonjs/src/modules/bt-management/constants/transtek-a6-device-variants.d.ts +5 -0
  245. package/lib/typescript/commonjs/src/modules/bt-management/constants/transtek-a6-device-variants.d.ts.map +1 -0
  246. package/lib/typescript/commonjs/src/modules/bt-management/constants/yonker-device-variants.d.ts +5 -0
  247. package/lib/typescript/commonjs/src/modules/bt-management/constants/yonker-device-variants.d.ts.map +1 -0
  248. package/lib/typescript/commonjs/src/modules/bt-management/core/resolve-device-key.d.ts.map +1 -1
  249. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts.map +1 -1
  250. package/lib/typescript/commonjs/src/modules/bt-management/services/device-classes.d.ts +26 -0
  251. package/lib/typescript/commonjs/src/modules/bt-management/services/device-classes.d.ts.map +1 -1
  252. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  253. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.device.d.ts +18 -0
  254. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.device.d.ts.map +1 -0
  255. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.protocol.d.ts +30 -0
  256. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.protocol.d.ts.map +1 -0
  257. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.sequencer.d.ts +26 -0
  258. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.sequencer.d.ts.map +1 -0
  259. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -1
  260. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  261. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
  262. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  263. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.d.ts +32 -0
  264. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.d.ts.map +1 -0
  265. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.d.ts +46 -0
  266. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.d.ts.map +1 -0
  267. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.d.ts +15 -0
  268. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.d.ts.map +1 -0
  269. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.device.d.ts +18 -0
  270. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.device.d.ts.map +1 -0
  271. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.protocol.d.ts +75 -0
  272. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.protocol.d.ts.map +1 -0
  273. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.records.d.ts +22 -0
  274. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.records.d.ts.map +1 -0
  275. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.device.d.ts.map +1 -1
  276. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts +6 -2
  277. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts.map +1 -1
  278. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.device.d.ts +16 -0
  279. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.device.d.ts.map +1 -0
  280. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.protocol.d.ts +50 -0
  281. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.protocol.d.ts.map +1 -0
  282. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.records.d.ts +40 -0
  283. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.records.d.ts.map +1 -0
  284. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.sequencer.d.ts +38 -0
  285. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.sequencer.d.ts.map +1 -0
  286. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.device.d.ts +16 -0
  287. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.device.d.ts.map +1 -0
  288. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.measurements.d.ts +5 -0
  289. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.measurements.d.ts.map +1 -0
  290. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.protocol.d.ts +22 -0
  291. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.protocol.d.ts.map +1 -0
  292. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.sequencer.d.ts +28 -0
  293. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.sequencer.d.ts.map +1 -0
  294. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.device.d.ts +16 -0
  295. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.device.d.ts.map +1 -0
  296. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.measurements.d.ts +6 -0
  297. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.measurements.d.ts.map +1 -0
  298. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.protocol.d.ts +18 -0
  299. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.protocol.d.ts.map +1 -0
  300. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.d.ts +21 -0
  301. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.d.ts.map +1 -0
  302. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/yonker/yonker.device.d.ts +21 -0
  303. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/yonker/yonker.device.d.ts.map +1 -0
  304. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/yonker/yonker.protocol.d.ts +62 -0
  305. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/yonker/yonker.protocol.d.ts.map +1 -0
  306. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/yonker/yonker.sequencer.d.ts +46 -0
  307. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/yonker/yonker.sequencer.d.ts.map +1 -0
  308. package/lib/typescript/commonjs/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
  309. package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts +1 -0
  310. package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts.map +1 -1
  311. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +20 -1
  312. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  313. package/lib/typescript/commonjs/src/modules/bt-management/types/frame-reader.d.ts +2 -1
  314. package/lib/typescript/commonjs/src/modules/bt-management/types/frame-reader.d.ts.map +1 -1
  315. package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts +20 -1
  316. package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
  317. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts +2 -2
  318. package/lib/typescript/module/src/modules/auth/hooks/use-sign-in.d.ts +1 -1
  319. package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  320. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-and-medical-variants.d.ts +5 -0
  321. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-and-medical-variants.d.ts.map +1 -0
  322. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-cofoe-variants.d.ts +5 -0
  323. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-cofoe-variants.d.ts.map +1 -0
  324. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-standard-variants.d.ts.map +1 -1
  325. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-taidoc-variants.d.ts +5 -0
  326. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-taidoc-variants.d.ts.map +1 -0
  327. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.d.ts +5 -0
  328. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.d.ts.map +1 -0
  329. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-variants.d.ts.map +1 -1
  330. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-yonker-variants.d.ts +5 -0
  331. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-yonker-variants.d.ts.map +1 -0
  332. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  333. package/lib/typescript/module/src/modules/bt-management/constants/and-medical-device-variants.d.ts +5 -0
  334. package/lib/typescript/module/src/modules/bt-management/constants/and-medical-device-variants.d.ts.map +1 -0
  335. package/lib/typescript/module/src/modules/bt-management/constants/built-in-measurement-types.d.ts +9 -0
  336. package/lib/typescript/module/src/modules/bt-management/constants/built-in-measurement-types.d.ts.map +1 -0
  337. package/lib/typescript/module/src/modules/bt-management/constants/cofoe-device-variants.d.ts +5 -0
  338. package/lib/typescript/module/src/modules/bt-management/constants/cofoe-device-variants.d.ts.map +1 -0
  339. package/lib/typescript/module/src/modules/bt-management/constants/device-variants.d.ts.map +1 -1
  340. package/lib/typescript/module/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
  341. package/lib/typescript/module/src/modules/bt-management/constants/standard-device-variants.d.ts.map +1 -1
  342. package/lib/typescript/module/src/modules/bt-management/constants/taidoc-device-variants.d.ts +5 -0
  343. package/lib/typescript/module/src/modules/bt-management/constants/taidoc-device-variants.d.ts.map +1 -0
  344. package/lib/typescript/module/src/modules/bt-management/constants/transtek-a6-device-variants.d.ts +5 -0
  345. package/lib/typescript/module/src/modules/bt-management/constants/transtek-a6-device-variants.d.ts.map +1 -0
  346. package/lib/typescript/module/src/modules/bt-management/constants/yonker-device-variants.d.ts +5 -0
  347. package/lib/typescript/module/src/modules/bt-management/constants/yonker-device-variants.d.ts.map +1 -0
  348. package/lib/typescript/module/src/modules/bt-management/core/resolve-device-key.d.ts.map +1 -1
  349. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts.map +1 -1
  350. package/lib/typescript/module/src/modules/bt-management/services/device-classes.d.ts +26 -0
  351. package/lib/typescript/module/src/modules/bt-management/services/device-classes.d.ts.map +1 -1
  352. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  353. package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.device.d.ts +18 -0
  354. package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.device.d.ts.map +1 -0
  355. package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.protocol.d.ts +30 -0
  356. package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.protocol.d.ts.map +1 -0
  357. package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.sequencer.d.ts +26 -0
  358. package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.sequencer.d.ts.map +1 -0
  359. package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -1
  360. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  361. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
  362. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  363. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.d.ts +32 -0
  364. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.d.ts.map +1 -0
  365. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.d.ts +46 -0
  366. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.d.ts.map +1 -0
  367. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.d.ts +15 -0
  368. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.d.ts.map +1 -0
  369. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.device.d.ts +18 -0
  370. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.device.d.ts.map +1 -0
  371. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.protocol.d.ts +75 -0
  372. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.protocol.d.ts.map +1 -0
  373. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.records.d.ts +22 -0
  374. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.records.d.ts.map +1 -0
  375. package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.device.d.ts.map +1 -1
  376. package/lib/typescript/module/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts +6 -2
  377. package/lib/typescript/module/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts.map +1 -1
  378. package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.device.d.ts +16 -0
  379. package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.device.d.ts.map +1 -0
  380. package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.protocol.d.ts +50 -0
  381. package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.protocol.d.ts.map +1 -0
  382. package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.records.d.ts +40 -0
  383. package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.records.d.ts.map +1 -0
  384. package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.sequencer.d.ts +38 -0
  385. package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.sequencer.d.ts.map +1 -0
  386. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.device.d.ts +16 -0
  387. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.device.d.ts.map +1 -0
  388. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.measurements.d.ts +5 -0
  389. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.measurements.d.ts.map +1 -0
  390. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.protocol.d.ts +22 -0
  391. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.protocol.d.ts.map +1 -0
  392. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.sequencer.d.ts +28 -0
  393. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.sequencer.d.ts.map +1 -0
  394. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.device.d.ts +16 -0
  395. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.device.d.ts.map +1 -0
  396. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.measurements.d.ts +6 -0
  397. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.measurements.d.ts.map +1 -0
  398. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.protocol.d.ts +18 -0
  399. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.protocol.d.ts.map +1 -0
  400. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.d.ts +21 -0
  401. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.d.ts.map +1 -0
  402. package/lib/typescript/module/src/modules/bt-management/services/devices/yonker/yonker.device.d.ts +21 -0
  403. package/lib/typescript/module/src/modules/bt-management/services/devices/yonker/yonker.device.d.ts.map +1 -0
  404. package/lib/typescript/module/src/modules/bt-management/services/devices/yonker/yonker.protocol.d.ts +62 -0
  405. package/lib/typescript/module/src/modules/bt-management/services/devices/yonker/yonker.protocol.d.ts.map +1 -0
  406. package/lib/typescript/module/src/modules/bt-management/services/devices/yonker/yonker.sequencer.d.ts +46 -0
  407. package/lib/typescript/module/src/modules/bt-management/services/devices/yonker/yonker.sequencer.d.ts.map +1 -0
  408. package/lib/typescript/module/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
  409. package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts +1 -0
  410. package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts.map +1 -1
  411. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +20 -1
  412. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  413. package/lib/typescript/module/src/modules/bt-management/types/frame-reader.d.ts +2 -1
  414. package/lib/typescript/module/src/modules/bt-management/types/frame-reader.d.ts.map +1 -1
  415. package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts +20 -1
  416. package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
  417. package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts +2 -2
  418. package/package.json +1 -1
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CofoeKfb06Sequencer = exports.CofoeCgh25Sequencer = void 0;
7
+ var _core = require("@ovok/core");
8
+ var _caseType = require("../../../types/case-type.js");
9
+ var _cofoeProtocol = require("./cofoe.protocol.js");
10
+ var _cofoeRecords = require("./cofoe.records.js");
11
+ /* eslint-disable import/group-exports */
12
+
13
+ const command = frame => ({
14
+ serviceUuid: _cofoeProtocol.COFOE_GATT.glucometer.service,
15
+ characteristicUuid: _cofoeProtocol.COFOE_GATT.glucometer.write,
16
+ frame
17
+ });
18
+ const report = (params, reading) => params.onResult({
19
+ caseType: _caseType.CaseType.RESULT,
20
+ measurementTypeKey: _core.MeasurementTypeKey.bloodGlucose,
21
+ ...reading
22
+ });
23
+ const KFB06 = {
24
+ handshake: 0x01,
25
+ getInfo: 0x03,
26
+ setTime: 0x10,
27
+ getData: 0x07,
28
+ ack: 0x40,
29
+ ok: 0x00,
30
+ info: 0x13,
31
+ header: 0x15,
32
+ record: 0x11
33
+ };
34
+
35
+ /** MedM re-sends get-data every second until the data header arrives. */
36
+ const GET_DATA_RETRY_MS = 1_000;
37
+
38
+ /**
39
+ * KF-B06, CGH200 and Novocont Comfort: handshake, device info, set the clock, then get-data
40
+ * until the data header (`15`) arrives, and acknowledge each `11` record with the sequence
41
+ * byte it carried. There is no end-of-data command; the meter closes the link.
42
+ */
43
+ class CofoeKfb06Sequencer {
44
+ phase = "handshake";
45
+ sequence = 0;
46
+ constructor(params) {
47
+ this.params = params;
48
+ }
49
+ initialCommands = () => [this.send(KFB06.handshake)];
50
+ isHistoryTransfer = () => true;
51
+ isNormalDisconnect = () => this.phase === "records";
52
+ commandTimeoutMs = () => this.phase === "header" ? GET_DATA_RETRY_MS : undefined;
53
+ onCommandTimeout = () => this.phase === "header" ? {
54
+ commands: [this.send(KFB06.getData)]
55
+ } : {};
56
+
57
+ /** Keeps the get-data retry running across anything that is not the data header. */
58
+ commandProgress = frame => this.phase === "header" && (0, _cofoeProtocol.unframe)("kfb06", frame).command !== KFB06.header ? "partial" : "complete";
59
+ nextCommand = frame => {
60
+ const {
61
+ command: received,
62
+ sequence,
63
+ body
64
+ } = (0, _cofoeProtocol.unframe)("kfb06", frame);
65
+ if (this.phase === "handshake" && received === KFB06.ok) {
66
+ this.phase = "info";
67
+ return [this.send(KFB06.getInfo)];
68
+ }
69
+ if (this.phase === "info" && received === KFB06.info) {
70
+ this.phase = "time";
71
+ return [command((0, _cofoeProtocol.kfb06SetTime)(this.sequence++, this.now()))];
72
+ }
73
+ if (this.phase === "time" && received === KFB06.ok) {
74
+ this.phase = "header";
75
+ return [this.send(KFB06.getData)];
76
+ }
77
+ if (this.phase === "header" && received === KFB06.header) {
78
+ this.phase = "records";
79
+ }
80
+ if ((this.phase === "header" || this.phase === "records") && received === KFB06.record) {
81
+ const reading = (0, _cofoeRecords.readKfb06Glucose)(body);
82
+ if (reading) {
83
+ report(this.params, reading);
84
+ }
85
+ return [command((0, _cofoeProtocol.kfb06Frame)(KFB06.ack, sequence))];
86
+ }
87
+ return undefined;
88
+ };
89
+ send = code => command((0, _cofoeProtocol.kfb06Frame)(code, this.sequence++));
90
+ now = () => this.params.now?.() ?? new Date();
91
+ }
92
+ exports.CofoeKfb06Sequencer = CofoeKfb06Sequencer;
93
+ const CGH25 = {
94
+ live: 0x00,
95
+ timeRequest: 0x01,
96
+ record: 0x02,
97
+ count: 0x04,
98
+ ready: 0x06,
99
+ getRecord: 0x02,
100
+ getCount: 0x04
101
+ };
102
+
103
+ /**
104
+ * CGH25 and CGH30. The meter drives: it asks for the time (`01`), says it is ready (`06`), is
105
+ * asked for its record count, and the records are then pulled newest first, from index `count`
106
+ * down to 1. MedM can also wipe the meter's memory afterwards; that is never done here.
107
+ */
108
+ class CofoeCgh25Sequencer {
109
+ remaining = 0;
110
+ finished = false;
111
+ constructor(params) {
112
+ this.params = params;
113
+ }
114
+ initialCommands = () => [];
115
+ isHistoryTransfer = () => true;
116
+ isNormalDisconnect = () => this.finished;
117
+ nextCommand = frame => {
118
+ const {
119
+ command: received,
120
+ body
121
+ } = (0, _cofoeProtocol.unframe)("cgh25", frame);
122
+ switch (received) {
123
+ case CGH25.timeRequest:
124
+ return [command((0, _cofoeProtocol.cgh25SetTime)(this.now()))];
125
+ case CGH25.ready:
126
+ return [command((0, _cofoeProtocol.cgh25Frame)(CGH25.getCount))];
127
+ case CGH25.count:
128
+ this.remaining = (body[0] ?? 0) << 8 | (body[1] ?? 0);
129
+ return this.requestNext();
130
+ case CGH25.live:
131
+ case CGH25.record:
132
+ {
133
+ const reading = (0, _cofoeRecords.readCgh25Glucose)(body);
134
+ if (reading) {
135
+ report(this.params, reading);
136
+ }
137
+ return received === CGH25.record ? this.requestNext() : undefined;
138
+ }
139
+ default:
140
+ return undefined;
141
+ }
142
+ };
143
+ requestNext = () => {
144
+ const index = this.remaining;
145
+ if (index < 1) {
146
+ this.finished = true;
147
+ return undefined;
148
+ }
149
+ this.remaining = index - 1;
150
+ return [command((0, _cofoeProtocol.cgh25Frame)(CGH25.getRecord, [index >> 8, index & 0xff, 0, 0, 0, 0, 0, 0, 0]))];
151
+ };
152
+ now = () => this.params.now?.() ?? new Date();
153
+ }
154
+ exports.CofoeCgh25Sequencer = CofoeCgh25Sequencer;
155
+ //# sourceMappingURL=cofoe-glucose.sequencer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_core","require","_caseType","_cofoeProtocol","_cofoeRecords","command","frame","serviceUuid","COFOE_GATT","glucometer","service","characteristicUuid","write","report","params","reading","onResult","caseType","CaseType","RESULT","measurementTypeKey","MeasurementTypeKey","bloodGlucose","KFB06","handshake","getInfo","setTime","getData","ack","ok","info","header","record","GET_DATA_RETRY_MS","CofoeKfb06Sequencer","phase","sequence","constructor","initialCommands","send","isHistoryTransfer","isNormalDisconnect","commandTimeoutMs","undefined","onCommandTimeout","commands","commandProgress","unframe","nextCommand","received","body","kfb06SetTime","now","readKfb06Glucose","kfb06Frame","code","Date","exports","CGH25","live","timeRequest","count","ready","getRecord","getCount","CofoeCgh25Sequencer","remaining","finished","cgh25SetTime","cgh25Frame","requestNext","readCgh25Glucose","index"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.ts"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AAIA,IAAAE,cAAA,GAAAF,OAAA;AAQA,IAAAG,aAAA,GAAAH,OAAA;AAfA;;AAsBA,MAAMI,OAAO,GAAIC,KAAwB,KAAqB;EAC5DC,WAAW,EAAEC,yBAAU,CAACC,UAAU,CAACC,OAAO;EAC1CC,kBAAkB,EAAEH,yBAAU,CAACC,UAAU,CAACG,KAAK;EAC/CN;AACF,CAAC,CAAC;AAEF,MAAMO,MAAM,GAAGA,CAACC,MAA8B,EAAEC,OAAqB,KACnED,MAAM,CAACE,QAAQ,CAAC;EACdC,QAAQ,EAAEC,kBAAQ,CAACC,MAAM;EACzBC,kBAAkB,EAAEC,wBAAkB,CAACC,YAAY;EACnD,GAAGP;AACL,CAAC,CAAC;AAEJ,MAAMQ,KAAK,GAAG;EACZC,SAAS,EAAE,IAAI;EACfC,OAAO,EAAE,IAAI;EACbC,OAAO,EAAE,IAAI;EACbC,OAAO,EAAE,IAAI;EACbC,GAAG,EAAE,IAAI;EACTC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,IAAI;EACVC,MAAM,EAAE,IAAI;EACZC,MAAM,EAAE;AACV,CAAU;;AAEV;AACA,MAAMC,iBAAiB,GAAG,KAAK;;AAE/B;AACA;AACA;AACA;AACA;AACO,MAAMC,mBAAmB,CAA6B;EACnDC,KAAK,GAAyD,WAAW;EACzEC,QAAQ,GAAG,CAAC;EAEbC,WAAWA,CAAkBvB,MAA8B,EAAE;IAAA,KAAhCA,MAA8B,GAA9BA,MAA8B;EAAG;EAE9DwB,eAAe,GAAGA,CAAA,KAAgC,CAAC,IAAI,CAACC,IAAI,CAAChB,KAAK,CAACC,SAAS,CAAC,CAAC;EAE9EgB,iBAAiB,GAAGA,CAAA,KAAe,IAAI;EAEvCC,kBAAkB,GAAGA,CAAA,KAAe,IAAI,CAACN,KAAK,KAAK,SAAS;EAE5DO,gBAAgB,GAAGA,CAAA,KACxB,IAAI,CAACP,KAAK,KAAK,QAAQ,GAAGF,iBAAiB,GAAGU,SAAS;EAElDC,gBAAgB,GAAGA,CAAA,KACxB,IAAI,CAACT,KAAK,KAAK,QAAQ,GAAG;IAAEU,QAAQ,EAAE,CAAC,IAAI,CAACN,IAAI,CAAChB,KAAK,CAACI,OAAO,CAAC;EAAE,CAAC,GAAG,CAAC,CAAC;;EAEzE;EACOmB,eAAe,GAAIxC,KAAwB,IAChD,IAAI,CAAC6B,KAAK,KAAK,QAAQ,IAAI,IAAAY,sBAAO,EAAC,OAAO,EAAEzC,KAAK,CAAC,CAACD,OAAO,KAAKkB,KAAK,CAACQ,MAAM,GACvE,SAAS,GACT,UAAU;EAETiB,WAAW,GAAI1C,KAAwB,IAA2C;IACvF,MAAM;MAAED,OAAO,EAAE4C,QAAQ;MAAEb,QAAQ;MAAEc;IAAK,CAAC,GAAG,IAAAH,sBAAO,EAAC,OAAO,EAAEzC,KAAK,CAAC;IAErE,IAAI,IAAI,CAAC6B,KAAK,KAAK,WAAW,IAAIc,QAAQ,KAAK1B,KAAK,CAACM,EAAE,EAAE;MACvD,IAAI,CAACM,KAAK,GAAG,MAAM;MAEnB,OAAO,CAAC,IAAI,CAACI,IAAI,CAAChB,KAAK,CAACE,OAAO,CAAC,CAAC;IACnC;IAEA,IAAI,IAAI,CAACU,KAAK,KAAK,MAAM,IAAIc,QAAQ,KAAK1B,KAAK,CAACO,IAAI,EAAE;MACpD,IAAI,CAACK,KAAK,GAAG,MAAM;MAEnB,OAAO,CAAC9B,OAAO,CAAC,IAAA8C,2BAAY,EAAC,IAAI,CAACf,QAAQ,EAAE,EAAE,IAAI,CAACgB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D;IAEA,IAAI,IAAI,CAACjB,KAAK,KAAK,MAAM,IAAIc,QAAQ,KAAK1B,KAAK,CAACM,EAAE,EAAE;MAClD,IAAI,CAACM,KAAK,GAAG,QAAQ;MAErB,OAAO,CAAC,IAAI,CAACI,IAAI,CAAChB,KAAK,CAACI,OAAO,CAAC,CAAC;IACnC;IAEA,IAAI,IAAI,CAACQ,KAAK,KAAK,QAAQ,IAAIc,QAAQ,KAAK1B,KAAK,CAACQ,MAAM,EAAE;MACxD,IAAI,CAACI,KAAK,GAAG,SAAS;IACxB;IAEA,IAAI,CAAC,IAAI,CAACA,KAAK,KAAK,QAAQ,IAAI,IAAI,CAACA,KAAK,KAAK,SAAS,KAAKc,QAAQ,KAAK1B,KAAK,CAACS,MAAM,EAAE;MACtF,MAAMjB,OAAO,GAAG,IAAAsC,8BAAgB,EAACH,IAAI,CAAC;MAEtC,IAAInC,OAAO,EAAE;QACXF,MAAM,CAAC,IAAI,CAACC,MAAM,EAAEC,OAAO,CAAC;MAC9B;MAEA,OAAO,CAACV,OAAO,CAAC,IAAAiD,yBAAU,EAAC/B,KAAK,CAACK,GAAG,EAAEQ,QAAQ,CAAC,CAAC,CAAC;IACnD;IAEA,OAAOO,SAAS;EAClB,CAAC;EAEOJ,IAAI,GAAIgB,IAAY,IAAoBlD,OAAO,CAAC,IAAAiD,yBAAU,EAACC,IAAI,EAAE,IAAI,CAACnB,QAAQ,EAAE,CAAC,CAAC;EAElFgB,GAAG,GAAGA,CAAA,KAAY,IAAI,CAACtC,MAAM,CAACsC,GAAG,GAAG,CAAC,IAAI,IAAII,IAAI,CAAC,CAAC;AAC7D;AAACC,OAAA,CAAAvB,mBAAA,GAAAA,mBAAA;AAED,MAAMwB,KAAK,GAAG;EACZC,IAAI,EAAE,IAAI;EACVC,WAAW,EAAE,IAAI;EACjB5B,MAAM,EAAE,IAAI;EACZ6B,KAAK,EAAE,IAAI;EACXC,KAAK,EAAE,IAAI;EACXC,SAAS,EAAE,IAAI;EACfC,QAAQ,EAAE;AACZ,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACO,MAAMC,mBAAmB,CAA6B;EACnDC,SAAS,GAAG,CAAC;EACbC,QAAQ,GAAG,KAAK;EAEjB9B,WAAWA,CAAkBvB,MAA8B,EAAE;IAAA,KAAhCA,MAA8B,GAA9BA,MAA8B;EAAG;EAE9DwB,eAAe,GAAGA,CAAA,KAAgC,EAAE;EAEpDE,iBAAiB,GAAGA,CAAA,KAAe,IAAI;EAEvCC,kBAAkB,GAAGA,CAAA,KAAe,IAAI,CAAC0B,QAAQ;EAEjDnB,WAAW,GAAI1C,KAAwB,IAA2C;IACvF,MAAM;MAAED,OAAO,EAAE4C,QAAQ;MAAEC;IAAK,CAAC,GAAG,IAAAH,sBAAO,EAAC,OAAO,EAAEzC,KAAK,CAAC;IAE3D,QAAQ2C,QAAQ;MACd,KAAKS,KAAK,CAACE,WAAW;QACpB,OAAO,CAACvD,OAAO,CAAC,IAAA+D,2BAAY,EAAC,IAAI,CAAChB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;MAC5C,KAAKM,KAAK,CAACI,KAAK;QACd,OAAO,CAACzD,OAAO,CAAC,IAAAgE,yBAAU,EAACX,KAAK,CAACM,QAAQ,CAAC,CAAC,CAAC;MAC9C,KAAKN,KAAK,CAACG,KAAK;QACd,IAAI,CAACK,SAAS,GAAI,CAAChB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAKA,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEvD,OAAO,IAAI,CAACoB,WAAW,CAAC,CAAC;MAC3B,KAAKZ,KAAK,CAACC,IAAI;MACf,KAAKD,KAAK,CAAC1B,MAAM;QAAE;UACjB,MAAMjB,OAAO,GAAG,IAAAwD,8BAAgB,EAACrB,IAAI,CAAC;UAEtC,IAAInC,OAAO,EAAE;YACXF,MAAM,CAAC,IAAI,CAACC,MAAM,EAAEC,OAAO,CAAC;UAC9B;UAEA,OAAOkC,QAAQ,KAAKS,KAAK,CAAC1B,MAAM,GAAG,IAAI,CAACsC,WAAW,CAAC,CAAC,GAAG3B,SAAS;QACnE;MACA;QACE,OAAOA,SAAS;IACpB;EACF,CAAC;EAEO2B,WAAW,GAAGA,CAAA,KAA4C;IAChE,MAAME,KAAK,GAAG,IAAI,CAACN,SAAS;IAE5B,IAAIM,KAAK,GAAG,CAAC,EAAE;MACb,IAAI,CAACL,QAAQ,GAAG,IAAI;MAEpB,OAAOxB,SAAS;IAClB;IAEA,IAAI,CAACuB,SAAS,GAAGM,KAAK,GAAG,CAAC;IAE1B,OAAO,CAACnE,OAAO,CAAC,IAAAgE,yBAAU,EAACX,KAAK,CAACK,SAAS,EAAE,CAACS,KAAK,IAAI,CAAC,EAAEA,KAAK,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EAChG,CAAC;EAEOpB,GAAG,GAAGA,CAAA,KAAY,IAAI,CAACtC,MAAM,CAACsC,GAAG,GAAG,CAAC,IAAI,IAAII,IAAI,CAAC,CAAC;AAC7D;AAACC,OAAA,CAAAQ,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CofoeThermometerSequencer = void 0;
7
+ var _core = require("@ovok/core");
8
+ var _caseType = require("../../../types/case-type.js");
9
+ var _cofoeRecords = require("./cofoe.records.js");
10
+ /** KF-HW-081A: one ASCII reading per notification, timed by the phone; the app never writes. */
11
+ class CofoeThermometerSequencer {
12
+ recorded = false;
13
+ constructor(params) {
14
+ this.params = params;
15
+ }
16
+ initialCommands = () => [];
17
+ isNormalDisconnect = () => this.recorded;
18
+ nextCommand = frame => {
19
+ const bodyTemp = (0, _cofoeRecords.readThermometerText)(frame);
20
+ if (bodyTemp !== undefined) {
21
+ this.recorded = true;
22
+ this.params.onResult({
23
+ caseType: _caseType.CaseType.RESULT,
24
+ measurementTypeKey: _core.MeasurementTypeKey.temperature,
25
+ bodyTemp,
26
+ recordedAt: new Date()
27
+ });
28
+ }
29
+ return undefined;
30
+ };
31
+ }
32
+ exports.CofoeThermometerSequencer = CofoeThermometerSequencer;
33
+ //# sourceMappingURL=cofoe-thermometer.sequencer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_core","require","_caseType","_cofoeRecords","CofoeThermometerSequencer","recorded","constructor","params","initialCommands","isNormalDisconnect","nextCommand","frame","bodyTemp","readThermometerText","undefined","onResult","caseType","CaseType","RESULT","measurementTypeKey","MeasurementTypeKey","temperature","recordedAt","Date","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AAIA,IAAAE,aAAA,GAAAF,OAAA;AAEA;AACA,MAAMG,yBAAyB,CAA6B;EAClDC,QAAQ,GAAG,KAAK;EAEjBC,WAAWA,CAAkBC,MAA+D,EAAE;IAAA,KAAjEA,MAA+D,GAA/DA,MAA+D;EAAG;EAE/FC,eAAe,GAAGA,CAAA,KAAgC,EAAE;EAEpDC,kBAAkB,GAAGA,CAAA,KAAe,IAAI,CAACJ,QAAQ;EAEjDK,WAAW,GAAIC,KAAwB,IAAgB;IAC5D,MAAMC,QAAQ,GAAG,IAAAC,iCAAmB,EAACF,KAAK,CAAC;IAE3C,IAAIC,QAAQ,KAAKE,SAAS,EAAE;MAC1B,IAAI,CAACT,QAAQ,GAAG,IAAI;MACpB,IAAI,CAACE,MAAM,CAACQ,QAAQ,CAAC;QACnBC,QAAQ,EAAEC,kBAAQ,CAACC,MAAM;QACzBC,kBAAkB,EAAEC,wBAAkB,CAACC,WAAW;QAClDT,QAAQ;QACRU,UAAU,EAAE,IAAIC,IAAI,CAAC;MACvB,CAAC,CAAC;IACJ;IAEA,OAAOT,SAAS;EAClB,CAAC;AACH;AAACU,OAAA,CAAApB,yBAAA,GAAAA,yBAAA","ignoreList":[]}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CofoeDevice = void 0;
7
+ var _integratedDevices = require("../../../types/integrated-devices.js");
8
+ var _btManagedDevice = require("../bt-managed-device.js");
9
+ var _cofoeBpSequencer = require("./cofoe-bp.sequencer.js");
10
+ var _cofoeGlucoseSequencer = require("./cofoe-glucose.sequencer.js");
11
+ var _cofoeThermometerSequencer = require("./cofoe-thermometer.sequencer.js");
12
+ var _cofoeProtocol = require("./cofoe.protocol.js");
13
+ const passThrough = {
14
+ caseValuePosition: [],
15
+ cases: []
16
+ };
17
+ const service = ({
18
+ service: uuid,
19
+ notify
20
+ }, optional = false) => ({
21
+ uuid,
22
+ optional,
23
+ monitorUuids: [{
24
+ uuid: notify,
25
+ parsingModel: passThrough
26
+ }]
27
+ });
28
+
29
+ /** The 0x18F0 generation is declared under both UUID layouts MedM's build could mean. */
30
+ const historyServices = [service(_cofoeProtocol.COFOE_GATT.history, true), service(_cofoeProtocol.COFOE_GATT.historyReversed, true)];
31
+ const SERVICES = {
32
+ [_integratedDevices.IntegratedDevices.COFOE_BPM]: [service(_cofoeProtocol.COFOE_GATT.bloodPressure)],
33
+ [_integratedDevices.IntegratedDevices.COFOE_BPM_HISTORY]: historyServices,
34
+ [_integratedDevices.IntegratedDevices.COFOE_GLUCOMETER]: [service(_cofoeProtocol.COFOE_GATT.glucometer)],
35
+ [_integratedDevices.IntegratedDevices.COFOE_GLUCOMETER_CGH25]: [service(_cofoeProtocol.COFOE_GATT.glucometer)],
36
+ [_integratedDevices.IntegratedDevices.COFOE_THERMOMETER]: historyServices
37
+ };
38
+ const FRAMING = {
39
+ [_integratedDevices.IntegratedDevices.COFOE_BPM]: "bloodPressure",
40
+ [_integratedDevices.IntegratedDevices.COFOE_BPM_HISTORY]: "bloodPressure",
41
+ [_integratedDevices.IntegratedDevices.COFOE_GLUCOMETER]: "kfb06",
42
+ [_integratedDevices.IntegratedDevices.COFOE_GLUCOMETER_CGH25]: "cgh25"
43
+ };
44
+
45
+ /** Cofoe KF-6x blood-pressure monitors, KF-B06 and CGH glucometers and the KF-HW-081A thermometer. */
46
+ class CofoeDeviceClass extends _btManagedDevice.BTManagedDevice {
47
+ stuckDataTimeout = 90_000;
48
+ onStreamStart = undefined;
49
+ constructor(device, params) {
50
+ super(device, params);
51
+ this.mainServices = SERVICES[params.deviceName];
52
+ const framing = FRAMING[params.deviceName];
53
+ if (framing) {
54
+ this.frameReader = new _cofoeProtocol.CofoeFrameReader(framing);
55
+ }
56
+ const onResult = result => this.onResult?.(result);
57
+ this.createCommandSequencer = () => {
58
+ switch (params.deviceName) {
59
+ case _integratedDevices.IntegratedDevices.COFOE_GLUCOMETER:
60
+ return new _cofoeGlucoseSequencer.CofoeKfb06Sequencer({
61
+ onResult
62
+ });
63
+ case _integratedDevices.IntegratedDevices.COFOE_GLUCOMETER_CGH25:
64
+ return new _cofoeGlucoseSequencer.CofoeCgh25Sequencer({
65
+ onResult
66
+ });
67
+ case _integratedDevices.IntegratedDevices.COFOE_THERMOMETER:
68
+ return new _cofoeThermometerSequencer.CofoeThermometerSequencer({
69
+ onResult
70
+ });
71
+ default:
72
+ return new _cofoeBpSequencer.CofoeBpSequencer({
73
+ history: params.deviceName === _integratedDevices.IntegratedDevices.COFOE_BPM_HISTORY,
74
+ onResult
75
+ });
76
+ }
77
+ };
78
+ }
79
+
80
+ /** The thermometer has no frame reader: one notification is one message. */
81
+ validatePackage = () => true;
82
+ handleSuccessResult() {
83
+ return;
84
+ }
85
+ }
86
+ exports.CofoeDevice = CofoeDeviceClass;
87
+ //# sourceMappingURL=cofoe.device.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_integratedDevices","require","_btManagedDevice","_cofoeBpSequencer","_cofoeGlucoseSequencer","_cofoeThermometerSequencer","_cofoeProtocol","passThrough","caseValuePosition","cases","service","uuid","notify","optional","monitorUuids","parsingModel","historyServices","COFOE_GATT","history","historyReversed","SERVICES","IntegratedDevices","COFOE_BPM","bloodPressure","COFOE_BPM_HISTORY","COFOE_GLUCOMETER","glucometer","COFOE_GLUCOMETER_CGH25","COFOE_THERMOMETER","FRAMING","CofoeDeviceClass","BTManagedDevice","stuckDataTimeout","onStreamStart","undefined","constructor","device","params","mainServices","deviceName","framing","frameReader","CofoeFrameReader","onResult","result","createCommandSequencer","CofoeKfb06Sequencer","CofoeCgh25Sequencer","CofoeThermometerSequencer","CofoeBpSequencer","validatePackage","handleSuccessResult","exports","CofoeDevice"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/cofoe/cofoe.device.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.unframe = exports.toBytes = exports.kfb06SetTime = exports.kfb06Frame = exports.historySetTime = exports.cgh25SetTime = exports.cgh25Frame = exports.bpSetTime = exports.bpFrame = exports.CofoeFrameReader = exports.COFOE_GATT = exports.BP_ACK = void 0;
7
+ var _frameReadStatus = require("../../../types/frame-read-status.js");
8
+ var _calculateCrc8Maxim = require("../../../utils/calculate-crc-8-maxim.js");
9
+ var _hexToByte = require("../../../utils/hex-to-byte.js");
10
+ /* eslint-disable import/group-exports */
11
+
12
+ /**
13
+ * Cofoe blood-pressure monitors, glucometers and thermometer, from MedM Health Diary 3.12.11's
14
+ * `CCofoe_*` classes. Three binary framings and one ASCII one:
15
+ *
16
+ * - `FF FF len cmd payload ck` (blood pressure): `len` is the whole frame, `ck` makes the byte
17
+ * sum from `len` on zero.
18
+ * - `5A A5 cmd seq len payload crc` (KF-B06 glucometers): CRC-8/MAXIM over `cmd … payload`.
19
+ * - `$PCL A cmd len payload sum` (CGH25 glucometers): the 8-bit sum of everything after `$`.
20
+ * - `<me>o=VVVVx=T\r\n` (KF-HW-081A thermometer), one notification each.
21
+ *
22
+ * MedM does not check the KF-66EP+ checksum and only drops a KF-B06 frame whose CRC happens to
23
+ * be zero; every frame here is verified and dropped when it does not add up.
24
+ */
25
+ const sig16 = assigned => `0000${assigned}-0000-1000-8000-00805f9b34fb`;
26
+
27
+ /**
28
+ * MedM builds the KF-66EP+ and thermometer UUIDs with their words reversed, which reads as
29
+ * `fb349b5f-8000-0080-0010-0000XXXX0000`. Which of the two the hardware exposes is unknown, so
30
+ * both are declared, optional, and the one discovery finds is used.
31
+ */
32
+ const reversed = assigned => `fb349b5f-8000-0080-0010-0000${assigned.slice(2)}${assigned.slice(0, 2)}0000`;
33
+ const gatt = (service, notify, write, wrap) => ({
34
+ service: wrap(service),
35
+ notify: wrap(notify),
36
+ write: wrap(write)
37
+ });
38
+ const COFOE_GATT = exports.COFOE_GATT = {
39
+ bloodPressure: gatt("f018", "f02a", "f12a", sig16),
40
+ history: gatt("18f0", "2af0", "2af1", sig16),
41
+ historyReversed: gatt("18f0", "2af0", "2af1", reversed),
42
+ glucometer: gatt("ae30", "ae02", "ae01", sig16)
43
+ };
44
+ const toHex = bytes => bytes.map(value => (value & 0xff).toString(16).padStart(2, "0"));
45
+ const toBytes = frame => frame.map(byte => (0, _hexToByte.hexToByte)(byte));
46
+ exports.toBytes = toBytes;
47
+ const sum = bytes => bytes.reduce((total, value) => total + value, 0) & 0xff;
48
+
49
+ /* ---------------------------------------------------------------- framing */
50
+
51
+ /** `FF FF len cmd payload ck`. */
52
+ const bpFrame = (command, payload = []) => {
53
+ const covered = [payload.length + 5, command, ...payload];
54
+ return toHex([0xff, 0xff, ...covered, -sum(covered) & 0xff]);
55
+ };
56
+
57
+ /** `5A A5 cmd seq len payload crc`. */
58
+ exports.bpFrame = bpFrame;
59
+ const kfb06Frame = (command, sequence, payload = []) => {
60
+ const covered = toHex([command, sequence, payload.length, ...payload]);
61
+ return [...toHex([0x5a, 0xa5]), ...covered, ...toHex([(0, _calculateCrc8Maxim.calculateCrc8Maxim)(covered, covered.length)])];
62
+ };
63
+ exports.kfb06Frame = kfb06Frame;
64
+ const PCL = [0x24, 0x50, 0x43, 0x4c];
65
+
66
+ /** `$PCL A cmd len payload sum`. */
67
+ const cgh25Frame = (command, payload = []) => {
68
+ const bytes = [...PCL, 0x41, command, payload.length, ...payload];
69
+ return toHex([...bytes, sum(bytes.slice(1))]);
70
+ };
71
+ exports.cgh25Frame = cgh25Frame;
72
+ const FRAMINGS = {
73
+ bloodPressure: {
74
+ magic: [0xff, 0xff],
75
+ header: 4,
76
+ length: frame => frame[2] ?? 0,
77
+ valid: frame => frame.length >= 5 && sum(frame.slice(2)) === 0
78
+ },
79
+ kfb06: {
80
+ magic: [0x5a, 0xa5],
81
+ header: 5,
82
+ length: frame => (frame[4] ?? 0) + 6,
83
+ valid: frame => (0, _calculateCrc8Maxim.calculateCrc8Maxim)(toHex(frame.slice(2, -1)), frame.length - 3) === frame[frame.length - 1]
84
+ },
85
+ cgh25: {
86
+ magic: PCL,
87
+ header: 7,
88
+ length: frame => (frame[6] ?? 0) + 8,
89
+ valid: frame => sum(frame.slice(1, -1)) === frame[frame.length - 1]
90
+ }
91
+ };
92
+ /** Isolates verified frames of one framing whatever the notification boundaries. */
93
+ class CofoeFrameReader {
94
+ constructor(framing) {
95
+ this.framing = FRAMINGS[framing];
96
+ }
97
+ readFrame(buffer) {
98
+ const {
99
+ magic,
100
+ header,
101
+ length,
102
+ valid
103
+ } = this.framing;
104
+ const values = toBytes(buffer);
105
+ const start = values.findIndex((_, index) => magic.every((byte, offset) => index + offset >= values.length || values[index + offset] === byte));
106
+ if (start === -1) {
107
+ return {
108
+ status: _frameReadStatus.FrameReadStatus.INCOMPLETE,
109
+ consumedBytes: values.length
110
+ };
111
+ }
112
+ if (start + header > values.length) {
113
+ return {
114
+ status: _frameReadStatus.FrameReadStatus.INCOMPLETE,
115
+ consumedBytes: start
116
+ };
117
+ }
118
+ const total = length(values.slice(start));
119
+ if (total < header + 1) {
120
+ return {
121
+ status: _frameReadStatus.FrameReadStatus.CORRUPT,
122
+ consumedBytes: start + 1
123
+ };
124
+ }
125
+ if (start + total > values.length) {
126
+ return {
127
+ status: _frameReadStatus.FrameReadStatus.INCOMPLETE,
128
+ consumedBytes: start
129
+ };
130
+ }
131
+ if (!valid(values.slice(start, start + total))) {
132
+ return {
133
+ status: _frameReadStatus.FrameReadStatus.CORRUPT,
134
+ consumedBytes: start + 1
135
+ };
136
+ }
137
+ return {
138
+ status: _frameReadStatus.FrameReadStatus.COMPLETE,
139
+ consumedBytes: start + total,
140
+ frame: buffer.slice(start, start + total)
141
+ };
142
+ }
143
+ }
144
+
145
+ /** The command and body of a verified frame. */
146
+ exports.CofoeFrameReader = CofoeFrameReader;
147
+ const unframe = (framing, frame) => {
148
+ const bytes = toBytes(frame);
149
+ if (framing === "kfb06") {
150
+ return {
151
+ command: (bytes[2] ?? 0) & 0x3f,
152
+ sequence: bytes[3] ?? 0,
153
+ body: bytes.slice(5, -1)
154
+ };
155
+ }
156
+ const at = framing === "bloodPressure" ? 3 : 5;
157
+ return {
158
+ command: bytes[at] ?? 0,
159
+ sequence: 0,
160
+ body: bytes.slice(FRAMINGS[framing].header, -1)
161
+ };
162
+ };
163
+
164
+ /* ------------------------------------------------------------------ time */
165
+ exports.unframe = unframe;
166
+ const toBcd = value => Math.floor(value / 10) % 10 << 4 | value % 10;
167
+ const clock = now => [now.getFullYear() - 2000, now.getMonth() + 1, now.getDate(), now.getHours(), now.getMinutes(), now.getSeconds()];
168
+
169
+ /** `Cofoe_BPM` set-time, `08`: binary `YY MM DD hh mm ss`. */
170
+ const bpSetTime = now => bpFrame(0x08, clock(now));
171
+
172
+ /** `Cofoe_KF66EP` set-time, `08`: BCD `YY MM DD hh mm ss`. */
173
+ exports.bpSetTime = bpSetTime;
174
+ const historySetTime = now => bpFrame(0x08, clock(now).map(toBcd));
175
+
176
+ /** KF-B06 set-time, `10`: binary `YY MM DD hh mm ss`. */
177
+ exports.historySetTime = historySetTime;
178
+ const kfb06SetTime = (sequence, now) => kfb06Frame(0x10, sequence, clock(now));
179
+
180
+ /** CGH25 set-time, `01`: `00 00 YY MM DD hh mm 00 00`. */
181
+ exports.kfb06SetTime = kfb06SetTime;
182
+ const cgh25SetTime = now => cgh25Frame(0x01, [0, 0, ...clock(now).slice(0, 5), 0, 0]);
183
+ exports.cgh25SetTime = cgh25SetTime;
184
+ const BP_ACK = exports.BP_ACK = bpFrame(0x05);
185
+ //# sourceMappingURL=cofoe.protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_frameReadStatus","require","_calculateCrc8Maxim","_hexToByte","sig16","assigned","reversed","slice","gatt","service","notify","write","wrap","COFOE_GATT","exports","bloodPressure","history","historyReversed","glucometer","toHex","bytes","map","value","toString","padStart","toBytes","frame","byte","hexToByte","sum","reduce","total","bpFrame","command","payload","covered","length","kfb06Frame","sequence","calculateCrc8Maxim","PCL","cgh25Frame","FRAMINGS","magic","header","valid","kfb06","cgh25","CofoeFrameReader","constructor","framing","readFrame","buffer","values","start","findIndex","_","index","every","offset","status","FrameReadStatus","INCOMPLETE","consumedBytes","CORRUPT","COMPLETE","unframe","body","at","toBcd","Math","floor","clock","now","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","bpSetTime","historySetTime","kfb06SetTime","cgh25SetTime","BP_ACK"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/cofoe/cofoe.protocol.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.readThermometerText = exports.readKfb06Glucose = exports.readCgh25Glucose = exports.readBpResult = exports.readBpRecord = void 0;
7
+ var _cofoeProtocol = require("./cofoe.protocol.js");
8
+ /* eslint-disable import/group-exports */
9
+
10
+ /**
11
+ * Cofoe record decoders. Times are local wall-clock with no zone; a field out of range drops
12
+ * the record rather than letting `Date` roll it into a plausible wrong time.
13
+ */
14
+ const fromBcd = value => value >> 4 > 9 || (value & 0x0f) > 9 ? undefined : (value >> 4) * 10 + (value & 0x0f);
15
+
16
+ /** `[year - 2000, month, day, hour, minute, second]` as phone-local time, or undefined if any field is out of range. */
17
+ const localTime = fields => {
18
+ if (fields.some(field => field === undefined)) {
19
+ return undefined;
20
+ }
21
+ const [year, month, day, hour, minute, second] = fields.map((field, index) => index === 0 ? field + 2000 : field);
22
+ const time = new Date(year, month - 1, day, hour, minute, second);
23
+ return time.getMonth() === month - 1 && time.getDate() === day && time.getHours() === hour && time.getMinutes() === minute && time.getSeconds() === second ? time : undefined;
24
+ };
25
+ /** Pulse, systolic - 20, diastolic - 20 (mmHg), irregular-pulse flag. */
26
+ const readPressures = bytes => {
27
+ if (bytes.length < 4) {
28
+ return undefined;
29
+ }
30
+ const [heartRate, systolic, diastolic, flag] = bytes;
31
+ return systolic > diastolic && heartRate > 0 ? {
32
+ systolic: systolic + 20,
33
+ diastolic: diastolic + 20,
34
+ heartRate,
35
+ irregularHeartbeat: flag !== 0
36
+ } : undefined;
37
+ };
38
+
39
+ /** `Cofoe_BPM` result, `03`: four bytes, timed by the phone. */
40
+ const readBpResult = body => body.length === 4 ? readPressures(body) : undefined;
41
+
42
+ /** `Cofoe_KF66EP` record, `02`/`03`: BCD `YY MM DD hh mm ss`, then the four result bytes. */
43
+ exports.readBpResult = readBpResult;
44
+ const readBpRecord = body => {
45
+ const recordedAt = body.length === 10 ? localTime(body.slice(0, 6).map(fromBcd)) : undefined;
46
+ const pressures = readPressures(body.slice(6));
47
+ return recordedAt && pressures && {
48
+ ...pressures,
49
+ recordedAt
50
+ };
51
+ };
52
+
53
+ /** One mmol/L of glucose (180.16 g/mol) is 18.016 mg/dL, as in the SIG glucose profile. */
54
+ exports.readBpRecord = readBpRecord;
55
+ const MG_PER_DL_PER_MMOL_PER_L = 18.016;
56
+
57
+ /** Tenths of a mmol/L, rounded to whole mg/dL. */
58
+ const mgPerDl = tenthsMmol => Math.round(tenthsMmol / 10 * MG_PER_DL_PER_MMOL_PER_L);
59
+ const glucose = (tenthsMmol, recordedAt) => recordedAt && tenthsMmol > 0 && tenthsMmol < 0xffff ? {
60
+ bloodGlucose: mgPerDl(tenthsMmol),
61
+ recordedAt
62
+ } : undefined;
63
+ const KFB06_GLUCOSE_TYPE = 9;
64
+
65
+ /** KF-B06 record, `11`: binary `YY MM DD hh mm ss`, type (`9` = glucose), u16 LE tenths of mmol/L. */
66
+ const readKfb06Glucose = body => body.length === 9 && body[6] === KFB06_GLUCOSE_TYPE ? glucose((body[8] ?? 0) << 8 | (body[7] ?? 0), localTime(body.slice(0, 6))) : undefined;
67
+
68
+ /** CGH25 record, `00`/`02`: index (u16 BE), `YY MM DD hh mm`, u16 BE tenths of mmol/L. */
69
+ exports.readKfb06Glucose = readKfb06Glucose;
70
+ const readCgh25Glucose = body => body.length === 9 ? glucose((body[7] ?? 0) << 8 | (body[8] ?? 0), localTime([...body.slice(2, 7), 0])) : undefined;
71
+
72
+ /** `<me>…o=VVVV…x=T…\r\n`: hundredths of a degree Celsius; type `3` is dropped, as MedM does. */
73
+ exports.readCgh25Glucose = readCgh25Glucose;
74
+ const THERMOMETER_TEXT = /^<me>(.*)\r\n$/s;
75
+ const readThermometerText = frame => {
76
+ const text = THERMOMETER_TEXT.exec(String.fromCharCode(...(0, _cofoeProtocol.toBytes)(frame)))?.[1];
77
+ const type = text && /x=([0-9-])/.exec(text)?.[1];
78
+ const value = text && /o=([0-9-]{1,4})/.exec(text)?.[1];
79
+ if (!type || !value || type === "3" || !/^-?\d+$/.test(value)) {
80
+ return undefined;
81
+ }
82
+ const hundredths = Number.parseInt(value, 10);
83
+ return hundredths > 0 ? hundredths / 100 : undefined;
84
+ };
85
+ exports.readThermometerText = readThermometerText;
86
+ //# sourceMappingURL=cofoe.records.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_cofoeProtocol","require","fromBcd","value","undefined","localTime","fields","some","field","year","month","day","hour","minute","second","map","index","time","Date","getMonth","getDate","getHours","getMinutes","getSeconds","readPressures","bytes","length","heartRate","systolic","diastolic","flag","irregularHeartbeat","readBpResult","body","exports","readBpRecord","recordedAt","slice","pressures","MG_PER_DL_PER_MMOL_PER_L","mgPerDl","tenthsMmol","Math","round","glucose","bloodGlucose","KFB06_GLUCOSE_TYPE","readKfb06Glucose","readCgh25Glucose","THERMOMETER_TEXT","readThermometerText","frame","text","exec","String","fromCharCode","toBytes","type","test","hundredths","Number","parseInt"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/cofoe/cofoe.records.ts"],"mappings":"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","ignoreList":[]}
@@ -38,7 +38,7 @@ class JumperDeviceClass extends _btManagedDevice.BTManagedDevice {
38
38
  this.mainServices = SERVICES[params.deviceName];
39
39
  const onResult = result => this.onResult?.(result);
40
40
  this.createCommandSequencer = () => params.deviceName === _integratedDevices.IntegratedDevices.JUMPER_OXIMETER ? new _liveOximeterSequencer.LiveOximeterSequencer({
41
- isValuesFrame: _liveOximeterSequencer.JUMPER_VALUES,
41
+ readValues: frame => (0, _liveOximeterSequencer.readOximeterData)(frame, _liveOximeterSequencer.JUMPER_VALUES),
42
42
  onResult
43
43
  }) : new _jumperSequencer.JumperSequencer({
44
44
  kind: params.deviceName === _integratedDevices.IntegratedDevices.JUMPER_BPM ? "blood-pressure" : "thermometer",
@@ -1 +1 @@
1
- {"version":3,"names":["_integratedDevices","require","_btManagedDevice","_liveOximeterSequencer","_jumperProtocol","_jumperSequencer","passThrough","caseValuePosition","cases","service","uuid","notify","optional","monitorUuids","parsingModel","SERVICES","IntegratedDevices","JUMPER_OXIMETER","JUMPER_SERVICE","JUMPER_NOTIFY","JUMPER_GATT","oximeterAlternate","JUMPER_THERMOMETER","thermometerAlternate","JUMPER_BPM","bloodPressure","JumperDeviceClass","BTManagedDevice","stuckDataTimeout","onStreamStart","undefined","constructor","device","params","mainServices","deviceName","onResult","result","createCommandSequencer","LiveOximeterSequencer","isValuesFrame","JUMPER_VALUES","JumperSequencer","kind","validatePackage","handleSuccessResult","exports","JumperDevice"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/jumper/jumper.device.ts"],"mappings":";;;;;;AAIA,IAAAA,kBAAA,GAAAC,OAAA;AAGA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AAOA,MAAMK,WAAW,GAAG;EAAEC,iBAAiB,EAAE,EAAE;EAAEC,KAAK,EAAE;AAAG,CAAC;AAExD,MAAMC,OAAO,GAAGA,CAACC,IAAY,EAAEC,MAAc,EAAEC,QAAiB,MAAgB;EAC9EF,IAAI;EACJE,QAAQ;EACRC,YAAY,EAAE,CAAC;IAAEH,IAAI,EAAEC,MAAM;IAAEG,YAAY,EAAER;EAAY,CAAC;AAC5D,CAAC,CAAC;;AAEF;AACA,MAAMS,QAA0C,GAAG;EACjD,CAACC,oCAAiB,CAACC,eAAe,GAAG,CACnCR,OAAO,CAACS,8BAAc,EAAEC,6BAAa,EAAE,IAAI,CAAC,EAC5CV,OAAO,CAACW,2BAAW,CAACC,iBAAiB,CAACZ,OAAO,EAAEW,2BAAW,CAACC,iBAAiB,CAACV,MAAM,EAAE,IAAI,CAAC,CAC3F;EACD,CAACK,oCAAiB,CAACM,kBAAkB,GAAG,CACtCb,OAAO,CAACS,8BAAc,EAAEC,6BAAa,EAAE,IAAI,CAAC,EAC5CV,OAAO,CAACW,2BAAW,CAACG,oBAAoB,CAACd,OAAO,EAAEW,2BAAW,CAACG,oBAAoB,CAACZ,MAAM,EAAE,IAAI,CAAC,CACjG;EACD,CAACK,oCAAiB,CAACQ,UAAU,GAAG,CAC9Bf,OAAO,CAACW,2BAAW,CAACK,aAAa,CAAChB,OAAO,EAAEW,2BAAW,CAACK,aAAa,CAACd,MAAM,EAAE,KAAK,CAAC;AAEvF,CAAC;;AAED;AACA,MAAMe,iBAAiB,SAASC,gCAAe,CAAe;EAElDC,gBAAgB,GAAG,OAAO;EAC1BC,aAAa,GAAGC,SAAS;EAE5BC,WAAWA,CAACC,MAAc,EAAEC,MAAwC,EAAE;IAC3E,KAAK,CAACD,MAAM,EAAEC,MAAM,CAAC;IACrB,IAAI,CAACC,YAAY,GAAGnB,QAAQ,CAACkB,MAAM,CAACE,UAAU,CAAC;IAE/C,MAAMC,QAAQ,GAAIC,MAA+B,IAC/C,IAAI,CAACD,QAAQ,GACXC,MACF,CAAC;IAEH,IAAI,CAACC,sBAAsB,GAAG,MAC5BL,MAAM,CAACE,UAAU,KAAKnB,oCAAiB,CAACC,eAAe,GACnD,IAAIsB,4CAAqB,CAAC;MAAEC,aAAa,EAAEC,oCAAa;MAAEL;IAAS,CAAC,CAAC,GACrE,IAAIM,gCAAe,CAAC;MAClBC,IAAI,EACFV,MAAM,CAACE,UAAU,KAAKnB,oCAAiB,CAACQ,UAAU,GAAG,gBAAgB,GAAG,aAAa;MACvFY;IACF,CAAC,CAAC;EACV;;EAEA;EACUQ,eAAe,GAAGA,CAAA,KAAe,IAAI;EAErCC,mBAAmBA,CAAA,EAAS;IACpC;EACF;AACF;AAACC,OAAA,CAAAC,YAAA,GAAArB,iBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_integratedDevices","require","_btManagedDevice","_liveOximeterSequencer","_jumperProtocol","_jumperSequencer","passThrough","caseValuePosition","cases","service","uuid","notify","optional","monitorUuids","parsingModel","SERVICES","IntegratedDevices","JUMPER_OXIMETER","JUMPER_SERVICE","JUMPER_NOTIFY","JUMPER_GATT","oximeterAlternate","JUMPER_THERMOMETER","thermometerAlternate","JUMPER_BPM","bloodPressure","JumperDeviceClass","BTManagedDevice","stuckDataTimeout","onStreamStart","undefined","constructor","device","params","mainServices","deviceName","onResult","result","createCommandSequencer","LiveOximeterSequencer","readValues","frame","readOximeterData","JUMPER_VALUES","JumperSequencer","kind","validatePackage","handleSuccessResult","exports","JumperDevice"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/jumper/jumper.device.ts"],"mappings":";;;;;;AAIA,IAAAA,kBAAA,GAAAC,OAAA;AAGA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AAOA,MAAMK,WAAW,GAAG;EAAEC,iBAAiB,EAAE,EAAE;EAAEC,KAAK,EAAE;AAAG,CAAC;AAExD,MAAMC,OAAO,GAAGA,CAACC,IAAY,EAAEC,MAAc,EAAEC,QAAiB,MAAgB;EAC9EF,IAAI;EACJE,QAAQ;EACRC,YAAY,EAAE,CAAC;IAAEH,IAAI,EAAEC,MAAM;IAAEG,YAAY,EAAER;EAAY,CAAC;AAC5D,CAAC,CAAC;;AAEF;AACA,MAAMS,QAA0C,GAAG;EACjD,CAACC,oCAAiB,CAACC,eAAe,GAAG,CACnCR,OAAO,CAACS,8BAAc,EAAEC,6BAAa,EAAE,IAAI,CAAC,EAC5CV,OAAO,CAACW,2BAAW,CAACC,iBAAiB,CAACZ,OAAO,EAAEW,2BAAW,CAACC,iBAAiB,CAACV,MAAM,EAAE,IAAI,CAAC,CAC3F;EACD,CAACK,oCAAiB,CAACM,kBAAkB,GAAG,CACtCb,OAAO,CAACS,8BAAc,EAAEC,6BAAa,EAAE,IAAI,CAAC,EAC5CV,OAAO,CAACW,2BAAW,CAACG,oBAAoB,CAACd,OAAO,EAAEW,2BAAW,CAACG,oBAAoB,CAACZ,MAAM,EAAE,IAAI,CAAC,CACjG;EACD,CAACK,oCAAiB,CAACQ,UAAU,GAAG,CAC9Bf,OAAO,CAACW,2BAAW,CAACK,aAAa,CAAChB,OAAO,EAAEW,2BAAW,CAACK,aAAa,CAACd,MAAM,EAAE,KAAK,CAAC;AAEvF,CAAC;;AAED;AACA,MAAMe,iBAAiB,SAASC,gCAAe,CAAe;EAElDC,gBAAgB,GAAG,OAAO;EAC1BC,aAAa,GAAGC,SAAS;EAE5BC,WAAWA,CAACC,MAAc,EAAEC,MAAwC,EAAE;IAC3E,KAAK,CAACD,MAAM,EAAEC,MAAM,CAAC;IACrB,IAAI,CAACC,YAAY,GAAGnB,QAAQ,CAACkB,MAAM,CAACE,UAAU,CAAC;IAE/C,MAAMC,QAAQ,GAAIC,MAA+B,IAC/C,IAAI,CAACD,QAAQ,GACXC,MACF,CAAC;IAEH,IAAI,CAACC,sBAAsB,GAAG,MAC5BL,MAAM,CAACE,UAAU,KAAKnB,oCAAiB,CAACC,eAAe,GACnD,IAAIsB,4CAAqB,CAAC;MACxBC,UAAU,EAAGC,KAAK,IAAK,IAAAC,uCAAgB,EAACD,KAAK,EAAEE,oCAAa,CAAC;MAC7DP;IACF,CAAC,CAAC,GACF,IAAIQ,gCAAe,CAAC;MAClBC,IAAI,EACFZ,MAAM,CAACE,UAAU,KAAKnB,oCAAiB,CAACQ,UAAU,GAAG,gBAAgB,GAAG,aAAa;MACvFY;IACF,CAAC,CAAC;EACV;;EAEA;EACUU,eAAe,GAAGA,CAAA,KAAe,IAAI;EAErCC,mBAAmBA,CAAA,EAAS;IACpC;EACF;AACF;AAACC,OAAA,CAAAC,YAAA,GAAAvB,iBAAA","ignoreList":[]}