@ovok/native 0.3.10 → 0.3.12
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.
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +16 -2
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-request-permissions.js +20 -16
- package/lib/commonjs/modules/bt-management/hooks/use-request-permissions.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/bt-manager.js +36 -4
- package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js +9 -3
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +31 -10
- package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +19 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +6 -2
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/f4/f4.device.js +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/f4/f4.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/spo/spo2.device.js +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/spo/spo2.device.js.map +1 -1
- package/lib/commonjs/modules/helpers/utils/s-log.js +1 -1
- package/lib/commonjs/modules/helpers/utils/s-log.js.map +1 -1
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +16 -2
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-request-permissions.js +20 -16
- package/lib/module/modules/bt-management/hooks/use-request-permissions.js.map +1 -1
- package/lib/module/modules/bt-management/services/bt-manager.js +35 -4
- package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js +9 -3
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +31 -10
- package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +19 -1
- package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +6 -2
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/f4/f4.device.js +1 -0
- package/lib/module/modules/bt-management/services/devices/f4/f4.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/spo/spo2.device.js +1 -0
- package/lib/module/modules/bt-management/services/devices/spo/spo2.device.js.map +1 -1
- package/lib/module/modules/helpers/utils/s-log.js +1 -1
- package/lib/module/modules/helpers/utils/s-log.js.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-request-permissions.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts +6 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/f4/f4.device.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/f4/f4.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/spo/spo2.device.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/spo/spo2.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-request-permissions.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts +6 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/f4/f4.device.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/f4/f4.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/spo/spo2.device.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/spo/spo2.device.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.BTProviderChildWrapper = void 0;
|
|
7
7
|
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
8
9
|
var _useDeviceList = require("../../bt-device/components/hooks/use-device-list.js");
|
|
9
10
|
var _sentryLogger = require("../../helpers/utils/sentry-logger.js");
|
|
10
11
|
var _btManager = require("../services/bt-manager.js");
|
|
@@ -44,7 +45,8 @@ const BTProviderChildWrapper = exports.BTProviderChildWrapper = /*#__PURE__*/Rea
|
|
|
44
45
|
return () => {
|
|
45
46
|
btManagerRef.current?.onDeviceFound(undefined);
|
|
46
47
|
};
|
|
47
|
-
}, [onDeviceFound, acceptedDevices])
|
|
48
|
+
}, [onDeviceFound, acceptedDevices]);
|
|
49
|
+
React.useEffect(() => {
|
|
48
50
|
if (!onError || !acceptedDevices.length) {
|
|
49
51
|
return;
|
|
50
52
|
}
|
|
@@ -52,7 +54,8 @@ const BTProviderChildWrapper = exports.BTProviderChildWrapper = /*#__PURE__*/Rea
|
|
|
52
54
|
return () => {
|
|
53
55
|
btManagerRef.current?.onError(undefined);
|
|
54
56
|
};
|
|
55
|
-
}, [onError, acceptedDevices])
|
|
57
|
+
}, [onError, acceptedDevices]);
|
|
58
|
+
React.useEffect(() => {
|
|
56
59
|
if (!onResult || !acceptedDevices.length) {
|
|
57
60
|
return;
|
|
58
61
|
}
|
|
@@ -92,6 +95,17 @@ const BTProviderChildWrapper = exports.BTProviderChildWrapper = /*#__PURE__*/Rea
|
|
|
92
95
|
btManagerRef.current?.onDeviceStatusChanged(undefined);
|
|
93
96
|
};
|
|
94
97
|
}, [onDeviceStatusChanged, acceptedDevices, setDeviceListItems]);
|
|
98
|
+
React.useEffect(() => {
|
|
99
|
+
const listener = _reactNative.AppState.addEventListener("change", state => {
|
|
100
|
+
if (state !== "active") {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
btManagerRef.current?.startScan();
|
|
104
|
+
});
|
|
105
|
+
return () => {
|
|
106
|
+
listener.remove();
|
|
107
|
+
};
|
|
108
|
+
}, []);
|
|
95
109
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
96
110
|
children: children
|
|
97
111
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_useDeviceList","_sentryLogger","_btManager","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BTProviderChildWrapper","exports","memo","bleManager","acceptedDevices","children","onDeviceFound","onError","onDeviceStatusChanged","onResult","btManagerRef","useRef","setDeviceListItems","useDeviceList","useEffect","length","sentryLogger","btManager","BTManager","current","startScan","destroy","undefined","status","deviceData","measurementTypeKey","prev","newList","index","findIndex","item","deviceType","name","jsx","Fragment"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/bt-provider-child-wrapper.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_useDeviceList","_sentryLogger","_btManager","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BTProviderChildWrapper","exports","memo","bleManager","acceptedDevices","children","onDeviceFound","onError","onDeviceStatusChanged","onResult","btManagerRef","useRef","setDeviceListItems","useDeviceList","useEffect","length","sentryLogger","btManager","BTManager","current","startScan","destroy","undefined","status","deviceData","measurementTypeKey","prev","newList","index","findIndex","item","deviceType","name","listener","AppState","addEventListener","state","remove","jsx","Fragment"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/bt-provider-child-wrapper.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,27 +19,31 @@ const useRequestPermissions = ({
|
|
|
19
19
|
_reactNative.Linking.openSettings();
|
|
20
20
|
}, []);
|
|
21
21
|
React.useEffect(() => {
|
|
22
|
+
const requestPermissions = async () => {
|
|
23
|
+
const permissions = _reactNative.Platform.select({
|
|
24
|
+
android: [_reactNativePermissions.PERMISSIONS.ANDROID.BLUETOOTH_CONNECT, _reactNativePermissions.PERMISSIONS.ANDROID.BLUETOOTH_SCAN, _reactNativePermissions.PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION],
|
|
25
|
+
ios: [_reactNativePermissions.PERMISSIONS.IOS.BLUETOOTH]
|
|
26
|
+
});
|
|
27
|
+
(0, _sentryLogger.sentryLogger)("info", "BT_PROVIDER: Permissions requesting", {
|
|
28
|
+
permissions
|
|
29
|
+
});
|
|
30
|
+
(0, _reactNativePermissions.requestMultiple)(permissions).then(permissions => {
|
|
31
|
+
const allGranted = Object.values(permissions).some(permission => permission === "granted");
|
|
32
|
+
(0, _sentryLogger.sentryLogger)("info", "BT_PROVIDER: Permissions requested", {
|
|
33
|
+
permissions,
|
|
34
|
+
allGranted
|
|
35
|
+
});
|
|
36
|
+
onChangeRef.current?.(allGranted);
|
|
37
|
+
setAccessPermission(allGranted);
|
|
38
|
+
}).catch(error => (0, _index.slog)(error, "bt permission request error"));
|
|
39
|
+
};
|
|
22
40
|
const listener = _reactNative.AppState.addEventListener("change", state => {
|
|
23
41
|
if (state !== "active") {
|
|
24
42
|
return;
|
|
25
43
|
}
|
|
44
|
+
requestPermissions();
|
|
26
45
|
});
|
|
27
|
-
|
|
28
|
-
android: [_reactNativePermissions.PERMISSIONS.ANDROID.BLUETOOTH_CONNECT, _reactNativePermissions.PERMISSIONS.ANDROID.BLUETOOTH_SCAN, _reactNativePermissions.PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION],
|
|
29
|
-
ios: [_reactNativePermissions.PERMISSIONS.IOS.BLUETOOTH]
|
|
30
|
-
});
|
|
31
|
-
(0, _sentryLogger.sentryLogger)("info", "BT_PROVIDER: Permissions requesting", {
|
|
32
|
-
permissions
|
|
33
|
-
});
|
|
34
|
-
(0, _reactNativePermissions.requestMultiple)(permissions).then(permissions => {
|
|
35
|
-
const allGranted = Object.values(permissions).some(permission => permission === "granted");
|
|
36
|
-
(0, _sentryLogger.sentryLogger)("info", "BT_PROVIDER: Permissions requested", {
|
|
37
|
-
permissions,
|
|
38
|
-
allGranted
|
|
39
|
-
});
|
|
40
|
-
onChangeRef.current?.(allGranted);
|
|
41
|
-
setAccessPermission(allGranted);
|
|
42
|
-
}).catch(error => (0, _index.slog)(error, "bt permission request error"));
|
|
46
|
+
requestPermissions();
|
|
43
47
|
return () => {
|
|
44
48
|
listener.remove();
|
|
45
49
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_reactNativePermissions","_index","_sentryLogger","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useRequestPermissions","onAccessPermissionChanged","onChangeRef","useRef","accessPermission","setAccessPermission","useState","undefined","openBleSetting","useCallback","Linking","openSettings","useEffect","
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_reactNativePermissions","_index","_sentryLogger","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useRequestPermissions","onAccessPermissionChanged","onChangeRef","useRef","accessPermission","setAccessPermission","useState","undefined","openBleSetting","useCallback","Linking","openSettings","useEffect","requestPermissions","permissions","Platform","select","android","PERMISSIONS","ANDROID","BLUETOOTH_CONNECT","BLUETOOTH_SCAN","ACCESS_FINE_LOCATION","ios","IOS","BLUETOOTH","sentryLogger","requestMultiple","then","allGranted","values","some","permission","current","catch","error","slog","listener","AppState","addEventListener","state","remove","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-request-permissions.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,12 +6,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.BTManager = void 0;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
8
|
var _reactNativeBlePlx = require("react-native-ble-plx");
|
|
9
|
+
var _index = require("../../helpers/index.js");
|
|
9
10
|
var _sentryLogger = require("../../helpers/utils/sentry-logger.js");
|
|
10
11
|
var _deviceCreator = require("./device-creator.js");
|
|
12
|
+
/* eslint-disable max-lines */
|
|
13
|
+
|
|
11
14
|
class BTManager {
|
|
12
15
|
static MAX_DEVICES = 15; // Safety limit to prevent unbounded growth
|
|
13
16
|
devices = new Map();
|
|
14
17
|
eventSubscriptions = [];
|
|
18
|
+
lastScanTimestamp = 0;
|
|
15
19
|
constructor(bleManager, acceptedDevices) {
|
|
16
20
|
this.bleManager = bleManager;
|
|
17
21
|
this.acceptedDevices = acceptedDevices;
|
|
@@ -26,6 +30,7 @@ class BTManager {
|
|
|
26
30
|
this.stateChangeListener.remove();
|
|
27
31
|
this.stateChangeListener = undefined;
|
|
28
32
|
}
|
|
33
|
+
this.lastScanTimestamp = 0;
|
|
29
34
|
|
|
30
35
|
// Then clear all callbacks
|
|
31
36
|
this.onErrorCallback = undefined;
|
|
@@ -39,6 +44,12 @@ class BTManager {
|
|
|
39
44
|
this.deviceCreator.destroy();
|
|
40
45
|
};
|
|
41
46
|
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
|
+
|
|
42
53
|
// Remove previous state change listener to prevent accumulation
|
|
43
54
|
if (this.stateChangeListener) {
|
|
44
55
|
this.stateChangeListener.remove();
|
|
@@ -81,6 +92,16 @@ class BTManager {
|
|
|
81
92
|
// Remove all event subscriptions to prevent memory leaks
|
|
82
93
|
this.eventSubscriptions.forEach(sub => sub.remove());
|
|
83
94
|
this.eventSubscriptions = [];
|
|
95
|
+
|
|
96
|
+
// Clear all callbacks
|
|
97
|
+
this.onErrorCallback = undefined;
|
|
98
|
+
this.onDeviceFoundCallback = undefined;
|
|
99
|
+
this.onResultCallback = undefined;
|
|
100
|
+
this.onDeviceStatusChangedCallback = undefined;
|
|
101
|
+
this.devices.forEach(device => {
|
|
102
|
+
device.destroy();
|
|
103
|
+
});
|
|
104
|
+
this.devices.clear();
|
|
84
105
|
};
|
|
85
106
|
onDeviceFound = callback => {
|
|
86
107
|
(0, _sentryLogger.sentryLogger)("info", "BT_MANAGER: Setting onDeviceFound callback");
|
|
@@ -110,6 +131,9 @@ class BTManager {
|
|
|
110
131
|
(0, _sentryLogger.sentryLogger)("error", "BT_MANAGER: Scan result error", {
|
|
111
132
|
error
|
|
112
133
|
});
|
|
134
|
+
(0, _index.slog)(error, "BT_MANAGER: Scan result error", {
|
|
135
|
+
error
|
|
136
|
+
});
|
|
113
137
|
return;
|
|
114
138
|
}
|
|
115
139
|
if (!device || !device.name) {
|
|
@@ -135,10 +159,13 @@ class BTManager {
|
|
|
135
159
|
const deviceClass = this.deviceCreator.createDevice({
|
|
136
160
|
device,
|
|
137
161
|
deviceName,
|
|
138
|
-
onError: this.onErrorCallback,
|
|
139
|
-
onDeviceStatusChanged: this.onDeviceStatusChangedCallback,
|
|
140
|
-
onResult: this.onResultCallback,
|
|
141
|
-
onDeviceDisconnected: () =>
|
|
162
|
+
onError: this.onErrorCallback?.bind(this),
|
|
163
|
+
onDeviceStatusChanged: this.onDeviceStatusChangedCallback?.bind(this),
|
|
164
|
+
onResult: this.onResultCallback?.bind(this),
|
|
165
|
+
onDeviceDisconnected: () => {
|
|
166
|
+
this.startScan();
|
|
167
|
+
this.removeDeviceFromFoundedDevices?.bind(this)(device.id);
|
|
168
|
+
}
|
|
142
169
|
});
|
|
143
170
|
this.devices.set(device.id, deviceClass);
|
|
144
171
|
this.onDeviceFoundCallback?.(deviceClass, this);
|
|
@@ -148,6 +175,11 @@ class BTManager {
|
|
|
148
175
|
deviceId: device?.id,
|
|
149
176
|
deviceName: device?.name
|
|
150
177
|
});
|
|
178
|
+
(0, _index.slog)(error, "BT_MANAGER: Error creating device", {
|
|
179
|
+
error,
|
|
180
|
+
deviceId: device?.id,
|
|
181
|
+
deviceName: device?.name
|
|
182
|
+
});
|
|
151
183
|
}
|
|
152
184
|
};
|
|
153
185
|
removeDeviceFromFoundedDevices = deviceId => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeBlePlx","_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","enable","push","stopDeviceScan","sub","onDeviceFound","callback","onError","onDeviceStatusChanged","onResult","error","name","has","id","deviceName","getDeviceName","size","deviceId","currentSize","deviceClass","createDevice","
|
|
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","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":[]}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.BP2Device = void 0;
|
|
7
7
|
var _core = require("@ovok/core");
|
|
8
8
|
var _BloodPressureStates = require("@ovok/core/dist/client/observation/types/measurement/BloodPressureStates");
|
|
9
|
+
var _sentryLogger = require("../../../../helpers/utils/sentry-logger.js");
|
|
9
10
|
var _bloodPressureTranslatedExceptionMap = require("../../../constants/blood-pressure-translated-exception-map.js");
|
|
10
11
|
var _caseType = require("../../../types/case-type.js");
|
|
11
12
|
var _hexToByte = require("../../../utils/hex-to-byte.js");
|
|
@@ -19,17 +20,22 @@ class BP2Device extends _btManagedDevice.BTManagedDevice {
|
|
|
19
20
|
diagramPoints = [];
|
|
20
21
|
duration = 0;
|
|
21
22
|
mainServices = _bp2MainServices.bp2MainServices;
|
|
23
|
+
stuckDataTimeout = 5_000;
|
|
22
24
|
onStreamStart = () => {
|
|
23
25
|
this.collectedValues = [];
|
|
24
26
|
this.diagramPoints = [];
|
|
25
27
|
this.duration = 0;
|
|
26
28
|
};
|
|
27
29
|
validatePackage = pkg => {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
if (pkg[0] !== "a5") {
|
|
31
|
+
(0, _sentryLogger.sentryLogger)("info", "BP2_DEVICE: Package does not start with a5");
|
|
32
|
+
const headIndex = pkg.indexOf("a5");
|
|
33
|
+
if (headIndex > 0) {
|
|
34
|
+
pkg = pkg.slice(headIndex);
|
|
35
|
+
}
|
|
31
36
|
}
|
|
32
37
|
if (pkg.length < 7) {
|
|
38
|
+
(0, _sentryLogger.sentryLogger)("info", "BP2_DEVICE: Package is shorter than 7 bytes");
|
|
33
39
|
return false;
|
|
34
40
|
}
|
|
35
41
|
const toNum = hex => parseInt(hex, 16);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_BloodPressureStates","_bloodPressureTranslatedExceptionMap","_caseType","_hexToByte","_i16FromHex","_le16FromHex","_le32FromHex","_btManagedDevice","_bp2MainServices","BP2Device","BTManagedDevice","collectedValues","diagramPoints","duration","mainServices","bp2MainServices","onStreamStart","validatePackage","pkg","headIndex","indexOf","slice","length","toNum","hex","parseInt","lenL","lenH","dataLen","totalLen","handleSuccessResult","successResult","measurementTypeKey","caseType","onError","Error","MeasurementTypeKey","ecg","handleEcgResult","bloodPressure","handleBloodPressureResult","CaseType","RESULT","error","checkIfHasErrorForEcg","onResult","handleEcgStream","hexToByte","dataStart","dataEnd","data","le32FromHex","samplingNum","le16FromHex","samplesStart","i","byteIndexInData","sampleVal","i16FromHex","push","checkIfHasErrorForBloodPressure","bpMeasurement","status","undefined","diastolic","systolic","heartRate","BloodPressureStates","REGULAR","errorString","bloodPressureTranslatedExceptionMap","get","DEVICE_ERROR","ecgMeasurement","diagnosticResult","EcgDiagnosticFlag","POOR_WAVEFORM","LEAD_OFF","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.device.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAMA,IAAAC,oBAAA,GAAAD,OAAA;AAEA,IAAAE,
|
|
1
|
+
{"version":3,"names":["_core","require","_BloodPressureStates","_sentryLogger","_bloodPressureTranslatedExceptionMap","_caseType","_hexToByte","_i16FromHex","_le16FromHex","_le32FromHex","_btManagedDevice","_bp2MainServices","BP2Device","BTManagedDevice","collectedValues","diagramPoints","duration","mainServices","bp2MainServices","stuckDataTimeout","onStreamStart","validatePackage","pkg","sentryLogger","headIndex","indexOf","slice","length","toNum","hex","parseInt","lenL","lenH","dataLen","totalLen","handleSuccessResult","successResult","measurementTypeKey","caseType","onError","Error","MeasurementTypeKey","ecg","handleEcgResult","bloodPressure","handleBloodPressureResult","CaseType","RESULT","error","checkIfHasErrorForEcg","onResult","handleEcgStream","hexToByte","dataStart","dataEnd","data","le32FromHex","samplingNum","le16FromHex","samplesStart","i","byteIndexInData","sampleVal","i16FromHex","push","checkIfHasErrorForBloodPressure","bpMeasurement","status","undefined","diastolic","systolic","heartRate","BloodPressureStates","REGULAR","errorString","bloodPressureTranslatedExceptionMap","get","DEVICE_ERROR","ecgMeasurement","diagnosticResult","EcgDiagnosticFlag","POOR_WAVEFORM","LEAD_OFF","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,12 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.BTConnectionHandler = void 0;
|
|
7
|
+
var _index = require("../../../helpers/index.js");
|
|
7
8
|
var _sentryLogger = require("../../../helpers/utils/sentry-logger.js");
|
|
8
9
|
var _deviceStatus = require("../../types/device-status.js");
|
|
9
10
|
var _base64ToHex = require("../../utils/base-64-to-hex.js");
|
|
10
11
|
var _hexToBase = require("../../utils/hex-to-base-64.js");
|
|
11
12
|
class BTConnectionHandler {
|
|
12
13
|
characteristicSubscriptions = [];
|
|
14
|
+
isSendingCommand = false;
|
|
15
|
+
retryCount = 0;
|
|
13
16
|
constructor(device, mainServices, callbacks) {
|
|
14
17
|
this.device = device;
|
|
15
18
|
this.mainServices = mainServices;
|
|
@@ -34,18 +37,22 @@ class BTConnectionHandler {
|
|
|
34
37
|
destroy = () => {
|
|
35
38
|
this.characteristicSubscriptions.forEach(sub => sub?.remove());
|
|
36
39
|
this.characteristicSubscriptions = [];
|
|
40
|
+
this.isSendingCommand = false;
|
|
41
|
+
this.retryCount = 0;
|
|
37
42
|
this.onDisconnectSubscription?.remove();
|
|
38
43
|
};
|
|
39
44
|
sendCommandToDevice = async () => {
|
|
40
|
-
|
|
41
|
-
if (!isConnected) {
|
|
45
|
+
if (this.isSendingCommand) {
|
|
42
46
|
return;
|
|
43
47
|
}
|
|
48
|
+
this.isSendingCommand = true;
|
|
44
49
|
for (const mainService of this.mainServices) {
|
|
45
50
|
if (mainService.writeUuid) {
|
|
46
51
|
await this.sendCommand(mainService);
|
|
47
52
|
}
|
|
48
53
|
}
|
|
54
|
+
this.isSendingCommand = false;
|
|
55
|
+
this.retryCount = 0;
|
|
49
56
|
};
|
|
50
57
|
connectWithRetries = async () => {
|
|
51
58
|
const maxRetries = 5;
|
|
@@ -128,14 +135,28 @@ class BTConnectionHandler {
|
|
|
128
135
|
if (!mainService.writeUuid) {
|
|
129
136
|
return;
|
|
130
137
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
138
|
+
while (this.retryCount < 3) {
|
|
139
|
+
try {
|
|
140
|
+
const isConnected = await this.device.isConnected();
|
|
141
|
+
if (!isConnected) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const command = (0, _hexToBase.hexToBase64)(mainService.writeUuid.mainCommandUuid);
|
|
145
|
+
await this.device.writeCharacteristicWithResponseForService(mainService.uuid, mainService.writeUuid.uuid, command);
|
|
146
|
+
this.retryCount = 0;
|
|
147
|
+
break;
|
|
148
|
+
} catch (error) {
|
|
149
|
+
this.retryCount++;
|
|
150
|
+
(0, _sentryLogger.sentryLogger)("error", "DEVICE: Error sending command", {
|
|
151
|
+
error,
|
|
152
|
+
deviceName: this.device.name
|
|
153
|
+
});
|
|
154
|
+
if (this.retryCount === 3) {
|
|
155
|
+
(0, _index.slog)(error, "BT_CONNECTION_HANDLER: Error sending command", {
|
|
156
|
+
deviceName: this.device.name
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
}
|
|
139
160
|
}
|
|
140
161
|
};
|
|
141
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_index","require","_sentryLogger","_deviceStatus","_base64ToHex","_hexToBase","BTConnectionHandler","characteristicSubscriptions","isSendingCommand","retryCount","constructor","device","mainServices","callbacks","connect","connectWithRetries","onStatusChanged","DeviceStatus","CONNECTED","discoverAllServicesAndCharacteristics","onDisconnectSubscription","onDisconnected","onDeviceDisconnected","subscribeToAllCharacteristics","error","sentryLogger","deviceName","name","onError","DISCONNECTED","destroy","forEach","sub","remove","sendCommandToDevice","mainService","writeUuid","sendCommand","maxRetries","retryDelay","maxDelay","connected","isConnected","deviceId","id","Error","message","String","errorCode","willRetry","Promise","resolve","setTimeout","Math","min","pow","monitorUuid","monitorUuids","subscription","monitorCharacteristicForService","uuid","result","value","hexValue","base64ToHex","onDataReceived","push","command","hexToBase64","mainCommandUuid","writeCharacteristicWithResponseForService","slog","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-connection-handler.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,16 +10,21 @@ var _parseMeasurement = require("../../utils/parse-measurement.js");
|
|
|
10
10
|
class BTDataProcessor {
|
|
11
11
|
collectedValues = [];
|
|
12
12
|
isMeasuring = false;
|
|
13
|
-
constructor(mainServices, callbacks) {
|
|
13
|
+
constructor(device, mainServices, stuckDataTimeoutDuration, callbacks) {
|
|
14
|
+
this.device = device;
|
|
14
15
|
this.mainServices = mainServices;
|
|
16
|
+
this.stuckDataTimeoutDuration = stuckDataTimeoutDuration;
|
|
15
17
|
this.callbacks = callbacks;
|
|
16
18
|
}
|
|
17
19
|
destroy = () => {
|
|
18
20
|
this.collectedValues = [];
|
|
19
21
|
this.isMeasuring = false;
|
|
22
|
+
clearTimeout(this.stuckDataTimeout);
|
|
23
|
+
this.stuckDataTimeout = undefined;
|
|
20
24
|
};
|
|
21
25
|
processData = (uuid, hexValue) => {
|
|
22
26
|
this.collectedValues.push(...hexValue);
|
|
27
|
+
this.startStuckTimeout();
|
|
23
28
|
const isValid = this.callbacks.validatePackage(this.collectedValues, uuid);
|
|
24
29
|
if (!isValid) {
|
|
25
30
|
return;
|
|
@@ -107,6 +112,19 @@ class BTDataProcessor {
|
|
|
107
112
|
this.collectedValues = [];
|
|
108
113
|
this.callbacks.onSendCommandToDevice?.();
|
|
109
114
|
};
|
|
115
|
+
startStuckTimeout = () => {
|
|
116
|
+
if (this.stuckDataTimeout) {
|
|
117
|
+
clearTimeout(this.stuckDataTimeout);
|
|
118
|
+
}
|
|
119
|
+
this.stuckDataTimeout = setTimeout(() => {
|
|
120
|
+
this.callbacks.onError?.(new Error("feedback-messages.measurement.stuck-error", {
|
|
121
|
+
cause: {
|
|
122
|
+
message: "Device is stuck"
|
|
123
|
+
}
|
|
124
|
+
}));
|
|
125
|
+
this.device.cancelConnection?.();
|
|
126
|
+
}, this.stuckDataTimeoutDuration);
|
|
127
|
+
};
|
|
110
128
|
}
|
|
111
129
|
exports.BTDataProcessor = BTDataProcessor;
|
|
112
130
|
//# sourceMappingURL=bt-data-processor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_caseType","require","_deviceStatus","_parseMeasurement","BTDataProcessor","collectedValues","isMeasuring","constructor","mainServices","callbacks","destroy","processData","uuid","hexValue","push","isValid","validatePackage","data","extractData","resetDataAndSendCommandToDevice","handleStatusChanges","parsingModel","findParsingModel","value","caseValuePosition","map","index","join","parsingCase","findParsingCase","parsedData","parseData","measurementTypeKey","mainService","characteristic","monitorUuids","find","e","toLowerCase","caseValue","cases","successResult","parseMeasurement","caseType","CaseType","STREAM","onStreamStart","onStatusChanged","DeviceStatus","MEASURING","OTHER","CONNECTED","skipConnectedChange","onResult","RESULT","onSendCommandToDevice","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-data-processor.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["_caseType","require","_deviceStatus","_parseMeasurement","BTDataProcessor","collectedValues","isMeasuring","constructor","device","mainServices","stuckDataTimeoutDuration","callbacks","destroy","clearTimeout","stuckDataTimeout","undefined","processData","uuid","hexValue","push","startStuckTimeout","isValid","validatePackage","data","extractData","resetDataAndSendCommandToDevice","handleStatusChanges","parsingModel","findParsingModel","value","caseValuePosition","map","index","join","parsingCase","findParsingCase","parsedData","parseData","measurementTypeKey","mainService","characteristic","monitorUuids","find","e","toLowerCase","caseValue","cases","successResult","parseMeasurement","caseType","CaseType","STREAM","onStreamStart","onStatusChanged","DeviceStatus","MEASURING","OTHER","CONNECTED","skipConnectedChange","onResult","RESULT","onSendCommandToDevice","setTimeout","onError","Error","cause","message","cancelConnection","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-data-processor.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,6 +9,10 @@ var _deviceStatus = require("../../types/device-status.js");
|
|
|
9
9
|
var _btConnectionHandler = require("./bt-connection-handler.js");
|
|
10
10
|
var _btDataProcessor = require("./bt-data-processor.js");
|
|
11
11
|
class BTManagedDevice {
|
|
12
|
+
/**
|
|
13
|
+
* The timeout in milliseconds for the stuck data.
|
|
14
|
+
*/
|
|
15
|
+
|
|
12
16
|
constructor(device, {
|
|
13
17
|
deviceName,
|
|
14
18
|
onError: onErrorCallback,
|
|
@@ -101,13 +105,13 @@ class BTManagedDevice {
|
|
|
101
105
|
this.dataProcessor?.processData(uuid, hexValue);
|
|
102
106
|
}
|
|
103
107
|
});
|
|
104
|
-
this.dataProcessor = new _btDataProcessor.BTDataProcessor(this.mainServices, {
|
|
108
|
+
this.dataProcessor = new _btDataProcessor.BTDataProcessor(this.device, this.mainServices, this.stuckDataTimeout, {
|
|
105
109
|
onStatusChanged: this.onDeviceStatusChanged?.bind(this),
|
|
106
110
|
onStreamStart: this.onStreamStart?.bind(this),
|
|
107
111
|
validatePackage: this.validatePackage.bind(this),
|
|
108
112
|
onResult: (parsedData, collectedValues) => {
|
|
109
113
|
try {
|
|
110
|
-
return this.handleSuccessResult(parsedData, collectedValues);
|
|
114
|
+
return this.handleSuccessResult.bind(this)(parsedData, collectedValues);
|
|
111
115
|
} catch (error) {
|
|
112
116
|
this.onError?.bind(this)(error);
|
|
113
117
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_sentryLogger","require","_deviceStatus","_btConnectionHandler","_btDataProcessor","BTManagedDevice","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","sentryLogger","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","status","measurementTypeKey","error","caseType","_","data","diagramPoints","length","undefined","destroy","connectionHandler","dataProcessor","connect","getSupportedMeasurementTypeKeys","BTConnectionHandler","mainServices","onStatusChanged","bind","DeviceStatus","DISCONNECTED","onDataReceived","uuid","hexValue","processData","BTDataProcessor","onStreamStart","validatePackage","parsedData","collectedValues","handleSuccessResult","onSendCommandToDevice","sendCommandToDevice","flatMap","service","monitorUuids","parsingModel","cases","map","c","filter","type","uniqueMeasurementTypes","Set","flat","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":";;;;;;AAGA,IAAAA,aAAA,GAAAC,OAAA;AAIA,IAAAC,aAAA,GAAAD,OAAA;AAMA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AAEO,MAAeI,eAAe,CAGrC;
|
|
1
|
+
{"version":3,"names":["_sentryLogger","require","_deviceStatus","_btConnectionHandler","_btDataProcessor","BTManagedDevice","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","sentryLogger","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","status","measurementTypeKey","error","caseType","_","data","diagramPoints","length","undefined","destroy","connectionHandler","dataProcessor","connect","getSupportedMeasurementTypeKeys","BTConnectionHandler","mainServices","onStatusChanged","bind","DeviceStatus","DISCONNECTED","onDataReceived","uuid","hexValue","processData","BTDataProcessor","stuckDataTimeout","onStreamStart","validatePackage","parsedData","collectedValues","handleSuccessResult","onSendCommandToDevice","sendCommandToDevice","flatMap","service","monitorUuids","parsingModel","cases","map","c","filter","type","uniqueMeasurementTypes","Set","flat","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@ var _caseType = require("../../../types/case-type.js");
|
|
|
8
8
|
var _btManagedDevice = require("../bt-managed-device.js");
|
|
9
9
|
var _f4MainServices = require("./f4.main-services.js");
|
|
10
10
|
class F4Device extends _btManagedDevice.BTManagedDevice {
|
|
11
|
+
stuckDataTimeout = 30_000;
|
|
11
12
|
mainServices = _f4MainServices.f4MainServices;
|
|
12
13
|
validatePackage = () => {
|
|
13
14
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_caseType","require","_btManagedDevice","_f4MainServices","F4Device","BTManagedDevice","mainServices","f4MainServices","validatePackage","handleSuccessResult","successResult","caseType","CaseType","STREAM","measurementTypeKey","onError","Error","handleBodyWeightResult","error","checkIfHasError","onResult","bodyWeight","undefined","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/f4/f4.device.ts"],"mappings":";;;;;;AAEA,IAAAA,SAAA,GAAAC,OAAA;AAKA,IAAAC,gBAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AAEO,MAAMG,QAAQ,SAASC,gCAAe,CAAuB;EACxDC,YAAY,GAAeC,8BAAc;EAGzCC,eAAe,GAA6CA,CAAA,KAAM;IAC1E,OAAO,IAAI;EACb,CAAC;EAESC,mBAAmBA,CAC3BC,aAEC,EACe;IAChB,IAAIA,aAAa,CAACC,QAAQ,KAAKC,kBAAQ,CAACC,MAAM,EAAE;MAC9C;IACF;IAEA,IAAI,CAACH,aAAa,CAACI,kBAAkB,EAAE;MACrC,IAAI,CAACC,OAAO,GACV,IAAIC,KAAK,CACP,0CAA0CN,aAAa,CAACC,QAAQ,EAClE,CACF,CAAC;MAED;IACF;IAEA,IAAI,CAACM,sBAAsB,CAACP,aAAa,CAAC;EAC5C;EAEQO,sBAAsBA,CAC5BP,aAA6D,EACvD;IACN,MAAMQ,KAAK,GAAG,IAAI,CAACC,eAAe,CAACT,aAAa,CAAC;IAEjD,IAAIQ,KAAK,EAAE;MACT,IAAI,CAACH,OAAO,GAAGG,KAAK,CAAC;MAErB;IACF;IAEA,IAAI,CAACE,QAAQ,GAAGV,aAAa,CAAC;EAChC;EAEQS,eAAeA,CACrBT,aAA6D,EACzC;IACpB,IAAIA,aAAa,CAACW,UAAU,KAAK,CAAC,EAAE;MAClC,OAAO,kDAAkD;IAC3D;IAEA,IAAIX,aAAa,CAACW,UAAU,KAAKC,SAAS,EAAE;MAC1C,OAAO,4CAA4C;IACrD;IAEA,IAAIZ,aAAa,CAACW,UAAU,GAAG,GAAG,EAAE;MAClC,OAAO,4CAA4C;IACrD;IAEA,OAAOC,SAAS;EAClB;AACF;AAACC,OAAA,
|
|
1
|
+
{"version":3,"names":["_caseType","require","_btManagedDevice","_f4MainServices","F4Device","BTManagedDevice","stuckDataTimeout","mainServices","f4MainServices","validatePackage","handleSuccessResult","successResult","caseType","CaseType","STREAM","measurementTypeKey","onError","Error","handleBodyWeightResult","error","checkIfHasError","onResult","bodyWeight","undefined","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/f4/f4.device.ts"],"mappings":";;;;;;AAEA,IAAAA,SAAA,GAAAC,OAAA;AAKA,IAAAC,gBAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AAEO,MAAMG,QAAQ,SAASC,gCAAe,CAAuB;EACxDC,gBAAgB,GAAW,MAAM;EACjCC,YAAY,GAAeC,8BAAc;EAGzCC,eAAe,GAA6CA,CAAA,KAAM;IAC1E,OAAO,IAAI;EACb,CAAC;EAESC,mBAAmBA,CAC3BC,aAEC,EACe;IAChB,IAAIA,aAAa,CAACC,QAAQ,KAAKC,kBAAQ,CAACC,MAAM,EAAE;MAC9C;IACF;IAEA,IAAI,CAACH,aAAa,CAACI,kBAAkB,EAAE;MACrC,IAAI,CAACC,OAAO,GACV,IAAIC,KAAK,CACP,0CAA0CN,aAAa,CAACC,QAAQ,EAClE,CACF,CAAC;MAED;IACF;IAEA,IAAI,CAACM,sBAAsB,CAACP,aAAa,CAAC;EAC5C;EAEQO,sBAAsBA,CAC5BP,aAA6D,EACvD;IACN,MAAMQ,KAAK,GAAG,IAAI,CAACC,eAAe,CAACT,aAAa,CAAC;IAEjD,IAAIQ,KAAK,EAAE;MACT,IAAI,CAACH,OAAO,GAAGG,KAAK,CAAC;MAErB;IACF;IAEA,IAAI,CAACE,QAAQ,GAAGV,aAAa,CAAC;EAChC;EAEQS,eAAeA,CACrBT,aAA6D,EACzC;IACpB,IAAIA,aAAa,CAACW,UAAU,KAAK,CAAC,EAAE;MAClC,OAAO,kDAAkD;IAC3D;IAEA,IAAIX,aAAa,CAACW,UAAU,KAAKC,SAAS,EAAE;MAC1C,OAAO,4CAA4C;IACrD;IAEA,IAAIZ,aAAa,CAACW,UAAU,GAAG,GAAG,EAAE;MAClC,OAAO,4CAA4C;IACrD;IAEA,OAAOC,SAAS;EAClB;AACF;AAACC,OAAA,CAAApB,QAAA,GAAAA,QAAA","ignoreList":[]}
|