@ovok/native 1.6.47 → 1.6.48

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 (237) hide show
  1. package/lib/commonjs/modules/bt-device/constants/baby-sleep-clip-catalog-asset.js +10 -0
  2. package/lib/commonjs/modules/bt-device/constants/baby-sleep-clip-catalog-asset.js.map +1 -0
  3. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js +12 -1
  4. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  5. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js +5 -1
  6. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -1
  7. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js +19 -0
  8. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -1
  9. package/lib/commonjs/modules/bt-device/constants/supported-devices.js +38 -0
  10. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
  11. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js +1 -1
  12. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  13. package/lib/commonjs/modules/bt-management/services/device-classes.js +95 -0
  14. package/lib/commonjs/modules/bt-management/services/device-classes.js.map +1 -0
  15. package/lib/commonjs/modules/bt-management/services/device-creator.js +5 -82
  16. package/lib/commonjs/modules/bt-management/services/device-creator.js.map +1 -1
  17. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +6 -1
  18. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  19. package/lib/commonjs/modules/bt-management/services/devices/viatom/baby-sleep-clip.device.js +57 -0
  20. package/lib/commonjs/modules/bt-management/services/devices/viatom/baby-sleep-clip.device.js.map +1 -0
  21. package/lib/commonjs/modules/bt-management/services/devices/viatom/baby-sleep-clip.protocol.js +106 -0
  22. package/lib/commonjs/modules/bt-management/services/devices/viatom/baby-sleep-clip.protocol.js.map +1 -0
  23. package/lib/commonjs/modules/bt-management/services/devices/viatom/baby-sleep-clip.sequencer.js +80 -0
  24. package/lib/commonjs/modules/bt-management/services/devices/viatom/baby-sleep-clip.sequencer.js.map +1 -0
  25. package/lib/commonjs/modules/bt-management/services/devices/viatom/lpm311.device.js +55 -0
  26. package/lib/commonjs/modules/bt-management/services/devices/viatom/lpm311.device.js.map +1 -0
  27. package/lib/commonjs/modules/bt-management/services/devices/viatom/lpm311.protocol.js +103 -0
  28. package/lib/commonjs/modules/bt-management/services/devices/viatom/lpm311.protocol.js.map +1 -0
  29. package/lib/commonjs/modules/bt-management/services/devices/viatom/lpm311.sequencer.js +33 -0
  30. package/lib/commonjs/modules/bt-management/services/devices/viatom/lpm311.sequencer.js.map +1 -0
  31. package/lib/commonjs/modules/bt-management/services/devices/viatom/oxy-s3.device.js +72 -0
  32. package/lib/commonjs/modules/bt-management/services/devices/viatom/oxy-s3.device.js.map +1 -0
  33. package/lib/commonjs/modules/bt-management/services/devices/viatom/oxy-s3.protocol.js +103 -0
  34. package/lib/commonjs/modules/bt-management/services/devices/viatom/oxy-s3.protocol.js.map +1 -0
  35. package/lib/commonjs/modules/bt-management/services/devices/viatom/oxy-s3.sequencer.js +110 -0
  36. package/lib/commonjs/modules/bt-management/services/devices/viatom/oxy-s3.sequencer.js.map +1 -0
  37. package/lib/commonjs/modules/bt-management/services/devices/viatom/pf10aw1.device.js +53 -0
  38. package/lib/commonjs/modules/bt-management/services/devices/viatom/pf10aw1.device.js.map +1 -0
  39. package/lib/commonjs/modules/bt-management/services/devices/viatom/pf10aw1.protocol.js +64 -0
  40. package/lib/commonjs/modules/bt-management/services/devices/viatom/pf10aw1.protocol.js.map +1 -0
  41. package/lib/commonjs/modules/bt-management/services/devices/viatom/pf10aw1.sequencer.js +96 -0
  42. package/lib/commonjs/modules/bt-management/services/devices/viatom/pf10aw1.sequencer.js.map +1 -0
  43. package/lib/commonjs/modules/bt-management/services/devices/viatom/sp20.device.js +54 -0
  44. package/lib/commonjs/modules/bt-management/services/devices/viatom/sp20.device.js.map +1 -0
  45. package/lib/commonjs/modules/bt-management/services/devices/viatom/sp20.protocol.js +102 -0
  46. package/lib/commonjs/modules/bt-management/services/devices/viatom/sp20.protocol.js.map +1 -0
  47. package/lib/commonjs/modules/bt-management/services/devices/viatom/sp20.sequencer.js +115 -0
  48. package/lib/commonjs/modules/bt-management/services/devices/viatom/sp20.sequencer.js.map +1 -0
  49. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom-lepu-crypto.js +81 -0
  50. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom-lepu-crypto.js.map +1 -0
  51. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom-r20.device.js +57 -0
  52. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom-r20.device.js.map +1 -0
  53. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom-r20.protocol.js +118 -0
  54. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom-r20.protocol.js.map +1 -0
  55. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom-r20.sequencer.js +95 -0
  56. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom-r20.sequencer.js.map +1 -0
  57. package/lib/commonjs/modules/bt-management/types/clock-sync.js +3 -0
  58. package/lib/commonjs/modules/bt-management/types/clock-sync.js.map +1 -1
  59. package/lib/commonjs/modules/bt-management/types/device-measurement-map.js.map +1 -1
  60. package/lib/commonjs/modules/bt-management/types/integrated-devices.js +11 -0
  61. package/lib/commonjs/modules/bt-management/types/integrated-devices.js.map +1 -1
  62. package/lib/module/modules/bt-device/constants/baby-sleep-clip-catalog-asset.js +7 -0
  63. package/lib/module/modules/bt-device/constants/baby-sleep-clip-catalog-asset.js.map +1 -0
  64. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js +12 -1
  65. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  66. package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js +5 -1
  67. package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -1
  68. package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js +20 -1
  69. package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -1
  70. package/lib/module/modules/bt-device/constants/supported-devices.js +38 -0
  71. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
  72. package/lib/module/modules/bt-management/constants/integrated-devices-map.js +1 -1
  73. package/lib/module/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  74. package/lib/module/modules/bt-management/services/device-classes.js +92 -0
  75. package/lib/module/modules/bt-management/services/device-classes.js.map +1 -0
  76. package/lib/module/modules/bt-management/services/device-creator.js +3 -81
  77. package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
  78. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +6 -1
  79. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  80. package/lib/module/modules/bt-management/services/devices/viatom/baby-sleep-clip.device.js +52 -0
  81. package/lib/module/modules/bt-management/services/devices/viatom/baby-sleep-clip.device.js.map +1 -0
  82. package/lib/module/modules/bt-management/services/devices/viatom/baby-sleep-clip.protocol.js +99 -0
  83. package/lib/module/modules/bt-management/services/devices/viatom/baby-sleep-clip.protocol.js.map +1 -0
  84. package/lib/module/modules/bt-management/services/devices/viatom/baby-sleep-clip.sequencer.js +75 -0
  85. package/lib/module/modules/bt-management/services/devices/viatom/baby-sleep-clip.sequencer.js.map +1 -0
  86. package/lib/module/modules/bt-management/services/devices/viatom/lpm311.device.js +50 -0
  87. package/lib/module/modules/bt-management/services/devices/viatom/lpm311.device.js.map +1 -0
  88. package/lib/module/modules/bt-management/services/devices/viatom/lpm311.protocol.js +98 -0
  89. package/lib/module/modules/bt-management/services/devices/viatom/lpm311.protocol.js.map +1 -0
  90. package/lib/module/modules/bt-management/services/devices/viatom/lpm311.sequencer.js +28 -0
  91. package/lib/module/modules/bt-management/services/devices/viatom/lpm311.sequencer.js.map +1 -0
  92. package/lib/module/modules/bt-management/services/devices/viatom/oxy-s3.device.js +67 -0
  93. package/lib/module/modules/bt-management/services/devices/viatom/oxy-s3.device.js.map +1 -0
  94. package/lib/module/modules/bt-management/services/devices/viatom/oxy-s3.protocol.js +94 -0
  95. package/lib/module/modules/bt-management/services/devices/viatom/oxy-s3.protocol.js.map +1 -0
  96. package/lib/module/modules/bt-management/services/devices/viatom/oxy-s3.sequencer.js +105 -0
  97. package/lib/module/modules/bt-management/services/devices/viatom/oxy-s3.sequencer.js.map +1 -0
  98. package/lib/module/modules/bt-management/services/devices/viatom/pf10aw1.device.js +48 -0
  99. package/lib/module/modules/bt-management/services/devices/viatom/pf10aw1.device.js.map +1 -0
  100. package/lib/module/modules/bt-management/services/devices/viatom/pf10aw1.protocol.js +57 -0
  101. package/lib/module/modules/bt-management/services/devices/viatom/pf10aw1.protocol.js.map +1 -0
  102. package/lib/module/modules/bt-management/services/devices/viatom/pf10aw1.sequencer.js +91 -0
  103. package/lib/module/modules/bt-management/services/devices/viatom/pf10aw1.sequencer.js.map +1 -0
  104. package/lib/module/modules/bt-management/services/devices/viatom/sp20.device.js +49 -0
  105. package/lib/module/modules/bt-management/services/devices/viatom/sp20.device.js.map +1 -0
  106. package/lib/module/modules/bt-management/services/devices/viatom/sp20.protocol.js +94 -0
  107. package/lib/module/modules/bt-management/services/devices/viatom/sp20.protocol.js.map +1 -0
  108. package/lib/module/modules/bt-management/services/devices/viatom/sp20.sequencer.js +110 -0
  109. package/lib/module/modules/bt-management/services/devices/viatom/sp20.sequencer.js.map +1 -0
  110. package/lib/module/modules/bt-management/services/devices/viatom/viatom-lepu-crypto.js +71 -0
  111. package/lib/module/modules/bt-management/services/devices/viatom/viatom-lepu-crypto.js.map +1 -0
  112. package/lib/module/modules/bt-management/services/devices/viatom/viatom-r20.device.js +52 -0
  113. package/lib/module/modules/bt-management/services/devices/viatom/viatom-r20.device.js.map +1 -0
  114. package/lib/module/modules/bt-management/services/devices/viatom/viatom-r20.protocol.js +110 -0
  115. package/lib/module/modules/bt-management/services/devices/viatom/viatom-r20.protocol.js.map +1 -0
  116. package/lib/module/modules/bt-management/services/devices/viatom/viatom-r20.sequencer.js +90 -0
  117. package/lib/module/modules/bt-management/services/devices/viatom/viatom-r20.sequencer.js.map +1 -0
  118. package/lib/module/modules/bt-management/types/clock-sync.js +3 -0
  119. package/lib/module/modules/bt-management/types/clock-sync.js.map +1 -1
  120. package/lib/module/modules/bt-management/types/device-measurement-map.js.map +1 -1
  121. package/lib/module/modules/bt-management/types/integrated-devices.js +11 -0
  122. package/lib/module/modules/bt-management/types/integrated-devices.js.map +1 -1
  123. package/lib/typescript/commonjs/src/modules/bt-device/constants/baby-sleep-clip-catalog-asset.d.ts +4 -0
  124. package/lib/typescript/commonjs/src/modules/bt-device/constants/baby-sleep-clip-catalog-asset.d.ts.map +1 -0
  125. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  126. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +5 -1
  127. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -1
  128. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -1
  129. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +1 -1
  130. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  131. package/lib/typescript/commonjs/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
  132. package/lib/typescript/commonjs/src/modules/bt-management/services/device-classes.d.ts +89 -0
  133. package/lib/typescript/commonjs/src/modules/bt-management/services/device-classes.d.ts.map +1 -0
  134. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  135. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +2 -0
  136. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  137. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.device.d.ts +18 -0
  138. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.device.d.ts.map +1 -0
  139. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.protocol.d.ts +27 -0
  140. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.protocol.d.ts.map +1 -0
  141. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.sequencer.d.ts +32 -0
  142. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.sequencer.d.ts.map +1 -0
  143. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/lpm311.device.d.ts +9 -0
  144. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/lpm311.device.d.ts.map +1 -0
  145. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/lpm311.protocol.d.ts +14 -0
  146. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/lpm311.protocol.d.ts.map +1 -0
  147. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/lpm311.sequencer.d.ts +10 -0
  148. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/lpm311.sequencer.d.ts.map +1 -0
  149. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/oxy-s3.device.d.ts +18 -0
  150. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/oxy-s3.device.d.ts.map +1 -0
  151. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/oxy-s3.protocol.d.ts +42 -0
  152. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/oxy-s3.protocol.d.ts.map +1 -0
  153. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/oxy-s3.sequencer.d.ts +31 -0
  154. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/oxy-s3.sequencer.d.ts.map +1 -0
  155. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/pf10aw1.device.d.ts +19 -0
  156. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/pf10aw1.device.d.ts.map +1 -0
  157. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/pf10aw1.protocol.d.ts +30 -0
  158. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/pf10aw1.protocol.d.ts.map +1 -0
  159. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/pf10aw1.sequencer.d.ts +27 -0
  160. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/pf10aw1.sequencer.d.ts.map +1 -0
  161. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/sp20.device.d.ts +20 -0
  162. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/sp20.device.d.ts.map +1 -0
  163. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/sp20.protocol.d.ts +28 -0
  164. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/sp20.protocol.d.ts.map +1 -0
  165. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/sp20.sequencer.d.ts +26 -0
  166. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/sp20.sequencer.d.ts.map +1 -0
  167. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom-lepu-crypto.d.ts +7 -0
  168. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom-lepu-crypto.d.ts.map +1 -0
  169. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom-r20.device.d.ts +20 -0
  170. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom-r20.device.d.ts.map +1 -0
  171. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom-r20.protocol.d.ts +38 -0
  172. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom-r20.protocol.d.ts.map +1 -0
  173. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom-r20.sequencer.d.ts +35 -0
  174. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom-r20.sequencer.d.ts.map +1 -0
  175. package/lib/typescript/commonjs/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
  176. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +12 -1
  177. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  178. package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts +12 -1
  179. package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
  180. package/lib/typescript/module/src/modules/bt-device/constants/baby-sleep-clip-catalog-asset.d.ts +4 -0
  181. package/lib/typescript/module/src/modules/bt-device/constants/baby-sleep-clip-catalog-asset.d.ts.map +1 -0
  182. package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  183. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +5 -1
  184. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -1
  185. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -1
  186. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +1 -1
  187. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  188. package/lib/typescript/module/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
  189. package/lib/typescript/module/src/modules/bt-management/services/device-classes.d.ts +89 -0
  190. package/lib/typescript/module/src/modules/bt-management/services/device-classes.d.ts.map +1 -0
  191. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  192. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +2 -0
  193. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  194. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.device.d.ts +18 -0
  195. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.device.d.ts.map +1 -0
  196. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.protocol.d.ts +27 -0
  197. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.protocol.d.ts.map +1 -0
  198. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.sequencer.d.ts +32 -0
  199. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.sequencer.d.ts.map +1 -0
  200. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/lpm311.device.d.ts +9 -0
  201. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/lpm311.device.d.ts.map +1 -0
  202. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/lpm311.protocol.d.ts +14 -0
  203. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/lpm311.protocol.d.ts.map +1 -0
  204. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/lpm311.sequencer.d.ts +10 -0
  205. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/lpm311.sequencer.d.ts.map +1 -0
  206. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/oxy-s3.device.d.ts +18 -0
  207. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/oxy-s3.device.d.ts.map +1 -0
  208. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/oxy-s3.protocol.d.ts +42 -0
  209. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/oxy-s3.protocol.d.ts.map +1 -0
  210. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/oxy-s3.sequencer.d.ts +31 -0
  211. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/oxy-s3.sequencer.d.ts.map +1 -0
  212. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/pf10aw1.device.d.ts +19 -0
  213. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/pf10aw1.device.d.ts.map +1 -0
  214. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/pf10aw1.protocol.d.ts +30 -0
  215. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/pf10aw1.protocol.d.ts.map +1 -0
  216. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/pf10aw1.sequencer.d.ts +27 -0
  217. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/pf10aw1.sequencer.d.ts.map +1 -0
  218. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/sp20.device.d.ts +20 -0
  219. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/sp20.device.d.ts.map +1 -0
  220. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/sp20.protocol.d.ts +28 -0
  221. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/sp20.protocol.d.ts.map +1 -0
  222. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/sp20.sequencer.d.ts +26 -0
  223. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/sp20.sequencer.d.ts.map +1 -0
  224. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom-lepu-crypto.d.ts +7 -0
  225. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom-lepu-crypto.d.ts.map +1 -0
  226. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom-r20.device.d.ts +20 -0
  227. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom-r20.device.d.ts.map +1 -0
  228. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom-r20.protocol.d.ts +38 -0
  229. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom-r20.protocol.d.ts.map +1 -0
  230. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom-r20.sequencer.d.ts +35 -0
  231. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom-r20.sequencer.d.ts.map +1 -0
  232. package/lib/typescript/module/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
  233. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +12 -1
  234. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  235. package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts +12 -1
  236. package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
  237. package/package.json +6 -4
@@ -5,82 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.DeviceCreator = void 0;
7
7
  var _resolveDeviceKey = require("../core/resolve-device-key.js");
8
- var _integratedDevices = require("../types/integrated-devices.js");
9
8
  var _isCustomDeviceDefinition = require("../utils/is-custom-device-definition.js");
10
- var _a606Device = require("./devices/a606/a606.device.js");
11
- var _aojDevice = require("./devices/aoj/aoj.device.js");
12
- var _bc01Device = require("./devices/bc01/bc01.device.js");
13
- var _bloodGlucoseDevice = require("./devices/blood-glucose/blood-glucose.device.js");
14
- var _bp2Device = require("./devices/bp2/bp2.device.js");
15
- var _bpw1Device = require("./devices/bpw1/bpw1.device.js");
16
- var _checkmeEcgDevice = require("./devices/checkme/checkme-ecg.device.js");
17
- var _checkmePodDevice = require("./devices/checkme/checkme-pod.device.js");
18
- var _checkmeDevice = require("./devices/checkme/checkme.device.js");
9
+ var _deviceClasses = require("./device-classes.js");
19
10
  var _customDevice = require("./devices/custom/custom.device.js");
20
- var _f4Device = require("./devices/f4/f4.device.js");
21
- var _f5ScaleDevice = require("./devices/f5/f5-scale.device.js");
22
- var _genialT31Device = require("./devices/genial-t31/genial-t31.device.js");
23
- var _oxyfitDevice = require("./devices/spo/oxyfit.device.js");
24
- var _spo2Device = require("./devices/spo/spo2.device.js");
25
- var _mysenseDevice = require("./devices/uebe/mysense.device.js");
26
- var _verovalActivityDevice = require("./devices/veroval/veroval.activity-device.js");
27
- var _verovalDuoControlDevice = require("./devices/veroval/veroval.duo-control-device.js");
28
- var _verovalEcgDevice = require("./devices/veroval/veroval.ecg-device.js");
29
- var _ap20Device = require("./devices/viatom/ap20.device.js");
30
- var _biolandBgmDevice = require("./devices/viatom/bioland.bgm.device.js");
31
- var _pc68bDevice = require("./devices/viatom/pc68b.device.js");
32
- var _pc80bDevice = require("./devices/viatom/pc80b.device.js");
33
- var _poctorM3102Device = require("./devices/viatom/poctor.m3102.device.js");
34
- var _viatomBpm188Device = require("./devices/viatom/viatom.bpm188.device.js");
35
- var _viatomPc100Device = require("./devices/viatom/viatom.pc100.device.js");
36
- var _viatomPc300Device = require("./devices/viatom/viatom.pc300.device.js");
37
- var _viatomPm10Device = require("./devices/viatom/viatom.pm10.device.js");
38
- var _viatomWbp02Device = require("./devices/viatom/viatom.wbp02.device.js");
39
- /**
40
- * The built-in names the SDK can actually build.
41
- *
42
- * `integratedDevicesMap` matches more names than this, on purpose: matching is what names a
43
- * device in a scan result and a device list, which is useful for hardware the SDK cannot
44
- * yet decode. Connecting to one of those is what fails, and it fails saying so.
45
- */
46
- const DEVICE_CLASSES = {
47
- [_integratedDevices.IntegratedDevices.BP2]: _bp2Device.BP2Device,
48
- [_integratedDevices.IntegratedDevices.F4]: _f4Device.F4Device,
49
- [_integratedDevices.IntegratedDevices.S5]: _f4Device.F4Device,
50
- [_integratedDevices.IntegratedDevices.LEPU_F4_SCALE]: _f4Device.F4Device,
51
- [_integratedDevices.IntegratedDevices.LEPU_F5_SCALE]: _f5ScaleDevice.F5ScaleDevice,
52
- [_integratedDevices.IntegratedDevices.PC60WF]: _spo2Device.SPO2Device,
53
- [_integratedDevices.IntegratedDevices.SPO2]: _oxyfitDevice.OxyfitDevice,
54
- [_integratedDevices.IntegratedDevices.MYSENSE]: _mysenseDevice.MySenseDevice,
55
- [_integratedDevices.IntegratedDevices.BC01]: _bc01Device.BC01Device,
56
- [_integratedDevices.IntegratedDevices.AOJ20A]: _aojDevice.Aoj20aDevice,
57
- [_integratedDevices.IntegratedDevices.TAIDOC_GLUCOSE]: _bloodGlucoseDevice.BloodGlucoseDevice,
58
- [_integratedDevices.IntegratedDevices.GLUCOCHECK]: _bloodGlucoseDevice.BloodGlucoseDevice,
59
- [_integratedDevices.IntegratedDevices.BGM]: _bloodGlucoseDevice.BloodGlucoseDevice,
60
- [_integratedDevices.IntegratedDevices.VEROVAL_DUO_CONTROL]: _verovalDuoControlDevice.VerovalDuoControlDevice,
61
- [_integratedDevices.IntegratedDevices.VEROVAL_ECG]: _verovalEcgDevice.VerovalEcgDevice,
62
- [_integratedDevices.IntegratedDevices.VEROVAL_ACTIVITY]: _verovalActivityDevice.VerovalActivityDevice,
63
- [_integratedDevices.IntegratedDevices.GENIAL_T31]: _genialT31Device.GenialT31Device,
64
- [_integratedDevices.IntegratedDevices.ZH_SG_A606]: _a606Device.A606Device,
65
- [_integratedDevices.IntegratedDevices.BPW1]: _bpw1Device.Bpw1Device,
66
- [_integratedDevices.IntegratedDevices.CHECKME]: _checkmeDevice.CheckmeProDevice,
67
- [_integratedDevices.IntegratedDevices.CHECKME_POD]: _checkmePodDevice.CheckmePodDevice,
68
- [_integratedDevices.IntegratedDevices.CHECKME_POD_WPS]: _checkmePodDevice.CheckmePodDevice,
69
- [_integratedDevices.IntegratedDevices.AP20]: _ap20Device.Ap20Device,
70
- [_integratedDevices.IntegratedDevices.AP20_WPS]: _ap20Device.Ap20Device,
71
- [_integratedDevices.IntegratedDevices.PC68B]: _pc68bDevice.Pc68bDevice,
72
- [_integratedDevices.IntegratedDevices.PC100]: _viatomPc100Device.Pc100Device,
73
- [_integratedDevices.IntegratedDevices.BPM188]: _viatomBpm188Device.Bpm188Device,
74
- [_integratedDevices.IntegratedDevices.PC300]: _viatomPc300Device.Pc300Device,
75
- [_integratedDevices.IntegratedDevices.POCTOR_M3102]: _poctorM3102Device.PoctorM3102Device,
76
- [_integratedDevices.IntegratedDevices.BIOLAND_BGM]: _biolandBgmDevice.BiolandBgmDevice,
77
- [_integratedDevices.IntegratedDevices.PULSEBIT_EX]: _checkmeEcgDevice.PulsebitDevice,
78
- [_integratedDevices.IntegratedDevices.CHECKME_EX]: _checkmeEcgDevice.PulsebitDevice,
79
- [_integratedDevices.IntegratedDevices.CHECKME_LE]: _checkmeEcgDevice.CheckmeLeDevice,
80
- [_integratedDevices.IntegratedDevices.PC80B]: _pc80bDevice.Pc80bDevice,
81
- [_integratedDevices.IntegratedDevices.WBP_02]: _viatomWbp02Device.Wbp02Device,
82
- [_integratedDevices.IntegratedDevices.PM10]: _viatomPm10Device.Pm10Device
83
- };
84
11
  const collectCustomDevices = acceptedDevices => {
85
12
  const customDevices = new Map();
86
13
  const matchers = new Set();
@@ -116,7 +43,7 @@ class DeviceCreator {
116
43
  if (!foundName && normalizedServices.size === 0) {
117
44
  return undefined;
118
45
  }
119
- if (!foundName && normalizedServices.size > 0) {
46
+ if (!foundName) {
120
47
  return this.matchDeviceName(foundName, normalizedServices);
121
48
  }
122
49
  if (this.deviceNameCache.has(foundName)) {
@@ -136,11 +63,7 @@ class DeviceCreator {
136
63
  throw new Error("Device is required");
137
64
  }
138
65
 
139
- /**
140
- * On iOS the peripheral's `name` is null in scan callbacks until it is connected —
141
- * `localName` carries the advertised name instead. Accept either so a scan-time
142
- * `createDevice` call for a real iOS ad is not rejected before it can connect.
143
- */
66
+ /** On iOS scan callbacks may have null `name`; `localName` carries the advertised name. */
144
67
  if (!params.device.name?.trim() && !params.device.localName?.trim() && !this.customDevices.get(params.deviceName)?.matchByService) {
145
68
  throw new Error("Device name is required");
146
69
  }
@@ -152,9 +75,9 @@ class DeviceCreator {
152
75
  // @ts-expect-error - the caller asked for this custom device by its own id
153
76
  return new _customDevice.CustomDevice(params.device, params, custom);
154
77
  }
155
- const deviceClass = DEVICE_CLASSES[params.deviceName];
78
+ const deviceClass = _deviceClasses.BUILT_IN_DEVICE_CLASSES[params.deviceName];
156
79
  if (!deviceClass) {
157
- throw new Error(`"${params.deviceName}" is a name the SDK matches during a scan but has no decoder for, so "${params.device.name}" cannot be connected. The names it can decode are ${Object.keys(DEVICE_CLASSES).join(", ")}; anything else needs a declaration registered with defineCustomDevice and passed in acceptedDevices.`);
80
+ throw new Error(`"${params.deviceName}" is a name the SDK matches during a scan but has no decoder for, so "${params.device.name}" cannot be connected. The names it can decode are ${Object.keys(_deviceClasses.BUILT_IN_DEVICE_CLASSES).join(", ")}; anything else needs a declaration registered with defineCustomDevice and passed in acceptedDevices.`);
158
81
  }
159
82
 
160
83
  // @ts-expect-error - This is a workaround to allow the deviceClass to be instantiated with the correct type
@@ -1 +1 @@
1
- {"version":3,"names":["_resolveDeviceKey","require","_integratedDevices","_isCustomDeviceDefinition","_a606Device","_aojDevice","_bc01Device","_bloodGlucoseDevice","_bp2Device","_bpw1Device","_checkmeEcgDevice","_checkmePodDevice","_checkmeDevice","_customDevice","_f4Device","_f5ScaleDevice","_genialT31Device","_oxyfitDevice","_spo2Device","_mysenseDevice","_verovalActivityDevice","_verovalDuoControlDevice","_verovalEcgDevice","_ap20Device","_biolandBgmDevice","_pc68bDevice","_pc80bDevice","_poctorM3102Device","_viatomBpm188Device","_viatomPc100Device","_viatomPc300Device","_viatomPm10Device","_viatomWbp02Device","DEVICE_CLASSES","IntegratedDevices","BP2","BP2Device","F4","F4Device","S5","LEPU_F4_SCALE","LEPU_F5_SCALE","F5ScaleDevice","PC60WF","SPO2Device","SPO2","OxyfitDevice","MYSENSE","MySenseDevice","BC01","BC01Device","AOJ20A","Aoj20aDevice","TAIDOC_GLUCOSE","BloodGlucoseDevice","GLUCOCHECK","BGM","VEROVAL_DUO_CONTROL","VerovalDuoControlDevice","VEROVAL_ECG","VerovalEcgDevice","VEROVAL_ACTIVITY","VerovalActivityDevice","GENIAL_T31","GenialT31Device","ZH_SG_A606","A606Device","BPW1","Bpw1Device","CHECKME","CheckmeProDevice","CHECKME_POD","CheckmePodDevice","CHECKME_POD_WPS","AP20","Ap20Device","AP20_WPS","PC68B","Pc68bDevice","PC100","Pc100Device","BPM188","Bpm188Device","PC300","Pc300Device","POCTOR_M3102","PoctorM3102Device","BIOLAND_BGM","BiolandBgmDevice","PULSEBIT_EX","PulsebitDevice","CHECKME_EX","CHECKME_LE","CheckmeLeDevice","PC80B","Pc80bDevice","WBP_02","Wbp02Device","PM10","Pm10Device","collectCustomDevices","acceptedDevices","customDevices","Map","matchers","Set","forEach","entry","index","isCustomDeviceDefinition","Error","has","id","matchByService","nameMatch","source","set","add","DeviceCreator","deviceNameCache","CACHE_MAX_SIZE","constructor","acceptedDeviceNames","getDeviceName","foundName","serviceUUIDs","normalizedServices","map","uuid","toLowerCase","size","undefined","matchDeviceName","get","matched","cacheDeviceName","createDevice","params","String","deviceName","trim","device","name","localName","custom","CustomDevice","deviceClass","Object","keys","join","destroy","clear","resolveDeviceKey","deviceType","firstKey","next","value","delete","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/device-creator.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_resolveDeviceKey","require","_isCustomDeviceDefinition","_deviceClasses","_customDevice","collectCustomDevices","acceptedDevices","customDevices","Map","matchers","Set","forEach","entry","index","isCustomDeviceDefinition","Error","has","id","matchByService","nameMatch","source","set","add","DeviceCreator","deviceNameCache","CACHE_MAX_SIZE","constructor","acceptedDeviceNames","getDeviceName","foundName","serviceUUIDs","normalizedServices","map","uuid","toLowerCase","size","undefined","matchDeviceName","get","matched","cacheDeviceName","createDevice","params","String","deviceName","trim","device","name","localName","custom","CustomDevice","deviceClass","DEVICE_CLASSES","Object","keys","join","destroy","clear","resolveDeviceKey","deviceType","firstKey","next","value","delete","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/device-creator.ts"],"mappings":"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","ignoreList":[]}
@@ -30,6 +30,11 @@ class BTManagedDevice {
30
30
  * The timeout in milliseconds for the stuck data.
31
31
  */
32
32
 
33
+ /** Override when the command sequencer emits results not decoded by frame cases. */
34
+ getSupportedMeasurementTypeKeys() {
35
+ return (0, _supportedMeasurementTypeKeys.supportedMeasurementTypeKeys)(this.mainServices);
36
+ }
37
+
33
38
  /**
34
39
  * The function to handle the dependent result on dependent case. This is generic and can be overridden by the device to handle the result based on the device logic.
35
40
  * If the case is dependent, this function will be called to handle the result and return the new result based on the device logic.
@@ -248,7 +253,7 @@ class BTManagedDevice {
248
253
  this.historyResultCount = 0;
249
254
 
250
255
  // To access the abstract property in the constructor, we need to set it here
251
- this.deviceData.measurementTypes = (0, _supportedMeasurementTypeKeys.supportedMeasurementTypeKeys)(this.mainServices);
256
+ this.deviceData.measurementTypes = this.getSupportedMeasurementTypeKeys();
252
257
  const sequencer = this.createCommandSequencer?.() ?? (0, _pollingCommandSequencer.pollingSequencerFor)(this.mainServices);
253
258
  this.historyTransferActive = sequencer.isHistoryTransfer?.() === true;
254
259
  this.connectionHandler = new _btConnectionHandler.BTConnectionHandler(this.device, this.mainServices, {
@@ -1 +1 @@
1
- {"version":3,"names":["_sentryLogger","require","_telemetry","_bluetoothError","_clockSync","_deviceStatus","_resultIdentity","_summariseMeasurementForLog","_supportedMeasurementTypeKeys","_btConnectionHandler","_btDataProcessor","_pollingCommandSequencer","BTManagedDevice","connected","resultReportedThisConnection","historyTransferActive","bondedEventReported","reportedMeasurementKinds","Set","reportedDailyTotals","historyResultCount","reportsBondedEvent","handleMeasurementEnd","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onConnectionEvent","onConnectionEventCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","resultPolicy","sentryLogger","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","clockSync","clockSyncCapabilityForDevice","status","measurementTypeKey","addOvokSpanEvent","model","error","Error","message","normalized","toBluetoothError","originalError","translationKey","code","caseType","_","data","policy","byMeasurement","default","has","add","temporal","end","Date","undefined","now","getTime","day","start","recordedAt","key","toISOString","slice","recordOvokMetric","summariseMeasurementForLog","kind","progress","current","result","Object","defineProperty","value","createStableResultId","enumerable","writable","destroy","connectionHandler","dataProcessor","disconnect","cancelConnection","String","connectInternal","clear","supportedMeasurementTypeKeys","mainServices","sequencer","createCommandSequencer","pollingSequencerFor","isHistoryTransfer","BTConnectionHandler","onStatusChanged","DeviceStatus","CONNECTED","bind","DISCONNECTED","event","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","serialNumber","initialCommands","onCommandSent","armStuckTimeout","armCommandTimeout","isNormalDisconnect","preferredMtu","BTDataProcessor","stuckDataTimeout","onStreamStart","onMeasurementEnd","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","commandTimeoutMs","onCommandTimeout","commandProgress","handleDependentResult","frameReader","connect","connectionPromise","Promise","resolve","finally","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_sentryLogger","require","_telemetry","_bluetoothError","_clockSync","_deviceStatus","_resultIdentity","_summariseMeasurementForLog","_supportedMeasurementTypeKeys","_btConnectionHandler","_btDataProcessor","_pollingCommandSequencer","BTManagedDevice","connected","resultReportedThisConnection","historyTransferActive","bondedEventReported","reportedMeasurementKinds","Set","reportedDailyTotals","historyResultCount","getSupportedMeasurementTypeKeys","supportedMeasurementTypeKeys","mainServices","reportsBondedEvent","handleMeasurementEnd","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onConnectionEvent","onConnectionEventCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","resultPolicy","sentryLogger","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","clockSync","clockSyncCapabilityForDevice","status","measurementTypeKey","addOvokSpanEvent","model","error","Error","message","normalized","toBluetoothError","originalError","translationKey","code","caseType","_","data","policy","byMeasurement","default","has","add","temporal","end","Date","undefined","now","getTime","day","start","recordedAt","key","toISOString","slice","recordOvokMetric","summariseMeasurementForLog","kind","progress","current","result","Object","defineProperty","value","createStableResultId","enumerable","writable","destroy","connectionHandler","dataProcessor","disconnect","cancelConnection","String","connectInternal","clear","sequencer","createCommandSequencer","pollingSequencerFor","isHistoryTransfer","BTConnectionHandler","onStatusChanged","DeviceStatus","CONNECTED","bind","DISCONNECTED","event","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","serialNumber","initialCommands","onCommandSent","armStuckTimeout","armCommandTimeout","isNormalDisconnect","preferredMtu","BTDataProcessor","stuckDataTimeout","onStreamStart","onMeasurementEnd","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","commandTimeoutMs","onCommandTimeout","commandProgress","handleDependentResult","frameReader","connect","connectionPromise","Promise","resolve","finally","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.babySleepClipMainServices = exports.BabySleepClipDevice = void 0;
7
+ var _btManagedDevice = require("../bt-managed-device.js");
8
+ var _babySleepClipProtocol = require("./baby-sleep-clip.protocol.js");
9
+ var _babySleepClipSequencer = require("./baby-sleep-clip.sequencer.js");
10
+ /* eslint-disable import/group-exports */
11
+
12
+ const acceptNothing = {
13
+ caseValuePosition: [],
14
+ cases: []
15
+ };
16
+ const babySleepClipMainServices = exports.babySleepClipMainServices = [{
17
+ uuid: _babySleepClipProtocol.BABY_SLEEP_CLIP_SERVICE,
18
+ monitorUuids: [{
19
+ uuid: _babySleepClipProtocol.BABY_SLEEP_CLIP_NOTIFY,
20
+ parsingModel: acceptNothing
21
+ }],
22
+ writeUuid: {
23
+ uuid: _babySleepClipProtocol.BABY_SLEEP_CLIP_WRITE,
24
+ mainCommandUuid: "a5"
25
+ }
26
+ }];
27
+
28
+ /** ViHealth BabySleep Clip BS1 uses an encrypted Lepu A5 exchange over E8FB. */
29
+ class BabySleepClipDevice extends _btManagedDevice.BTManagedDevice {
30
+ mainServices = babySleepClipMainServices;
31
+ stuckDataTimeout = 60_000;
32
+ onStreamStart = undefined;
33
+ preferredMtu = 247;
34
+ getSupportedMeasurementTypeKeys() {
35
+ return [_babySleepClipProtocol.BABY_SLEEP_CLIP_MEASUREMENT_TYPE];
36
+ }
37
+ constructor(device, params) {
38
+ super(device, {
39
+ ...params,
40
+ oneReadingPerConnection: params.oneReadingPerConnection ?? true
41
+ });
42
+ this.frameReader = new _babySleepClipProtocol.BabySleepClipFrameReader();
43
+ this.createCommandSequencer = () => new _babySleepClipSequencer.BabySleepClipSequencer({
44
+ write: {
45
+ serviceUuid: _babySleepClipProtocol.BABY_SLEEP_CLIP_SERVICE,
46
+ characteristicUuid: _babySleepClipProtocol.BABY_SLEEP_CLIP_WRITE
47
+ },
48
+ clockSync: params.clockSync,
49
+ onResult: result => this.onResult?.(result)
50
+ });
51
+ }
52
+ handleSuccessResult() {
53
+ return;
54
+ }
55
+ }
56
+ exports.BabySleepClipDevice = BabySleepClipDevice;
57
+ //# sourceMappingURL=baby-sleep-clip.device.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_btManagedDevice","require","_babySleepClipProtocol","_babySleepClipSequencer","acceptNothing","caseValuePosition","cases","babySleepClipMainServices","exports","uuid","BABY_SLEEP_CLIP_SERVICE","monitorUuids","BABY_SLEEP_CLIP_NOTIFY","parsingModel","writeUuid","BABY_SLEEP_CLIP_WRITE","mainCommandUuid","BabySleepClipDevice","BTManagedDevice","mainServices","stuckDataTimeout","onStreamStart","undefined","preferredMtu","getSupportedMeasurementTypeKeys","BABY_SLEEP_CLIP_MEASUREMENT_TYPE","constructor","device","params","oneReadingPerConnection","frameReader","BabySleepClipFrameReader","createCommandSequencer","BabySleepClipSequencer","write","serviceUuid","characteristicUuid","clockSync","onResult","result","handleSuccessResult"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/baby-sleep-clip.device.ts"],"mappings":";;;;;;AAUA,IAAAA,gBAAA,GAAAC,OAAA;AAEA,IAAAC,sBAAA,GAAAD,OAAA;AAOA,IAAAE,uBAAA,GAAAF,OAAA;AAnBA;;AAqBA,MAAMG,aAAa,GAAG;EAAEC,iBAAiB,EAAE,EAAE;EAAEC,KAAK,EAAE;AAAG,CAAC;AAEnD,MAAMC,yBAAqC,GAAAC,OAAA,CAAAD,yBAAA,GAAG,CACnD;EACEE,IAAI,EAAEC,8CAAuB;EAC7BC,YAAY,EAAE,CACZ;IAAEF,IAAI,EAAEG,6CAAsB;IAAEC,YAAY,EAAET;EAAc,CAAC,CAC9D;EACDU,SAAS,EAAE;IAAEL,IAAI,EAAEM,4CAAqB;IAAEC,eAAe,EAAE;EAAK;AAClE,CAAC,CACF;;AAED;AACO,MAAMC,mBAAmB,SAASC,gCAAe,CAAoC;EAChFC,YAAY,GAAGZ,yBAAyB;EACxCa,gBAAgB,GAAG,MAAM;EACzBC,aAAa,GAAGC,SAAS;EAChBC,YAAY,GAAG,GAAG;EAElBC,+BAA+BA,CAAA,EAAyB;IACzE,OAAO,CAACC,uDAAgC,CAAC;EAC3C;EAEOC,WAAWA,CAChBC,MAAc,EACdC,MAA6D,EAC7D;IACA,KAAK,CAACD,MAAM,EAAE;MACZ,GAAGC,MAAM;MACTC,uBAAuB,EAAED,MAAM,CAACC,uBAAuB,IAAI;IAC7D,CAAC,CAAC;IACF,IAAI,CAACC,WAAW,GAAG,IAAIC,+CAAwB,CAAC,CAAC;IACjD,IAAI,CAACC,sBAAsB,GAAG,MAC5B,IAAIC,8CAAsB,CAAC;MACzBC,KAAK,EAAE;QACLC,WAAW,EAAEzB,8CAAuB;QACpC0B,kBAAkB,EAAErB;MACtB,CAAC;MACDsB,SAAS,EAAET,MAAM,CAACS,SAAS;MAC3BC,QAAQ,EAAGC,MAAM,IACf,IAAI,CAACD,QAAQ,GACXC,MAGF;IACJ,CAAC,CAAC;EACN;EAEUC,mBAAmBA,CAAA,EAAS;IACpC;EACF;AACF;AAAChC,OAAA,CAAAS,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.decodeBabySleepClipResponse = exports.decodeBabySleepClipData = exports.BabySleepClipFrameReader = exports.BabySleepClipCommand = exports.BABY_SLEEP_CLIP_WRITE = exports.BABY_SLEEP_CLIP_SERVICE = exports.BABY_SLEEP_CLIP_NOTIFY = exports.BABY_SLEEP_CLIP_MEASUREMENT_TYPE = void 0;
7
+ var _core = require("@ovok/core");
8
+ var _calculateCrc = require("../../../utils/calculate-crc-8.js");
9
+ var _hexToByte = require("../../../utils/hex-to-byte.js");
10
+ var _le16FromHex = require("../../../utils/le-16-from-hex.js");
11
+ var _lepuFrameReader = require("../lepu/lepu.frame-reader.js");
12
+ /* eslint-disable import/group-exports */
13
+
14
+ const BABY_SLEEP_CLIP_SERVICE = exports.BABY_SLEEP_CLIP_SERVICE = "e8fb0001-a14b-98f9-831b-4e2941d01248";
15
+ const BABY_SLEEP_CLIP_WRITE = exports.BABY_SLEEP_CLIP_WRITE = "e8fb0002-a14b-98f9-831b-4e2941d01248";
16
+ const BABY_SLEEP_CLIP_NOTIFY = exports.BABY_SLEEP_CLIP_NOTIFY = "e8fb0003-a14b-98f9-831b-4e2941d01248";
17
+ const BABY_SLEEP_CLIP_MEASUREMENT_TYPE = exports.BABY_SLEEP_CLIP_MEASUREMENT_TYPE = _core.MeasurementTypeKey.babySleep;
18
+ const BabySleepClipCommand = exports.BabySleepClipCommand = {
19
+ authenticate: 0xff,
20
+ syncTime: 0xec,
21
+ readData: 0x02
22
+ };
23
+ const COMPONENT_SYSTEM = "https://sdk.ovok.com/fhir/CodeSystem/baby-sleep-components";
24
+ const componentCode = (code, display) => ({
25
+ coding: [{
26
+ system: COMPONENT_SYSTEM,
27
+ code,
28
+ display
29
+ }],
30
+ text: display
31
+ });
32
+ const integerComponent = (code, display, value) => ({
33
+ code: componentCode(code, display),
34
+ valueInteger: value
35
+ });
36
+ const booleanComponent = (code, display, value) => ({
37
+ code: componentCode(code, display),
38
+ valueBoolean: value
39
+ });
40
+ const quantityComponent = (code, display, value, unit, ucum) => ({
41
+ code: componentCode(code, display),
42
+ valueQuantity: {
43
+ value,
44
+ unit,
45
+ system: "http://unitsofmeasure.org",
46
+ code: ucum
47
+ }
48
+ });
49
+ const u32 = (bytes, offset) => (bytes[offset] ?? 0) + (bytes[offset + 1] ?? 0) * 0x100 + (bytes[offset + 2] ?? 0) * 0x10000 + (bytes[offset + 3] ?? 0) * 0x1000000;
50
+ const u16 = (bytes, offset) => (bytes[offset] ?? 0) | (bytes[offset + 1] ?? 0) << 8;
51
+ const i16 = (bytes, offset) => {
52
+ const value = u16(bytes, offset);
53
+ return value > 0x7fff ? value - 0x10000 : value;
54
+ };
55
+
56
+ /** Validates one complete A5 response used by the BabySleep Clip interface. */
57
+ const decodeBabySleepClipResponse = frame => {
58
+ if (frame.length < 8 || (0, _hexToByte.hexToByte)(frame[0] ?? "00") !== 0xa5) {
59
+ return undefined;
60
+ }
61
+ const command = (0, _hexToByte.hexToByte)(frame[1] ?? "00");
62
+ const checksumIndex = frame.length - 1;
63
+ const payloadLength = (0, _le16FromHex.le16FromHex)(frame, 5);
64
+ if ((0, _hexToByte.hexToByte)(frame[2] ?? "00") !== (~command & 0xff) || frame.length !== payloadLength + 8 || (0, _hexToByte.hexToByte)(frame[checksumIndex] ?? "00") !== (0, _calculateCrc.calculateCrc8)([...frame], checksumIndex)) {
65
+ return undefined;
66
+ }
67
+ return {
68
+ command,
69
+ status: (0, _hexToByte.hexToByte)(frame[3] ?? "00"),
70
+ payload: frame.slice(7, checksumIndex).map(_hexToByte.hexToByte)
71
+ };
72
+ };
73
+
74
+ /** Maps the vendor's RT_DATA response without assigning meanings to its coded states. */
75
+ exports.decodeBabySleepClipResponse = decodeBabySleepClipResponse;
76
+ const decodeBabySleepClipData = (bytes, recordedAt = new Date()) => {
77
+ if (bytes.length < 21) {
78
+ return undefined;
79
+ }
80
+ const components = [integerComponent("duration", "Recording duration (raw)", u32(bytes, 0)), integerComponent("device-status", "Device status", bytes[4] ?? 0), integerComponent("posture", "Posture code", bytes[5] ?? 0), booleanComponent("lead-off", "Sensor lead-off", bytes[6] === 1), integerComponent("breath-alarm", "Respiratory alarm code", bytes[8] ?? 0), integerComponent("temperature-alarm", "Temperature alarm code", (bytes[11] ?? 0) & 0x03), booleanComponent("quilt-kick-alarm", "Quilt movement alarm", ((bytes[11] ?? 0) & 0x04) !== 0), integerComponent("battery-state", "Battery state code", bytes[12] ?? 0), quantityComponent("battery-charge", "Battery charge", bytes[13] ?? 0, "%", "%"), quantityComponent("battery-voltage", "Battery voltage", u16(bytes, 14) / 1000, "V", "V"), integerComponent("startup", "Device startup value (raw)", u32(bytes, 16)), booleanComponent("posture-alarm", "Posture alarm", bytes[20] === 1)];
81
+ const respiratoryRate = bytes[7] ?? 0;
82
+ if (respiratoryRate > 0 && respiratoryRate <= 100) {
83
+ components.push(quantityComponent("respiratory-rate", "Respiratory rate", respiratoryRate, "breaths/min", "{breaths}/min"));
84
+ }
85
+ const temperature = i16(bytes, 9) / 10;
86
+ if (temperature >= -20 && temperature <= 60) {
87
+ components.push(quantityComponent("temperature", "Feeling temperature", temperature, "°C", "Cel"));
88
+ }
89
+ if (bytes.length >= 56) {
90
+ components.push(integerComponent("cough-display", "Cough display flag", bytes[28] ?? 0), integerComponent("sleep-state", "Sleep state code", bytes[29] ?? 0), integerComponent("falling-asleep-time", "Falling asleep time (raw)", u32(bytes, 30)), integerComponent("awake-time", "Awake time (raw)", u32(bytes, 34)), integerComponent("wake-time", "Wake time (raw)", u32(bytes, 38)), integerComponent("deep-sleep-time", "Deep sleep time (raw)", u32(bytes, 42)), integerComponent("light-sleep-time", "Light sleep time (raw)", u32(bytes, 46)), integerComponent("sleep-time", "Sleep time (raw)", u32(bytes, 50)), integerComponent("awake-count", "Awake count", bytes[54] ?? 0), integerComponent("playpnea", "Playpnea code", bytes[55] ?? 0));
91
+ }
92
+ return {
93
+ measurementTypeKey: BABY_SLEEP_CLIP_MEASUREMENT_TYPE,
94
+ recordedAt,
95
+ components
96
+ };
97
+ };
98
+
99
+ /** Reads complete encrypted Lepu A5 notifications and joins split frames. */
100
+ exports.decodeBabySleepClipData = decodeBabySleepClipData;
101
+ class BabySleepClipFrameReader {
102
+ reader = new _lepuFrameReader.LepuFrameReader(["a5"]);
103
+ readFrame = buffer => this.reader.readFrame(buffer);
104
+ }
105
+ exports.BabySleepClipFrameReader = BabySleepClipFrameReader;
106
+ //# sourceMappingURL=baby-sleep-clip.protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_core","require","_calculateCrc","_hexToByte","_le16FromHex","_lepuFrameReader","BABY_SLEEP_CLIP_SERVICE","exports","BABY_SLEEP_CLIP_WRITE","BABY_SLEEP_CLIP_NOTIFY","BABY_SLEEP_CLIP_MEASUREMENT_TYPE","MeasurementTypeKey","babySleep","BabySleepClipCommand","authenticate","syncTime","readData","COMPONENT_SYSTEM","componentCode","code","display","coding","system","text","integerComponent","value","valueInteger","booleanComponent","valueBoolean","quantityComponent","unit","ucum","valueQuantity","u32","bytes","offset","u16","i16","decodeBabySleepClipResponse","frame","length","hexToByte","undefined","command","checksumIndex","payloadLength","le16FromHex","calculateCrc8","status","payload","slice","map","decodeBabySleepClipData","recordedAt","Date","components","respiratoryRate","push","temperature","measurementTypeKey","BabySleepClipFrameReader","reader","LepuFrameReader","readFrame","buffer"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/baby-sleep-clip.protocol.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BabySleepClipSequencer = void 0;
7
+ var _caseType = require("../../../types/case-type.js");
8
+ var _clockSync = require("../../../types/clock-sync.js");
9
+ var _lepuCommandBuilder = require("../lepu/lepu.command-builder.js");
10
+ var _babySleepClipProtocol = require("./baby-sleep-clip.protocol.js");
11
+ var _viatomLepuCrypto = require("./viatom-lepu-crypto.js");
12
+ /** Authenticates, synchronizes the BS1 clock when enabled, and reads one RT_DATA record. */
13
+ class BabySleepClipSequencer {
14
+ commands = new _lepuCommandBuilder.LepuCommandBuilder("a5");
15
+ phase = "authenticate";
16
+ resultReported = false;
17
+ constructor(params) {
18
+ this.params = params;
19
+ }
20
+ initialCommands = () => [this.command(_babySleepClipProtocol.BabySleepClipCommand.authenticate, (0, _viatomLepuCrypto.createLepuAccessToken)(this.now()), false)];
21
+ isNormalDisconnect = () => this.resultReported;
22
+ commandTimeoutMs = () => this.phase === "done" ? undefined : 5_000;
23
+ onCommandTimeout = () => {
24
+ this.phase = "done";
25
+ return {
26
+ terminal: true
27
+ };
28
+ };
29
+ nextCommand = frame => {
30
+ const response = (0, _babySleepClipProtocol.decodeBabySleepClipResponse)(frame);
31
+ if (!response || response.status !== 1) {
32
+ return undefined;
33
+ }
34
+ if (this.phase === "authenticate") {
35
+ if (response.command !== _babySleepClipProtocol.BabySleepClipCommand.authenticate) {
36
+ return undefined;
37
+ }
38
+ const sessionKey = (0, _viatomLepuCrypto.parseLepuSessionKey)((0, _viatomLepuCrypto.decryptLepuHandshake)(response.payload));
39
+ if (!sessionKey) {
40
+ return undefined;
41
+ }
42
+ this.sessionKey = sessionKey;
43
+ this.phase = (0, _clockSync.isClockSyncEnabled)(this.params.clockSync) ? "clock" : "read";
44
+ return [this.phase === "clock" ? this.timeCommand() : this.readCommand()];
45
+ }
46
+ if (this.phase === "clock" && response.command === _babySleepClipProtocol.BabySleepClipCommand.syncTime) {
47
+ this.phase = "read";
48
+ return [this.readCommand()];
49
+ }
50
+ if (this.phase === "read" && response.command === _babySleepClipProtocol.BabySleepClipCommand.readData) {
51
+ const payload = this.sessionKey ? (0, _viatomLepuCrypto.decryptLepuPayload)(response.payload, this.sessionKey) ?? [] : [];
52
+ const measurement = (0, _babySleepClipProtocol.decodeBabySleepClipData)(payload, this.now());
53
+ if (measurement) {
54
+ this.phase = "done";
55
+ this.resultReported = true;
56
+ this.params.onResult({
57
+ ...measurement,
58
+ caseType: _caseType.CaseType.RESULT
59
+ });
60
+ }
61
+ }
62
+ return undefined;
63
+ };
64
+ command = (command, payload = [], encrypt = true) => {
65
+ const framePayload = encrypt && this.sessionKey && payload.length > 0 ? (0, _viatomLepuCrypto.encryptLepuPayload)(payload, this.sessionKey) : [...payload];
66
+ return {
67
+ ...this.params.write,
68
+ frame: this.commands.build(command, framePayload),
69
+ withoutResponse: true
70
+ };
71
+ };
72
+ timeCommand = () => {
73
+ const parts = (0, _clockSync.getClockParts)(this.now(), this.params.clockSync?.timezone ?? "local");
74
+ return this.command(_babySleepClipProtocol.BabySleepClipCommand.syncTime, [parts.year & 0xff, parts.year >>> 8, parts.month, parts.day, parts.hours, parts.minutes, parts.seconds]);
75
+ };
76
+ readCommand = () => this.command(_babySleepClipProtocol.BabySleepClipCommand.readData);
77
+ now = () => this.params.clockSync?.now?.() ?? new Date();
78
+ }
79
+ exports.BabySleepClipSequencer = BabySleepClipSequencer;
80
+ //# sourceMappingURL=baby-sleep-clip.sequencer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_caseType","require","_clockSync","_lepuCommandBuilder","_babySleepClipProtocol","_viatomLepuCrypto","BabySleepClipSequencer","commands","LepuCommandBuilder","phase","resultReported","constructor","params","initialCommands","command","BabySleepClipCommand","authenticate","createLepuAccessToken","now","isNormalDisconnect","commandTimeoutMs","undefined","onCommandTimeout","terminal","nextCommand","frame","response","decodeBabySleepClipResponse","status","sessionKey","parseLepuSessionKey","decryptLepuHandshake","payload","isClockSyncEnabled","clockSync","timeCommand","readCommand","syncTime","readData","decryptLepuPayload","measurement","decodeBabySleepClipData","onResult","caseType","CaseType","RESULT","encrypt","framePayload","length","encryptLepuPayload","write","build","withoutResponse","parts","getClockParts","timezone","year","month","day","hours","minutes","seconds","Date","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/baby-sleep-clip.sequencer.ts"],"mappings":";;;;;;AAEA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAQA,IAAAE,mBAAA,GAAAF,OAAA;AAEA,IAAAG,sBAAA,GAAAH,OAAA;AAKA,IAAAI,iBAAA,GAAAJ,OAAA;AAgBA;AACO,MAAMK,sBAAsB,CAA6B;EAC7CC,QAAQ,GAAG,IAAIC,sCAAkB,CAAC,IAAI,CAAC;EAChDC,KAAK,GAAU,cAAc;EAE7BC,cAAc,GAAG,KAAK;EAEvBC,WAAWA,CAAkBC,MAAoC,EAAE;IAAA,KAAtCA,MAAoC,GAApCA,MAAoC;EAAG;EAEpEC,eAAe,GAAGA,CAAA,KAAgC,CACvD,IAAI,CAACC,OAAO,CACVC,2CAAoB,CAACC,YAAY,EACjC,IAAAC,uCAAqB,EAAC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC,EACjC,KACF,CAAC,CACF;EAEMC,kBAAkB,GAAGA,CAAA,KAAe,IAAI,CAACT,cAAc;EAEvDU,gBAAgB,GAAGA,CAAA,KACxB,IAAI,CAACX,KAAK,KAAK,MAAM,GAAGY,SAAS,GAAG,KAAK;EAEpCC,gBAAgB,GAAGA,CAAA,KAAM;IAC9B,IAAI,CAACb,KAAK,GAAG,MAAM;IAEnB,OAAO;MAAEc,QAAQ,EAAE;IAAK,CAAC;EAC3B,CAAC;EAEMC,WAAW,GAChBC,KAAwB,IACiB;IACzC,MAAMC,QAAQ,GAAG,IAAAC,kDAA2B,EAACF,KAAK,CAAC;IAEnD,IAAI,CAACC,QAAQ,IAAIA,QAAQ,CAACE,MAAM,KAAK,CAAC,EAAE;MACtC,OAAOP,SAAS;IAClB;IAEA,IAAI,IAAI,CAACZ,KAAK,KAAK,cAAc,EAAE;MACjC,IAAIiB,QAAQ,CAACZ,OAAO,KAAKC,2CAAoB,CAACC,YAAY,EAAE;QAC1D,OAAOK,SAAS;MAClB;MAEA,MAAMQ,UAAU,GAAG,IAAAC,qCAAmB,EACpC,IAAAC,sCAAoB,EAACL,QAAQ,CAACM,OAAO,CACvC,CAAC;MAED,IAAI,CAACH,UAAU,EAAE;QACf,OAAOR,SAAS;MAClB;MAEA,IAAI,CAACQ,UAAU,GAAGA,UAAU;MAC5B,IAAI,CAACpB,KAAK,GAAG,IAAAwB,6BAAkB,EAAC,IAAI,CAACrB,MAAM,CAACsB,SAAS,CAAC,GAAG,OAAO,GAAG,MAAM;MAEzE,OAAO,CAAC,IAAI,CAACzB,KAAK,KAAK,OAAO,GAAG,IAAI,CAAC0B,WAAW,CAAC,CAAC,GAAG,IAAI,CAACC,WAAW,CAAC,CAAC,CAAC;IAC3E;IAEA,IACE,IAAI,CAAC3B,KAAK,KAAK,OAAO,IACtBiB,QAAQ,CAACZ,OAAO,KAAKC,2CAAoB,CAACsB,QAAQ,EAClD;MACA,IAAI,CAAC5B,KAAK,GAAG,MAAM;MAEnB,OAAO,CAAC,IAAI,CAAC2B,WAAW,CAAC,CAAC,CAAC;IAC7B;IAEA,IACE,IAAI,CAAC3B,KAAK,KAAK,MAAM,IACrBiB,QAAQ,CAACZ,OAAO,KAAKC,2CAAoB,CAACuB,QAAQ,EAClD;MACA,MAAMN,OAAO,GAAG,IAAI,CAACH,UAAU,GAC1B,IAAAU,oCAAkB,EAACb,QAAQ,CAACM,OAAO,EAAE,IAAI,CAACH,UAAU,CAAC,IAAI,EAAE,GAC5D,EAAE;MAEN,MAAMW,WAAW,GAAG,IAAAC,8CAAuB,EAACT,OAAO,EAAE,IAAI,CAACd,GAAG,CAAC,CAAC,CAAC;MAEhE,IAAIsB,WAAW,EAAE;QACf,IAAI,CAAC/B,KAAK,GAAG,MAAM;QACnB,IAAI,CAACC,cAAc,GAAG,IAAI;QAC1B,IAAI,CAACE,MAAM,CAAC8B,QAAQ,CAAC;UAAE,GAAGF,WAAW;UAAEG,QAAQ,EAAEC,kBAAQ,CAACC;QAAO,CAAC,CAAC;MACrE;IACF;IAEA,OAAOxB,SAAS;EAClB,CAAC;EAEOP,OAAO,GAAGA,CAChBA,OAAe,EACfkB,OAA0B,GAAG,EAAE,EAC/Bc,OAAO,GAAG,IAAI,KACI;IAClB,MAAMC,YAAY,GAChBD,OAAO,IAAI,IAAI,CAACjB,UAAU,IAAIG,OAAO,CAACgB,MAAM,GAAG,CAAC,GAC5C,IAAAC,oCAAkB,EAACjB,OAAO,EAAE,IAAI,CAACH,UAAU,CAAC,GAC5C,CAAC,GAAGG,OAAO,CAAC;IAElB,OAAO;MACL,GAAG,IAAI,CAACpB,MAAM,CAACsC,KAAK;MACpBzB,KAAK,EAAE,IAAI,CAAClB,QAAQ,CAAC4C,KAAK,CAACrC,OAAO,EAAEiC,YAAY,CAAC;MACjDK,eAAe,EAAE;IACnB,CAAC;EACH,CAAC;EAEOjB,WAAW,GAAGA,CAAA,KAAqB;IACzC,MAAMkB,KAAK,GAAG,IAAAC,wBAAa,EACzB,IAAI,CAACpC,GAAG,CAAC,CAAC,EACV,IAAI,CAACN,MAAM,CAACsB,SAAS,EAAEqB,QAAQ,IAAI,OACrC,CAAC;IAED,OAAO,IAAI,CAACzC,OAAO,CAACC,2CAAoB,CAACsB,QAAQ,EAAE,CACjDgB,KAAK,CAACG,IAAI,GAAG,IAAI,EACjBH,KAAK,CAACG,IAAI,KAAK,CAAC,EAChBH,KAAK,CAACI,KAAK,EACXJ,KAAK,CAACK,GAAG,EACTL,KAAK,CAACM,KAAK,EACXN,KAAK,CAACO,OAAO,EACbP,KAAK,CAACQ,OAAO,CACd,CAAC;EACJ,CAAC;EAEOzB,WAAW,GAAGA,CAAA,KACpB,IAAI,CAACtB,OAAO,CAACC,2CAAoB,CAACuB,QAAQ,CAAC;EAErCpB,GAAG,GAAGA,CAAA,KAAY,IAAI,CAACN,MAAM,CAACsB,SAAS,EAAEhB,GAAG,GAAG,CAAC,IAAI,IAAI4C,IAAI,CAAC,CAAC;AACxE;AAACC,OAAA,CAAAzD,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Lpm311Device = void 0;
7
+ var _defineCustomDevice = require("../../custom/define-custom-device.js");
8
+ var _customDevice = require("../custom/custom.device.js");
9
+ var _lpm311Protocol = require("./lpm311.protocol.js");
10
+ var _lpm311Sequencer = require("./lpm311.sequencer.js");
11
+ const SERVICE = "0000ffe0-0000-1000-8000-00805f9b34fb";
12
+ const CHARACTERISTIC = "0000ffe1-0000-1000-8000-00805f9b34fb";
13
+ const definition = (0, _defineCustomDevice.defineCustomDevice)({
14
+ id: "viatom-lpm311",
15
+ nameMatch: /^LPM311(?: |$)/i,
16
+ oneReadingPerConnection: true,
17
+ stuckDataTimeoutMs: 30_000,
18
+ services: [{
19
+ uuid: SERVICE,
20
+ monitor: [{
21
+ uuid: CHARACTERISTIC,
22
+ frame: {
23
+ minLengthBytes: _lpm311Protocol.LPM311_RECORD_BYTES
24
+ },
25
+ cases: [{
26
+ selector: "",
27
+ kind: "event",
28
+ minLengthBytes: _lpm311Protocol.LPM311_RECORD_BYTES,
29
+ description: "LPM311 lipid panel record"
30
+ }]
31
+ }]
32
+ }]
33
+ }, {
34
+ frameReader: new _lpm311Protocol.Lpm311FrameReader(),
35
+ createFrameHandler: () => ({
36
+ frame,
37
+ emit
38
+ }) => {
39
+ const result = (0, _lpm311Protocol.decodeLpm311Record)(frame);
40
+ if (result) {
41
+ emit(result);
42
+ }
43
+ }
44
+ });
45
+
46
+ /** Built-in LPM311 transport because its request/reply messages are device-specific. */
47
+ class Lpm311Device extends _customDevice.CustomDevice {
48
+ constructor(device, params) {
49
+ super(device, params, definition);
50
+ this.frameReader = new _lpm311Protocol.Lpm311FrameReader();
51
+ this.createCommandSequencer = () => new _lpm311Sequencer.Lpm311Sequencer();
52
+ }
53
+ }
54
+ exports.Lpm311Device = Lpm311Device;
55
+ //# sourceMappingURL=lpm311.device.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_defineCustomDevice","require","_customDevice","_lpm311Protocol","_lpm311Sequencer","SERVICE","CHARACTERISTIC","definition","defineCustomDevice","id","nameMatch","oneReadingPerConnection","stuckDataTimeoutMs","services","uuid","monitor","frame","minLengthBytes","LPM311_RECORD_BYTES","cases","selector","kind","description","frameReader","Lpm311FrameReader","createFrameHandler","emit","result","decodeLpm311Record","Lpm311Device","CustomDevice","constructor","device","params","createCommandSequencer","Lpm311Sequencer","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/lpm311.device.ts"],"mappings":";;;;;;AAMA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AAKA,IAAAG,gBAAA,GAAAH,OAAA;AAEA,MAAMI,OAAO,GAAG,sCAAsC;AACtD,MAAMC,cAAc,GAAG,sCAAsC;AAE7D,MAAMC,UAAU,GAAG,IAAAC,sCAAkB,EACnC;EACEC,EAAE,EAAE,eAAe;EACnBC,SAAS,EAAE,iBAAiB;EAC5BC,uBAAuB,EAAE,IAAI;EAC7BC,kBAAkB,EAAE,MAAM;EAC1BC,QAAQ,EAAE,CACR;IACEC,IAAI,EAAET,OAAO;IACbU,OAAO,EAAE,CACP;MACED,IAAI,EAAER,cAAc;MACpBU,KAAK,EAAE;QAAEC,cAAc,EAAEC;MAAoB,CAAC;MAC9CC,KAAK,EAAE,CACL;QACEC,QAAQ,EAAE,EAAE;QACZC,IAAI,EAAE,OAAO;QACbJ,cAAc,EAAEC,mCAAmB;QACnCI,WAAW,EAAE;MACf,CAAC;IAEL,CAAC;EAEL,CAAC;AAEL,CAAC,EACD;EACEC,WAAW,EAAE,IAAIC,iCAAiB,CAAC,CAAC;EACpCC,kBAAkB,EAChBA,CAAA,KACA,CAAC;IAAET,KAAK;IAAEU;EAAK,CAAC,KAAK;IACnB,MAAMC,MAAM,GAAG,IAAAC,kCAAkB,EAACZ,KAAK,CAAC;IAExC,IAAIW,MAAM,EAAE;MACVD,IAAI,CAACC,MAAqB,CAAC;IAC7B;EACF;AACJ,CACF,CAAC;;AAED;AACO,MAAME,YAAY,SAASC,0BAAY,CAAC;EACtCC,WAAWA,CAChBC,MAAc,EACdC,MAAoD,EACpD;IACA,KAAK,CACHD,MAAM,EACNC,MAAM,EACN1B,UACF,CAAC;IAED,IAAI,CAACgB,WAAW,GAAG,IAAIC,iCAAiB,CAAC,CAAC;IAC1C,IAAI,CAACU,sBAAsB,GAAG,MAAM,IAAIC,gCAAe,CAAC,CAAC;EAC3D;AACF;AAACC,OAAA,CAAAP,YAAA,GAAAA,YAAA","ignoreList":[]}