@ovok/native 1.5.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js +2 -2
  2. package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js.map +1 -1
  3. package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.js +2 -2
  4. package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
  5. package/lib/commonjs/modules/bt-device/constants/supported-devices.js +40 -12
  6. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
  7. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +13 -2
  8. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  9. package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js +88 -0
  10. package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
  11. package/lib/commonjs/modules/bt-management/services/bt-manager.js +2 -0
  12. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  13. package/lib/commonjs/modules/bt-management/services/custom/compile-case-fields.js +3 -1
  14. package/lib/commonjs/modules/bt-management/services/custom/compile-case-fields.js.map +1 -1
  15. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +4 -0
  16. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  17. package/lib/commonjs/modules/bt-management/services/device-creator.js +6 -2
  18. package/lib/commonjs/modules/bt-management/services/device-creator.js.map +1 -1
  19. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj.thermometers.js +1 -1
  20. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -1
  21. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +3 -1
  22. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  23. package/lib/commonjs/modules/bt-management/services/devices/bt-device-information.js +41 -0
  24. package/lib/commonjs/modules/bt-management/services/devices/bt-device-information.js.map +1 -0
  25. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +27 -1
  26. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  27. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +14 -3
  28. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  29. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +12 -3
  30. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  31. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +1 -0
  32. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  33. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +67 -11
  34. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
  35. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +4 -2
  36. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
  37. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +18 -1
  38. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -1
  39. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +4 -1
  40. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  41. package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js +2 -2
  42. package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js.map +1 -1
  43. package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js +2 -2
  44. package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
  45. package/lib/module/modules/bt-device/constants/supported-devices.js +44 -16
  46. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
  47. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +13 -2
  48. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  49. package/lib/module/modules/bt-management/constants/measurement-field-catalog.js +88 -0
  50. package/lib/module/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
  51. package/lib/module/modules/bt-management/services/bt-manager.js +2 -0
  52. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  53. package/lib/module/modules/bt-management/services/custom/compile-case-fields.js +3 -1
  54. package/lib/module/modules/bt-management/services/custom/compile-case-fields.js.map +1 -1
  55. package/lib/module/modules/bt-management/services/custom/define-custom-device.js +4 -0
  56. package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  57. package/lib/module/modules/bt-management/services/device-creator.js +6 -2
  58. package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
  59. package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js +1 -1
  60. package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -1
  61. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +3 -1
  62. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  63. package/lib/module/modules/bt-management/services/devices/bt-device-information.js +37 -0
  64. package/lib/module/modules/bt-management/services/devices/bt-device-information.js.map +1 -0
  65. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +27 -1
  66. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  67. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +16 -5
  68. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  69. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +12 -3
  70. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  71. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +1 -0
  72. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  73. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +67 -11
  74. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
  75. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +4 -2
  76. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
  77. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +17 -1
  78. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -1
  79. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +4 -1
  80. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  81. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/apple-login-button.d.ts.map +1 -1
  82. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/google-login-button.d.ts.map +1 -1
  83. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +3 -1
  84. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  85. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-field-catalog.d.ts +4 -0
  87. package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +2 -0
  89. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  90. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-case-fields.d.ts.map +1 -1
  91. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  92. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  93. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +2 -0
  94. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  95. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-device-information.d.ts +11 -0
  96. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-device-information.d.ts.map +1 -0
  97. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +3 -1
  98. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  99. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +1 -0
  100. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  101. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +4 -0
  102. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  103. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  104. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +2 -3
  105. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
  106. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +4 -0
  107. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
  108. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +3 -1
  109. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -1
  110. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +3 -1
  111. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  112. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts +2 -0
  113. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  114. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +2 -0
  115. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  116. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +1 -0
  117. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  118. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts +2 -0
  119. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
  120. package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts +2 -0
  121. package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts.map +1 -1
  122. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/apple-login-button.d.ts.map +1 -1
  123. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/google-login-button.d.ts.map +1 -1
  124. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +3 -1
  125. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  126. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  127. package/lib/typescript/module/src/modules/bt-management/constants/measurement-field-catalog.d.ts +4 -0
  128. package/lib/typescript/module/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
  129. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +2 -0
  130. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  131. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-case-fields.d.ts.map +1 -1
  132. package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  133. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  134. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +2 -0
  135. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  136. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-device-information.d.ts +11 -0
  137. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-device-information.d.ts.map +1 -0
  138. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +3 -1
  139. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  140. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +1 -0
  141. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  142. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +4 -0
  143. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  144. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  145. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +2 -3
  146. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
  147. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +4 -0
  148. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
  149. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +3 -1
  150. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -1
  151. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +3 -1
  152. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  153. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts +2 -0
  154. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  155. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +2 -0
  156. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  157. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +1 -0
  158. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  159. package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts +2 -0
  160. package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
  161. package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts +2 -0
  162. package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts.map +1 -1
  163. package/package.json +2 -2
@@ -131,8 +131,12 @@ class DeviceCreator {
131
131
  }
132
132
  }
133
133
  for (const custom of this.customDevices.values()) {
134
- const serviceMatch = custom.matchByService && custom.mainServices.some(service => serviceUUIDs.has(service.uuid.toLowerCase()));
135
- if (serviceMatch || deviceName && custom.nameMatch.test(deviceName)) {
134
+ if (!custom.matchByService && deviceName && custom.nameMatch.test(deviceName)) {
135
+ return custom.id;
136
+ }
137
+ }
138
+ for (const custom of this.customDevices.values()) {
139
+ if (custom.matchByService && custom.mainServices.some(service => serviceUUIDs.has(service.uuid.toLowerCase()))) {
136
140
  return custom.id;
137
141
  }
138
142
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_integratedDevicesMap","require","_integratedDevices","_isCustomDeviceDefinition","_bc01Device","_bloodGlucoseDevice","_bp2Device","_customDevice","_f4Device","_oxyfitDevice","_spo2Device","_mysenseDevice","_verovalDuoControlDevice","_verovalEcgDevice","DEVICE_CLASSES","IntegratedDevices","BP2","BP2Device","F4","F4Device","PC60WF","SPO2Device","SPO2","OxyfitDevice","MYSENSE","MySenseDevice","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":[]}
1
+ {"version":3,"names":["_integratedDevicesMap","require","_integratedDevices","_isCustomDeviceDefinition","_bc01Device","_bloodGlucoseDevice","_bp2Device","_customDevice","_f4Device","_oxyfitDevice","_spo2Device","_mysenseDevice","_verovalDuoControlDevice","_verovalEcgDevice","DEVICE_CLASSES","IntegratedDevices","BP2","BP2Device","F4","F4Device","PC60WF","SPO2Device","SPO2","OxyfitDevice","MYSENSE","MySenseDevice","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","mainServices","service","firstKey","next","value","delete","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/device-creator.ts"],"mappings":"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","ignoreList":[]}
@@ -49,7 +49,7 @@ const SPOT_CHECK_TIMEOUT_MS = 60_000;
49
49
  */
50
50
  const aoj20aThermometer = params => (0, _defineCustomDevice.defineCustomDevice)({
51
51
  id: params.id ?? "aoj-20a-thermometer",
52
- nameMatch: params.nameMatch,
52
+ nameMatch: params.nameMatch ?? /^AOJ-20A$/i,
53
53
  stuckDataTimeoutMs: params.stuckDataTimeoutMs ?? SPOT_CHECK_TIMEOUT_MS,
54
54
  services: [{
55
55
  uuid: "ffe0",
@@ -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,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":[]}
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,IAAI,YAAY;EAC3CC,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":[]}
@@ -8,6 +8,7 @@ var _sentryLogger = require("../../../helpers/utils/sentry-logger.js");
8
8
  var _deviceStatus = require("../../types/device-status.js");
9
9
  var _base64ToHex = require("../../utils/base-64-to-hex.js");
10
10
  var _btCommandWriter = require("./bt-command-writer.js");
11
+ var _btDeviceInformation = require("./bt-device-information.js");
11
12
  class BTConnectionHandler {
12
13
  characteristicSubscriptions = [];
13
14
  constructor(device, mainServices, callbacks, preferredMtu) {
@@ -21,8 +22,9 @@ class BTConnectionHandler {
21
22
  try {
22
23
  await this.connectWithRetries();
23
24
  await this.requestPreferredMtu();
24
- this.callbacks.onStatusChanged?.(_deviceStatus.DeviceStatus.CONNECTED);
25
25
  await this.device.discoverAllServicesAndCharacteristics();
26
+ await (0, _btDeviceInformation.readDeviceInformation)(this.device, this.callbacks.onDeviceInfo);
27
+ this.callbacks.onStatusChanged?.(_deviceStatus.DeviceStatus.CONNECTED);
26
28
  this.onDisconnectSubscription = this.device.onDisconnected(this.onDeviceDisconnected);
27
29
  await this.subscribeToAllCharacteristics();
28
30
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"names":["_sentryLogger","require","_deviceStatus","_base64ToHex","_btCommandWriter","BTConnectionHandler","characteristicSubscriptions","constructor","device","mainServices","callbacks","preferredMtu","writer","BTCommandWriter","onError","connect","connectWithRetries","requestPreferredMtu","onStatusChanged","DeviceStatus","CONNECTED","discoverAllServicesAndCharacteristics","onDisconnectSubscription","onDisconnected","onDeviceDisconnected","subscribeToAllCharacteristics","error","sentryLogger","Error","message","deviceName","name","DISCONNECTED","destroy","forEach","sub","remove","reset","sendCommands","commands","send","negotiated","requestMTU","useNegotiatedMtu","mtu","deviceId","id","requestedMtu","String","maxRetries","retryDelay","maxDelay","connected","retryCount","isConnected","errorCode","willRetry","Promise","resolve","setTimeout","Math","min","pow","isNormalDisconnect","mainService","monitorUuid","monitorUuids","subscription","monitorCharacteristicForService","uuid","result","value","hexValue","base64ToHex","onDataReceived","push","initialCommands","length","onCommandSent","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-connection-handler.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_sentryLogger","require","_deviceStatus","_base64ToHex","_btCommandWriter","_btDeviceInformation","BTConnectionHandler","characteristicSubscriptions","constructor","device","mainServices","callbacks","preferredMtu","writer","BTCommandWriter","onError","connect","connectWithRetries","requestPreferredMtu","discoverAllServicesAndCharacteristics","readDeviceInformation","onDeviceInfo","onStatusChanged","DeviceStatus","CONNECTED","onDisconnectSubscription","onDisconnected","onDeviceDisconnected","subscribeToAllCharacteristics","error","sentryLogger","Error","message","deviceName","name","DISCONNECTED","destroy","forEach","sub","remove","reset","sendCommands","commands","send","negotiated","requestMTU","useNegotiatedMtu","mtu","deviceId","id","requestedMtu","String","maxRetries","retryDelay","maxDelay","connected","retryCount","isConnected","errorCode","willRetry","Promise","resolve","setTimeout","Math","min","pow","isNormalDisconnect","mainService","monitorUuid","monitorUuids","subscription","monitorCharacteristicForService","uuid","result","value","hexValue","base64ToHex","onDataReceived","push","initialCommands","length","onCommandSent","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-connection-handler.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.readDeviceInformation = void 0;
7
+ var _sentryLogger = require("../../../helpers/utils/sentry-logger.js");
8
+ const readDeviceInformation = async (device, onDeviceInfo) => {
9
+ const read = device.readCharacteristicForService;
10
+ if (typeof read !== "function") {
11
+ return;
12
+ }
13
+ const info = {};
14
+ const values = [["name", "00001800-0000-1000-8000-00805f9b34fb", "00002a00-0000-1000-8000-00805f9b34fb"], ["manufacturerName", "0000180a-0000-1000-8000-00805f9b34fb", "00002a29-0000-1000-8000-00805f9b34fb"], ["model", "0000180a-0000-1000-8000-00805f9b34fb", "00002a24-0000-1000-8000-00805f9b34fb"], ["serialNumber", "0000180a-0000-1000-8000-00805f9b34fb", "00002a25-0000-1000-8000-00805f9b34fb"]];
15
+ for (const [key, serviceUuid, characteristicUuid] of values) {
16
+ try {
17
+ const characteristic = await read.call(device, serviceUuid, characteristicUuid);
18
+ const value = characteristic?.value;
19
+ if (!value) {
20
+ continue;
21
+ }
22
+ const text = Buffer.from(value, "base64").toString("utf8").replace(/\0+$/, "").trim();
23
+ if (text) {
24
+ info[key] = text;
25
+ }
26
+ } catch (error) {
27
+ // Optional GAP/Device Information characteristics are not present on every device.
28
+ (0, _sentryLogger.sentryLogger)("info", "DEVICE: Optional device information unavailable", {
29
+ deviceId: device.id,
30
+ deviceName: device.name,
31
+ characteristicUuid,
32
+ error: error instanceof Error ? error.message : String(error)
33
+ });
34
+ }
35
+ }
36
+ if (Object.keys(info).length > 0) {
37
+ onDeviceInfo?.(info);
38
+ }
39
+ };
40
+ exports.readDeviceInformation = readDeviceInformation;
41
+ //# sourceMappingURL=bt-device-information.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_sentryLogger","require","readDeviceInformation","device","onDeviceInfo","read","readCharacteristicForService","info","values","key","serviceUuid","characteristicUuid","characteristic","call","value","text","Buffer","from","toString","replace","trim","error","sentryLogger","deviceId","id","deviceName","name","Error","message","String","Object","keys","length","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-device-information.ts"],"mappings":";;;;;;AAEA,IAAAA,aAAA,GAAAC,OAAA;AASA,MAAMC,qBAAqB,GAAG,MAAAA,CAC5BC,MAAc,EACdC,YAAkD,KAChC;EAClB,MAAMC,IAAI,GAAGF,MAAM,CAACG,4BAA4B;EAEhD,IAAI,OAAOD,IAAI,KAAK,UAAU,EAAE;IAC9B;EACF;EAEA,MAAME,IAAyB,GAAG,CAAC,CAAC;EAEpC,MAAMC,MAA8D,GAAG,CACrE,CAAC,MAAM,EAAE,sCAAsC,EAAE,sCAAsC,CAAC,EACxF,CAAC,kBAAkB,EAAE,sCAAsC,EAAE,sCAAsC,CAAC,EACpG,CAAC,OAAO,EAAE,sCAAsC,EAAE,sCAAsC,CAAC,EACzF,CAAC,cAAc,EAAE,sCAAsC,EAAE,sCAAsC,CAAC,CACjG;EAED,KAAK,MAAM,CAACC,GAAG,EAAEC,WAAW,EAAEC,kBAAkB,CAAC,IAAIH,MAAM,EAAE;IAC3D,IAAI;MACF,MAAMI,cAAc,GAAG,MAAMP,IAAI,CAACQ,IAAI,CACpCV,MAAM,EACNO,WAAW,EACXC,kBACF,CAAC;MAED,MAAMG,KAAK,GAAGF,cAAc,EAAEE,KAAK;MAEnC,IAAI,CAACA,KAAK,EAAE;QACV;MACF;MAEA,MAAMC,IAAI,GAAGC,MAAM,CAACC,IAAI,CAACH,KAAK,EAAE,QAAQ,CAAC,CACtCI,QAAQ,CAAC,MAAM,CAAC,CAChBC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CACnBC,IAAI,CAAC,CAAC;MAET,IAAIL,IAAI,EAAE;QACRR,IAAI,CAACE,GAAG,CAAC,GAAGM,IAAI;MAClB;IACF,CAAC,CAAC,OAAOM,KAAK,EAAE;MACd;MACA,IAAAC,0BAAY,EAAC,MAAM,EAAE,iDAAiD,EAAE;QACtEC,QAAQ,EAAEpB,MAAM,CAACqB,EAAE;QACnBC,UAAU,EAAEtB,MAAM,CAACuB,IAAI;QACvBf,kBAAkB;QAClBU,KAAK,EAAEA,KAAK,YAAYM,KAAK,GAAGN,KAAK,CAACO,OAAO,GAAGC,MAAM,CAACR,KAAK;MAC9D,CAAC,CAAC;IACJ;EACF;EAEA,IAAIS,MAAM,CAACC,IAAI,CAACxB,IAAI,CAAC,CAACyB,MAAM,GAAG,CAAC,EAAE;IAChC5B,YAAY,GAAGG,IAAI,CAAC;EACtB;AACF,CAAC;AAAC0B,OAAA,CAAA/B,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -11,7 +11,11 @@ var _supportedMeasurementTypeKeys = require("../../utils/supported-measurement-t
11
11
  var _btConnectionHandler = require("./bt-connection-handler.js");
12
12
  var _btDataProcessor = require("./bt-data-processor.js");
13
13
  var _pollingCommandSequencer = require("./polling-command-sequencer.js");
14
+ /* eslint-disable max-lines */
15
+
14
16
  class BTManagedDevice {
17
+ resultReportedThisConnection = false;
18
+
15
19
  /**
16
20
  * The timeout in milliseconds for the stuck data.
17
21
  */
@@ -63,9 +67,11 @@ class BTManagedDevice {
63
67
  onError: onErrorCallback,
64
68
  onDeviceStatusChanged: onDeviceStatusChangedCallback,
65
69
  onResult: onResultCallback,
66
- onDeviceDisconnected: onDeviceDisconnectedCallback
70
+ onDeviceDisconnected: onDeviceDisconnectedCallback,
71
+ oneReadingPerConnection
67
72
  }) {
68
73
  this.device = device;
74
+ this.oneReadingPerConnection = oneReadingPerConnection === true;
69
75
  (0, _sentryLogger.sentryLogger)("info", "BT_MANAGER: Creating BTManagedDevice", {
70
76
  deviceId: device.id,
71
77
  deviceName: deviceName
@@ -108,6 +114,10 @@ class BTManagedDevice {
108
114
  caseType: _,
109
115
  ...data
110
116
  }) => {
117
+ if (this.oneReadingPerConnection && this.resultReportedThisConnection) {
118
+ return;
119
+ }
120
+ this.resultReportedThisConnection = true;
111
121
  (0, _sentryLogger.sentryLogger)("info", "BT_MANAGER: Calling onResult callback", {
112
122
  data: (0, _summariseMeasurementForLog.summariseMeasurementForLog)(data),
113
123
  deviceData: this.deviceData,
@@ -132,6 +142,8 @@ class BTManagedDevice {
132
142
  this.onResult = undefined;
133
143
  };
134
144
  connect = async () => {
145
+ this.resultReportedThisConnection = false;
146
+
135
147
  // To access the abstract property in the constructor, we need to set it here
136
148
  this.deviceData.measurementTypes = (0, _supportedMeasurementTypeKeys.supportedMeasurementTypeKeys)(this.mainServices);
137
149
  const sequencer = this.createCommandSequencer?.() ?? (0, _pollingCommandSequencer.pollingSequencerFor)(this.mainServices);
@@ -147,6 +159,20 @@ class BTManagedDevice {
147
159
  onDataReceived: (uuid, hexValue) => {
148
160
  this.dataProcessor?.processData(uuid, hexValue);
149
161
  },
162
+ onDeviceInfo: info => {
163
+ if (info.name) {
164
+ this.deviceData.localName = info.name;
165
+ }
166
+ if (info.manufacturerName) {
167
+ this.deviceData.manufacturerName = info.manufacturerName;
168
+ }
169
+ if (info.model) {
170
+ this.deviceData.model = info.model;
171
+ }
172
+ if (info.serialNumber) {
173
+ this.deviceData.sn = info.serialNumber;
174
+ }
175
+ },
150
176
  initialCommands: () => sequencer.initialCommands(),
151
177
  onCommandSent: () => this.dataProcessor?.armStuckTimeout(),
152
178
  isNormalDisconnect: () => sequencer.isNormalDisconnect?.() ?? false
@@ -1 +1 @@
1
- {"version":3,"names":["_sentryLogger","require","_deviceStatus","_summariseMeasurementForLog","_supportedMeasurementTypeKeys","_btConnectionHandler","_btDataProcessor","_pollingCommandSequencer","BTManagedDevice","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","sentryLogger","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","status","measurementTypeKey","error","Error","message","caseType","_","data","summariseMeasurementForLog","destroy","connectionHandler","dataProcessor","undefined","connect","supportedMeasurementTypeKeys","mainServices","sequencer","createCommandSequencer","pollingSequencerFor","BTConnectionHandler","onStatusChanged","bind","DeviceStatus","DISCONNECTED","onDataReceived","uuid","hexValue","processData","initialCommands","onCommandSent","armStuckTimeout","isNormalDisconnect","preferredMtu","BTDataProcessor","stuckDataTimeout","onStreamStart","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","handleDependentResult","frameReader","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_sentryLogger","require","_deviceStatus","_summariseMeasurementForLog","_supportedMeasurementTypeKeys","_btConnectionHandler","_btDataProcessor","_pollingCommandSequencer","BTManagedDevice","resultReportedThisConnection","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","sentryLogger","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","status","measurementTypeKey","error","Error","message","caseType","_","data","summariseMeasurementForLog","destroy","connectionHandler","dataProcessor","undefined","connect","supportedMeasurementTypeKeys","mainServices","sequencer","createCommandSequencer","pollingSequencerFor","BTConnectionHandler","onStatusChanged","bind","DeviceStatus","DISCONNECTED","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","model","serialNumber","initialCommands","onCommandSent","armStuckTimeout","isNormalDisconnect","preferredMtu","BTDataProcessor","stuckDataTimeout","onStreamStart","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","handleDependentResult","frameReader","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
@@ -29,8 +29,12 @@ var _customLepuSequencer = require("./custom-lepu-sequencer.js");
29
29
  class CustomDevice extends _btManagedDevice.BTManagedDevice {
30
30
  validators = new Map();
31
31
  constructor(device, params, definition) {
32
- super(device, params);
32
+ super(device, {
33
+ ...params,
34
+ oneReadingPerConnection: params.oneReadingPerConnection ?? definition.oneReadingPerConnection
35
+ });
33
36
  this.definition = definition;
37
+ this.deliveredEcgFileNames = new Set(params.deliveredEcgFileNames ?? []);
34
38
  this.mainServices = definition.mainServices;
35
39
  this.stuckDataTimeout = definition.stuckDataTimeout;
36
40
  if (definition.preferredMtu !== undefined) {
@@ -64,6 +68,12 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
64
68
  },
65
69
  builder: new _lepuCommandBuilder.LepuCommandBuilder(lepu.startBytes[0] ?? "a5"),
66
70
  onFile: this.reportViatomEcgFile,
71
+ skipFiles: this.deliveredEcgFileNames,
72
+ afterTransfer: lepu.pollCommand ? () => [{
73
+ serviceUuid: lepu.write.serviceUuid,
74
+ characteristicUuid: lepu.write.characteristicUuid,
75
+ frame: new _lepuCommandBuilder.LepuCommandBuilder(lepu.startBytes[0] ?? "a5").build(lepu.pollCommand)
76
+ }] : undefined,
67
77
  onError: reason => this.onError?.(new Error(`Viatom ECG: ${reason}`))
68
78
  });
69
79
  }
@@ -82,9 +92,10 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
82
92
  this.onResult?.({
83
93
  measurementTypeKey: _core.MeasurementTypeKey.ecg,
84
94
  caseType: _caseType.CaseType.RESULT,
85
- diagnosticResult: _core.EcgDiagnosticFlag.REGULAR,
86
95
  diagramPoints: decoded.samples,
87
- duration: decoded.duration
96
+ duration: decoded.duration,
97
+ recordedAt: (0, _viatomEcgFiles.recordedAtFromViatomFileName)(file.name),
98
+ recordingId: file.name
88
99
  });
89
100
  };
90
101
  onIdentified = info => (0, _customLepuSequencer.recordLepuIdentity)(this.deviceData, info);
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_caseType","_createFrameValidator","_parseMeasurement","_rejectCustomReading","_btManagedDevice","_lepuCommandBuilder","_lepuFileTransfer","_lepuFrameReader","_viatomEcgFiles","_customLepuSequencer","CustomDevice","BTManagedDevice","validators","Map","constructor","device","params","definition","mainServices","stuckDataTimeout","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","createFrameValidator","lepu","frameReader","LepuFrameReader","startBytes","createCommandSequencer","fileTransfer","LepuFileTransfer","write","serviceUuid","characteristicUuid","builder","LepuCommandBuilder","onFile","reportViatomEcgFile","onError","reason","Error","createLepuSequencer","onIdentified","onRefused","onIdentityRefused","file","decoded","decodeViatomEcgRecording","content","samples","length","name","onResult","measurementTypeKey","MeasurementTypeKey","ecg","caseType","CaseType","RESULT","diagnosticResult","EcgDiagnosticFlag","REGULAR","diagramPoints","duration","info","recordLepuIdentity","deviceData","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","shouldReportDependentResult","reportFrame","error","parsingCase","OTHER","_data","handleSuccessResult","repeated","repeatedRecords","report","parsedData","records","Math","floor","from","recordBytes","record","parseMeasurement","measurements","discard","measurement","reportMeasurement","discardedReadingError","reading","fieldNames","rejection","map","rejectCustomReading","fields","find","message","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_caseType","_createFrameValidator","_parseMeasurement","_rejectCustomReading","_btManagedDevice","_lepuCommandBuilder","_lepuFileTransfer","_lepuFrameReader","_viatomEcgFiles","_customLepuSequencer","CustomDevice","BTManagedDevice","validators","Map","constructor","device","params","definition","oneReadingPerConnection","deliveredEcgFileNames","Set","mainServices","stuckDataTimeout","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","createFrameValidator","lepu","frameReader","LepuFrameReader","startBytes","createCommandSequencer","fileTransfer","LepuFileTransfer","write","serviceUuid","characteristicUuid","builder","LepuCommandBuilder","onFile","reportViatomEcgFile","skipFiles","afterTransfer","pollCommand","build","onError","reason","Error","createLepuSequencer","onIdentified","onRefused","onIdentityRefused","file","decoded","decodeViatomEcgRecording","content","samples","length","name","onResult","measurementTypeKey","MeasurementTypeKey","ecg","caseType","CaseType","RESULT","diagramPoints","duration","recordedAt","recordedAtFromViatomFileName","recordingId","info","recordLepuIdentity","deviceData","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","shouldReportDependentResult","reportFrame","error","parsingCase","OTHER","_data","handleSuccessResult","repeated","repeatedRecords","report","parsedData","records","Math","floor","from","recordBytes","record","parseMeasurement","measurements","discard","measurement","reportMeasurement","discardedReadingError","reading","fieldNames","rejection","map","rejectCustomReading","fields","find","message","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AAGA,IAAAC,SAAA,GAAAD,OAAA;AAUA,IAAAE,qBAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AAIA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AAEA,IAAAO,iBAAA,GAAAP,OAAA;AACA,IAAAQ,gBAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AAKA,IAAAU,oBAAA,GAAAV,OAAA;AA9BA;;AAsCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMW,YAAY,SAASC,gCAAe,CAAiB;EAO/CC,UAAU,GAAG,IAAIC,GAAG,CAAqC,CAAC;EAE3EC,WAAWA,CACTC,MAAc,EACdC,MAA0C,EAC1CC,UAAkC,EAClC;IACA,KAAK,CAACF,MAAM,EAAE;MACZ,GAAGC,MAAM;MACTE,uBAAuB,EACrBF,MAAM,CAACE,uBAAuB,IAAID,UAAU,CAACC;IACjD,CAAC,CAAC;IAEF,IAAI,CAACD,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACE,qBAAqB,GAAG,IAAIC,GAAG,CAACJ,MAAM,CAACG,qBAAqB,IAAI,EAAE,CAAC;IACxE,IAAI,CAACE,YAAY,GAAGJ,UAAU,CAACI,YAAY;IAC3C,IAAI,CAACC,gBAAgB,GAAGL,UAAU,CAACK,gBAAgB;IAEnD,IAAIL,UAAU,CAACM,YAAY,KAAKC,SAAS,EAAE;MACzC,IAAI,CAACD,YAAY,GAAGN,UAAU,CAACM,YAAY;IAC7C;IAEA,IAAI,CAACE,mBAAmB,CAACR,UAAU,CAAC;IAEpCA,UAAU,CAACS,MAAM,CAACC,OAAO,CAAC,CAACC,KAAK,EAAEC,IAAI,KAAK;MACzC,IAAI,CAACjB,UAAU,CAACkB,GAAG,CAACD,IAAI,EAAE,IAAAE,0CAAoB,EAACH,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACUH,mBAAmBA,CAACR,UAAkC,EAAQ;IACpE,MAAMe,IAAI,GAAGf,UAAU,CAACe,IAAI;IAE5B,IAAI,CAACA,IAAI,EAAE;MACT;IACF;IAEA,IAAI,CAACC,WAAW,GAAG,IAAIC,gCAAe,CAACF,IAAI,CAACG,UAAU,CAAC;IAEvD,IAAI,CAACC,sBAAsB,GAAG,MAAM;MAClC,IAAIJ,IAAI,CAACK,YAAY,KAAK,KAAK,EAAE;QAC/B,OAAO,IAAIC,kCAAgB,CAAC;UAC1BC,KAAK,EAAE;YACLC,WAAW,EAAER,IAAI,CAACO,KAAK,CAACC,WAAW;YACnCC,kBAAkB,EAAET,IAAI,CAACO,KAAK,CAACE;UACjC,CAAC;UACDC,OAAO,EAAE,IAAIC,sCAAkB,CAACX,IAAI,CAACG,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;UAC3DS,MAAM,EAAE,IAAI,CAACC,mBAAmB;UAChCC,SAAS,EAAE,IAAI,CAAC3B,qBAAqB;UACrC4B,aAAa,EAAEf,IAAI,CAACgB,WAAW,GAC3B,MAAM,CACJ;YACER,WAAW,EAAER,IAAI,CAACO,KAAK,CAACC,WAAW;YACnCC,kBAAkB,EAAET,IAAI,CAACO,KAAK,CAACE,kBAAkB;YACjDb,KAAK,EAAE,IAAIe,sCAAkB,CAC3BX,IAAI,CAACG,UAAU,CAAC,CAAC,CAAC,IAAI,IACxB,CAAC,CAACc,KAAK,CAACjB,IAAI,CAACgB,WAAY;UAC3B,CAAC,CACF,GACDxB,SAAS;UACb0B,OAAO,EAAGC,MAAM,IACd,IAAI,CAACD,OAAO,GAAG,IAAIE,KAAK,CAAC,eAAeD,MAAM,EAAE,CAAC;QACrD,CAAC,CAAC;MACJ;MAEA,OAAO,IAAAE,wCAAmB,EAACrB,IAAI,EAAE;QAC/BsB,YAAY,EAAE,IAAI,CAACA,YAAY;QAC/BC,SAAS,EAAE,IAAI,CAACC;MAClB,CAAC,CAAC;IACJ,CAAC;EACH;EAEQX,mBAAmB,GAAIY,IAAc,IAAW;IACtD,MAAMC,OAAO,GAAG,IAAAC,wCAAwB,EAACF,IAAI,CAACG,OAAO,CAAC;IAEtD,IAAIF,OAAO,CAACG,OAAO,CAACC,MAAM,KAAK,CAAC,EAAE;MAChC,IAAI,CAACZ,OAAO,GAAG,IAAIE,KAAK,CAAC,qBAAqBK,IAAI,CAACM,IAAI,mBAAmB,CAAC,CAAC;MAE5E;IACF;IAEA,IAAI,CAACC,QAAQ,GAAG;MACdC,kBAAkB,EAAEC,wBAAkB,CAACC,GAAG;MAC1CC,QAAQ,EAAEC,kBAAQ,CAACC,MAAM;MACzBC,aAAa,EAAEb,OAAO,CAACG,OAAO;MAC9BW,QAAQ,EAAEd,OAAO,CAACc,QAAQ;MAC1BC,UAAU,EAAE,IAAAC,4CAA4B,EAACjB,IAAI,CAACM,IAAI,CAAC;MACnDY,WAAW,EAAElB,IAAI,CAACM;IACpB,CAA4B,CAAC;EAC/B,CAAC;EAEOT,YAAY,GAAIsB,IAAoB,IAC1C,IAAAC,uCAAkB,EAAC,IAAI,CAACC,UAAU,EAAEF,IAAI,CAAC;EAEnCpB,iBAAiB,GAAIL,MAAc,IAAW;IACpD,IAAI,CAACD,OAAO,GACV,IAAIE,KAAK,CACP,kBAAkB,IAAI,CAACnC,UAAU,CAAC8D,EAAE,wBAAwB5B,MAAM,GACpE,CACF,CAAC;EACH,CAAC;EAES6B,eAAe,GAAGA,CAACC,GAAa,EAAEpD,IAAY,KAAc;IACpE,MAAMqD,QAAQ,GAAG,IAAI,CAACtE,UAAU,CAACuE,GAAG,CAACC,MAAM,CAACvD,IAAI,IAAI,EAAE,CAAC,CAACwD,WAAW,CAAC,CAAC,CAAC;IAEtE,IAAI,CAACH,QAAQ,EAAE;MACb,OAAO,KAAK;IACd;IAEA,OAAOA,QAAQ,CAACD,GAAG,CAAC;EACtB,CAAC;;EAED;AACF;AACA;AACA;AACA;EACYK,qBAAqB,GAC7BC,IAAuD,IACD;IACtD,IAAI;MACF,IAAI,IAAI,CAACC,2BAA2B,CAACD,IAAI,CAAC,EAAE;QAC1C,IAAI,CAACE,WAAW,CAACF,IAAI,CAAC;MACxB;IACF,CAAC,CAAC,OAAOG,KAAK,EAAE;MACd,IAAI,CAACxC,OAAO,GAAGwC,KAAc,CAAC;IAChC;IAEA,OAAO;MACL,GAAGH,IAAI;MACPI,WAAW,EAAE;QAAE,GAAGJ,IAAI,CAACI,WAAW;QAAEvB,QAAQ,EAAEC,kBAAQ,CAACuB;MAAM;IAC/D,CAAC;EACH,CAAC;;EAED;EACUJ,2BAA2B,GACnCK,KAAwD,IAC5C,IAAI;;EAElB;AACF;AACA;AACA;EACYC,mBAAmBA,CAAA,EAAmB;IAC9C;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACUL,WAAWA,CAACF,IAAuD,EAAE;IAC3E,MAAMQ,QAAQ,GAAGR,IAAI,CAACI,WAAW,CAACK,eAAe;IAEjD,IAAI,CAACD,QAAQ,IAAI,CAACR,IAAI,CAAC3D,KAAK,EAAE;MAC5B,IAAI,CAACqE,MAAM,CAACV,IAAI,CAACW,UAAU,EAAEX,IAAI,CAACI,WAAW,CAAC;MAE9C;IACF;IAEA,MAAMQ,OAAO,GAAGC,IAAI,CAACC,KAAK,CACxB,CAACd,IAAI,CAAC3D,KAAK,CAACkC,MAAM,GAAGiC,QAAQ,CAACO,IAAI,IAAIP,QAAQ,CAACQ,WACjD,CAAC;IAED,KAAK,IAAIC,MAAM,GAAG,CAAC,EAAEA,MAAM,GAAGL,OAAO,EAAEK,MAAM,EAAE,EAAE;MAC/C,IAAI,CAACP,MAAM,CACT,IAAAQ,kCAAgB,EACdlB,IAAI,CAAC3D,KAAK,EACV2D,IAAI,CAACI,WAAW,EAChBI,QAAQ,CAACO,IAAI,GAAGE,MAAM,GAAGT,QAAQ,CAACQ,WACpC,CAAC,EACDhB,IAAI,CAACI,WACP,CAAC;IACH;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACUM,MAAMA,CAACC,UAAwB,EAAEP,WAAwB,EAAQ;IACvE,MAAMe,YAAY,GAAGf,WAAW,CAACe,YAAY,IAAI,EAAE;IAEnD,IAAIA,YAAY,CAAC5C,MAAM,KAAK,CAAC,EAAE;MAC7B,IAAI,CAAC6C,OAAO,CAAC,4CAA4C,EAAET,UAAU,CAAC;MAEtE;IACF;IAEAQ,YAAY,CAAC/E,OAAO,CAAEiF,WAAW,IAC/B,IAAI,CAACC,iBAAiB,CAACX,UAAU,EAAEU,WAAW,CAChD,CAAC;EACH;EAEQD,OAAOA,CAACxD,MAAc,EAAE+C,UAAwB,EAAQ;IAC9D,IAAI,CAAChD,OAAO,GAAG,IAAA4D,0CAAqB,EAAC,IAAI,CAAC7F,UAAU,CAAC8D,EAAE,EAAE5B,MAAM,EAAE+C,UAAU,CAAC,CAAC;EAC/E;EAEQW,iBAAiBA,CACvBX,UAAwB,EACxBU,WAA6B,EACvB;IACN,MAAMG,OAAO,GAAG;MACd3C,QAAQ,EAAE8B,UAAU,CAAC9B,QAAQ;MAC7BH,kBAAkB,EAAE2C,WAAW,CAAC3C;IAClC,CAAiB;IAEjB2C,WAAW,CAACI,UAAU,CAACrF,OAAO,CAAEoC,IAAI,IAAK;MACvCgD,OAAO,CAAChD,IAAI,CAAC,GAAGmC,UAAU,CAACnC,IAAI,CAAC;IAClC,CAAC,CAAC;IAEF,MAAMkD,SAAS,GAAGL,WAAW,CAACI,UAAU,CACrCE,GAAG,CAAEnD,IAAI,IACR,IAAAoD,wCAAmB,EACjB,IAAI,CAAClG,UAAU,CAACmG,MAAM,EACtBR,WAAW,CAAC3C,kBAAkB,EAC9BF,IAAI,EACJgD,OAAO,CAAChD,IAAI,CACd,CACF,CAAC,CACAsD,IAAI,CAAEC,OAAO,IAAKA,OAAO,KAAK9F,SAAS,CAAC;IAE3C,IAAIyF,SAAS,EAAE;MACb,IAAI,CAACN,OAAO,CAACM,SAAS,EAAEF,OAAO,CAAC;MAEhC;IACF;IAEA,IAAI,CAAC/C,QAAQ,GAAG+C,OAAO,CAAC;EAC1B;AAEF;AAACQ,OAAA,CAAA7G,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -10,6 +10,8 @@ var _lepuCommands = require("./lepu.commands.js");
10
10
  var _lepuFileNames = require("./lepu.file-names.js");
11
11
  var _lepuFrame = require("./lepu.frame.js");
12
12
  var _lepuResponseType = require("./lepu.response-type.js");
13
+ /* eslint-disable max-lines */
14
+
13
15
  const FILE_SIZE_OFFSET = 0;
14
16
 
15
17
  /**
@@ -50,7 +52,10 @@ class LepuFileTransfer {
50
52
  initialCommands = () => [this.commandFor(_lepuCommands.LepuCommand.GET_FILE_LIST)];
51
53
  nextCommand = frame => {
52
54
  const command = (0, _lepuFrame.lepuCommandOf)(frame);
53
- if (this.isDone || !TRANSFER_COMMANDS.includes(command)) {
55
+ if (this.isDone) {
56
+ return this.params.afterTransfer?.();
57
+ }
58
+ if (!TRANSFER_COMMANDS.includes(command)) {
54
59
  return undefined;
55
60
  }
56
61
  if (!(0, _lepuResponseType.isLepuSuccess)(frame)) {
@@ -70,10 +75,14 @@ class LepuFileTransfer {
70
75
  return this.closedFile();
71
76
  };
72
77
  openNextFile = () => {
73
- const name = this.files[this.fileIndex];
78
+ let name = this.files[this.fileIndex];
79
+ while (name !== undefined && this.params.skipFiles?.has(name)) {
80
+ this.fileIndex++;
81
+ name = this.files[this.fileIndex];
82
+ }
74
83
  if (name === undefined) {
75
84
  this.isDone = true;
76
- return undefined;
85
+ return this.params.afterTransfer?.();
77
86
  }
78
87
  this.name = name;
79
88
  this.totalBytes = 0;
@@ -1 +1 @@
1
- {"version":3,"names":["_le32FromHex","require","_le32ToBytes","_lepuCommands","_lepuFileNames","_lepuFrame","_lepuResponseType","FILE_SIZE_OFFSET","MAX_FILE_BYTES","TRANSFER_COMMANDS","LepuCommand","GET_FILE_LIST","READ_FILE_START","READ_FILE_DATA","READ_FILE_END","LepuFileTransfer","files","fileIndex","name","totalBytes","content","isSessionOpen","isDone","constructor","params","initialCommands","commandFor","nextCommand","frame","command","lepuCommandOf","includes","undefined","isLepuSuccess","fail","describeLepuResponseType","lepuNamesFrom","lepuPayloadOf","openNextFile","openedFile","appendChunk","closedFile","lepuNameBytes","le32ToBytes","payload","le32FromHex","limit","maxFileBytes","closeFile","length","push","onProgress","receivedBytes","onFile","reason","onError","write","builder","build","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.file-transfer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_le32FromHex","require","_le32ToBytes","_lepuCommands","_lepuFileNames","_lepuFrame","_lepuResponseType","FILE_SIZE_OFFSET","MAX_FILE_BYTES","TRANSFER_COMMANDS","LepuCommand","GET_FILE_LIST","READ_FILE_START","READ_FILE_DATA","READ_FILE_END","LepuFileTransfer","files","fileIndex","name","totalBytes","content","isSessionOpen","isDone","constructor","params","initialCommands","commandFor","nextCommand","frame","command","lepuCommandOf","afterTransfer","includes","undefined","isLepuSuccess","fail","describeLepuResponseType","lepuNamesFrom","lepuPayloadOf","openNextFile","openedFile","appendChunk","closedFile","skipFiles","has","lepuNameBytes","le32ToBytes","payload","le32FromHex","limit","maxFileBytes","closeFile","length","push","onProgress","receivedBytes","onFile","reason","onError","write","builder","build","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.file-transfer.ts"],"mappings":"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","ignoreList":[]}
@@ -114,6 +114,7 @@ const lepuDevice = params => {
114
114
  return (0, _defineCustomDevice.defineCustomDevice)({
115
115
  id: params.id ?? "lepu-device",
116
116
  nameMatch: params.nameMatch,
117
+ matchByService: params.nameMatch === undefined,
117
118
  stuckDataTimeoutMs: params.stuckDataTimeoutMs ?? DEFAULT_STUCK_TIMEOUT_MS,
118
119
  preferredMtu: transport.preferredMtu,
119
120
  lepu: {
@@ -1 +1 @@
1
- {"version":3,"names":["_defineCustomDevice","require","STANDARD_SERVICE","STANDARD_WRITE","STANDARD_NOTIFY","AW1_SERVICE","AW1_WRITE","AW1_NOTIFY","DING_SERVICE","DING_WRITE","DING_NOTIFY","AI_TELE_SERVICE","AI_TELE_WRITE","AI_TELE_NOTIFY","PREFERRED_MTU","MINIMUM_MTU","DEFAULT_STUCK_TIMEOUT_MS","START_BYTE","lepuTransports","exports","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","viatomOxygen","protocol","defineCustomDevice","id","nameMatch","stuckDataTimeoutMs","lepu","startBytes","requestStartByte","write","characteristicUuid","expectedDeviceTypes","fileTransfer","undefined","pollCommand","writeWithoutResponse","setClockBeforeInfo","services","uuid","monitor","frame","minLengthBytes","caseSelectorBytes","cases"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.transports.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_defineCustomDevice","require","STANDARD_SERVICE","STANDARD_WRITE","STANDARD_NOTIFY","AW1_SERVICE","AW1_WRITE","AW1_NOTIFY","DING_SERVICE","DING_WRITE","DING_NOTIFY","AI_TELE_SERVICE","AI_TELE_WRITE","AI_TELE_NOTIFY","PREFERRED_MTU","MINIMUM_MTU","DEFAULT_STUCK_TIMEOUT_MS","START_BYTE","lepuTransports","exports","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","viatomOxygen","protocol","defineCustomDevice","id","nameMatch","matchByService","undefined","stuckDataTimeoutMs","lepu","startBytes","requestStartByte","write","characteristicUuid","expectedDeviceTypes","fileTransfer","pollCommand","writeWithoutResponse","setClockBeforeInfo","services","uuid","monitor","frame","minLengthBytes","caseSelectorBytes","cases"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.transports.ts"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.standardWeightScaleDevice = exports.standardThermometerDevice = exports.standardPulseOximeterDevice = exports.standardHeartRateDevice = exports.standardBloodPressureDevice = void 0;
7
7
  var _core = require("@ovok/core");
8
8
  var _standardGattProfile = require("./standard-gatt.profile.js");
9
+ /* eslint-disable max-lines */
10
+
9
11
  /**
10
12
  * Declarations for the Bluetooth SIG vital-signs profiles.
11
13
  *
@@ -73,9 +75,35 @@ const standardThermometerDevice = params => (0, _standardGattProfile.declareProf
73
75
  characteristic: "2a1c",
74
76
  minLengthBytes: 5,
75
77
  measurementTypeKey: _core.MeasurementTypeKey.temperature,
76
- /** Celsius, with and without the timestamp that follows the reading. */
77
- selectors: ["00", "02"],
78
- fields: [(0, _standardGattProfile.littleEndian)("bodyTemp", [1, 2, 3, 4], "Cel", "float")]
78
+ /** All combinations of Fahrenheit, timestamp and temperature type flags. */
79
+ selectors: ["00", "02", "04", "06", "01", "03", "05", "07"],
80
+ fields: [(0, _standardGattProfile.littleEndian)("bodyTemp", [1, 2, 3, 4], "Cel", "float")],
81
+ fieldsBySelector: {
82
+ "01": [{
83
+ ...(0, _standardGattProfile.littleEndian)("bodyTemp", [1, 2, 3, 4], "Cel", "float"),
84
+ scale: 5 / 9,
85
+ offset: -160 / 9,
86
+ decimals: 2
87
+ }],
88
+ "03": [{
89
+ ...(0, _standardGattProfile.littleEndian)("bodyTemp", [1, 2, 3, 4], "Cel", "float"),
90
+ scale: 5 / 9,
91
+ offset: -160 / 9,
92
+ decimals: 2
93
+ }],
94
+ "05": [{
95
+ ...(0, _standardGattProfile.littleEndian)("bodyTemp", [1, 2, 3, 4], "Cel", "float"),
96
+ scale: 5 / 9,
97
+ offset: -160 / 9,
98
+ decimals: 2
99
+ }],
100
+ "07": [{
101
+ ...(0, _standardGattProfile.littleEndian)("bodyTemp", [1, 2, 3, 4], "Cel", "float"),
102
+ scale: 5 / 9,
103
+ offset: -160 / 9,
104
+ decimals: 2
105
+ }]
106
+ }
79
107
  });
80
108
 
81
109
  /** The SI weight resolution the specification fixes at five grams per count. */
@@ -92,13 +120,25 @@ const standardWeightScaleDevice = params => (0, _standardGattProfile.declareProf
92
120
  characteristic: "2a9d",
93
121
  minLengthBytes: 3,
94
122
  measurementTypeKey: _core.MeasurementTypeKey.bodyWeight,
95
- /** Kilograms, with and without the timestamp that follows the reading. */
96
- selectors: ["00", "02"],
123
+ /** Unit, timestamp, user-id and BMI/height flags may all follow the value. */
124
+ selectors: Array.from({
125
+ length: 16
126
+ }, (_, flags) => flags.toString(16).padStart(2, "0")),
97
127
  fields: [{
98
128
  ...(0, _standardGattProfile.littleEndian)("bodyWeight", [1, 2], "kg", "uint"),
99
129
  scale: WEIGHT_KG_PER_COUNT,
100
130
  decimals: 3
101
- }]
131
+ }],
132
+ fieldsBySelector: Object.fromEntries(Array.from({
133
+ length: 16
134
+ }, (_, flags) => {
135
+ const selector = flags.toString(16).padStart(2, "0");
136
+ return [selector, [{
137
+ ...(0, _standardGattProfile.littleEndian)("bodyWeight", [1, 2], "kg", "uint"),
138
+ scale: flags & 1 ? 0.01 * 0.45359237 : WEIGHT_KG_PER_COUNT,
139
+ decimals: 3
140
+ }]];
141
+ }))
102
142
  });
103
143
 
104
144
  /**
@@ -120,9 +160,8 @@ const standardPulseOximeterDevice = params => (0, _standardGattProfile.declarePr
120
160
  /**
121
161
  * Heart Rate Service 0x180D, Heart Rate Measurement 0x2A37.
122
162
  *
123
- * Only the eight-bit layout is declared. The sixteen-bit variant needs byte 2, which would
124
- * raise `minLengthBytes` to three and reject every eight-bit frame - the common case - so it
125
- * is left out rather than made to displace it.
163
+ * Both heart-rate layouts are declared. A contact-not-detected frame is idle, so it cannot
164
+ * become a false reading while the strap is off the body.
126
165
  */
127
166
  exports.standardPulseOximeterDevice = standardPulseOximeterDevice;
128
167
  const standardHeartRateDevice = params => (0, _standardGattProfile.declareProfile)(params, {
@@ -130,13 +169,30 @@ const standardHeartRateDevice = params => (0, _standardGattProfile.declareProfil
130
169
  characteristic: "2a37",
131
170
  minLengthBytes: 2,
132
171
  measurementTypeKey: _core.MeasurementTypeKey.heartRate,
133
- selectors: ["00"],
172
+ selectors: Array.from({
173
+ length: 32
174
+ }, (_, flags) => flags).filter(flags => (flags & 0x06) !== 0x04).map(flags => flags.toString(16).padStart(2, "0")),
134
175
  fields: [{
135
176
  name: "heartRate",
136
177
  byteIndexes: [1],
137
178
  encoding: "uint",
138
179
  unit: "bpm"
139
- }]
180
+ }],
181
+ fieldsBySelector: Object.fromEntries(Array.from({
182
+ length: 32
183
+ }, (_, flags) => flags).filter(flags => (flags & 0x01) === 0x01).filter(flags => (flags & 0x06) !== 0x04).map(flags => [flags.toString(16).padStart(2, "0"), [{
184
+ name: "heartRate",
185
+ byteIndexes: [1, 2],
186
+ byteOrder: "little",
187
+ encoding: "uint",
188
+ unit: "bpm"
189
+ }]])),
190
+ optionalFields: Object.fromEntries(Array.from({
191
+ length: 32
192
+ }, (_, flags) => flags).filter(flags => (flags & 0x01) === 0x01).filter(flags => (flags & 0x06) !== 0x04).map(flags => [flags.toString(16).padStart(2, "0"), {
193
+ fields: [],
194
+ minLengthBytes: 3
195
+ }]))
140
196
  });
141
197
  exports.standardHeartRateDevice = standardHeartRateDevice;
142
198
  //# sourceMappingURL=standard-gatt.devices.js.map