@ovok/native 1.4.0 → 1.5.1

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 (322) hide show
  1. package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js +2 -2
  2. package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js.map +1 -1
  3. package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.js +2 -2
  4. package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
  5. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js +2 -1
  6. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  7. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js +3 -1
  8. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -1
  9. package/lib/commonjs/modules/bt-device/constants/supported-devices.js +55 -13
  10. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
  11. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +13 -2
  12. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  13. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js +1 -1
  14. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  15. package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js +88 -0
  16. package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
  17. package/lib/commonjs/modules/bt-management/services/bt-manager.js +2 -0
  18. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  19. package/lib/commonjs/modules/bt-management/services/custom/compile-case-fields.js +3 -1
  20. package/lib/commonjs/modules/bt-management/services/custom/compile-case-fields.js.map +1 -1
  21. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-case.js +2 -0
  22. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-case.js.map +1 -1
  23. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-field.js +2 -1
  24. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-field.js.map +1 -1
  25. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js +24 -0
  26. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  27. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-monitor.js +8 -1
  28. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-monitor.js.map +1 -1
  29. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +4 -0
  30. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  31. package/lib/commonjs/modules/bt-management/services/device-creator.js +10 -2
  32. package/lib/commonjs/modules/bt-management/services/device-creator.js.map +1 -1
  33. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj.thermometers.js +1 -1
  34. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -1
  35. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +9 -3
  36. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  37. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +5 -0
  38. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  39. package/lib/commonjs/modules/bt-management/services/devices/bt-device-information.js +41 -0
  40. package/lib/commonjs/modules/bt-management/services/devices/bt-device-information.js.map +1 -0
  41. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +30 -2
  42. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  43. package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js +6 -1
  44. package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -1
  45. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +20 -4
  46. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  47. package/lib/commonjs/modules/bt-management/services/devices/frame-parser.js +13 -1
  48. package/lib/commonjs/modules/bt-management/services/devices/frame-parser.js.map +1 -1
  49. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.command-builder.js +6 -3
  50. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.command-builder.js.map +1 -1
  51. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +12 -3
  52. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  53. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.identity-gate.js +84 -38
  54. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.identity-gate.js.map +1 -1
  55. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +11 -1
  56. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  57. package/lib/commonjs/modules/bt-management/services/devices/spo/oxyfit.device.js +18 -0
  58. package/lib/commonjs/modules/bt-management/services/devices/spo/oxyfit.device.js.map +1 -0
  59. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +67 -11
  60. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
  61. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +4 -2
  62. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
  63. package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.device.js +78 -0
  64. package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.device.js.map +1 -0
  65. package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.frame-reader.js +83 -0
  66. package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.frame-reader.js.map +1 -0
  67. package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.sequencer.js +60 -0
  68. package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.sequencer.js.map +1 -0
  69. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +18 -1
  70. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -1
  71. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +4 -1
  72. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  73. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js +54 -39
  74. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -1
  75. package/lib/commonjs/modules/bt-management/types/integrated-devices.js +1 -0
  76. package/lib/commonjs/modules/bt-management/types/integrated-devices.js.map +1 -1
  77. package/lib/commonjs/modules/bt-management/utils/create-custom-field-parser.js +3 -0
  78. package/lib/commonjs/modules/bt-management/utils/create-custom-field-parser.js.map +1 -1
  79. package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js +2 -2
  80. package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js.map +1 -1
  81. package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js +2 -2
  82. package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
  83. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js +2 -1
  84. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  85. package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js +3 -1
  86. package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -1
  87. package/lib/module/modules/bt-device/constants/supported-devices.js +60 -18
  88. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
  89. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +13 -2
  90. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  91. package/lib/module/modules/bt-management/constants/integrated-devices-map.js +1 -1
  92. package/lib/module/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  93. package/lib/module/modules/bt-management/constants/measurement-field-catalog.js +88 -0
  94. package/lib/module/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
  95. package/lib/module/modules/bt-management/services/bt-manager.js +2 -0
  96. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  97. package/lib/module/modules/bt-management/services/custom/compile-case-fields.js +3 -1
  98. package/lib/module/modules/bt-management/services/custom/compile-case-fields.js.map +1 -1
  99. package/lib/module/modules/bt-management/services/custom/compile-custom-case.js +2 -0
  100. package/lib/module/modules/bt-management/services/custom/compile-custom-case.js.map +1 -1
  101. package/lib/module/modules/bt-management/services/custom/compile-custom-field.js +2 -1
  102. package/lib/module/modules/bt-management/services/custom/compile-custom-field.js.map +1 -1
  103. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js +24 -0
  104. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  105. package/lib/module/modules/bt-management/services/custom/compile-custom-monitor.js +8 -1
  106. package/lib/module/modules/bt-management/services/custom/compile-custom-monitor.js.map +1 -1
  107. package/lib/module/modules/bt-management/services/custom/define-custom-device.js +4 -0
  108. package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  109. package/lib/module/modules/bt-management/services/device-creator.js +10 -2
  110. package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
  111. package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js +1 -1
  112. package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -1
  113. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +9 -3
  114. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  115. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +5 -0
  116. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  117. package/lib/module/modules/bt-management/services/devices/bt-device-information.js +37 -0
  118. package/lib/module/modules/bt-management/services/devices/bt-device-information.js.map +1 -0
  119. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +30 -2
  120. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  121. package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js +6 -1
  122. package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -1
  123. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +22 -6
  124. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  125. package/lib/module/modules/bt-management/services/devices/frame-parser.js +13 -1
  126. package/lib/module/modules/bt-management/services/devices/frame-parser.js.map +1 -1
  127. package/lib/module/modules/bt-management/services/devices/lepu/lepu.command-builder.js +6 -3
  128. package/lib/module/modules/bt-management/services/devices/lepu/lepu.command-builder.js.map +1 -1
  129. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +12 -3
  130. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  131. package/lib/module/modules/bt-management/services/devices/lepu/lepu.identity-gate.js +84 -38
  132. package/lib/module/modules/bt-management/services/devices/lepu/lepu.identity-gate.js.map +1 -1
  133. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +11 -1
  134. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  135. package/lib/module/modules/bt-management/services/devices/spo/oxyfit.device.js +14 -0
  136. package/lib/module/modules/bt-management/services/devices/spo/oxyfit.device.js.map +1 -0
  137. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +67 -11
  138. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
  139. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +4 -2
  140. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
  141. package/lib/module/modules/bt-management/services/devices/uebe/mysense.device.js +73 -0
  142. package/lib/module/modules/bt-management/services/devices/uebe/mysense.device.js.map +1 -0
  143. package/lib/module/modules/bt-management/services/devices/uebe/mysense.frame-reader.js +78 -0
  144. package/lib/module/modules/bt-management/services/devices/uebe/mysense.frame-reader.js.map +1 -0
  145. package/lib/module/modules/bt-management/services/devices/uebe/mysense.sequencer.js +55 -0
  146. package/lib/module/modules/bt-management/services/devices/uebe/mysense.sequencer.js.map +1 -0
  147. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +17 -1
  148. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -1
  149. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +4 -1
  150. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  151. package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js +54 -39
  152. package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -1
  153. package/lib/module/modules/bt-management/types/device-measurement-map.js.map +1 -1
  154. package/lib/module/modules/bt-management/types/integrated-devices.js +1 -0
  155. package/lib/module/modules/bt-management/types/integrated-devices.js.map +1 -1
  156. package/lib/module/modules/bt-management/utils/create-custom-field-parser.js +3 -0
  157. package/lib/module/modules/bt-management/utils/create-custom-field-parser.js.map +1 -1
  158. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/apple-login-button.d.ts.map +1 -1
  159. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/google-login-button.d.ts.map +1 -1
  160. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  161. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +3 -1
  162. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -1
  163. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +10 -1
  164. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  165. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  166. package/lib/typescript/commonjs/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
  167. package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-field-catalog.d.ts +4 -0
  168. package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
  169. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +2 -0
  170. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  171. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-case-fields.d.ts.map +1 -1
  172. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-case.d.ts.map +1 -1
  173. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-field.d.ts.map +1 -1
  174. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  175. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-monitor.d.ts.map +1 -1
  176. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  177. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  178. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +6 -0
  179. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  180. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts +2 -0
  181. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  182. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-device-information.d.ts +11 -0
  183. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-device-information.d.ts.map +1 -0
  184. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +3 -1
  185. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  186. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -1
  187. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +3 -0
  188. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  189. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/frame-parser.d.ts +1 -0
  190. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/frame-parser.d.ts.map +1 -1
  191. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.command-builder.d.ts +6 -1
  192. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.command-builder.d.ts.map +1 -1
  193. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +4 -0
  194. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  195. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts +10 -51
  196. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts.map +1 -1
  197. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +6 -0
  198. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  199. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/spo/oxyfit.device.d.ts +9 -0
  200. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/spo/oxyfit.device.d.ts.map +1 -0
  201. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +2 -3
  202. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
  203. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +4 -0
  204. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
  205. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts +15 -0
  206. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts.map +1 -0
  207. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.frame-reader.d.ts +8 -0
  208. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.frame-reader.d.ts.map +1 -0
  209. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.sequencer.d.ts +17 -0
  210. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.sequencer.d.ts.map +1 -0
  211. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +3 -1
  212. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -1
  213. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +3 -1
  214. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  215. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts +4 -7
  216. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -1
  217. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts +2 -0
  218. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  219. package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts +2 -0
  220. package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
  221. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +2 -0
  222. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  223. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +1 -0
  224. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  225. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts +2 -0
  226. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
  227. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-field-encoding.d.ts +2 -1
  228. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-field-encoding.d.ts.map +1 -1
  229. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +8 -0
  230. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  231. package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts +2 -0
  232. package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts.map +1 -1
  233. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +1 -0
  234. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  235. package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts +1 -0
  236. package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
  237. package/lib/typescript/commonjs/src/modules/bt-management/types/parsing-case.d.ts +1 -0
  238. package/lib/typescript/commonjs/src/modules/bt-management/types/parsing-case.d.ts.map +1 -1
  239. package/lib/typescript/commonjs/src/modules/bt-management/utils/create-custom-field-parser.d.ts.map +1 -1
  240. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/apple-login-button.d.ts.map +1 -1
  241. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/google-login-button.d.ts.map +1 -1
  242. package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  243. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +3 -1
  244. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -1
  245. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +10 -1
  246. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  247. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  248. package/lib/typescript/module/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
  249. package/lib/typescript/module/src/modules/bt-management/constants/measurement-field-catalog.d.ts +4 -0
  250. package/lib/typescript/module/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
  251. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +2 -0
  252. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  253. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-case-fields.d.ts.map +1 -1
  254. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-case.d.ts.map +1 -1
  255. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-field.d.ts.map +1 -1
  256. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  257. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-monitor.d.ts.map +1 -1
  258. package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  259. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  260. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +6 -0
  261. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  262. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts +2 -0
  263. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  264. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-device-information.d.ts +11 -0
  265. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-device-information.d.ts.map +1 -0
  266. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +3 -1
  267. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  268. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -1
  269. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +3 -0
  270. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  271. package/lib/typescript/module/src/modules/bt-management/services/devices/frame-parser.d.ts +1 -0
  272. package/lib/typescript/module/src/modules/bt-management/services/devices/frame-parser.d.ts.map +1 -1
  273. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.command-builder.d.ts +6 -1
  274. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.command-builder.d.ts.map +1 -1
  275. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +4 -0
  276. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  277. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts +10 -51
  278. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts.map +1 -1
  279. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +6 -0
  280. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  281. package/lib/typescript/module/src/modules/bt-management/services/devices/spo/oxyfit.device.d.ts +9 -0
  282. package/lib/typescript/module/src/modules/bt-management/services/devices/spo/oxyfit.device.d.ts.map +1 -0
  283. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +2 -3
  284. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
  285. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +4 -0
  286. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
  287. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts +15 -0
  288. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts.map +1 -0
  289. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.frame-reader.d.ts +8 -0
  290. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.frame-reader.d.ts.map +1 -0
  291. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.sequencer.d.ts +17 -0
  292. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.sequencer.d.ts.map +1 -0
  293. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +3 -1
  294. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -1
  295. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +3 -1
  296. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  297. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts +4 -7
  298. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -1
  299. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts +2 -0
  300. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  301. package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts +2 -0
  302. package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
  303. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +2 -0
  304. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  305. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +1 -0
  306. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  307. package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts +2 -0
  308. package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
  309. package/lib/typescript/module/src/modules/bt-management/types/custom-field-encoding.d.ts +2 -1
  310. package/lib/typescript/module/src/modules/bt-management/types/custom-field-encoding.d.ts.map +1 -1
  311. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +8 -0
  312. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  313. package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts +2 -0
  314. package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts.map +1 -1
  315. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +1 -0
  316. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  317. package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts +1 -0
  318. package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
  319. package/lib/typescript/module/src/modules/bt-management/types/parsing-case.d.ts +1 -0
  320. package/lib/typescript/module/src/modules/bt-management/types/parsing-case.d.ts.map +1 -1
  321. package/lib/typescript/module/src/modules/bt-management/utils/create-custom-field-parser.d.ts.map +1 -1
  322. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"names":["_hexToByte","require","_lepuCommands","_lepuDeviceInfo","_lepuResponseType","COMMAND_INDEX","LepuIdentityGate","isIdentified","isRefused","constructor","params","initialCommands","commandFor","LepuCommand","GET_INFO","nextCommand","frame","undefined","poll","admit","hexToByte","isLepuSuccess","refuse","describeLepuResponseType","info","parseLepuDeviceInfo","onIdentified","pollCommand","isNarrowed","expectedDeviceTypes","length","includes","deviceType","branchCode","reason","onRefused","command","write","builder","build","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.identity-gate.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_hexToByte","require","_lepuCommands","_lepuDeviceInfo","_lepuResponseType","COMMAND_INDEX","VIATOM_OXYGEN_INFO","LepuIdentityGate","isIdentified","isRefused","constructor","params","initialCommands","protocol","command","setClockBeforeInfo","commandFor","oxyClockPayload","pendingCommand","LepuCommand","GET_INFO","nextCommand","frame","nextViatomOxygenCommand","undefined","poll","admit","hexToByte","isLepuSuccess","refuse","describeLepuResponseType","info","parseLepuDeviceInfo","onIdentified","pollCommand","isNarrowed","expectedDeviceTypes","length","includes","deviceType","branchCode","reason","onRefused","payload","delayBeforeWriteMs","write","builder","build","writeWithoutResponse","withoutResponse","status","toString","padStart","parseViatomOxygenDeviceInfo","exports","now","Date","pad","value","String","JSON","stringify","SetTIME","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","Array","from","TextEncoder","encode","text","slice","map","byte","fromCharCode","join","replace","parse","Number","Model","isInteger","protocolMaxLength","Branch","serialNumber","SN","SerialNumber"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.identity-gate.ts"],"mappings":"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","ignoreList":[]}
@@ -110,13 +110,17 @@ const lepuTransports = exports.lepuTransports = {
110
110
  const COMMAND_BYTE = 1;
111
111
  const lepuDevice = params => {
112
112
  const transport = lepuTransports[params.transport ?? "standard"];
113
+ const viatomOxygen = params.protocol === "viatom-oxygen";
113
114
  return (0, _defineCustomDevice.defineCustomDevice)({
114
115
  id: params.id ?? "lepu-device",
115
116
  nameMatch: params.nameMatch,
117
+ matchByService: params.nameMatch === undefined,
116
118
  stuckDataTimeoutMs: params.stuckDataTimeoutMs ?? DEFAULT_STUCK_TIMEOUT_MS,
117
119
  preferredMtu: transport.preferredMtu,
118
120
  lepu: {
119
- startBytes: [START_BYTE],
121
+ protocol: params.protocol,
122
+ startBytes: [viatomOxygen ? "55" : START_BYTE],
123
+ requestStartByte: viatomOxygen ? "aa" : START_BYTE,
120
124
  write: {
121
125
  serviceUuid: transport.serviceUuid,
122
126
  characteristicUuid: transport.writeUuid
@@ -127,6 +131,12 @@ const lepuDevice = params => {
127
131
  }),
128
132
  ...(params.pollCommand === undefined ? {} : {
129
133
  pollCommand: params.pollCommand
134
+ }),
135
+ ...(params.writeWithoutResponse === undefined ? {} : {
136
+ writeWithoutResponse: params.writeWithoutResponse
137
+ }),
138
+ ...(params.setClockBeforeInfo === undefined ? {} : {
139
+ setClockBeforeInfo: params.setClockBeforeInfo
130
140
  })
131
141
  },
132
142
  services: [{
@@ -1 +1 @@
1
- {"version":3,"names":["_defineCustomDevice","require","STANDARD_SERVICE","STANDARD_WRITE","STANDARD_NOTIFY","AW1_SERVICE","AW1_WRITE","AW1_NOTIFY","DING_SERVICE","DING_WRITE","DING_NOTIFY","AI_TELE_SERVICE","AI_TELE_WRITE","AI_TELE_NOTIFY","PREFERRED_MTU","MINIMUM_MTU","DEFAULT_STUCK_TIMEOUT_MS","START_BYTE","lepuTransports","exports","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","defineCustomDevice","id","nameMatch","stuckDataTimeoutMs","lepu","startBytes","write","characteristicUuid","expectedDeviceTypes","fileTransfer","undefined","pollCommand","services","uuid","monitor","frame","minLengthBytes","caseSelectorBytes","cases"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.transports.ts"],"mappings":";;;;;;AAEA,IAAAA,mBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,gBAAgB,GAAG,sCAAsC;AAC/D,MAAMC,cAAc,GAAG,sCAAsC;AAC7D,MAAMC,eAAe,GAAG,sCAAsC;;AAE9D;AACA,MAAMC,WAAW,GAAG,sCAAsC;AAC1D,MAAMC,SAAS,GAAG,sCAAsC;AACxD,MAAMC,UAAU,GAAG,sCAAsC;;AAEzD;AACA;AACA;AACA;AACA,MAAMC,YAAY,GAAG,sCAAsC;AAC3D,MAAMC,UAAU,GAAG,sCAAsC;AACzD,MAAMC,WAAW,GAAG,sCAAsC;;AAE1D;AACA,MAAMC,eAAe,GAAG,sCAAsC;AAC9D,MAAMC,aAAa,GAAG,sCAAsC;AAC5D,MAAMC,cAAc,GAAG,sCAAsC;;AAE7D;AACA,MAAMC,aAAa,GAAG,GAAG;;AAEzB;AACA,MAAMC,WAAW,GAAG,EAAE;;AAEtB;AACA,MAAMC,wBAAwB,GAAG,MAAM;AAEvC,MAAMC,UAAU,GAAG,IAAI;AASvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG;EACrBE,QAAQ,EAAE;IACRC,WAAW,EAAEnB,gBAAgB;IAC7BoB,UAAU,EAAElB,eAAe;IAC3BmB,SAAS,EAAEpB,cAAc;IACzBqB,YAAY,EAAEV;EAChB,CAAC;EAED;EACAW,gBAAgB,EAAE;IAChBJ,WAAW,EAAEnB,gBAAgB;IAC7BoB,UAAU,EAAElB,eAAe;IAC3BmB,SAAS,EAAEpB,cAAc;IACzBqB,YAAY,EAAET;EAChB,CAAC;EAEDW,GAAG,EAAE;IACHL,WAAW,EAAEhB,WAAW;IACxBiB,UAAU,EAAEf,UAAU;IACtBgB,SAAS,EAAEjB,SAAS;IACpBkB,YAAY,EAAEV;EAChB,CAAC;EAEDa,IAAI,EAAE;IACJN,WAAW,EAAEb,YAAY;IACzBc,UAAU,EAAEZ,WAAW;IACvBa,SAAS,EAAEd,UAAU;IACrBe,YAAY,EAAEV;EAChB,CAAC;EAEDc,MAAM,EAAE;IACNP,WAAW,EAAEV,eAAe;IAC5BW,UAAU,EAAET,cAAc;IAC1BU,SAAS,EAAEX,aAAa;IACxBY,YAAY,EAAEV;EAChB;AACF,CAAkD;AAqDlD,MAAMe,YAAY,GAAG,CAAC;AAEtB,MAAMC,UAAU,GAAIC,MAAwB,IAA6B;EACvE,MAAMC,SAAS,GAAGd,cAAc,CAACa,MAAM,CAACC,SAAS,IAAI,UAAU,CAAC;EAEhE,OAAO,IAAAC,sCAAkB,EAAC;IACxBC,EAAE,EAAEH,MAAM,CAACG,EAAE,IAAI,aAAa;IAC9BC,SAAS,EAAEJ,MAAM,CAACI,SAAS;IAC3BC,kBAAkB,EAAEL,MAAM,CAACK,kBAAkB,IAAIpB,wBAAwB;IACzEQ,YAAY,EAAEQ,SAAS,CAACR,YAAY;IACpCa,IAAI,EAAE;MACJC,UAAU,EAAE,CAACrB,UAAU,CAAC;MACxBsB,KAAK,EAAE;QACLlB,WAAW,EAAEW,SAAS,CAACX,WAAW;QAClCmB,kBAAkB,EAAER,SAAS,CAACT;MAChC,CAAC;MACDkB,mBAAmB,EAAE,CAAC,IAAIV,MAAM,CAACU,mBAAmB,IAAI,EAAE,CAAC,CAAC;MAC5D,IAAIV,MAAM,CAACW,YAAY,KAAKC,SAAS,GACjC,CAAC,CAAC,GACF;QAAED,YAAY,EAAEX,MAAM,CAACW;MAAa,CAAC,CAAC;MAC1C,IAAIX,MAAM,CAACa,WAAW,KAAKD,SAAS,GAChC,CAAC,CAAC,GACF;QAAEC,WAAW,EAAEb,MAAM,CAACa;MAAY,CAAC;IACzC,CAAC;IACDC,QAAQ,EAAE,CACR;MACEC,IAAI,EAAEd,SAAS,CAACX,WAAW;MAC3B0B,OAAO,EAAE,CACP;QACED,IAAI,EAAEd,SAAS,CAACV,UAAU;QAC1B0B,KAAK,EAAE;UAAEC,cAAc,EAAElB,MAAM,CAACkB;QAAe,CAAC;QAChDC,iBAAiB,EAAEnB,MAAM,CAACmB,iBAAiB,IAAI,CAACrB,YAAY,CAAC;QAC7DsB,KAAK,EAAEpB,MAAM,CAACoB;MAChB,CAAC;IAEL,CAAC;EAEL,CAAC,CAAC;AACJ,CAAC;AAAChC,OAAA,CAAAW,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["_defineCustomDevice","require","STANDARD_SERVICE","STANDARD_WRITE","STANDARD_NOTIFY","AW1_SERVICE","AW1_WRITE","AW1_NOTIFY","DING_SERVICE","DING_WRITE","DING_NOTIFY","AI_TELE_SERVICE","AI_TELE_WRITE","AI_TELE_NOTIFY","PREFERRED_MTU","MINIMUM_MTU","DEFAULT_STUCK_TIMEOUT_MS","START_BYTE","lepuTransports","exports","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","viatomOxygen","protocol","defineCustomDevice","id","nameMatch","matchByService","undefined","stuckDataTimeoutMs","lepu","startBytes","requestStartByte","write","characteristicUuid","expectedDeviceTypes","fileTransfer","pollCommand","writeWithoutResponse","setClockBeforeInfo","services","uuid","monitor","frame","minLengthBytes","caseSelectorBytes","cases"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.transports.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.OxyfitDevice = void 0;
7
+ var _customDevice = require("../custom/custom.device.js");
8
+ var _viatomOximeters = require("../viatom/viatom.oximeters.js");
9
+ /** Keeps the legacy IntegratedDevices.SPO2 entry on the working Viatom protocol. */
10
+ class OxyfitDevice extends _customDevice.CustomDevice {
11
+ constructor(device, params) {
12
+ super(device, params, (0, _viatomOximeters.viatomOximeter)("Oxyfit", {
13
+ id: "integrated-oxyfit"
14
+ }));
15
+ }
16
+ }
17
+ exports.OxyfitDevice = OxyfitDevice;
18
+ //# sourceMappingURL=oxyfit.device.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_customDevice","require","_viatomOximeters","OxyfitDevice","CustomDevice","constructor","device","params","viatomOximeter","id","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/spo/oxyfit.device.ts"],"mappings":";;;;;;AAKA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAEA;AACO,MAAME,YAAY,SAASC,0BAAY,CAAC;EACtCC,WAAWA,CAChBC,MAAc,EACdC,MAAkD,EAClD;IACA,KAAK,CACHD,MAAM,EACNC,MAAM,EACN,IAAAC,+BAAc,EAAC,QAAQ,EAAE;MAAEC,EAAE,EAAE;IAAoB,CAAC,CACtD,CAAC;EACH;AACF;AAACC,OAAA,CAAAP,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.standardWeightScaleDevice = exports.standardThermometerDevice = exports.standardPulseOximeterDevice = exports.standardHeartRateDevice = exports.standardBloodPressureDevice = void 0;
7
7
  var _core = require("@ovok/core");
8
8
  var _standardGattProfile = require("./standard-gatt.profile.js");
9
+ /* eslint-disable max-lines */
10
+
9
11
  /**
10
12
  * Declarations for the Bluetooth SIG vital-signs profiles.
11
13
  *
@@ -73,9 +75,35 @@ const standardThermometerDevice = params => (0, _standardGattProfile.declareProf
73
75
  characteristic: "2a1c",
74
76
  minLengthBytes: 5,
75
77
  measurementTypeKey: _core.MeasurementTypeKey.temperature,
76
- /** Celsius, with and without the timestamp that follows the reading. */
77
- selectors: ["00", "02"],
78
- fields: [(0, _standardGattProfile.littleEndian)("bodyTemp", [1, 2, 3, 4], "Cel", "float")]
78
+ /** All combinations of Fahrenheit, timestamp and temperature type flags. */
79
+ selectors: ["00", "02", "04", "06", "01", "03", "05", "07"],
80
+ fields: [(0, _standardGattProfile.littleEndian)("bodyTemp", [1, 2, 3, 4], "Cel", "float")],
81
+ fieldsBySelector: {
82
+ "01": [{
83
+ ...(0, _standardGattProfile.littleEndian)("bodyTemp", [1, 2, 3, 4], "Cel", "float"),
84
+ scale: 5 / 9,
85
+ offset: -160 / 9,
86
+ decimals: 2
87
+ }],
88
+ "03": [{
89
+ ...(0, _standardGattProfile.littleEndian)("bodyTemp", [1, 2, 3, 4], "Cel", "float"),
90
+ scale: 5 / 9,
91
+ offset: -160 / 9,
92
+ decimals: 2
93
+ }],
94
+ "05": [{
95
+ ...(0, _standardGattProfile.littleEndian)("bodyTemp", [1, 2, 3, 4], "Cel", "float"),
96
+ scale: 5 / 9,
97
+ offset: -160 / 9,
98
+ decimals: 2
99
+ }],
100
+ "07": [{
101
+ ...(0, _standardGattProfile.littleEndian)("bodyTemp", [1, 2, 3, 4], "Cel", "float"),
102
+ scale: 5 / 9,
103
+ offset: -160 / 9,
104
+ decimals: 2
105
+ }]
106
+ }
79
107
  });
80
108
 
81
109
  /** The SI weight resolution the specification fixes at five grams per count. */
@@ -92,13 +120,25 @@ const standardWeightScaleDevice = params => (0, _standardGattProfile.declareProf
92
120
  characteristic: "2a9d",
93
121
  minLengthBytes: 3,
94
122
  measurementTypeKey: _core.MeasurementTypeKey.bodyWeight,
95
- /** Kilograms, with and without the timestamp that follows the reading. */
96
- selectors: ["00", "02"],
123
+ /** Unit, timestamp, user-id and BMI/height flags may all follow the value. */
124
+ selectors: Array.from({
125
+ length: 16
126
+ }, (_, flags) => flags.toString(16).padStart(2, "0")),
97
127
  fields: [{
98
128
  ...(0, _standardGattProfile.littleEndian)("bodyWeight", [1, 2], "kg", "uint"),
99
129
  scale: WEIGHT_KG_PER_COUNT,
100
130
  decimals: 3
101
- }]
131
+ }],
132
+ fieldsBySelector: Object.fromEntries(Array.from({
133
+ length: 16
134
+ }, (_, flags) => {
135
+ const selector = flags.toString(16).padStart(2, "0");
136
+ return [selector, [{
137
+ ...(0, _standardGattProfile.littleEndian)("bodyWeight", [1, 2], "kg", "uint"),
138
+ scale: flags & 1 ? 0.01 * 0.45359237 : WEIGHT_KG_PER_COUNT,
139
+ decimals: 3
140
+ }]];
141
+ }))
102
142
  });
103
143
 
104
144
  /**
@@ -120,9 +160,8 @@ const standardPulseOximeterDevice = params => (0, _standardGattProfile.declarePr
120
160
  /**
121
161
  * Heart Rate Service 0x180D, Heart Rate Measurement 0x2A37.
122
162
  *
123
- * Only the eight-bit layout is declared. The sixteen-bit variant needs byte 2, which would
124
- * raise `minLengthBytes` to three and reject every eight-bit frame - the common case - so it
125
- * is left out rather than made to displace it.
163
+ * Both heart-rate layouts are declared. A contact-not-detected frame is idle, so it cannot
164
+ * become a false reading while the strap is off the body.
126
165
  */
127
166
  exports.standardPulseOximeterDevice = standardPulseOximeterDevice;
128
167
  const standardHeartRateDevice = params => (0, _standardGattProfile.declareProfile)(params, {
@@ -130,13 +169,30 @@ const standardHeartRateDevice = params => (0, _standardGattProfile.declareProfil
130
169
  characteristic: "2a37",
131
170
  minLengthBytes: 2,
132
171
  measurementTypeKey: _core.MeasurementTypeKey.heartRate,
133
- selectors: ["00"],
172
+ selectors: Array.from({
173
+ length: 32
174
+ }, (_, flags) => flags).filter(flags => (flags & 0x06) !== 0x04).map(flags => flags.toString(16).padStart(2, "0")),
134
175
  fields: [{
135
176
  name: "heartRate",
136
177
  byteIndexes: [1],
137
178
  encoding: "uint",
138
179
  unit: "bpm"
139
- }]
180
+ }],
181
+ fieldsBySelector: Object.fromEntries(Array.from({
182
+ length: 32
183
+ }, (_, flags) => flags).filter(flags => (flags & 0x01) === 0x01).filter(flags => (flags & 0x06) !== 0x04).map(flags => [flags.toString(16).padStart(2, "0"), [{
184
+ name: "heartRate",
185
+ byteIndexes: [1, 2],
186
+ byteOrder: "little",
187
+ encoding: "uint",
188
+ unit: "bpm"
189
+ }]])),
190
+ optionalFields: Object.fromEntries(Array.from({
191
+ length: 32
192
+ }, (_, flags) => flags).filter(flags => (flags & 0x01) === 0x01).filter(flags => (flags & 0x06) !== 0x04).map(flags => [flags.toString(16).padStart(2, "0"), {
193
+ fields: [],
194
+ minLengthBytes: 3
195
+ }]))
140
196
  });
141
197
  exports.standardHeartRateDevice = standardHeartRateDevice;
142
198
  //# sourceMappingURL=standard-gatt.devices.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_standardGattProfile","pulseAfterMeanPressure","fields","littleEndian","minLengthBytes","pulseAfterTimestamp","standardBloodPressureDevice","params","declareProfile","service","characteristic","measurementTypeKey","MeasurementTypeKey","bloodPressure","selectors","optionalFields","exports","standardThermometerDevice","temperature","WEIGHT_KG_PER_COUNT","standardWeightScaleDevice","bodyWeight","scale","decimals","standardPulseOximeterDevice","bloodOxygenPulseRate","standardHeartRateDevice","heartRate","name","byteIndexes","encoding","unit"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_standardGattProfile","pulseAfterMeanPressure","fields","littleEndian","minLengthBytes","pulseAfterTimestamp","standardBloodPressureDevice","params","declareProfile","service","characteristic","measurementTypeKey","MeasurementTypeKey","bloodPressure","selectors","optionalFields","exports","standardThermometerDevice","temperature","fieldsBySelector","scale","offset","decimals","WEIGHT_KG_PER_COUNT","standardWeightScaleDevice","bodyWeight","Array","from","length","_","flags","toString","padStart","Object","fromEntries","selector","standardPulseOximeterDevice","bloodOxygenPulseRate","standardHeartRateDevice","heartRate","filter","map","name","byteIndexes","encoding","unit","byteOrder"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.ts"],"mappings":"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","ignoreList":[]}
@@ -19,7 +19,8 @@ exports.sigUuid = sigUuid;
19
19
  const declareProfile = (params, profile) => (0, _defineCustomDevice.defineCustomDevice)({
20
20
  id: params.id ?? `standard-${profile.measurementTypeKey}`,
21
21
  nameMatch: params.nameMatch,
22
- matchByService: true,
22
+ matchByService: params.nameMatch === undefined,
23
+ oneReadingPerConnection: params.oneReadingPerConnection,
23
24
  stuckDataTimeoutMs: params.stuckDataTimeoutMs ?? SPOT_CHECK_TIMEOUT_MS,
24
25
  services: [{
25
26
  uuid: sigUuid(profile.service),
@@ -31,11 +32,12 @@ const declareProfile = (params, profile) => (0, _defineCustomDevice.defineCustom
31
32
  caseSelectorBytes: [0],
32
33
  cases: profile.selectors.map(selector => {
33
34
  const optional = profile.optionalFields?.[selector];
35
+ const fields = profile.fieldsBySelector?.[selector] ?? profile.fields;
34
36
  return {
35
37
  selector,
36
38
  kind: "result",
37
39
  measurementTypeKey: profile.measurementTypeKey,
38
- fields: [...profile.fields, ...(optional?.fields ?? [])],
40
+ fields: [...fields, ...(optional?.fields ?? [])],
39
41
  ...(optional ? {
40
42
  minLengthBytes: optional.minLengthBytes
41
43
  } : {})
@@ -1 +1 @@
1
- {"version":3,"names":["_defineCustomDevice","require","SPOT_CHECK_TIMEOUT_MS","sigUuid","assigned","exports","declareProfile","params","profile","defineCustomDevice","id","measurementTypeKey","nameMatch","matchByService","stuckDataTimeoutMs","services","uuid","service","monitor","characteristic","frame","minLengthBytes","caseSelectorBytes","cases","selectors","map","selector","optional","optionalFields","kind","fields","littleEndian","name","byteIndexes","unit","encoding","byteOrder"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.ts"],"mappings":";;;;;;AAIA,IAAAA,mBAAA,GAAAC,OAAA;AAEA;AACA,MAAMC,qBAAqB,GAAG,MAAM;AAyCpC,MAAMC,OAAO,GAAIC,QAAgB,IAC/B,OAAOA,QAAQ,8BAA8B;;AAE/C;AACA;AACA;AACA;AACA;AACA;AALAC,OAAA,CAAAF,OAAA,GAAAA,OAAA;AAMA,MAAMG,cAAc,GAAGA,CACrBC,MAA4B,EAC5BC,OAAoB,KAEpB,IAAAC,sCAAkB,EAAC;EACjBC,EAAE,EAAEH,MAAM,CAACG,EAAE,IAAI,YAAYF,OAAO,CAACG,kBAAkB,EAAE;EACzDC,SAAS,EAAEL,MAAM,CAACK,SAAS;EAC3BC,cAAc,EAAE,IAAI;EACpBC,kBAAkB,EAAEP,MAAM,CAACO,kBAAkB,IAAIZ,qBAAqB;EACtEa,QAAQ,EAAE,CACR;IACEC,IAAI,EAAEb,OAAO,CAACK,OAAO,CAACS,OAAO,CAAC;IAC9BC,OAAO,EAAE,CACP;MACEF,IAAI,EAAEb,OAAO,CAACK,OAAO,CAACW,cAAc,CAAC;MACrCC,KAAK,EAAE;QAAEC,cAAc,EAAEb,OAAO,CAACa;MAAe,CAAC;MACjDC,iBAAiB,EAAE,CAAC,CAAC,CAAC;MACtBC,KAAK,EAAEf,OAAO,CAACgB,SAAS,CAACC,GAAG,CAAEC,QAAQ,IAAK;QACzC,MAAMC,QAAQ,GAAGnB,OAAO,CAACoB,cAAc,GAAGF,QAAQ,CAAC;QAEnD,OAAO;UACLA,QAAQ;UACRG,IAAI,EAAE,QAAiB;UACvBlB,kBAAkB,EAAEH,OAAO,CAACG,kBAAkB;UAC9CmB,MAAM,EAAE,CAAC,GAAGtB,OAAO,CAACsB,MAAM,EAAE,IAAIH,QAAQ,EAAEG,MAAM,IAAI,EAAE,CAAC,CAAC;UACxD,IAAIH,QAAQ,GACR;YAAEN,cAAc,EAAEM,QAAQ,CAACN;UAAe,CAAC,GAC3C,CAAC,CAAC;QACR,CAAC;MACH,CAAC;IACH,CAAC;EAEL,CAAC;AAEL,CAAC,CAAC;AAAChB,OAAA,CAAAC,cAAA,GAAAA,cAAA;AAEL,MAAMyB,YAAY,GAAGA,CACnBC,IAAY,EACZC,WAAqB,EACrBC,IAAY,EACZC,QAAqC,MAChB;EACrBH,IAAI;EACJC,WAAW;EACXG,SAAS,EAAE,QAAQ;EACnBD,QAAQ;EACRD;AACF,CAAC,CAAC;AAAC7B,OAAA,CAAA0B,YAAA,GAAAA,YAAA","ignoreList":[]}
1
+ {"version":3,"names":["_defineCustomDevice","require","SPOT_CHECK_TIMEOUT_MS","sigUuid","assigned","exports","declareProfile","params","profile","defineCustomDevice","id","measurementTypeKey","nameMatch","matchByService","undefined","oneReadingPerConnection","stuckDataTimeoutMs","services","uuid","service","monitor","characteristic","frame","minLengthBytes","caseSelectorBytes","cases","selectors","map","selector","optional","optionalFields","fields","fieldsBySelector","kind","littleEndian","name","byteIndexes","unit","encoding","byteOrder"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.ts"],"mappings":";;;;;;AAIA,IAAAA,mBAAA,GAAAC,OAAA;AAEA;AACA,MAAMC,qBAAqB,GAAG,MAAM;AAiDpC,MAAMC,OAAO,GAAIC,QAAgB,IAC/B,OAAOA,QAAQ,8BAA8B;;AAE/C;AACA;AACA;AACA;AACA;AACA;AALAC,OAAA,CAAAF,OAAA,GAAAA,OAAA;AAMA,MAAMG,cAAc,GAAGA,CACrBC,MAA4B,EAC5BC,OAAoB,KAEpB,IAAAC,sCAAkB,EAAC;EACjBC,EAAE,EAAEH,MAAM,CAACG,EAAE,IAAI,YAAYF,OAAO,CAACG,kBAAkB,EAAE;EACzDC,SAAS,EAAEL,MAAM,CAACK,SAAS;EAC3BC,cAAc,EAAEN,MAAM,CAACK,SAAS,KAAKE,SAAS;EAC9CC,uBAAuB,EAAER,MAAM,CAACQ,uBAAuB;EACvDC,kBAAkB,EAAET,MAAM,CAACS,kBAAkB,IAAId,qBAAqB;EACtEe,QAAQ,EAAE,CACR;IACEC,IAAI,EAAEf,OAAO,CAACK,OAAO,CAACW,OAAO,CAAC;IAC9BC,OAAO,EAAE,CACP;MACEF,IAAI,EAAEf,OAAO,CAACK,OAAO,CAACa,cAAc,CAAC;MACrCC,KAAK,EAAE;QAAEC,cAAc,EAAEf,OAAO,CAACe;MAAe,CAAC;MACjDC,iBAAiB,EAAE,CAAC,CAAC,CAAC;MACtBC,KAAK,EAAEjB,OAAO,CAACkB,SAAS,CAACC,GAAG,CAAEC,QAAQ,IAAK;QACzC,MAAMC,QAAQ,GAAGrB,OAAO,CAACsB,cAAc,GAAGF,QAAQ,CAAC;QAEnD,MAAMG,MAAM,GACVvB,OAAO,CAACwB,gBAAgB,GAAGJ,QAAQ,CAAC,IAAIpB,OAAO,CAACuB,MAAM;QAExD,OAAO;UACLH,QAAQ;UACRK,IAAI,EAAE,QAAiB;UACvBtB,kBAAkB,EAAEH,OAAO,CAACG,kBAAkB;UAC9CoB,MAAM,EAAE,CAAC,GAAGA,MAAM,EAAE,IAAIF,QAAQ,EAAEE,MAAM,IAAI,EAAE,CAAC,CAAC;UAChD,IAAIF,QAAQ,GACR;YAAEN,cAAc,EAAEM,QAAQ,CAACN;UAAe,CAAC,GAC3C,CAAC,CAAC;QACR,CAAC;MACH,CAAC;IACH,CAAC;EAEL,CAAC;AAEL,CAAC,CAAC;AAAClB,OAAA,CAAAC,cAAA,GAAAA,cAAA;AAEL,MAAM4B,YAAY,GAAGA,CACnBC,IAAY,EACZC,WAAqB,EACrBC,IAAY,EACZC,QAAqC,MAChB;EACrBH,IAAI;EACJC,WAAW;EACXG,SAAS,EAAE,QAAQ;EACnBD,QAAQ;EACRD;AACF,CAAC,CAAC;AAAChC,OAAA,CAAA6B,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MySenseDevice = void 0;
7
+ var _core = require("@ovok/core");
8
+ var _defineCustomDevice = require("../../custom/define-custom-device.js");
9
+ var _customDevice = require("../custom/custom.device.js");
10
+ var _mysenseFrameReader = require("./mysense.frame-reader.js");
11
+ var _mysenseSequencer = require("./mysense.sequencer.js");
12
+ const SERVICE = "0000fff0-0000-1000-8000-00805f9b34fb";
13
+ const NOTIFY = "0000fff1-0000-1000-8000-00805f9b34fb";
14
+ const definition = (0, _defineCustomDevice.defineCustomDevice)({
15
+ id: "cyclotest-mysense",
16
+ nameMatch: "mySense",
17
+ stuckDataTimeoutMs: 30_000,
18
+ services: [{
19
+ uuid: SERVICE,
20
+ monitor: [{
21
+ uuid: NOTIFY,
22
+ frame: {
23
+ minLengthBytes: 17
24
+ },
25
+ caseSelectorBytes: [4],
26
+ cases: [{
27
+ selector: "a1",
28
+ kind: "idle",
29
+ minLengthBytes: 20,
30
+ description: "mySense greeting"
31
+ }, {
32
+ selector: "a3",
33
+ kind: "result",
34
+ minLengthBytes: 17,
35
+ repeatedRecords: {
36
+ recordBytes: 9,
37
+ from: 8
38
+ },
39
+ measurementTypeKey: _core.MeasurementTypeKey.temperature,
40
+ description: "mySense stored temperature history",
41
+ fields: [{
42
+ name: "bodyTemp",
43
+ byteIndexes: [5, 6],
44
+ encoding: "decimal-pair",
45
+ unit: "Cel",
46
+ decimals: 2
47
+ }]
48
+ }]
49
+ }]
50
+ }]
51
+ });
52
+ class MySenseDevice extends _customDevice.CustomDevice {
53
+ reportedHistory = false;
54
+ constructor(device, params) {
55
+ super(device, params, definition);
56
+ this.frameReader = new _mysenseFrameReader.MySenseFrameReader();
57
+ this.createCommandSequencer = () => {
58
+ this.reportedHistory = false;
59
+ return new _mysenseSequencer.MySenseSequencer({
60
+ onGreeting: frame => {
61
+ this.deviceData.sn = frame.slice(5, 11).join(":");
62
+ }
63
+ });
64
+ };
65
+ }
66
+ shouldReportDependentResult = data => {
67
+ if (data.parsingCase.caseValue !== "a3") {
68
+ return true;
69
+ }
70
+ if (this.reportedHistory) {
71
+ return false;
72
+ }
73
+ this.reportedHistory = true;
74
+ return true;
75
+ };
76
+ }
77
+ exports.MySenseDevice = MySenseDevice;
78
+ //# sourceMappingURL=mysense.device.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_core","require","_defineCustomDevice","_customDevice","_mysenseFrameReader","_mysenseSequencer","SERVICE","NOTIFY","definition","defineCustomDevice","id","nameMatch","stuckDataTimeoutMs","services","uuid","monitor","frame","minLengthBytes","caseSelectorBytes","cases","selector","kind","description","repeatedRecords","recordBytes","from","measurementTypeKey","MeasurementTypeKey","temperature","fields","name","byteIndexes","encoding","unit","decimals","MySenseDevice","CustomDevice","reportedHistory","constructor","device","params","frameReader","MySenseFrameReader","createCommandSequencer","MySenseSequencer","onGreeting","deviceData","sn","slice","join","shouldReportDependentResult","data","parsingCase","caseValue","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/uebe/mysense.device.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAQA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AAEA,IAAAG,mBAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AAEA,MAAMK,OAAO,GAAG,sCAAsC;AACtD,MAAMC,MAAM,GAAG,sCAAsC;AAMrD,MAAMC,UAAU,GAAG,IAAAC,sCAAkB,EAAC;EACpCC,EAAE,EAAE,mBAAmB;EACvBC,SAAS,EAAE,SAAS;EACpBC,kBAAkB,EAAE,MAAM;EAC1BC,QAAQ,EAAE,CACR;IACEC,IAAI,EAAER,OAAO;IACbS,OAAO,EAAE,CACP;MACED,IAAI,EAAEP,MAAM;MACZS,KAAK,EAAE;QAAEC,cAAc,EAAE;MAAG,CAAC;MAC7BC,iBAAiB,EAAE,CAAC,CAAC,CAAC;MACtBC,KAAK,EAAE,CACL;QACEC,QAAQ,EAAE,IAAI;QACdC,IAAI,EAAE,MAAM;QACZJ,cAAc,EAAE,EAAE;QAClBK,WAAW,EAAE;MACf,CAAC,EACD;QACEF,QAAQ,EAAE,IAAI;QACdC,IAAI,EAAE,QAAQ;QACdJ,cAAc,EAAE,EAAE;QAClBM,eAAe,EAAE;UAAEC,WAAW,EAAE,CAAC;UAAEC,IAAI,EAAE;QAAE,CAAC;QAC5CC,kBAAkB,EAAEC,wBAAkB,CAACC,WAAW;QAClDN,WAAW,EAAE,oCAAoC;QACjDO,MAAM,EAAE,CACN;UACEC,IAAI,EAAE,UAAU;UAChBC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;UACnBC,QAAQ,EAAE,cAAc;UACxBC,IAAI,EAAE,KAAK;UACXC,QAAQ,EAAE;QACZ,CAAC;MAEL,CAAC;IAEL,CAAC;EAEL,CAAC;AAEL,CAAC,CAAC;AAEK,MAAMC,aAAa,SAASC,0BAAY,CAAC;EACtCC,eAAe,GAAG,KAAK;EAExBC,WAAWA,CAChBC,MAAc,EACdC,MAAqD,EACrD;IACA,KAAK,CACHD,MAAM,EACNC,MAAM,EACNhC,UACF,CAAC;IAED,IAAI,CAACiC,WAAW,GAAG,IAAIC,sCAAkB,CAAC,CAAC;IAC3C,IAAI,CAACC,sBAAsB,GAAG,MAAM;MAClC,IAAI,CAACN,eAAe,GAAG,KAAK;MAE5B,OAAO,IAAIO,kCAAgB,CAAC;QAC1BC,UAAU,EAAG7B,KAAK,IAAK;UACrB,IAAI,CAAC8B,UAAU,CAACC,EAAE,GAAG/B,KAAK,CAACgC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;QACnD;MACF,CAAC,CAAC;IACJ,CAAC;EACH;EAEUC,2BAA2B,GAAIC,IAAmB,IAAc;IACxE,IAAIA,IAAI,CAACC,WAAW,CAACC,SAAS,KAAK,IAAI,EAAE;MACvC,OAAO,IAAI;IACb;IAEA,IAAI,IAAI,CAAChB,eAAe,EAAE;MACxB,OAAO,KAAK;IACd;IAEA,IAAI,CAACA,eAAe,GAAG,IAAI;IAE3B,OAAO,IAAI;EACb,CAAC;AACH;AAACiB,OAAA,CAAAnB,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MySenseFrameReader = void 0;
7
+ var _frameReadStatus = require("../../../types/frame-read-status.js");
8
+ var _hexToByte = require("../../../utils/hex-to-byte.js");
9
+ const START = "4d";
10
+ const HEADER_BYTES = 4;
11
+ const MAX_FRAME_BYTES = 512;
12
+ const A3 = 0xa3;
13
+ const byteAt = (frame, index) => (0, _hexToByte.hexToByte)(frame[index] ?? "0");
14
+
15
+ /** Reads mySense frames by their big-endian length, independent of notification boundaries. */
16
+ class MySenseFrameReader {
17
+ readFrame(buffer) {
18
+ const start = buffer.findIndex(byte => byte.toLowerCase() === START);
19
+ if (start === -1) {
20
+ return {
21
+ status: _frameReadStatus.FrameReadStatus.INCOMPLETE,
22
+ consumedBytes: Math.max(0, buffer.length - 1)
23
+ };
24
+ }
25
+ if (start + HEADER_BYTES > buffer.length) {
26
+ return {
27
+ status: _frameReadStatus.FrameReadStatus.INCOMPLETE,
28
+ consumedBytes: start
29
+ };
30
+ }
31
+ const payloadLength = byteAt(buffer, start + 2) << 8 | byteAt(buffer, start + 3);
32
+ const frameLength = HEADER_BYTES + payloadLength;
33
+ if (payloadLength < 2 || frameLength > MAX_FRAME_BYTES) {
34
+ return {
35
+ status: _frameReadStatus.FrameReadStatus.CORRUPT,
36
+ consumedBytes: start + 1
37
+ };
38
+ }
39
+ if (start + frameLength > buffer.length) {
40
+ return {
41
+ status: _frameReadStatus.FrameReadStatus.INCOMPLETE,
42
+ consumedBytes: start
43
+ };
44
+ }
45
+ const frame = buffer.slice(start, start + frameLength);
46
+ if (!this.isValid(frame)) {
47
+ return {
48
+ status: _frameReadStatus.FrameReadStatus.CORRUPT,
49
+ consumedBytes: start + 1
50
+ };
51
+ }
52
+ return {
53
+ status: _frameReadStatus.FrameReadStatus.COMPLETE,
54
+ consumedBytes: start + frameLength,
55
+ frame
56
+ };
57
+ }
58
+ isValid(frame) {
59
+ const declared = byteAt(frame, frame.length - 1);
60
+ const actual = frame.slice(0, -1).reduce((sum, _, index, bytes) => sum + byteAt(bytes, index) & 0xff, 0);
61
+ if (declared !== actual) {
62
+ return false;
63
+ }
64
+ if (byteAt(frame, 4) !== A3) {
65
+ return true;
66
+ }
67
+ const count = byteAt(frame, 6) << 8 | byteAt(frame, 7);
68
+ const recordsStart = 8;
69
+ if (frame.length !== recordsStart + count * 9 + 1) {
70
+ return false;
71
+ }
72
+ for (let record = 0; record < count; record++) {
73
+ const from = recordsStart + record * 9;
74
+ const recordSum = frame.slice(from, from + 8).reduce((sum, _, index, bytes) => sum + byteAt(bytes, index) & 0xff, 0);
75
+ if (recordSum !== byteAt(frame, from + 8)) {
76
+ return false;
77
+ }
78
+ }
79
+ return true;
80
+ }
81
+ }
82
+ exports.MySenseFrameReader = MySenseFrameReader;
83
+ //# sourceMappingURL=mysense.frame-reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_frameReadStatus","require","_hexToByte","START","HEADER_BYTES","MAX_FRAME_BYTES","A3","byteAt","frame","index","hexToByte","MySenseFrameReader","readFrame","buffer","start","findIndex","byte","toLowerCase","status","FrameReadStatus","INCOMPLETE","consumedBytes","Math","max","length","payloadLength","frameLength","CORRUPT","slice","isValid","COMPLETE","declared","actual","reduce","sum","_","bytes","count","recordsStart","record","from","recordSum","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/uebe/mysense.frame-reader.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MySenseSequencer = void 0;
7
+ var _hexToByte = require("../../../utils/hex-to-byte.js");
8
+ const SERVICE = "0000fff0-0000-1000-8000-00805f9b34fb";
9
+ const WRITE = "0000fff2-0000-1000-8000-00805f9b34fb";
10
+ const START = 0x4d;
11
+ const DEVICE_ROLE = 0x61;
12
+ const APP_ROLE = 0xfc;
13
+ const REQUEST = 0xa1;
14
+ const HISTORY = 0xa3;
15
+ const byte = value => (value & 0xff).toString(16).padStart(2, "0");
16
+ const frameFor = (role, opcode, data) => {
17
+ const length = 1 + data.length + 1;
18
+ const frame = [START, role, length >> 8 & 0xff, length & 0xff, opcode, ...data];
19
+ const sum = frame.reduce((total, value) => total + value & 0xff, 0);
20
+ return [...frame, sum].map(byte);
21
+ };
22
+ const nowData = () => {
23
+ const now = new Date();
24
+ return [now.getFullYear() % 100, now.getMonth() + 1, now.getDate(), now.getHours(), now.getMinutes(), 0x0f];
25
+ };
26
+ /** Answers the greeting, then acknowledges each valid history frame exactly once. */
27
+ class MySenseSequencer {
28
+ normalDisconnect = false;
29
+ constructor(params) {
30
+ this.params = params;
31
+ }
32
+ initialCommands = () => [];
33
+ nextCommand = frame => {
34
+ if ((0, _hexToByte.hexToByte)(frame[0] ?? "0") !== START || (0, _hexToByte.hexToByte)(frame[1] ?? "0") !== DEVICE_ROLE) {
35
+ return undefined;
36
+ }
37
+ switch ((0, _hexToByte.hexToByte)(frame[4] ?? "0")) {
38
+ case REQUEST:
39
+ this.params.onGreeting(frame);
40
+ this.normalDisconnect = true;
41
+ return [this.commandFor(frameFor(APP_ROLE, REQUEST, nowData()))];
42
+ case HISTORY:
43
+ {
44
+ const count = (0, _hexToByte.hexToByte)(frame[6] ?? "0") << 8 | (0, _hexToByte.hexToByte)(frame[7] ?? "0");
45
+ this.normalDisconnect = true;
46
+ return [this.commandFor(frameFor(APP_ROLE, HISTORY, [count >> 8, count & 0xff]))];
47
+ }
48
+ default:
49
+ return undefined;
50
+ }
51
+ };
52
+ isNormalDisconnect = () => this.normalDisconnect;
53
+ commandFor = frame => ({
54
+ serviceUuid: SERVICE,
55
+ characteristicUuid: WRITE,
56
+ frame
57
+ });
58
+ }
59
+ exports.MySenseSequencer = MySenseSequencer;
60
+ //# sourceMappingURL=mysense.sequencer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_hexToByte","require","SERVICE","WRITE","START","DEVICE_ROLE","APP_ROLE","REQUEST","HISTORY","byte","value","toString","padStart","frameFor","role","opcode","data","length","frame","sum","reduce","total","map","nowData","now","Date","getFullYear","getMonth","getDate","getHours","getMinutes","MySenseSequencer","normalDisconnect","constructor","params","initialCommands","nextCommand","hexToByte","undefined","onGreeting","commandFor","count","isNormalDisconnect","serviceUuid","characteristicUuid","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/uebe/mysense.sequencer.ts"],"mappings":"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","ignoreList":[]}
@@ -3,10 +3,27 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.decodeViatomEcgRecording = exports.VIATOM_ECG_SAMPLE_RATE_HZ = exports.VIATOM_ECG_MILLIVOLTS_PER_COUNT = void 0;
6
+ exports.recordedAtFromViatomFileName = exports.decodeViatomEcgRecording = exports.VIATOM_ECG_SAMPLE_RATE_HZ = exports.VIATOM_ECG_MILLIVOLTS_PER_COUNT = void 0;
7
7
  var _hexToByte = require("../../../utils/hex-to-byte.js");
8
8
  const VIATOM_ECG_SAMPLE_RATE_HZ = exports.VIATOM_ECG_SAMPLE_RATE_HZ = 125;
9
9
  const VIATOM_ECG_MILLIVOLTS_PER_COUNT = exports.VIATOM_ECG_MILLIVOLTS_PER_COUNT = 0.002467;
10
+ const validDate = (year, month, day, hour, minute, second) => {
11
+ const date = new Date(year, month - 1, day, hour, minute, second, 0);
12
+ return date.getFullYear() === year && date.getMonth() === month - 1 && date.getDate() === day && date.getHours() === hour && date.getMinutes() === minute && date.getSeconds() === second ? date : undefined;
13
+ };
14
+
15
+ /** Reads the recording time encoded in the ER file name, when present. */
16
+ const recordedAtFromViatomFileName = name => {
17
+ const digits = name.match(/\d{14}|\d{12}/)?.[0];
18
+ if (!digits) {
19
+ return undefined;
20
+ }
21
+ if (digits.length === 14) {
22
+ return validDate(Number(digits.slice(0, 4)), Number(digits.slice(4, 6)), Number(digits.slice(6, 8)), Number(digits.slice(8, 10)), Number(digits.slice(10, 12)), Number(digits.slice(12, 14)));
23
+ }
24
+ return validDate(2000 + Number(digits.slice(0, 2)), Number(digits.slice(2, 4)), Number(digits.slice(4, 6)), Number(digits.slice(6, 8)), Number(digits.slice(8, 10)), Number(digits.slice(10, 12)));
25
+ };
26
+ exports.recordedAtFromViatomFileName = recordedAtFromViatomFileName;
10
27
  const readUInt32LittleEndian = (bytes, from) => (0, _hexToByte.hexToByte)(bytes[from] ?? "0") | (0, _hexToByte.hexToByte)(bytes[from + 1] ?? "0") << 8 | (0, _hexToByte.hexToByte)(bytes[from + 2] ?? "0") << 16 | (0, _hexToByte.hexToByte)(bytes[from + 3] ?? "0") << 24;
11
28
 
12
29
  /** Decodes the official ER1/ER2 file container and its signed ECG samples. */
@@ -1 +1 @@
1
- {"version":3,"names":["_hexToByte","require","VIATOM_ECG_SAMPLE_RATE_HZ","exports","VIATOM_ECG_MILLIVOLTS_PER_COUNT","readUInt32LittleEndian","bytes","from","hexToByte","decodeViatomEcgRecording","content","length","samples","duration","waveStart","waveEnd","index","raw","signed","push","recordedSeconds"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-files.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEA,MAAMC,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG,GAAG;AACrC,MAAME,+BAA+B,GAAAD,OAAA,CAAAC,+BAAA,GAAG,QAAQ;AAEhD,MAAMC,sBAAsB,GAAGA,CAACC,KAAwB,EAAEC,IAAY,KACpE,IAAAC,oBAAS,EAACF,KAAK,CAACC,IAAI,CAAC,IAAI,GAAG,CAAC,GAC5B,IAAAC,oBAAS,EAACF,KAAK,CAACC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAE,GACvC,IAAAC,oBAAS,EAACF,KAAK,CAACC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,EAAG,GACxC,IAAAC,oBAAS,EAACF,KAAK,CAACC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,EAAG;;AAE3C;AACA,MAAME,wBAAwB,GAC5BC,OAA0B,IACkB;EAC5C,IAAIA,OAAO,CAACC,MAAM,IAAI,EAAE,EAAE;IACxB,OAAO;MAAEC,OAAO,EAAE,EAAE;MAAEC,QAAQ,EAAE;IAAE,CAAC;EACrC;EAEA,MAAMC,SAAS,GAAG,EAAE;EACpB,MAAMC,OAAO,GAAGL,OAAO,CAACC,MAAM,GAAG,EAAE;EACnC,MAAMC,OAAiB,GAAG,EAAE;EAE5B,KAAK,IAAII,KAAK,GAAGF,SAAS,EAAEE,KAAK,GAAG,CAAC,GAAGD,OAAO,EAAEC,KAAK,IAAI,CAAC,EAAE;IAC3D,MAAMC,GAAG,GACP,IAAAT,oBAAS,EAACE,OAAO,CAACM,KAAK,CAAC,IAAI,GAAG,CAAC,GAC/B,IAAAR,oBAAS,EAACE,OAAO,CAACM,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAE;IAE7C,MAAME,MAAM,GAAGD,GAAG,GAAG,MAAM,GAAGA,GAAG,GAAG,OAAO,GAAGA,GAAG;IAEjDL,OAAO,CAACO,IAAI,CAACD,MAAM,GAAGd,+BAA+B,CAAC;EACxD;EAEA,MAAMgB,eAAe,GAAGf,sBAAsB,CAACK,OAAO,EAAEA,OAAO,CAACC,MAAM,GAAG,EAAE,CAAC;EAE5E,OAAO;IACLC,OAAO;IACPC,QAAQ,EAAEO,eAAe,IAAIR,OAAO,CAACD,MAAM,GAAGT;EAChD,CAAC;AACH,CAAC;AAACC,OAAA,CAAAM,wBAAA,GAAAA,wBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_hexToByte","require","VIATOM_ECG_SAMPLE_RATE_HZ","exports","VIATOM_ECG_MILLIVOLTS_PER_COUNT","validDate","year","month","day","hour","minute","second","date","Date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","undefined","recordedAtFromViatomFileName","name","digits","match","length","Number","slice","readUInt32LittleEndian","bytes","from","hexToByte","decodeViatomEcgRecording","content","samples","duration","waveStart","waveEnd","index","raw","signed","push","recordedSeconds"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-files.ts"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.er3Recorder = exports.er2Recorder = exports.er1Recorder = exports.ER2_MODEL_NAMES = exports.ER1_MODEL_NAMES = void 0;
6
+ exports.er3Recorder = exports.er2Recorder = exports.er1Recorder = exports.ER3_MODEL_NAMES = exports.ER2_MODEL_NAMES = exports.ER1_MODEL_NAMES = void 0;
7
7
  var _core = require("@ovok/core");
8
8
  var _lepuNameMatch = require("../lepu/lepu.name-match.js");
9
9
  var _lepuTransports = require("../lepu/lepu.transports.js");
@@ -111,4 +111,7 @@ const ER1_MODEL_NAMES = exports.ER1_MODEL_NAMES = ["ER1", "ER1-H", "ER1-L", "ER1
111
111
 
112
112
  /** The names the ER2 recorders advertise, all of them on the small-MTU link. */
113
113
  const ER2_MODEL_NAMES = exports.ER2_MODEL_NAMES = ["ER2", "ER2-S", "HHM2", "HHM3", "LP ER2"];
114
+
115
+ /** The ER3 is identified separately from the ER1/ER2 opcode family. */
116
+ const ER3_MODEL_NAMES = exports.ER3_MODEL_NAMES = ["ER3"];
114
117
  //# sourceMappingURL=viatom.ecg-recorders.js.map