@ovok/native 1.6.43 → 1.6.45

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 (194) hide show
  1. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js +8 -1
  2. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  3. package/lib/commonjs/modules/bt-device/constants/supported-devices.js +41 -0
  4. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
  5. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js +1 -1
  6. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  7. package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js +3 -0
  8. package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -1
  9. package/lib/commonjs/modules/bt-management/services/device-creator.js +15 -1
  10. package/lib/commonjs/modules/bt-management/services/device-creator.js.map +1 -1
  11. package/lib/commonjs/modules/bt-management/services/devices/f4/f4.device.js.map +1 -1
  12. package/lib/commonjs/modules/bt-management/services/devices/f5/f5-scale.device.js +46 -0
  13. package/lib/commonjs/modules/bt-management/services/devices/f5/f5-scale.device.js.map +1 -0
  14. package/lib/commonjs/modules/bt-management/services/devices/f5/f5-scale.protocol.js +79 -0
  15. package/lib/commonjs/modules/bt-management/services/devices/f5/f5-scale.protocol.js.map +1 -0
  16. package/lib/commonjs/modules/bt-management/services/devices/f5/f5-scale.sequencer.js +37 -0
  17. package/lib/commonjs/modules/bt-management/services/devices/f5/f5-scale.sequencer.js.map +1 -0
  18. package/lib/commonjs/modules/bt-management/services/devices/viatom/bioland.bgm.device.js +50 -0
  19. package/lib/commonjs/modules/bt-management/services/devices/viatom/bioland.bgm.device.js.map +1 -0
  20. package/lib/commonjs/modules/bt-management/services/devices/viatom/bioland.bgm.protocol.js +115 -0
  21. package/lib/commonjs/modules/bt-management/services/devices/viatom/bioland.bgm.protocol.js.map +1 -0
  22. package/lib/commonjs/modules/bt-management/services/devices/viatom/bioland.bgm.sequencer.js +58 -0
  23. package/lib/commonjs/modules/bt-management/services/devices/viatom/bioland.bgm.sequencer.js.map +1 -0
  24. package/lib/commonjs/modules/bt-management/services/devices/viatom/poctor.m3102.device.js +41 -0
  25. package/lib/commonjs/modules/bt-management/services/devices/viatom/poctor.m3102.device.js.map +1 -0
  26. package/lib/commonjs/modules/bt-management/services/devices/viatom/poctor.m3102.protocol.js +61 -0
  27. package/lib/commonjs/modules/bt-management/services/devices/viatom/poctor.m3102.protocol.js.map +1 -0
  28. package/lib/commonjs/modules/bt-management/services/devices/viatom/poctor.m3102.sequencer.js +41 -0
  29. package/lib/commonjs/modules/bt-management/services/devices/viatom/poctor.m3102.sequencer.js.map +1 -0
  30. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bpm188.device.js +50 -0
  31. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bpm188.device.js.map +1 -0
  32. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bpm188.protocol.js +141 -0
  33. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bpm188.protocol.js.map +1 -0
  34. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bpm188.sequencer.js +76 -0
  35. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bpm188.sequencer.js.map +1 -0
  36. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.pc100.device.js +50 -0
  37. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.pc100.device.js.map +1 -0
  38. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.pc100.protocol.js +149 -0
  39. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.pc100.protocol.js.map +1 -0
  40. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.pc100.sequencer.js +81 -0
  41. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.pc100.sequencer.js.map +1 -0
  42. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.pc300.device.js +50 -0
  43. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.pc300.device.js.map +1 -0
  44. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.pc300.protocol.js +228 -0
  45. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.pc300.protocol.js.map +1 -0
  46. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.pc300.sequencer.js +122 -0
  47. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.pc300.sequencer.js.map +1 -0
  48. package/lib/commonjs/modules/bt-management/types/integrated-devices.js +7 -0
  49. package/lib/commonjs/modules/bt-management/types/integrated-devices.js.map +1 -1
  50. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js +8 -1
  51. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  52. package/lib/module/modules/bt-device/constants/supported-devices.js +41 -0
  53. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
  54. package/lib/module/modules/bt-management/constants/integrated-devices-map.js +1 -1
  55. package/lib/module/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  56. package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js +3 -0
  57. package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -1
  58. package/lib/module/modules/bt-management/services/device-creator.js +15 -1
  59. package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
  60. package/lib/module/modules/bt-management/services/devices/f4/f4.device.js.map +1 -1
  61. package/lib/module/modules/bt-management/services/devices/f5/f5-scale.device.js +41 -0
  62. package/lib/module/modules/bt-management/services/devices/f5/f5-scale.device.js.map +1 -0
  63. package/lib/module/modules/bt-management/services/devices/f5/f5-scale.protocol.js +71 -0
  64. package/lib/module/modules/bt-management/services/devices/f5/f5-scale.protocol.js.map +1 -0
  65. package/lib/module/modules/bt-management/services/devices/f5/f5-scale.sequencer.js +32 -0
  66. package/lib/module/modules/bt-management/services/devices/f5/f5-scale.sequencer.js.map +1 -0
  67. package/lib/module/modules/bt-management/services/devices/viatom/bioland.bgm.device.js +45 -0
  68. package/lib/module/modules/bt-management/services/devices/viatom/bioland.bgm.device.js.map +1 -0
  69. package/lib/module/modules/bt-management/services/devices/viatom/bioland.bgm.protocol.js +106 -0
  70. package/lib/module/modules/bt-management/services/devices/viatom/bioland.bgm.protocol.js.map +1 -0
  71. package/lib/module/modules/bt-management/services/devices/viatom/bioland.bgm.sequencer.js +53 -0
  72. package/lib/module/modules/bt-management/services/devices/viatom/bioland.bgm.sequencer.js.map +1 -0
  73. package/lib/module/modules/bt-management/services/devices/viatom/poctor.m3102.device.js +36 -0
  74. package/lib/module/modules/bt-management/services/devices/viatom/poctor.m3102.device.js.map +1 -0
  75. package/lib/module/modules/bt-management/services/devices/viatom/poctor.m3102.protocol.js +55 -0
  76. package/lib/module/modules/bt-management/services/devices/viatom/poctor.m3102.protocol.js.map +1 -0
  77. package/lib/module/modules/bt-management/services/devices/viatom/poctor.m3102.sequencer.js +36 -0
  78. package/lib/module/modules/bt-management/services/devices/viatom/poctor.m3102.sequencer.js.map +1 -0
  79. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bpm188.device.js +45 -0
  80. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bpm188.device.js.map +1 -0
  81. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bpm188.protocol.js +130 -0
  82. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bpm188.protocol.js.map +1 -0
  83. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bpm188.sequencer.js +71 -0
  84. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bpm188.sequencer.js.map +1 -0
  85. package/lib/module/modules/bt-management/services/devices/viatom/viatom.pc100.device.js +45 -0
  86. package/lib/module/modules/bt-management/services/devices/viatom/viatom.pc100.device.js.map +1 -0
  87. package/lib/module/modules/bt-management/services/devices/viatom/viatom.pc100.protocol.js +136 -0
  88. package/lib/module/modules/bt-management/services/devices/viatom/viatom.pc100.protocol.js.map +1 -0
  89. package/lib/module/modules/bt-management/services/devices/viatom/viatom.pc100.sequencer.js +76 -0
  90. package/lib/module/modules/bt-management/services/devices/viatom/viatom.pc100.sequencer.js.map +1 -0
  91. package/lib/module/modules/bt-management/services/devices/viatom/viatom.pc300.device.js +45 -0
  92. package/lib/module/modules/bt-management/services/devices/viatom/viatom.pc300.device.js.map +1 -0
  93. package/lib/module/modules/bt-management/services/devices/viatom/viatom.pc300.protocol.js +209 -0
  94. package/lib/module/modules/bt-management/services/devices/viatom/viatom.pc300.protocol.js.map +1 -0
  95. package/lib/module/modules/bt-management/services/devices/viatom/viatom.pc300.sequencer.js +117 -0
  96. package/lib/module/modules/bt-management/services/devices/viatom/viatom.pc300.sequencer.js.map +1 -0
  97. package/lib/module/modules/bt-management/types/device-measurement-map.js.map +1 -1
  98. package/lib/module/modules/bt-management/types/integrated-devices.js +7 -0
  99. package/lib/module/modules/bt-management/types/integrated-devices.js.map +1 -1
  100. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  101. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  102. package/lib/typescript/commonjs/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
  103. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts.map +1 -1
  104. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  105. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/f4/f4.device.d.ts +5 -3
  106. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/f4/f4.device.d.ts.map +1 -1
  107. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/f5/f5-scale.device.d.ts +16 -0
  108. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/f5/f5-scale.device.d.ts.map +1 -0
  109. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/f5/f5-scale.protocol.d.ts +21 -0
  110. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/f5/f5-scale.protocol.d.ts.map +1 -0
  111. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/f5/f5-scale.sequencer.d.ts +22 -0
  112. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/f5/f5-scale.sequencer.d.ts.map +1 -0
  113. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/bioland.bgm.device.d.ts +16 -0
  114. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/bioland.bgm.device.d.ts.map +1 -0
  115. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/bioland.bgm.protocol.d.ts +26 -0
  116. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/bioland.bgm.protocol.d.ts.map +1 -0
  117. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/bioland.bgm.sequencer.d.ts +24 -0
  118. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/bioland.bgm.sequencer.d.ts.map +1 -0
  119. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/poctor.m3102.device.d.ts +15 -0
  120. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/poctor.m3102.device.d.ts.map +1 -0
  121. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/poctor.m3102.protocol.d.ts +16 -0
  122. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/poctor.m3102.protocol.d.ts.map +1 -0
  123. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/poctor.m3102.sequencer.d.ts +17 -0
  124. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/poctor.m3102.sequencer.d.ts.map +1 -0
  125. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bpm188.device.d.ts +16 -0
  126. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bpm188.device.d.ts.map +1 -0
  127. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bpm188.protocol.d.ts +36 -0
  128. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bpm188.protocol.d.ts.map +1 -0
  129. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bpm188.sequencer.d.ts +26 -0
  130. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bpm188.sequencer.d.ts.map +1 -0
  131. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.pc100.device.d.ts +16 -0
  132. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.pc100.device.d.ts.map +1 -0
  133. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.pc100.protocol.d.ts +43 -0
  134. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.pc100.protocol.d.ts.map +1 -0
  135. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.pc100.sequencer.d.ts +26 -0
  136. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.pc100.sequencer.d.ts.map +1 -0
  137. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.pc300.device.d.ts +16 -0
  138. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.pc300.device.d.ts.map +1 -0
  139. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.pc300.protocol.d.ts +73 -0
  140. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.pc300.protocol.d.ts.map +1 -0
  141. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.pc300.sequencer.d.ts +25 -0
  142. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.pc300.sequencer.d.ts.map +1 -0
  143. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +8 -1
  144. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  145. package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts +8 -1
  146. package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
  147. package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  148. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  149. package/lib/typescript/module/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
  150. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts.map +1 -1
  151. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  152. package/lib/typescript/module/src/modules/bt-management/services/devices/f4/f4.device.d.ts +5 -3
  153. package/lib/typescript/module/src/modules/bt-management/services/devices/f4/f4.device.d.ts.map +1 -1
  154. package/lib/typescript/module/src/modules/bt-management/services/devices/f5/f5-scale.device.d.ts +16 -0
  155. package/lib/typescript/module/src/modules/bt-management/services/devices/f5/f5-scale.device.d.ts.map +1 -0
  156. package/lib/typescript/module/src/modules/bt-management/services/devices/f5/f5-scale.protocol.d.ts +21 -0
  157. package/lib/typescript/module/src/modules/bt-management/services/devices/f5/f5-scale.protocol.d.ts.map +1 -0
  158. package/lib/typescript/module/src/modules/bt-management/services/devices/f5/f5-scale.sequencer.d.ts +22 -0
  159. package/lib/typescript/module/src/modules/bt-management/services/devices/f5/f5-scale.sequencer.d.ts.map +1 -0
  160. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/bioland.bgm.device.d.ts +16 -0
  161. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/bioland.bgm.device.d.ts.map +1 -0
  162. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/bioland.bgm.protocol.d.ts +26 -0
  163. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/bioland.bgm.protocol.d.ts.map +1 -0
  164. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/bioland.bgm.sequencer.d.ts +24 -0
  165. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/bioland.bgm.sequencer.d.ts.map +1 -0
  166. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/poctor.m3102.device.d.ts +15 -0
  167. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/poctor.m3102.device.d.ts.map +1 -0
  168. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/poctor.m3102.protocol.d.ts +16 -0
  169. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/poctor.m3102.protocol.d.ts.map +1 -0
  170. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/poctor.m3102.sequencer.d.ts +17 -0
  171. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/poctor.m3102.sequencer.d.ts.map +1 -0
  172. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bpm188.device.d.ts +16 -0
  173. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bpm188.device.d.ts.map +1 -0
  174. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bpm188.protocol.d.ts +36 -0
  175. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bpm188.protocol.d.ts.map +1 -0
  176. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bpm188.sequencer.d.ts +26 -0
  177. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bpm188.sequencer.d.ts.map +1 -0
  178. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.pc100.device.d.ts +16 -0
  179. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.pc100.device.d.ts.map +1 -0
  180. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.pc100.protocol.d.ts +43 -0
  181. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.pc100.protocol.d.ts.map +1 -0
  182. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.pc100.sequencer.d.ts +26 -0
  183. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.pc100.sequencer.d.ts.map +1 -0
  184. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.pc300.device.d.ts +16 -0
  185. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.pc300.device.d.ts.map +1 -0
  186. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.pc300.protocol.d.ts +73 -0
  187. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.pc300.protocol.d.ts.map +1 -0
  188. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.pc300.sequencer.d.ts +25 -0
  189. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.pc300.sequencer.d.ts.map +1 -0
  190. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +8 -1
  191. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  192. package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts +8 -1
  193. package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
  194. package/package.json +1 -1
@@ -2,5 +2,5 @@
2
2
 
3
3
  import { lepuNameMatch } from "../services/devices/lepu/lepu.name-match.js";
4
4
  import { IntegratedDevices } from "../types/integrated-devices.js";
5
- export const integratedDevicesMap = new Map([[/^BP2 \d{4}$/, IntegratedDevices.BP2], [/^F4$/, IntegratedDevices.F4], [/^Oxyfit \d{4}$/, IntegratedDevices.SPO2], [/^mySense$/, IntegratedDevices.MYSENSE], [/^OxySmart \d{4}$/, IntegratedDevices.PC60WF], [/^AOJ-20A$/, IntegratedDevices.AOJ20A], [/^TAIDOC TD4216(?: \w+)?$/, IntegratedDevices.TAIDOC_GLUCOSE], [/^GlucoCheck Gold$/, IntegratedDevices.GLUCOCHECK], [/^FORA IR20$/, IntegratedDevices.FORATEMP], [/^TEMP$/, IntegratedDevices.ANDESFITTEMP], [/^two$/, IntegratedDevices.COSINUSS], [/^cmed$/, IntegratedDevices.CMED], [/^(?:BC01\d{4}|BC401BT)$/i, IntegratedDevices.BC01], [/^FORA W550$/, IntegratedDevices.FORA_SCALE], [/^GBS-2012-B$/, IntegratedDevices.RPM_SCALE], [/^TAIDOC TD1107$/, IntegratedDevices.CLEVERTEMP], [/^PULMO80BEXPGC\d{6}$/, IntegratedDevices.SP80B], [/^Le S5$/, IntegratedDevices.S5], [/^TeleBGM Gen1 BLE$/, IntegratedDevices.BGM], [/^Veroval duo control$/i, IntegratedDevices.VEROVAL_DUO_CONTROL], [/^Veroval ECG$/i, IntegratedDevices.VEROVAL_ECG], [/^Veroval Activity(?: Tracker)?$/i, IntegratedDevices.VEROVAL_ACTIVITY], [/^Genial-T31$/i, IntegratedDevices.GENIAL_T31], [/^ZH-SG-A606(?: |$)/i, IntegratedDevices.ZH_SG_A606], [/^BPW1(?: |$)/i, IntegratedDevices.BPW1], [/^Checkme Pod-WPS(?: |$)/i, IntegratedDevices.CHECKME_POD_WPS], [/^Checkme Pod(?: |$)/i, IntegratedDevices.CHECKME_POD], [/^AP-20-WPS(?: |$)/i, IntegratedDevices.AP20_WPS], [/^AP-20(?: |$)/i, IntegratedDevices.AP20], [/^PC-68B(?: |$)/i, IntegratedDevices.PC68B], [lepuNameMatch("Checkme"), IntegratedDevices.CHECKME]]);
5
+ export const integratedDevicesMap = new Map([[/^BP2 \d{4}$/, IntegratedDevices.BP2], [/^F4$/, IntegratedDevices.F4], [/^(?:F8|Lescale (?:F3|F4P|P3))(?: |$)/i, IntegratedDevices.LEPU_F4_SCALE], [/^Le S5$/, IntegratedDevices.S5], [/^(?:F5|MY_SCALE)(?: |$)/, IntegratedDevices.LEPU_F5_SCALE], [/^Oxyfit \d{4}$/, IntegratedDevices.SPO2], [/^mySense$/, IntegratedDevices.MYSENSE], [/^OxySmart \d{4}$/, IntegratedDevices.PC60WF], [/^AOJ-20A$/, IntegratedDevices.AOJ20A], [/^TAIDOC TD4216(?: \w+)?$/, IntegratedDevices.TAIDOC_GLUCOSE], [/^GlucoCheck Gold$/, IntegratedDevices.GLUCOCHECK], [/^FORA IR20$/, IntegratedDevices.FORATEMP], [/^TEMP$/, IntegratedDevices.ANDESFITTEMP], [/^two$/, IntegratedDevices.COSINUSS], [/^cmed$/, IntegratedDevices.CMED], [/^(?:BC01\d{4}|BC401BT)$/i, IntegratedDevices.BC01], [/^FORA W550$/, IntegratedDevices.FORA_SCALE], [/^GBS-2012-B$/, IntegratedDevices.RPM_SCALE], [/^TAIDOC TD1107$/, IntegratedDevices.CLEVERTEMP], [/^PULMO80BEXPGC\d{6}$/, IntegratedDevices.SP80B], [/^TeleBGM Gen1 BLE$/, IntegratedDevices.BGM], [/^Veroval duo control$/i, IntegratedDevices.VEROVAL_DUO_CONTROL], [/^Veroval ECG$/i, IntegratedDevices.VEROVAL_ECG], [/^Veroval Activity(?: Tracker)?$/i, IntegratedDevices.VEROVAL_ACTIVITY], [/^Genial-T31$/i, IntegratedDevices.GENIAL_T31], [/^ZH-SG-A606(?: |$)/i, IntegratedDevices.ZH_SG_A606], [/^BPW1(?: |$)/i, IntegratedDevices.BPW1], [/^Checkme Pod-WPS(?: |$)/i, IntegratedDevices.CHECKME_POD_WPS], [/^Checkme Pod(?: |$)/i, IntegratedDevices.CHECKME_POD], [/^AP-20-WPS(?: |$)/i, IntegratedDevices.AP20_WPS], [/^AP-20(?: |$)/i, IntegratedDevices.AP20], [/^PC-68B(?: |$)/i, IntegratedDevices.PC68B], [/^PC-100(?: |$)/i, IntegratedDevices.PC100], [/^BPM-188(?: |$)/i, IntegratedDevices.BPM188], [/^(?:PC_300SNT|GM_300SNT)(?:-BLE)?(?: |$)|^(?:PC-200|QC-200)(?:-BLE)?(?: |$)/i, IntegratedDevices.PC300], [/^PoctorM3102(?: |$)/i, IntegratedDevices.POCTOR_M3102], [/^Bioland-BGM(?: |$)/i, IntegratedDevices.BIOLAND_BGM], [lepuNameMatch("Checkme"), IntegratedDevices.CHECKME]]);
6
6
  //# sourceMappingURL=integrated-devices-map.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["lepuNameMatch","IntegratedDevices","integratedDevicesMap","Map","BP2","F4","SPO2","MYSENSE","PC60WF","AOJ20A","TAIDOC_GLUCOSE","GLUCOCHECK","FORATEMP","ANDESFITTEMP","COSINUSS","CMED","BC01","FORA_SCALE","RPM_SCALE","CLEVERTEMP","SP80B","S5","BGM","VEROVAL_DUO_CONTROL","VEROVAL_ECG","VEROVAL_ACTIVITY","GENIAL_T31","ZH_SG_A606","BPW1","CHECKME_POD_WPS","CHECKME_POD","AP20_WPS","AP20","PC68B","CHECKME"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/constants/integrated-devices-map.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,6CAA0C;AACxE,SAASC,iBAAiB,QAAQ,gCAA6B;AAE/D,OAAO,MAAMC,oBAAoB,GAAG,IAAIC,GAAG,CAA4B,CACrE,CAAC,aAAa,EAAEF,iBAAiB,CAACG,GAAG,CAAC,EACtC,CAAC,MAAM,EAAEH,iBAAiB,CAACI,EAAE,CAAC,EAC9B,CAAC,gBAAgB,EAAEJ,iBAAiB,CAACK,IAAI,CAAC,EAC1C,CAAC,WAAW,EAAEL,iBAAiB,CAACM,OAAO,CAAC,EACxC,CAAC,kBAAkB,EAAEN,iBAAiB,CAACO,MAAM,CAAC,EAC9C,CAAC,WAAW,EAAEP,iBAAiB,CAACQ,MAAM,CAAC,EACvC,CAAC,0BAA0B,EAAER,iBAAiB,CAACS,cAAc,CAAC,EAC9D,CAAC,mBAAmB,EAAET,iBAAiB,CAACU,UAAU,CAAC,EACnD,CAAC,aAAa,EAAEV,iBAAiB,CAACW,QAAQ,CAAC,EAC3C,CAAC,QAAQ,EAAEX,iBAAiB,CAACY,YAAY,CAAC,EAC1C,CAAC,OAAO,EAAEZ,iBAAiB,CAACa,QAAQ,CAAC,EACrC,CAAC,QAAQ,EAAEb,iBAAiB,CAACc,IAAI,CAAC,EAClC,CAAC,0BAA0B,EAAEd,iBAAiB,CAACe,IAAI,CAAC,EACpD,CAAC,aAAa,EAAEf,iBAAiB,CAACgB,UAAU,CAAC,EAC7C,CAAC,cAAc,EAAEhB,iBAAiB,CAACiB,SAAS,CAAC,EAC7C,CAAC,iBAAiB,EAAEjB,iBAAiB,CAACkB,UAAU,CAAC,EACjD,CAAC,sBAAsB,EAAElB,iBAAiB,CAACmB,KAAK,CAAC,EACjD,CAAC,SAAS,EAAEnB,iBAAiB,CAACoB,EAAE,CAAC,EACjC,CAAC,oBAAoB,EAAEpB,iBAAiB,CAACqB,GAAG,CAAC,EAC7C,CAAC,wBAAwB,EAAErB,iBAAiB,CAACsB,mBAAmB,CAAC,EACjE,CAAC,gBAAgB,EAAEtB,iBAAiB,CAACuB,WAAW,CAAC,EACjD,CAAC,kCAAkC,EAAEvB,iBAAiB,CAACwB,gBAAgB,CAAC,EACxE,CAAC,eAAe,EAAExB,iBAAiB,CAACyB,UAAU,CAAC,EAC/C,CAAC,qBAAqB,EAAEzB,iBAAiB,CAAC0B,UAAU,CAAC,EACrD,CAAC,eAAe,EAAE1B,iBAAiB,CAAC2B,IAAI,CAAC,EACzC,CAAC,0BAA0B,EAAE3B,iBAAiB,CAAC4B,eAAe,CAAC,EAC/D,CAAC,sBAAsB,EAAE5B,iBAAiB,CAAC6B,WAAW,CAAC,EACvD,CAAC,oBAAoB,EAAE7B,iBAAiB,CAAC8B,QAAQ,CAAC,EAClD,CAAC,gBAAgB,EAAE9B,iBAAiB,CAAC+B,IAAI,CAAC,EAC1C,CAAC,iBAAiB,EAAE/B,iBAAiB,CAACgC,KAAK,CAAC,EAC5C,CAACjC,aAAa,CAAC,SAAS,CAAC,EAAEC,iBAAiB,CAACiC,OAAO,CAAC,CACtD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["lepuNameMatch","IntegratedDevices","integratedDevicesMap","Map","BP2","F4","LEPU_F4_SCALE","S5","LEPU_F5_SCALE","SPO2","MYSENSE","PC60WF","AOJ20A","TAIDOC_GLUCOSE","GLUCOCHECK","FORATEMP","ANDESFITTEMP","COSINUSS","CMED","BC01","FORA_SCALE","RPM_SCALE","CLEVERTEMP","SP80B","BGM","VEROVAL_DUO_CONTROL","VEROVAL_ECG","VEROVAL_ACTIVITY","GENIAL_T31","ZH_SG_A606","BPW1","CHECKME_POD_WPS","CHECKME_POD","AP20_WPS","AP20","PC68B","PC100","BPM188","PC300","POCTOR_M3102","BIOLAND_BGM","CHECKME"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/constants/integrated-devices-map.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,6CAA0C;AACxE,SAASC,iBAAiB,QAAQ,gCAA6B;AAE/D,OAAO,MAAMC,oBAAoB,GAAG,IAAIC,GAAG,CAA4B,CACrE,CAAC,aAAa,EAAEF,iBAAiB,CAACG,GAAG,CAAC,EACtC,CAAC,MAAM,EAAEH,iBAAiB,CAACI,EAAE,CAAC,EAC9B,CACE,uCAAuC,EACvCJ,iBAAiB,CAACK,aAAa,CAChC,EACD,CAAC,SAAS,EAAEL,iBAAiB,CAACM,EAAE,CAAC,EACjC,CAAC,yBAAyB,EAAEN,iBAAiB,CAACO,aAAa,CAAC,EAC5D,CAAC,gBAAgB,EAAEP,iBAAiB,CAACQ,IAAI,CAAC,EAC1C,CAAC,WAAW,EAAER,iBAAiB,CAACS,OAAO,CAAC,EACxC,CAAC,kBAAkB,EAAET,iBAAiB,CAACU,MAAM,CAAC,EAC9C,CAAC,WAAW,EAAEV,iBAAiB,CAACW,MAAM,CAAC,EACvC,CAAC,0BAA0B,EAAEX,iBAAiB,CAACY,cAAc,CAAC,EAC9D,CAAC,mBAAmB,EAAEZ,iBAAiB,CAACa,UAAU,CAAC,EACnD,CAAC,aAAa,EAAEb,iBAAiB,CAACc,QAAQ,CAAC,EAC3C,CAAC,QAAQ,EAAEd,iBAAiB,CAACe,YAAY,CAAC,EAC1C,CAAC,OAAO,EAAEf,iBAAiB,CAACgB,QAAQ,CAAC,EACrC,CAAC,QAAQ,EAAEhB,iBAAiB,CAACiB,IAAI,CAAC,EAClC,CAAC,0BAA0B,EAAEjB,iBAAiB,CAACkB,IAAI,CAAC,EACpD,CAAC,aAAa,EAAElB,iBAAiB,CAACmB,UAAU,CAAC,EAC7C,CAAC,cAAc,EAAEnB,iBAAiB,CAACoB,SAAS,CAAC,EAC7C,CAAC,iBAAiB,EAAEpB,iBAAiB,CAACqB,UAAU,CAAC,EACjD,CAAC,sBAAsB,EAAErB,iBAAiB,CAACsB,KAAK,CAAC,EACjD,CAAC,oBAAoB,EAAEtB,iBAAiB,CAACuB,GAAG,CAAC,EAC7C,CAAC,wBAAwB,EAAEvB,iBAAiB,CAACwB,mBAAmB,CAAC,EACjE,CAAC,gBAAgB,EAAExB,iBAAiB,CAACyB,WAAW,CAAC,EACjD,CAAC,kCAAkC,EAAEzB,iBAAiB,CAAC0B,gBAAgB,CAAC,EACxE,CAAC,eAAe,EAAE1B,iBAAiB,CAAC2B,UAAU,CAAC,EAC/C,CAAC,qBAAqB,EAAE3B,iBAAiB,CAAC4B,UAAU,CAAC,EACrD,CAAC,eAAe,EAAE5B,iBAAiB,CAAC6B,IAAI,CAAC,EACzC,CAAC,0BAA0B,EAAE7B,iBAAiB,CAAC8B,eAAe,CAAC,EAC/D,CAAC,sBAAsB,EAAE9B,iBAAiB,CAAC+B,WAAW,CAAC,EACvD,CAAC,oBAAoB,EAAE/B,iBAAiB,CAACgC,QAAQ,CAAC,EAClD,CAAC,gBAAgB,EAAEhC,iBAAiB,CAACiC,IAAI,CAAC,EAC1C,CAAC,iBAAiB,EAAEjC,iBAAiB,CAACkC,KAAK,CAAC,EAC5C,CAAC,iBAAiB,EAAElC,iBAAiB,CAACmC,KAAK,CAAC,EAC5C,CAAC,kBAAkB,EAAEnC,iBAAiB,CAACoC,MAAM,CAAC,EAC9C,CACE,8EAA8E,EAC9EpC,iBAAiB,CAACqC,KAAK,CACxB,EACD,CAAC,sBAAsB,EAAErC,iBAAiB,CAACsC,YAAY,CAAC,EACxD,CAAC,sBAAsB,EAAEtC,iBAAiB,CAACuC,WAAW,CAAC,EACvD,CAACxC,aAAa,CAAC,SAAS,CAAC,EAAEC,iBAAiB,CAACwC,OAAO,CAAC,CACtD,CAAC","ignoreList":[]}
@@ -12,6 +12,9 @@ const serviceUUIDs = services => services.map(service => normalize(service.uuid)
12
12
  const BUILT_IN_SERVICE_UUIDS = {
13
13
  [IntegratedDevices.BP2]: serviceUUIDs(bp2MainServices),
14
14
  [IntegratedDevices.F4]: serviceUUIDs(f4MainServices),
15
+ [IntegratedDevices.S5]: serviceUUIDs(f4MainServices),
16
+ [IntegratedDevices.LEPU_F4_SCALE]: serviceUUIDs(f4MainServices),
17
+ [IntegratedDevices.LEPU_F5_SCALE]: ["0000ffb0-0000-1000-8000-00805f9b34fb"],
15
18
  [IntegratedDevices.PC60WF]: serviceUUIDs(spo2MainServices),
16
19
  [IntegratedDevices.BC01]: serviceUUIDs(bc01MainServices),
17
20
  [IntegratedDevices.ZH_SG_A606]: serviceUUIDs(a606MainServices),
@@ -1 +1 @@
1
- {"version":3,"names":["IntegratedDevices","a606MainServices","bc01MainServices","bp2MainServices","bpw1MainServices","f4MainServices","spo2MainServices","normalize","uuid","toLowerCase","serviceUUIDs","services","map","service","BUILT_IN_SERVICE_UUIDS","BP2","F4","PC60WF","BC01","ZH_SG_A606","BPW1","VEROVAL_DUO_CONTROL","VEROVAL_ECG","getBackgroundServiceUUIDs","acceptedDevices","additionalServiceUUIDs","uuids","Set","forEach","acceptedDevice","deviceUUIDs","mainServices","add"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/background-sync/background-service-uuids.ts"],"mappings":";;AAEA,SAASA,iBAAiB,QAAQ,mCAAgC;AAElE,SAASC,gBAAgB,QAAQ,uCAAoC;AACrE,SAASC,gBAAgB,QAAQ,uCAAoC;AACrE,SAASC,eAAe,QAAQ,qCAAkC;AAClE,SAASC,gBAAgB,QAAQ,uCAAoC;AACrE,SAASC,cAAc,QAAQ,mCAAgC;AAC/D,SAASC,gBAAgB,QAAQ,sCAAmC;AAEpE,MAAMC,SAAS,GAAIC,IAAY,IAAaA,IAAI,CAACC,WAAW,CAAC,CAAC;AAE9D,MAAMC,YAAY,GAAIC,QAA6B,IACjDA,QAAQ,CAACC,GAAG,CAAEC,OAAO,IAAKN,SAAS,CAACM,OAAO,CAACL,IAAI,CAAC,CAAC;AAEpD,MAAMM,sBAAoE,GAAG;EAC3E,CAACd,iBAAiB,CAACe,GAAG,GAAGL,YAAY,CAACP,eAAe,CAAC;EACtD,CAACH,iBAAiB,CAACgB,EAAE,GAAGN,YAAY,CAACL,cAAc,CAAC;EACpD,CAACL,iBAAiB,CAACiB,MAAM,GAAGP,YAAY,CAACJ,gBAAgB,CAAC;EAC1D,CAACN,iBAAiB,CAACkB,IAAI,GAAGR,YAAY,CAACR,gBAAgB,CAAC;EACxD,CAACF,iBAAiB,CAACmB,UAAU,GAAGT,YAAY,CAACT,gBAAgB,CAAC;EAC9D,CAACD,iBAAiB,CAACoB,IAAI,GAAGV,YAAY,CAACN,gBAAgB,CAAC;EACxD,CAACJ,iBAAiB,CAACqB,mBAAmB,GAAG,CACvC,sCAAsC,CACvC;EACD,CAACrB,iBAAiB,CAACsB,WAAW,GAAG,CAC/B,sCAAsC;AAE1C,CAAC;AAED,OAAO,MAAMC,yBAAyB,GAAGA,CACvCC,eAA0C,EAC1CC,sBAAyC,GAAG,EAAE,KACjC;EACb,MAAMC,KAAK,GAAG,IAAIC,GAAG,CAACF,sBAAsB,CAACb,GAAG,CAACL,SAAS,CAAC,CAAC;EAE5DiB,eAAe,CAACI,OAAO,CAAEC,cAAc,IAAK;IAC1C,MAAMC,WAAW,GACf,OAAOD,cAAc,KAAK,QAAQ,GAC9Bf,sBAAsB,CAACe,cAAc,CAAC,GACtCnB,YAAY,CAAEmB,cAAc,CAA4BE,YAAY,CAAC;IAE3ED,WAAW,EAAEF,OAAO,CAAEpB,IAAI,IAAKkB,KAAK,CAACM,GAAG,CAACzB,SAAS,CAACC,IAAI,CAAC,CAAC,CAAC;EAC5D,CAAC,CAAC;EAEF,OAAO,CAAC,GAAGkB,KAAK,CAAC;AACnB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["IntegratedDevices","a606MainServices","bc01MainServices","bp2MainServices","bpw1MainServices","f4MainServices","spo2MainServices","normalize","uuid","toLowerCase","serviceUUIDs","services","map","service","BUILT_IN_SERVICE_UUIDS","BP2","F4","S5","LEPU_F4_SCALE","LEPU_F5_SCALE","PC60WF","BC01","ZH_SG_A606","BPW1","VEROVAL_DUO_CONTROL","VEROVAL_ECG","getBackgroundServiceUUIDs","acceptedDevices","additionalServiceUUIDs","uuids","Set","forEach","acceptedDevice","deviceUUIDs","mainServices","add"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/background-sync/background-service-uuids.ts"],"mappings":";;AAEA,SAASA,iBAAiB,QAAQ,mCAAgC;AAElE,SAASC,gBAAgB,QAAQ,uCAAoC;AACrE,SAASC,gBAAgB,QAAQ,uCAAoC;AACrE,SAASC,eAAe,QAAQ,qCAAkC;AAClE,SAASC,gBAAgB,QAAQ,uCAAoC;AACrE,SAASC,cAAc,QAAQ,mCAAgC;AAC/D,SAASC,gBAAgB,QAAQ,sCAAmC;AAEpE,MAAMC,SAAS,GAAIC,IAAY,IAAaA,IAAI,CAACC,WAAW,CAAC,CAAC;AAE9D,MAAMC,YAAY,GAAIC,QAA6B,IACjDA,QAAQ,CAACC,GAAG,CAAEC,OAAO,IAAKN,SAAS,CAACM,OAAO,CAACL,IAAI,CAAC,CAAC;AAEpD,MAAMM,sBAAoE,GAAG;EAC3E,CAACd,iBAAiB,CAACe,GAAG,GAAGL,YAAY,CAACP,eAAe,CAAC;EACtD,CAACH,iBAAiB,CAACgB,EAAE,GAAGN,YAAY,CAACL,cAAc,CAAC;EACpD,CAACL,iBAAiB,CAACiB,EAAE,GAAGP,YAAY,CAACL,cAAc,CAAC;EACpD,CAACL,iBAAiB,CAACkB,aAAa,GAAGR,YAAY,CAACL,cAAc,CAAC;EAC/D,CAACL,iBAAiB,CAACmB,aAAa,GAAG,CACjC,sCAAsC,CACvC;EACD,CAACnB,iBAAiB,CAACoB,MAAM,GAAGV,YAAY,CAACJ,gBAAgB,CAAC;EAC1D,CAACN,iBAAiB,CAACqB,IAAI,GAAGX,YAAY,CAACR,gBAAgB,CAAC;EACxD,CAACF,iBAAiB,CAACsB,UAAU,GAAGZ,YAAY,CAACT,gBAAgB,CAAC;EAC9D,CAACD,iBAAiB,CAACuB,IAAI,GAAGb,YAAY,CAACN,gBAAgB,CAAC;EACxD,CAACJ,iBAAiB,CAACwB,mBAAmB,GAAG,CACvC,sCAAsC,CACvC;EACD,CAACxB,iBAAiB,CAACyB,WAAW,GAAG,CAC/B,sCAAsC;AAE1C,CAAC;AAED,OAAO,MAAMC,yBAAyB,GAAGA,CACvCC,eAA0C,EAC1CC,sBAAyC,GAAG,EAAE,KACjC;EACb,MAAMC,KAAK,GAAG,IAAIC,GAAG,CAACF,sBAAsB,CAAChB,GAAG,CAACL,SAAS,CAAC,CAAC;EAE5DoB,eAAe,CAACI,OAAO,CAAEC,cAAc,IAAK;IAC1C,MAAMC,WAAW,GACf,OAAOD,cAAc,KAAK,QAAQ,GAC9BlB,sBAAsB,CAACkB,cAAc,CAAC,GACtCtB,YAAY,CAAEsB,cAAc,CAA4BE,YAAY,CAAC;IAE3ED,WAAW,EAAEF,OAAO,CAAEvB,IAAI,IAAKqB,KAAK,CAACM,GAAG,CAAC5B,SAAS,CAACC,IAAI,CAAC,CAAC,CAAC;EAC5D,CAAC,CAAC;EAEF,OAAO,CAAC,GAAGqB,KAAK,CAAC;AACnB,CAAC","ignoreList":[]}
@@ -13,6 +13,7 @@ import { CheckmePodDevice } from "./devices/checkme/checkme-pod.device.js";
13
13
  import { CheckmeProDevice } from "./devices/checkme/checkme.device.js";
14
14
  import { CustomDevice } from "./devices/custom/custom.device.js";
15
15
  import { F4Device } from "./devices/f4/f4.device.js";
16
+ import { F5ScaleDevice } from "./devices/f5/f5-scale.device.js";
16
17
  import { GenialT31Device } from "./devices/genial-t31/genial-t31.device.js";
17
18
  import { OxyfitDevice } from "./devices/spo/oxyfit.device.js";
18
19
  import { SPO2Device } from "./devices/spo/spo2.device.js";
@@ -21,7 +22,12 @@ import { VerovalActivityDevice } from "./devices/veroval/veroval.activity-device
21
22
  import { VerovalDuoControlDevice } from "./devices/veroval/veroval.duo-control-device.js";
22
23
  import { VerovalEcgDevice } from "./devices/veroval/veroval.ecg-device.js";
23
24
  import { Ap20Device } from "./devices/viatom/ap20.device.js";
25
+ import { BiolandBgmDevice } from "./devices/viatom/bioland.bgm.device.js";
24
26
  import { Pc68bDevice } from "./devices/viatom/pc68b.device.js";
27
+ import { PoctorM3102Device } from "./devices/viatom/poctor.m3102.device.js";
28
+ import { Bpm188Device } from "./devices/viatom/viatom.bpm188.device.js";
29
+ import { Pc100Device } from "./devices/viatom/viatom.pc100.device.js";
30
+ import { Pc300Device } from "./devices/viatom/viatom.pc300.device.js";
25
31
 
26
32
  /**
27
33
  * The built-in names the SDK can actually build.
@@ -33,6 +39,9 @@ import { Pc68bDevice } from "./devices/viatom/pc68b.device.js";
33
39
  const DEVICE_CLASSES = {
34
40
  [IntegratedDevices.BP2]: BP2Device,
35
41
  [IntegratedDevices.F4]: F4Device,
42
+ [IntegratedDevices.S5]: F4Device,
43
+ [IntegratedDevices.LEPU_F4_SCALE]: F4Device,
44
+ [IntegratedDevices.LEPU_F5_SCALE]: F5ScaleDevice,
36
45
  [IntegratedDevices.PC60WF]: SPO2Device,
37
46
  [IntegratedDevices.SPO2]: OxyfitDevice,
38
47
  [IntegratedDevices.MYSENSE]: MySenseDevice,
@@ -52,7 +61,12 @@ const DEVICE_CLASSES = {
52
61
  [IntegratedDevices.CHECKME_POD_WPS]: CheckmePodDevice,
53
62
  [IntegratedDevices.AP20]: Ap20Device,
54
63
  [IntegratedDevices.AP20_WPS]: Ap20Device,
55
- [IntegratedDevices.PC68B]: Pc68bDevice
64
+ [IntegratedDevices.PC68B]: Pc68bDevice,
65
+ [IntegratedDevices.PC100]: Pc100Device,
66
+ [IntegratedDevices.BPM188]: Bpm188Device,
67
+ [IntegratedDevices.PC300]: Pc300Device,
68
+ [IntegratedDevices.POCTOR_M3102]: PoctorM3102Device,
69
+ [IntegratedDevices.BIOLAND_BGM]: BiolandBgmDevice
56
70
  };
57
71
  const collectCustomDevices = acceptedDevices => {
58
72
  const customDevices = new Map();
@@ -1 +1 @@
1
- {"version":3,"names":["resolveDeviceKey","IntegratedDevices","isCustomDeviceDefinition","A606Device","Aoj20aDevice","BC01Device","BloodGlucoseDevice","BP2Device","Bpw1Device","CheckmePodDevice","CheckmeProDevice","CustomDevice","F4Device","GenialT31Device","OxyfitDevice","SPO2Device","MySenseDevice","VerovalActivityDevice","VerovalDuoControlDevice","VerovalEcgDevice","Ap20Device","Pc68bDevice","DEVICE_CLASSES","BP2","F4","PC60WF","SPO2","MYSENSE","BC01","AOJ20A","TAIDOC_GLUCOSE","GLUCOCHECK","BGM","VEROVAL_DUO_CONTROL","VEROVAL_ECG","VEROVAL_ACTIVITY","GENIAL_T31","ZH_SG_A606","BPW1","CHECKME","CHECKME_POD","CHECKME_POD_WPS","AP20","AP20_WPS","PC68B","collectCustomDevices","acceptedDevices","customDevices","Map","matchers","Set","forEach","entry","index","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","deviceClass","Object","keys","join","destroy","clear","deviceType","firstKey","next","value","delete"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/device-creator.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["resolveDeviceKey","IntegratedDevices","isCustomDeviceDefinition","A606Device","Aoj20aDevice","BC01Device","BloodGlucoseDevice","BP2Device","Bpw1Device","CheckmePodDevice","CheckmeProDevice","CustomDevice","F4Device","F5ScaleDevice","GenialT31Device","OxyfitDevice","SPO2Device","MySenseDevice","VerovalActivityDevice","VerovalDuoControlDevice","VerovalEcgDevice","Ap20Device","BiolandBgmDevice","Pc68bDevice","PoctorM3102Device","Bpm188Device","Pc100Device","Pc300Device","DEVICE_CLASSES","BP2","F4","S5","LEPU_F4_SCALE","LEPU_F5_SCALE","PC60WF","SPO2","MYSENSE","BC01","AOJ20A","TAIDOC_GLUCOSE","GLUCOCHECK","BGM","VEROVAL_DUO_CONTROL","VEROVAL_ECG","VEROVAL_ACTIVITY","GENIAL_T31","ZH_SG_A606","BPW1","CHECKME","CHECKME_POD","CHECKME_POD_WPS","AP20","AP20_WPS","PC68B","PC100","BPM188","PC300","POCTOR_M3102","BIOLAND_BGM","collectCustomDevices","acceptedDevices","customDevices","Map","matchers","Set","forEach","entry","index","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","deviceClass","Object","keys","join","destroy","clear","deviceType","firstKey","next","value","delete"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/device-creator.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["CaseType","BTManagedDevice","f4MainServices","F4Device","mainServices","validatePackage","handleDependentResult","parsingCase","measurementTypeKey","parsedData","caseType","bodyWeight","OTHER","STREAM","stuckDataTimeout","handleSuccessResult","successResult","RESULT","onError","Error","handleBodyWeightResult","error","checkIfHasError","onResult","undefined"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/f4/f4.device.ts"],"mappings":";;AAEA,SAASA,QAAQ,QAAQ,6BAA0B;AAMnD,SAASC,eAAe,QAAQ,yBAAsB;AAEtD,SAASC,cAAc,QAAQ,uBAAoB;AAEnD,OAAO,MAAMC,QAAQ,SAASF,eAAe,CAAuB;EACxDG,YAAY,GAAeF,cAAc;EAGzCG,eAAe,GAA6CA,CAAA,KAAM;IAC1E,OAAO,IAAI;EACb,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACYC,qBAAqB,GAM3BA,CAAC;IAAEC,WAAW;IAAEC,kBAAkB;IAAEC;EAAW,CAAC,KAAK;IACvD,MAAMC,QAAQ,GACZD,UAAU,CAACE,UAAU,KAAK,CAAC,GAAGX,QAAQ,CAACY,KAAK,GAAGZ,QAAQ,CAACa,MAAM;IAEhE,OAAO;MACLN,WAAW,EAAE;QACX,GAAGA,WAAW;QACdG;MACF,CAAC;MACDF,kBAAkB;MAClBC;IACF,CAAC;EACH,CAAC;;EAED;AACF;AACA;AACA;EACYK,gBAAgB,GAAW,SAAS;EAEpCC,mBAAmBA,CAC3BC,aAEC,EACe;IAChB,IAAIA,aAAa,CAACN,QAAQ,KAAKV,QAAQ,CAACiB,MAAM,EAAE;MAC9C;IACF;IAEA,IAAI,CAACD,aAAa,CAACR,kBAAkB,EAAE;MACrC,IAAI,CAACU,OAAO,GACV,IAAIC,KAAK,CACP,0CAA0CH,aAAa,CAACN,QAAQ,EAClE,CACF,CAAC;MAED;IACF;IAEA,IAAI,CAACU,sBAAsB,CAACJ,aAAa,CAAC;EAC5C;EAEQI,sBAAsBA,CAC5BJ,aAA6D,EACvD;IACN,MAAMK,KAAK,GAAG,IAAI,CAACC,eAAe,CAACN,aAAa,CAAC;IAEjD,IAAIK,KAAK,EAAE;MACT,IAAI,CAACH,OAAO,GAAGG,KAAK,CAAC;MAErB;IACF;IAEA,IAAI,CAACE,QAAQ,GAAGP,aAAa,CAAC;EAChC;EAEQM,eAAeA,CACrBN,aAA6D,EACzC;IACpB,IAAIA,aAAa,CAACL,UAAU,KAAK,CAAC,EAAE;MAClC,OAAO,kDAAkD;IAC3D;IAEA,IAAIK,aAAa,CAACL,UAAU,KAAKa,SAAS,EAAE;MAC1C,OAAO,4CAA4C;IACrD;IAEA,IAAIR,aAAa,CAACL,UAAU,GAAG,GAAG,EAAE;MAClC,OAAO,4CAA4C;IACrD;IAEA,OAAOa,SAAS;EAClB;AACF","ignoreList":[]}
1
+ {"version":3,"names":["CaseType","BTManagedDevice","f4MainServices","F4Device","mainServices","validatePackage","handleDependentResult","parsingCase","measurementTypeKey","parsedData","caseType","bodyWeight","OTHER","STREAM","stuckDataTimeout","handleSuccessResult","successResult","RESULT","onError","Error","handleBodyWeightResult","error","checkIfHasError","onResult","undefined"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/f4/f4.device.ts"],"mappings":";;AAEA,SAASA,QAAQ,QAAQ,6BAA0B;AAMnD,SAASC,eAAe,QAAQ,yBAAsB;AAEtD,SAASC,cAAc,QAAQ,uBAAoB;AAOnD,OAAO,MAAMC,QAAQ,SAASF,eAAe,CAAiB;EAClDG,YAAY,GAAeF,cAAc;EAGzCG,eAAe,GAA6CA,CAAA,KAAM;IAC1E,OAAO,IAAI;EACb,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACYC,qBAAqB,GAM3BA,CAAC;IAAEC,WAAW;IAAEC,kBAAkB;IAAEC;EAAW,CAAC,KAAK;IACvD,MAAMC,QAAQ,GACZD,UAAU,CAACE,UAAU,KAAK,CAAC,GAAGX,QAAQ,CAACY,KAAK,GAAGZ,QAAQ,CAACa,MAAM;IAEhE,OAAO;MACLN,WAAW,EAAE;QACX,GAAGA,WAAW;QACdG;MACF,CAAC;MACDF,kBAAkB;MAClBC;IACF,CAAC;EACH,CAAC;;EAED;AACF;AACA;AACA;EACYK,gBAAgB,GAAW,SAAS;EAEpCC,mBAAmBA,CAC3BC,aAEC,EACe;IAChB,IAAIA,aAAa,CAACN,QAAQ,KAAKV,QAAQ,CAACiB,MAAM,EAAE;MAC9C;IACF;IAEA,IAAI,CAACD,aAAa,CAACR,kBAAkB,EAAE;MACrC,IAAI,CAACU,OAAO,GACV,IAAIC,KAAK,CACP,0CAA0CH,aAAa,CAACN,QAAQ,EAClE,CACF,CAAC;MAED;IACF;IAEA,IAAI,CAACU,sBAAsB,CAACJ,aAAa,CAAC;EAC5C;EAEQI,sBAAsBA,CAC5BJ,aAA6D,EACvD;IACN,MAAMK,KAAK,GAAG,IAAI,CAACC,eAAe,CAACN,aAAa,CAAC;IAEjD,IAAIK,KAAK,EAAE;MACT,IAAI,CAACH,OAAO,GAAGG,KAAK,CAAC;MAErB;IACF;IAEA,IAAI,CAACE,QAAQ,GAAGP,aAAa,CAAC;EAChC;EAEQM,eAAeA,CACrBN,aAA6D,EACzC;IACpB,IAAIA,aAAa,CAACL,UAAU,KAAK,CAAC,EAAE;MAClC,OAAO,kDAAkD;IAC3D;IAEA,IAAIK,aAAa,CAACL,UAAU,KAAKa,SAAS,EAAE;MAC1C,OAAO,4CAA4C;IACrD;IAEA,IAAIR,aAAa,CAACL,UAAU,GAAG,GAAG,EAAE;MAClC,OAAO,4CAA4C;IACrD;IAEA,OAAOa,SAAS;EAClB;AACF","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable import/group-exports */
4
+
5
+ import { BTManagedDevice } from "../bt-managed-device.js";
6
+ import { F5_SCALE_NOTIFY, F5_SCALE_SERVICE, F5_SCALE_WRITE, F5ScaleFrameReader } from "./f5-scale.protocol.js";
7
+ import { F5ScaleSequencer } from "./f5-scale.sequencer.js";
8
+ const acceptNothing = {
9
+ caseValuePosition: [],
10
+ cases: []
11
+ };
12
+ export const f5ScaleMainServices = [{
13
+ uuid: F5_SCALE_SERVICE,
14
+ monitorUuids: [{
15
+ uuid: F5_SCALE_NOTIFY,
16
+ parsingModel: acceptNothing
17
+ }],
18
+ writeUuid: {
19
+ uuid: F5_SCALE_WRITE,
20
+ mainCommandUuid: "ac27"
21
+ }
22
+ }];
23
+
24
+ /** ViHealth F5/MY_SCALE body-scale history and live-reading driver. */
25
+ export class F5ScaleDevice extends BTManagedDevice {
26
+ mainServices = f5ScaleMainServices;
27
+ stuckDataTimeout = 60_000;
28
+ onStreamStart = undefined;
29
+ preferredMtu = 247;
30
+ constructor(device, params) {
31
+ super(device, params);
32
+ this.frameReader = new F5ScaleFrameReader();
33
+ this.createCommandSequencer = () => new F5ScaleSequencer({
34
+ onResult: result => this.onResult?.(result)
35
+ });
36
+ }
37
+ handleSuccessResult() {
38
+ return;
39
+ }
40
+ }
41
+ //# sourceMappingURL=f5-scale.device.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BTManagedDevice","F5_SCALE_NOTIFY","F5_SCALE_SERVICE","F5_SCALE_WRITE","F5ScaleFrameReader","F5ScaleSequencer","acceptNothing","caseValuePosition","cases","f5ScaleMainServices","uuid","monitorUuids","parsingModel","writeUuid","mainCommandUuid","F5ScaleDevice","mainServices","stuckDataTimeout","onStreamStart","undefined","preferredMtu","constructor","device","params","frameReader","createCommandSequencer","onResult","result","handleSuccessResult"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/f5/f5-scale.device.ts"],"mappings":";;AAAA;;AASA,SAASA,eAAe,QAAQ,yBAAsB;AAEtD,SACEC,eAAe,EACfC,gBAAgB,EAChBC,cAAc,EACdC,kBAAkB,QACb,wBAAqB;AAC5B,SAASC,gBAAgB,QAAQ,yBAAsB;AAEvD,MAAMC,aAAa,GAAG;EAAEC,iBAAiB,EAAE,EAAE;EAAEC,KAAK,EAAE;AAAG,CAAC;AAE1D,OAAO,MAAMC,mBAA+B,GAAG,CAC7C;EACEC,IAAI,EAAER,gBAAgB;EACtBS,YAAY,EAAE,CAAC;IAAED,IAAI,EAAET,eAAe;IAAEW,YAAY,EAAEN;EAAc,CAAC,CAAC;EACtEO,SAAS,EAAE;IACTH,IAAI,EAAEP,cAAc;IACpBW,eAAe,EAAE;EACnB;AACF,CAAC,CACF;;AAED;AACA,OAAO,MAAMC,aAAa,SAASf,eAAe,CAAkC;EACxEgB,YAAY,GAAGP,mBAAmB;EAClCQ,gBAAgB,GAAG,MAAM;EACzBC,aAAa,GAAGC,SAAS;EAChBC,YAAY,GAAG,GAAG;EAE9BC,WAAWA,CAChBC,MAAc,EACdC,MAA2D,EAC3D;IACA,KAAK,CAACD,MAAM,EAAEC,MAAM,CAAC;IACrB,IAAI,CAACC,WAAW,GAAG,IAAIpB,kBAAkB,CAAC,CAAC;IAC3C,IAAI,CAACqB,sBAAsB,GAAG,MAC5B,IAAIpB,gBAAgB,CAAC;MACnBqB,QAAQ,EAAGC,MAAM,IACf,IAAI,CAACD,QAAQ,GACXC,MAGF;IACJ,CAAC,CAAC;EACN;EAEUC,mBAAmBA,CAAA,EAAS;IACpC;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable import/group-exports */
4
+
5
+ import { FrameReadStatus } from "../../../types/frame-read-status.js";
6
+ import { hexToByte } from "../../../utils/hex-to-byte.js";
7
+ export const F5_SCALE_SERVICE = "0000ffb0-0000-1000-8000-00805f9b34fb";
8
+ export const F5_SCALE_WRITE = "0000ffb1-0000-1000-8000-00805f9b34fb";
9
+ export const F5_SCALE_NOTIFY = "0000ffb2-0000-1000-8000-00805f9b34fb";
10
+ export const F5ScaleCommand = {
11
+ weight: 0xd5,
12
+ history: 0xd8
13
+ };
14
+ const FRAME_LENGTH = 20;
15
+ const checksum = frame => frame.slice(2, -1).reduce((sum, value) => sum + hexToByte(value) & 0x1f, 0);
16
+ export const decodeF5ScaleFrame = frame => {
17
+ if (frame.length !== FRAME_LENGTH || hexToByte(frame[0] ?? "00") !== 0xac || hexToByte(frame[1] ?? "00") !== 0x27 || (hexToByte(frame.at(-1) ?? "00") & 0x1f) !== checksum(frame)) {
18
+ return undefined;
19
+ }
20
+ return {
21
+ command: hexToByte(frame[18] ?? "00"),
22
+ content: frame.slice(2, 18)
23
+ };
24
+ };
25
+ export const parseF5WeightKg = content => {
26
+ if (content.length < 4) {
27
+ return undefined;
28
+ }
29
+ const grams = hexToByte(content[3] ?? "00") + ((hexToByte(content[1] ?? "00") & 0x03) << 16) + (hexToByte(content[2] ?? "00") << 8);
30
+ return grams > 0 && grams <= 300_000 ? grams / 1000 : undefined;
31
+ };
32
+ export const parseF5HistoryDate = content => {
33
+ if (content.length < 9) {
34
+ return undefined;
35
+ }
36
+ const seconds = hexToByte(content[4] ?? "00") + (hexToByte(content[1] ?? "00") << 24) + (hexToByte(content[2] ?? "00") << 16) + (hexToByte(content[3] ?? "00") << 8);
37
+ const date = new Date(seconds * 1000);
38
+ return Number.isNaN(date.getTime()) || seconds === 0 ? undefined : date;
39
+ };
40
+
41
+ /** Reads the fixed 20-byte AC 27 frames used by F5/MY_SCALE. */
42
+ export class F5ScaleFrameReader {
43
+ readFrame(buffer) {
44
+ const start = buffer.findIndex((byte, index) => hexToByte(byte) === 0xac && hexToByte(buffer[index + 1] ?? "00") === 0x27);
45
+ if (start === -1) {
46
+ return {
47
+ status: FrameReadStatus.INCOMPLETE,
48
+ consumedBytes: Math.max(0, buffer.length - 1)
49
+ };
50
+ }
51
+ if (start + FRAME_LENGTH > buffer.length) {
52
+ return {
53
+ status: FrameReadStatus.INCOMPLETE,
54
+ consumedBytes: start
55
+ };
56
+ }
57
+ const frame = buffer.slice(start, start + FRAME_LENGTH);
58
+ if (!decodeF5ScaleFrame(frame)) {
59
+ return {
60
+ status: FrameReadStatus.CORRUPT,
61
+ consumedBytes: start + 1
62
+ };
63
+ }
64
+ return {
65
+ status: FrameReadStatus.COMPLETE,
66
+ consumedBytes: start + FRAME_LENGTH,
67
+ frame
68
+ };
69
+ }
70
+ }
71
+ //# sourceMappingURL=f5-scale.protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FrameReadStatus","hexToByte","F5_SCALE_SERVICE","F5_SCALE_WRITE","F5_SCALE_NOTIFY","F5ScaleCommand","weight","history","FRAME_LENGTH","checksum","frame","slice","reduce","sum","value","decodeF5ScaleFrame","length","at","undefined","command","content","parseF5WeightKg","grams","parseF5HistoryDate","seconds","date","Date","Number","isNaN","getTime","F5ScaleFrameReader","readFrame","buffer","start","findIndex","byte","index","status","INCOMPLETE","consumedBytes","Math","max","CORRUPT","COMPLETE"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/f5/f5-scale.protocol.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ import { MeasurementTypeKey } from "@ovok/core";
4
+ import { CaseType } from "../../../types/case-type.js";
5
+ import { decodeF5ScaleFrame, F5ScaleCommand, parseF5HistoryDate, parseF5WeightKg } from "./f5-scale.protocol.js";
6
+ /** Decodes passive live and history records from the F5 scale stream. */
7
+ export class F5ScaleSequencer {
8
+ constructor(params) {
9
+ this.params = params;
10
+ }
11
+ initialCommands = () => [];
12
+ isHistoryTransfer = () => true;
13
+ nextCommand = frame => {
14
+ const response = decodeF5ScaleFrame(frame);
15
+ if (!response) {
16
+ return undefined;
17
+ }
18
+ const content = response.command === F5ScaleCommand.history ? response.content.slice(5, 9) : response.content;
19
+ const bodyWeight = parseF5WeightKg(content);
20
+ if (bodyWeight === undefined) {
21
+ return undefined;
22
+ }
23
+ this.params.onResult({
24
+ caseType: CaseType.RESULT,
25
+ measurementTypeKey: MeasurementTypeKey.bodyWeight,
26
+ bodyWeight,
27
+ recordedAt: response.command === F5ScaleCommand.history ? parseF5HistoryDate(response.content) ?? this.params.now?.() ?? new Date() : this.params.now?.() ?? new Date()
28
+ });
29
+ return undefined;
30
+ };
31
+ }
32
+ //# sourceMappingURL=f5-scale.sequencer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MeasurementTypeKey","CaseType","decodeF5ScaleFrame","F5ScaleCommand","parseF5HistoryDate","parseF5WeightKg","F5ScaleSequencer","constructor","params","initialCommands","isHistoryTransfer","nextCommand","frame","response","undefined","content","command","history","slice","bodyWeight","onResult","caseType","RESULT","measurementTypeKey","recordedAt","now","Date"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/f5/f5-scale.sequencer.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,YAAY;AAE/C,SAASC,QAAQ,QAAQ,6BAA0B;AAGnD,SACEC,kBAAkB,EAClBC,cAAc,EACdC,kBAAkB,EAClBC,eAAe,QACV,wBAAqB;AAY5B;AACA,OAAO,MAAMC,gBAAgB,CAA6B;EACjDC,WAAWA,CAAkBC,MAA6B,EAAE;IAAA,KAA/BA,MAA6B,GAA7BA,MAA6B;EAAG;EAE7DC,eAAe,GAAGA,CAAA,KAAmB,EAAE;EAEvCC,iBAAiB,GAAGA,CAAA,KAAe,IAAI;EAEvCC,WAAW,GAAIC,KAAwB,IAAgB;IAC5D,MAAMC,QAAQ,GAAGX,kBAAkB,CAACU,KAAK,CAAC;IAE1C,IAAI,CAACC,QAAQ,EAAE;MACb,OAAOC,SAAS;IAClB;IAEA,MAAMC,OAAO,GACXF,QAAQ,CAACG,OAAO,KAAKb,cAAc,CAACc,OAAO,GACvCJ,QAAQ,CAACE,OAAO,CAACG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAC5BL,QAAQ,CAACE,OAAO;IAEtB,MAAMI,UAAU,GAAGd,eAAe,CAACU,OAAO,CAAC;IAE3C,IAAII,UAAU,KAAKL,SAAS,EAAE;MAC5B,OAAOA,SAAS;IAClB;IAEA,IAAI,CAACN,MAAM,CAACY,QAAQ,CAAC;MACnBC,QAAQ,EAAEpB,QAAQ,CAACqB,MAAM;MACzBC,kBAAkB,EAAEvB,kBAAkB,CAACmB,UAAU;MACjDA,UAAU;MACVK,UAAU,EACRX,QAAQ,CAACG,OAAO,KAAKb,cAAc,CAACc,OAAO,GACvCb,kBAAkB,CAACS,QAAQ,CAACE,OAAO,CAAC,IACnC,IAAI,CAACP,MAAM,CAACiB,GAAG,GAAG,CAAC,IAAI,IAAIC,IAAI,CAAC,CAAE,GACnC,IAAI,CAAClB,MAAM,CAACiB,GAAG,GAAG,CAAC,IAAI,IAAIC,IAAI,CAAC;IACxC,CAAC,CAAC;IAEF,OAAOZ,SAAS;EAClB,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable import/group-exports */
4
+
5
+ import { BTManagedDevice } from "../bt-managed-device.js";
6
+ import { BIOLAND_NOTIFY, BIOLAND_SERVICE, BIOLAND_WRITE, BiolandFrameReader } from "./bioland.bgm.protocol.js";
7
+ import { BiolandBgmSequencer } from "./bioland.bgm.sequencer.js";
8
+ const acceptNothing = {
9
+ caseValuePosition: [],
10
+ cases: []
11
+ };
12
+ export const biolandBgmMainServices = [{
13
+ uuid: BIOLAND_SERVICE,
14
+ monitorUuids: [{
15
+ uuid: BIOLAND_NOTIFY,
16
+ parsingModel: acceptNothing
17
+ }],
18
+ writeUuid: {
19
+ uuid: BIOLAND_WRITE,
20
+ mainCommandUuid: "5a"
21
+ }
22
+ }];
23
+
24
+ /** Bioland BGM glucose meter using the 5A length-prefixed protocol. */
25
+ export class BiolandBgmDevice extends BTManagedDevice {
26
+ mainServices = biolandBgmMainServices;
27
+ stuckDataTimeout = 30_000;
28
+ onStreamStart = undefined;
29
+ preferredMtu = 247;
30
+ constructor(device, params) {
31
+ super(device, params);
32
+ this.frameReader = new BiolandFrameReader();
33
+ this.createCommandSequencer = () => new BiolandBgmSequencer({
34
+ write: {
35
+ serviceUuid: BIOLAND_SERVICE,
36
+ characteristicUuid: BIOLAND_WRITE
37
+ },
38
+ onResult: result => this.onResult?.(result)
39
+ });
40
+ }
41
+ handleSuccessResult() {
42
+ return;
43
+ }
44
+ }
45
+ //# sourceMappingURL=bioland.bgm.device.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BTManagedDevice","BIOLAND_NOTIFY","BIOLAND_SERVICE","BIOLAND_WRITE","BiolandFrameReader","BiolandBgmSequencer","acceptNothing","caseValuePosition","cases","biolandBgmMainServices","uuid","monitorUuids","parsingModel","writeUuid","mainCommandUuid","BiolandBgmDevice","mainServices","stuckDataTimeout","onStreamStart","undefined","preferredMtu","constructor","device","params","frameReader","createCommandSequencer","write","serviceUuid","characteristicUuid","onResult","result","handleSuccessResult"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/bioland.bgm.device.ts"],"mappings":";;AAAA;;AASA,SAASA,eAAe,QAAQ,yBAAsB;AAEtD,SACEC,cAAc,EACdC,eAAe,EACfC,aAAa,EACbC,kBAAkB,QACb,2BAAwB;AAC/B,SAASC,mBAAmB,QAAQ,4BAAyB;AAE7D,MAAMC,aAAa,GAAG;EAAEC,iBAAiB,EAAE,EAAE;EAAEC,KAAK,EAAE;AAAG,CAAC;AAE1D,OAAO,MAAMC,sBAAkC,GAAG,CAChD;EACEC,IAAI,EAAER,eAAe;EACrBS,YAAY,EAAE,CAAC;IAAED,IAAI,EAAET,cAAc;IAAEW,YAAY,EAAEN;EAAc,CAAC,CAAC;EACrEO,SAAS,EAAE;IACTH,IAAI,EAAEP,aAAa;IACnBW,eAAe,EAAE;EACnB;AACF,CAAC,CACF;;AAED;AACA,OAAO,MAAMC,gBAAgB,SAASf,eAAe,CAAgC;EACzEgB,YAAY,GAAGP,sBAAsB;EACrCQ,gBAAgB,GAAG,MAAM;EACzBC,aAAa,GAAGC,SAAS;EAChBC,YAAY,GAAG,GAAG;EAE9BC,WAAWA,CAChBC,MAAc,EACdC,MAAyD,EACzD;IACA,KAAK,CAACD,MAAM,EAAEC,MAAM,CAAC;IACrB,IAAI,CAACC,WAAW,GAAG,IAAIpB,kBAAkB,CAAC,CAAC;IAC3C,IAAI,CAACqB,sBAAsB,GAAG,MAC5B,IAAIpB,mBAAmB,CAAC;MACtBqB,KAAK,EAAE;QACLC,WAAW,EAAEzB,eAAe;QAC5B0B,kBAAkB,EAAEzB;MACtB,CAAC;MACD0B,QAAQ,EAAGC,MAAM,IACf,IAAI,CAACD,QAAQ,GACXC,MAGF;IACJ,CAAC,CAAC;EACN;EAEUC,mBAAmBA,CAAA,EAAS;IACpC;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable import/group-exports */
4
+
5
+ import { FrameReadStatus } from "../../../types/frame-read-status.js";
6
+ import { hexToByte } from "../../../utils/hex-to-byte.js";
7
+ export const BIOLAND_SERVICE = "00001000-0000-1000-8000-00805f9b34fb";
8
+ export const BIOLAND_WRITE = "00001001-0000-1000-8000-00805f9b34fb";
9
+ export const BIOLAND_NOTIFY = "00001002-0000-1000-8000-00805f9b34fb";
10
+ export const BiolandCommand = {
11
+ info: 0x00,
12
+ data: 0x03
13
+ };
14
+ const byte = value => (value & 0xff).toString(16).padStart(2, "0");
15
+ const checksum = frame => {
16
+ const sum = frame.slice(0, -1).reduce((total, value) => total + hexToByte(value), 2);
17
+ return byte(sum);
18
+ };
19
+ const command = (commandType, now = new Date()) => {
20
+ const frame = ["5a", "0a", byte(commandType), byte(now.getFullYear() - 2000), byte(now.getMonth() + 1), byte(now.getDate()), byte(now.getHours()), byte(now.getMinutes()), byte(now.getSeconds()), "00"];
21
+ frame[frame.length - 1] = checksum(frame);
22
+ return frame;
23
+ };
24
+ export const biolandGetInfo = now => command(BiolandCommand.info, now);
25
+ export const biolandGetData = now => command(BiolandCommand.data, now);
26
+ export const decodeBiolandResponse = bytes => {
27
+ if (hexToByte(bytes[0] ?? "00") !== 0x5a) {
28
+ return undefined;
29
+ }
30
+ const length = hexToByte(bytes[1] ?? "00");
31
+ if (length < 4 || bytes.length < length) {
32
+ return undefined;
33
+ }
34
+ const frame = bytes.slice(0, length);
35
+ if (checksum(frame) !== (frame.at(-1) ?? "00")) {
36
+ return undefined;
37
+ }
38
+ return {
39
+ command: hexToByte(frame[2] ?? "00"),
40
+ content: frame.slice(3, -1)
41
+ };
42
+ };
43
+ export const parseBiolandGlucoseResult = content => {
44
+ if (content.length < 8) {
45
+ return undefined;
46
+ }
47
+ const year = 2000 + hexToByte(content[0] ?? "00");
48
+ const month = hexToByte(content[1] ?? "00");
49
+ const day = hexToByte(content[2] ?? "00");
50
+ const hour = hexToByte(content[3] ?? "00");
51
+ const minute = hexToByte(content[4] ?? "00");
52
+ const bloodGlucose = hexToByte(content[6] ?? "00") << 8 | hexToByte(content[7] ?? "00");
53
+ const recordedAt = new Date(year, month - 1, day, hour, minute);
54
+ if (month < 1 || month > 12 || day < 1 || day > 31 || hour > 23 || minute > 59 || recordedAt.getFullYear() !== year || recordedAt.getMonth() !== month - 1 || recordedAt.getDate() !== day || bloodGlucose < 1 || bloodGlucose > 1_000) {
55
+ return undefined;
56
+ }
57
+ return {
58
+ bloodGlucose,
59
+ recordedAt
60
+ };
61
+ };
62
+
63
+ /** Reads split and concatenated 5A length-prefixed Bioland frames. */
64
+ export class BiolandFrameReader {
65
+ readFrame(buffer) {
66
+ const start = buffer.indexOf("5a");
67
+ if (start < 0) {
68
+ return {
69
+ status: FrameReadStatus.INCOMPLETE,
70
+ consumedBytes: Math.max(0, buffer.length - 1)
71
+ };
72
+ }
73
+ if (start + 2 > buffer.length) {
74
+ return {
75
+ status: FrameReadStatus.INCOMPLETE,
76
+ consumedBytes: start
77
+ };
78
+ }
79
+ const length = hexToByte(buffer[start + 1] ?? "00");
80
+ if (length < 4) {
81
+ return {
82
+ status: FrameReadStatus.CORRUPT,
83
+ consumedBytes: start + 1
84
+ };
85
+ }
86
+ if (start + length > buffer.length) {
87
+ return {
88
+ status: FrameReadStatus.INCOMPLETE,
89
+ consumedBytes: start
90
+ };
91
+ }
92
+ const frame = buffer.slice(start, start + length);
93
+ if (checksum(frame) !== (frame.at(-1) ?? "00")) {
94
+ return {
95
+ status: FrameReadStatus.CORRUPT,
96
+ consumedBytes: start + 1
97
+ };
98
+ }
99
+ return {
100
+ status: FrameReadStatus.COMPLETE,
101
+ consumedBytes: start + length,
102
+ frame
103
+ };
104
+ }
105
+ }
106
+ //# sourceMappingURL=bioland.bgm.protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FrameReadStatus","hexToByte","BIOLAND_SERVICE","BIOLAND_WRITE","BIOLAND_NOTIFY","BiolandCommand","info","data","byte","value","toString","padStart","checksum","frame","sum","slice","reduce","total","command","commandType","now","Date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","length","biolandGetInfo","biolandGetData","decodeBiolandResponse","bytes","undefined","at","content","parseBiolandGlucoseResult","year","month","day","hour","minute","bloodGlucose","recordedAt","BiolandFrameReader","readFrame","buffer","start","indexOf","status","INCOMPLETE","consumedBytes","Math","max","CORRUPT","COMPLETE"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/bioland.bgm.protocol.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ import { MeasurementTypeKey } from "@ovok/core";
4
+ import { CaseType } from "../../../types/case-type.js";
5
+ import { biolandGetData, biolandGetInfo, BiolandCommand, decodeBiolandResponse, parseBiolandGlucoseResult } from "./bioland.bgm.protocol.js";
6
+ const command = (write, frame) => ({
7
+ ...write,
8
+ frame,
9
+ withoutResponse: true
10
+ });
11
+
12
+ /** Reads the timestamped glucose result from a Bioland BGM. */
13
+ export class BiolandBgmSequencer {
14
+ phase = "info";
15
+ constructor(params) {
16
+ this.params = params;
17
+ }
18
+ initialCommands = () => [this.write(biolandGetInfo(this.params.now?.()))];
19
+ isHistoryTransfer = () => true;
20
+ isNormalDisconnect = () => this.phase === "done";
21
+ commandTimeoutMs = () => this.phase === "done" ? undefined : 5_000;
22
+ onCommandTimeout = () => {
23
+ this.phase = "done";
24
+ return {
25
+ terminal: true
26
+ };
27
+ };
28
+ nextCommand = frame => {
29
+ const response = decodeBiolandResponse(frame);
30
+ if (!response || this.phase === "done") {
31
+ return undefined;
32
+ }
33
+ if (this.phase === "info" && response.command === BiolandCommand.info) {
34
+ this.phase = "data";
35
+ return [this.write(biolandGetData(this.params.now?.()))];
36
+ }
37
+ if (this.phase === "data" && response.command === BiolandCommand.data) {
38
+ const result = parseBiolandGlucoseResult(response.content);
39
+ if (result) {
40
+ this.params.onResult({
41
+ caseType: CaseType.RESULT,
42
+ measurementTypeKey: MeasurementTypeKey.bloodGlucose,
43
+ bloodGlucose: result.bloodGlucose,
44
+ recordedAt: result.recordedAt
45
+ });
46
+ }
47
+ this.phase = "done";
48
+ }
49
+ return undefined;
50
+ };
51
+ write = frame => command(this.params.write, frame);
52
+ }
53
+ //# sourceMappingURL=bioland.bgm.sequencer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MeasurementTypeKey","CaseType","biolandGetData","biolandGetInfo","BiolandCommand","decodeBiolandResponse","parseBiolandGlucoseResult","command","write","frame","withoutResponse","BiolandBgmSequencer","phase","constructor","params","initialCommands","now","isHistoryTransfer","isNormalDisconnect","commandTimeoutMs","undefined","onCommandTimeout","terminal","nextCommand","response","info","data","result","content","onResult","caseType","RESULT","measurementTypeKey","bloodGlucose","recordedAt"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/bioland.bgm.sequencer.ts"],"mappings":";;AAAA,SAAkCA,kBAAkB,QAAQ,YAAY;AAExE,SAASC,QAAQ,QAAQ,6BAA0B;AAQnD,SACEC,cAAc,EACdC,cAAc,EACdC,cAAc,EACdC,qBAAqB,EACrBC,yBAAyB,QACpB,2BAAwB;AAU/B,MAAMC,OAAO,GAAGA,CACdC,KAAmC,EACnCC,KAAwB,MACL;EAAE,GAAGD,KAAK;EAAEC,KAAK;EAAEC,eAAe,EAAE;AAAK,CAAC,CAAC;;AAEhE;AACA,OAAO,MAAMC,mBAAmB,CAA6B;EACnDC,KAAK,GAA6B,MAAM;EAEzCC,WAAWA,CAAkBC,MAA8B,EAAE;IAAA,KAAhCA,MAA8B,GAA9BA,MAA8B;EAAG;EAE9DC,eAAe,GAAGA,CAAA,KAAgC,CACvD,IAAI,CAACP,KAAK,CAACL,cAAc,CAAC,IAAI,CAACW,MAAM,CAACE,GAAG,GAAG,CAAC,CAAC,CAAC,CAChD;EAEMC,iBAAiB,GAAGA,CAAA,KAAe,IAAI;EAEvCC,kBAAkB,GAAGA,CAAA,KAAe,IAAI,CAACN,KAAK,KAAK,MAAM;EAEzDO,gBAAgB,GAAGA,CAAA,KACxB,IAAI,CAACP,KAAK,KAAK,MAAM,GAAGQ,SAAS,GAAG,KAAK;EAEpCC,gBAAgB,GAAGA,CAAA,KAA4B;IACpD,IAAI,CAACT,KAAK,GAAG,MAAM;IAEnB,OAAO;MAAEU,QAAQ,EAAE;IAAK,CAAC;EAC3B,CAAC;EAEMC,WAAW,GAChBd,KAAwB,IACiB;IACzC,MAAMe,QAAQ,GAAGnB,qBAAqB,CAACI,KAAK,CAAC;IAE7C,IAAI,CAACe,QAAQ,IAAI,IAAI,CAACZ,KAAK,KAAK,MAAM,EAAE;MACtC,OAAOQ,SAAS;IAClB;IAEA,IAAI,IAAI,CAACR,KAAK,KAAK,MAAM,IAAIY,QAAQ,CAACjB,OAAO,KAAKH,cAAc,CAACqB,IAAI,EAAE;MACrE,IAAI,CAACb,KAAK,GAAG,MAAM;MAEnB,OAAO,CAAC,IAAI,CAACJ,KAAK,CAACN,cAAc,CAAC,IAAI,CAACY,MAAM,CAACE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1D;IAEA,IAAI,IAAI,CAACJ,KAAK,KAAK,MAAM,IAAIY,QAAQ,CAACjB,OAAO,KAAKH,cAAc,CAACsB,IAAI,EAAE;MACrE,MAAMC,MAAM,GAAGrB,yBAAyB,CAACkB,QAAQ,CAACI,OAAO,CAAC;MAE1D,IAAID,MAAM,EAAE;QACV,IAAI,CAACb,MAAM,CAACe,QAAQ,CAAC;UACnBC,QAAQ,EAAE7B,QAAQ,CAAC8B,MAAM;UACzBC,kBAAkB,EAAEhC,kBAAkB,CAACiC,YAAY;UACnDA,YAAY,EAAEN,MAAM,CAACM,YAAY;UACjCC,UAAU,EAAEP,MAAM,CAACO;QACrB,CAAC,CAAC;MACJ;MAEA,IAAI,CAACtB,KAAK,GAAG,MAAM;IACrB;IAEA,OAAOQ,SAAS;EAClB,CAAC;EAEOZ,KAAK,GAAIC,KAAwB,IACvCF,OAAO,CAAC,IAAI,CAACO,MAAM,CAACN,KAAK,EAAEC,KAAK,CAAC;AACrC","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable import/group-exports */
4
+
5
+ import { BTManagedDevice } from "../bt-managed-device.js";
6
+ import { POCTOR_NOTIFY, POCTOR_SERVICE, PoctorFrameReader } from "./poctor.m3102.protocol.js";
7
+ import { PoctorSequencer } from "./poctor.m3102.sequencer.js";
8
+ const acceptNothing = {
9
+ caseValuePosition: [],
10
+ cases: []
11
+ };
12
+ export const poctorM3102MainServices = [{
13
+ uuid: POCTOR_SERVICE,
14
+ monitorUuids: [{
15
+ uuid: POCTOR_NOTIFY,
16
+ parsingModel: acceptNothing
17
+ }]
18
+ }];
19
+
20
+ /** Poctor M3102 unsolicited glucose and uric-acid records. */
21
+ export class PoctorM3102Device extends BTManagedDevice {
22
+ mainServices = poctorM3102MainServices;
23
+ stuckDataTimeout = 60_000;
24
+ onStreamStart = undefined;
25
+ constructor(device, params) {
26
+ super(device, params);
27
+ this.frameReader = new PoctorFrameReader();
28
+ this.createCommandSequencer = () => new PoctorSequencer({
29
+ onResult: result => this.onResult?.(result)
30
+ });
31
+ }
32
+ handleSuccessResult() {
33
+ return;
34
+ }
35
+ }
36
+ //# sourceMappingURL=poctor.m3102.device.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BTManagedDevice","POCTOR_NOTIFY","POCTOR_SERVICE","PoctorFrameReader","PoctorSequencer","acceptNothing","caseValuePosition","cases","poctorM3102MainServices","uuid","monitorUuids","parsingModel","PoctorM3102Device","mainServices","stuckDataTimeout","onStreamStart","undefined","constructor","device","params","frameReader","createCommandSequencer","onResult","result","handleSuccessResult"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/poctor.m3102.device.ts"],"mappings":";;AAAA;;AASA,SAASA,eAAe,QAAQ,yBAAsB;AAEtD,SACEC,aAAa,EACbC,cAAc,EACdC,iBAAiB,QACZ,4BAAyB;AAChC,SAASC,eAAe,QAAQ,6BAA0B;AAE1D,MAAMC,aAAa,GAAG;EAAEC,iBAAiB,EAAE,EAAE;EAAEC,KAAK,EAAE;AAAG,CAAC;AAE1D,OAAO,MAAMC,uBAAmC,GAAG,CACjD;EACEC,IAAI,EAAEP,cAAc;EACpBQ,YAAY,EAAE,CAAC;IAAED,IAAI,EAAER,aAAa;IAAEU,YAAY,EAAEN;EAAc,CAAC;AACrE,CAAC,CACF;;AAED;AACA,OAAO,MAAMO,iBAAiB,SAASZ,eAAe,CAAiC;EAC3Ea,YAAY,GAAGL,uBAAuB;EACtCM,gBAAgB,GAAG,MAAM;EACzBC,aAAa,GAAGC,SAAS;EAE5BC,WAAWA,CAChBC,MAAc,EACdC,MAA0D,EAC1D;IACA,KAAK,CAACD,MAAM,EAAEC,MAAM,CAAC;IACrB,IAAI,CAACC,WAAW,GAAG,IAAIjB,iBAAiB,CAAC,CAAC;IAC1C,IAAI,CAACkB,sBAAsB,GAAG,MAC5B,IAAIjB,eAAe,CAAC;MAClBkB,QAAQ,EAAGC,MAAM,IACf,IAAI,CAACD,QAAQ,GACXC,MAGF;IACJ,CAAC,CAAC;EACN;EAEUC,mBAAmBA,CAAA,EAAS;IACpC;EACF;AACF","ignoreList":[]}