@ovok/native 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/LICENSE +8 -667
  2. package/lib/commonjs/modules/bt-device/components/btdevice-list.js +3 -1
  3. package/lib/commonjs/modules/bt-device/components/btdevice-list.js.map +1 -1
  4. package/lib/commonjs/modules/bt-device/components/item/status.js +17 -5
  5. package/lib/commonjs/modules/bt-device/components/item/status.js.map +1 -1
  6. package/lib/commonjs/modules/bt-device/components/supported-device-list.js +93 -0
  7. package/lib/commonjs/modules/bt-device/components/supported-device-list.js.map +1 -0
  8. package/lib/commonjs/modules/bt-device/constants/supported-devices.js +182 -0
  9. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -0
  10. package/lib/commonjs/modules/bt-device/index.js +33 -0
  11. package/lib/commonjs/modules/bt-device/index.js.map +1 -1
  12. package/lib/commonjs/modules/bt-device/types/supported-device-list-props.js +6 -0
  13. package/lib/commonjs/modules/bt-device/types/supported-device-list-props.js.map +1 -0
  14. package/lib/commonjs/modules/bt-management/index.js +22 -0
  15. package/lib/commonjs/modules/bt-management/index.js.map +1 -1
  16. package/lib/commonjs/modules/bt-management/services/bt-manager.js +15 -13
  17. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  18. package/lib/commonjs/modules/bt-management/services/device-creator.js +7 -1
  19. package/lib/commonjs/modules/bt-management/services/device-creator.js.map +1 -1
  20. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js +184 -0
  21. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js.map +1 -0
  22. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-frame-parser.js +114 -0
  23. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-frame-parser.js.map +1 -0
  24. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js +113 -51
  25. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
  26. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.main-services.js +41 -77
  27. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.main-services.js.map +1 -1
  28. package/lib/commonjs/modules/bt-management/services/devices/boso/boso.medicus.js +29 -0
  29. package/lib/commonjs/modules/bt-management/services/devices/boso/boso.medicus.js.map +1 -0
  30. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +24 -12
  31. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
  32. package/lib/commonjs/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js +25 -0
  33. package/lib/commonjs/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js.map +1 -0
  34. package/lib/module/modules/bt-device/components/btdevice-list.js +3 -1
  35. package/lib/module/modules/bt-device/components/btdevice-list.js.map +1 -1
  36. package/lib/module/modules/bt-device/components/item/status.js +17 -5
  37. package/lib/module/modules/bt-device/components/item/status.js.map +1 -1
  38. package/lib/module/modules/bt-device/components/supported-device-list.js +87 -0
  39. package/lib/module/modules/bt-device/components/supported-device-list.js.map +1 -0
  40. package/lib/module/modules/bt-device/constants/supported-devices.js +178 -0
  41. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -0
  42. package/lib/module/modules/bt-device/index.js +3 -0
  43. package/lib/module/modules/bt-device/index.js.map +1 -1
  44. package/lib/module/modules/bt-device/types/supported-device-list-props.js +4 -0
  45. package/lib/module/modules/bt-device/types/supported-device-list-props.js.map +1 -0
  46. package/lib/module/modules/bt-management/index.js +2 -0
  47. package/lib/module/modules/bt-management/index.js.map +1 -1
  48. package/lib/module/modules/bt-management/services/bt-manager.js +15 -13
  49. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  50. package/lib/module/modules/bt-management/services/device-creator.js +7 -1
  51. package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
  52. package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js +180 -0
  53. package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js.map +1 -0
  54. package/lib/module/modules/bt-management/services/devices/bc01/bc01-frame-parser.js +110 -0
  55. package/lib/module/modules/bt-management/services/devices/bc01/bc01-frame-parser.js.map +1 -0
  56. package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js +113 -51
  57. package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
  58. package/lib/module/modules/bt-management/services/devices/bc01/bc01.main-services.js +41 -77
  59. package/lib/module/modules/bt-management/services/devices/bc01/bc01.main-services.js.map +1 -1
  60. package/lib/module/modules/bt-management/services/devices/boso/boso.medicus.js +26 -0
  61. package/lib/module/modules/bt-management/services/devices/boso/boso.medicus.js.map +1 -0
  62. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +24 -12
  63. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
  64. package/lib/module/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js +22 -0
  65. package/lib/module/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js.map +1 -0
  66. package/lib/typescript/commonjs/src/modules/bt-device/components/btdevice-list.d.ts.map +1 -1
  67. package/lib/typescript/commonjs/src/modules/bt-device/components/item/status.d.ts.map +1 -1
  68. package/lib/typescript/commonjs/src/modules/bt-device/components/supported-device-list.d.ts +4 -0
  69. package/lib/typescript/commonjs/src/modules/bt-device/components/supported-device-list.d.ts.map +1 -0
  70. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +165 -0
  71. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -0
  72. package/lib/typescript/commonjs/src/modules/bt-device/index.d.ts +3 -0
  73. package/lib/typescript/commonjs/src/modules/bt-device/index.d.ts.map +1 -1
  74. package/lib/typescript/commonjs/src/modules/bt-device/types/supported-device-list-props.d.ts +6 -0
  75. package/lib/typescript/commonjs/src/modules/bt-device/types/supported-device-list-props.d.ts.map +1 -0
  76. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +2 -0
  77. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  78. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +0 -1
  79. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  80. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  81. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts +53 -0
  82. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts.map +1 -0
  83. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts +53 -0
  84. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts.map +1 -0
  85. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts +33 -13
  86. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts.map +1 -1
  87. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.main-services.d.ts +11 -17
  88. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.main-services.d.ts.map +1 -1
  89. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts +26 -0
  90. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts.map +1 -0
  91. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +0 -25
  92. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
  93. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts +22 -0
  94. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts.map +1 -0
  95. package/lib/typescript/module/src/modules/bt-device/components/btdevice-list.d.ts.map +1 -1
  96. package/lib/typescript/module/src/modules/bt-device/components/item/status.d.ts.map +1 -1
  97. package/lib/typescript/module/src/modules/bt-device/components/supported-device-list.d.ts +4 -0
  98. package/lib/typescript/module/src/modules/bt-device/components/supported-device-list.d.ts.map +1 -0
  99. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +165 -0
  100. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -0
  101. package/lib/typescript/module/src/modules/bt-device/index.d.ts +3 -0
  102. package/lib/typescript/module/src/modules/bt-device/index.d.ts.map +1 -1
  103. package/lib/typescript/module/src/modules/bt-device/types/supported-device-list-props.d.ts +6 -0
  104. package/lib/typescript/module/src/modules/bt-device/types/supported-device-list-props.d.ts.map +1 -0
  105. package/lib/typescript/module/src/modules/bt-management/index.d.ts +2 -0
  106. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  107. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +0 -1
  108. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  109. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  110. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts +53 -0
  111. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts.map +1 -0
  112. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts +53 -0
  113. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts.map +1 -0
  114. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts +33 -13
  115. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts.map +1 -1
  116. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.main-services.d.ts +11 -17
  117. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.main-services.d.ts.map +1 -1
  118. package/lib/typescript/module/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts +26 -0
  119. package/lib/typescript/module/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts.map +1 -0
  120. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +0 -25
  121. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
  122. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts +22 -0
  123. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts.map +1 -0
  124. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_iBtManagedDevice","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_acceptedDevice","_compiledCustomField","_customByteOrder","_customCaseKind","_customCaseSpec","_customDeviceDefinition","_customDeviceId","_customDeviceSpec","_customFieldEncoding","_customFieldSpec","_customFrameSpec","_customLepuSpec","_customMeasurement","_customMonitorSpec","_customServiceSpec","_commandSequencer","_deviceCommand","_deviceKey","_deviceKeyOf","_deviceData","_deviceStatus","_integratedDevices","_iMedicalDevice","_serviceType","_btproviderProps","_btproviderChildrenProps","_resultCallback","_errorCallback","_deviceStatusChangeCallback","_btManagedDevice","_customDevice","_btManager","_defineCustomDevice","_standardGattDevices","_verovalBpMonitors","_verovalDuoControlDevice","_verovalEcgDevice","_verovalEcgSamples","_lepuTransports","_aojThermometers","_viatomBpMonitors","_viatomOximeters","_viatomEcgRecorders","_viatomLepod","_lepuDeviceNames","_lepuNameMatch","_lepuCommands","_lepuDeviceInfo","_lepuFileTransfer","_lepuResponseType","_measurementFieldCatalog","_btProvider","_defaultPermissionFallback","_useRequestPermissions"],"sourceRoot":"../../../../src","sources":["modules/bt-management/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_iBtManagedDevice","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_acceptedDevice","_compiledCustomField","_customByteOrder","_customCaseKind","_customCaseSpec","_customDeviceDefinition","_customDeviceId","_customDeviceSpec","_customFieldEncoding","_customFieldSpec","_customFrameSpec","_customLepuSpec","_customMeasurement","_customMonitorSpec","_customServiceSpec","_commandSequencer","_deviceCommand","_deviceKey","_deviceKeyOf","_deviceData","_deviceStatus","_integratedDevices","_iMedicalDevice","_serviceType","_btproviderProps","_btproviderChildrenProps","_resultCallback","_errorCallback","_deviceStatusChangeCallback","_btManagedDevice","_customDevice","_btManager","_defineCustomDevice","_standardGattDevices","_bosoMedicus","_visomatComfortSoftBt","_verovalBpMonitors","_verovalDuoControlDevice","_verovalEcgDevice","_verovalEcgSamples","_lepuTransports","_aojThermometers","_viatomBpMonitors","_viatomOximeters","_viatomEcgRecorders","_viatomLepod","_lepuDeviceNames","_lepuNameMatch","_lepuCommands","_lepuDeviceInfo","_lepuFileTransfer","_lepuResponseType","_measurementFieldCatalog","_btProvider","_defaultPermissionFallback","_useRequestPermissions"],"sourceRoot":"../../../../src","sources":["modules/bt-management/index.ts"],"mappings":"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","ignoreList":[]}
@@ -15,7 +15,6 @@ class BTManager {
15
15
  static MAX_DEVICES = 15; // Safety limit to prevent unbounded growth
16
16
  devices = new Map();
17
17
  eventSubscriptions = [];
18
- lastScanTimestamp = 0;
19
18
  constructor(bleManager, acceptedDevices) {
20
19
  this.bleManager = bleManager;
21
20
  this.acceptedDevices = acceptedDevices;
@@ -30,7 +29,6 @@ class BTManager {
30
29
  this.stateChangeListener.remove();
31
30
  this.stateChangeListener = undefined;
32
31
  }
33
- this.lastScanTimestamp = 0;
34
32
 
35
33
  // Then clear all callbacks
36
34
  this.onErrorCallback = undefined;
@@ -44,12 +42,6 @@ class BTManager {
44
42
  this.deviceCreator.destroy();
45
43
  };
46
44
  startScan = () => {
47
- if (Date.now() - this.lastScanTimestamp < 60_000) {
48
- (0, _sentryLogger.sentryLogger)("warning", "BT_MANAGER: startScan called too frequently, skipping (within 1 min window)");
49
- return;
50
- }
51
- this.lastScanTimestamp = Date.now();
52
-
53
45
  // Remove previous state change listener to prevent accumulation
54
46
  if (this.stateChangeListener) {
55
47
  this.stateChangeListener.remove();
@@ -72,12 +64,14 @@ class BTManager {
72
64
  }
73
65
  (0, _sentryLogger.sentryLogger)("warning", "BT_MANAGER: State is not PoweredOn, sending intent to enable Bluetooth");
74
66
 
75
- // Only send intent on Android
67
+ // Only send intent on Android — iOS has no programmatic way to power on
68
+ // Bluetooth, and `bleManager.enable()` there returns an unsupported-op
69
+ // promise that would surface as an unhandled rejection.
76
70
  if (_reactNative.Platform.OS === "android") {
77
71
  _reactNative.Linking.sendIntent("android.bluetooth.adapter.action.REQUEST_ENABLE");
78
- } else {
79
- this.bleManager.enable();
72
+ return;
80
73
  }
74
+ (0, _sentryLogger.sentryLogger)("warning", "BT_MANAGER: Bluetooth is off; on iOS the user must enable it from Settings");
81
75
  }, true);
82
76
 
83
77
  // Track subscription for proper cleanup
@@ -136,13 +130,21 @@ class BTManager {
136
130
  });
137
131
  return;
138
132
  }
139
- if (!device || !device.name) {
133
+
134
+ /**
135
+ * On iOS the advertised name arrives as `localName` while `name` stays null until the
136
+ * device is connected. Dropping every ad without a `name` therefore hides real BC401
137
+ * and other Contec hardware from the scan list. Fall back to `localName` so the same
138
+ * matcher runs against the string the peripheral actually advertised.
139
+ */
140
+ const advertisedName = device?.name?.trim() || device?.localName?.trim() || "";
141
+ if (!device || !advertisedName) {
140
142
  return;
141
143
  }
142
144
  if (this.devices.has(device.id)) {
143
145
  return;
144
146
  }
145
- const deviceName = this.deviceCreator.getDeviceName(device.name);
147
+ const deviceName = this.deviceCreator.getDeviceName(advertisedName);
146
148
  if (!deviceName) {
147
149
  return;
148
150
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeBlePlx","_index","_sentryLogger","_deviceCreator","BTManager","MAX_DEVICES","devices","Map","eventSubscriptions","lastScanTimestamp","constructor","bleManager","acceptedDevices","deviceCreator","DeviceCreator","destroy","sentryLogger","stopScan","stateChangeListener","remove","undefined","onErrorCallback","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","forEach","device","clear","startScan","Date","now","onStateChange","state","State","PoweredOn","index","indexOf","splice","startDeviceScan","scanMode","ScanMode","Balanced","onScanResult","Platform","OS","Linking","sendIntent","enable","push","stopDeviceScan","sub","onDeviceFound","callback","onError","onDeviceStatusChanged","onResult","error","Error","message","slog","name","has","id","deviceName","getDeviceName","size","deviceId","currentSize","deviceClass","createDevice","bind","onDeviceDisconnected","removeDeviceFromFoundedDevices","set","get","delete","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeBlePlx","_index","_sentryLogger","_deviceCreator","BTManager","MAX_DEVICES","devices","Map","eventSubscriptions","constructor","bleManager","acceptedDevices","deviceCreator","DeviceCreator","destroy","sentryLogger","stopScan","stateChangeListener","remove","undefined","onErrorCallback","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","forEach","device","clear","startScan","onStateChange","state","State","PoweredOn","index","indexOf","splice","startDeviceScan","scanMode","ScanMode","Balanced","onScanResult","Platform","OS","Linking","sendIntent","push","stopDeviceScan","sub","onDeviceFound","callback","onError","onDeviceStatusChanged","onResult","error","Error","message","slog","advertisedName","name","trim","localName","has","id","deviceName","getDeviceName","size","deviceId","currentSize","deviceClass","createDevice","bind","onDeviceDisconnected","removeDeviceFromFoundedDevices","set","get","delete","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":"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","ignoreList":[]}
@@ -77,7 +77,13 @@ class DeviceCreator {
77
77
  if (!params.device) {
78
78
  throw new Error("Device is required");
79
79
  }
80
- if (!params.device.name?.trim()) {
80
+
81
+ /**
82
+ * On iOS the peripheral's `name` is null in scan callbacks until it is connected —
83
+ * `localName` carries the advertised name instead. Accept either so a scan-time
84
+ * `createDevice` call for a real iOS ad is not rejected before it can connect.
85
+ */
86
+ if (!params.device.name?.trim() && !params.device.localName?.trim()) {
81
87
  throw new Error("Device name is required");
82
88
  }
83
89
  if (!params.device.id) {
@@ -1 +1 @@
1
- {"version":3,"names":["_integratedDevicesMap","require","_integratedDevices","_isCustomDeviceDefinition","_bc01Device","_bp2Device","_customDevice","_f4Device","_spo2Device","_verovalDuoControlDevice","_verovalEcgDevice","DEVICE_CLASSES","IntegratedDevices","BP2","BP2Device","F4","F4Device","PC60WF","SPO2Device","BC01","BC01Device","VEROVAL_DUO_CONTROL","VerovalDuoControlDevice","VEROVAL_ECG","VerovalEcgDevice","collectCustomDevices","acceptedDevices","customDevices","Map","matchers","Set","forEach","entry","index","isCustomDeviceDefinition","Error","has","id","nameMatch","source","set","add","DeviceCreator","deviceNameCache","CACHE_MAX_SIZE","constructor","acceptedDeviceNames","getDeviceName","foundName","undefined","get","matched","matchDeviceName","cacheDeviceName","createDevice","params","String","deviceName","trim","device","name","custom","CustomDevice","deviceClass","Object","keys","join","destroy","clear","regex","deviceType","integratedDevicesMap","test","some","values","size","firstKey","next","value","delete","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/device-creator.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_integratedDevicesMap","require","_integratedDevices","_isCustomDeviceDefinition","_bc01Device","_bp2Device","_customDevice","_f4Device","_spo2Device","_verovalDuoControlDevice","_verovalEcgDevice","DEVICE_CLASSES","IntegratedDevices","BP2","BP2Device","F4","F4Device","PC60WF","SPO2Device","BC01","BC01Device","VEROVAL_DUO_CONTROL","VerovalDuoControlDevice","VEROVAL_ECG","VerovalEcgDevice","collectCustomDevices","acceptedDevices","customDevices","Map","matchers","Set","forEach","entry","index","isCustomDeviceDefinition","Error","has","id","nameMatch","source","set","add","DeviceCreator","deviceNameCache","CACHE_MAX_SIZE","constructor","acceptedDeviceNames","getDeviceName","foundName","undefined","get","matched","matchDeviceName","cacheDeviceName","createDevice","params","String","deviceName","trim","device","name","localName","custom","CustomDevice","deviceClass","Object","keys","join","destroy","clear","regex","deviceType","integratedDevicesMap","test","some","values","size","firstKey","next","value","delete","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/device-creator.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.bc01CommandSequencerInternals = exports.Bc01CommandSequencer = void 0;
7
+ var _hexToByte = require("../../../utils/hex-to-byte.js");
8
+ /**
9
+ * The FF01/FF02 opcodes the BC401 firmware speaks, as reverse-engineered from
10
+ * PHMS 3.0.03 (`I1/b.java` for the switch, `B3/B5.java` for the builders and
11
+ * checksum, `L1/f.java` for the reset write).
12
+ */
13
+ const OP_RESET = 0x80;
14
+ const OP_REQUEST_VERSION = 0x82;
15
+ const OP_SET_TIME = 0x83;
16
+ const OP_REQUEST_COUNT = 0x90;
17
+ const OP_REQUEST_RECORDS = 0x92;
18
+
19
+ /** Payload byte for `OP_REQUEST_RECORDS` that acknowledges the last record of the set. */
20
+ const ACK_LAST_OF_SET = 0x7e;
21
+
22
+ /** Payload byte for `OP_REQUEST_COUNT` and the initial `OP_REQUEST_RECORDS`. */
23
+ const REQUEST_ALL = 0x00;
24
+
25
+ /**
26
+ * Device-to-host frame prefixes the FSM keys on. Values are decimal opcodes as
27
+ * they appear in the decompiled Java (`switch(bArr[0])`), rendered here as
28
+ * their real hex opcodes.
29
+ */
30
+ const RX = {
31
+ ACK: 0xf0,
32
+ VERSION_REPLY: 0xf2,
33
+ TIME_SYNC_ACK: 0xf3,
34
+ COUNT_REPLY: 0xe0,
35
+ STORED_RECORD_URS: 0xe1,
36
+ STORED_RECORD_PAGED: 0xe2,
37
+ FINISH: 0xe3
38
+ };
39
+
40
+ /** Position in a 16-byte URS record where the flags byte sits; bit 0x40 marks the last of a set. */
41
+ const RECORD_FLAGS_INDEX = 1;
42
+ const RECORD_LAST_OF_SET_BIT = 0x40;
43
+ /**
44
+ * Formats one byte as a two-digit lowercase hex string, matching the way the
45
+ * SDK's transport already spells raw bytes.
46
+ */
47
+ const asHex = byte => (byte & 0xff).toString(16).padStart(2, "0");
48
+
49
+ /**
50
+ * BC401 checksum: sum of the low 7 bits of every byte, folded back into 7 bits.
51
+ * Matches `B5.a` in the decompiled Java exactly.
52
+ */
53
+ const bc401Checksum = bytes => bytes.reduce((acc, byte) => acc + (byte & 0x7f), 0) & 0x7f;
54
+
55
+ /**
56
+ * Builds a "one payload byte plus checksum" command frame. This is the shape
57
+ * of every BC401 host-to-device command that carries an argument: opcode,
58
+ * argument, checksum-over-both.
59
+ */
60
+ const buildCommand = (opcode, arg) => {
61
+ const chk = bc401Checksum([opcode, arg]);
62
+ return [opcode, arg, chk];
63
+ };
64
+
65
+ /**
66
+ * Builds the two-byte reset frame. It is the one command that does not carry
67
+ * an argument or a checksum — PHMS writes it as `[0x80, 0x00]` verbatim
68
+ * (`L1/f.java:694`).
69
+ */
70
+ const buildResetCommand = () => [OP_RESET, 0x00];
71
+
72
+ /**
73
+ * Builds the request-version reply. The Java sends it as `[0x82, 0x02]` where
74
+ * `0x02` doubles as the checksum of `0x82` under the BC401 rule
75
+ * (`0x82 & 0x7f = 0x02`), so the same formula that guards every other command
76
+ * produces the right byte here.
77
+ */
78
+ const buildRequestVersionCommand = () => {
79
+ const chk = bc401Checksum([OP_REQUEST_VERSION]);
80
+ return [OP_REQUEST_VERSION, chk];
81
+ };
82
+
83
+ /**
84
+ * Builds the `SET_TIME` frame for the moment the sequencer receives it. The
85
+ * device does not run its own clock across power cycles, so timestamps on
86
+ * stored records only make sense once the app tells it what "now" is.
87
+ * Millisecond field is written little-endian, matching `I1/b.java`.
88
+ */
89
+ const buildSetTimeCommand = now => {
90
+ const yy = now.getFullYear() - 2000;
91
+ const mo = now.getMonth() + 1;
92
+ const dd = now.getDate();
93
+ const hh = now.getHours();
94
+ const mi = now.getMinutes();
95
+ const ss = now.getSeconds();
96
+ const ms = now.getMilliseconds();
97
+ const msLo = ms & 0xff;
98
+ const msHi = ms >> 8 & 0xff;
99
+ const payload = [OP_SET_TIME, yy, mo, dd, hh, mi, ss, msLo, msHi];
100
+ const chk = bc401Checksum(payload);
101
+ return [...payload, chk];
102
+ };
103
+
104
+ /**
105
+ * Walks the BC401 through its post-reset handshake and pulls every stored
106
+ * record.
107
+ *
108
+ * The device is self-clocking: it answers each command with a single frame,
109
+ * and the first byte of that frame names what it is. So the sequencer keeps
110
+ * no counter of its own — it looks at the reply, decides what belongs next,
111
+ * and returns that. A frame whose opcode is not part of the handshake is left
112
+ * unanswered so the driver's stuck-data watchdog surfaces the stall rather
113
+ * than the sequencer sending a command the device did not ask for.
114
+ *
115
+ * `initialCommands()` returns only the reset. The rest of the handshake -
116
+ * VERSION, SET_TIME, GET_COUNT, GET_RECORDS - is driven entirely by the
117
+ * device's own replies, because sending them any earlier would race the
118
+ * firmware boot the reset triggers.
119
+ */
120
+ // eslint-disable-next-line import/group-exports
121
+ class Bc01CommandSequencer {
122
+ isDone = false;
123
+
124
+ /** Injectable for tests; production reads `Date.now()`. */
125
+
126
+ constructor(params, clock = () => new Date()) {
127
+ this.params = params;
128
+ this.clock = clock;
129
+ }
130
+ initialCommands = () => [this.commandFor(buildResetCommand())];
131
+ nextCommand = frame => {
132
+ if (this.isDone || frame.length === 0) {
133
+ return undefined;
134
+ }
135
+ const opcode = (0, _hexToByte.hexToByte)(frame[0] ?? "0");
136
+ switch (opcode) {
137
+ case RX.ACK:
138
+ return [this.commandFor(buildRequestVersionCommand())];
139
+ case RX.VERSION_REPLY:
140
+ return [this.commandFor(buildSetTimeCommand(this.clock()))];
141
+ case RX.TIME_SYNC_ACK:
142
+ return [this.commandFor(buildCommand(OP_REQUEST_COUNT, REQUEST_ALL))];
143
+ case RX.COUNT_REPLY:
144
+ return [this.commandFor(buildCommand(OP_REQUEST_RECORDS, REQUEST_ALL))];
145
+ case RX.STORED_RECORD_URS:
146
+ case RX.STORED_RECORD_PAGED:
147
+ return this.answerStoredRecord(frame);
148
+ case RX.FINISH:
149
+ this.isDone = true;
150
+ return undefined;
151
+ default:
152
+ return undefined;
153
+ }
154
+ };
155
+
156
+ /**
157
+ * The device pages every record it holds, one 16-byte frame at a time. Only
158
+ * the frame whose flags byte carries `0x40` needs an acknowledgement; every
159
+ * other page is a status update we let ride while the transfer continues.
160
+ */
161
+ answerStoredRecord = frame => {
162
+ const flags = (0, _hexToByte.hexToByte)(frame[RECORD_FLAGS_INDEX] ?? "0");
163
+ if ((flags & RECORD_LAST_OF_SET_BIT) === 0) {
164
+ return undefined;
165
+ }
166
+ return [this.commandFor(buildCommand(OP_REQUEST_RECORDS, ACK_LAST_OF_SET))];
167
+ };
168
+ commandFor = bytes => ({
169
+ ...this.params.write,
170
+ frame: bytes.map(asHex),
171
+ withoutResponse: true
172
+ });
173
+ }
174
+
175
+ // eslint-disable-next-line import/group-exports
176
+ exports.Bc01CommandSequencer = Bc01CommandSequencer;
177
+ const bc01CommandSequencerInternals = exports.bc01CommandSequencerInternals = {
178
+ bc401Checksum,
179
+ buildCommand,
180
+ buildResetCommand,
181
+ buildRequestVersionCommand,
182
+ buildSetTimeCommand
183
+ };
184
+ //# sourceMappingURL=bc01-command-sequencer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_hexToByte","require","OP_RESET","OP_REQUEST_VERSION","OP_SET_TIME","OP_REQUEST_COUNT","OP_REQUEST_RECORDS","ACK_LAST_OF_SET","REQUEST_ALL","RX","ACK","VERSION_REPLY","TIME_SYNC_ACK","COUNT_REPLY","STORED_RECORD_URS","STORED_RECORD_PAGED","FINISH","RECORD_FLAGS_INDEX","RECORD_LAST_OF_SET_BIT","asHex","byte","toString","padStart","bc401Checksum","bytes","reduce","acc","buildCommand","opcode","arg","chk","buildResetCommand","buildRequestVersionCommand","buildSetTimeCommand","now","yy","getFullYear","mo","getMonth","dd","getDate","hh","getHours","mi","getMinutes","ss","getSeconds","ms","getMilliseconds","msLo","msHi","payload","Bc01CommandSequencer","isDone","constructor","params","clock","Date","initialCommands","commandFor","nextCommand","frame","length","undefined","hexToByte","answerStoredRecord","flags","write","map","withoutResponse","exports","bc01CommandSequencerInternals"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bc01/bc01-command-sequencer.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseBc01Record = exports.isBc01Record = exports.BC01_URS_OPCODE = exports.BC01_RECORD_LENGTH = exports.BC01_PAGED_URS_OPCODE = exports.BC01_LAST_OF_SET_BIT = exports.BC01_ANALYTE_ORDER = void 0;
7
+ var _hexToByte = require("../../../utils/hex-to-byte.js");
8
+ /** BC401 stored-record frame is always sixteen bytes: header, timestamp, analytes, checksum. */
9
+ const BC01_RECORD_LENGTH = exports.BC01_RECORD_LENGTH = 16;
10
+
11
+ /** The two opcodes the firmware uses for a stored URS-7 record. */
12
+ const BC01_URS_OPCODE = exports.BC01_URS_OPCODE = 0xe1;
13
+ const BC01_PAGED_URS_OPCODE = exports.BC01_PAGED_URS_OPCODE = 0xe2;
14
+
15
+ /**
16
+ * The bit `0x40` of the flags byte marks the last record of a paginated set.
17
+ * The sequencer keys off it to send the `[0x92, 0x7E, chk]` acknowledgement.
18
+ */
19
+ const BC01_LAST_OF_SET_BIT = exports.BC01_LAST_OF_SET_BIT = 0x40;
20
+
21
+ /**
22
+ * A pad reading of `7` means the strip was not measured on that reagent.
23
+ * We drop those pads from the output rather than reporting them as level "7".
24
+ */
25
+ const UNMEASURED = 7;
26
+ const YEAR_BASE = 2000;
27
+ const MONTH_MASK = 0x0f;
28
+ const DAY_MASK = 0x1f;
29
+ const HOUR_MASK = 0x1f;
30
+ const MINUTE_MASK = 0x3f;
31
+ const SECOND_MASK = 0x3f;
32
+
33
+ /**
34
+ * URS-7 pad names, in the exact order they occupy the packed 3-bit slots
35
+ * across bytes 8..14 (see M1/a.java). The eleventh slot is a Contec-firmware
36
+ * field the vendor's own catalog calls "vc" and no other name is documented.
37
+ */
38
+ const BC01_ANALYTE_ORDER = exports.BC01_ANALYTE_ORDER = ["uro", "bld", "bil", "ket", "glu", "pro", "ph", "nit", "leu", "sg", "vc"];
39
+
40
+ /** Where the packed analyte pairs start in a 16-byte E1/E2 frame. */
41
+ const ANALYTES_START = 8;
42
+
43
+ /** The result of decoding one 16-byte record. `lastOfSet` is what the sequencer keys on. */
44
+
45
+ /**
46
+ * Extracts one pad's level index from the packed byte. Two pads share a byte:
47
+ * the first uses the low 3 bits, the second uses bits 3..5. Bit 6 and 7 are
48
+ * unused reserved space per the vendor's own decoding in M1/a.java.
49
+ */
50
+ const readPad = (packed, slot) => slot === 0 ? packed & 0x07 : packed >> 3 & 0x07;
51
+
52
+ /**
53
+ * Decodes a 16-byte E1 or E2 frame into its timestamp and analyte indices.
54
+ *
55
+ * Returns `undefined` for any frame that is not the right length or does not
56
+ * open with an E1/E2 opcode — the caller is not asked to guess whether a
57
+ * frame is a record or a heartbeat, and a frame that fails these checks is
58
+ * skipped rather than parsed into a plausible-looking wrong reading.
59
+ *
60
+ * The checksum byte is not verified here: the SDK's read path already ensures
61
+ * frame integrity before the parser sees the bytes, and a URS-7 pad value can
62
+ * only land in [0, 7] anyway — a corrupt payload would fail the pad-value
63
+ * check before it made it into a measurement.
64
+ */
65
+ const parseBc01Record = frame => {
66
+ if (frame.length < BC01_RECORD_LENGTH) {
67
+ return undefined;
68
+ }
69
+ const opcode = (0, _hexToByte.hexToByte)(frame[0] ?? "");
70
+ if (opcode !== BC01_URS_OPCODE && opcode !== BC01_PAGED_URS_OPCODE) {
71
+ return undefined;
72
+ }
73
+ const flags = (0, _hexToByte.hexToByte)(frame[1] ?? "");
74
+ const yy = (0, _hexToByte.hexToByte)(frame[2] ?? "") + YEAR_BASE;
75
+ const mm = (0, _hexToByte.hexToByte)(frame[3] ?? "") & MONTH_MASK;
76
+ const dd = (0, _hexToByte.hexToByte)(frame[4] ?? "") & DAY_MASK;
77
+ const hh = (0, _hexToByte.hexToByte)(frame[5] ?? "") & HOUR_MASK;
78
+ const mi = (0, _hexToByte.hexToByte)(frame[6] ?? "") & MINUTE_MASK;
79
+ const ss = (0, _hexToByte.hexToByte)(frame[7] ?? "") & SECOND_MASK;
80
+ const timestamp = new Date(yy, mm - 1, dd, hh, mi, ss, 0);
81
+ const values = {};
82
+ BC01_ANALYTE_ORDER.forEach((analyte, position) => {
83
+ const byteIndex = ANALYTES_START + Math.floor(position / 2);
84
+ const slot = position % 2;
85
+ const packed = (0, _hexToByte.hexToByte)(frame[byteIndex] ?? "");
86
+ const level = readPad(packed, slot);
87
+ if (level === UNMEASURED) {
88
+ return;
89
+ }
90
+ values[analyte] = level;
91
+ });
92
+ return {
93
+ timestamp,
94
+ lastOfSet: (flags & BC01_LAST_OF_SET_BIT) !== 0,
95
+ pageIndex: flags & 0x0f,
96
+ values
97
+ };
98
+ };
99
+
100
+ /**
101
+ * True when the buffer holds a complete BC401 stored record. Used by the
102
+ * driver's `validatePackage` hook so the SDK's read path only advances once
103
+ * the notification carries a whole 16-byte frame.
104
+ */
105
+ exports.parseBc01Record = parseBc01Record;
106
+ const isBc01Record = frame => {
107
+ if (frame.length < BC01_RECORD_LENGTH) {
108
+ return false;
109
+ }
110
+ const opcode = (0, _hexToByte.hexToByte)(frame[0] ?? "");
111
+ return opcode === BC01_URS_OPCODE || opcode === BC01_PAGED_URS_OPCODE;
112
+ };
113
+ exports.isBc01Record = isBc01Record;
114
+ //# sourceMappingURL=bc01-frame-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_hexToByte","require","BC01_RECORD_LENGTH","exports","BC01_URS_OPCODE","BC01_PAGED_URS_OPCODE","BC01_LAST_OF_SET_BIT","UNMEASURED","YEAR_BASE","MONTH_MASK","DAY_MASK","HOUR_MASK","MINUTE_MASK","SECOND_MASK","BC01_ANALYTE_ORDER","ANALYTES_START","readPad","packed","slot","parseBc01Record","frame","length","undefined","opcode","hexToByte","flags","yy","mm","dd","hh","mi","ss","timestamp","Date","values","forEach","analyte","position","byteIndex","Math","floor","level","lastOfSet","pageIndex","isBc01Record"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bc01/bc01-frame-parser.ts"],"mappings":"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","ignoreList":[]}