@ovok/native 1.2.0 → 1.4.0

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 (336) hide show
  1. package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js +9 -3
  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 +8 -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 +22 -22
  6. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  7. package/lib/commonjs/modules/bt-device/constants/device-list-items.js +36 -0
  8. package/lib/commonjs/modules/bt-device/constants/device-list-items.js.map +1 -1
  9. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js +36 -0
  10. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -0
  11. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js +45 -0
  12. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -0
  13. package/lib/commonjs/modules/bt-device/constants/supported-devices.js +198 -42
  14. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
  15. package/lib/commonjs/modules/bt-management/components/bluetooth-device-picker.js +88 -0
  16. package/lib/commonjs/modules/bt-management/components/bluetooth-device-picker.js.map +1 -0
  17. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +77 -10
  18. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  19. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js +1 -1
  20. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  21. package/lib/commonjs/modules/bt-management/index.js +77 -0
  22. package/lib/commonjs/modules/bt-management/index.js.map +1 -1
  23. package/lib/commonjs/modules/bt-management/services/background-sync/background-ble-manager.js +27 -0
  24. package/lib/commonjs/modules/bt-management/services/background-sync/background-ble-manager.js.map +1 -0
  25. package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js +31 -0
  26. package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -0
  27. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +104 -0
  28. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -0
  29. package/lib/commonjs/modules/bt-management/services/bt-manager.js +59 -6
  30. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  31. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +6 -2
  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 +19 -8
  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-command-builders.js +50 -0
  38. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-builders.js.map +1 -0
  39. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js +78 -127
  40. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js.map +1 -1
  41. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js +2 -0
  42. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
  43. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.frame-reader.js +60 -0
  44. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.frame-reader.js.map +1 -0
  45. package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +74 -0
  46. package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -0
  47. package/lib/commonjs/modules/bt-management/services/devices/boso/boso.medicus.js +1 -1
  48. package/lib/commonjs/modules/bt-management/services/devices/boso/boso.medicus.js.map +1 -1
  49. package/lib/commonjs/modules/bt-management/services/devices/bt-command-writer.js +3 -0
  50. package/lib/commonjs/modules/bt-management/services/devices/bt-command-writer.js.map +1 -1
  51. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +1 -1
  52. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  53. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +37 -4
  54. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  55. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  56. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +4 -1
  57. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  58. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +2 -1
  59. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
  60. package/lib/commonjs/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js +1 -1
  61. package/lib/commonjs/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js.map +1 -1
  62. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js +1 -1
  63. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js.map +1 -1
  64. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +1 -1
  65. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  66. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +35 -0
  67. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -0
  68. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +3 -2
  69. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  70. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.lepod.js +2 -1
  71. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.lepod.js.map +1 -1
  72. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js +1 -1
  73. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -1
  74. package/lib/commonjs/modules/bt-management/types/background-sync.js +6 -0
  75. package/lib/commonjs/modules/bt-management/types/background-sync.js.map +1 -0
  76. package/lib/commonjs/modules/bt-management/types/device-measurement-map.js.map +1 -1
  77. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js +11 -2
  78. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js.map +1 -1
  79. package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js +3 -1
  80. package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
  81. package/lib/commonjs/modules/data-sync/utils/get-total-samples-count.js +3 -1
  82. package/lib/commonjs/modules/data-sync/utils/get-total-samples-count.js.map +1 -1
  83. package/lib/commonjs/modules/data-sync/utils/health-units.js +22 -0
  84. package/lib/commonjs/modules/data-sync/utils/health-units.js.map +1 -0
  85. package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js +9 -3
  86. package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js.map +1 -1
  87. package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js +8 -2
  88. package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
  89. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js +1 -1
  90. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  91. package/lib/module/modules/bt-device/constants/device-list-items.js +36 -0
  92. package/lib/module/modules/bt-device/constants/device-list-items.js.map +1 -1
  93. package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js +33 -0
  94. package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -0
  95. package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js +41 -0
  96. package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -0
  97. package/lib/module/modules/bt-device/constants/supported-devices.js +188 -32
  98. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
  99. package/lib/module/modules/bt-management/components/bluetooth-device-picker.js +83 -0
  100. package/lib/module/modules/bt-management/components/bluetooth-device-picker.js.map +1 -0
  101. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +77 -10
  102. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  103. package/lib/module/modules/bt-management/constants/integrated-devices-map.js +1 -1
  104. package/lib/module/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  105. package/lib/module/modules/bt-management/index.js +7 -0
  106. package/lib/module/modules/bt-management/index.js.map +1 -1
  107. package/lib/module/modules/bt-management/services/background-sync/background-ble-manager.js +22 -0
  108. package/lib/module/modules/bt-management/services/background-sync/background-ble-manager.js.map +1 -0
  109. package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js +26 -0
  110. package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -0
  111. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +100 -0
  112. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -0
  113. package/lib/module/modules/bt-management/services/bt-manager.js +61 -7
  114. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  115. package/lib/module/modules/bt-management/services/custom/define-custom-device.js +6 -2
  116. package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  117. package/lib/module/modules/bt-management/services/device-creator.js +19 -8
  118. package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
  119. package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js +1 -1
  120. package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -1
  121. package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-builders.js +40 -0
  122. package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-builders.js.map +1 -0
  123. package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js +59 -109
  124. package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js.map +1 -1
  125. package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js +2 -0
  126. package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
  127. package/lib/module/modules/bt-management/services/devices/bc01/bc01.frame-reader.js +56 -0
  128. package/lib/module/modules/bt-management/services/devices/bc01/bc01.frame-reader.js.map +1 -0
  129. package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +69 -0
  130. package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -0
  131. package/lib/module/modules/bt-management/services/devices/boso/boso.medicus.js +1 -1
  132. package/lib/module/modules/bt-management/services/devices/boso/boso.medicus.js.map +1 -1
  133. package/lib/module/modules/bt-management/services/devices/bt-command-writer.js +3 -0
  134. package/lib/module/modules/bt-management/services/devices/bt-command-writer.js.map +1 -1
  135. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +1 -1
  136. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  137. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +36 -4
  138. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  139. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +2 -1
  140. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  141. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +4 -1
  142. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  143. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +2 -1
  144. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
  145. package/lib/module/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js +1 -1
  146. package/lib/module/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js.map +1 -1
  147. package/lib/module/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js +1 -1
  148. package/lib/module/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js.map +1 -1
  149. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +1 -1
  150. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  151. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +31 -0
  152. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -0
  153. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +3 -2
  154. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  155. package/lib/module/modules/bt-management/services/devices/viatom/viatom.lepod.js +2 -1
  156. package/lib/module/modules/bt-management/services/devices/viatom/viatom.lepod.js.map +1 -1
  157. package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js +1 -1
  158. package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -1
  159. package/lib/module/modules/bt-management/types/background-sync.js +4 -0
  160. package/lib/module/modules/bt-management/types/background-sync.js.map +1 -0
  161. package/lib/module/modules/bt-management/types/device-measurement-map.js.map +1 -1
  162. package/lib/module/modules/data-sync/services/managers/data-processor.js +11 -2
  163. package/lib/module/modules/data-sync/services/managers/data-processor.js.map +1 -1
  164. package/lib/module/modules/data-sync/utils/get-samples-from-health.js +3 -1
  165. package/lib/module/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
  166. package/lib/module/modules/data-sync/utils/get-total-samples-count.js +3 -1
  167. package/lib/module/modules/data-sync/utils/get-total-samples-count.js.map +1 -1
  168. package/lib/module/modules/data-sync/utils/health-units.js +17 -0
  169. package/lib/module/modules/data-sync/utils/health-units.js.map +1 -0
  170. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/apple-login-button.d.ts.map +1 -1
  171. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/google-login-button.d.ts.map +1 -1
  172. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts +1 -1
  173. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  174. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-list-items.d.ts.map +1 -1
  175. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +31 -0
  176. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -0
  177. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts +3 -0
  178. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -0
  179. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +36 -22
  180. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  181. package/lib/typescript/commonjs/src/modules/bt-management/components/bluetooth-device-picker.d.ts +11 -0
  182. package/lib/typescript/commonjs/src/modules/bt-management/components/bluetooth-device-picker.d.ts.map +1 -0
  183. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  184. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +7 -0
  185. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  186. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-ble-manager.d.ts +13 -0
  187. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-ble-manager.d.ts.map +1 -0
  188. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts +3 -0
  189. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts.map +1 -0
  190. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +29 -0
  191. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -0
  192. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +26 -3
  193. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  194. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  195. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts +1 -1
  196. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  197. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts +2 -2
  198. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts.map +1 -1
  199. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts +31 -0
  200. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts.map +1 -0
  201. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts +6 -5
  202. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts.map +1 -1
  203. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts +2 -0
  204. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts.map +1 -1
  205. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.frame-reader.d.ts +16 -0
  206. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.frame-reader.d.ts.map +1 -0
  207. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts +19 -0
  208. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -0
  209. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts +1 -1
  210. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts.map +1 -1
  211. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-command-writer.d.ts.map +1 -1
  212. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +1 -0
  213. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  214. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +3 -2
  215. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  216. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +3 -2
  217. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  218. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +2 -2
  219. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
  220. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts +1 -1
  221. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts.map +1 -1
  222. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts +1 -1
  223. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts.map +1 -1
  224. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts +1 -1
  225. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  226. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +9 -0
  227. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -0
  228. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +1 -1
  229. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  230. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts +1 -1
  231. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts.map +1 -1
  232. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts +1 -1
  233. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -1
  234. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +32 -0
  235. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -0
  236. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts +2 -0
  237. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  238. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +1 -0
  239. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  240. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts +6 -4
  241. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
  242. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +2 -0
  243. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  244. package/lib/typescript/commonjs/src/modules/bt-management/types/device-command.d.ts +5 -0
  245. package/lib/typescript/commonjs/src/modules/bt-management/types/device-command.d.ts.map +1 -1
  246. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +4 -4
  247. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  248. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  249. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
  250. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-total-samples-count.d.ts.map +1 -1
  251. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-units.d.ts +3 -0
  252. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-units.d.ts.map +1 -0
  253. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/apple-login-button.d.ts.map +1 -1
  254. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/google-login-button.d.ts.map +1 -1
  255. package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts +1 -1
  256. package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  257. package/lib/typescript/module/src/modules/bt-device/constants/device-list-items.d.ts.map +1 -1
  258. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +31 -0
  259. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -0
  260. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts +3 -0
  261. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -0
  262. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +36 -22
  263. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  264. package/lib/typescript/module/src/modules/bt-management/components/bluetooth-device-picker.d.ts +11 -0
  265. package/lib/typescript/module/src/modules/bt-management/components/bluetooth-device-picker.d.ts.map +1 -0
  266. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  267. package/lib/typescript/module/src/modules/bt-management/index.d.ts +7 -0
  268. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  269. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-ble-manager.d.ts +13 -0
  270. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-ble-manager.d.ts.map +1 -0
  271. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts +3 -0
  272. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts.map +1 -0
  273. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +29 -0
  274. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -0
  275. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +26 -3
  276. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  277. package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  278. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts +1 -1
  279. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  280. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts +2 -2
  281. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts.map +1 -1
  282. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts +31 -0
  283. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts.map +1 -0
  284. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts +6 -5
  285. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts.map +1 -1
  286. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts +2 -0
  287. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts.map +1 -1
  288. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.frame-reader.d.ts +16 -0
  289. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.frame-reader.d.ts.map +1 -0
  290. package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts +19 -0
  291. package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -0
  292. package/lib/typescript/module/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts +1 -1
  293. package/lib/typescript/module/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts.map +1 -1
  294. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-command-writer.d.ts.map +1 -1
  295. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +1 -0
  296. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  297. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +3 -2
  298. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  299. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +3 -2
  300. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  301. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +2 -2
  302. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
  303. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts +1 -1
  304. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts.map +1 -1
  305. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts +1 -1
  306. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts.map +1 -1
  307. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts +1 -1
  308. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  309. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +9 -0
  310. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -0
  311. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +1 -1
  312. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  313. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts +1 -1
  314. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts.map +1 -1
  315. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts +1 -1
  316. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -1
  317. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +32 -0
  318. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -0
  319. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts +2 -0
  320. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  321. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +1 -0
  322. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  323. package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts +6 -4
  324. package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
  325. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +2 -0
  326. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  327. package/lib/typescript/module/src/modules/bt-management/types/device-command.d.ts +5 -0
  328. package/lib/typescript/module/src/modules/bt-management/types/device-command.d.ts.map +1 -1
  329. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +4 -4
  330. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  331. package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  332. package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
  333. package/lib/typescript/module/src/modules/data-sync/utils/get-total-samples-count.d.ts.map +1 -1
  334. package/lib/typescript/module/src/modules/data-sync/utils/health-units.d.ts +3 -0
  335. package/lib/typescript/module/src/modules/data-sync/utils/health-units.d.ts.map +1 -0
  336. package/package.json +5 -3
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeBlePlx","_index","_sentryLogger","_deviceCreator","BTManager","MAX_DEVICES","devices","Map","eventSubscriptions","constructor","bleManager","acceptedDevices","deviceCreator","DeviceCreator","destroy","sentryLogger","stopScan","stateChangeListener","remove","undefined","onErrorCallback","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","forEach","device","clear","startScan","onStateChange","state","State","PoweredOn","index","indexOf","splice","startDeviceScan","scanMode","ScanMode","Balanced","onScanResult","Platform","OS","Linking","sendIntent","push","stopDeviceScan","sub","onDeviceFound","callback","onError","onDeviceStatusChanged","onResult","error","Error","message","slog","advertisedName","name","trim","localName","has","id","deviceName","getDeviceName","size","deviceId","currentSize","deviceClass","createDevice","bind","onDeviceDisconnected","removeDeviceFromFoundedDevices","set","get","delete","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeBlePlx","_index","_sentryLogger","_deviceCreator","BTManager","MAX_DEVICES","devices","Map","eventSubscriptions","autoConnectCandidates","constructor","bleManager","acceptedDevices","options","deviceCreator","DeviceCreator","backgroundScanEnabled","backgroundEnabled","destroy","sentryLogger","stopScan","autoConnectTimer","clearTimeout","undefined","stateChangeListener","remove","onErrorCallback","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","forEach","device","clear","startScan","onStateChange","state","State","PoweredOn","index","indexOf","splice","serviceUUIDs","Platform","OS","length","error","Promise","resolve","startDeviceScan","scanMode","ScanMode","LowPower","Balanced","onScanResult","catch","Error","String","Linking","sendIntent","push","setBackgroundScanEnabled","enabled","stopDeviceScan","sub","restoreDevices","onDeviceFound","callback","onError","onDeviceStatusChanged","onResult","message","slog","advertisedName","name","trim","localName","has","id","deviceName","getDeviceName","size","deviceId","currentSize","deviceClass","createDevice","bind","onDeviceDisconnected","removeDeviceFromFoundedDevices","set","queueAutoConnect","autoConnect","setTimeout","values","connect","onDeviceSelectionRequired","select","selected","Math","max","autoConnectDelayMs","get","delete","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":"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","ignoreList":[]}
@@ -20,7 +20,7 @@ const MAX_MTU = 517;
20
20
  const MAX_STUCK_TIMEOUT_MS = 6_000_000;
21
21
  const HEX_BYTES = /^([0-9a-f]{2})+$/;
22
22
  const assertIdentity = spec => {
23
- const id = typeof spec?.id === "string" ? spec.id.trim() : "";
23
+ const id = typeof spec?.id === "string" ? spec.id.trim() : "ovok-custom-device";
24
24
  if (!id) {
25
25
  throw (0, _customDeviceError.customDeviceError)(String(spec?.id), "id", "must not be empty");
26
26
  }
@@ -39,9 +39,12 @@ const compileNameMatch = (id, spec) => {
39
39
  return nameMatch;
40
40
  }
41
41
  const exact = typeof nameMatch === "string" ? nameMatch.trim() : "";
42
- if (!exact) {
42
+ if (typeof nameMatch === "string" && !exact) {
43
43
  throw (0, _customDeviceError.customDeviceError)(id, "nameMatch", "must not be empty");
44
44
  }
45
+ if (!exact) {
46
+ return /.*/;
47
+ }
45
48
  return new RegExp(`^${exact.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}$`);
46
49
  };
47
50
  const assertStuckTimeout = (id, spec) => {
@@ -127,6 +130,7 @@ const defineCustomDevice = spec => {
127
130
  id: id,
128
131
  spec,
129
132
  nameMatch,
133
+ matchByService: spec.matchByService === true,
130
134
  mainServices,
131
135
  stuckDataTimeout,
132
136
  fields,
@@ -1 +1 @@
1
- {"version":3,"names":["_customDeviceBrand","require","_integratedDevices","_compileCustomLepu","_compileCustomMonitor","_customDeviceError","_normalizeBleUuid","MIN_STUCK_TIMEOUT_MS","MIN_MTU","MAX_MTU","MAX_STUCK_TIMEOUT_MS","HEX_BYTES","assertIdentity","spec","id","trim","customDeviceError","String","builtIn","Object","values","IntegratedDevices","find","name","toLowerCase","compileNameMatch","nameMatch","RegExp","global","sticky","exact","replace","assertStuckTimeout","timeout","stuckDataTimeoutMs","Number","isInteger","assertPreferredMtu","mtu","preferredMtu","undefined","compileWrite","path","write","commandHex","test","uuid","normalizeBleUuid","mainCommandUuid","defineCustomDevice","stuckDataTimeout","Array","isArray","services","length","fields","Map","frames","seenCharacteristics","Set","mainServices","map","service","serviceIndex","monitor","monitorUuids","monitorIndex","monitorPath","characteristic","frame","compileCustomMonitor","has","add","set","writeUuid","lepu","compileCustomLepu","CUSTOM_DEVICE_BRAND","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/define-custom-device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_customDeviceBrand","require","_integratedDevices","_compileCustomLepu","_compileCustomMonitor","_customDeviceError","_normalizeBleUuid","MIN_STUCK_TIMEOUT_MS","MIN_MTU","MAX_MTU","MAX_STUCK_TIMEOUT_MS","HEX_BYTES","assertIdentity","spec","id","trim","customDeviceError","String","builtIn","Object","values","IntegratedDevices","find","name","toLowerCase","compileNameMatch","nameMatch","RegExp","global","sticky","exact","replace","assertStuckTimeout","timeout","stuckDataTimeoutMs","Number","isInteger","assertPreferredMtu","mtu","preferredMtu","undefined","compileWrite","path","write","commandHex","test","uuid","normalizeBleUuid","mainCommandUuid","defineCustomDevice","stuckDataTimeout","Array","isArray","services","length","fields","Map","frames","seenCharacteristics","Set","mainServices","map","service","serviceIndex","monitor","monitorUuids","monitorIndex","monitorPath","characteristic","frame","compileCustomMonitor","has","add","set","writeUuid","lepu","compileCustomLepu","CUSTOM_DEVICE_BRAND","matchByService","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/define-custom-device.ts"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,7 @@ var _integratedDevicesMap = require("../constants/integrated-devices-map.js");
8
8
  var _integratedDevices = require("../types/integrated-devices.js");
9
9
  var _isCustomDeviceDefinition = require("../utils/is-custom-device-definition.js");
10
10
  var _bc01Device = require("./devices/bc01/bc01.device.js");
11
+ var _bloodGlucoseDevice = require("./devices/blood-glucose/blood-glucose.device.js");
11
12
  var _bp2Device = require("./devices/bp2/bp2.device.js");
12
13
  var _customDevice = require("./devices/custom/custom.device.js");
13
14
  var _f4Device = require("./devices/f4/f4.device.js");
@@ -26,6 +27,9 @@ const DEVICE_CLASSES = {
26
27
  [_integratedDevices.IntegratedDevices.F4]: _f4Device.F4Device,
27
28
  [_integratedDevices.IntegratedDevices.PC60WF]: _spo2Device.SPO2Device,
28
29
  [_integratedDevices.IntegratedDevices.BC01]: _bc01Device.BC01Device,
30
+ [_integratedDevices.IntegratedDevices.TAIDOC_GLUCOSE]: _bloodGlucoseDevice.BloodGlucoseDevice,
31
+ [_integratedDevices.IntegratedDevices.GLUCOCHECK]: _bloodGlucoseDevice.BloodGlucoseDevice,
32
+ [_integratedDevices.IntegratedDevices.BGM]: _bloodGlucoseDevice.BloodGlucoseDevice,
29
33
  [_integratedDevices.IntegratedDevices.VEROVAL_DUO_CONTROL]: _verovalDuoControlDevice.VerovalDuoControlDevice,
30
34
  [_integratedDevices.IntegratedDevices.VEROVAL_ECG]: _verovalEcgDevice.VerovalEcgDevice
31
35
  };
@@ -42,11 +46,13 @@ const collectCustomDevices = acceptedDevices => {
42
46
  if (customDevices.has(entry.id)) {
43
47
  throw new Error(`acceptedDevices[${index}] registers the custom device "${entry.id}" twice`);
44
48
  }
45
- if (matchers.has(entry.nameMatch.source)) {
49
+ if (!entry.matchByService && matchers.has(entry.nameMatch.source)) {
46
50
  throw new Error(`acceptedDevices[${index}] ("${entry.id}") matches the same advertised name as an earlier custom device, so one would silently shadow the other`);
47
51
  }
48
52
  customDevices.set(entry.id, entry);
49
- matchers.add(entry.nameMatch.source);
53
+ if (!entry.matchByService) {
54
+ matchers.add(entry.nameMatch.source);
55
+ }
50
56
  });
51
57
  return customDevices;
52
58
  };
@@ -57,14 +63,18 @@ class DeviceCreator {
57
63
  this.acceptedDeviceNames = acceptedDeviceNames;
58
64
  this.customDevices = collectCustomDevices(acceptedDeviceNames);
59
65
  }
60
- getDeviceName = foundName => {
61
- if (!foundName) {
66
+ getDeviceName = (foundName, serviceUUIDs = []) => {
67
+ const normalizedServices = new Set(serviceUUIDs.map(uuid => uuid.toLowerCase()));
68
+ if (!foundName && normalizedServices.size === 0) {
62
69
  return undefined;
63
70
  }
71
+ if (!foundName && normalizedServices.size > 0) {
72
+ return this.matchDeviceName(foundName, normalizedServices);
73
+ }
64
74
  if (this.deviceNameCache.has(foundName)) {
65
75
  return this.deviceNameCache.get(foundName) ?? undefined;
66
76
  }
67
- const matched = this.matchDeviceName(foundName);
77
+ const matched = this.matchDeviceName(foundName, normalizedServices);
68
78
 
69
79
  // Cache the result (store null for non-matches to avoid repeated tests)
70
80
  this.cacheDeviceName(foundName, matched ?? null);
@@ -83,7 +93,7 @@ class DeviceCreator {
83
93
  * `localName` carries the advertised name instead. Accept either so a scan-time
84
94
  * `createDevice` call for a real iOS ad is not rejected before it can connect.
85
95
  */
86
- if (!params.device.name?.trim() && !params.device.localName?.trim()) {
96
+ if (!params.device.name?.trim() && !params.device.localName?.trim() && !this.customDevices.get(params.deviceName)?.matchByService) {
87
97
  throw new Error("Device name is required");
88
98
  }
89
99
  if (!params.device.id) {
@@ -110,14 +120,15 @@ class DeviceCreator {
110
120
  * A built-in device always wins over a declaration: its decoder is compiled and tested,
111
121
  * and a declaration that happens to match the same advertised name must not displace it.
112
122
  */
113
- matchDeviceName = deviceName => {
123
+ matchDeviceName = (deviceName, serviceUUIDs) => {
114
124
  for (const [regex, deviceType] of _integratedDevicesMap.integratedDevicesMap) {
115
125
  if (regex.test(deviceName) && this.acceptedDeviceNames.some(name => name === deviceType)) {
116
126
  return deviceType;
117
127
  }
118
128
  }
119
129
  for (const custom of this.customDevices.values()) {
120
- if (custom.nameMatch.test(deviceName)) {
130
+ const serviceMatch = custom.matchByService && custom.mainServices.some(service => serviceUUIDs.has(service.uuid.toLowerCase()));
131
+ if (serviceMatch || deviceName && custom.nameMatch.test(deviceName)) {
121
132
  return custom.id;
122
133
  }
123
134
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_integratedDevicesMap","require","_integratedDevices","_isCustomDeviceDefinition","_bc01Device","_bp2Device","_customDevice","_f4Device","_spo2Device","_verovalDuoControlDevice","_verovalEcgDevice","DEVICE_CLASSES","IntegratedDevices","BP2","BP2Device","F4","F4Device","PC60WF","SPO2Device","BC01","BC01Device","VEROVAL_DUO_CONTROL","VerovalDuoControlDevice","VEROVAL_ECG","VerovalEcgDevice","collectCustomDevices","acceptedDevices","customDevices","Map","matchers","Set","forEach","entry","index","isCustomDeviceDefinition","Error","has","id","nameMatch","source","set","add","DeviceCreator","deviceNameCache","CACHE_MAX_SIZE","constructor","acceptedDeviceNames","getDeviceName","foundName","undefined","get","matched","matchDeviceName","cacheDeviceName","createDevice","params","String","deviceName","trim","device","name","localName","custom","CustomDevice","deviceClass","Object","keys","join","destroy","clear","regex","deviceType","integratedDevicesMap","test","some","values","size","firstKey","next","value","delete","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/device-creator.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_integratedDevicesMap","require","_integratedDevices","_isCustomDeviceDefinition","_bc01Device","_bloodGlucoseDevice","_bp2Device","_customDevice","_f4Device","_spo2Device","_verovalDuoControlDevice","_verovalEcgDevice","DEVICE_CLASSES","IntegratedDevices","BP2","BP2Device","F4","F4Device","PC60WF","SPO2Device","BC01","BC01Device","TAIDOC_GLUCOSE","BloodGlucoseDevice","GLUCOCHECK","BGM","VEROVAL_DUO_CONTROL","VerovalDuoControlDevice","VEROVAL_ECG","VerovalEcgDevice","collectCustomDevices","acceptedDevices","customDevices","Map","matchers","Set","forEach","entry","index","isCustomDeviceDefinition","Error","has","id","matchByService","nameMatch","source","set","add","DeviceCreator","deviceNameCache","CACHE_MAX_SIZE","constructor","acceptedDeviceNames","getDeviceName","foundName","serviceUUIDs","normalizedServices","map","uuid","toLowerCase","size","undefined","matchDeviceName","get","matched","cacheDeviceName","createDevice","params","String","deviceName","trim","device","name","localName","custom","CustomDevice","deviceClass","Object","keys","join","destroy","clear","regex","deviceType","integratedDevicesMap","test","some","values","serviceMatch","mainServices","service","firstKey","next","value","delete","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/device-creator.ts"],"mappings":"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","ignoreList":[]}
@@ -48,7 +48,7 @@ const SPOT_CHECK_TIMEOUT_MS = 60_000;
48
48
  * measurement would post old readings as though they had just been taken.
49
49
  */
50
50
  const aoj20aThermometer = params => (0, _defineCustomDevice.defineCustomDevice)({
51
- id: params.id,
51
+ id: params.id ?? "aoj-20a-thermometer",
52
52
  nameMatch: params.nameMatch,
53
53
  stuckDataTimeoutMs: params.stuckDataTimeoutMs ?? SPOT_CHECK_TIMEOUT_MS,
54
54
  services: [{
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_defineCustomDevice","FRAME_HEADER","COMMAND_BYTE","FRAME_BYTES","CHECKSUM_INDEX","CHECKSUM_FROM","PAYLOAD","TEMPERATURE_REPLY","TEMPERATURE_SCALE","TEMPERATURE_DECIMALS","SPOT_CHECK_TIMEOUT_MS","aoj20aThermometer","params","defineCustomDevice","id","nameMatch","stuckDataTimeoutMs","services","uuid","monitor","frame","header","minLengthBytes","checksum","algorithm","index","from","caseSelectorBytes","cases","selector","kind","measurementTypeKey","MeasurementTypeKey","temperature","fields","name","byteIndexes","byteOrder","unit","scale","decimals","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/aoj/aoj.thermometers.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGA,IAAAC,mBAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAME,YAAY,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAEjC,MAAMC,YAAY,GAAG,CAAC;;AAEtB;AACA,MAAMC,WAAW,GAAG,CAAC;AACrB,MAAMC,cAAc,GAAG,CAAC;;AAExB;AACA,MAAMC,aAAa,GAAG,CAAC;AAEvB,MAAMC,OAAO,GAAG,CAAC;;AAEjB;AACA,MAAMC,iBAAiB,GAAG,IAAI;;AAE9B;AACA,MAAMC,iBAAiB,GAAG,IAAI;AAC9B,MAAMC,oBAAoB,GAAG,CAAC;AAE9B,MAAMC,qBAAqB,GAAG,MAAM;AAapC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,iBAAiB,GAC5BC,MAAuB,IAEvB,IAAAC,sCAAkB,EAAC;EACjBC,EAAE,EAAEF,MAAM,CAACE,EAAE;EACbC,SAAS,EAAEH,MAAM,CAACG,SAAS;EAC3BC,kBAAkB,EAAEJ,MAAM,CAACI,kBAAkB,IAAIN,qBAAqB;EACtEO,QAAQ,EAAE,CACR;IACEC,IAAI,EAAE,MAAM;IACZC,OAAO,EAAE,CACP;MACED,IAAI,EAAE,MAAM;MACZE,KAAK,EAAE;QACLC,MAAM,EAAEpB,YAAY;QACpBqB,cAAc,EAAEnB,WAAW;QAC3BoB,QAAQ,EAAE;UACRC,SAAS,EAAE,KAAK;UAChBC,KAAK,EAAErB,cAAc;UACrBsB,IAAI,EAAErB;QACR;MACF,CAAC;MACDsB,iBAAiB,EAAE,CAACzB,YAAY,CAAC;MACjC0B,KAAK,EAAE,CACL;QACEC,QAAQ,EAAEtB,iBAAiB;QAC3BuB,IAAI,EAAE,QAAQ;QACdC,kBAAkB,EAAEC,wBAAkB,CAACC,WAAW;QAClDC,MAAM,EAAE,CACN;UACEC,IAAI,EAAE,UAAU;UAChBC,WAAW,EAAE,CAAC9B,OAAO,EAAEA,OAAO,GAAG,CAAC,CAAC;UACnC+B,SAAS,EAAE,KAAK;UAChBC,IAAI,EAAE,KAAK;UACXC,KAAK,EAAE/B,iBAAiB;UACxBgC,QAAQ,EAAE/B;QACZ,CAAC;MAEL,CAAC;IAEL,CAAC;EAEL,CAAC;AAEL,CAAC,CAAC;AAACgC,OAAA,CAAA9B,iBAAA,GAAAA,iBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_defineCustomDevice","FRAME_HEADER","COMMAND_BYTE","FRAME_BYTES","CHECKSUM_INDEX","CHECKSUM_FROM","PAYLOAD","TEMPERATURE_REPLY","TEMPERATURE_SCALE","TEMPERATURE_DECIMALS","SPOT_CHECK_TIMEOUT_MS","aoj20aThermometer","params","defineCustomDevice","id","nameMatch","stuckDataTimeoutMs","services","uuid","monitor","frame","header","minLengthBytes","checksum","algorithm","index","from","caseSelectorBytes","cases","selector","kind","measurementTypeKey","MeasurementTypeKey","temperature","fields","name","byteIndexes","byteOrder","unit","scale","decimals","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/aoj/aoj.thermometers.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGA,IAAAC,mBAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAME,YAAY,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAEjC,MAAMC,YAAY,GAAG,CAAC;;AAEtB;AACA,MAAMC,WAAW,GAAG,CAAC;AACrB,MAAMC,cAAc,GAAG,CAAC;;AAExB;AACA,MAAMC,aAAa,GAAG,CAAC;AAEvB,MAAMC,OAAO,GAAG,CAAC;;AAEjB;AACA,MAAMC,iBAAiB,GAAG,IAAI;;AAE9B;AACA,MAAMC,iBAAiB,GAAG,IAAI;AAC9B,MAAMC,oBAAoB,GAAG,CAAC;AAE9B,MAAMC,qBAAqB,GAAG,MAAM;AAapC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,iBAAiB,GAC5BC,MAAuB,IAEvB,IAAAC,sCAAkB,EAAC;EACjBC,EAAE,EAAEF,MAAM,CAACE,EAAE,IAAI,qBAAqB;EACtCC,SAAS,EAAEH,MAAM,CAACG,SAAS;EAC3BC,kBAAkB,EAAEJ,MAAM,CAACI,kBAAkB,IAAIN,qBAAqB;EACtEO,QAAQ,EAAE,CACR;IACEC,IAAI,EAAE,MAAM;IACZC,OAAO,EAAE,CACP;MACED,IAAI,EAAE,MAAM;MACZE,KAAK,EAAE;QACLC,MAAM,EAAEpB,YAAY;QACpBqB,cAAc,EAAEnB,WAAW;QAC3BoB,QAAQ,EAAE;UACRC,SAAS,EAAE,KAAK;UAChBC,KAAK,EAAErB,cAAc;UACrBsB,IAAI,EAAErB;QACR;MACF,CAAC;MACDsB,iBAAiB,EAAE,CAACzB,YAAY,CAAC;MACjC0B,KAAK,EAAE,CACL;QACEC,QAAQ,EAAEtB,iBAAiB;QAC3BuB,IAAI,EAAE,QAAQ;QACdC,kBAAkB,EAAEC,wBAAkB,CAACC,WAAW;QAClDC,MAAM,EAAE,CACN;UACEC,IAAI,EAAE,UAAU;UAChBC,WAAW,EAAE,CAAC9B,OAAO,EAAEA,OAAO,GAAG,CAAC,CAAC;UACnC+B,SAAS,EAAE,KAAK;UAChBC,IAAI,EAAE,KAAK;UACXC,KAAK,EAAE/B,iBAAiB;UACxBgC,QAAQ,EAAE/B;QACZ,CAAC;MAEL,CAAC;IAEL,CAAC;EAEL,CAAC;AAEL,CAAC,CAAC;AAACgC,OAAA,CAAA9B,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.buildSetTimeCommand = exports.buildResetCommand = exports.buildRequestVersionCommand = exports.buildDeleteCommand = exports.buildCommand = exports.bc401Checksum = exports.asHex = exports.RX = exports.RETRY_RECORD_GROUP = exports.RESET_DELAY_MS = exports.REQUEST_NEXT_RECORD_GROUP = exports.REQUEST_ALL = exports.RECORD_LAST_OF_SET_BIT = exports.RECORD_FLAGS_INDEX = exports.OP_REQUEST_RECORDS = exports.OP_REQUEST_QUANTITATIVE_RECORDS = exports.OP_REQUEST_COUNT = exports.FINAL_RECORD_DELAY_MS = exports.ACK_LAST_OF_SET = void 0;
7
+ /** Wire constants and frame builders shared by the BC401 command sequencer. */
8
+ const OP_RESET = 0x80;
9
+ const OP_REQUEST_VERSION = 0x82;
10
+ const OP_SET_TIME = 0x83;
11
+ const OP_REQUEST_COUNT = exports.OP_REQUEST_COUNT = 0x90;
12
+ const OP_REQUEST_RECORDS = exports.OP_REQUEST_RECORDS = 0x92;
13
+ const OP_REQUEST_QUANTITATIVE_RECORDS = exports.OP_REQUEST_QUANTITATIVE_RECORDS = 0x95;
14
+ const ACK_LAST_OF_SET = exports.ACK_LAST_OF_SET = 0x7e;
15
+ const REQUEST_ALL = exports.REQUEST_ALL = 0x00;
16
+ const REQUEST_NEXT_RECORD_GROUP = exports.REQUEST_NEXT_RECORD_GROUP = 0x01;
17
+ const RETRY_RECORD_GROUP = exports.RETRY_RECORD_GROUP = 0x02;
18
+ const FINAL_RECORD_DELAY_MS = exports.FINAL_RECORD_DELAY_MS = 200;
19
+ const RESET_DELAY_MS = exports.RESET_DELAY_MS = 100;
20
+ const RX = exports.RX = {
21
+ ACK: 0xf0,
22
+ VERSION_REPLY: 0xf2,
23
+ TIME_SYNC_ACK: 0xf3,
24
+ COUNT_REPLY: 0xe0,
25
+ STORED_RECORD_URS: 0xe1,
26
+ STORED_RECORD_PAGED: 0xe2,
27
+ FINISH: 0xe3,
28
+ STORED_QUANTITATIVE: 0xe4,
29
+ STORED_QUANTITATIVE_PAGED: 0xe5
30
+ };
31
+ const RECORD_FLAGS_INDEX = exports.RECORD_FLAGS_INDEX = 1;
32
+ const RECORD_LAST_OF_SET_BIT = exports.RECORD_LAST_OF_SET_BIT = 0x40;
33
+ const asHex = byte => (byte & 0xff).toString(16).padStart(2, "0");
34
+ exports.asHex = asHex;
35
+ const bc401Checksum = bytes => bytes.reduce((acc, byte) => acc + (byte & 0x7f), 0) & 0x7f;
36
+ exports.bc401Checksum = bc401Checksum;
37
+ const buildCommand = (opcode, arg) => [opcode, arg, bc401Checksum([opcode, arg])];
38
+ exports.buildCommand = buildCommand;
39
+ const buildResetCommand = () => [OP_RESET, 0x00];
40
+ exports.buildResetCommand = buildResetCommand;
41
+ const buildRequestVersionCommand = () => [OP_REQUEST_VERSION, bc401Checksum([OP_REQUEST_VERSION])];
42
+ exports.buildRequestVersionCommand = buildRequestVersionCommand;
43
+ const buildSetTimeCommand = now => {
44
+ const payload = [OP_SET_TIME, now.getFullYear() - 2000, now.getMonth() + 1, now.getDate(), now.getHours(), now.getMinutes(), now.getSeconds(), now.getMilliseconds() & 0xff, now.getMilliseconds() >> 8 & 0xff];
45
+ return [...payload, bc401Checksum(payload)];
46
+ };
47
+ exports.buildSetTimeCommand = buildSetTimeCommand;
48
+ const buildDeleteCommand = () => [0x93, 0x13];
49
+ exports.buildDeleteCommand = buildDeleteCommand;
50
+ //# sourceMappingURL=bc01-command-builders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["OP_RESET","OP_REQUEST_VERSION","OP_SET_TIME","OP_REQUEST_COUNT","exports","OP_REQUEST_RECORDS","OP_REQUEST_QUANTITATIVE_RECORDS","ACK_LAST_OF_SET","REQUEST_ALL","REQUEST_NEXT_RECORD_GROUP","RETRY_RECORD_GROUP","FINAL_RECORD_DELAY_MS","RESET_DELAY_MS","RX","ACK","VERSION_REPLY","TIME_SYNC_ACK","COUNT_REPLY","STORED_RECORD_URS","STORED_RECORD_PAGED","FINISH","STORED_QUANTITATIVE","STORED_QUANTITATIVE_PAGED","RECORD_FLAGS_INDEX","RECORD_LAST_OF_SET_BIT","asHex","byte","toString","padStart","bc401Checksum","bytes","reduce","acc","buildCommand","opcode","arg","buildResetCommand","buildRequestVersionCommand","buildSetTimeCommand","now","payload","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","buildDeleteCommand"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bc01/bc01-command-builders.ts"],"mappings":"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","ignoreList":[]}
@@ -5,102 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.bc01CommandSequencerInternals = exports.Bc01CommandSequencer = void 0;
7
7
  var _hexToByte = require("../../../utils/hex-to-byte.js");
8
- /**
9
- * The FF01/FF02 opcodes the BC401 firmware speaks, as reverse-engineered from
10
- * PHMS 3.0.03 (`I1/b.java` for the switch, `B3/B5.java` for the builders and
11
- * checksum, `L1/f.java` for the reset write).
12
- */
13
- const OP_RESET = 0x80;
14
- const OP_REQUEST_VERSION = 0x82;
15
- const OP_SET_TIME = 0x83;
16
- const OP_REQUEST_COUNT = 0x90;
17
- const OP_REQUEST_RECORDS = 0x92;
18
-
19
- /** Payload byte for `OP_REQUEST_RECORDS` that acknowledges the last record of the set. */
20
- const ACK_LAST_OF_SET = 0x7e;
21
-
22
- /** Payload byte for `OP_REQUEST_COUNT` and the initial `OP_REQUEST_RECORDS`. */
23
- const REQUEST_ALL = 0x00;
24
-
25
- /**
26
- * Device-to-host frame prefixes the FSM keys on. Values are decimal opcodes as
27
- * they appear in the decompiled Java (`switch(bArr[0])`), rendered here as
28
- * their real hex opcodes.
29
- */
30
- const RX = {
31
- ACK: 0xf0,
32
- VERSION_REPLY: 0xf2,
33
- TIME_SYNC_ACK: 0xf3,
34
- COUNT_REPLY: 0xe0,
35
- STORED_RECORD_URS: 0xe1,
36
- STORED_RECORD_PAGED: 0xe2,
37
- FINISH: 0xe3
38
- };
39
-
40
- /** Position in a 16-byte URS record where the flags byte sits; bit 0x40 marks the last of a set. */
41
- const RECORD_FLAGS_INDEX = 1;
42
- const RECORD_LAST_OF_SET_BIT = 0x40;
43
- /**
44
- * Formats one byte as a two-digit lowercase hex string, matching the way the
45
- * SDK's transport already spells raw bytes.
46
- */
47
- const asHex = byte => (byte & 0xff).toString(16).padStart(2, "0");
48
-
49
- /**
50
- * BC401 checksum: sum of the low 7 bits of every byte, folded back into 7 bits.
51
- * Matches `B5.a` in the decompiled Java exactly.
52
- */
53
- const bc401Checksum = bytes => bytes.reduce((acc, byte) => acc + (byte & 0x7f), 0) & 0x7f;
54
-
55
- /**
56
- * Builds a "one payload byte plus checksum" command frame. This is the shape
57
- * of every BC401 host-to-device command that carries an argument: opcode,
58
- * argument, checksum-over-both.
59
- */
60
- const buildCommand = (opcode, arg) => {
61
- const chk = bc401Checksum([opcode, arg]);
62
- return [opcode, arg, chk];
63
- };
64
-
65
- /**
66
- * Builds the two-byte reset frame. It is the one command that does not carry
67
- * an argument or a checksum — PHMS writes it as `[0x80, 0x00]` verbatim
68
- * (`L1/f.java:694`).
69
- */
70
- const buildResetCommand = () => [OP_RESET, 0x00];
71
-
72
- /**
73
- * Builds the request-version reply. The Java sends it as `[0x82, 0x02]` where
74
- * `0x02` doubles as the checksum of `0x82` under the BC401 rule
75
- * (`0x82 & 0x7f = 0x02`), so the same formula that guards every other command
76
- * produces the right byte here.
77
- */
78
- const buildRequestVersionCommand = () => {
79
- const chk = bc401Checksum([OP_REQUEST_VERSION]);
80
- return [OP_REQUEST_VERSION, chk];
81
- };
82
-
83
- /**
84
- * Builds the `SET_TIME` frame for the moment the sequencer receives it. The
85
- * device does not run its own clock across power cycles, so timestamps on
86
- * stored records only make sense once the app tells it what "now" is.
87
- * Millisecond field is written little-endian, matching `I1/b.java`.
88
- */
89
- const buildSetTimeCommand = now => {
90
- const yy = now.getFullYear() - 2000;
91
- const mo = now.getMonth() + 1;
92
- const dd = now.getDate();
93
- const hh = now.getHours();
94
- const mi = now.getMinutes();
95
- const ss = now.getSeconds();
96
- const ms = now.getMilliseconds();
97
- const msLo = ms & 0xff;
98
- const msHi = ms >> 8 & 0xff;
99
- const payload = [OP_SET_TIME, yy, mo, dd, hh, mi, ss, msLo, msHi];
100
- const chk = bc401Checksum(payload);
101
- return [...payload, chk];
102
- };
103
-
8
+ var _bc01CommandBuilders = require("./bc01-command-builders.js");
104
9
  /**
105
10
  * Walks the BC401 through its post-reset handshake and pulls every stored
106
11
  * record.
@@ -121,64 +26,110 @@ const buildSetTimeCommand = now => {
121
26
  class Bc01CommandSequencer {
122
27
  isDone = false;
123
28
 
29
+ /** Ten standard pages per request group; 10 means a new group. */
30
+ standardPage = 10;
31
+
32
+ /** Five quantitative pages per request group; 5 means a new group. */
33
+ quantitativePage = 5;
34
+
124
35
  /** Injectable for tests; production reads `Date.now()`. */
125
36
 
126
37
  constructor(params, clock = () => new Date()) {
127
38
  this.params = params;
128
39
  this.clock = clock;
129
40
  }
130
- initialCommands = () => [this.commandFor(buildResetCommand())];
41
+ initialCommands = () => [this.commandFor((0, _bc01CommandBuilders.buildResetCommand)(), _bc01CommandBuilders.RESET_DELAY_MS)];
131
42
  nextCommand = frame => {
132
43
  if (this.isDone || frame.length === 0) {
133
44
  return undefined;
134
45
  }
135
46
  const opcode = (0, _hexToByte.hexToByte)(frame[0] ?? "0");
136
47
  switch (opcode) {
137
- case RX.ACK:
138
- return [this.commandFor(buildRequestVersionCommand())];
139
- case RX.VERSION_REPLY:
140
- return [this.commandFor(buildSetTimeCommand(this.clock()))];
141
- case RX.TIME_SYNC_ACK:
142
- return [this.commandFor(buildCommand(OP_REQUEST_COUNT, REQUEST_ALL))];
143
- case RX.COUNT_REPLY:
144
- return [this.commandFor(buildCommand(OP_REQUEST_RECORDS, REQUEST_ALL))];
145
- case RX.STORED_RECORD_URS:
146
- case RX.STORED_RECORD_PAGED:
147
- return this.answerStoredRecord(frame);
148
- case RX.FINISH:
48
+ case _bc01CommandBuilders.RX.ACK:
49
+ return [this.commandFor((0, _bc01CommandBuilders.buildRequestVersionCommand)())];
50
+ case _bc01CommandBuilders.RX.VERSION_REPLY:
51
+ return [this.commandFor((0, _bc01CommandBuilders.buildSetTimeCommand)(this.clock()))];
52
+ case _bc01CommandBuilders.RX.TIME_SYNC_ACK:
53
+ return [this.commandFor((0, _bc01CommandBuilders.buildCommand)(_bc01CommandBuilders.OP_REQUEST_COUNT, _bc01CommandBuilders.REQUEST_ALL))];
54
+ case _bc01CommandBuilders.RX.COUNT_REPLY:
55
+ return [this.commandFor((0, _bc01CommandBuilders.buildCommand)(_bc01CommandBuilders.OP_REQUEST_RECORDS, _bc01CommandBuilders.REQUEST_ALL))];
56
+ case _bc01CommandBuilders.RX.STORED_RECORD_URS:
57
+ case _bc01CommandBuilders.RX.STORED_RECORD_PAGED:
58
+ return this.answerStoredRecord(opcode, frame);
59
+ case _bc01CommandBuilders.RX.STORED_QUANTITATIVE:
60
+ case _bc01CommandBuilders.RX.STORED_QUANTITATIVE_PAGED:
61
+ return this.answerQuantitativeRecord(opcode, frame);
62
+ case _bc01CommandBuilders.RX.FINISH:
149
63
  this.isDone = true;
150
64
  return undefined;
151
65
  default:
152
66
  return undefined;
153
67
  }
154
68
  };
155
-
156
- /**
157
- * The device pages every record it holds, one 16-byte frame at a time. Only
158
- * the frame whose flags byte carries `0x40` needs an acknowledgement; every
159
- * other page is a status update we let ride while the transfer continues.
160
- */
161
- answerStoredRecord = frame => {
162
- const flags = (0, _hexToByte.hexToByte)(frame[RECORD_FLAGS_INDEX] ?? "0");
163
- if ((flags & RECORD_LAST_OF_SET_BIT) === 0) {
69
+ answerStoredRecord = (opcode, frame) => {
70
+ const flags = (0, _hexToByte.hexToByte)(frame[_bc01CommandBuilders.RECORD_FLAGS_INDEX] ?? "0");
71
+ if (opcode === _bc01CommandBuilders.RX.STORED_RECORD_URS) {
72
+ return this.finishStoredRecords(_bc01CommandBuilders.OP_REQUEST_RECORDS);
73
+ }
74
+ const page = flags & 0x0f;
75
+ if (this.standardPage === 10) {
76
+ this.standardPage = 0;
77
+ }
78
+ if (page !== this.standardPage) {
79
+ this.standardPage = 10;
80
+ return [this.commandFor((0, _bc01CommandBuilders.buildCommand)(_bc01CommandBuilders.OP_REQUEST_RECORDS, _bc01CommandBuilders.RETRY_RECORD_GROUP))];
81
+ }
82
+ this.standardPage += 1;
83
+ if (this.standardPage === 10 && (flags & _bc01CommandBuilders.RECORD_LAST_OF_SET_BIT) === 0) {
84
+ return [this.commandFor((0, _bc01CommandBuilders.buildCommand)(_bc01CommandBuilders.OP_REQUEST_RECORDS, _bc01CommandBuilders.REQUEST_NEXT_RECORD_GROUP))];
85
+ }
86
+ if ((flags & _bc01CommandBuilders.RECORD_LAST_OF_SET_BIT) === 0) {
164
87
  return undefined;
165
88
  }
166
- return [this.commandFor(buildCommand(OP_REQUEST_RECORDS, ACK_LAST_OF_SET))];
89
+ this.standardPage = 10;
90
+ return this.finishStoredRecords(_bc01CommandBuilders.OP_REQUEST_RECORDS);
91
+ };
92
+ answerQuantitativeRecord = (opcode, frame) => {
93
+ const flags = (0, _hexToByte.hexToByte)(frame[_bc01CommandBuilders.RECORD_FLAGS_INDEX] ?? "0");
94
+ if (opcode === _bc01CommandBuilders.RX.STORED_QUANTITATIVE) {
95
+ return this.finishStoredRecords(_bc01CommandBuilders.OP_REQUEST_QUANTITATIVE_RECORDS);
96
+ }
97
+ const page = flags & 0x0f;
98
+ if (this.quantitativePage === 5) {
99
+ this.quantitativePage = 0;
100
+ }
101
+ if (page !== this.quantitativePage) {
102
+ this.quantitativePage = 5;
103
+ return [this.commandFor((0, _bc01CommandBuilders.buildCommand)(_bc01CommandBuilders.OP_REQUEST_QUANTITATIVE_RECORDS, _bc01CommandBuilders.RETRY_RECORD_GROUP))];
104
+ }
105
+ this.quantitativePage += 1;
106
+ if (this.quantitativePage === 5 && (flags & _bc01CommandBuilders.RECORD_LAST_OF_SET_BIT) === 0) {
107
+ return [this.commandFor((0, _bc01CommandBuilders.buildCommand)(_bc01CommandBuilders.OP_REQUEST_QUANTITATIVE_RECORDS, _bc01CommandBuilders.REQUEST_NEXT_RECORD_GROUP))];
108
+ }
109
+ if ((flags & _bc01CommandBuilders.RECORD_LAST_OF_SET_BIT) === 0) {
110
+ return undefined;
111
+ }
112
+ this.quantitativePage = 5;
113
+ return this.finishStoredRecords(_bc01CommandBuilders.OP_REQUEST_QUANTITATIVE_RECORDS);
114
+ };
115
+ finishStoredRecords = opcode => {
116
+ this.isDone = true;
117
+ return [this.commandFor((0, _bc01CommandBuilders.buildCommand)(opcode, _bc01CommandBuilders.ACK_LAST_OF_SET)), this.commandFor((0, _bc01CommandBuilders.buildDeleteCommand)(), _bc01CommandBuilders.FINAL_RECORD_DELAY_MS)];
167
118
  };
168
- commandFor = bytes => ({
119
+ commandFor = (bytes, delayBeforeWriteMs = 0) => ({
169
120
  ...this.params.write,
170
- frame: bytes.map(asHex),
171
- withoutResponse: true
121
+ frame: bytes.map(_bc01CommandBuilders.asHex),
122
+ delayBeforeWriteMs
172
123
  });
173
124
  }
174
125
 
175
126
  // eslint-disable-next-line import/group-exports
176
127
  exports.Bc01CommandSequencer = Bc01CommandSequencer;
177
128
  const bc01CommandSequencerInternals = exports.bc01CommandSequencerInternals = {
178
- bc401Checksum,
179
- buildCommand,
180
- buildResetCommand,
181
- buildRequestVersionCommand,
182
- buildSetTimeCommand
129
+ bc401Checksum: _bc01CommandBuilders.bc401Checksum,
130
+ buildCommand: _bc01CommandBuilders.buildCommand,
131
+ buildResetCommand: _bc01CommandBuilders.buildResetCommand,
132
+ buildRequestVersionCommand: _bc01CommandBuilders.buildRequestVersionCommand,
133
+ buildSetTimeCommand: _bc01CommandBuilders.buildSetTimeCommand
183
134
  };
184
135
  //# sourceMappingURL=bc01-command-sequencer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_hexToByte","require","OP_RESET","OP_REQUEST_VERSION","OP_SET_TIME","OP_REQUEST_COUNT","OP_REQUEST_RECORDS","ACK_LAST_OF_SET","REQUEST_ALL","RX","ACK","VERSION_REPLY","TIME_SYNC_ACK","COUNT_REPLY","STORED_RECORD_URS","STORED_RECORD_PAGED","FINISH","RECORD_FLAGS_INDEX","RECORD_LAST_OF_SET_BIT","asHex","byte","toString","padStart","bc401Checksum","bytes","reduce","acc","buildCommand","opcode","arg","chk","buildResetCommand","buildRequestVersionCommand","buildSetTimeCommand","now","yy","getFullYear","mo","getMonth","dd","getDate","hh","getHours","mi","getMinutes","ss","getSeconds","ms","getMilliseconds","msLo","msHi","payload","Bc01CommandSequencer","isDone","constructor","params","clock","Date","initialCommands","commandFor","nextCommand","frame","length","undefined","hexToByte","answerStoredRecord","flags","write","map","withoutResponse","exports","bc01CommandSequencerInternals"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bc01/bc01-command-sequencer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_hexToByte","require","_bc01CommandBuilders","Bc01CommandSequencer","isDone","standardPage","quantitativePage","constructor","params","clock","Date","initialCommands","commandFor","buildResetCommand","RESET_DELAY_MS","nextCommand","frame","length","undefined","opcode","hexToByte","RX","ACK","buildRequestVersionCommand","VERSION_REPLY","buildSetTimeCommand","TIME_SYNC_ACK","buildCommand","OP_REQUEST_COUNT","REQUEST_ALL","COUNT_REPLY","OP_REQUEST_RECORDS","STORED_RECORD_URS","STORED_RECORD_PAGED","answerStoredRecord","STORED_QUANTITATIVE","STORED_QUANTITATIVE_PAGED","answerQuantitativeRecord","FINISH","flags","RECORD_FLAGS_INDEX","finishStoredRecords","page","RETRY_RECORD_GROUP","RECORD_LAST_OF_SET_BIT","REQUEST_NEXT_RECORD_GROUP","OP_REQUEST_QUANTITATIVE_RECORDS","ACK_LAST_OF_SET","buildDeleteCommand","FINAL_RECORD_DELAY_MS","bytes","delayBeforeWriteMs","write","map","asHex","exports","bc01CommandSequencerInternals","bc401Checksum"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bc01/bc01-command-sequencer.ts"],"mappings":";;;;;;AAEA,IAAAA,UAAA,GAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAD,OAAA;AAmCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,oBAAoB,CAA6B;EACpDC,MAAM,GAAG,KAAK;;EAEtB;EACQC,YAAY,GAAG,EAAE;;EAEzB;EACQC,gBAAgB,GAAG,CAAC;;EAE5B;;EAGOC,WAAWA,CACCC,MAA2B,EAC5CC,KAAiB,GAAGA,CAAA,KAAM,IAAIC,IAAI,CAAC,CAAC,EACpC;IAAA,KAFiBF,MAA2B,GAA3BA,MAA2B;IAG5C,IAAI,CAACC,KAAK,GAAGA,KAAK;EACpB;EAEOE,eAAe,GAAGA,CAAA,KAAgC,CACvD,IAAI,CAACC,UAAU,CAAC,IAAAC,sCAAiB,EAAC,CAAC,EAAEC,mCAAc,CAAC,CACrD;EAEMC,WAAW,GAChBC,KAAwB,IACiB;IACzC,IAAI,IAAI,CAACZ,MAAM,IAAIY,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;MACrC,OAAOC,SAAS;IAClB;IAEA,MAAMC,MAAM,GAAG,IAAAC,oBAAS,EAACJ,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IAEzC,QAAQG,MAAM;MACZ,KAAKE,uBAAE,CAACC,GAAG;QACT,OAAO,CAAC,IAAI,CAACV,UAAU,CAAC,IAAAW,+CAA0B,EAAC,CAAC,CAAC,CAAC;MAExD,KAAKF,uBAAE,CAACG,aAAa;QACnB,OAAO,CAAC,IAAI,CAACZ,UAAU,CAAC,IAAAa,wCAAmB,EAAC,IAAI,CAAChB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;MAE7D,KAAKY,uBAAE,CAACK,aAAa;QACnB,OAAO,CACL,IAAI,CAACd,UAAU,CAAC,IAAAe,iCAAY,EAACC,qCAAgB,EAAEC,gCAAW,CAAC,CAAC,CAC7D;MAEH,KAAKR,uBAAE,CAACS,WAAW;QACjB,OAAO,CACL,IAAI,CAAClB,UAAU,CAAC,IAAAe,iCAAY,EAACI,uCAAkB,EAAEF,gCAAW,CAAC,CAAC,CAC/D;MAEH,KAAKR,uBAAE,CAACW,iBAAiB;MACzB,KAAKX,uBAAE,CAACY,mBAAmB;QACzB,OAAO,IAAI,CAACC,kBAAkB,CAACf,MAAM,EAAEH,KAAK,CAAC;MAE/C,KAAKK,uBAAE,CAACc,mBAAmB;MAC3B,KAAKd,uBAAE,CAACe,yBAAyB;QAC/B,OAAO,IAAI,CAACC,wBAAwB,CAAClB,MAAM,EAAEH,KAAK,CAAC;MAErD,KAAKK,uBAAE,CAACiB,MAAM;QACZ,IAAI,CAAClC,MAAM,GAAG,IAAI;QAElB,OAAOc,SAAS;MAElB;QACE,OAAOA,SAAS;IACpB;EACF,CAAC;EAEOgB,kBAAkB,GAAGA,CAC3Bf,MAAc,EACdH,KAAwB,KACiB;IACzC,MAAMuB,KAAK,GAAG,IAAAnB,oBAAS,EAACJ,KAAK,CAACwB,uCAAkB,CAAC,IAAI,GAAG,CAAC;IAEzD,IAAIrB,MAAM,KAAKE,uBAAE,CAACW,iBAAiB,EAAE;MACnC,OAAO,IAAI,CAACS,mBAAmB,CAACV,uCAAkB,CAAC;IACrD;IAEA,MAAMW,IAAI,GAAGH,KAAK,GAAG,IAAI;IAEzB,IAAI,IAAI,CAAClC,YAAY,KAAK,EAAE,EAAE;MAC5B,IAAI,CAACA,YAAY,GAAG,CAAC;IACvB;IAEA,IAAIqC,IAAI,KAAK,IAAI,CAACrC,YAAY,EAAE;MAC9B,IAAI,CAACA,YAAY,GAAG,EAAE;MAEtB,OAAO,CACL,IAAI,CAACO,UAAU,CACb,IAAAe,iCAAY,EAACI,uCAAkB,EAAEY,uCAAkB,CACrD,CAAC,CACF;IACH;IAEA,IAAI,CAACtC,YAAY,IAAI,CAAC;IAEtB,IACE,IAAI,CAACA,YAAY,KAAK,EAAE,IACxB,CAACkC,KAAK,GAAGK,2CAAsB,MAAM,CAAC,EACtC;MACA,OAAO,CACL,IAAI,CAAChC,UAAU,CACb,IAAAe,iCAAY,EAACI,uCAAkB,EAAEc,8CAAyB,CAC5D,CAAC,CACF;IACH;IAEA,IAAI,CAACN,KAAK,GAAGK,2CAAsB,MAAM,CAAC,EAAE;MAC1C,OAAO1B,SAAS;IAClB;IAEA,IAAI,CAACb,YAAY,GAAG,EAAE;IAEtB,OAAO,IAAI,CAACoC,mBAAmB,CAACV,uCAAkB,CAAC;EACrD,CAAC;EAEOM,wBAAwB,GAAGA,CACjClB,MAAc,EACdH,KAAwB,KACiB;IACzC,MAAMuB,KAAK,GAAG,IAAAnB,oBAAS,EAACJ,KAAK,CAACwB,uCAAkB,CAAC,IAAI,GAAG,CAAC;IAEzD,IAAIrB,MAAM,KAAKE,uBAAE,CAACc,mBAAmB,EAAE;MACrC,OAAO,IAAI,CAACM,mBAAmB,CAACK,oDAA+B,CAAC;IAClE;IAEA,MAAMJ,IAAI,GAAGH,KAAK,GAAG,IAAI;IAEzB,IAAI,IAAI,CAACjC,gBAAgB,KAAK,CAAC,EAAE;MAC/B,IAAI,CAACA,gBAAgB,GAAG,CAAC;IAC3B;IAEA,IAAIoC,IAAI,KAAK,IAAI,CAACpC,gBAAgB,EAAE;MAClC,IAAI,CAACA,gBAAgB,GAAG,CAAC;MAEzB,OAAO,CACL,IAAI,CAACM,UAAU,CACb,IAAAe,iCAAY,EAACmB,oDAA+B,EAAEH,uCAAkB,CAClE,CAAC,CACF;IACH;IAEA,IAAI,CAACrC,gBAAgB,IAAI,CAAC;IAE1B,IACE,IAAI,CAACA,gBAAgB,KAAK,CAAC,IAC3B,CAACiC,KAAK,GAAGK,2CAAsB,MAAM,CAAC,EACtC;MACA,OAAO,CACL,IAAI,CAAChC,UAAU,CACb,IAAAe,iCAAY,EACVmB,oDAA+B,EAC/BD,8CACF,CACF,CAAC,CACF;IACH;IAEA,IAAI,CAACN,KAAK,GAAGK,2CAAsB,MAAM,CAAC,EAAE;MAC1C,OAAO1B,SAAS;IAClB;IAEA,IAAI,CAACZ,gBAAgB,GAAG,CAAC;IAEzB,OAAO,IAAI,CAACmC,mBAAmB,CAACK,oDAA+B,CAAC;EAClE,CAAC;EAEOL,mBAAmB,GAAItB,MAAc,IAA+B;IAC1E,IAAI,CAACf,MAAM,GAAG,IAAI;IAElB,OAAO,CACL,IAAI,CAACQ,UAAU,CAAC,IAAAe,iCAAY,EAACR,MAAM,EAAE4B,oCAAe,CAAC,CAAC,EACtD,IAAI,CAACnC,UAAU,CAAC,IAAAoC,uCAAkB,EAAC,CAAC,EAAEC,0CAAqB,CAAC,CAC7D;EACH,CAAC;EAEOrC,UAAU,GAAGA,CACnBsC,KAAwB,EACxBC,kBAAkB,GAAG,CAAC,MACH;IACnB,GAAG,IAAI,CAAC3C,MAAM,CAAC4C,KAAK;IACpBpC,KAAK,EAAEkC,KAAK,CAACG,GAAG,CAACC,0BAAK,CAAC;IACvBH;EACF,CAAC,CAAC;AACJ;;AAEA;AAAAI,OAAA,CAAApD,oBAAA,GAAAA,oBAAA;AACO,MAAMqD,6BAA6B,GAAAD,OAAA,CAAAC,6BAAA,GAAG;EAC3CC,aAAa,EAAbA,kCAAa;EACb9B,YAAY,EAAZA,iCAAY;EACZd,iBAAiB,EAAjBA,sCAAiB;EACjBU,0BAA0B,EAA1BA,+CAA0B;EAC1BE,mBAAmB,EAAnBA;AACF,CAAC","ignoreList":[]}