@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
@@ -185,6 +185,8 @@ class BTManager {
185
185
  onError: this.onErrorCallback?.bind(this),
186
186
  onDeviceStatusChanged: this.onDeviceStatusChangedCallback?.bind(this),
187
187
  onResult: this.onResultCallback?.bind(this),
188
+ oneReadingPerConnection: this.options.oneReadingPerConnection,
189
+ deliveredEcgFileNames: this.options.deliveredEcgFileNames,
188
190
  onDeviceDisconnected: () => {
189
191
  this.startScan();
190
192
  this.removeDeviceFromFoundedDevices?.bind(this)(device.id);
@@ -1 +1 @@
1
- {"version":3,"names":["Linking","Platform","ScanMode","State","slog","sentryLogger","DeviceCreator","BTManager","MAX_DEVICES","devices","Map","eventSubscriptions","autoConnectCandidates","constructor","bleManager","acceptedDevices","options","deviceCreator","backgroundScanEnabled","backgroundEnabled","destroy","stopScan","autoConnectTimer","clearTimeout","undefined","stateChangeListener","remove","onErrorCallback","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","forEach","device","clear","startScan","onStateChange","state","PoweredOn","index","indexOf","splice","serviceUUIDs","OS","length","error","Promise","resolve","startDeviceScan","scanMode","LowPower","Balanced","onScanResult","catch","Error","String","sendIntent","push","setBackgroundScanEnabled","enabled","stopDeviceScan","sub","restoreDevices","onDeviceFound","callback","onError","onDeviceStatusChanged","onResult","message","advertisedName","name","trim","localName","has","id","deviceName","getDeviceName","size","deviceId","currentSize","deviceClass","createDevice","bind","onDeviceDisconnected","removeDeviceFromFoundedDevices","set","queueAutoConnect","autoConnect","setTimeout","values","connect","onDeviceSelectionRequired","select","selected","Math","max","autoConnectDelayMs","get","delete"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Linking","Platform","ScanMode","State","slog","sentryLogger","DeviceCreator","BTManager","MAX_DEVICES","devices","Map","eventSubscriptions","autoConnectCandidates","constructor","bleManager","acceptedDevices","options","deviceCreator","backgroundScanEnabled","backgroundEnabled","destroy","stopScan","autoConnectTimer","clearTimeout","undefined","stateChangeListener","remove","onErrorCallback","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","forEach","device","clear","startScan","onStateChange","state","PoweredOn","index","indexOf","splice","serviceUUIDs","OS","length","error","Promise","resolve","startDeviceScan","scanMode","LowPower","Balanced","onScanResult","catch","Error","String","sendIntent","push","setBackgroundScanEnabled","enabled","stopDeviceScan","sub","restoreDevices","onDeviceFound","callback","onError","onDeviceStatusChanged","onResult","message","advertisedName","name","trim","localName","has","id","deviceName","getDeviceName","size","deviceId","currentSize","deviceClass","createDevice","bind","oneReadingPerConnection","deliveredEcgFileNames","onDeviceDisconnected","removeDeviceFromFoundedDevices","set","queueAutoConnect","autoConnect","setTimeout","values","connect","onDeviceSelectionRequired","select","selected","Math","max","autoConnectDelayMs","get","delete"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,9 @@ const registerField = (id, path, compiled, measurementTypeKey, fields) => {
10
10
  if (existing && (existing.min !== compiled.min || existing.max !== compiled.max)) {
11
11
  throw customDeviceError(id, path, `declares ${compiled.name} with different bounds (${compiled.min}-${compiled.max}) than an earlier case (${existing.min}-${existing.max}); a property must mean the same thing in every frame`);
12
12
  }
13
- fields.set(key, compiled);
13
+ if (!existing) {
14
+ fields.set(key, compiled);
15
+ }
14
16
  };
15
17
 
16
18
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["measurementFieldCatalog","createCustomFieldParser","compileCustomField","customDeviceError","registerField","id","path","compiled","measurementTypeKey","fields","key","name","existing","get","min","max","set","assertRequiredFields","declared","catalog","declaredNames","Set","map","field","missing","Object","entries","filter","required","has","length","join","compileFields","minLengthBytes","names","index","add","parseType","byteIndexes","customParserDefinition"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/compile-case-fields.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["measurementFieldCatalog","createCustomFieldParser","compileCustomField","customDeviceError","registerField","id","path","compiled","measurementTypeKey","fields","key","name","existing","get","min","max","set","assertRequiredFields","declared","catalog","declaredNames","Set","map","field","missing","Object","entries","filter","required","has","length","join","compileFields","minLengthBytes","names","index","add","parseType","byteIndexes","customParserDefinition"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/compile-case-fields.ts"],"mappings":"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","ignoreList":[]}
@@ -39,6 +39,9 @@ const compileNameMatch = (id, spec) => {
39
39
  throw customDeviceError(id, "nameMatch", "must not be empty");
40
40
  }
41
41
  if (!exact) {
42
+ if (spec.matchByService !== true) {
43
+ throw customDeviceError(id, "nameMatch", "is required unless matchByService is true");
44
+ }
42
45
  return /.*/;
43
46
  }
44
47
  return new RegExp(`^${exact.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}$`);
@@ -127,6 +130,7 @@ export const defineCustomDevice = spec => {
127
130
  spec,
128
131
  nameMatch,
129
132
  matchByService: spec.matchByService === true,
133
+ oneReadingPerConnection: spec.oneReadingPerConnection === true,
130
134
  mainServices,
131
135
  stuckDataTimeout,
132
136
  fields,
@@ -1 +1 @@
1
- {"version":3,"names":["CUSTOM_DEVICE_BRAND","IntegratedDevices","compileCustomLepu","compileCustomMonitor","customDeviceError","normalizeBleUuid","MIN_STUCK_TIMEOUT_MS","MIN_MTU","MAX_MTU","MAX_STUCK_TIMEOUT_MS","HEX_BYTES","assertIdentity","spec","id","trim","String","builtIn","Object","values","find","name","toLowerCase","compileNameMatch","nameMatch","RegExp","global","sticky","exact","replace","assertStuckTimeout","timeout","stuckDataTimeoutMs","Number","isInteger","assertPreferredMtu","mtu","preferredMtu","undefined","compileWrite","path","write","commandHex","test","uuid","mainCommandUuid","defineCustomDevice","stuckDataTimeout","Array","isArray","services","length","fields","Map","frames","seenCharacteristics","Set","mainServices","map","service","serviceIndex","monitor","monitorUuids","monitorIndex","monitorPath","characteristic","frame","has","add","set","writeUuid","lepu","matchByService"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/define-custom-device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CUSTOM_DEVICE_BRAND","IntegratedDevices","compileCustomLepu","compileCustomMonitor","customDeviceError","normalizeBleUuid","MIN_STUCK_TIMEOUT_MS","MIN_MTU","MAX_MTU","MAX_STUCK_TIMEOUT_MS","HEX_BYTES","assertIdentity","spec","id","trim","String","builtIn","Object","values","find","name","toLowerCase","compileNameMatch","nameMatch","RegExp","global","sticky","exact","matchByService","replace","assertStuckTimeout","timeout","stuckDataTimeoutMs","Number","isInteger","assertPreferredMtu","mtu","preferredMtu","undefined","compileWrite","path","write","commandHex","test","uuid","mainCommandUuid","defineCustomDevice","stuckDataTimeout","Array","isArray","services","length","fields","Map","frames","seenCharacteristics","Set","mainServices","map","service","serviceIndex","monitor","monitorUuids","monitorIndex","monitorPath","characteristic","frame","has","add","set","writeUuid","lepu","oneReadingPerConnection"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/define-custom-device.ts"],"mappings":"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","ignoreList":[]}
@@ -128,8 +128,12 @@ export class DeviceCreator {
128
128
  }
129
129
  }
130
130
  for (const custom of this.customDevices.values()) {
131
- const serviceMatch = custom.matchByService && custom.mainServices.some(service => serviceUUIDs.has(service.uuid.toLowerCase()));
132
- if (serviceMatch || deviceName && custom.nameMatch.test(deviceName)) {
131
+ if (!custom.matchByService && deviceName && custom.nameMatch.test(deviceName)) {
132
+ return custom.id;
133
+ }
134
+ }
135
+ for (const custom of this.customDevices.values()) {
136
+ if (custom.matchByService && custom.mainServices.some(service => serviceUUIDs.has(service.uuid.toLowerCase()))) {
133
137
  return custom.id;
134
138
  }
135
139
  }
@@ -1 +1 @@
1
- {"version":3,"names":["integratedDevicesMap","IntegratedDevices","isCustomDeviceDefinition","BC01Device","BloodGlucoseDevice","BP2Device","CustomDevice","F4Device","OxyfitDevice","SPO2Device","MySenseDevice","VerovalDuoControlDevice","VerovalEcgDevice","DEVICE_CLASSES","BP2","F4","PC60WF","SPO2","MYSENSE","BC01","TAIDOC_GLUCOSE","GLUCOCHECK","BGM","VEROVAL_DUO_CONTROL","VEROVAL_ECG","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","regex","deviceType","test","some","values","serviceMatch","mainServices","service","firstKey","next","value","delete"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/device-creator.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["integratedDevicesMap","IntegratedDevices","isCustomDeviceDefinition","BC01Device","BloodGlucoseDevice","BP2Device","CustomDevice","F4Device","OxyfitDevice","SPO2Device","MySenseDevice","VerovalDuoControlDevice","VerovalEcgDevice","DEVICE_CLASSES","BP2","F4","PC60WF","SPO2","MYSENSE","BC01","TAIDOC_GLUCOSE","GLUCOCHECK","BGM","VEROVAL_DUO_CONTROL","VEROVAL_ECG","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","regex","deviceType","test","some","values","mainServices","service","firstKey","next","value","delete"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/device-creator.ts"],"mappings":"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","ignoreList":[]}
@@ -46,7 +46,7 @@ const SPOT_CHECK_TIMEOUT_MS = 60_000;
46
46
  */
47
47
  export const aoj20aThermometer = params => defineCustomDevice({
48
48
  id: params.id ?? "aoj-20a-thermometer",
49
- nameMatch: params.nameMatch,
49
+ nameMatch: params.nameMatch ?? /^AOJ-20A$/i,
50
50
  stuckDataTimeoutMs: params.stuckDataTimeoutMs ?? SPOT_CHECK_TIMEOUT_MS,
51
51
  services: [{
52
52
  uuid: "ffe0",
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","defineCustomDevice","FRAME_HEADER","COMMAND_BYTE","FRAME_BYTES","CHECKSUM_INDEX","CHECKSUM_FROM","PAYLOAD","TEMPERATURE_REPLY","TEMPERATURE_SCALE","TEMPERATURE_DECIMALS","SPOT_CHECK_TIMEOUT_MS","aoj20aThermometer","params","id","nameMatch","stuckDataTimeoutMs","services","uuid","monitor","frame","header","minLengthBytes","checksum","algorithm","index","from","caseSelectorBytes","cases","selector","kind","measurementTypeKey","temperature","fields","name","byteIndexes","byteOrder","unit","scale","decimals"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/aoj/aoj.thermometers.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,YAAY;AAG/C,SAASC,kBAAkB,QAAQ,sCAAmC;;AAEtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAMC,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;AACA,OAAO,MAAMC,iBAAiB,GAC5BC,MAAuB,IAEvBZ,kBAAkB,CAAC;EACjBa,EAAE,EAAED,MAAM,CAACC,EAAE,IAAI,qBAAqB;EACtCC,SAAS,EAAEF,MAAM,CAACE,SAAS;EAC3BC,kBAAkB,EAAEH,MAAM,CAACG,kBAAkB,IAAIL,qBAAqB;EACtEM,QAAQ,EAAE,CACR;IACEC,IAAI,EAAE,MAAM;IACZC,OAAO,EAAE,CACP;MACED,IAAI,EAAE,MAAM;MACZE,KAAK,EAAE;QACLC,MAAM,EAAEnB,YAAY;QACpBoB,cAAc,EAAElB,WAAW;QAC3BmB,QAAQ,EAAE;UACRC,SAAS,EAAE,KAAK;UAChBC,KAAK,EAAEpB,cAAc;UACrBqB,IAAI,EAAEpB;QACR;MACF,CAAC;MACDqB,iBAAiB,EAAE,CAACxB,YAAY,CAAC;MACjCyB,KAAK,EAAE,CACL;QACEC,QAAQ,EAAErB,iBAAiB;QAC3BsB,IAAI,EAAE,QAAQ;QACdC,kBAAkB,EAAE/B,kBAAkB,CAACgC,WAAW;QAClDC,MAAM,EAAE,CACN;UACEC,IAAI,EAAE,UAAU;UAChBC,WAAW,EAAE,CAAC5B,OAAO,EAAEA,OAAO,GAAG,CAAC,CAAC;UACnC6B,SAAS,EAAE,KAAK;UAChBC,IAAI,EAAE,KAAK;UACXC,KAAK,EAAE7B,iBAAiB;UACxB8B,QAAQ,EAAE7B;QACZ,CAAC;MAEL,CAAC;IAEL,CAAC;EAEL,CAAC;AAEL,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementTypeKey","defineCustomDevice","FRAME_HEADER","COMMAND_BYTE","FRAME_BYTES","CHECKSUM_INDEX","CHECKSUM_FROM","PAYLOAD","TEMPERATURE_REPLY","TEMPERATURE_SCALE","TEMPERATURE_DECIMALS","SPOT_CHECK_TIMEOUT_MS","aoj20aThermometer","params","id","nameMatch","stuckDataTimeoutMs","services","uuid","monitor","frame","header","minLengthBytes","checksum","algorithm","index","from","caseSelectorBytes","cases","selector","kind","measurementTypeKey","temperature","fields","name","byteIndexes","byteOrder","unit","scale","decimals"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/aoj/aoj.thermometers.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,YAAY;AAG/C,SAASC,kBAAkB,QAAQ,sCAAmC;;AAEtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAMC,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;AACA,OAAO,MAAMC,iBAAiB,GAC5BC,MAAuB,IAEvBZ,kBAAkB,CAAC;EACjBa,EAAE,EAAED,MAAM,CAACC,EAAE,IAAI,qBAAqB;EACtCC,SAAS,EAAEF,MAAM,CAACE,SAAS,IAAI,YAAY;EAC3CC,kBAAkB,EAAEH,MAAM,CAACG,kBAAkB,IAAIL,qBAAqB;EACtEM,QAAQ,EAAE,CACR;IACEC,IAAI,EAAE,MAAM;IACZC,OAAO,EAAE,CACP;MACED,IAAI,EAAE,MAAM;MACZE,KAAK,EAAE;QACLC,MAAM,EAAEnB,YAAY;QACpBoB,cAAc,EAAElB,WAAW;QAC3BmB,QAAQ,EAAE;UACRC,SAAS,EAAE,KAAK;UAChBC,KAAK,EAAEpB,cAAc;UACrBqB,IAAI,EAAEpB;QACR;MACF,CAAC;MACDqB,iBAAiB,EAAE,CAACxB,YAAY,CAAC;MACjCyB,KAAK,EAAE,CACL;QACEC,QAAQ,EAAErB,iBAAiB;QAC3BsB,IAAI,EAAE,QAAQ;QACdC,kBAAkB,EAAE/B,kBAAkB,CAACgC,WAAW;QAClDC,MAAM,EAAE,CACN;UACEC,IAAI,EAAE,UAAU;UAChBC,WAAW,EAAE,CAAC5B,OAAO,EAAEA,OAAO,GAAG,CAAC,CAAC;UACnC6B,SAAS,EAAE,KAAK;UAChBC,IAAI,EAAE,KAAK;UACXC,KAAK,EAAE7B,iBAAiB;UACxB8B,QAAQ,EAAE7B;QACZ,CAAC;MAEL,CAAC;IAEL,CAAC;EAEL,CAAC;AAEL,CAAC,CAAC","ignoreList":[]}
@@ -4,6 +4,7 @@ import { sentryLogger } from "../../../helpers/utils/sentry-logger.js";
4
4
  import { DeviceStatus } from "../../types/device-status.js";
5
5
  import { base64ToHex } from "../../utils/base-64-to-hex.js";
6
6
  import { BTCommandWriter } from "./bt-command-writer.js";
7
+ import { readDeviceInformation } from "./bt-device-information.js";
7
8
  export class BTConnectionHandler {
8
9
  characteristicSubscriptions = [];
9
10
  constructor(device, mainServices, callbacks, preferredMtu) {
@@ -17,8 +18,9 @@ export class BTConnectionHandler {
17
18
  try {
18
19
  await this.connectWithRetries();
19
20
  await this.requestPreferredMtu();
20
- this.callbacks.onStatusChanged?.(DeviceStatus.CONNECTED);
21
21
  await this.device.discoverAllServicesAndCharacteristics();
22
+ await readDeviceInformation(this.device, this.callbacks.onDeviceInfo);
23
+ this.callbacks.onStatusChanged?.(DeviceStatus.CONNECTED);
22
24
  this.onDisconnectSubscription = this.device.onDisconnected(this.onDeviceDisconnected);
23
25
  await this.subscribeToAllCharacteristics();
24
26
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"names":["sentryLogger","DeviceStatus","base64ToHex","BTCommandWriter","BTConnectionHandler","characteristicSubscriptions","constructor","device","mainServices","callbacks","preferredMtu","writer","onError","connect","connectWithRetries","requestPreferredMtu","onStatusChanged","CONNECTED","discoverAllServicesAndCharacteristics","onDisconnectSubscription","onDisconnected","onDeviceDisconnected","subscribeToAllCharacteristics","error","Error","message","deviceName","name","DISCONNECTED","destroy","forEach","sub","remove","reset","sendCommands","commands","send","negotiated","requestMTU","useNegotiatedMtu","mtu","deviceId","id","requestedMtu","String","maxRetries","retryDelay","maxDelay","connected","retryCount","isConnected","errorCode","willRetry","Promise","resolve","setTimeout","Math","min","pow","isNormalDisconnect","mainService","monitorUuid","monitorUuids","subscription","monitorCharacteristicForService","uuid","result","value","hexValue","onDataReceived","push","initialCommands","length","onCommandSent"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-connection-handler.ts"],"mappings":";;AAEA,SAASA,YAAY,QAAQ,yCAAsC;AAEnE,SAASC,YAAY,QAAQ,8BAA2B;AAExD,SAASC,WAAW,QAAQ,+BAA4B;AAExD,SAASC,eAAe,QAAQ,wBAAqB;AAiBrD,OAAO,MAAMC,mBAAmB,CAAC;EAEvBC,2BAA2B,GAAmB,EAAE;EAGxDC,WAAWA,CACQC,MAAc,EACdC,YAA2C,EAC3CC,SAAqC,EACrCC,YAAqB,EACtC;IAAA,KAJiBH,MAAc,GAAdA,MAAc;IAAA,KACdC,YAA2C,GAA3CA,YAA2C;IAAA,KAC3CC,SAAqC,GAArCA,SAAqC;IAAA,KACrCC,YAAqB,GAArBA,YAAqB;IAEtC,IAAI,CAACC,MAAM,GAAG,IAAIR,eAAe,CAACI,MAAM,EAAEE,SAAS,CAACG,OAAO,CAAC;EAC9D;EAEOC,OAAO,GAAG,MAAAA,CAAA,KAAY;IAC3B,IAAI;MACF,MAAM,IAAI,CAACC,kBAAkB,CAAC,CAAC;MAC/B,MAAM,IAAI,CAACC,mBAAmB,CAAC,CAAC;MAEhC,IAAI,CAACN,SAAS,CAACO,eAAe,GAAGf,YAAY,CAACgB,SAAS,CAAC;MAExD,MAAM,IAAI,CAACV,MAAM,CAACW,qCAAqC,CAAC,CAAC;MAEzD,IAAI,CAACC,wBAAwB,GAAG,IAAI,CAACZ,MAAM,CAACa,cAAc,CACxD,IAAI,CAACC,oBACP,CAAC;MAED,MAAM,IAAI,CAACC,6BAA6B,CAAC,CAAC;IAC5C,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdvB,YAAY,CAAC,OAAO,EAAE,wCAAwC,EAAE;QAC9DuB,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGF,KAAK;QACrDG,UAAU,EAAE,IAAI,CAACnB,MAAM,CAACoB;MAC1B,CAAC,CAAC;MACF,IAAI,CAAClB,SAAS,CAACG,OAAO,GAAGW,KAAyB,CAAC;MACnD,IAAI,CAACd,SAAS,CAACO,eAAe,GAAGf,YAAY,CAAC2B,YAAY,CAAC;IAC7D;EACF,CAAC;EAEMC,OAAO,GAAGA,CAAA,KAAM;IACrB,IAAI,CAACxB,2BAA2B,CAACyB,OAAO,CAAEC,GAAG,IAAKA,GAAG,EAAEC,MAAM,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC3B,2BAA2B,GAAG,EAAE;IACrC,IAAI,CAACM,MAAM,CAACsB,KAAK,CAAC,CAAC;IAEnB,IAAI,CAACd,wBAAwB,EAAEa,MAAM,CAAC,CAAC;EACzC,CAAC;;EAED;EACOE,YAAY,GAAIC,QAAkC,IACvD,IAAI,CAACxB,MAAM,CAACyB,IAAI,CAACD,QAAQ,CAAC;;EAE5B;AACF;AACA;AACA;AACA;AACA;EACUpB,mBAAmB,GAAG,MAAAA,CAAA,KAA2B;IACvD,IAAI,CAAC,IAAI,CAACL,YAAY,EAAE;MACtB;IACF;IAEA,IAAI;MACF,MAAM2B,UAAU,GAAG,MAAM,IAAI,CAAC9B,MAAM,CAAC+B,UAAU,CAAC,IAAI,CAAC5B,YAAY,CAAC;MAElE,IAAI,CAACC,MAAM,CAAC4B,gBAAgB,CAACF,UAAU,EAAEG,GAAG,IAAI,IAAI,CAACjC,MAAM,CAACiC,GAAG,CAAC;IAClE,CAAC,CAAC,OAAOjB,KAAK,EAAE;MACdvB,YAAY,CAAC,MAAM,EAAE,qCAAqC,EAAE;QAC1DyC,QAAQ,EAAE,IAAI,CAAClC,MAAM,CAACmC,EAAE;QACxBhB,UAAU,EAAE,IAAI,CAACnB,MAAM,CAACoB,IAAI;QAC5BgB,YAAY,EAAE,IAAI,CAACjC,YAAY;QAC/Ba,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGmB,MAAM,CAACrB,KAAK;MAC9D,CAAC,CAAC;IACJ;EACF,CAAC;EAEOT,kBAAkB,GAAG,MAAAA,CAAA,KAAY;IACvC,MAAM+B,UAAU,GAAG,CAAC;IACpB,MAAMC,UAAU,GAAG,IAAI;IACvB,MAAMC,QAAQ,GAAG,KAAK;IACtB,IAAIC,SAAS,GAAG,KAAK;IACrB,IAAIC,UAAU,GAAG,CAAC;IAElB,OAAO,CAACD,SAAS,IAAIC,UAAU,GAAGJ,UAAU,EAAE;MAC5CG,SAAS,GAAG,MAAM,IAAI,CAACzC,MAAM,CAAC2C,WAAW,CAAC,CAAC;MAC3C,IAAIF,SAAS,EAAE;QACb;MACF;MACA,IAAI;QACF,MAAM,IAAI,CAACzC,MAAM,CAACM,OAAO,CAAC,CAAC;QAC3BmC,SAAS,GAAG,IAAI;MAClB,CAAC,CAAC,OAAOzB,KAAK,EAAE;QACd0B,UAAU,EAAE;QACZjD,YAAY,CAAC,OAAO,EAAE,2BAA2B,EAAE;UACjDyC,QAAQ,EAAE,IAAI,CAAClC,MAAM,CAACmC,EAAE;UACxBhB,UAAU,EAAE,IAAI,CAACnB,MAAM,CAACoB,IAAI;UAC5BJ,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGmB,MAAM,CAACrB,KAAK,CAAC;UAC7D4B,SAAS,EAAG5B,KAAK,EAAe4B,SAAS;UACzCF;QACF,CAAC,CAAC;QACF,IAAIA,UAAU,IAAIJ,UAAU,EAAE;UAC5B7C,YAAY,CAAC,OAAO,EAAE,6CAA6C,EAAE;YACnEyC,QAAQ,EAAE,IAAI,CAAClC,MAAM,CAACmC,EAAE;YACxBhB,UAAU,EAAE,IAAI,CAACnB,MAAM,CAACoB,IAAI;YAC5BJ,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGmB,MAAM,CAACrB,KAAK,CAAC;YAC7D4B,SAAS,EAAG5B,KAAK,EAAe4B,SAAS;YACzCC,SAAS,EAAEH,UAAU,GAAGJ;UAC1B,CAAC,CAAC;UACF,MAAMtB,KAAK;QACb;QAEA,MAAM,IAAI8B,OAAO,CAAEC,OAAO,IACxBC,UAAU,CACRD,OAAO,EACPE,IAAI,CAACC,GAAG,CAACX,UAAU,GAAGU,IAAI,CAACE,GAAG,CAAC,CAAC,EAAET,UAAU,GAAG,CAAC,CAAC,EAAEF,QAAQ,CAC7D,CACF,CAAC;MACH;IACF;EACF,CAAC;EAEO1B,oBAAoB,GAAIE,KAAsB,IAAK;IACzDvB,YAAY,CAAC,MAAM,EAAE,oCAAoC,EAAE;MACzDuB,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGF,KAAK;MACrDG,UAAU,EAAE,IAAI,CAACnB,MAAM,CAACoB;IAC1B,CAAC,CAAC;IACF,IAAIJ,KAAK,IAAI,CAAC,IAAI,CAACd,SAAS,CAACkD,kBAAkB,GAAG,CAAC,EAAE;MACnD,IAAI,CAAClD,SAAS,CAACG,OAAO,GAAGW,KAAK,CAAC;IACjC;;IAEA;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACd,SAAS,CAACO,eAAe,GAAGf,YAAY,CAAC2B,YAAY,CAAC;IAC3D,IAAI,CAACC,OAAO,CAAC,CAAC;EAChB,CAAC;EAEOP,6BAA6B,GAAG,MAAAA,CAAA,KAAY;IAClD,IAAI;MACF,KAAK,MAAMsC,WAAW,IAAI,IAAI,CAACpD,YAAY,EAAE;QAC3C,KAAK,MAAMqD,WAAW,IAAID,WAAW,CAACE,YAAY,EAAE;UAClD,MAAMC,YAAY,GAAG,IAAI,CAACxD,MAAM,CAACyD,+BAA+B,CAC9DJ,WAAW,CAACK,IAAI,EAChBJ,WAAW,CAACI,IAAI,EAChB,CAAC1C,KAAK,EAAE2C,MAAM,KAAK;YACjB,IAAI3C,KAAK,EAAE;cACT,IAAI,CAACd,SAAS,CAACG,OAAO,GAAGW,KAAK,CAAC;cAE/B;YACF;YAEA,IAAI,CAAC2C,MAAM,IAAI,CAACA,MAAM,CAACC,KAAK,EAAE;cAC5B,IAAI,CAAC1D,SAAS,CAACG,OAAO,GACpB,IAAIY,KAAK,CAAC,iCAAiC,CAC7C,CAAC;cAED;YACF;YAEA,MAAM4C,QAAQ,GAAGlE,WAAW,CAACgE,MAAM,CAACC,KAAK,CAAC;YAE1C,IAAI,CAAC1D,SAAS,CAAC4D,cAAc,GAAGH,MAAM,CAACD,IAAI,EAAEG,QAAQ,CAAC;UACxD,CACF,CAAC;UAED,IAAI,CAAC/D,2BAA2B,CAACiE,IAAI,CAACP,YAAY,CAAC;QACrD;MACF;MAEA,MAAMQ,eAAe,GAAG,IAAI,CAAC9D,SAAS,CAAC8D,eAAe,GAAG,CAAC,IAAI,EAAE;MAEhE,IAAIA,eAAe,CAACC,MAAM,GAAG,CAAC,EAAE;QAC9B,MAAM,IAAI,CAACtC,YAAY,CAACqC,eAAe,CAAC;QACxC,IAAI,CAAC9D,SAAS,CAACgE,aAAa,GAAG,CAAC;MAClC;IACF,CAAC,CAAC,OAAOlD,KAAK,EAAE;MACdvB,YAAY,CACV,OAAO,EACP,kDAAkD,EAClD;QACEuB,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGF,KAAK;QACrDG,UAAU,EAAE,IAAI,CAACnB,MAAM,CAACoB;MAC1B,CACF,CAAC;MACD,IAAI,CAAClB,SAAS,CAACG,OAAO,GAAGW,KAAyB,CAAC;IACrD;EACF,CAAC;AAEH","ignoreList":[]}
1
+ {"version":3,"names":["sentryLogger","DeviceStatus","base64ToHex","BTCommandWriter","readDeviceInformation","BTConnectionHandler","characteristicSubscriptions","constructor","device","mainServices","callbacks","preferredMtu","writer","onError","connect","connectWithRetries","requestPreferredMtu","discoverAllServicesAndCharacteristics","onDeviceInfo","onStatusChanged","CONNECTED","onDisconnectSubscription","onDisconnected","onDeviceDisconnected","subscribeToAllCharacteristics","error","Error","message","deviceName","name","DISCONNECTED","destroy","forEach","sub","remove","reset","sendCommands","commands","send","negotiated","requestMTU","useNegotiatedMtu","mtu","deviceId","id","requestedMtu","String","maxRetries","retryDelay","maxDelay","connected","retryCount","isConnected","errorCode","willRetry","Promise","resolve","setTimeout","Math","min","pow","isNormalDisconnect","mainService","monitorUuid","monitorUuids","subscription","monitorCharacteristicForService","uuid","result","value","hexValue","onDataReceived","push","initialCommands","length","onCommandSent"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-connection-handler.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ import { sentryLogger } from "../../../helpers/utils/sentry-logger.js";
4
+ const readDeviceInformation = async (device, onDeviceInfo) => {
5
+ const read = device.readCharacteristicForService;
6
+ if (typeof read !== "function") {
7
+ return;
8
+ }
9
+ const info = {};
10
+ const values = [["name", "00001800-0000-1000-8000-00805f9b34fb", "00002a00-0000-1000-8000-00805f9b34fb"], ["manufacturerName", "0000180a-0000-1000-8000-00805f9b34fb", "00002a29-0000-1000-8000-00805f9b34fb"], ["model", "0000180a-0000-1000-8000-00805f9b34fb", "00002a24-0000-1000-8000-00805f9b34fb"], ["serialNumber", "0000180a-0000-1000-8000-00805f9b34fb", "00002a25-0000-1000-8000-00805f9b34fb"]];
11
+ for (const [key, serviceUuid, characteristicUuid] of values) {
12
+ try {
13
+ const characteristic = await read.call(device, serviceUuid, characteristicUuid);
14
+ const value = characteristic?.value;
15
+ if (!value) {
16
+ continue;
17
+ }
18
+ const text = Buffer.from(value, "base64").toString("utf8").replace(/\0+$/, "").trim();
19
+ if (text) {
20
+ info[key] = text;
21
+ }
22
+ } catch (error) {
23
+ // Optional GAP/Device Information characteristics are not present on every device.
24
+ sentryLogger("info", "DEVICE: Optional device information unavailable", {
25
+ deviceId: device.id,
26
+ deviceName: device.name,
27
+ characteristicUuid,
28
+ error: error instanceof Error ? error.message : String(error)
29
+ });
30
+ }
31
+ }
32
+ if (Object.keys(info).length > 0) {
33
+ onDeviceInfo?.(info);
34
+ }
35
+ };
36
+ export { readDeviceInformation };
37
+ //# sourceMappingURL=bt-device-information.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["sentryLogger","readDeviceInformation","device","onDeviceInfo","read","readCharacteristicForService","info","values","key","serviceUuid","characteristicUuid","characteristic","call","value","text","Buffer","from","toString","replace","trim","error","deviceId","id","deviceName","name","Error","message","String","Object","keys","length"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-device-information.ts"],"mappings":";;AAEA,SAASA,YAAY,QAAQ,yCAAsC;AASnE,MAAMC,qBAAqB,GAAG,MAAAA,CAC5BC,MAAc,EACdC,YAAkD,KAChC;EAClB,MAAMC,IAAI,GAAGF,MAAM,CAACG,4BAA4B;EAEhD,IAAI,OAAOD,IAAI,KAAK,UAAU,EAAE;IAC9B;EACF;EAEA,MAAME,IAAyB,GAAG,CAAC,CAAC;EAEpC,MAAMC,MAA8D,GAAG,CACrE,CAAC,MAAM,EAAE,sCAAsC,EAAE,sCAAsC,CAAC,EACxF,CAAC,kBAAkB,EAAE,sCAAsC,EAAE,sCAAsC,CAAC,EACpG,CAAC,OAAO,EAAE,sCAAsC,EAAE,sCAAsC,CAAC,EACzF,CAAC,cAAc,EAAE,sCAAsC,EAAE,sCAAsC,CAAC,CACjG;EAED,KAAK,MAAM,CAACC,GAAG,EAAEC,WAAW,EAAEC,kBAAkB,CAAC,IAAIH,MAAM,EAAE;IAC3D,IAAI;MACF,MAAMI,cAAc,GAAG,MAAMP,IAAI,CAACQ,IAAI,CACpCV,MAAM,EACNO,WAAW,EACXC,kBACF,CAAC;MAED,MAAMG,KAAK,GAAGF,cAAc,EAAEE,KAAK;MAEnC,IAAI,CAACA,KAAK,EAAE;QACV;MACF;MAEA,MAAMC,IAAI,GAAGC,MAAM,CAACC,IAAI,CAACH,KAAK,EAAE,QAAQ,CAAC,CACtCI,QAAQ,CAAC,MAAM,CAAC,CAChBC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CACnBC,IAAI,CAAC,CAAC;MAET,IAAIL,IAAI,EAAE;QACRR,IAAI,CAACE,GAAG,CAAC,GAAGM,IAAI;MAClB;IACF,CAAC,CAAC,OAAOM,KAAK,EAAE;MACd;MACApB,YAAY,CAAC,MAAM,EAAE,iDAAiD,EAAE;QACtEqB,QAAQ,EAAEnB,MAAM,CAACoB,EAAE;QACnBC,UAAU,EAAErB,MAAM,CAACsB,IAAI;QACvBd,kBAAkB;QAClBU,KAAK,EAAEA,KAAK,YAAYK,KAAK,GAAGL,KAAK,CAACM,OAAO,GAAGC,MAAM,CAACP,KAAK;MAC9D,CAAC,CAAC;IACJ;EACF;EAEA,IAAIQ,MAAM,CAACC,IAAI,CAACvB,IAAI,CAAC,CAACwB,MAAM,GAAG,CAAC,EAAE;IAChC3B,YAAY,GAAGG,IAAI,CAAC;EACtB;AACF,CAAC;AAED,SAASL,qBAAqB","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ /* eslint-disable max-lines */
4
+
3
5
  import { sentryLogger } from "../../../helpers/utils/sentry-logger.js";
4
6
  import { DeviceStatus } from "../../types/device-status.js";
5
7
  import { summariseMeasurementForLog } from "../../utils/summarise-measurement-for-log.js";
@@ -8,6 +10,8 @@ import { BTConnectionHandler } from "./bt-connection-handler.js";
8
10
  import { BTDataProcessor } from "./bt-data-processor.js";
9
11
  import { pollingSequencerFor } from "./polling-command-sequencer.js";
10
12
  export class BTManagedDevice {
13
+ resultReportedThisConnection = false;
14
+
11
15
  /**
12
16
  * The timeout in milliseconds for the stuck data.
13
17
  */
@@ -59,9 +63,11 @@ export class BTManagedDevice {
59
63
  onError: onErrorCallback,
60
64
  onDeviceStatusChanged: onDeviceStatusChangedCallback,
61
65
  onResult: onResultCallback,
62
- onDeviceDisconnected: onDeviceDisconnectedCallback
66
+ onDeviceDisconnected: onDeviceDisconnectedCallback,
67
+ oneReadingPerConnection
63
68
  }) {
64
69
  this.device = device;
70
+ this.oneReadingPerConnection = oneReadingPerConnection === true;
65
71
  sentryLogger("info", "BT_MANAGER: Creating BTManagedDevice", {
66
72
  deviceId: device.id,
67
73
  deviceName: deviceName
@@ -104,6 +110,10 @@ export class BTManagedDevice {
104
110
  caseType: _,
105
111
  ...data
106
112
  }) => {
113
+ if (this.oneReadingPerConnection && this.resultReportedThisConnection) {
114
+ return;
115
+ }
116
+ this.resultReportedThisConnection = true;
107
117
  sentryLogger("info", "BT_MANAGER: Calling onResult callback", {
108
118
  data: summariseMeasurementForLog(data),
109
119
  deviceData: this.deviceData,
@@ -128,6 +138,8 @@ export class BTManagedDevice {
128
138
  this.onResult = undefined;
129
139
  };
130
140
  connect = async () => {
141
+ this.resultReportedThisConnection = false;
142
+
131
143
  // To access the abstract property in the constructor, we need to set it here
132
144
  this.deviceData.measurementTypes = supportedMeasurementTypeKeys(this.mainServices);
133
145
  const sequencer = this.createCommandSequencer?.() ?? pollingSequencerFor(this.mainServices);
@@ -143,6 +155,20 @@ export class BTManagedDevice {
143
155
  onDataReceived: (uuid, hexValue) => {
144
156
  this.dataProcessor?.processData(uuid, hexValue);
145
157
  },
158
+ onDeviceInfo: info => {
159
+ if (info.name) {
160
+ this.deviceData.localName = info.name;
161
+ }
162
+ if (info.manufacturerName) {
163
+ this.deviceData.manufacturerName = info.manufacturerName;
164
+ }
165
+ if (info.model) {
166
+ this.deviceData.model = info.model;
167
+ }
168
+ if (info.serialNumber) {
169
+ this.deviceData.sn = info.serialNumber;
170
+ }
171
+ },
146
172
  initialCommands: () => sequencer.initialCommands(),
147
173
  onCommandSent: () => this.dataProcessor?.armStuckTimeout(),
148
174
  isNormalDisconnect: () => sequencer.isNormalDisconnect?.() ?? false
@@ -1 +1 @@
1
- {"version":3,"names":["sentryLogger","DeviceStatus","summariseMeasurementForLog","supportedMeasurementTypeKeys","BTConnectionHandler","BTDataProcessor","pollingSequencerFor","BTManagedDevice","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","status","measurementTypeKey","error","Error","message","caseType","_","data","destroy","connectionHandler","dataProcessor","undefined","connect","mainServices","sequencer","createCommandSequencer","onStatusChanged","bind","DISCONNECTED","onDataReceived","uuid","hexValue","processData","initialCommands","onCommandSent","armStuckTimeout","isNormalDisconnect","preferredMtu","stuckDataTimeout","onStreamStart","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","handleDependentResult","frameReader"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":";;AAGA,SAASA,YAAY,QAAQ,yCAAsC;AAOnE,SAASC,YAAY,QAAQ,8BAA2B;AAMxD,SAASC,0BAA0B,QAAQ,8CAA2C;AACtF,SAASC,4BAA4B,QAAQ,gDAA6C;AAE1F,SAASC,mBAAmB,QAAQ,4BAAyB;AAC7D,SAASC,eAAe,QAAQ,wBAAqB;AACrD,SAASC,mBAAmB,QAAQ,gCAA6B;AAEjE,OAAO,MAAeC,eAAe,CAErC;EASE;AACF;AACA;;EAGE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;EAOE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAGE;AACF;AACA;AACA;AACA;AACA;AACA;;EAGE;AACF;AACA;AACA;AACA;AACA;;EAGE;AACF;AACA;AACA;AACA;AACA;;EAiBEC,WAAWA,CACOC,MAAc,EAE9B;IACEC,UAAU;IACVC,OAAO,EAAEC,eAAe;IACxBC,qBAAqB,EAAEC,6BAA6B;IACpDC,QAAQ,EAAEC,gBAAgB;IAC1BC,oBAAoB,EAAEC;EACD,CAAC,EACxB;IAAA,KATgBT,MAAc,GAAdA,MAAc;IAU9BT,YAAY,CAAC,MAAM,EAAE,sCAAsC,EAAE;MAC3DmB,QAAQ,EAAEV,MAAM,CAACW,EAAE;MACnBV,UAAU,EAAEA;IACd,CAAC,CAAC;IACF,IAAI,CAACW,UAAU,GAAG;MAChBD,EAAE,EAAEX,MAAM,CAACW,EAAE;MACbE,IAAI,EAAEZ,UAAU;MAChBa,SAAS,EAAEd,MAAM,CAACc,SAAS,IAAI,EAAE;MACjCC,gBAAgB,EAAEf,MAAM,CAACe,gBAAgB,IAAI,EAAE;MAC/CC,EAAE,EAAE,EAAE;MAEN;MACAC,gBAAgB,EAAE;IACpB,CAAC;IAED,IAAI,CAACN,EAAE,GAAGX,MAAM,CAACW,EAAE;IAEnB,IAAI,CAACP,qBAAqB,GAAG,CAC3Bc,MAAoB,EACpBC,kBAAuC,KACpC;MACH5B,YAAY,CACV,MAAM,EACN,oDAAoD,EACpD;QACE2B,MAAM;QACNC,kBAAkB;QAClBP,UAAU,EAAE,IAAI,CAACA,UAAU;QAC3BX,UAAU,EAAE,IAAI,CAACW,UAAU,CAACC;MAC9B,CACF,CAAC;MACDR,6BAA6B,GAAG;QAC9BO,UAAU,EAAE,IAAI,CAACA,UAAU;QAC3BM,MAAM,EAAEA,MAAM;QACdC;MACF,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,CAACjB,OAAO,GAAIkB,KAAgC,IAAK;MACnD7B,YAAY,CAAC,OAAO,EAAE,sCAAsC,EAAE;QAC5D6B,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGF,KAAK;QACrDR,UAAU,EAAE,IAAI,CAACA,UAAU;QAC3BX,UAAU,EAAE,IAAI,CAACW,UAAU,CAACC;MAC9B,CAAC,CAAC;MACFV,eAAe,GAAG;QAChBS,UAAU,EAAE,IAAI,CAACA,UAAU;QAC3BQ,KAAK,EAAEA;MACT,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,CAACd,QAAQ,GAAG,CAAC;MACfiB,QAAQ,EAAEC,CAAC;MACX,GAAGC;IAC2B,CAAC,KAAK;MACpClC,YAAY,CAAC,MAAM,EAAE,uCAAuC,EAAE;QAC5DkC,IAAI,EAAEhC,0BAA0B,CAACgC,IAAI,CAAC;QACtCb,UAAU,EAAE,IAAI,CAACA,UAAU;QAC3BX,UAAU,EAAE,IAAI,CAACW,UAAU,CAACC;MAC9B,CAAC,CAAC;MACFN,gBAAgB,GAAG;QAAEK,UAAU,EAAE,IAAI,CAACA,UAAU;QAAEa;MAAK,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,CAACjB,oBAAoB,GAAGC,4BAA4B;EAC1D;EAEOiB,OAAO,GAAGA,CAAA,KAAM;IACrBnC,YAAY,CAAC,MAAM,EAAE,+BAA+B,EAAE;MACpDqB,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BX,UAAU,EAAE,IAAI,CAACW,UAAU,CAACC;IAC9B,CAAC,CAAC;IACF,IAAI,CAACc,iBAAiB,EAAED,OAAO,CAAC,CAAC;IACjC,IAAI,CAACE,aAAa,EAAEF,OAAO,CAAC,CAAC;IAC7B,IAAI,CAACxB,OAAO,GAAG2B,SAAS;IACxB,IAAI,CAACzB,qBAAqB,GAAGyB,SAAS;IACtC,IAAI,CAACvB,QAAQ,GAAGuB,SAAS;EAC3B,CAAC;EAEMC,OAAO,GAAG,MAAAA,CAAA,KAAY;IAC3B;IACA,IAAI,CAAClB,UAAU,CAACK,gBAAgB,GAAGvB,4BAA4B,CAC7D,IAAI,CAACqC,YACP,CAAC;IAED,MAAMC,SAA2B,GAC/B,IAAI,CAACC,sBAAsB,GAAG,CAAC,IAAIpC,mBAAmB,CAAC,IAAI,CAACkC,YAAY,CAAC;IAE3E,IAAI,CAACJ,iBAAiB,GAAG,IAAIhC,mBAAmB,CAC9C,IAAI,CAACK,MAAM,EACX,IAAI,CAAC+B,YAAY,EACjB;MACEG,eAAe,EAAGhB,MAAM,IAAK;QAC3B,IAAI,CAACd,qBAAqB,EAAE+B,IAAI,CAAC,IAAI,CAAC,CAACjB,MAAM,CAAC;QAC9C,IAAIA,MAAM,KAAK1B,YAAY,CAAC4C,YAAY,EAAE;UACxC,IAAI,CAAC5B,oBAAoB,GAAG,CAAC;UAC7B,IAAI,CAACkB,OAAO,CAAC,CAAC;QAChB;MACF,CAAC;MACDxB,OAAO,EAAGkB,KAAK,IAAK,IAAI,CAAClB,OAAO,EAAEiC,IAAI,CAAC,IAAI,CAAC,CAACf,KAAK,CAAC;MACnDiB,cAAc,EAAEA,CAACC,IAAI,EAAEC,QAAQ,KAAK;QAClC,IAAI,CAACX,aAAa,EAAEY,WAAW,CAACF,IAAI,EAAEC,QAAQ,CAAC;MACjD,CAAC;MACDE,eAAe,EAAEA,CAAA,KAAMT,SAAS,CAACS,eAAe,CAAC,CAAC;MAClDC,aAAa,EAAEA,CAAA,KAAM,IAAI,CAACd,aAAa,EAAEe,eAAe,CAAC,CAAC;MAC1DC,kBAAkB,EAAEA,CAAA,KAAMZ,SAAS,CAACY,kBAAkB,GAAG,CAAC,IAAI;IAChE,CAAC,EACD,IAAI,CAACC,YACP,CAAC;IAED,IAAI,CAACjB,aAAa,GAAG,IAAIhC,eAAe,CACtC,IAAI,CAACI,MAAM,EACX,IAAI,CAAC+B,YAAY,EACjB,IAAI,CAACe,gBAAgB,EACrB;MACEZ,eAAe,EAAE,IAAI,CAAC9B,qBAAqB,EAAE+B,IAAI,CAAC,IAAI,CAAC;MACvDY,aAAa,EAAE,IAAI,CAACA,aAAa,EAAEZ,IAAI,CAAC,IAAI,CAAC;MAC7Ca,eAAe,EAAE,IAAI,CAACA,eAAe,EAAEb,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,KAAK,CAAC;MAClE7B,QAAQ,EAAEA,CAAC2C,UAAU,EAAEC,eAAe,KAAK;QACzC,IAAI;UACF,OAAO,IAAI,CAACC,mBAAmB,CAAChB,IAAI,CAAC,IAAI,CAAC,CACxCc,UAAU,EACVC,eACF,CAAC;QACH,CAAC,CAAC,OAAO9B,KAAK,EAAE;UACd,IAAI,CAAClB,OAAO,EAAEiC,IAAI,CAAC,IAAI,CAAC,CAACf,KAAyB,CAAC;QACrD;MACF,CAAC;MACDgC,WAAW,EAAGC,KAAK,IAAKrB,SAAS,CAACoB,WAAW,CAACC,KAAK,CAAC;MACpDC,YAAY,EAAGC,QAAQ,IACrB,KAAK,IAAI,CAAC5B,iBAAiB,EAAE2B,YAAY,CAACC,QAAQ,CAAC;MACrDrD,OAAO,EAAE,IAAI,CAACA,OAAO,EAAEiC,IAAI,CAAC,IAAI,CAAC;MACjCqB,qBAAqB,EAAE,IAAI,CAACA,qBAAqB,EAAErB,IAAI,CAAC,IAAI;IAC9D,CAAC,EACD,IAAI,CAACsB,WACP,CAAC;IAED,MAAM,IAAI,CAAC9B,iBAAiB,CAACG,OAAO,CAAC,CAAC;EACxC,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["sentryLogger","DeviceStatus","summariseMeasurementForLog","supportedMeasurementTypeKeys","BTConnectionHandler","BTDataProcessor","pollingSequencerFor","BTManagedDevice","resultReportedThisConnection","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","status","measurementTypeKey","error","Error","message","caseType","_","data","destroy","connectionHandler","dataProcessor","undefined","connect","mainServices","sequencer","createCommandSequencer","onStatusChanged","bind","DISCONNECTED","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","model","serialNumber","initialCommands","onCommandSent","armStuckTimeout","isNormalDisconnect","preferredMtu","stuckDataTimeout","onStreamStart","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","handleDependentResult","frameReader"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  /* eslint-disable max-lines */
4
- import { EcgDiagnosticFlag, MeasurementTypeKey } from "@ovok/core";
4
+ import { MeasurementTypeKey } from "@ovok/core";
5
5
  import { CaseType } from "../../../types/case-type.js";
6
6
  import { createFrameValidator } from "../../../utils/create-frame-validator.js";
7
7
  import { parseMeasurement } from "../../../utils/parse-measurement.js";
@@ -10,7 +10,7 @@ import { BTManagedDevice } from "../bt-managed-device.js";
10
10
  import { LepuCommandBuilder } from "../lepu/lepu.command-builder.js";
11
11
  import { LepuFileTransfer } from "../lepu/lepu.file-transfer.js";
12
12
  import { LepuFrameReader } from "../lepu/lepu.frame-reader.js";
13
- import { decodeViatomEcgRecording } from "../viatom/viatom.ecg-files.js";
13
+ import { decodeViatomEcgRecording, recordedAtFromViatomFileName } from "../viatom/viatom.ecg-files.js";
14
14
  import { createLepuSequencer, recordLepuIdentity } from "./custom-lepu-sequencer.js";
15
15
  /**
16
16
  * Runs a device registered with defineCustomDevice.
@@ -24,8 +24,12 @@ import { createLepuSequencer, recordLepuIdentity } from "./custom-lepu-sequencer
24
24
  export class CustomDevice extends BTManagedDevice {
25
25
  validators = new Map();
26
26
  constructor(device, params, definition) {
27
- super(device, params);
27
+ super(device, {
28
+ ...params,
29
+ oneReadingPerConnection: params.oneReadingPerConnection ?? definition.oneReadingPerConnection
30
+ });
28
31
  this.definition = definition;
32
+ this.deliveredEcgFileNames = new Set(params.deliveredEcgFileNames ?? []);
29
33
  this.mainServices = definition.mainServices;
30
34
  this.stuckDataTimeout = definition.stuckDataTimeout;
31
35
  if (definition.preferredMtu !== undefined) {
@@ -59,6 +63,12 @@ export class CustomDevice extends BTManagedDevice {
59
63
  },
60
64
  builder: new LepuCommandBuilder(lepu.startBytes[0] ?? "a5"),
61
65
  onFile: this.reportViatomEcgFile,
66
+ skipFiles: this.deliveredEcgFileNames,
67
+ afterTransfer: lepu.pollCommand ? () => [{
68
+ serviceUuid: lepu.write.serviceUuid,
69
+ characteristicUuid: lepu.write.characteristicUuid,
70
+ frame: new LepuCommandBuilder(lepu.startBytes[0] ?? "a5").build(lepu.pollCommand)
71
+ }] : undefined,
62
72
  onError: reason => this.onError?.(new Error(`Viatom ECG: ${reason}`))
63
73
  });
64
74
  }
@@ -77,9 +87,10 @@ export class CustomDevice extends BTManagedDevice {
77
87
  this.onResult?.({
78
88
  measurementTypeKey: MeasurementTypeKey.ecg,
79
89
  caseType: CaseType.RESULT,
80
- diagnosticResult: EcgDiagnosticFlag.REGULAR,
81
90
  diagramPoints: decoded.samples,
82
- duration: decoded.duration
91
+ duration: decoded.duration,
92
+ recordedAt: recordedAtFromViatomFileName(file.name),
93
+ recordingId: file.name
83
94
  });
84
95
  };
85
96
  onIdentified = info => recordLepuIdentity(this.deviceData, info);
@@ -1 +1 @@
1
- {"version":3,"names":["EcgDiagnosticFlag","MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","BTManagedDevice","LepuCommandBuilder","LepuFileTransfer","LepuFrameReader","decodeViatomEcgRecording","createLepuSequencer","recordLepuIdentity","CustomDevice","validators","Map","constructor","device","params","definition","mainServices","stuckDataTimeout","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","lepu","frameReader","startBytes","createCommandSequencer","fileTransfer","write","serviceUuid","characteristicUuid","builder","onFile","reportViatomEcgFile","onError","reason","Error","onIdentified","onRefused","onIdentityRefused","file","decoded","content","samples","length","name","onResult","measurementTypeKey","ecg","caseType","RESULT","diagnosticResult","REGULAR","diagramPoints","duration","info","deviceData","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","shouldReportDependentResult","reportFrame","error","parsingCase","OTHER","_data","handleSuccessResult","repeated","repeatedRecords","report","parsedData","records","Math","floor","from","recordBytes","record","measurements","discard","measurement","reportMeasurement","reading","fieldNames","rejection","map","fields","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","BTManagedDevice","LepuCommandBuilder","LepuFileTransfer","LepuFrameReader","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","CustomDevice","validators","Map","constructor","device","params","definition","oneReadingPerConnection","deliveredEcgFileNames","Set","mainServices","stuckDataTimeout","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","lepu","frameReader","startBytes","createCommandSequencer","fileTransfer","write","serviceUuid","characteristicUuid","builder","onFile","reportViatomEcgFile","skipFiles","afterTransfer","pollCommand","build","onError","reason","Error","onIdentified","onRefused","onIdentityRefused","file","decoded","content","samples","length","name","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","info","deviceData","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","shouldReportDependentResult","reportFrame","error","parsingCase","OTHER","_data","handleSuccessResult","repeated","repeatedRecords","report","parsedData","records","Math","floor","from","recordBytes","record","measurements","discard","measurement","reportMeasurement","reading","fieldNames","rejection","map","fields","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ /* eslint-disable max-lines */
4
+
3
5
  import { le32FromHex } from "../../../utils/le-32-from-hex.js";
4
6
  import { le32ToBytes } from "../../../utils/le-32-to-bytes.js";
5
7
  import { LepuCommand } from "./lepu.commands.js";
@@ -46,7 +48,10 @@ class LepuFileTransfer {
46
48
  initialCommands = () => [this.commandFor(LepuCommand.GET_FILE_LIST)];
47
49
  nextCommand = frame => {
48
50
  const command = lepuCommandOf(frame);
49
- if (this.isDone || !TRANSFER_COMMANDS.includes(command)) {
51
+ if (this.isDone) {
52
+ return this.params.afterTransfer?.();
53
+ }
54
+ if (!TRANSFER_COMMANDS.includes(command)) {
50
55
  return undefined;
51
56
  }
52
57
  if (!isLepuSuccess(frame)) {
@@ -66,10 +71,14 @@ class LepuFileTransfer {
66
71
  return this.closedFile();
67
72
  };
68
73
  openNextFile = () => {
69
- const name = this.files[this.fileIndex];
74
+ let name = this.files[this.fileIndex];
75
+ while (name !== undefined && this.params.skipFiles?.has(name)) {
76
+ this.fileIndex++;
77
+ name = this.files[this.fileIndex];
78
+ }
70
79
  if (name === undefined) {
71
80
  this.isDone = true;
72
- return undefined;
81
+ return this.params.afterTransfer?.();
73
82
  }
74
83
  this.name = name;
75
84
  this.totalBytes = 0;