@ovok/native 1.6.46 → 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 (291) 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 +14 -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 +50 -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/background-sync/background-service-uuids.js +2 -0
  14. package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -1
  15. package/lib/commonjs/modules/bt-management/services/device-classes.js +95 -0
  16. package/lib/commonjs/modules/bt-management/services/device-classes.js.map +1 -0
  17. package/lib/commonjs/modules/bt-management/services/device-creator.js +5 -78
  18. package/lib/commonjs/modules/bt-management/services/device-creator.js.map +1 -1
  19. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +6 -1
  20. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  21. package/lib/commonjs/modules/bt-management/services/devices/viatom/baby-sleep-clip.device.js +57 -0
  22. package/lib/commonjs/modules/bt-management/services/devices/viatom/baby-sleep-clip.device.js.map +1 -0
  23. package/lib/commonjs/modules/bt-management/services/devices/viatom/baby-sleep-clip.protocol.js +106 -0
  24. package/lib/commonjs/modules/bt-management/services/devices/viatom/baby-sleep-clip.protocol.js.map +1 -0
  25. package/lib/commonjs/modules/bt-management/services/devices/viatom/baby-sleep-clip.sequencer.js +80 -0
  26. package/lib/commonjs/modules/bt-management/services/devices/viatom/baby-sleep-clip.sequencer.js.map +1 -0
  27. package/lib/commonjs/modules/bt-management/services/devices/viatom/lpm311.device.js +55 -0
  28. package/lib/commonjs/modules/bt-management/services/devices/viatom/lpm311.device.js.map +1 -0
  29. package/lib/commonjs/modules/bt-management/services/devices/viatom/lpm311.protocol.js +103 -0
  30. package/lib/commonjs/modules/bt-management/services/devices/viatom/lpm311.protocol.js.map +1 -0
  31. package/lib/commonjs/modules/bt-management/services/devices/viatom/lpm311.sequencer.js +33 -0
  32. package/lib/commonjs/modules/bt-management/services/devices/viatom/lpm311.sequencer.js.map +1 -0
  33. package/lib/commonjs/modules/bt-management/services/devices/viatom/oxy-s3.device.js +72 -0
  34. package/lib/commonjs/modules/bt-management/services/devices/viatom/oxy-s3.device.js.map +1 -0
  35. package/lib/commonjs/modules/bt-management/services/devices/viatom/oxy-s3.protocol.js +103 -0
  36. package/lib/commonjs/modules/bt-management/services/devices/viatom/oxy-s3.protocol.js.map +1 -0
  37. package/lib/commonjs/modules/bt-management/services/devices/viatom/oxy-s3.sequencer.js +110 -0
  38. package/lib/commonjs/modules/bt-management/services/devices/viatom/oxy-s3.sequencer.js.map +1 -0
  39. package/lib/commonjs/modules/bt-management/services/devices/viatom/pf10aw1.device.js +53 -0
  40. package/lib/commonjs/modules/bt-management/services/devices/viatom/pf10aw1.device.js.map +1 -0
  41. package/lib/commonjs/modules/bt-management/services/devices/viatom/pf10aw1.protocol.js +64 -0
  42. package/lib/commonjs/modules/bt-management/services/devices/viatom/pf10aw1.protocol.js.map +1 -0
  43. package/lib/commonjs/modules/bt-management/services/devices/viatom/pf10aw1.sequencer.js +96 -0
  44. package/lib/commonjs/modules/bt-management/services/devices/viatom/pf10aw1.sequencer.js.map +1 -0
  45. package/lib/commonjs/modules/bt-management/services/devices/viatom/sp20.device.js +54 -0
  46. package/lib/commonjs/modules/bt-management/services/devices/viatom/sp20.device.js.map +1 -0
  47. package/lib/commonjs/modules/bt-management/services/devices/viatom/sp20.protocol.js +102 -0
  48. package/lib/commonjs/modules/bt-management/services/devices/viatom/sp20.protocol.js.map +1 -0
  49. package/lib/commonjs/modules/bt-management/services/devices/viatom/sp20.sequencer.js +115 -0
  50. package/lib/commonjs/modules/bt-management/services/devices/viatom/sp20.sequencer.js.map +1 -0
  51. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom-lepu-crypto.js +81 -0
  52. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom-lepu-crypto.js.map +1 -0
  53. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom-r20.device.js +57 -0
  54. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom-r20.device.js.map +1 -0
  55. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom-r20.protocol.js +118 -0
  56. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom-r20.protocol.js.map +1 -0
  57. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom-r20.sequencer.js +95 -0
  58. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom-r20.sequencer.js.map +1 -0
  59. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.pm10.device.js +48 -0
  60. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.pm10.device.js.map +1 -0
  61. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.pm10.protocol.js +104 -0
  62. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.pm10.protocol.js.map +1 -0
  63. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.pm10.sequencer.js +57 -0
  64. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.pm10.sequencer.js.map +1 -0
  65. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.wbp02.device.js +50 -0
  66. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.wbp02.device.js.map +1 -0
  67. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.wbp02.protocol.js +108 -0
  68. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.wbp02.protocol.js.map +1 -0
  69. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.wbp02.sequencer.js +64 -0
  70. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.wbp02.sequencer.js.map +1 -0
  71. package/lib/commonjs/modules/bt-management/types/clock-sync.js +3 -0
  72. package/lib/commonjs/modules/bt-management/types/clock-sync.js.map +1 -1
  73. package/lib/commonjs/modules/bt-management/types/device-measurement-map.js.map +1 -1
  74. package/lib/commonjs/modules/bt-management/types/integrated-devices.js +13 -0
  75. package/lib/commonjs/modules/bt-management/types/integrated-devices.js.map +1 -1
  76. package/lib/module/modules/bt-device/constants/baby-sleep-clip-catalog-asset.js +7 -0
  77. package/lib/module/modules/bt-device/constants/baby-sleep-clip-catalog-asset.js.map +1 -0
  78. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js +14 -1
  79. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  80. package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js +5 -1
  81. package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -1
  82. package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js +20 -1
  83. package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -1
  84. package/lib/module/modules/bt-device/constants/supported-devices.js +50 -0
  85. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
  86. package/lib/module/modules/bt-management/constants/integrated-devices-map.js +1 -1
  87. package/lib/module/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  88. package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js +2 -0
  89. package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -1
  90. package/lib/module/modules/bt-management/services/device-classes.js +92 -0
  91. package/lib/module/modules/bt-management/services/device-classes.js.map +1 -0
  92. package/lib/module/modules/bt-management/services/device-creator.js +3 -77
  93. package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
  94. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +6 -1
  95. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  96. package/lib/module/modules/bt-management/services/devices/viatom/baby-sleep-clip.device.js +52 -0
  97. package/lib/module/modules/bt-management/services/devices/viatom/baby-sleep-clip.device.js.map +1 -0
  98. package/lib/module/modules/bt-management/services/devices/viatom/baby-sleep-clip.protocol.js +99 -0
  99. package/lib/module/modules/bt-management/services/devices/viatom/baby-sleep-clip.protocol.js.map +1 -0
  100. package/lib/module/modules/bt-management/services/devices/viatom/baby-sleep-clip.sequencer.js +75 -0
  101. package/lib/module/modules/bt-management/services/devices/viatom/baby-sleep-clip.sequencer.js.map +1 -0
  102. package/lib/module/modules/bt-management/services/devices/viatom/lpm311.device.js +50 -0
  103. package/lib/module/modules/bt-management/services/devices/viatom/lpm311.device.js.map +1 -0
  104. package/lib/module/modules/bt-management/services/devices/viatom/lpm311.protocol.js +98 -0
  105. package/lib/module/modules/bt-management/services/devices/viatom/lpm311.protocol.js.map +1 -0
  106. package/lib/module/modules/bt-management/services/devices/viatom/lpm311.sequencer.js +28 -0
  107. package/lib/module/modules/bt-management/services/devices/viatom/lpm311.sequencer.js.map +1 -0
  108. package/lib/module/modules/bt-management/services/devices/viatom/oxy-s3.device.js +67 -0
  109. package/lib/module/modules/bt-management/services/devices/viatom/oxy-s3.device.js.map +1 -0
  110. package/lib/module/modules/bt-management/services/devices/viatom/oxy-s3.protocol.js +94 -0
  111. package/lib/module/modules/bt-management/services/devices/viatom/oxy-s3.protocol.js.map +1 -0
  112. package/lib/module/modules/bt-management/services/devices/viatom/oxy-s3.sequencer.js +105 -0
  113. package/lib/module/modules/bt-management/services/devices/viatom/oxy-s3.sequencer.js.map +1 -0
  114. package/lib/module/modules/bt-management/services/devices/viatom/pf10aw1.device.js +48 -0
  115. package/lib/module/modules/bt-management/services/devices/viatom/pf10aw1.device.js.map +1 -0
  116. package/lib/module/modules/bt-management/services/devices/viatom/pf10aw1.protocol.js +57 -0
  117. package/lib/module/modules/bt-management/services/devices/viatom/pf10aw1.protocol.js.map +1 -0
  118. package/lib/module/modules/bt-management/services/devices/viatom/pf10aw1.sequencer.js +91 -0
  119. package/lib/module/modules/bt-management/services/devices/viatom/pf10aw1.sequencer.js.map +1 -0
  120. package/lib/module/modules/bt-management/services/devices/viatom/sp20.device.js +49 -0
  121. package/lib/module/modules/bt-management/services/devices/viatom/sp20.device.js.map +1 -0
  122. package/lib/module/modules/bt-management/services/devices/viatom/sp20.protocol.js +94 -0
  123. package/lib/module/modules/bt-management/services/devices/viatom/sp20.protocol.js.map +1 -0
  124. package/lib/module/modules/bt-management/services/devices/viatom/sp20.sequencer.js +110 -0
  125. package/lib/module/modules/bt-management/services/devices/viatom/sp20.sequencer.js.map +1 -0
  126. package/lib/module/modules/bt-management/services/devices/viatom/viatom-lepu-crypto.js +71 -0
  127. package/lib/module/modules/bt-management/services/devices/viatom/viatom-lepu-crypto.js.map +1 -0
  128. package/lib/module/modules/bt-management/services/devices/viatom/viatom-r20.device.js +52 -0
  129. package/lib/module/modules/bt-management/services/devices/viatom/viatom-r20.device.js.map +1 -0
  130. package/lib/module/modules/bt-management/services/devices/viatom/viatom-r20.protocol.js +110 -0
  131. package/lib/module/modules/bt-management/services/devices/viatom/viatom-r20.protocol.js.map +1 -0
  132. package/lib/module/modules/bt-management/services/devices/viatom/viatom-r20.sequencer.js +90 -0
  133. package/lib/module/modules/bt-management/services/devices/viatom/viatom-r20.sequencer.js.map +1 -0
  134. package/lib/module/modules/bt-management/services/devices/viatom/viatom.pm10.device.js +43 -0
  135. package/lib/module/modules/bt-management/services/devices/viatom/viatom.pm10.device.js.map +1 -0
  136. package/lib/module/modules/bt-management/services/devices/viatom/viatom.pm10.protocol.js +92 -0
  137. package/lib/module/modules/bt-management/services/devices/viatom/viatom.pm10.protocol.js.map +1 -0
  138. package/lib/module/modules/bt-management/services/devices/viatom/viatom.pm10.sequencer.js +52 -0
  139. package/lib/module/modules/bt-management/services/devices/viatom/viatom.pm10.sequencer.js.map +1 -0
  140. package/lib/module/modules/bt-management/services/devices/viatom/viatom.wbp02.device.js +45 -0
  141. package/lib/module/modules/bt-management/services/devices/viatom/viatom.wbp02.device.js.map +1 -0
  142. package/lib/module/modules/bt-management/services/devices/viatom/viatom.wbp02.protocol.js +94 -0
  143. package/lib/module/modules/bt-management/services/devices/viatom/viatom.wbp02.protocol.js.map +1 -0
  144. package/lib/module/modules/bt-management/services/devices/viatom/viatom.wbp02.sequencer.js +59 -0
  145. package/lib/module/modules/bt-management/services/devices/viatom/viatom.wbp02.sequencer.js.map +1 -0
  146. package/lib/module/modules/bt-management/types/clock-sync.js +3 -0
  147. package/lib/module/modules/bt-management/types/clock-sync.js.map +1 -1
  148. package/lib/module/modules/bt-management/types/device-measurement-map.js.map +1 -1
  149. package/lib/module/modules/bt-management/types/integrated-devices.js +13 -0
  150. package/lib/module/modules/bt-management/types/integrated-devices.js.map +1 -1
  151. package/lib/typescript/commonjs/src/modules/bt-device/constants/baby-sleep-clip-catalog-asset.d.ts +4 -0
  152. package/lib/typescript/commonjs/src/modules/bt-device/constants/baby-sleep-clip-catalog-asset.d.ts.map +1 -0
  153. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  154. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +5 -1
  155. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -1
  156. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -1
  157. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +1 -1
  158. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  159. package/lib/typescript/commonjs/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
  160. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts.map +1 -1
  161. package/lib/typescript/commonjs/src/modules/bt-management/services/device-classes.d.ts +89 -0
  162. package/lib/typescript/commonjs/src/modules/bt-management/services/device-classes.d.ts.map +1 -0
  163. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  164. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +2 -0
  165. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  166. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.device.d.ts +18 -0
  167. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.device.d.ts.map +1 -0
  168. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.protocol.d.ts +27 -0
  169. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.protocol.d.ts.map +1 -0
  170. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.sequencer.d.ts +32 -0
  171. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.sequencer.d.ts.map +1 -0
  172. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/lpm311.device.d.ts +9 -0
  173. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/lpm311.device.d.ts.map +1 -0
  174. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/lpm311.protocol.d.ts +14 -0
  175. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/lpm311.protocol.d.ts.map +1 -0
  176. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/lpm311.sequencer.d.ts +10 -0
  177. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/lpm311.sequencer.d.ts.map +1 -0
  178. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/oxy-s3.device.d.ts +18 -0
  179. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/oxy-s3.device.d.ts.map +1 -0
  180. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/oxy-s3.protocol.d.ts +42 -0
  181. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/oxy-s3.protocol.d.ts.map +1 -0
  182. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/oxy-s3.sequencer.d.ts +31 -0
  183. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/oxy-s3.sequencer.d.ts.map +1 -0
  184. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/pf10aw1.device.d.ts +19 -0
  185. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/pf10aw1.device.d.ts.map +1 -0
  186. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/pf10aw1.protocol.d.ts +30 -0
  187. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/pf10aw1.protocol.d.ts.map +1 -0
  188. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/pf10aw1.sequencer.d.ts +27 -0
  189. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/pf10aw1.sequencer.d.ts.map +1 -0
  190. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/sp20.device.d.ts +20 -0
  191. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/sp20.device.d.ts.map +1 -0
  192. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/sp20.protocol.d.ts +28 -0
  193. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/sp20.protocol.d.ts.map +1 -0
  194. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/sp20.sequencer.d.ts +26 -0
  195. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/sp20.sequencer.d.ts.map +1 -0
  196. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom-lepu-crypto.d.ts +7 -0
  197. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom-lepu-crypto.d.ts.map +1 -0
  198. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom-r20.device.d.ts +20 -0
  199. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom-r20.device.d.ts.map +1 -0
  200. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom-r20.protocol.d.ts +38 -0
  201. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom-r20.protocol.d.ts.map +1 -0
  202. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom-r20.sequencer.d.ts +35 -0
  203. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom-r20.sequencer.d.ts.map +1 -0
  204. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.pm10.device.d.ts +15 -0
  205. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.pm10.device.d.ts.map +1 -0
  206. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.pm10.protocol.d.ts +25 -0
  207. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.pm10.protocol.d.ts.map +1 -0
  208. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.pm10.sequencer.d.ts +21 -0
  209. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.pm10.sequencer.d.ts.map +1 -0
  210. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.wbp02.device.d.ts +14 -0
  211. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.wbp02.device.d.ts.map +1 -0
  212. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.wbp02.protocol.d.ts +31 -0
  213. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.wbp02.protocol.d.ts.map +1 -0
  214. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.wbp02.sequencer.d.ts +20 -0
  215. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.wbp02.sequencer.d.ts.map +1 -0
  216. package/lib/typescript/commonjs/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
  217. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +14 -1
  218. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  219. package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts +14 -1
  220. package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
  221. package/lib/typescript/module/src/modules/bt-device/constants/baby-sleep-clip-catalog-asset.d.ts +4 -0
  222. package/lib/typescript/module/src/modules/bt-device/constants/baby-sleep-clip-catalog-asset.d.ts.map +1 -0
  223. package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  224. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +5 -1
  225. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -1
  226. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -1
  227. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +1 -1
  228. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  229. package/lib/typescript/module/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
  230. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts.map +1 -1
  231. package/lib/typescript/module/src/modules/bt-management/services/device-classes.d.ts +89 -0
  232. package/lib/typescript/module/src/modules/bt-management/services/device-classes.d.ts.map +1 -0
  233. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  234. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +2 -0
  235. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  236. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.device.d.ts +18 -0
  237. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.device.d.ts.map +1 -0
  238. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.protocol.d.ts +27 -0
  239. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.protocol.d.ts.map +1 -0
  240. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.sequencer.d.ts +32 -0
  241. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/baby-sleep-clip.sequencer.d.ts.map +1 -0
  242. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/lpm311.device.d.ts +9 -0
  243. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/lpm311.device.d.ts.map +1 -0
  244. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/lpm311.protocol.d.ts +14 -0
  245. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/lpm311.protocol.d.ts.map +1 -0
  246. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/lpm311.sequencer.d.ts +10 -0
  247. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/lpm311.sequencer.d.ts.map +1 -0
  248. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/oxy-s3.device.d.ts +18 -0
  249. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/oxy-s3.device.d.ts.map +1 -0
  250. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/oxy-s3.protocol.d.ts +42 -0
  251. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/oxy-s3.protocol.d.ts.map +1 -0
  252. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/oxy-s3.sequencer.d.ts +31 -0
  253. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/oxy-s3.sequencer.d.ts.map +1 -0
  254. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/pf10aw1.device.d.ts +19 -0
  255. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/pf10aw1.device.d.ts.map +1 -0
  256. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/pf10aw1.protocol.d.ts +30 -0
  257. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/pf10aw1.protocol.d.ts.map +1 -0
  258. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/pf10aw1.sequencer.d.ts +27 -0
  259. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/pf10aw1.sequencer.d.ts.map +1 -0
  260. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/sp20.device.d.ts +20 -0
  261. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/sp20.device.d.ts.map +1 -0
  262. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/sp20.protocol.d.ts +28 -0
  263. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/sp20.protocol.d.ts.map +1 -0
  264. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/sp20.sequencer.d.ts +26 -0
  265. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/sp20.sequencer.d.ts.map +1 -0
  266. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom-lepu-crypto.d.ts +7 -0
  267. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom-lepu-crypto.d.ts.map +1 -0
  268. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom-r20.device.d.ts +20 -0
  269. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom-r20.device.d.ts.map +1 -0
  270. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom-r20.protocol.d.ts +38 -0
  271. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom-r20.protocol.d.ts.map +1 -0
  272. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom-r20.sequencer.d.ts +35 -0
  273. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom-r20.sequencer.d.ts.map +1 -0
  274. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.pm10.device.d.ts +15 -0
  275. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.pm10.device.d.ts.map +1 -0
  276. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.pm10.protocol.d.ts +25 -0
  277. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.pm10.protocol.d.ts.map +1 -0
  278. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.pm10.sequencer.d.ts +21 -0
  279. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.pm10.sequencer.d.ts.map +1 -0
  280. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.wbp02.device.d.ts +14 -0
  281. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.wbp02.device.d.ts.map +1 -0
  282. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.wbp02.protocol.d.ts +31 -0
  283. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.wbp02.protocol.d.ts.map +1 -0
  284. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.wbp02.sequencer.d.ts +20 -0
  285. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.wbp02.sequencer.d.ts.map +1 -0
  286. package/lib/typescript/module/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
  287. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +14 -1
  288. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  289. package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts +14 -1
  290. package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
  291. package/package.json +6 -4
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MeasurementTypeKey","calculateCrc8","hexToByte","le16FromHex","manufacturerBytes","LepuFrameReader","VIATOM_R20_SERVICE","VIATOM_R20_WRITE","VIATOM_R20_NOTIFY","VIATOM_R20_MEASUREMENT_TYPE","respiratoryTherapy","ViatomR20Command","authenticate","syncTime","readParameters","unitComponent","name","value","unit","code","text","valueQuantity","system","u16","bytes","offset","bounded","min","max","undefined","parseViatomR20Advertisement","manufacturerData","uuid2","selected","level","encrypted","decodeViatomR20Response","frame","length","command","checksumIndex","payloadLength","status","payload","slice","map","decodeViatomR20Parameters","recordedAt","Date","components","add","includeZero","valid","push","every","measurementTypeKey","ViatomR20FrameReader","reader","readFrame","buffer"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom-r20.protocol.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ import { MeasurementTypeKey } from "@ovok/core";
4
+ import { CaseType } from "../../../types/case-type.js";
5
+ import { getClockParts, isClockSyncEnabled } from "../../../types/clock-sync.js";
6
+ import { LepuCommandBuilder } from "../lepu/lepu.command-builder.js";
7
+ import { createLepuAccessToken, decryptLepuHandshake, decryptLepuPayload, encryptLepuPayload, parseLepuSessionKey } from "./viatom-lepu-crypto.js";
8
+ import { decodeViatomR20Parameters, decodeViatomR20Response, ViatomR20Command } from "./viatom-r20.protocol.js";
9
+ const timezoneOffsetTenths = (date, timezone) => timezone === "utc" ? 0 : Math.round(-date.getTimezoneOffset() / 6);
10
+
11
+ /** Runs the ViHealth ventilator handshake, optional clock write, and RT_PARAM request. */
12
+ export class ViatomR20Sequencer {
13
+ commands = new LepuCommandBuilder("a5");
14
+ resultReported = false;
15
+ constructor(params) {
16
+ this.params = params;
17
+ this.phase = params.encrypted ? "authenticate" : this.nextPhaseAfterAuth();
18
+ }
19
+ initialCommands = () => {
20
+ if (this.phase === "authenticate") {
21
+ return [this.command(ViatomR20Command.authenticate, createLepuAccessToken(this.now()))];
22
+ }
23
+ return [this.commandForCurrentPhase()];
24
+ };
25
+ isNormalDisconnect = () => this.resultReported;
26
+ commandTimeoutMs = () => this.phase === "done" ? undefined : 5_000;
27
+ onCommandTimeout = () => {
28
+ this.phase = "done";
29
+ return {
30
+ terminal: true
31
+ };
32
+ };
33
+ nextCommand = frame => {
34
+ const response = decodeViatomR20Response(frame);
35
+ if (!response || response.status !== 1) {
36
+ return undefined;
37
+ }
38
+ if (this.phase === "authenticate") {
39
+ if (response.command !== ViatomR20Command.authenticate) {
40
+ return undefined;
41
+ }
42
+ const sessionKey = parseLepuSessionKey(decryptLepuHandshake(response.payload));
43
+ if (!sessionKey) {
44
+ return undefined;
45
+ }
46
+ this.sessionKey = sessionKey;
47
+ this.phase = this.nextPhaseAfterAuth();
48
+ return [this.commandForCurrentPhase()];
49
+ }
50
+ if (this.phase === "clock") {
51
+ if (response.command !== ViatomR20Command.syncTime) {
52
+ return undefined;
53
+ }
54
+ this.phase = "parameters";
55
+ return [this.command(ViatomR20Command.readParameters)];
56
+ }
57
+ if (this.phase === "parameters" && response.command === ViatomR20Command.readParameters) {
58
+ const payload = this.sessionKey ? decryptLepuPayload(response.payload, this.sessionKey) ?? [] : response.payload;
59
+ const measurement = decodeViatomR20Parameters(payload, this.now());
60
+ this.phase = "done";
61
+ if (measurement) {
62
+ this.resultReported = true;
63
+ this.params.onResult({
64
+ ...measurement,
65
+ caseType: CaseType.RESULT,
66
+ measurementTypeKey: MeasurementTypeKey.respiratoryTherapy
67
+ });
68
+ }
69
+ }
70
+ return undefined;
71
+ };
72
+ nextPhaseAfterAuth = () => isClockSyncEnabled(this.params.clockSync) ? "clock" : "parameters";
73
+ commandForCurrentPhase = () => this.phase === "clock" ? this.timeCommand() : this.command(ViatomR20Command.readParameters);
74
+ command = (command, payload = []) => {
75
+ const encryptedPayload = this.sessionKey ? encryptLepuPayload(payload, this.sessionKey) : [...payload];
76
+ return {
77
+ ...this.params.write,
78
+ frame: this.commands.build(command, encryptedPayload),
79
+ withoutResponse: true
80
+ };
81
+ };
82
+ timeCommand = () => {
83
+ const date = this.now();
84
+ const parts = getClockParts(date, this.params.clockSync?.timezone);
85
+ const timezone = this.params.clockSync?.timezone ?? "local";
86
+ return this.command(ViatomR20Command.syncTime, [parts.year & 0xff, parts.year >>> 8, parts.month, parts.day, parts.hours, parts.minutes, parts.seconds, timezoneOffsetTenths(date, timezone) & 0xff]);
87
+ };
88
+ now = () => this.params.clockSync?.now?.() ?? this.params.now?.() ?? new Date();
89
+ }
90
+ //# sourceMappingURL=viatom-r20.sequencer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MeasurementTypeKey","CaseType","getClockParts","isClockSyncEnabled","LepuCommandBuilder","createLepuAccessToken","decryptLepuHandshake","decryptLepuPayload","encryptLepuPayload","parseLepuSessionKey","decodeViatomR20Parameters","decodeViatomR20Response","ViatomR20Command","timezoneOffsetTenths","date","timezone","Math","round","getTimezoneOffset","ViatomR20Sequencer","commands","resultReported","constructor","params","phase","encrypted","nextPhaseAfterAuth","initialCommands","command","authenticate","now","commandForCurrentPhase","isNormalDisconnect","commandTimeoutMs","undefined","onCommandTimeout","terminal","nextCommand","frame","response","status","sessionKey","payload","syncTime","readParameters","measurement","onResult","caseType","RESULT","measurementTypeKey","respiratoryTherapy","clockSync","timeCommand","encryptedPayload","write","build","withoutResponse","parts","year","month","day","hours","minutes","seconds","Date"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom-r20.sequencer.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable import/group-exports, import/order, padding-line-between-statements */
4
+
5
+ import { BTManagedDevice } from "../bt-managed-device.js";
6
+ import { PM10_NOTIFY, PM10_SERVICE, PM10_WRITE, Pm10FrameReader } from "./viatom.pm10.protocol.js";
7
+ import { Pm10Sequencer } from "./viatom.pm10.sequencer.js";
8
+ const acceptEverything = {
9
+ caseValuePosition: [],
10
+ cases: []
11
+ };
12
+ export const pm10MainServices = [{
13
+ uuid: PM10_SERVICE,
14
+ monitorUuids: [{
15
+ uuid: PM10_NOTIFY,
16
+ parsingModel: acceptEverything
17
+ }],
18
+ writeUuid: {
19
+ uuid: PM10_WRITE,
20
+ mainCommandUuid: "90"
21
+ }
22
+ }];
23
+ export class Pm10Device extends BTManagedDevice {
24
+ mainServices = pm10MainServices;
25
+ stuckDataTimeout = 120_000;
26
+ onStreamStart = undefined;
27
+ preferredMtu = 247;
28
+ constructor(device, params) {
29
+ super(device, params);
30
+ this.frameReader = new Pm10FrameReader();
31
+ this.createCommandSequencer = () => new Pm10Sequencer({
32
+ write: {
33
+ serviceUuid: PM10_SERVICE,
34
+ characteristicUuid: PM10_WRITE
35
+ },
36
+ onResult: result => this.onResult?.(result)
37
+ });
38
+ }
39
+ handleSuccessResult() {
40
+ return;
41
+ }
42
+ }
43
+ //# sourceMappingURL=viatom.pm10.device.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BTManagedDevice","PM10_NOTIFY","PM10_SERVICE","PM10_WRITE","Pm10FrameReader","Pm10Sequencer","acceptEverything","caseValuePosition","cases","pm10MainServices","uuid","monitorUuids","parsingModel","writeUuid","mainCommandUuid","Pm10Device","mainServices","stuckDataTimeout","onStreamStart","undefined","preferredMtu","constructor","device","params","frameReader","createCommandSequencer","write","serviceUuid","characteristicUuid","onResult","result","handleSuccessResult"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.pm10.device.ts"],"mappings":";;AAAA;;AAQA,SAASA,eAAe,QAAQ,yBAAsB;AACtD,SAASC,WAAW,EAAEC,YAAY,EAAEC,UAAU,EAAEC,eAAe,QAAQ,2BAAwB;AAC/F,SAASC,aAAa,QAAQ,4BAAyB;AAEvD,MAAMC,gBAAgB,GAAG;EAAEC,iBAAiB,EAAE,EAAE;EAAEC,KAAK,EAAE;AAAG,CAAC;AAC7D,OAAO,MAAMC,gBAA4B,GAAG,CAAC;EAAEC,IAAI,EAAER,YAAY;EAAES,YAAY,EAAE,CAAC;IAAED,IAAI,EAAET,WAAW;IAAEW,YAAY,EAAEN;EAAiB,CAAC,CAAC;EAAEO,SAAS,EAAE;IAAEH,IAAI,EAAEP,UAAU;IAAEW,eAAe,EAAE;EAAK;AAAE,CAAC,CAAC;AACnM,OAAO,MAAMC,UAAU,SAASf,eAAe,CAAyB;EAC5DgB,YAAY,GAAGP,gBAAgB;EAC/BQ,gBAAgB,GAAG,OAAO;EAC1BC,aAAa,GAAGC,SAAS;EAChBC,YAAY,GAAG,GAAG;EAC9BC,WAAWA,CAACC,MAAc,EAAEC,MAAkD,EAAE;IACrF,KAAK,CAACD,MAAM,EAAEC,MAAM,CAAC;IACrB,IAAI,CAACC,WAAW,GAAG,IAAIpB,eAAe,CAAC,CAAC;IACxC,IAAI,CAACqB,sBAAsB,GAAG,MAAM,IAAIpB,aAAa,CAAC;MAAEqB,KAAK,EAAE;QAAEC,WAAW,EAAEzB,YAAY;QAAE0B,kBAAkB,EAAEzB;MAAW,CAAC;MAAE0B,QAAQ,EAAGC,MAAM,IAAK,IAAI,CAACD,QAAQ,GAAGC,MAAuF;IAAE,CAAC,CAAC;EACjQ;EACUC,mBAAmBA,CAAA,EAAS;IAAE;EAAQ;AAClD","ignoreList":[]}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable import/group-exports, import/order, padding-line-between-statements, curly, max-lines */
4
+
5
+ import { FrameReadStatus } from "../../../types/frame-read-status.js";
6
+ import { hexToByte } from "../../../utils/hex-to-byte.js";
7
+ export const PM10_SERVICE = "0000ff12-0000-1000-8000-00805f9b34fb";
8
+ export const PM10_WRITE = "0000ff01-0000-1000-8000-00805f9b34fb";
9
+ export const PM10_NOTIFY = "0000ff02-0000-1000-8000-00805f9b34fb";
10
+ const byte = value => (value & 0xff).toString(16).padStart(2, "0");
11
+ const checksum = frame => byte(frame.reduce((sum, value) => sum + hexToByte(value), 0) & 0x7f);
12
+ export const pm10Command = (head, payload = []) => {
13
+ const body = [byte(head), ...payload.map(byte)];
14
+ return [...body, checksum(body)];
15
+ };
16
+ export const pm10GetTotal = () => pm10Command(0x90, [0x03]);
17
+ export const pm10GetCaseInfo = type => pm10Command(0x95, [type]);
18
+ export const pm10GetCaseData = type => pm10Command(0x96, [type]);
19
+ export const decodePm10CaseInfo = content => {
20
+ if (content.length < 16) return undefined;
21
+ const value = index => hexToByte(content[index] ?? "00");
22
+ const recordedAt = new Date(2000 + value(0), value(1) - 1, value(2), value(3), value(4), value(5));
23
+ const heartRate = (value(7) & 0x7f) << 7 | value(6) & 0x7f;
24
+ const waveformLength = (value(15) & 0x7f) << 7 | value(14) & 0x7f;
25
+ return {
26
+ recordedAt,
27
+ heartRate,
28
+ waveformLength,
29
+ results: content.slice(8, 14).map((_entry, index) => value(index + 8))
30
+ };
31
+ };
32
+ const mergeSevenBit = (mask, values) => values.slice(0, 7).map((value, index) => {
33
+ const raw = hexToByte(value) & 0x7f;
34
+ return (mask & 1 << index) !== 0 ? raw | 0x80 : raw;
35
+ });
36
+ export const decodePm10WavePage = content => {
37
+ if (content.length < 15) return [];
38
+ const first = mergeSevenBit(hexToByte(content[0] ?? "00"), content.slice(3, 10));
39
+ const second = mergeSevenBit(hexToByte(content[1] ?? "00"), content.slice(10, 17));
40
+ return [...first, ...second].map((high, index) => {
41
+ const low = index < 7 ? hexToByte(content[index + 3] ?? "00") : hexToByte(content[index + 3] ?? "00");
42
+ return (high << 8 | low) - 16384;
43
+ });
44
+ };
45
+ const responseLength = {
46
+ 0xe0: 7,
47
+ 0xe5: 18,
48
+ 0xe6: 17,
49
+ 0xf2: 8,
50
+ 0xf3: 3,
51
+ 0xf4: 18,
52
+ 0xf5: 3,
53
+ 0xf8: 10
54
+ };
55
+ export const decodePm10Frame = frame => {
56
+ const head = hexToByte(frame[0] ?? "00");
57
+ const length = responseLength[head];
58
+ if (!length || frame.length < length || checksum(frame.slice(0, -1)) !== frame[length - 1]) return undefined;
59
+ return {
60
+ head,
61
+ content: frame.slice(1, length - 1)
62
+ };
63
+ };
64
+ export class Pm10FrameReader {
65
+ readFrame(buffer) {
66
+ const start = buffer.findIndex(value => responseLength[hexToByte(value)] !== undefined);
67
+ if (start < 0) return {
68
+ status: FrameReadStatus.INCOMPLETE,
69
+ consumedBytes: Math.max(0, buffer.length - 1)
70
+ };
71
+ const length = responseLength[hexToByte(buffer[start] ?? "00")];
72
+ if (length === undefined) return {
73
+ status: FrameReadStatus.CORRUPT,
74
+ consumedBytes: start + 1
75
+ };
76
+ if (start + length > buffer.length) return {
77
+ status: FrameReadStatus.INCOMPLETE,
78
+ consumedBytes: start
79
+ };
80
+ const frame = buffer.slice(start, start + length);
81
+ if (!decodePm10Frame(frame)) return {
82
+ status: FrameReadStatus.CORRUPT,
83
+ consumedBytes: start + 1
84
+ };
85
+ return {
86
+ status: FrameReadStatus.COMPLETE,
87
+ consumedBytes: start + length,
88
+ frame
89
+ };
90
+ }
91
+ }
92
+ //# sourceMappingURL=viatom.pm10.protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FrameReadStatus","hexToByte","PM10_SERVICE","PM10_WRITE","PM10_NOTIFY","byte","value","toString","padStart","checksum","frame","reduce","sum","pm10Command","head","payload","body","map","pm10GetTotal","pm10GetCaseInfo","type","pm10GetCaseData","decodePm10CaseInfo","content","length","undefined","index","recordedAt","Date","heartRate","waveformLength","results","slice","_entry","mergeSevenBit","mask","values","raw","decodePm10WavePage","first","second","high","low","responseLength","decodePm10Frame","Pm10FrameReader","readFrame","buffer","start","findIndex","status","INCOMPLETE","consumedBytes","Math","max","CORRUPT","COMPLETE"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.pm10.protocol.ts"],"mappings":";;AAAA;;AAGA,SAASA,eAAe,QAAQ,qCAAkC;AAElE,SAASC,SAAS,QAAQ,+BAA4B;AAEtD,OAAO,MAAMC,YAAY,GAAG,sCAAsC;AAClE,OAAO,MAAMC,UAAU,GAAG,sCAAsC;AAChE,OAAO,MAAMC,WAAW,GAAG,sCAAsC;AAEjE,MAAMC,IAAI,GAAIC,KAAa,IAAa,CAACA,KAAK,GAAG,IAAI,EAAEC,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACpF,MAAMC,QAAQ,GAAIC,KAAwB,IAAaL,IAAI,CAACK,KAAK,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEN,KAAK,KAAKM,GAAG,GAAGX,SAAS,CAACK,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAC3H,OAAO,MAAMO,WAAW,GAAGA,CAACC,IAAY,EAAEC,OAA0B,GAAG,EAAE,KAAe;EACtF,MAAMC,IAAI,GAAG,CAACX,IAAI,CAACS,IAAI,CAAC,EAAE,GAAGC,OAAO,CAACE,GAAG,CAACZ,IAAI,CAAC,CAAC;EAC/C,OAAO,CAAC,GAAGW,IAAI,EAAEP,QAAQ,CAACO,IAAI,CAAC,CAAC;AAClC,CAAC;AACD,OAAO,MAAME,YAAY,GAAGA,CAAA,KAAgBL,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;AACrE,OAAO,MAAMM,eAAe,GAAIC,IAAmB,IAAeP,WAAW,CAAC,IAAI,EAAE,CAACO,IAAI,CAAC,CAAC;AAC3F,OAAO,MAAMC,eAAe,GAAID,IAAsB,IAAeP,WAAW,CAAC,IAAI,EAAE,CAACO,IAAI,CAAC,CAAC;AAG9F,OAAO,MAAME,kBAAkB,GAAIC,OAA0B,IAA+B;EAC1F,IAAIA,OAAO,CAACC,MAAM,GAAG,EAAE,EAAE,OAAOC,SAAS;EACzC,MAAMnB,KAAK,GAAIoB,KAAa,IAAazB,SAAS,CAACsB,OAAO,CAACG,KAAK,CAAC,IAAI,IAAI,CAAC;EAC1E,MAAMC,UAAU,GAAG,IAAIC,IAAI,CAAC,IAAI,GAAGtB,KAAK,CAAC,CAAC,CAAC,EAAEA,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAEA,KAAK,CAAC,CAAC,CAAC,EAAEA,KAAK,CAAC,CAAC,CAAC,EAAEA,KAAK,CAAC,CAAC,CAAC,EAAEA,KAAK,CAAC,CAAC,CAAC,CAAC;EAClG,MAAMuB,SAAS,GAAI,CAACvB,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,GAAKA,KAAK,CAAC,CAAC,CAAC,GAAG,IAAK;EAC9D,MAAMwB,cAAc,GAAI,CAACxB,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,GAAKA,KAAK,CAAC,EAAE,CAAC,GAAG,IAAK;EACrE,OAAO;IAAEqB,UAAU;IAAEE,SAAS;IAAEC,cAAc;IAAEC,OAAO,EAAER,OAAO,CAACS,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAACf,GAAG,CAAC,CAACgB,MAAM,EAAEP,KAAK,KAAKpB,KAAK,CAACoB,KAAK,GAAG,CAAC,CAAC;EAAE,CAAC;AAC1H,CAAC;AAED,MAAMQ,aAAa,GAAGA,CAACC,IAAY,EAAEC,MAAyB,KAAeA,MAAM,CAACJ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAACf,GAAG,CAAC,CAACX,KAAK,EAAEoB,KAAK,KAAK;EACpH,MAAMW,GAAG,GAAGpC,SAAS,CAACK,KAAK,CAAC,GAAG,IAAI;EACnC,OAAO,CAAC6B,IAAI,GAAI,CAAC,IAAIT,KAAM,MAAM,CAAC,GAAGW,GAAG,GAAG,IAAI,GAAGA,GAAG;AACvD,CAAC,CAAC;AACF,OAAO,MAAMC,kBAAkB,GAAIf,OAA0B,IAAe;EAC1E,IAAIA,OAAO,CAACC,MAAM,GAAG,EAAE,EAAE,OAAO,EAAE;EAClC,MAAMe,KAAK,GAAGL,aAAa,CAACjC,SAAS,CAACsB,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAEA,OAAO,CAACS,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;EAChF,MAAMQ,MAAM,GAAGN,aAAa,CAACjC,SAAS,CAACsB,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAEA,OAAO,CAACS,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;EAClF,OAAO,CAAC,GAAGO,KAAK,EAAE,GAAGC,MAAM,CAAC,CAACvB,GAAG,CAAC,CAACwB,IAAI,EAAEf,KAAK,KAAK;IAChD,MAAMgB,GAAG,GAAGhB,KAAK,GAAG,CAAC,GAAGzB,SAAS,CAACsB,OAAO,CAACG,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAGzB,SAAS,CAACsB,OAAO,CAACG,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IACrG,OAAO,CAAEe,IAAI,IAAI,CAAC,GAAIC,GAAG,IAAI,KAAK;EACpC,CAAC,CAAC;AACJ,CAAC;AAED,MAAMC,cAAsC,GAAG;EAAE,IAAI,EAAE,CAAC;EAAE,IAAI,EAAE,EAAE;EAAE,IAAI,EAAE,EAAE;EAAE,IAAI,EAAE,CAAC;EAAE,IAAI,EAAE,CAAC;EAAE,IAAI,EAAE,EAAE;EAAE,IAAI,EAAE,CAAC;EAAE,IAAI,EAAE;AAAG,CAAC;AAC7H,OAAO,MAAMC,eAAe,GAAIlC,KAAwB,IAAsD;EAC5G,MAAMI,IAAI,GAAGb,SAAS,CAACS,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;EACxC,MAAMc,MAAM,GAAGmB,cAAc,CAAC7B,IAAI,CAAC;EACnC,IAAI,CAACU,MAAM,IAAId,KAAK,CAACc,MAAM,GAAGA,MAAM,IAAIf,QAAQ,CAACC,KAAK,CAACsB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAKtB,KAAK,CAACc,MAAM,GAAG,CAAC,CAAC,EAAE,OAAOC,SAAS;EAC5G,OAAO;IAAEX,IAAI;IAAES,OAAO,EAAEb,KAAK,CAACsB,KAAK,CAAC,CAAC,EAAER,MAAM,GAAG,CAAC;EAAE,CAAC;AACtD,CAAC;AAED,OAAO,MAAMqB,eAAe,CAAwB;EAC3CC,SAASA,CAACC,MAAyB,EAAmB;IAC3D,MAAMC,KAAK,GAAGD,MAAM,CAACE,SAAS,CAAE3C,KAAK,IAAKqC,cAAc,CAAC1C,SAAS,CAACK,KAAK,CAAC,CAAC,KAAKmB,SAAS,CAAC;IACzF,IAAIuB,KAAK,GAAG,CAAC,EAAE,OAAO;MAAEE,MAAM,EAAElD,eAAe,CAACmD,UAAU;MAAEC,aAAa,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEP,MAAM,CAACvB,MAAM,GAAG,CAAC;IAAE,CAAC;IAC3G,MAAMA,MAAM,GAAGmB,cAAc,CAAC1C,SAAS,CAAC8C,MAAM,CAACC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IAC/D,IAAIxB,MAAM,KAAKC,SAAS,EAAE,OAAO;MAAEyB,MAAM,EAAElD,eAAe,CAACuD,OAAO;MAAEH,aAAa,EAAEJ,KAAK,GAAG;IAAE,CAAC;IAC9F,IAAIA,KAAK,GAAGxB,MAAM,GAAGuB,MAAM,CAACvB,MAAM,EAAE,OAAO;MAAE0B,MAAM,EAAElD,eAAe,CAACmD,UAAU;MAAEC,aAAa,EAAEJ;IAAM,CAAC;IACvG,MAAMtC,KAAK,GAAGqC,MAAM,CAACf,KAAK,CAACgB,KAAK,EAAEA,KAAK,GAAGxB,MAAM,CAAC;IACjD,IAAI,CAACoB,eAAe,CAAClC,KAAK,CAAC,EAAE,OAAO;MAAEwC,MAAM,EAAElD,eAAe,CAACuD,OAAO;MAAEH,aAAa,EAAEJ,KAAK,GAAG;IAAE,CAAC;IACjG,OAAO;MAAEE,MAAM,EAAElD,eAAe,CAACwD,QAAQ;MAAEJ,aAAa,EAAEJ,KAAK,GAAGxB,MAAM;MAAEd;IAAM,CAAC;EACnF;AACF","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable import/order, padding-line-between-statements, curly */
4
+
5
+ import { MeasurementTypeKey } from "@ovok/core";
6
+ import { CaseType } from "../../../types/case-type.js";
7
+ import { decodePm10CaseInfo, decodePm10Frame, decodePm10WavePage, pm10GetCaseData, pm10GetCaseInfo, pm10GetTotal } from "./viatom.pm10.protocol.js";
8
+ const command = (params, frame) => ({
9
+ ...params.write,
10
+ frame,
11
+ withoutResponse: true
12
+ });
13
+ export class Pm10Sequencer {
14
+ phase = "total";
15
+ pages = [];
16
+ constructor(params) {
17
+ this.params = params;
18
+ }
19
+ initialCommands = () => [command(this.params, pm10GetTotal())];
20
+ isHistoryTransfer = () => true;
21
+ isNormalDisconnect = () => this.phase === "done";
22
+ nextCommand = frame => {
23
+ const response = decodePm10Frame(frame);
24
+ if (!response) return undefined;
25
+ if (response.head === 0xe0 && this.phase === "total") {
26
+ this.phase = "info";
27
+ return [command(this.params, pm10GetCaseInfo(3))];
28
+ }
29
+ if (response.head === 0xe5 && this.phase === "info") {
30
+ this.info = decodePm10CaseInfo(response.content);
31
+ this.pages = [];
32
+ this.phase = "data";
33
+ return [command(this.params, pm10GetCaseData(0))];
34
+ }
35
+ if (response.head === 0xe6 && this.phase === "data") {
36
+ this.pages.push(...decodePm10WavePage(response.content));
37
+ const last = (Number.parseInt(response.content[0] ?? "00", 16) & 0x40) !== 0;
38
+ if (!last) return [command(this.params, pm10GetCaseData(1))];
39
+ if (this.info) this.params.onResult({
40
+ caseType: CaseType.RESULT,
41
+ measurementTypeKey: MeasurementTypeKey.ecg,
42
+ heartRate: this.info.heartRate,
43
+ diagramPoints: this.pages,
44
+ duration: this.pages.length / 125,
45
+ recordedAt: this.info.recordedAt
46
+ });
47
+ this.phase = "done";
48
+ }
49
+ return undefined;
50
+ };
51
+ }
52
+ //# sourceMappingURL=viatom.pm10.sequencer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MeasurementTypeKey","CaseType","decodePm10CaseInfo","decodePm10Frame","decodePm10WavePage","pm10GetCaseData","pm10GetCaseInfo","pm10GetTotal","command","params","frame","write","withoutResponse","Pm10Sequencer","phase","pages","constructor","initialCommands","isHistoryTransfer","isNormalDisconnect","nextCommand","response","undefined","head","info","content","push","last","Number","parseInt","onResult","caseType","RESULT","measurementTypeKey","ecg","heartRate","diagramPoints","duration","length","recordedAt"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.pm10.sequencer.ts"],"mappings":";;AAAA;;AAEA,SAAyBA,kBAAkB,QAAQ,YAAY;AAC/D,SAASC,QAAQ,QAAQ,6BAA0B;AAInD,SAASC,kBAAkB,EAAEC,eAAe,EAAEC,kBAAkB,EAAEC,eAAe,EAAEC,eAAe,EAAEC,YAAY,QAAQ,2BAAwB;AAGhJ,MAAMC,OAAO,GAAGA,CAACC,MAAc,EAAEC,KAAwB,MAAqB;EAAE,GAAGD,MAAM,CAACE,KAAK;EAAED,KAAK;EAAEE,eAAe,EAAE;AAAK,CAAC,CAAC;AAChI,OAAO,MAAMC,aAAa,CAA6B;EAC7CC,KAAK,GAAuC,OAAO;EAEnDC,KAAK,GAAa,EAAE;EACrBC,WAAWA,CAAkBP,MAAc,EAAE;IAAA,KAAhBA,MAAc,GAAdA,MAAc;EAAG;EAC9CQ,eAAe,GAAGA,CAAA,KAAgC,CAACT,OAAO,CAAC,IAAI,CAACC,MAAM,EAAEF,YAAY,CAAC,CAAC,CAAC,CAAC;EACxFW,iBAAiB,GAAGA,CAAA,KAAe,IAAI;EACvCC,kBAAkB,GAAGA,CAAA,KAAe,IAAI,CAACL,KAAK,KAAK,MAAM;EACzDM,WAAW,GAAIV,KAAwB,IAA2C;IACvF,MAAMW,QAAQ,GAAGlB,eAAe,CAACO,KAAK,CAAC;IACvC,IAAI,CAACW,QAAQ,EAAE,OAAOC,SAAS;IAC/B,IAAID,QAAQ,CAACE,IAAI,KAAK,IAAI,IAAI,IAAI,CAACT,KAAK,KAAK,OAAO,EAAE;MAAE,IAAI,CAACA,KAAK,GAAG,MAAM;MAAE,OAAO,CAACN,OAAO,CAAC,IAAI,CAACC,MAAM,EAAEH,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAAE;IAChI,IAAIe,QAAQ,CAACE,IAAI,KAAK,IAAI,IAAI,IAAI,CAACT,KAAK,KAAK,MAAM,EAAE;MAAE,IAAI,CAACU,IAAI,GAAGtB,kBAAkB,CAACmB,QAAQ,CAACI,OAAO,CAAC;MAAE,IAAI,CAACV,KAAK,GAAG,EAAE;MAAE,IAAI,CAACD,KAAK,GAAG,MAAM;MAAE,OAAO,CAACN,OAAO,CAAC,IAAI,CAACC,MAAM,EAAEJ,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAAE;IAClM,IAAIgB,QAAQ,CAACE,IAAI,KAAK,IAAI,IAAI,IAAI,CAACT,KAAK,KAAK,MAAM,EAAE;MACnD,IAAI,CAACC,KAAK,CAACW,IAAI,CAAC,GAAGtB,kBAAkB,CAACiB,QAAQ,CAACI,OAAO,CAAC,CAAC;MACxD,MAAME,IAAI,GAAG,CAACC,MAAM,CAACC,QAAQ,CAACR,QAAQ,CAACI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC;MAC5E,IAAI,CAACE,IAAI,EAAE,OAAO,CAACnB,OAAO,CAAC,IAAI,CAACC,MAAM,EAAEJ,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;MAC5D,IAAI,IAAI,CAACmB,IAAI,EAAE,IAAI,CAACf,MAAM,CAACqB,QAAQ,CAAC;QAAEC,QAAQ,EAAE9B,QAAQ,CAAC+B,MAAM;QAAEC,kBAAkB,EAAEjC,kBAAkB,CAACkC,GAAG;QAAEC,SAAS,EAAE,IAAI,CAACX,IAAI,CAACW,SAAS;QAAEC,aAAa,EAAE,IAAI,CAACrB,KAAK;QAAEsB,QAAQ,EAAE,IAAI,CAACtB,KAAK,CAACuB,MAAM,GAAG,GAAG;QAAEC,UAAU,EAAE,IAAI,CAACf,IAAI,CAACe;MAAW,CAAC,CAAC;MAC9O,IAAI,CAACzB,KAAK,GAAG,MAAM;IACrB;IACA,OAAOQ,SAAS;EAClB,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable import/group-exports, import/order, padding-line-between-statements */
4
+
5
+ import { BTManagedDevice } from "../bt-managed-device.js";
6
+ import { WBP02_CONTROL_SERVICE, WBP02_DATA_SERVICE, WBP02_NOTIFY, WBP02_WRITE, Wbp02FrameReader } from "./viatom.wbp02.protocol.js";
7
+ import { Wbp02Sequencer } from "./viatom.wbp02.sequencer.js";
8
+ const acceptEverything = {
9
+ caseValuePosition: [],
10
+ cases: []
11
+ };
12
+ export const wbp02MainServices = [{
13
+ uuid: WBP02_DATA_SERVICE,
14
+ monitorUuids: [{
15
+ uuid: WBP02_NOTIFY,
16
+ parsingModel: acceptEverything
17
+ }]
18
+ }, {
19
+ uuid: WBP02_CONTROL_SERVICE,
20
+ monitorUuids: [],
21
+ writeUuid: {
22
+ uuid: WBP02_WRITE,
23
+ mainCommandUuid: "5a"
24
+ }
25
+ }];
26
+ export class Wbp02Device extends BTManagedDevice {
27
+ mainServices = wbp02MainServices;
28
+ stuckDataTimeout = 120_000;
29
+ onStreamStart = undefined;
30
+ constructor(device, params) {
31
+ super(device, params);
32
+ this.frameReader = new Wbp02FrameReader();
33
+ this.createCommandSequencer = () => new Wbp02Sequencer({
34
+ write: {
35
+ serviceUuid: WBP02_CONTROL_SERVICE,
36
+ characteristicUuid: WBP02_WRITE
37
+ },
38
+ onResult: result => this.onResult?.(result)
39
+ });
40
+ }
41
+ handleSuccessResult() {
42
+ return;
43
+ }
44
+ }
45
+ //# sourceMappingURL=viatom.wbp02.device.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BTManagedDevice","WBP02_CONTROL_SERVICE","WBP02_DATA_SERVICE","WBP02_NOTIFY","WBP02_WRITE","Wbp02FrameReader","Wbp02Sequencer","acceptEverything","caseValuePosition","cases","wbp02MainServices","uuid","monitorUuids","parsingModel","writeUuid","mainCommandUuid","Wbp02Device","mainServices","stuckDataTimeout","onStreamStart","undefined","constructor","device","params","frameReader","createCommandSequencer","write","serviceUuid","characteristicUuid","onResult","result","handleSuccessResult"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.wbp02.device.ts"],"mappings":";;AAAA;;AAQA,SAASA,eAAe,QAAQ,yBAAsB;AACtD,SAASC,qBAAqB,EAAEC,kBAAkB,EAAEC,YAAY,EAAEC,WAAW,EAAEC,gBAAgB,QAAQ,4BAAyB;AAChI,SAASC,cAAc,QAAQ,6BAA0B;AAEzD,MAAMC,gBAAgB,GAAG;EAAEC,iBAAiB,EAAE,EAAE;EAAEC,KAAK,EAAE;AAAG,CAAC;AAC7D,OAAO,MAAMC,iBAA6B,GAAG,CAC3C;EAAEC,IAAI,EAAET,kBAAkB;EAAEU,YAAY,EAAE,CAAC;IAAED,IAAI,EAAER,YAAY;IAAEU,YAAY,EAAEN;EAAiB,CAAC;AAAE,CAAC,EACpG;EAAEI,IAAI,EAAEV,qBAAqB;EAAEW,YAAY,EAAE,EAAE;EAAEE,SAAS,EAAE;IAAEH,IAAI,EAAEP,WAAW;IAAEW,eAAe,EAAE;EAAK;AAAE,CAAC,CAC3G;AAED,OAAO,MAAMC,WAAW,SAAShB,eAAe,CAA2B;EAC/DiB,YAAY,GAAGP,iBAAiB;EAChCQ,gBAAgB,GAAG,OAAO;EAC1BC,aAAa,GAAGC,SAAS;EAC5BC,WAAWA,CAACC,MAAc,EAAEC,MAAoD,EAAE;IACvF,KAAK,CAACD,MAAM,EAAEC,MAAM,CAAC;IACrB,IAAI,CAACC,WAAW,GAAG,IAAInB,gBAAgB,CAAC,CAAC;IACzC,IAAI,CAACoB,sBAAsB,GAAG,MAAM,IAAInB,cAAc,CAAC;MAAEoB,KAAK,EAAE;QAAEC,WAAW,EAAE1B,qBAAqB;QAAE2B,kBAAkB,EAAExB;MAAY,CAAC;MAAEyB,QAAQ,EAAGC,MAAM,IAAK,IAAI,CAACD,QAAQ,GAAGC,MAAyF;IAAE,CAAC,CAAC;EAC9Q;EACUC,mBAAmBA,CAAA,EAAS;IAAE;EAAQ;AAClD","ignoreList":[]}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable import/group-exports, import/order, padding-line-between-statements, curly, max-lines */
4
+
5
+ import { FrameReadStatus } from "../../../types/frame-read-status.js";
6
+ import { hexToByte } from "../../../utils/hex-to-byte.js";
7
+ export const WBP02_CONTROL_SERVICE = "0000ffe5-0000-1000-8000-00805f9b34fb";
8
+ export const WBP02_WRITE = "0000ffe9-0000-1000-8000-00805f9b34fb";
9
+ export const WBP02_DATA_SERVICE = "0000ffe0-0000-1000-8000-00805f9b34fb";
10
+ export const WBP02_NOTIFY = "0000ffe4-0000-1000-8000-00805f9b34fb";
11
+ const byte = value => (value & 0xff).toString(16).padStart(2, "0");
12
+
13
+ /** CRC-16 used by the WBP-02 service, returned low byte first. */
14
+ export const wbp02Crc = bytes => {
15
+ let crc = 0xffff;
16
+ for (const value of bytes) {
17
+ crc ^= hexToByte(value);
18
+ for (let bit = 0; bit < 8; bit += 1) {
19
+ crc = (crc & 1) !== 0 ? crc >>> 1 ^ 0xa001 : crc >>> 1;
20
+ }
21
+ }
22
+ return [byte(crc), byte(crc >> 8)];
23
+ };
24
+ export const wbp02Command = (command, payload = []) => {
25
+ const body = ["5a", byte(payload.length + 5), byte(command), ...payload.map(byte)];
26
+ return [...body, ...wbp02Crc(body)];
27
+ };
28
+ export const wbp02Connect = () => wbp02Command(0x10);
29
+ export const wbp02SyncTime = (date = new Date()) => wbp02Command(0x12, [date.getFullYear() % 100, date.getMonth() + 1, date.getDate(), date.getHours(), date.getMinutes()]);
30
+ export const wbp02Login = () => wbp02Command(0x13, [0, 0, 0x45, 0x67]);
31
+ export const wbp02RecordCount = () => wbp02Command(0x53);
32
+ export const wbp02Record = index => wbp02Command(0x54, [index >> 8 & 0xff, index & 0xff]);
33
+ export const decodeWbp02Response = frame => {
34
+ const length = hexToByte(frame[1] ?? "00");
35
+ if (hexToByte(frame[0] ?? "00") !== 0x5a || length < 7 || frame.length < length) return undefined;
36
+ const complete = frame.slice(0, length);
37
+ const crc = wbp02Crc(complete.slice(0, -2));
38
+ if (complete.at(-2) !== crc[0] || complete.at(-1) !== crc[1]) return undefined;
39
+ return {
40
+ command: hexToByte(complete[2] ?? "00"),
41
+ content: complete.slice(3, -2)
42
+ };
43
+ };
44
+ export const parseWbp02Record = content => {
45
+ if (content.length < 13) return undefined;
46
+ const value = offset => hexToByte(content[offset] ?? "00") << 8 | hexToByte(content[offset + 1] ?? "00");
47
+ const year = 2000 + hexToByte(content[6] ?? "00");
48
+ const month = hexToByte(content[7] ?? "00");
49
+ const day = hexToByte(content[8] ?? "00");
50
+ const hour = hexToByte(content[9] ?? "00");
51
+ const minute = hexToByte(content[10] ?? "00");
52
+ if (month < 1 || month > 12 || day < 1 || day > 31 || value(0) < 20 || value(0) > 300 || value(2) < 10 || value(2) > 200) return undefined;
53
+ const recordedAt = new Date(year, month - 1, day, hour, minute);
54
+ return {
55
+ systolic: value(0),
56
+ diastolic: value(2),
57
+ heartRate: value(4),
58
+ recordedAt,
59
+ recordingId: `wbp02:${recordedAt.toISOString()}`
60
+ };
61
+ };
62
+ export class Wbp02FrameReader {
63
+ readFrame(buffer) {
64
+ const start = buffer.findIndex(value => hexToByte(value) === 0x5a);
65
+ if (start < 0) return {
66
+ status: FrameReadStatus.INCOMPLETE,
67
+ consumedBytes: Math.max(0, buffer.length - 1)
68
+ };
69
+ if (start + 2 > buffer.length) return {
70
+ status: FrameReadStatus.INCOMPLETE,
71
+ consumedBytes: start
72
+ };
73
+ const length = hexToByte(buffer[start + 1] ?? "00");
74
+ if (length < 7) return {
75
+ status: FrameReadStatus.CORRUPT,
76
+ consumedBytes: start + 1
77
+ };
78
+ if (start + length > buffer.length) return {
79
+ status: FrameReadStatus.INCOMPLETE,
80
+ consumedBytes: start
81
+ };
82
+ const frame = buffer.slice(start, start + length);
83
+ if (!decodeWbp02Response(frame)) return {
84
+ status: FrameReadStatus.CORRUPT,
85
+ consumedBytes: start + 1
86
+ };
87
+ return {
88
+ status: FrameReadStatus.COMPLETE,
89
+ consumedBytes: start + length,
90
+ frame
91
+ };
92
+ }
93
+ }
94
+ //# sourceMappingURL=viatom.wbp02.protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FrameReadStatus","hexToByte","WBP02_CONTROL_SERVICE","WBP02_WRITE","WBP02_DATA_SERVICE","WBP02_NOTIFY","byte","value","toString","padStart","wbp02Crc","bytes","crc","bit","wbp02Command","command","payload","body","length","map","wbp02Connect","wbp02SyncTime","date","Date","getFullYear","getMonth","getDate","getHours","getMinutes","wbp02Login","wbp02RecordCount","wbp02Record","index","decodeWbp02Response","frame","undefined","complete","slice","at","content","parseWbp02Record","offset","year","month","day","hour","minute","recordedAt","systolic","diastolic","heartRate","recordingId","toISOString","Wbp02FrameReader","readFrame","buffer","start","findIndex","status","INCOMPLETE","consumedBytes","Math","max","CORRUPT","COMPLETE"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.wbp02.protocol.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable import/order, padding-line-between-statements, curly */
4
+
5
+ import { MeasurementTypeKey } from "@ovok/core";
6
+ import { CaseType } from "../../../types/case-type.js";
7
+ import { decodeWbp02Response, parseWbp02Record, wbp02Connect, wbp02Login, wbp02Record, wbp02RecordCount, wbp02SyncTime } from "./viatom.wbp02.protocol.js";
8
+ const phaseCommand = (params, frame) => ({
9
+ ...params.write,
10
+ frame,
11
+ withoutResponse: true
12
+ });
13
+ export class Wbp02Sequencer {
14
+ phase = "connect";
15
+ index = 0;
16
+ constructor(params) {
17
+ this.params = params;
18
+ }
19
+ initialCommands = () => [phaseCommand(this.params, wbp02Connect())];
20
+ isHistoryTransfer = () => true;
21
+ isNormalDisconnect = () => this.phase === "done";
22
+ nextCommand = frame => {
23
+ const response = decodeWbp02Response(frame);
24
+ if (!response) return undefined;
25
+ if (response.command === 0x10) {
26
+ this.phase = "time";
27
+ return [phaseCommand(this.params, wbp02SyncTime())];
28
+ }
29
+ if (response.command === 0x12) {
30
+ this.phase = "login";
31
+ return [phaseCommand(this.params, wbp02Login())];
32
+ }
33
+ if (response.command === 0x13) {
34
+ this.phase = "count";
35
+ return [phaseCommand(this.params, wbp02RecordCount())];
36
+ }
37
+ if (response.command === 0x53) {
38
+ const count = Number.parseInt(response.content[0] ?? "00", 16) << 8 | Number.parseInt(response.content[1] ?? "00", 16);
39
+ if (count === 0) {
40
+ this.phase = "done";
41
+ return undefined;
42
+ }
43
+ this.phase = "record";
44
+ return [phaseCommand(this.params, wbp02Record(this.index))];
45
+ }
46
+ if (response.command === 0x54) {
47
+ const record = parseWbp02Record(response.content);
48
+ if (record) this.params.onResult({
49
+ caseType: CaseType.RESULT,
50
+ measurementTypeKey: MeasurementTypeKey.bloodPressure,
51
+ ...record
52
+ });
53
+ this.index += 1;
54
+ return [phaseCommand(this.params, wbp02Record(this.index))];
55
+ }
56
+ return undefined;
57
+ };
58
+ }
59
+ //# sourceMappingURL=viatom.wbp02.sequencer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MeasurementTypeKey","CaseType","decodeWbp02Response","parseWbp02Record","wbp02Connect","wbp02Login","wbp02Record","wbp02RecordCount","wbp02SyncTime","phaseCommand","params","frame","write","withoutResponse","Wbp02Sequencer","phase","index","constructor","initialCommands","isHistoryTransfer","isNormalDisconnect","nextCommand","response","undefined","command","count","Number","parseInt","content","record","onResult","caseType","RESULT","measurementTypeKey","bloodPressure"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.wbp02.sequencer.ts"],"mappings":"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","ignoreList":[]}
@@ -30,6 +30,9 @@ export const clockSyncCapabilityForDevice = deviceName => {
30
30
  case IntegratedDevices.VEROVAL_ECG:
31
31
  case IntegratedDevices.AOJ20A:
32
32
  case IntegratedDevices.BP2:
33
+ case IntegratedDevices.VIATOM_R20:
34
+ case IntegratedDevices.VIATOM_R200:
35
+ case IntegratedDevices.VIATOM_BBSM_BS1:
33
36
  return "supported";
34
37
  case IntegratedDevices.VEROVAL_ACTIVITY:
35
38
  return "unsupported";
@@ -1 +1 @@
1
- {"version":3,"names":["IntegratedDevices","isClockSyncEnabled","options","enabled","getClockParts","date","timezone","year","getUTCFullYear","month","getUTCMonth","day","getUTCDate","hours","getUTCHours","minutes","getUTCMinutes","seconds","getUTCSeconds","milliseconds","getUTCMilliseconds","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","clockSyncCapabilityForDevice","deviceName","BC01","MYSENSE","VEROVAL_ECG","AOJ20A","BP2","VEROVAL_ACTIVITY","GENIAL_T31","ZH_SG_A606"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/clock-sync.ts"],"mappings":";;AAAA;;AAEA,SAASA,iBAAiB,QAAQ,yBAAsB;AAkBxD,OAAO,MAAMC,kBAAkB,GAAIC,OAA0B,IAC3DA,OAAO,EAAEC,OAAO,KAAK,KAAK;AAE5B,OAAO,MAAMC,aAAa,GAAGA,CAC3BC,IAAU,EACVC,QAA2B,GAAG,OAAO,KAErCA,QAAQ,KAAK,KAAK,GACd;EACEC,IAAI,EAAEF,IAAI,CAACG,cAAc,CAAC,CAAC;EAC3BC,KAAK,EAAEJ,IAAI,CAACK,WAAW,CAAC,CAAC,GAAG,CAAC;EAC7BC,GAAG,EAAEN,IAAI,CAACO,UAAU,CAAC,CAAC;EACtBC,KAAK,EAAER,IAAI,CAACS,WAAW,CAAC,CAAC;EACzBC,OAAO,EAAEV,IAAI,CAACW,aAAa,CAAC,CAAC;EAC7BC,OAAO,EAAEZ,IAAI,CAACa,aAAa,CAAC,CAAC;EAC7BC,YAAY,EAAEd,IAAI,CAACe,kBAAkB,CAAC;AACxC,CAAC,GACD;EACEb,IAAI,EAAEF,IAAI,CAACgB,WAAW,CAAC,CAAC;EACxBZ,KAAK,EAAEJ,IAAI,CAACiB,QAAQ,CAAC,CAAC,GAAG,CAAC;EAC1BX,GAAG,EAAEN,IAAI,CAACkB,OAAO,CAAC,CAAC;EACnBV,KAAK,EAAER,IAAI,CAACmB,QAAQ,CAAC,CAAC;EACtBT,OAAO,EAAEV,IAAI,CAACoB,UAAU,CAAC,CAAC;EAC1BR,OAAO,EAAEZ,IAAI,CAACqB,UAAU,CAAC,CAAC;EAC1BP,YAAY,EAAEd,IAAI,CAACsB,eAAe,CAAC;AACrC,CAAC;;AAEP;AACA,OAAO,MAAMC,4BAA4B,GACvCC,UAAkB,IACM;EACxB,QAAQA,UAAU;IAChB,KAAK7B,iBAAiB,CAAC8B,IAAI;IAC3B,KAAK9B,iBAAiB,CAAC+B,OAAO;IAC9B,KAAK/B,iBAAiB,CAACgC,WAAW;IAClC,KAAKhC,iBAAiB,CAACiC,MAAM;IAC7B,KAAKjC,iBAAiB,CAACkC,GAAG;MACxB,OAAO,WAAW;IACpB,KAAKlC,iBAAiB,CAACmC,gBAAgB;MACrC,OAAO,aAAa;IACtB,KAAKnC,iBAAiB,CAACoC,UAAU;IACjC,KAAKpC,iBAAiB,CAACqC,UAAU;MAC/B,OAAO,WAAW;IACpB;MACE,OAAO,SAAS;EACpB;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["IntegratedDevices","isClockSyncEnabled","options","enabled","getClockParts","date","timezone","year","getUTCFullYear","month","getUTCMonth","day","getUTCDate","hours","getUTCHours","minutes","getUTCMinutes","seconds","getUTCSeconds","milliseconds","getUTCMilliseconds","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","clockSyncCapabilityForDevice","deviceName","BC01","MYSENSE","VEROVAL_ECG","AOJ20A","BP2","VIATOM_R20","VIATOM_R200","VIATOM_BBSM_BS1","VEROVAL_ACTIVITY","GENIAL_T31","ZH_SG_A606"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/clock-sync.ts"],"mappings":";;AAAA;;AAEA,SAASA,iBAAiB,QAAQ,yBAAsB;AAkBxD,OAAO,MAAMC,kBAAkB,GAAIC,OAA0B,IAC3DA,OAAO,EAAEC,OAAO,KAAK,KAAK;AAE5B,OAAO,MAAMC,aAAa,GAAGA,CAC3BC,IAAU,EACVC,QAA2B,GAAG,OAAO,KAErCA,QAAQ,KAAK,KAAK,GACd;EACEC,IAAI,EAAEF,IAAI,CAACG,cAAc,CAAC,CAAC;EAC3BC,KAAK,EAAEJ,IAAI,CAACK,WAAW,CAAC,CAAC,GAAG,CAAC;EAC7BC,GAAG,EAAEN,IAAI,CAACO,UAAU,CAAC,CAAC;EACtBC,KAAK,EAAER,IAAI,CAACS,WAAW,CAAC,CAAC;EACzBC,OAAO,EAAEV,IAAI,CAACW,aAAa,CAAC,CAAC;EAC7BC,OAAO,EAAEZ,IAAI,CAACa,aAAa,CAAC,CAAC;EAC7BC,YAAY,EAAEd,IAAI,CAACe,kBAAkB,CAAC;AACxC,CAAC,GACD;EACEb,IAAI,EAAEF,IAAI,CAACgB,WAAW,CAAC,CAAC;EACxBZ,KAAK,EAAEJ,IAAI,CAACiB,QAAQ,CAAC,CAAC,GAAG,CAAC;EAC1BX,GAAG,EAAEN,IAAI,CAACkB,OAAO,CAAC,CAAC;EACnBV,KAAK,EAAER,IAAI,CAACmB,QAAQ,CAAC,CAAC;EACtBT,OAAO,EAAEV,IAAI,CAACoB,UAAU,CAAC,CAAC;EAC1BR,OAAO,EAAEZ,IAAI,CAACqB,UAAU,CAAC,CAAC;EAC1BP,YAAY,EAAEd,IAAI,CAACsB,eAAe,CAAC;AACrC,CAAC;;AAEP;AACA,OAAO,MAAMC,4BAA4B,GACvCC,UAAkB,IACM;EACxB,QAAQA,UAAU;IAChB,KAAK7B,iBAAiB,CAAC8B,IAAI;IAC3B,KAAK9B,iBAAiB,CAAC+B,OAAO;IAC9B,KAAK/B,iBAAiB,CAACgC,WAAW;IAClC,KAAKhC,iBAAiB,CAACiC,MAAM;IAC7B,KAAKjC,iBAAiB,CAACkC,GAAG;IAC1B,KAAKlC,iBAAiB,CAACmC,UAAU;IACjC,KAAKnC,iBAAiB,CAACoC,WAAW;IAClC,KAAKpC,iBAAiB,CAACqC,eAAe;MACpC,OAAO,WAAW;IACpB,KAAKrC,iBAAiB,CAACsC,gBAAgB;MACrC,OAAO,aAAa;IACtB,KAAKtC,iBAAiB,CAACuC,UAAU;IACjC,KAAKvC,iBAAiB,CAACwC,UAAU;MAC/B,OAAO,WAAW;IACpB;MACE,OAAO,SAAS;EACpB;AACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["IntegratedDevices"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/device-measurement-map.ts"],"mappings":";;AAaA,SAASA,iBAAiB,QAAQ,yBAAsB;;AA4FxD;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["IntegratedDevices"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/device-measurement-map.ts"],"mappings":";;AAiBA,SAASA,iBAAiB,QAAQ,yBAAsB;;AA2GxD;AACA;AACA;AACA","ignoreList":[]}
@@ -44,6 +44,19 @@ export let IntegratedDevices = /*#__PURE__*/function (IntegratedDevices) {
44
44
  IntegratedDevices["CHECKME_EX"] = "Checkme EX";
45
45
  IntegratedDevices["CHECKME_LE"] = "CheckmeLE";
46
46
  IntegratedDevices["PC80B"] = "PC80B";
47
+ IntegratedDevices["WBP_02"] = "WBP-02";
48
+ IntegratedDevices["PM10"] = "PM10";
49
+ IntegratedDevices["LPM311"] = "LPM311";
50
+ IntegratedDevices["VIATOM_R20"] = "R20";
51
+ IntegratedDevices["VIATOM_R200"] = "R200";
52
+ IntegratedDevices["SP_20"] = "SP-20";
53
+ IntegratedDevices["SP_20_BLE"] = "SP-20-BLE";
54
+ IntegratedDevices["SP_20_WPS"] = "SP-20-WPS";
55
+ IntegratedDevices["BBSM_S3"] = "BBSM S3";
56
+ IntegratedDevices["VIATOM_BBSM_BS1"] = "BBSM BS1";
57
+ IntegratedDevices["PF10AW_ME"] = "PF10AW-ME";
58
+ IntegratedDevices["SA10AW_PU"] = "SA10AW-PU";
59
+ IntegratedDevices["PF10BW_VE"] = "PF10BW-VE";
47
60
  return IntegratedDevices;
48
61
  }({});
49
62
  //# sourceMappingURL=integrated-devices.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["IntegratedDevices"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/integrated-devices.ts"],"mappings":";;AAAA,WAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["IntegratedDevices"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/integrated-devices.ts"],"mappings":";;AAAA,WAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}