@ovok/native 1.5.0 → 1.5.2

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 (298) hide show
  1. package/android/build.gradle +43 -0
  2. package/android/src/main/AndroidManifest.xml +23 -0
  3. package/android/src/main/java/com/ovok/sdk/backgroundsync/BackgroundSyncNotification.java +78 -0
  4. package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokBackgroundSyncModule.java +109 -0
  5. package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokBackgroundSyncPackage.java +26 -0
  6. package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokBluetoothForegroundService.java +28 -0
  7. package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokHealthConnectTaskService.java +45 -0
  8. package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokHealthConnectWorker.java +28 -0
  9. package/lib/commonjs/index.js +11 -0
  10. package/lib/commonjs/index.js.map +1 -1
  11. package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js +2 -2
  12. package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js.map +1 -1
  13. package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.js +2 -2
  14. package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
  15. package/lib/commonjs/modules/background-sync/android-background-sync.js +69 -0
  16. package/lib/commonjs/modules/background-sync/android-background-sync.js.map +1 -0
  17. package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js +49 -0
  18. package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -0
  19. package/lib/commonjs/modules/background-sync/index.js +28 -0
  20. package/lib/commonjs/modules/background-sync/index.js.map +1 -0
  21. package/lib/commonjs/modules/bt-device/constants/supported-devices.js +40 -12
  22. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
  23. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +20 -3
  24. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  25. package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js +88 -0
  26. package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
  27. package/lib/commonjs/modules/bt-management/services/bt-manager.js +2 -0
  28. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  29. package/lib/commonjs/modules/bt-management/services/custom/compile-case-fields.js +3 -1
  30. package/lib/commonjs/modules/bt-management/services/custom/compile-case-fields.js.map +1 -1
  31. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +4 -0
  32. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  33. package/lib/commonjs/modules/bt-management/services/device-creator.js +6 -2
  34. package/lib/commonjs/modules/bt-management/services/device-creator.js.map +1 -1
  35. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj.thermometers.js +1 -1
  36. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -1
  37. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-frame-parser.js +24 -2
  38. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-frame-parser.js.map +1 -1
  39. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +3 -1
  40. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  41. package/lib/commonjs/modules/bt-management/services/devices/bt-device-information.js +41 -0
  42. package/lib/commonjs/modules/bt-management/services/devices/bt-device-information.js.map +1 -0
  43. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +27 -1
  44. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  45. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +23 -9
  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/lepu/lepu.file-transfer.js +12 -3
  48. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  49. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +1 -0
  50. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  51. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +67 -11
  52. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
  53. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +4 -2
  54. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
  55. package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.device.js +16 -0
  56. package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.device.js.map +1 -1
  57. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +18 -1
  58. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -1
  59. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +4 -1
  60. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  61. package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js +10 -5
  62. package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
  63. package/lib/commonjs/modules/data-sync/components/android/android-health-sync.js +5 -3
  64. package/lib/commonjs/modules/data-sync/components/android/android-health-sync.js.map +1 -1
  65. package/lib/commonjs/modules/data-sync/components/apple/apple-health-sync.js +7 -4
  66. package/lib/commonjs/modules/data-sync/components/apple/apple-health-sync.js.map +1 -1
  67. package/lib/commonjs/modules/data-sync/hooks/use-listen-changes.js +27 -11
  68. package/lib/commonjs/modules/data-sync/hooks/use-listen-changes.js.map +1 -1
  69. package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js +4 -3
  70. package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js.map +1 -1
  71. package/lib/commonjs/modules/data-sync/services/managers/sync-progress-manager.js +9 -5
  72. package/lib/commonjs/modules/data-sync/services/managers/sync-progress-manager.js.map +1 -1
  73. package/lib/commonjs/modules/data-sync/services/managers/sync-state-manager.js +4 -1
  74. package/lib/commonjs/modules/data-sync/services/managers/sync-state-manager.js.map +1 -1
  75. package/lib/module/index.js +1 -0
  76. package/lib/module/index.js.map +1 -1
  77. package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js +2 -2
  78. package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js.map +1 -1
  79. package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js +2 -2
  80. package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
  81. package/lib/module/modules/background-sync/android-background-sync.js +61 -0
  82. package/lib/module/modules/background-sync/android-background-sync.js.map +1 -0
  83. package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js +44 -0
  84. package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -0
  85. package/lib/module/modules/background-sync/index.js +5 -0
  86. package/lib/module/modules/background-sync/index.js.map +1 -0
  87. package/lib/module/modules/bt-device/constants/supported-devices.js +44 -16
  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 +20 -4
  90. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  91. package/lib/module/modules/bt-management/constants/measurement-field-catalog.js +88 -0
  92. package/lib/module/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
  93. package/lib/module/modules/bt-management/services/bt-manager.js +2 -0
  94. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  95. package/lib/module/modules/bt-management/services/custom/compile-case-fields.js +3 -1
  96. package/lib/module/modules/bt-management/services/custom/compile-case-fields.js.map +1 -1
  97. package/lib/module/modules/bt-management/services/custom/define-custom-device.js +4 -0
  98. package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  99. package/lib/module/modules/bt-management/services/device-creator.js +6 -2
  100. package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
  101. package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js +1 -1
  102. package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -1
  103. package/lib/module/modules/bt-management/services/devices/bc01/bc01-frame-parser.js +24 -2
  104. package/lib/module/modules/bt-management/services/devices/bc01/bc01-frame-parser.js.map +1 -1
  105. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +3 -1
  106. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  107. package/lib/module/modules/bt-management/services/devices/bt-device-information.js +37 -0
  108. package/lib/module/modules/bt-management/services/devices/bt-device-information.js.map +1 -0
  109. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +27 -1
  110. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  111. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +25 -11
  112. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  113. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +12 -3
  114. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  115. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +1 -0
  116. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  117. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +67 -11
  118. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
  119. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +4 -2
  120. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
  121. package/lib/module/modules/bt-management/services/devices/uebe/mysense.device.js +16 -0
  122. package/lib/module/modules/bt-management/services/devices/uebe/mysense.device.js.map +1 -1
  123. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +17 -1
  124. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -1
  125. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +4 -1
  126. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  127. package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js +10 -5
  128. package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
  129. package/lib/module/modules/data-sync/components/android/android-health-sync.js +5 -3
  130. package/lib/module/modules/data-sync/components/android/android-health-sync.js.map +1 -1
  131. package/lib/module/modules/data-sync/components/apple/apple-health-sync.js +7 -4
  132. package/lib/module/modules/data-sync/components/apple/apple-health-sync.js.map +1 -1
  133. package/lib/module/modules/data-sync/hooks/use-listen-changes.js +27 -10
  134. package/lib/module/modules/data-sync/hooks/use-listen-changes.js.map +1 -1
  135. package/lib/module/modules/data-sync/services/base-health-sync-service.js +4 -3
  136. package/lib/module/modules/data-sync/services/base-health-sync-service.js.map +1 -1
  137. package/lib/module/modules/data-sync/services/managers/sync-progress-manager.js +9 -5
  138. package/lib/module/modules/data-sync/services/managers/sync-progress-manager.js.map +1 -1
  139. package/lib/module/modules/data-sync/services/managers/sync-state-manager.js +4 -1
  140. package/lib/module/modules/data-sync/services/managers/sync-state-manager.js.map +1 -1
  141. package/lib/typescript/commonjs/src/index.d.ts +1 -0
  142. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  143. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/apple-login-button.d.ts.map +1 -1
  144. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/google-login-button.d.ts.map +1 -1
  145. package/lib/typescript/commonjs/src/modules/background-sync/android-background-sync.d.ts +39 -0
  146. package/lib/typescript/commonjs/src/modules/background-sync/android-background-sync.d.ts.map +1 -0
  147. package/lib/typescript/commonjs/src/modules/background-sync/android-bluetooth-foreground-service.d.ts +12 -0
  148. package/lib/typescript/commonjs/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -0
  149. package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts +3 -0
  150. package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts.map +1 -0
  151. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +3 -1
  152. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  153. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  154. package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-field-catalog.d.ts +4 -0
  155. package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
  156. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +2 -0
  157. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  158. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-case-fields.d.ts.map +1 -1
  159. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  160. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  161. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts +11 -4
  162. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts.map +1 -1
  163. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +2 -0
  164. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  165. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-device-information.d.ts +11 -0
  166. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-device-information.d.ts.map +1 -0
  167. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +3 -1
  168. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  169. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +5 -0
  170. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  171. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +4 -0
  172. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  173. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  174. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +2 -3
  175. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
  176. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +4 -0
  177. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
  178. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts +3 -0
  179. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts.map +1 -1
  180. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +3 -1
  181. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -1
  182. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +3 -1
  183. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  184. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +8 -0
  185. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
  186. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts +2 -0
  187. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  188. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +2 -0
  189. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  190. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +1 -0
  191. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  192. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts +2 -0
  193. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
  194. package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts +2 -0
  195. package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts.map +1 -1
  196. package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts +1 -1
  197. package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
  198. package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-sync.d.ts +1 -1
  199. package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-sync.d.ts.map +1 -1
  200. package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-sync.d.ts +1 -1
  201. package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-sync.d.ts.map +1 -1
  202. package/lib/typescript/commonjs/src/modules/data-sync/components/data-sync.d.ts +3 -3
  203. package/lib/typescript/commonjs/src/modules/data-sync/hooks/use-listen-changes.d.ts +1 -1
  204. package/lib/typescript/commonjs/src/modules/data-sync/hooks/use-listen-changes.d.ts.map +1 -1
  205. package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts +2 -1
  206. package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
  207. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +3 -3
  208. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-progress-manager.d.ts.map +1 -1
  209. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-state-manager.d.ts +3 -1
  210. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-state-manager.d.ts.map +1 -1
  211. package/lib/typescript/commonjs/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts +4 -1
  212. package/lib/typescript/commonjs/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts.map +1 -1
  213. package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-sync-props.d.ts +7 -2
  214. package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-sync-props.d.ts.map +1 -1
  215. package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-props.d.ts +6 -0
  216. package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-props.d.ts.map +1 -1
  217. package/lib/typescript/commonjs/src/modules/data-sync/types/sync-progress.d.ts +4 -1
  218. package/lib/typescript/commonjs/src/modules/data-sync/types/sync-progress.d.ts.map +1 -1
  219. package/lib/typescript/module/src/index.d.ts +1 -0
  220. package/lib/typescript/module/src/index.d.ts.map +1 -1
  221. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/apple-login-button.d.ts.map +1 -1
  222. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/google-login-button.d.ts.map +1 -1
  223. package/lib/typescript/module/src/modules/background-sync/android-background-sync.d.ts +39 -0
  224. package/lib/typescript/module/src/modules/background-sync/android-background-sync.d.ts.map +1 -0
  225. package/lib/typescript/module/src/modules/background-sync/android-bluetooth-foreground-service.d.ts +12 -0
  226. package/lib/typescript/module/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -0
  227. package/lib/typescript/module/src/modules/background-sync/index.d.ts +3 -0
  228. package/lib/typescript/module/src/modules/background-sync/index.d.ts.map +1 -0
  229. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +3 -1
  230. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  231. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  232. package/lib/typescript/module/src/modules/bt-management/constants/measurement-field-catalog.d.ts +4 -0
  233. package/lib/typescript/module/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
  234. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +2 -0
  235. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  236. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-case-fields.d.ts.map +1 -1
  237. package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  238. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  239. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts +11 -4
  240. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts.map +1 -1
  241. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +2 -0
  242. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  243. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-device-information.d.ts +11 -0
  244. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-device-information.d.ts.map +1 -0
  245. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +3 -1
  246. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  247. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +5 -0
  248. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  249. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +4 -0
  250. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  251. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  252. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +2 -3
  253. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
  254. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +4 -0
  255. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
  256. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts +3 -0
  257. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts.map +1 -1
  258. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +3 -1
  259. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -1
  260. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +3 -1
  261. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  262. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +8 -0
  263. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
  264. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts +2 -0
  265. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  266. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +2 -0
  267. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  268. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +1 -0
  269. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  270. package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts +2 -0
  271. package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
  272. package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts +2 -0
  273. package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts.map +1 -1
  274. package/lib/typescript/module/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts +1 -1
  275. package/lib/typescript/module/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
  276. package/lib/typescript/module/src/modules/data-sync/components/android/android-health-sync.d.ts +1 -1
  277. package/lib/typescript/module/src/modules/data-sync/components/android/android-health-sync.d.ts.map +1 -1
  278. package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-sync.d.ts +1 -1
  279. package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-sync.d.ts.map +1 -1
  280. package/lib/typescript/module/src/modules/data-sync/components/data-sync.d.ts +3 -3
  281. package/lib/typescript/module/src/modules/data-sync/hooks/use-listen-changes.d.ts +1 -1
  282. package/lib/typescript/module/src/modules/data-sync/hooks/use-listen-changes.d.ts.map +1 -1
  283. package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts +2 -1
  284. package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
  285. package/lib/typescript/module/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +3 -3
  286. package/lib/typescript/module/src/modules/data-sync/services/managers/sync-progress-manager.d.ts.map +1 -1
  287. package/lib/typescript/module/src/modules/data-sync/services/managers/sync-state-manager.d.ts +3 -1
  288. package/lib/typescript/module/src/modules/data-sync/services/managers/sync-state-manager.d.ts.map +1 -1
  289. package/lib/typescript/module/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts +4 -1
  290. package/lib/typescript/module/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts.map +1 -1
  291. package/lib/typescript/module/src/modules/data-sync/types/apple-health-sync-props.d.ts +7 -2
  292. package/lib/typescript/module/src/modules/data-sync/types/apple-health-sync-props.d.ts.map +1 -1
  293. package/lib/typescript/module/src/modules/data-sync/types/health-sync-props.d.ts +6 -0
  294. package/lib/typescript/module/src/modules/data-sync/types/health-sync-props.d.ts.map +1 -1
  295. package/lib/typescript/module/src/modules/data-sync/types/sync-progress.d.ts +4 -1
  296. package/lib/typescript/module/src/modules/data-sync/types/sync-progress.d.ts.map +1 -1
  297. package/package.json +6 -3
  298. package/react-native.config.js +11 -0
@@ -1 +1 @@
1
- {"version":3,"names":["sentryLogger","DeviceStatus","base64ToHex","BTCommandWriter","BTConnectionHandler","characteristicSubscriptions","constructor","device","mainServices","callbacks","preferredMtu","writer","onError","connect","connectWithRetries","requestPreferredMtu","onStatusChanged","CONNECTED","discoverAllServicesAndCharacteristics","onDisconnectSubscription","onDisconnected","onDeviceDisconnected","subscribeToAllCharacteristics","error","Error","message","deviceName","name","DISCONNECTED","destroy","forEach","sub","remove","reset","sendCommands","commands","send","negotiated","requestMTU","useNegotiatedMtu","mtu","deviceId","id","requestedMtu","String","maxRetries","retryDelay","maxDelay","connected","retryCount","isConnected","errorCode","willRetry","Promise","resolve","setTimeout","Math","min","pow","isNormalDisconnect","mainService","monitorUuid","monitorUuids","subscription","monitorCharacteristicForService","uuid","result","value","hexValue","onDataReceived","push","initialCommands","length","onCommandSent"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-connection-handler.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["sentryLogger","DeviceStatus","base64ToHex","BTCommandWriter","readDeviceInformation","BTConnectionHandler","characteristicSubscriptions","constructor","device","mainServices","callbacks","preferredMtu","writer","onError","connect","connectWithRetries","requestPreferredMtu","discoverAllServicesAndCharacteristics","onDeviceInfo","onStatusChanged","CONNECTED","onDisconnectSubscription","onDisconnected","onDeviceDisconnected","subscribeToAllCharacteristics","error","Error","message","deviceName","name","DISCONNECTED","destroy","forEach","sub","remove","reset","sendCommands","commands","send","negotiated","requestMTU","useNegotiatedMtu","mtu","deviceId","id","requestedMtu","String","maxRetries","retryDelay","maxDelay","connected","retryCount","isConnected","errorCode","willRetry","Promise","resolve","setTimeout","Math","min","pow","isNormalDisconnect","mainService","monitorUuid","monitorUuids","subscription","monitorCharacteristicForService","uuid","result","value","hexValue","onDataReceived","push","initialCommands","length","onCommandSent"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-connection-handler.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ import { sentryLogger } from "../../../helpers/utils/sentry-logger.js";
4
+ const readDeviceInformation = async (device, onDeviceInfo) => {
5
+ const read = device.readCharacteristicForService;
6
+ if (typeof read !== "function") {
7
+ return;
8
+ }
9
+ const info = {};
10
+ const values = [["name", "00001800-0000-1000-8000-00805f9b34fb", "00002a00-0000-1000-8000-00805f9b34fb"], ["manufacturerName", "0000180a-0000-1000-8000-00805f9b34fb", "00002a29-0000-1000-8000-00805f9b34fb"], ["model", "0000180a-0000-1000-8000-00805f9b34fb", "00002a24-0000-1000-8000-00805f9b34fb"], ["serialNumber", "0000180a-0000-1000-8000-00805f9b34fb", "00002a25-0000-1000-8000-00805f9b34fb"]];
11
+ for (const [key, serviceUuid, characteristicUuid] of values) {
12
+ try {
13
+ const characteristic = await read.call(device, serviceUuid, characteristicUuid);
14
+ const value = characteristic?.value;
15
+ if (!value) {
16
+ continue;
17
+ }
18
+ const text = Buffer.from(value, "base64").toString("utf8").replace(/\0+$/, "").trim();
19
+ if (text) {
20
+ info[key] = text;
21
+ }
22
+ } catch (error) {
23
+ // Optional GAP/Device Information characteristics are not present on every device.
24
+ sentryLogger("info", "DEVICE: Optional device information unavailable", {
25
+ deviceId: device.id,
26
+ deviceName: device.name,
27
+ characteristicUuid,
28
+ error: error instanceof Error ? error.message : String(error)
29
+ });
30
+ }
31
+ }
32
+ if (Object.keys(info).length > 0) {
33
+ onDeviceInfo?.(info);
34
+ }
35
+ };
36
+ export { readDeviceInformation };
37
+ //# sourceMappingURL=bt-device-information.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["sentryLogger","readDeviceInformation","device","onDeviceInfo","read","readCharacteristicForService","info","values","key","serviceUuid","characteristicUuid","characteristic","call","value","text","Buffer","from","toString","replace","trim","error","deviceId","id","deviceName","name","Error","message","String","Object","keys","length"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-device-information.ts"],"mappings":";;AAEA,SAASA,YAAY,QAAQ,yCAAsC;AASnE,MAAMC,qBAAqB,GAAG,MAAAA,CAC5BC,MAAc,EACdC,YAAkD,KAChC;EAClB,MAAMC,IAAI,GAAGF,MAAM,CAACG,4BAA4B;EAEhD,IAAI,OAAOD,IAAI,KAAK,UAAU,EAAE;IAC9B;EACF;EAEA,MAAME,IAAyB,GAAG,CAAC,CAAC;EAEpC,MAAMC,MAA8D,GAAG,CACrE,CAAC,MAAM,EAAE,sCAAsC,EAAE,sCAAsC,CAAC,EACxF,CAAC,kBAAkB,EAAE,sCAAsC,EAAE,sCAAsC,CAAC,EACpG,CAAC,OAAO,EAAE,sCAAsC,EAAE,sCAAsC,CAAC,EACzF,CAAC,cAAc,EAAE,sCAAsC,EAAE,sCAAsC,CAAC,CACjG;EAED,KAAK,MAAM,CAACC,GAAG,EAAEC,WAAW,EAAEC,kBAAkB,CAAC,IAAIH,MAAM,EAAE;IAC3D,IAAI;MACF,MAAMI,cAAc,GAAG,MAAMP,IAAI,CAACQ,IAAI,CACpCV,MAAM,EACNO,WAAW,EACXC,kBACF,CAAC;MAED,MAAMG,KAAK,GAAGF,cAAc,EAAEE,KAAK;MAEnC,IAAI,CAACA,KAAK,EAAE;QACV;MACF;MAEA,MAAMC,IAAI,GAAGC,MAAM,CAACC,IAAI,CAACH,KAAK,EAAE,QAAQ,CAAC,CACtCI,QAAQ,CAAC,MAAM,CAAC,CAChBC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CACnBC,IAAI,CAAC,CAAC;MAET,IAAIL,IAAI,EAAE;QACRR,IAAI,CAACE,GAAG,CAAC,GAAGM,IAAI;MAClB;IACF,CAAC,CAAC,OAAOM,KAAK,EAAE;MACd;MACApB,YAAY,CAAC,MAAM,EAAE,iDAAiD,EAAE;QACtEqB,QAAQ,EAAEnB,MAAM,CAACoB,EAAE;QACnBC,UAAU,EAAErB,MAAM,CAACsB,IAAI;QACvBd,kBAAkB;QAClBU,KAAK,EAAEA,KAAK,YAAYK,KAAK,GAAGL,KAAK,CAACM,OAAO,GAAGC,MAAM,CAACP,KAAK;MAC9D,CAAC,CAAC;IACJ;EACF;EAEA,IAAIQ,MAAM,CAACC,IAAI,CAACvB,IAAI,CAAC,CAACwB,MAAM,GAAG,CAAC,EAAE;IAChC3B,YAAY,GAAGG,IAAI,CAAC;EACtB;AACF,CAAC;AAED,SAASL,qBAAqB","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ /* eslint-disable max-lines */
4
+
3
5
  import { sentryLogger } from "../../../helpers/utils/sentry-logger.js";
4
6
  import { DeviceStatus } from "../../types/device-status.js";
5
7
  import { summariseMeasurementForLog } from "../../utils/summarise-measurement-for-log.js";
@@ -8,6 +10,8 @@ import { BTConnectionHandler } from "./bt-connection-handler.js";
8
10
  import { BTDataProcessor } from "./bt-data-processor.js";
9
11
  import { pollingSequencerFor } from "./polling-command-sequencer.js";
10
12
  export class BTManagedDevice {
13
+ resultReportedThisConnection = false;
14
+
11
15
  /**
12
16
  * The timeout in milliseconds for the stuck data.
13
17
  */
@@ -59,9 +63,11 @@ export class BTManagedDevice {
59
63
  onError: onErrorCallback,
60
64
  onDeviceStatusChanged: onDeviceStatusChangedCallback,
61
65
  onResult: onResultCallback,
62
- onDeviceDisconnected: onDeviceDisconnectedCallback
66
+ onDeviceDisconnected: onDeviceDisconnectedCallback,
67
+ oneReadingPerConnection
63
68
  }) {
64
69
  this.device = device;
70
+ this.oneReadingPerConnection = oneReadingPerConnection === true;
65
71
  sentryLogger("info", "BT_MANAGER: Creating BTManagedDevice", {
66
72
  deviceId: device.id,
67
73
  deviceName: deviceName
@@ -104,6 +110,10 @@ export class BTManagedDevice {
104
110
  caseType: _,
105
111
  ...data
106
112
  }) => {
113
+ if (this.oneReadingPerConnection && this.resultReportedThisConnection) {
114
+ return;
115
+ }
116
+ this.resultReportedThisConnection = true;
107
117
  sentryLogger("info", "BT_MANAGER: Calling onResult callback", {
108
118
  data: summariseMeasurementForLog(data),
109
119
  deviceData: this.deviceData,
@@ -128,6 +138,8 @@ export class BTManagedDevice {
128
138
  this.onResult = undefined;
129
139
  };
130
140
  connect = async () => {
141
+ this.resultReportedThisConnection = false;
142
+
131
143
  // To access the abstract property in the constructor, we need to set it here
132
144
  this.deviceData.measurementTypes = supportedMeasurementTypeKeys(this.mainServices);
133
145
  const sequencer = this.createCommandSequencer?.() ?? pollingSequencerFor(this.mainServices);
@@ -143,6 +155,20 @@ export class BTManagedDevice {
143
155
  onDataReceived: (uuid, hexValue) => {
144
156
  this.dataProcessor?.processData(uuid, hexValue);
145
157
  },
158
+ onDeviceInfo: info => {
159
+ if (info.name) {
160
+ this.deviceData.localName = info.name;
161
+ }
162
+ if (info.manufacturerName) {
163
+ this.deviceData.manufacturerName = info.manufacturerName;
164
+ }
165
+ if (info.model) {
166
+ this.deviceData.model = info.model;
167
+ }
168
+ if (info.serialNumber) {
169
+ this.deviceData.sn = info.serialNumber;
170
+ }
171
+ },
146
172
  initialCommands: () => sequencer.initialCommands(),
147
173
  onCommandSent: () => this.dataProcessor?.armStuckTimeout(),
148
174
  isNormalDisconnect: () => sequencer.isNormalDisconnect?.() ?? false
@@ -1 +1 @@
1
- {"version":3,"names":["sentryLogger","DeviceStatus","summariseMeasurementForLog","supportedMeasurementTypeKeys","BTConnectionHandler","BTDataProcessor","pollingSequencerFor","BTManagedDevice","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","status","measurementTypeKey","error","Error","message","caseType","_","data","destroy","connectionHandler","dataProcessor","undefined","connect","mainServices","sequencer","createCommandSequencer","onStatusChanged","bind","DISCONNECTED","onDataReceived","uuid","hexValue","processData","initialCommands","onCommandSent","armStuckTimeout","isNormalDisconnect","preferredMtu","stuckDataTimeout","onStreamStart","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","handleDependentResult","frameReader"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["sentryLogger","DeviceStatus","summariseMeasurementForLog","supportedMeasurementTypeKeys","BTConnectionHandler","BTDataProcessor","pollingSequencerFor","BTManagedDevice","resultReportedThisConnection","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","status","measurementTypeKey","error","Error","message","caseType","_","data","destroy","connectionHandler","dataProcessor","undefined","connect","mainServices","sequencer","createCommandSequencer","onStatusChanged","bind","DISCONNECTED","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","model","serialNumber","initialCommands","onCommandSent","armStuckTimeout","isNormalDisconnect","preferredMtu","stuckDataTimeout","onStreamStart","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","handleDependentResult","frameReader"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  /* eslint-disable max-lines */
4
- import { EcgDiagnosticFlag, MeasurementTypeKey } from "@ovok/core";
4
+ import { MeasurementTypeKey } from "@ovok/core";
5
5
  import { CaseType } from "../../../types/case-type.js";
6
6
  import { createFrameValidator } from "../../../utils/create-frame-validator.js";
7
7
  import { parseMeasurement } from "../../../utils/parse-measurement.js";
@@ -10,7 +10,7 @@ import { BTManagedDevice } from "../bt-managed-device.js";
10
10
  import { LepuCommandBuilder } from "../lepu/lepu.command-builder.js";
11
11
  import { LepuFileTransfer } from "../lepu/lepu.file-transfer.js";
12
12
  import { LepuFrameReader } from "../lepu/lepu.frame-reader.js";
13
- import { decodeViatomEcgRecording } from "../viatom/viatom.ecg-files.js";
13
+ import { decodeViatomEcgRecording, recordedAtFromViatomFileName } from "../viatom/viatom.ecg-files.js";
14
14
  import { createLepuSequencer, recordLepuIdentity } from "./custom-lepu-sequencer.js";
15
15
  /**
16
16
  * Runs a device registered with defineCustomDevice.
@@ -24,8 +24,12 @@ import { createLepuSequencer, recordLepuIdentity } from "./custom-lepu-sequencer
24
24
  export class CustomDevice extends BTManagedDevice {
25
25
  validators = new Map();
26
26
  constructor(device, params, definition) {
27
- super(device, params);
27
+ super(device, {
28
+ ...params,
29
+ oneReadingPerConnection: params.oneReadingPerConnection ?? definition.oneReadingPerConnection
30
+ });
28
31
  this.definition = definition;
32
+ this.deliveredEcgFileNames = new Set(params.deliveredEcgFileNames ?? []);
29
33
  this.mainServices = definition.mainServices;
30
34
  this.stuckDataTimeout = definition.stuckDataTimeout;
31
35
  if (definition.preferredMtu !== undefined) {
@@ -59,6 +63,12 @@ export class CustomDevice extends BTManagedDevice {
59
63
  },
60
64
  builder: new LepuCommandBuilder(lepu.startBytes[0] ?? "a5"),
61
65
  onFile: this.reportViatomEcgFile,
66
+ skipFiles: this.deliveredEcgFileNames,
67
+ afterTransfer: lepu.pollCommand ? () => [{
68
+ serviceUuid: lepu.write.serviceUuid,
69
+ characteristicUuid: lepu.write.characteristicUuid,
70
+ frame: new LepuCommandBuilder(lepu.startBytes[0] ?? "a5").build(lepu.pollCommand)
71
+ }] : undefined,
62
72
  onError: reason => this.onError?.(new Error(`Viatom ECG: ${reason}`))
63
73
  });
64
74
  }
@@ -77,9 +87,10 @@ export class CustomDevice extends BTManagedDevice {
77
87
  this.onResult?.({
78
88
  measurementTypeKey: MeasurementTypeKey.ecg,
79
89
  caseType: CaseType.RESULT,
80
- diagnosticResult: EcgDiagnosticFlag.REGULAR,
81
90
  diagramPoints: decoded.samples,
82
- duration: decoded.duration
91
+ duration: decoded.duration,
92
+ recordedAt: recordedAtFromViatomFileName(file.name),
93
+ recordingId: file.name
83
94
  });
84
95
  };
85
96
  onIdentified = info => recordLepuIdentity(this.deviceData, info);
@@ -127,6 +138,9 @@ export class CustomDevice extends BTManagedDevice {
127
138
  return;
128
139
  }
129
140
 
141
+ /** Adds protocol-specific metadata to a validated reading before it is emitted. */
142
+ decorateReading = (reading, _frame, _recordOffset) => reading;
143
+
130
144
  /**
131
145
  * Reports what the frame carried, which may be more than one reading.
132
146
  *
@@ -138,12 +152,12 @@ export class CustomDevice extends BTManagedDevice {
138
152
  reportFrame(data) {
139
153
  const repeated = data.parsingCase.repeatedRecords;
140
154
  if (!repeated || !data.frame) {
141
- this.report(data.parsedData, data.parsingCase);
155
+ this.report(data.parsedData, data.parsingCase, data.frame);
142
156
  return;
143
157
  }
144
158
  const records = Math.floor((data.frame.length - repeated.from) / repeated.recordBytes);
145
159
  for (let record = 0; record < records; record++) {
146
- this.report(parseMeasurement(data.frame, data.parsingCase, repeated.from + record * repeated.recordBytes), data.parsingCase);
160
+ this.report(parseMeasurement(data.frame, data.parsingCase, repeated.from + record * repeated.recordBytes), data.parsingCase, data.frame, repeated.from + record * repeated.recordBytes);
147
161
  }
148
162
  }
149
163
 
@@ -158,18 +172,18 @@ export class CustomDevice extends BTManagedDevice {
158
172
  * A reading that fails its checks is discarded on its own. A temperature the device could
159
173
  * not take is no reason to withhold the heart rate in the same frame.
160
174
  */
161
- report(parsedData, parsingCase) {
175
+ report(parsedData, parsingCase, frame, recordOffset) {
162
176
  const measurements = parsingCase.measurements ?? [];
163
177
  if (measurements.length === 0) {
164
178
  this.discard("a result frame carries no measurement type", parsedData);
165
179
  return;
166
180
  }
167
- measurements.forEach(measurement => this.reportMeasurement(parsedData, measurement));
181
+ measurements.forEach(measurement => this.reportMeasurement(parsedData, measurement, frame, recordOffset));
168
182
  }
169
183
  discard(reason, parsedData) {
170
184
  this.onError?.(discardedReadingError(this.definition.id, reason, parsedData));
171
185
  }
172
- reportMeasurement(parsedData, measurement) {
186
+ reportMeasurement(parsedData, measurement, frame, recordOffset) {
173
187
  const reading = {
174
188
  caseType: parsedData.caseType,
175
189
  measurementTypeKey: measurement.measurementTypeKey
@@ -182,7 +196,7 @@ export class CustomDevice extends BTManagedDevice {
182
196
  this.discard(rejection, reading);
183
197
  return;
184
198
  }
185
- this.onResult?.(reading);
199
+ this.onResult?.(this.decorateReading(reading, frame, recordOffset));
186
200
  }
187
201
  }
188
202
  //# sourceMappingURL=custom.device.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["EcgDiagnosticFlag","MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","BTManagedDevice","LepuCommandBuilder","LepuFileTransfer","LepuFrameReader","decodeViatomEcgRecording","createLepuSequencer","recordLepuIdentity","CustomDevice","validators","Map","constructor","device","params","definition","mainServices","stuckDataTimeout","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","lepu","frameReader","startBytes","createCommandSequencer","fileTransfer","write","serviceUuid","characteristicUuid","builder","onFile","reportViatomEcgFile","onError","reason","Error","onIdentified","onRefused","onIdentityRefused","file","decoded","content","samples","length","name","onResult","measurementTypeKey","ecg","caseType","RESULT","diagnosticResult","REGULAR","diagramPoints","duration","info","deviceData","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","shouldReportDependentResult","reportFrame","error","parsingCase","OTHER","_data","handleSuccessResult","repeated","repeatedRecords","report","parsedData","records","Math","floor","from","recordBytes","record","measurements","discard","measurement","reportMeasurement","reading","fieldNames","rejection","map","fields","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","BTManagedDevice","LepuCommandBuilder","LepuFileTransfer","LepuFrameReader","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","CustomDevice","validators","Map","constructor","device","params","definition","oneReadingPerConnection","deliveredEcgFileNames","Set","mainServices","stuckDataTimeout","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","lepu","frameReader","startBytes","createCommandSequencer","fileTransfer","write","serviceUuid","characteristicUuid","builder","onFile","reportViatomEcgFile","skipFiles","afterTransfer","pollCommand","build","onError","reason","Error","onIdentified","onRefused","onIdentityRefused","file","decoded","content","samples","length","name","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","info","deviceData","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","shouldReportDependentResult","reportFrame","error","parsingCase","OTHER","_data","handleSuccessResult","decorateReading","reading","_frame","_recordOffset","repeated","repeatedRecords","report","parsedData","records","Math","floor","from","recordBytes","record","recordOffset","measurements","discard","measurement","reportMeasurement","fieldNames","rejection","map","fields","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ /* eslint-disable max-lines */
4
+
3
5
  import { le32FromHex } from "../../../utils/le-32-from-hex.js";
4
6
  import { le32ToBytes } from "../../../utils/le-32-to-bytes.js";
5
7
  import { LepuCommand } from "./lepu.commands.js";
@@ -46,7 +48,10 @@ class LepuFileTransfer {
46
48
  initialCommands = () => [this.commandFor(LepuCommand.GET_FILE_LIST)];
47
49
  nextCommand = frame => {
48
50
  const command = lepuCommandOf(frame);
49
- if (this.isDone || !TRANSFER_COMMANDS.includes(command)) {
51
+ if (this.isDone) {
52
+ return this.params.afterTransfer?.();
53
+ }
54
+ if (!TRANSFER_COMMANDS.includes(command)) {
50
55
  return undefined;
51
56
  }
52
57
  if (!isLepuSuccess(frame)) {
@@ -66,10 +71,14 @@ class LepuFileTransfer {
66
71
  return this.closedFile();
67
72
  };
68
73
  openNextFile = () => {
69
- const name = this.files[this.fileIndex];
74
+ let name = this.files[this.fileIndex];
75
+ while (name !== undefined && this.params.skipFiles?.has(name)) {
76
+ this.fileIndex++;
77
+ name = this.files[this.fileIndex];
78
+ }
70
79
  if (name === undefined) {
71
80
  this.isDone = true;
72
- return undefined;
81
+ return this.params.afterTransfer?.();
73
82
  }
74
83
  this.name = name;
75
84
  this.totalBytes = 0;
@@ -1 +1 @@
1
- {"version":3,"names":["le32FromHex","le32ToBytes","LepuCommand","lepuNameBytes","lepuNamesFrom","lepuCommandOf","lepuPayloadOf","describeLepuResponseType","isLepuSuccess","FILE_SIZE_OFFSET","MAX_FILE_BYTES","TRANSFER_COMMANDS","GET_FILE_LIST","READ_FILE_START","READ_FILE_DATA","READ_FILE_END","LepuFileTransfer","files","fileIndex","name","totalBytes","content","isSessionOpen","isDone","constructor","params","initialCommands","commandFor","nextCommand","frame","command","includes","undefined","fail","openNextFile","openedFile","appendChunk","closedFile","payload","limit","maxFileBytes","closeFile","length","push","onProgress","receivedBytes","onFile","reason","onError","write","builder","build"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.file-transfer.ts"],"mappings":";;AAEA,SAASA,WAAW,QAAQ,kCAA+B;AAC3D,SAASC,WAAW,QAAQ,kCAA+B;AAG3D,SAASC,WAAW,QAAQ,oBAAiB;AAC7C,SAASC,aAAa,EAAEC,aAAa,QAAQ,sBAAmB;AAChE,SAASC,aAAa,EAAEC,aAAa,QAAQ,iBAAc;AAC3D,SAASC,wBAAwB,EAAEC,aAAa,QAAQ,yBAAsB;AAE9E,MAAMC,gBAAgB,GAAG,CAAC;;AAE1B;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAG,OAAO;AAE9B,MAAMC,iBAAoC,GAAG,CAC3CT,WAAW,CAACU,aAAa,EACzBV,WAAW,CAACW,eAAe,EAC3BX,WAAW,CAACY,cAAc,EAC1BZ,WAAW,CAACa,aAAa,CAC1B;AA+BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,gBAAgB,CAA6B;EACzCC,KAAK,GAAa,EAAE;EACpBC,SAAS,GAAG,CAAC;EACbC,IAAI,GAAG,EAAE;EACTC,UAAU,GAAG,CAAC;EACdC,OAAO,GAAa,EAAE;EACtBC,aAAa,GAAG,KAAK;EACrBC,MAAM,GAAG,KAAK;EAEfC,WAAWA,CAAkBC,MAA8B,EAAE;IAAA,KAAhCA,MAA8B,GAA9BA,MAA8B;EAAG;EAE9DC,eAAe,GAAGA,CAAA,KAAgC,CACvD,IAAI,CAACC,UAAU,CAACzB,WAAW,CAACU,aAAa,CAAC,CAC3C;EAEMgB,WAAW,GAChBC,KAAwB,IACiB;IACzC,MAAMC,OAAO,GAAGzB,aAAa,CAACwB,KAAK,CAAC;IAEpC,IAAI,IAAI,CAACN,MAAM,IAAI,CAACZ,iBAAiB,CAACoB,QAAQ,CAACD,OAAO,CAAC,EAAE;MACvD,OAAOE,SAAS;IAClB;IAEA,IAAI,CAACxB,aAAa,CAACqB,KAAK,CAAC,EAAE;MACzB,OAAO,IAAI,CAACI,IAAI,CAAC,0BAA0B1B,wBAAwB,CAACsB,KAAK,CAAC,EAAE,CAAC;IAC/E;IAEA,IAAIC,OAAO,KAAK5B,WAAW,CAACU,aAAa,EAAE;MACzC,IAAI,CAACK,KAAK,GAAGb,aAAa,CAACE,aAAa,CAACuB,KAAK,CAAC,CAAC;MAChD,IAAI,CAACX,SAAS,GAAG,CAAC;MAElB,OAAO,IAAI,CAACgB,YAAY,CAAC,CAAC;IAC5B;IAEA,IAAIJ,OAAO,KAAK5B,WAAW,CAACW,eAAe,EAAE;MAC3C,OAAO,IAAI,CAACsB,UAAU,CAAC7B,aAAa,CAACuB,KAAK,CAAC,CAAC;IAC9C;IAEA,IAAIC,OAAO,KAAK5B,WAAW,CAACY,cAAc,EAAE;MAC1C,OAAO,IAAI,CAACsB,WAAW,CAAC9B,aAAa,CAACuB,KAAK,CAAC,CAAC;IAC/C;IAEA,OAAO,IAAI,CAACQ,UAAU,CAAC,CAAC;EAC1B,CAAC;EAEOH,YAAY,GAAGA,CAAA,KAA4C;IACjE,MAAMf,IAAI,GAAG,IAAI,CAACF,KAAK,CAAC,IAAI,CAACC,SAAS,CAAC;IAEvC,IAAIC,IAAI,KAAKa,SAAS,EAAE;MACtB,IAAI,CAACT,MAAM,GAAG,IAAI;MAElB,OAAOS,SAAS;IAClB;IAEA,IAAI,CAACb,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,UAAU,GAAG,CAAC;IACnB,IAAI,CAACC,OAAO,GAAG,EAAE;IAEjB,OAAO,CACL,IAAI,CAACM,UAAU,CAACzB,WAAW,CAACW,eAAe,EAAE,CAC3C,GAAGV,aAAa,CAACgB,IAAI,CAAC,EACtB,GAAGlB,WAAW,CAAC,CAAC,CAAC,CAClB,CAAC,CACH;EACH,CAAC;;EAED;EACQkC,UAAU,GAChBG,OAA0B,IACe;IACzC,IAAI,CAAChB,aAAa,GAAG,IAAI;IACzB,IAAI,CAACF,UAAU,GAAGpB,WAAW,CAAC,CAAC,GAAGsC,OAAO,CAAC,EAAE7B,gBAAgB,CAAC;IAE7D,MAAM8B,KAAK,GAAG,IAAI,CAACd,MAAM,CAACe,YAAY,IAAI9B,cAAc;IAExD,IAAI,IAAI,CAACU,UAAU,GAAGmB,KAAK,EAAE;MAC3B,OAAO,IAAI,CAACN,IAAI,CACd,IAAI,IAAI,CAACd,IAAI,QAAQ,IAAI,CAACC,UAAU,yBAAyBmB,KAAK,0BACpE,CAAC;IACH;IAEA,IAAI,IAAI,CAACnB,UAAU,KAAK,CAAC,EAAE;MACzB,OAAO,IAAI,CAACqB,SAAS,CAAC,CAAC;IACzB;IAEA,OAAO,CACL,IAAI,CAACd,UAAU,CAACzB,WAAW,CAACY,cAAc,EAAEb,WAAW,CAAC,CAAC,CAAC,CAAC,CAC5D;EACH,CAAC;;EAED;AACF;AACA;AACA;AACA;EACUmC,WAAW,GACjBE,OAA0B,IACe;IACzC,IAAIA,OAAO,CAACI,MAAM,KAAK,CAAC,EAAE;MACxB,OAAO,IAAI,CAACT,IAAI,CACd,IAAI,IAAI,CAACd,IAAI,wBAAwB,IAAI,CAACE,OAAO,CAACqB,MAAM,OAAO,IAAI,CAACtB,UAAU,QAChF,CAAC;IACH;IAEA,IAAI,CAACC,OAAO,CAACsB,IAAI,CAAC,GAAGL,OAAO,CAAC;IAE7B,IAAI,CAACb,MAAM,CAACmB,UAAU,GAAG;MACvBzB,IAAI,EAAE,IAAI,CAACA,IAAI;MACf0B,aAAa,EAAE,IAAI,CAACxB,OAAO,CAACqB,MAAM;MAClCtB,UAAU,EAAE,IAAI,CAACA;IACnB,CAAC,CAAC;IAEF,IAAI,IAAI,CAACC,OAAO,CAACqB,MAAM,IAAI,IAAI,CAACtB,UAAU,EAAE;MAC1C,OAAO,IAAI,CAACqB,SAAS,CAAC,CAAC;IACzB;IAEA,OAAO,CACL,IAAI,CAACd,UAAU,CACbzB,WAAW,CAACY,cAAc,EAC1Bb,WAAW,CAAC,IAAI,CAACoB,OAAO,CAACqB,MAAM,CACjC,CAAC,CACF;EACH,CAAC;EAEOL,UAAU,GAAGA,CAAA,KAA4C;IAC/D,IAAI,CAACf,aAAa,GAAG,KAAK;IAE1B,IAAI,IAAI,CAACF,UAAU,GAAG,CAAC,IAAI,IAAI,CAACC,OAAO,CAACqB,MAAM,KAAK,IAAI,CAACtB,UAAU,EAAE;MAClE,OAAO,IAAI,CAACa,IAAI,CACd,IAAI,IAAI,CAACd,IAAI,cAAc,IAAI,CAACE,OAAO,CAACqB,MAAM,OAAO,IAAI,CAACtB,UAAU,QACtE,CAAC;IACH;IAEA,IAAI,IAAI,CAACA,UAAU,GAAG,CAAC,EAAE;MACvB,IAAI,CAACK,MAAM,CAACqB,MAAM,CAAC;QAAE3B,IAAI,EAAE,IAAI,CAACA,IAAI;QAAEE,OAAO,EAAE,IAAI,CAACA;MAAQ,CAAC,CAAC;IAChE;IAEA,IAAI,CAACH,SAAS,EAAE;IAEhB,OAAO,IAAI,CAACgB,YAAY,CAAC,CAAC;EAC5B,CAAC;EAEOO,SAAS,GAAGA,CAAA,KAAgC,CAClD,IAAI,CAACd,UAAU,CAACzB,WAAW,CAACa,aAAa,CAAC,CAC3C;;EAED;AACF;AACA;AACA;AACA;AACA;EACUkB,IAAI,GAAIc,MAAc,IAA2C;IACvE,IAAI,CAACtB,MAAM,CAACuB,OAAO,CAACD,MAAM,CAAC;IAC3B,IAAI,CAACxB,MAAM,GAAG,IAAI;IAElB,IAAI,CAAC,IAAI,CAACD,aAAa,EAAE;MACvB,OAAOU,SAAS;IAClB;IAEA,IAAI,CAACV,aAAa,GAAG,KAAK;IAE1B,OAAO,IAAI,CAACmB,SAAS,CAAC,CAAC;EACzB,CAAC;EAEOd,UAAU,GAAGA,CACnBG,OAAe,EACfQ,OAA0B,GAAG,EAAE,MACZ;IACnB,GAAG,IAAI,CAACb,MAAM,CAACwB,KAAK;IACpBpB,KAAK,EAAE,IAAI,CAACJ,MAAM,CAACyB,OAAO,CAACC,KAAK,CAACrB,OAAO,EAAEQ,OAAO;EACnD,CAAC,CAAC;AACJ;AAEA,SAAStB,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["le32FromHex","le32ToBytes","LepuCommand","lepuNameBytes","lepuNamesFrom","lepuCommandOf","lepuPayloadOf","describeLepuResponseType","isLepuSuccess","FILE_SIZE_OFFSET","MAX_FILE_BYTES","TRANSFER_COMMANDS","GET_FILE_LIST","READ_FILE_START","READ_FILE_DATA","READ_FILE_END","LepuFileTransfer","files","fileIndex","name","totalBytes","content","isSessionOpen","isDone","constructor","params","initialCommands","commandFor","nextCommand","frame","command","afterTransfer","includes","undefined","fail","openNextFile","openedFile","appendChunk","closedFile","skipFiles","has","payload","limit","maxFileBytes","closeFile","length","push","onProgress","receivedBytes","onFile","reason","onError","write","builder","build"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.file-transfer.ts"],"mappings":"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","ignoreList":[]}
@@ -111,6 +111,7 @@ const lepuDevice = params => {
111
111
  return defineCustomDevice({
112
112
  id: params.id ?? "lepu-device",
113
113
  nameMatch: params.nameMatch,
114
+ matchByService: params.nameMatch === undefined,
114
115
  stuckDataTimeoutMs: params.stuckDataTimeoutMs ?? DEFAULT_STUCK_TIMEOUT_MS,
115
116
  preferredMtu: transport.preferredMtu,
116
117
  lepu: {
@@ -1 +1 @@
1
- {"version":3,"names":["defineCustomDevice","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","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","viatomOxygen","protocol","id","nameMatch","stuckDataTimeoutMs","lepu","startBytes","requestStartByte","write","characteristicUuid","expectedDeviceTypes","fileTransfer","undefined","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":[]}
1
+ {"version":3,"names":["defineCustomDevice","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","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","viatomOxygen","protocol","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":";;AAEA,SAASA,kBAAkB,QAAQ,sCAAmC;;AAEtE;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,GAAG;EACrBC,QAAQ,EAAE;IACRC,WAAW,EAAElB,gBAAgB;IAC7BmB,UAAU,EAAEjB,eAAe;IAC3BkB,SAAS,EAAEnB,cAAc;IACzBoB,YAAY,EAAET;EAChB,CAAC;EAED;EACAU,gBAAgB,EAAE;IAChBJ,WAAW,EAAElB,gBAAgB;IAC7BmB,UAAU,EAAEjB,eAAe;IAC3BkB,SAAS,EAAEnB,cAAc;IACzBoB,YAAY,EAAER;EAChB,CAAC;EAEDU,GAAG,EAAE;IACHL,WAAW,EAAEf,WAAW;IACxBgB,UAAU,EAAEd,UAAU;IACtBe,SAAS,EAAEhB,SAAS;IACpBiB,YAAY,EAAET;EAChB,CAAC;EAEDY,IAAI,EAAE;IACJN,WAAW,EAAEZ,YAAY;IACzBa,UAAU,EAAEX,WAAW;IACvBY,SAAS,EAAEb,UAAU;IACrBc,YAAY,EAAET;EAChB,CAAC;EAEDa,MAAM,EAAE;IACNP,WAAW,EAAET,eAAe;IAC5BU,UAAU,EAAER,cAAc;IAC1BS,SAAS,EAAEV,aAAa;IACxBW,YAAY,EAAET;EAChB;AACF,CAAkD;AA8DlD,MAAMc,YAAY,GAAG,CAAC;AAEtB,MAAMC,UAAU,GAAIC,MAAwB,IAA6B;EACvE,MAAMC,SAAS,GAAGb,cAAc,CAACY,MAAM,CAACC,SAAS,IAAI,UAAU,CAAC;EAChE,MAAMC,YAAY,GAAGF,MAAM,CAACG,QAAQ,KAAK,eAAe;EAExD,OAAOhC,kBAAkB,CAAC;IACxBiC,EAAE,EAAEJ,MAAM,CAACI,EAAE,IAAI,aAAa;IAC9BC,SAAS,EAAEL,MAAM,CAACK,SAAS;IAC3BC,cAAc,EAAEN,MAAM,CAACK,SAAS,KAAKE,SAAS;IAC9CC,kBAAkB,EAAER,MAAM,CAACQ,kBAAkB,IAAItB,wBAAwB;IACzEO,YAAY,EAAEQ,SAAS,CAACR,YAAY;IACpCgB,IAAI,EAAE;MACJN,QAAQ,EAAEH,MAAM,CAACG,QAAQ;MACzBO,UAAU,EAAE,CAACR,YAAY,GAAG,IAAI,GAAGf,UAAU,CAAC;MAC9CwB,gBAAgB,EAAET,YAAY,GAAG,IAAI,GAAGf,UAAU;MAClDyB,KAAK,EAAE;QACLtB,WAAW,EAAEW,SAAS,CAACX,WAAW;QAClCuB,kBAAkB,EAAEZ,SAAS,CAACT;MAChC,CAAC;MACDsB,mBAAmB,EAAE,CAAC,IAAId,MAAM,CAACc,mBAAmB,IAAI,EAAE,CAAC,CAAC;MAC5D,IAAId,MAAM,CAACe,YAAY,KAAKR,SAAS,GACjC,CAAC,CAAC,GACF;QAAEQ,YAAY,EAAEf,MAAM,CAACe;MAAa,CAAC,CAAC;MAC1C,IAAIf,MAAM,CAACgB,WAAW,KAAKT,SAAS,GAChC,CAAC,CAAC,GACF;QAAES,WAAW,EAAEhB,MAAM,CAACgB;MAAY,CAAC,CAAC;MACxC,IAAIhB,MAAM,CAACiB,oBAAoB,KAAKV,SAAS,GACzC,CAAC,CAAC,GACF;QAAEU,oBAAoB,EAAEjB,MAAM,CAACiB;MAAqB,CAAC,CAAC;MAC1D,IAAIjB,MAAM,CAACkB,kBAAkB,KAAKX,SAAS,GACvC,CAAC,CAAC,GACF;QAAEW,kBAAkB,EAAElB,MAAM,CAACkB;MAAmB,CAAC;IACvD,CAAC;IACDC,QAAQ,EAAE,CACR;MACEC,IAAI,EAAEnB,SAAS,CAACX,WAAW;MAC3B+B,OAAO,EAAE,CACP;QACED,IAAI,EAAEnB,SAAS,CAACV,UAAU;QAC1B+B,KAAK,EAAE;UAAEC,cAAc,EAAEvB,MAAM,CAACuB;QAAe,CAAC;QAChDC,iBAAiB,EAAExB,MAAM,CAACwB,iBAAiB,IAAI,CAAC1B,YAAY,CAAC;QAC7D2B,KAAK,EAAEzB,MAAM,CAACyB;MAChB,CAAC;IAEL,CAAC;EAEL,CAAC,CAAC;AACJ,CAAC;AAED,SAAS1B,UAAU,EAAEX,cAAc","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ /* eslint-disable max-lines */
4
+
3
5
  import { MeasurementTypeKey } from "@ovok/core";
4
6
  import { declareProfile, littleEndian } from "./standard-gatt.profile.js";
5
7
 
@@ -69,9 +71,35 @@ const standardThermometerDevice = params => declareProfile(params, {
69
71
  characteristic: "2a1c",
70
72
  minLengthBytes: 5,
71
73
  measurementTypeKey: MeasurementTypeKey.temperature,
72
- /** Celsius, with and without the timestamp that follows the reading. */
73
- selectors: ["00", "02"],
74
- fields: [littleEndian("bodyTemp", [1, 2, 3, 4], "Cel", "float")]
74
+ /** All combinations of Fahrenheit, timestamp and temperature type flags. */
75
+ selectors: ["00", "02", "04", "06", "01", "03", "05", "07"],
76
+ fields: [littleEndian("bodyTemp", [1, 2, 3, 4], "Cel", "float")],
77
+ fieldsBySelector: {
78
+ "01": [{
79
+ ...littleEndian("bodyTemp", [1, 2, 3, 4], "Cel", "float"),
80
+ scale: 5 / 9,
81
+ offset: -160 / 9,
82
+ decimals: 2
83
+ }],
84
+ "03": [{
85
+ ...littleEndian("bodyTemp", [1, 2, 3, 4], "Cel", "float"),
86
+ scale: 5 / 9,
87
+ offset: -160 / 9,
88
+ decimals: 2
89
+ }],
90
+ "05": [{
91
+ ...littleEndian("bodyTemp", [1, 2, 3, 4], "Cel", "float"),
92
+ scale: 5 / 9,
93
+ offset: -160 / 9,
94
+ decimals: 2
95
+ }],
96
+ "07": [{
97
+ ...littleEndian("bodyTemp", [1, 2, 3, 4], "Cel", "float"),
98
+ scale: 5 / 9,
99
+ offset: -160 / 9,
100
+ decimals: 2
101
+ }]
102
+ }
75
103
  });
76
104
 
77
105
  /** The SI weight resolution the specification fixes at five grams per count. */
@@ -87,13 +115,25 @@ const standardWeightScaleDevice = params => declareProfile(params, {
87
115
  characteristic: "2a9d",
88
116
  minLengthBytes: 3,
89
117
  measurementTypeKey: MeasurementTypeKey.bodyWeight,
90
- /** Kilograms, with and without the timestamp that follows the reading. */
91
- selectors: ["00", "02"],
118
+ /** Unit, timestamp, user-id and BMI/height flags may all follow the value. */
119
+ selectors: Array.from({
120
+ length: 16
121
+ }, (_, flags) => flags.toString(16).padStart(2, "0")),
92
122
  fields: [{
93
123
  ...littleEndian("bodyWeight", [1, 2], "kg", "uint"),
94
124
  scale: WEIGHT_KG_PER_COUNT,
95
125
  decimals: 3
96
- }]
126
+ }],
127
+ fieldsBySelector: Object.fromEntries(Array.from({
128
+ length: 16
129
+ }, (_, flags) => {
130
+ const selector = flags.toString(16).padStart(2, "0");
131
+ return [selector, [{
132
+ ...littleEndian("bodyWeight", [1, 2], "kg", "uint"),
133
+ scale: flags & 1 ? 0.01 * 0.45359237 : WEIGHT_KG_PER_COUNT,
134
+ decimals: 3
135
+ }]];
136
+ }))
97
137
  });
98
138
 
99
139
  /**
@@ -114,22 +154,38 @@ const standardPulseOximeterDevice = params => declareProfile(params, {
114
154
  /**
115
155
  * Heart Rate Service 0x180D, Heart Rate Measurement 0x2A37.
116
156
  *
117
- * Only the eight-bit layout is declared. The sixteen-bit variant needs byte 2, which would
118
- * raise `minLengthBytes` to three and reject every eight-bit frame - the common case - so it
119
- * is left out rather than made to displace it.
157
+ * Both heart-rate layouts are declared. A contact-not-detected frame is idle, so it cannot
158
+ * become a false reading while the strap is off the body.
120
159
  */
121
160
  const standardHeartRateDevice = params => declareProfile(params, {
122
161
  service: "180d",
123
162
  characteristic: "2a37",
124
163
  minLengthBytes: 2,
125
164
  measurementTypeKey: MeasurementTypeKey.heartRate,
126
- selectors: ["00"],
165
+ selectors: Array.from({
166
+ length: 32
167
+ }, (_, flags) => flags).filter(flags => (flags & 0x06) !== 0x04).map(flags => flags.toString(16).padStart(2, "0")),
127
168
  fields: [{
128
169
  name: "heartRate",
129
170
  byteIndexes: [1],
130
171
  encoding: "uint",
131
172
  unit: "bpm"
132
- }]
173
+ }],
174
+ fieldsBySelector: Object.fromEntries(Array.from({
175
+ length: 32
176
+ }, (_, flags) => flags).filter(flags => (flags & 0x01) === 0x01).filter(flags => (flags & 0x06) !== 0x04).map(flags => [flags.toString(16).padStart(2, "0"), [{
177
+ name: "heartRate",
178
+ byteIndexes: [1, 2],
179
+ byteOrder: "little",
180
+ encoding: "uint",
181
+ unit: "bpm"
182
+ }]])),
183
+ optionalFields: Object.fromEntries(Array.from({
184
+ length: 32
185
+ }, (_, flags) => flags).filter(flags => (flags & 0x01) === 0x01).filter(flags => (flags & 0x06) !== 0x04).map(flags => [flags.toString(16).padStart(2, "0"), {
186
+ fields: [],
187
+ minLengthBytes: 3
188
+ }]))
133
189
  });
134
190
  export { standardBloodPressureDevice, standardHeartRateDevice, standardPulseOximeterDevice, standardThermometerDevice, standardWeightScaleDevice };
135
191
  //# sourceMappingURL=standard-gatt.devices.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","declareProfile","littleEndian","pulseAfterMeanPressure","fields","minLengthBytes","pulseAfterTimestamp","standardBloodPressureDevice","params","service","characteristic","measurementTypeKey","bloodPressure","selectors","optionalFields","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":["MeasurementTypeKey","declareProfile","littleEndian","pulseAfterMeanPressure","fields","minLengthBytes","pulseAfterTimestamp","standardBloodPressureDevice","params","service","characteristic","measurementTypeKey","bloodPressure","selectors","optionalFields","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":[]}