@voltras/node-sdk 0.1.2 → 0.2.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.
- package/README.md +122 -31
- package/dist/cjs/bluetooth/adapters/native.js +36 -34
- package/dist/cjs/bluetooth/adapters/native.js.map +1 -1
- package/dist/cjs/bluetooth/adapters/node.js +9 -7
- package/dist/cjs/bluetooth/adapters/node.js.map +1 -1
- package/dist/cjs/bluetooth/adapters/web-bluetooth-base.js +6 -4
- package/dist/cjs/bluetooth/adapters/web-bluetooth-base.js.map +1 -1
- package/dist/cjs/bluetooth/adapters/web.js +7 -5
- package/dist/cjs/bluetooth/adapters/web.js.map +1 -1
- package/dist/cjs/bluetooth/controllers/scanner-controller.js +0 -2
- package/dist/cjs/bluetooth/controllers/scanner-controller.js.map +1 -1
- package/dist/cjs/index.js +19 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/react/hooks.js +2 -6
- package/dist/cjs/react/hooks.js.map +1 -1
- package/dist/cjs/sdk/notification-dispatcher.js +47 -0
- package/dist/cjs/sdk/notification-dispatcher.js.map +1 -0
- package/dist/cjs/sdk/reconnect-handler.js +61 -0
- package/dist/cjs/sdk/reconnect-handler.js.map +1 -0
- package/dist/cjs/sdk/voltra-client.js +206 -72
- package/dist/cjs/sdk/voltra-client.js.map +1 -1
- package/dist/cjs/shared/index.js +5 -1
- package/dist/cjs/shared/index.js.map +1 -1
- package/dist/cjs/shared/logger.js +54 -0
- package/dist/cjs/shared/logger.js.map +1 -0
- package/dist/cjs/voltra/index.js +15 -12
- package/dist/cjs/voltra/index.js.map +1 -1
- package/dist/cjs/voltra/models/device.js +13 -0
- package/dist/cjs/voltra/models/device.js.map +1 -1
- package/dist/cjs/voltra/protocol/commands.js +127 -210
- package/dist/cjs/voltra/protocol/commands.js.map +1 -1
- package/dist/cjs/voltra/protocol/constants/ble-config.js +24 -0
- package/dist/cjs/voltra/protocol/constants/ble-config.js.map +1 -0
- package/dist/cjs/voltra/protocol/constants/connection-commands.js +55 -0
- package/dist/cjs/voltra/protocol/constants/connection-commands.js.map +1 -0
- package/dist/cjs/voltra/protocol/constants/enums.js +117 -0
- package/dist/cjs/voltra/protocol/constants/enums.js.map +1 -0
- package/dist/cjs/voltra/protocol/constants/index.js +33 -0
- package/dist/cjs/voltra/protocol/constants/index.js.map +1 -0
- package/dist/cjs/voltra/protocol/constants/message-types.js +75 -0
- package/dist/cjs/voltra/protocol/constants/message-types.js.map +1 -0
- package/dist/cjs/voltra/protocol/constants/timing.js +21 -0
- package/dist/cjs/voltra/protocol/constants/timing.js.map +1 -0
- package/dist/cjs/voltra/protocol/data/protocol-data.generated.js +7 -0
- package/dist/cjs/voltra/protocol/data/protocol-data.generated.js.map +1 -0
- package/dist/cjs/voltra/protocol/telemetry-decoder.js +130 -6
- package/dist/cjs/voltra/protocol/telemetry-decoder.js.map +1 -1
- package/dist/cjs/voltra/protocol/types.js +9 -0
- package/dist/cjs/voltra/protocol/types.js.map +1 -0
- package/dist/esm/bluetooth/adapters/native.js +36 -34
- package/dist/esm/bluetooth/adapters/native.js.map +1 -1
- package/dist/esm/bluetooth/adapters/node.js +9 -7
- package/dist/esm/bluetooth/adapters/node.js.map +1 -1
- package/dist/esm/bluetooth/adapters/web-bluetooth-base.js +6 -4
- package/dist/esm/bluetooth/adapters/web-bluetooth-base.js.map +1 -1
- package/dist/esm/bluetooth/adapters/web.js +7 -5
- package/dist/esm/bluetooth/adapters/web.js.map +1 -1
- package/dist/esm/bluetooth/controllers/scanner-controller.js +0 -2
- package/dist/esm/bluetooth/controllers/scanner-controller.js.map +1 -1
- package/dist/esm/index.js +3 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/react/hooks.js +1 -5
- package/dist/esm/react/hooks.js.map +1 -1
- package/dist/esm/sdk/notification-dispatcher.js +44 -0
- package/dist/esm/sdk/notification-dispatcher.js.map +1 -0
- package/dist/esm/sdk/reconnect-handler.js +57 -0
- package/dist/esm/sdk/reconnect-handler.js.map +1 -0
- package/dist/esm/sdk/voltra-client.js +204 -70
- package/dist/esm/sdk/voltra-client.js.map +1 -1
- package/dist/esm/shared/index.js +1 -0
- package/dist/esm/shared/index.js.map +1 -1
- package/dist/esm/shared/logger.js +49 -0
- package/dist/esm/shared/logger.js.map +1 -0
- package/dist/esm/voltra/index.js +3 -8
- package/dist/esm/voltra/index.js.map +1 -1
- package/dist/esm/voltra/models/device.js +13 -0
- package/dist/esm/voltra/models/device.js.map +1 -1
- package/dist/esm/voltra/protocol/commands.js +117 -209
- package/dist/esm/voltra/protocol/commands.js.map +1 -1
- package/dist/esm/voltra/protocol/constants/ble-config.js +18 -0
- package/dist/esm/voltra/protocol/constants/ble-config.js.map +1 -0
- package/dist/esm/voltra/protocol/constants/connection-commands.js +49 -0
- package/dist/esm/voltra/protocol/constants/connection-commands.js.map +1 -0
- package/dist/esm/voltra/protocol/constants/enums.js +114 -0
- package/dist/esm/voltra/protocol/constants/enums.js.map +1 -0
- package/dist/esm/voltra/protocol/constants/index.js +12 -0
- package/dist/esm/voltra/protocol/constants/index.js.map +1 -0
- package/dist/esm/voltra/protocol/constants/message-types.js +69 -0
- package/dist/esm/voltra/protocol/constants/message-types.js.map +1 -0
- package/dist/esm/voltra/protocol/constants/timing.js +18 -0
- package/dist/esm/voltra/protocol/constants/timing.js.map +1 -0
- package/dist/esm/voltra/protocol/data/protocol-data.generated.js +5 -0
- package/dist/esm/voltra/protocol/data/protocol-data.generated.js.map +1 -0
- package/dist/esm/voltra/protocol/telemetry-decoder.js +132 -8
- package/dist/esm/voltra/protocol/telemetry-decoder.js.map +1 -1
- package/dist/esm/voltra/protocol/types.js +8 -0
- package/dist/esm/voltra/protocol/types.js.map +1 -0
- package/dist/types/bluetooth/adapters/native.d.ts.map +1 -1
- package/dist/types/bluetooth/adapters/node.d.ts.map +1 -1
- package/dist/types/bluetooth/adapters/web-bluetooth-base.d.ts.map +1 -1
- package/dist/types/bluetooth/adapters/web.d.ts.map +1 -1
- package/dist/types/bluetooth/controllers/scanner-controller.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/react/hooks.d.ts.map +1 -1
- package/dist/types/sdk/index.d.ts +2 -1
- package/dist/types/sdk/index.d.ts.map +1 -1
- package/dist/types/sdk/notification-dispatcher.d.ts +29 -0
- package/dist/types/sdk/notification-dispatcher.d.ts.map +1 -0
- package/dist/types/sdk/reconnect-handler.d.ts +55 -0
- package/dist/types/sdk/reconnect-handler.d.ts.map +1 -0
- package/dist/types/sdk/types.d.ts +35 -0
- package/dist/types/sdk/types.d.ts.map +1 -1
- package/dist/types/sdk/voltra-client.d.ts +77 -2
- package/dist/types/sdk/voltra-client.d.ts.map +1 -1
- package/dist/types/shared/index.d.ts +1 -0
- package/dist/types/shared/index.d.ts.map +1 -1
- package/dist/types/shared/logger.d.ts +39 -0
- package/dist/types/shared/logger.d.ts.map +1 -0
- package/dist/types/voltra/index.d.ts +3 -3
- package/dist/types/voltra/index.d.ts.map +1 -1
- package/dist/types/voltra/models/device.d.ts +11 -1
- package/dist/types/voltra/models/device.d.ts.map +1 -1
- package/dist/types/voltra/protocol/commands.d.ts +47 -87
- package/dist/types/voltra/protocol/commands.d.ts.map +1 -1
- package/dist/types/voltra/protocol/constants/ble-config.d.ts +16 -0
- package/dist/types/voltra/protocol/constants/ble-config.d.ts.map +1 -0
- package/dist/types/voltra/protocol/constants/connection-commands.d.ts +37 -0
- package/dist/types/voltra/protocol/constants/connection-commands.d.ts.map +1 -0
- package/dist/types/voltra/protocol/constants/enums.d.ts +72 -0
- package/dist/types/voltra/protocol/constants/enums.d.ts.map +1 -0
- package/dist/types/voltra/protocol/constants/index.d.ts +12 -0
- package/dist/types/voltra/protocol/constants/index.d.ts.map +1 -0
- package/dist/types/voltra/protocol/constants/message-types.d.ts +57 -0
- package/dist/types/voltra/protocol/constants/message-types.d.ts.map +1 -0
- package/dist/types/voltra/protocol/constants/timing.d.ts +18 -0
- package/dist/types/voltra/protocol/constants/timing.d.ts.map +1 -0
- package/dist/types/voltra/protocol/data/protocol-data.generated.d.ts +3 -0
- package/dist/types/voltra/protocol/data/protocol-data.generated.d.ts.map +1 -0
- package/dist/types/voltra/protocol/telemetry-decoder.d.ts +15 -2
- package/dist/types/voltra/protocol/telemetry-decoder.d.ts.map +1 -1
- package/dist/types/voltra/protocol/types.d.ts +249 -0
- package/dist/types/voltra/protocol/types.d.ts.map +1 -0
- package/package.json +9 -8
- package/dist/cjs/voltra/protocol/constants.js +0 -136
- package/dist/cjs/voltra/protocol/constants.js.map +0 -1
- package/dist/cjs/voltra/protocol/data/chains.json +0 -830
- package/dist/cjs/voltra/protocol/data/eccentric.json +0 -1598
- package/dist/cjs/voltra/protocol/data/protocol.json +0 -54
- package/dist/cjs/voltra/protocol/data/weights.json +0 -62
- package/dist/esm/voltra/protocol/constants.js +0 -130
- package/dist/esm/voltra/protocol/constants.js.map +0 -1
- package/dist/esm/voltra/protocol/data/chains.json +0 -830
- package/dist/esm/voltra/protocol/data/eccentric.json +0 -1598
- package/dist/esm/voltra/protocol/data/protocol.json +0 -54
- package/dist/esm/voltra/protocol/data/weights.json +0 -62
- package/dist/types/voltra/protocol/constants.d.ts +0 -103
- package/dist/types/voltra/protocol/constants.d.ts.map +0 -1
|
@@ -15,6 +15,8 @@ import { BleManager, State } from 'react-native-ble-plx';
|
|
|
15
15
|
// @ts-ignore - React Native imports may not be available in all environments
|
|
16
16
|
import { AppState, Platform, PermissionsAndroid } from 'react-native';
|
|
17
17
|
import { BaseBLEAdapter } from './base';
|
|
18
|
+
import { createLogger } from '../../shared/logger';
|
|
19
|
+
const log = createLogger('NativeBLE');
|
|
18
20
|
/**
|
|
19
21
|
* Request Android Bluetooth permissions at runtime.
|
|
20
22
|
* Android 12+ requires BLUETOOTH_SCAN and BLUETOOTH_CONNECT.
|
|
@@ -25,7 +27,7 @@ async function requestAndroidBLEPermissions() {
|
|
|
25
27
|
return true;
|
|
26
28
|
}
|
|
27
29
|
const apiLevel = Platform.Version;
|
|
28
|
-
|
|
30
|
+
log.debug('Android API level:', apiLevel);
|
|
29
31
|
try {
|
|
30
32
|
if (typeof apiLevel === 'number' && apiLevel >= 31) {
|
|
31
33
|
// Android 12+ (API 31+)
|
|
@@ -36,7 +38,7 @@ async function requestAndroidBLEPermissions() {
|
|
|
36
38
|
]);
|
|
37
39
|
const allGranted = Object.values(results).every((result) => result === PermissionsAndroid.RESULTS.GRANTED);
|
|
38
40
|
if (!allGranted) {
|
|
39
|
-
|
|
41
|
+
log.warn('Not all permissions granted:', results);
|
|
40
42
|
}
|
|
41
43
|
return allGranted;
|
|
42
44
|
}
|
|
@@ -51,7 +53,7 @@ async function requestAndroidBLEPermissions() {
|
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
55
|
catch (error) {
|
|
54
|
-
|
|
56
|
+
log.error('Permission request error:', error);
|
|
55
57
|
return false;
|
|
56
58
|
}
|
|
57
59
|
}
|
|
@@ -118,19 +120,19 @@ export class NativeBLEAdapter extends BaseBLEAdapter {
|
|
|
118
120
|
async handleAppStateChange(nextAppState) {
|
|
119
121
|
if (nextAppState === 'active') {
|
|
120
122
|
// App came to foreground
|
|
121
|
-
|
|
123
|
+
log.debug('App became active');
|
|
122
124
|
// Check if we were connected and got disconnected
|
|
123
125
|
if (this.lastConnectedDeviceId &&
|
|
124
126
|
this.connectionState === 'disconnected' &&
|
|
125
127
|
!this.isReconnecting) {
|
|
126
|
-
|
|
128
|
+
log.debug('Was connected before, attempting auto-reconnect...');
|
|
127
129
|
await this.attemptReconnect();
|
|
128
130
|
}
|
|
129
131
|
else if (this.device) {
|
|
130
132
|
// Check if device is still connected
|
|
131
133
|
const isConnected = await this.device.isConnected();
|
|
132
134
|
if (!isConnected) {
|
|
133
|
-
|
|
135
|
+
log.debug('Device disconnected while in background, attempting reconnect...');
|
|
134
136
|
this.setConnectionState('disconnected');
|
|
135
137
|
await this.attemptReconnect();
|
|
136
138
|
}
|
|
@@ -149,31 +151,31 @@ export class NativeBLEAdapter extends BaseBLEAdapter {
|
|
|
149
151
|
this.onReconnectStart?.();
|
|
150
152
|
while (this.reconnectAttempts < this.maxReconnectAttempts) {
|
|
151
153
|
this.reconnectAttempts++;
|
|
152
|
-
|
|
154
|
+
log.debug(`Reconnect attempt ${this.reconnectAttempts}/${this.maxReconnectAttempts}`);
|
|
153
155
|
try {
|
|
154
156
|
await this.connect(this.lastConnectedDeviceId);
|
|
155
|
-
|
|
157
|
+
log.debug('Reconnect successful');
|
|
156
158
|
this.isReconnecting = false;
|
|
157
159
|
this.reconnectAttempts = 0;
|
|
158
160
|
this.onReconnectSuccess?.();
|
|
159
161
|
return;
|
|
160
162
|
}
|
|
161
163
|
catch (error) {
|
|
162
|
-
|
|
164
|
+
log.warn(`Reconnect attempt ${this.reconnectAttempts} failed:`, error);
|
|
163
165
|
if (this.reconnectAttempts < this.maxReconnectAttempts) {
|
|
164
166
|
await new Promise((resolve) => setTimeout(resolve, this.reconnectDelayMs));
|
|
165
167
|
}
|
|
166
168
|
}
|
|
167
169
|
}
|
|
168
170
|
// All attempts failed
|
|
169
|
-
|
|
171
|
+
log.error('Auto-reconnect failed after all attempts');
|
|
170
172
|
this.isReconnecting = false;
|
|
171
173
|
this.onReconnectFailed?.(new Error('Auto-reconnect failed'));
|
|
172
174
|
}
|
|
173
175
|
async waitForPoweredOn() {
|
|
174
176
|
return new Promise((resolve, reject) => {
|
|
175
177
|
const subscription = this.manager.onStateChange((state) => {
|
|
176
|
-
|
|
178
|
+
log.debug('Bluetooth state:', state);
|
|
177
179
|
if (state === State.PoweredOn) {
|
|
178
180
|
subscription.remove();
|
|
179
181
|
resolve();
|
|
@@ -188,7 +190,7 @@ export class NativeBLEAdapter extends BaseBLEAdapter {
|
|
|
188
190
|
}
|
|
189
191
|
else if (state === State.PoweredOff) {
|
|
190
192
|
// Don't reject yet - user might turn it on
|
|
191
|
-
|
|
193
|
+
log.debug('Bluetooth is off - waiting for user to enable');
|
|
192
194
|
}
|
|
193
195
|
}, true);
|
|
194
196
|
// Timeout after 10 seconds
|
|
@@ -199,19 +201,19 @@ export class NativeBLEAdapter extends BaseBLEAdapter {
|
|
|
199
201
|
});
|
|
200
202
|
}
|
|
201
203
|
async scan(timeout) {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
+
log.debug('Starting scan...');
|
|
205
|
+
log.debug('Looking for service:', this.bleConfig.serviceUUID);
|
|
204
206
|
if (this.bleConfig.deviceNamePrefix) {
|
|
205
|
-
|
|
207
|
+
log.debug('Device name prefix:', this.bleConfig.deviceNamePrefix);
|
|
206
208
|
}
|
|
207
209
|
// Request Android permissions first
|
|
208
210
|
const hasPermissions = await requestAndroidBLEPermissions();
|
|
209
211
|
if (!hasPermissions) {
|
|
210
212
|
throw new Error('Bluetooth permissions not granted. Please enable in Settings.');
|
|
211
213
|
}
|
|
212
|
-
|
|
214
|
+
log.debug('Permissions granted');
|
|
213
215
|
await this.waitForPoweredOn();
|
|
214
|
-
|
|
216
|
+
log.debug('Bluetooth is powered on');
|
|
215
217
|
const devices = [];
|
|
216
218
|
const seen = new Set();
|
|
217
219
|
const prefix = this.bleConfig.deviceNamePrefix;
|
|
@@ -220,18 +222,18 @@ export class NativeBLEAdapter extends BaseBLEAdapter {
|
|
|
220
222
|
this.manager.startDeviceScan(null, // No service filter - scan for all devices
|
|
221
223
|
{ allowDuplicates: false }, (error, device) => {
|
|
222
224
|
if (error) {
|
|
223
|
-
|
|
225
|
+
log.error('Scan error:', error);
|
|
224
226
|
return;
|
|
225
227
|
}
|
|
226
228
|
if (device) {
|
|
227
229
|
// Log all devices with names for debugging
|
|
228
230
|
if (device.name) {
|
|
229
|
-
|
|
231
|
+
log.debug(`Found device: ${device.name} (${device.id})`);
|
|
230
232
|
}
|
|
231
233
|
// Check if device matches filter (if prefix is configured)
|
|
232
234
|
const matchesFilter = !prefix || device.name?.startsWith(prefix) || device.localName?.startsWith(prefix);
|
|
233
235
|
if (matchesFilter && !seen.has(device.id) && (device.name || device.localName)) {
|
|
234
|
-
|
|
236
|
+
log.debug(`Found matching device: ${device.name || device.localName}`);
|
|
235
237
|
seen.add(device.id);
|
|
236
238
|
devices.push({
|
|
237
239
|
id: device.id,
|
|
@@ -244,7 +246,7 @@ export class NativeBLEAdapter extends BaseBLEAdapter {
|
|
|
244
246
|
// Stop scan after timeout
|
|
245
247
|
setTimeout(() => {
|
|
246
248
|
this.manager.stopDeviceScan();
|
|
247
|
-
|
|
249
|
+
log.debug(`Scan complete. Found ${devices.length} device(s)`);
|
|
248
250
|
resolve(devices);
|
|
249
251
|
}, timeout * 1000);
|
|
250
252
|
});
|
|
@@ -270,22 +272,22 @@ export class NativeBLEAdapter extends BaseBLEAdapter {
|
|
|
270
272
|
// If immediate write is provided, send it NOW before anything else
|
|
271
273
|
// This is critical for devices that require fast authentication
|
|
272
274
|
if (options?.immediateWrite) {
|
|
273
|
-
|
|
275
|
+
log.debug('Sending immediate auth write...');
|
|
274
276
|
const base64 = bytesToBase64(options.immediateWrite);
|
|
275
277
|
await device.writeCharacteristicWithResponseForService(this.bleConfig.serviceUUID, this.bleConfig.writeCharUUID, base64);
|
|
276
|
-
|
|
278
|
+
log.debug('Immediate auth write sent');
|
|
277
279
|
}
|
|
278
280
|
// Now request MTU (optional, may fail on some devices)
|
|
279
281
|
try {
|
|
280
282
|
await device.requestMTU(512);
|
|
281
283
|
}
|
|
282
284
|
catch (mtuError) {
|
|
283
|
-
|
|
285
|
+
log.debug('MTU request failed (non-fatal):', mtuError);
|
|
284
286
|
}
|
|
285
287
|
// Set up disconnect listener BEFORE setting up characteristic monitors
|
|
286
288
|
// This ensures we can clean up subscriptions before the error propagates
|
|
287
289
|
this.disconnectSubscription = device.onDisconnected((error, _disconnectedDevice) => {
|
|
288
|
-
|
|
290
|
+
log.debug('Device disconnected', error ? `(error: ${error.message})` : '');
|
|
289
291
|
// Mark as disconnecting to prevent monitor errors from crashing
|
|
290
292
|
this.isDisconnecting = true;
|
|
291
293
|
// Clean up subscriptions IMMEDIATELY to prevent RxJava crash
|
|
@@ -301,10 +303,10 @@ export class NativeBLEAdapter extends BaseBLEAdapter {
|
|
|
301
303
|
if (error) {
|
|
302
304
|
// Ignore errors if we're disconnecting - this prevents the Android crash
|
|
303
305
|
if (this.isDisconnecting || !this.device) {
|
|
304
|
-
|
|
306
|
+
log.debug('Notification error during disconnect (ignored):', error.message);
|
|
305
307
|
return;
|
|
306
308
|
}
|
|
307
|
-
|
|
309
|
+
log.error('Notification error:', error);
|
|
308
310
|
return;
|
|
309
311
|
}
|
|
310
312
|
if (characteristic?.value) {
|
|
@@ -318,10 +320,10 @@ export class NativeBLEAdapter extends BaseBLEAdapter {
|
|
|
318
320
|
if (error) {
|
|
319
321
|
// Ignore errors if we're disconnecting - this prevents the Android crash
|
|
320
322
|
if (this.isDisconnecting || !this.device) {
|
|
321
|
-
|
|
323
|
+
log.debug('Write char error during disconnect (ignored):', error.message);
|
|
322
324
|
return;
|
|
323
325
|
}
|
|
324
|
-
|
|
326
|
+
log.error('Write char notification error:', error);
|
|
325
327
|
return;
|
|
326
328
|
}
|
|
327
329
|
if (characteristic?.value) {
|
|
@@ -332,7 +334,7 @@ export class NativeBLEAdapter extends BaseBLEAdapter {
|
|
|
332
334
|
this.setConnectionState('connected');
|
|
333
335
|
}
|
|
334
336
|
catch (error) {
|
|
335
|
-
|
|
337
|
+
log.error('Connect error:', error);
|
|
336
338
|
this.setConnectionState('disconnected');
|
|
337
339
|
throw error;
|
|
338
340
|
}
|
|
@@ -345,7 +347,7 @@ export class NativeBLEAdapter extends BaseBLEAdapter {
|
|
|
345
347
|
this.notifySubscription.remove();
|
|
346
348
|
}
|
|
347
349
|
catch (e) {
|
|
348
|
-
|
|
350
|
+
log.debug('Error removing notify subscription:', e);
|
|
349
351
|
}
|
|
350
352
|
this.notifySubscription = null;
|
|
351
353
|
}
|
|
@@ -354,7 +356,7 @@ export class NativeBLEAdapter extends BaseBLEAdapter {
|
|
|
354
356
|
this.writeSubscription.remove();
|
|
355
357
|
}
|
|
356
358
|
catch (e) {
|
|
357
|
-
|
|
359
|
+
log.debug('Error removing write subscription:', e);
|
|
358
360
|
}
|
|
359
361
|
this.writeSubscription = null;
|
|
360
362
|
}
|
|
@@ -366,7 +368,7 @@ export class NativeBLEAdapter extends BaseBLEAdapter {
|
|
|
366
368
|
this.disconnectSubscription.remove();
|
|
367
369
|
}
|
|
368
370
|
catch (e) {
|
|
369
|
-
|
|
371
|
+
log.debug('Error removing disconnect subscription:', e);
|
|
370
372
|
}
|
|
371
373
|
this.disconnectSubscription = null;
|
|
372
374
|
}
|
|
@@ -383,7 +385,7 @@ export class NativeBLEAdapter extends BaseBLEAdapter {
|
|
|
383
385
|
await this.device.cancelConnection();
|
|
384
386
|
}
|
|
385
387
|
catch (error) {
|
|
386
|
-
|
|
388
|
+
log.error('Disconnect error:', error);
|
|
387
389
|
}
|
|
388
390
|
this.device = null;
|
|
389
391
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.js","sourceRoot":"","sources":["../../../../src/bluetooth/adapters/native.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"native.js","sourceRoot":"","sources":["../../../../src/bluetooth/adapters/native.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAA4B,KAAK,EAAE,MAAM,sBAAsB,CAAC;AACnF,6DAA6D;AAC7D,6EAA6E;AAC7E,OAAO,EAAE,QAAQ,EAAuB,QAAQ,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAKtC;;;;GAIG;AACH,KAAK,UAAU,4BAA4B;IACzC,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC;IAClC,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAE1C,IAAI,CAAC;QACH,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;YACnD,wBAAwB;YACxB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,eAAe,CAAC;gBACvD,kBAAkB,CAAC,WAAW,CAAC,cAAc;gBAC7C,kBAAkB,CAAC,WAAW,CAAC,iBAAiB;gBAChD,kBAAkB,CAAC,WAAW,CAAC,oBAAoB;aACpD,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAC7C,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAC1D,CAAC;YAEF,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;YACpD,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,uBAAuB;YACvB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAC9C,kBAAkB,CAAC,WAAW,CAAC,oBAAoB,EACnD;gBACE,KAAK,EAAE,sBAAsB;gBAC7B,OAAO,EAAE,uEAAuE;gBAChF,cAAc,EAAE,IAAI;aACrB,CACF,CAAC;YAEF,OAAO,OAAO,KAAK,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC;QACxD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,wCAAwC;AACxC,SAAS,aAAa,CAAC,MAAc;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAiB;IACtC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAgBD,MAAM,wBAAwB,GAAG;IAC/B,aAAa,EAAE,IAAI;IACnB,oBAAoB,EAAE,CAAC;IACvB,gBAAgB,EAAE,IAAI;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,cAAc;IA0BlD,YAAY,MAA2B;QACrC,KAAK,EAAE,CAAC;QAzBF,WAAM,GAAqB,IAAI,CAAC;QAChC,uBAAkB,GAAkC,IAAI,CAAC;QACzD,sBAAiB,GAAkC,IAAI,CAAC;QAMhE,uBAAuB;QACf,0BAAqB,GAAkB,IAAI,CAAC;QAC5C,4BAAuB,GAAkB,IAAI,CAAC;QAC9C,mBAAc,GAAY,KAAK,CAAC;QAChC,sBAAiB,GAAW,CAAC,CAAC;QAC9B,yBAAoB,GAAkC,IAAI,CAAC;QAEnE,kFAAkF;QAC1E,oBAAe,GAAY,KAAK,CAAC;QACjC,2BAAsB,GAAkC,IAAI,CAAC;QASnE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,wBAAwB,CAAC,aAAa,CAAC;QACpF,IAAI,CAAC,oBAAoB;YACvB,MAAM,CAAC,oBAAoB,IAAI,wBAAwB,CAAC,oBAAoB,CAAC;QAC/E,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,wBAAwB,CAAC,gBAAgB,CAAC;QAC7F,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;QAEhC,+CAA+C;QAC/C,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,gBAAgB,CACnD,QAAQ,EACR,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CACrC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB,CAAC,YAA4B;QAC7D,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC9B,yBAAyB;YACzB,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAE/B,kDAAkD;YAClD,IACE,IAAI,CAAC,qBAAqB;gBAC1B,IAAI,CAAC,eAAe,KAAK,cAAc;gBACvC,CAAC,IAAI,CAAC,cAAc,EACpB,CAAC;gBACD,GAAG,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBAChE,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAChC,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvB,qCAAqC;gBACrC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACpD,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,GAAG,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;oBAC9E,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;oBACxC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACvD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;QAE1B,OAAO,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1D,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,GAAG,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;YAEtF,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBAC/C,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBAClC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;gBAC5B,OAAO;YACT,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,iBAAiB,UAAU,EAAE,KAAK,CAAC,CAAC;gBAEvE,IAAI,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBACvD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,GAAG,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACtD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAC/D,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxD,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;gBACrC,IAAI,KAAK,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;oBAC9B,YAAY,CAAC,MAAM,EAAE,CAAC;oBACtB,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,IAAI,KAAK,KAAK,KAAK,CAAC,YAAY,EAAE,CAAC;oBACxC,YAAY,CAAC,MAAM,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC,CAAC;gBAC/E,CAAC;qBAAM,IAAI,KAAK,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;oBACvC,YAAY,CAAC,MAAM,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC,CAAC;gBAClE,CAAC;qBAAM,IAAI,KAAK,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;oBACtC,2CAA2C;oBAC3C,GAAG,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC,EAAE,IAAI,CAAC,CAAC;YAET,2BAA2B;YAC3B,UAAU,CAAC,GAAG,EAAE;gBACd,YAAY,CAAC,MAAM,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC,CAAC;YAC1F,CAAC,EAAE,KAAK,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAe;QACxB,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC9B,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YACpC,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACpE,CAAC;QAED,oCAAoC;QACpC,MAAM,cAAc,GAAG,MAAM,4BAA4B,EAAE,CAAC;QAC5D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAEjC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAErC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAE/C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;YACtC,wEAAwE;YACxE,IAAI,CAAC,OAAO,CAAC,eAAe,CAC1B,IAAI,EAAE,2CAA2C;YACjD,EAAE,eAAe,EAAE,KAAK,EAAE,EAC1B,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAChB,IAAI,KAAK,EAAE,CAAC;oBACV,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;oBAChC,OAAO;gBACT,CAAC;gBAED,IAAI,MAAM,EAAE,CAAC;oBACX,2CAA2C;oBAC3C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBAChB,GAAG,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC3D,CAAC;oBAED,2DAA2D;oBAC3D,MAAM,aAAa,GACjB,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;oBAErF,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC/E,GAAG,CAAC,KAAK,CAAC,0BAA0B,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;wBACvE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBACpB,OAAO,CAAC,IAAI,CAAC;4BACX,EAAE,EAAE,MAAM,CAAC,EAAE;4BACb,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,gBAAgB;4BACzD,IAAI,EAAE,MAAM,CAAC,IAAI;yBAClB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC,CACF,CAAC;YAEF,0BAA0B;YAC1B,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC9B,GAAG,CAAC,KAAK,CAAC,wBAAwB,OAAO,CAAC,MAAM,YAAY,CAAC,CAAC;gBAC9D,OAAO,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,OAAwB;QACtD,oCAAoC;QACpC,MAAM,cAAc,GAAG,MAAM,4BAA4B,EAAE,CAAC;QAC5D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE9B,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAEtC,IAAI,CAAC;YACH,2EAA2E;YAC3E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE;gBAC1D,WAAW,EAAE,KAAK,EAAE,sDAAsD;aAC3E,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC;YACtC,IAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC;YAE3C,2EAA2E;YAC3E,MAAM,MAAM,CAAC,qCAAqC,EAAE,CAAC;YAErD,mEAAmE;YACnE,gEAAgE;YAChE,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;gBAC5B,GAAG,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACrD,MAAM,MAAM,CAAC,yCAAyC,CACpD,IAAI,CAAC,SAAS,CAAC,WAAW,EAC1B,IAAI,CAAC,SAAS,CAAC,aAAa,EAC5B,MAAM,CACP,CAAC;gBACF,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACzC,CAAC;YAED,uDAAuD;YACvD,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,QAAQ,EAAE,CAAC;gBAClB,GAAG,CAAC,KAAK,CAAC,iCAAiC,EAAE,QAAQ,CAAC,CAAC;YACzD,CAAC;YAED,uEAAuE;YACvE,yEAAyE;YACzE,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAAE;gBACjF,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAE3E,gEAAgE;gBAChE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAE5B,6DAA6D;gBAC7D,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAE5B,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAE7B,kEAAkE;YACpE,CAAC,CAAC,CAAC;YAEH,sDAAsD;YACtD,0EAA0E;YAC1E,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,+BAA+B,CAC9D,IAAI,CAAC,SAAS,CAAC,WAAW,EAC1B,IAAI,CAAC,SAAS,CAAC,cAAc,EAC7B,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE;gBACxB,IAAI,KAAK,EAAE,CAAC;oBACV,yEAAyE;oBACzE,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;wBACzC,GAAG,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC5E,OAAO;oBACT,CAAC;oBACD,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;oBACxC,OAAO;gBACT,CAAC;gBACD,IAAI,cAAc,EAAE,KAAK,EAAE,CAAC;oBAC1B,MAAM,KAAK,GAAG,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;oBAClD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC,CACF,CAAC;YAEF,uEAAuE;YACvE,0EAA0E;YAC1E,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,+BAA+B,CAC7D,IAAI,CAAC,SAAS,CAAC,WAAW,EAC1B,IAAI,CAAC,SAAS,CAAC,aAAa,EAC5B,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE;gBACxB,IAAI,KAAK,EAAE,CAAC;oBACV,yEAAyE;oBACzE,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;wBACzC,GAAG,CAAC,KAAK,CAAC,+CAA+C,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC1E,OAAO;oBACT,CAAC;oBACD,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;oBACnD,OAAO;gBACT,CAAC;gBACD,IAAI,cAAc,EAAE,KAAK,EAAE,CAAC;oBAC1B,MAAM,KAAK,GAAG,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;oBAClD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC,CACF,CAAC;YAEF,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;YACxC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,oBAAoB;QAC1B,gDAAgD;QAChD,gEAAgE;QAChE,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;YACnC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,CAAC,KAAK,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACjC,CAAC;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAClC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE,CAAC,CAAC,CAAC;YACrD,CAAC;YACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAChC,CAAC;IACH,CAAC;IAEO,uBAAuB;QAC7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;YACvC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,CAAC,KAAK,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;YACD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACrC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAEzC,gEAAgE;QAChE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAE5B,yDAAyD;QACzD,4CAA4C;QAC5C,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACvC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,4EAA4E;QAC5E,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE7B,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAgB;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAEnC,MAAM,IAAI,CAAC,MAAM,CAAC,yCAAyC,CACzD,IAAI,CAAC,SAAS,CAAC,WAAW,EAC1B,IAAI,CAAC,SAAS,CAAC,aAAa,EAC5B,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;OAEG;IACM,WAAW;QAClB,OAAO,KAAK,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC9B,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;YAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,IAAI,EAAE,IAAI,EAAE,iCAAiC;SAC9C,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,wBAAwB;QACtB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,SAIrB;QACC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC,OAAO,CAAC;QAC1C,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC;QAC9C,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,QAAQ,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,QAAgB,EAAE,UAAmB;QAC1D,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC;QACtC,IAAI,CAAC,uBAAuB,GAAG,UAAU,IAAI,IAAI,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,oBAAoB,EAAE,MAAM,EAAE,CAAC;QACpC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
* - Platform-specific Bluetooth support (macOS, Linux, Windows)
|
|
11
11
|
*/
|
|
12
12
|
import { WebBluetoothBase } from './web-bluetooth-base';
|
|
13
|
+
import { createLogger } from '../../shared/logger';
|
|
14
|
+
const log = createLogger('NodeBLE');
|
|
13
15
|
// Dynamic import for webbluetooth to avoid bundling issues in non-Node environments
|
|
14
16
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
15
17
|
let BluetoothClass = null;
|
|
@@ -75,7 +77,7 @@ export class NodeBLEAdapter extends WebBluetoothBase {
|
|
|
75
77
|
return new Promise((resolve, reject) => {
|
|
76
78
|
const timeoutId = setTimeout(() => {
|
|
77
79
|
// Timeout - return discovered devices
|
|
78
|
-
|
|
80
|
+
log.debug(`Scan timeout. Found ${this.discoveredDevices.length} device(s)`);
|
|
79
81
|
resolve(this.discoveredDevices);
|
|
80
82
|
}, timeout * 1000);
|
|
81
83
|
// Create a new Bluetooth instance with deviceFound in constructor
|
|
@@ -96,7 +98,7 @@ export class NodeBLEAdapter extends WebBluetoothBase {
|
|
|
96
98
|
// Add to discovered list
|
|
97
99
|
if (!this.discoveredDevices.find((d) => d.id === device.id)) {
|
|
98
100
|
this.discoveredDevices.push(discoveredDevice);
|
|
99
|
-
|
|
101
|
+
log.debug(`Found device: ${device.name}`);
|
|
100
102
|
}
|
|
101
103
|
// Check if we should select this device
|
|
102
104
|
let shouldSelect = false;
|
|
@@ -110,7 +112,7 @@ export class NodeBLEAdapter extends WebBluetoothBase {
|
|
|
110
112
|
shouldSelect = true;
|
|
111
113
|
}
|
|
112
114
|
if (shouldSelect) {
|
|
113
|
-
|
|
115
|
+
log.debug(`Selected device: ${device.name}`);
|
|
114
116
|
this.selectedDevice = device;
|
|
115
117
|
clearTimeout(timeoutId);
|
|
116
118
|
selectFn();
|
|
@@ -135,7 +137,7 @@ export class NodeBLEAdapter extends WebBluetoothBase {
|
|
|
135
137
|
clearTimeout(timeoutId);
|
|
136
138
|
if (error.name === 'NotFoundError') {
|
|
137
139
|
// No device selected
|
|
138
|
-
|
|
140
|
+
log.debug('No device selected');
|
|
139
141
|
resolve(this.discoveredDevices);
|
|
140
142
|
}
|
|
141
143
|
else {
|
|
@@ -156,15 +158,15 @@ export class NodeBLEAdapter extends WebBluetoothBase {
|
|
|
156
158
|
throw new Error('No device selected. Call scan() first.');
|
|
157
159
|
}
|
|
158
160
|
if (this.selectedDevice.id !== deviceId) {
|
|
159
|
-
|
|
161
|
+
log.warn(`Device ID mismatch: expected ${this.selectedDevice.id}, got ${deviceId}`);
|
|
160
162
|
}
|
|
161
163
|
// Connect to GATT server
|
|
162
164
|
await this.connectToDevice(this.selectedDevice);
|
|
163
165
|
// Handle immediate write if provided (for authentication)
|
|
164
166
|
if (options?.immediateWrite) {
|
|
165
|
-
|
|
167
|
+
log.debug('Sending immediate auth write...');
|
|
166
168
|
await this.write(options.immediateWrite);
|
|
167
|
-
|
|
169
|
+
log.debug('Immediate auth write sent');
|
|
168
170
|
}
|
|
169
171
|
}
|
|
170
172
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../src/bluetooth/adapters/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,gBAAgB,EAA2B,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../src/bluetooth/adapters/node.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
* - NodeBLEAdapter: Node.js using webbluetooth npm package
|
|
10
10
|
*/
|
|
11
11
|
import { BaseBLEAdapter } from './base';
|
|
12
|
+
import { createLogger } from '../../shared/logger';
|
|
13
|
+
const log = createLogger('WebBluetooth');
|
|
12
14
|
/**
|
|
13
15
|
* Abstract base class for Web Bluetooth adapters.
|
|
14
16
|
*
|
|
@@ -52,7 +54,7 @@ export class WebBluetoothBase extends BaseBLEAdapter {
|
|
|
52
54
|
this.device = device;
|
|
53
55
|
// Set up disconnect listener
|
|
54
56
|
device.addEventListener('gattserverdisconnected', () => {
|
|
55
|
-
|
|
57
|
+
log.debug('Device disconnected');
|
|
56
58
|
this.handleDisconnect();
|
|
57
59
|
});
|
|
58
60
|
// Connect to GATT server
|
|
@@ -66,7 +68,7 @@ export class WebBluetoothBase extends BaseBLEAdapter {
|
|
|
66
68
|
this.setConnectionState('connected');
|
|
67
69
|
}
|
|
68
70
|
catch (error) {
|
|
69
|
-
|
|
71
|
+
log.error('Connect error:', error);
|
|
70
72
|
this.setConnectionState('disconnected');
|
|
71
73
|
throw error;
|
|
72
74
|
}
|
|
@@ -93,7 +95,7 @@ export class WebBluetoothBase extends BaseBLEAdapter {
|
|
|
93
95
|
this.writeChar.addEventListener('characteristicvaluechanged', this.boundNotificationHandler);
|
|
94
96
|
await this.writeChar.startNotifications();
|
|
95
97
|
}
|
|
96
|
-
|
|
98
|
+
log.debug('Characteristics set up');
|
|
97
99
|
}
|
|
98
100
|
/**
|
|
99
101
|
* Handle incoming notification data.
|
|
@@ -160,7 +162,7 @@ export class WebBluetoothBase extends BaseBLEAdapter {
|
|
|
160
162
|
if (!this.writeChar) {
|
|
161
163
|
throw new Error('Not connected to device');
|
|
162
164
|
}
|
|
163
|
-
//
|
|
165
|
+
// Assert as ArrayBuffer since Uint8Array.buffer is ArrayBufferLike in TS 5.9+
|
|
164
166
|
const buffer = data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
|
|
165
167
|
await this.writeChar.writeValueWithResponse(buffer);
|
|
166
168
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-bluetooth-base.js","sourceRoot":"","sources":["../../../../src/bluetooth/adapters/web-bluetooth-base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"web-bluetooth-base.js","sourceRoot":"","sources":["../../../../src/bluetooth/adapters/web-bluetooth-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
* - User gesture required to trigger device picker
|
|
11
11
|
*/
|
|
12
12
|
import { WebBluetoothBase } from './web-bluetooth-base';
|
|
13
|
+
import { createLogger } from '../../shared/logger';
|
|
14
|
+
const log = createLogger('WebBLE');
|
|
13
15
|
/**
|
|
14
16
|
* BLE adapter using the browser's native Web Bluetooth API.
|
|
15
17
|
*
|
|
@@ -47,7 +49,7 @@ export class WebBLEAdapter extends WebBluetoothBase {
|
|
|
47
49
|
});
|
|
48
50
|
// Store for connect()
|
|
49
51
|
this.selectedDevice = device;
|
|
50
|
-
|
|
52
|
+
log.debug(`Device selected: ${device.name}`);
|
|
51
53
|
return [
|
|
52
54
|
{
|
|
53
55
|
id: device.id,
|
|
@@ -59,7 +61,7 @@ export class WebBLEAdapter extends WebBluetoothBase {
|
|
|
59
61
|
catch (error) {
|
|
60
62
|
// User cancelled or error occurred
|
|
61
63
|
if (error.name === 'NotFoundError') {
|
|
62
|
-
|
|
64
|
+
log.debug('User cancelled device selection');
|
|
63
65
|
return [];
|
|
64
66
|
}
|
|
65
67
|
throw error;
|
|
@@ -80,15 +82,15 @@ export class WebBLEAdapter extends WebBluetoothBase {
|
|
|
80
82
|
throw new Error('No device selected. Call scan() first.');
|
|
81
83
|
}
|
|
82
84
|
if (this.selectedDevice.id !== deviceId) {
|
|
83
|
-
|
|
85
|
+
log.warn(`Device ID mismatch: expected ${this.selectedDevice.id}, got ${deviceId}`);
|
|
84
86
|
}
|
|
85
87
|
// Connect to GATT server
|
|
86
88
|
await this.connectToDevice(this.selectedDevice);
|
|
87
89
|
// Handle immediate write if provided (for authentication)
|
|
88
90
|
if (options?.immediateWrite) {
|
|
89
|
-
|
|
91
|
+
log.debug('Sending immediate auth write...');
|
|
90
92
|
await this.write(options.immediateWrite);
|
|
91
|
-
|
|
93
|
+
log.debug('Immediate auth write sent');
|
|
92
94
|
}
|
|
93
95
|
}
|
|
94
96
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../../../src/bluetooth/adapters/web.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,gBAAgB,EAA2B,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../../../src/bluetooth/adapters/web.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,gBAAgB,EAA2B,MAAM,sBAAsB,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAEnC;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAc,SAAQ,gBAAgB;IAIjD,YAAY,MAA0B;QACpC,KAAK,CAAC,MAAM,CAAC,CAAC;QAJhB,gEAAgE;QACxD,mBAAc,GAA2B,IAAI,CAAC;IAItD,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,IAAI,CAAC,QAAgB;QACzB,IAAI,CAAC;YACH,6DAA6D;YAC7D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC;gBACrD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;oBACnC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAChD,CAAC,CAAC,SAAS;gBACb,gBAAgB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB;gBAC/C,gBAAgB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;aAC5C,CAAC,CAAC;YAEH,sBAAsB;YACtB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;YAE7B,GAAG,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAE7C,OAAO;gBACL;oBACE,EAAE,EAAE,MAAM,CAAC,EAAE;oBACb,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,gBAAgB;oBACrC,IAAI,EAAE,IAAI,EAAE,mCAAmC;iBAChD;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mCAAmC;YACnC,IAAK,KAAe,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBAC9C,GAAG,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBAC7C,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,OAAwB;QACtD,wCAAwC;QACxC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YACxC,GAAG,CAAC,IAAI,CAAC,gCAAgC,IAAI,CAAC,cAAc,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,yBAAyB;QACzB,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEhD,0DAA0D;QAC1D,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;YAC5B,GAAG,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACzC,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,UAAU;QACvB,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB,OAAO,OAAO,SAAS,KAAK,WAAW,IAAI,WAAW,IAAI,SAAS,CAAC;IACtE,CAAC;CACF"}
|
|
@@ -69,14 +69,12 @@ export class ScannerController {
|
|
|
69
69
|
const errorMsg = e instanceof Error ? e.message : String(e);
|
|
70
70
|
// User cancelled device picker (web) - not an error
|
|
71
71
|
if (errorMsg.includes('NotFoundError')) {
|
|
72
|
-
this._error = null;
|
|
73
72
|
this.emit({ type: 'scanCompleted', devices: [] });
|
|
74
73
|
return [];
|
|
75
74
|
}
|
|
76
75
|
// On web, "permission" errors are expected when scan is called without user gesture
|
|
77
76
|
// Don't show these as errors - user just needs to click the scan button
|
|
78
77
|
if (this._environment.requiresUserGesture && errorMsg.includes('permission')) {
|
|
79
|
-
this._error = null;
|
|
80
78
|
this.emit({ type: 'scanCompleted', devices: [] });
|
|
81
79
|
return [];
|
|
82
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner-controller.js","sourceRoot":"","sources":["../../../../src/bluetooth/controllers/scanner-controller.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2CH;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAS5B,YACU,OAAmB,EACnB,YAAgC,EAChC,MAAqB,EACrB,YAA2B;QAH3B,YAAO,GAAP,OAAO,CAAY;QACnB,iBAAY,GAAZ,YAAY,CAAoB;QAChC,WAAM,GAAN,MAAM,CAAe;QACrB,iBAAY,GAAZ,YAAY,CAAe;QAZ7B,gBAAW,GAAG,KAAK,CAAC;QACpB,uBAAkB,GAAuB,EAAE,CAAC;QAC5C,kBAAa,GAAG,CAAC,CAAC;QAClB,WAAM,GAAkB,IAAI,CAAC;QAE7B,sBAAiB,GAA0C,IAAI,CAAC;QAChE,eAAU,GAA8B,IAAI,GAAG,EAAE,CAAC;IAOvD,CAAC;IAEJ;;OAEG;IACH,QAAQ;QACN,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;YAC1C,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,KAAK,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,QAA8B;QACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAEO,IAAI,CAAC,KAAmB;QAC9B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,iCAAiC;QACjC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,kBAAkB,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QAEnC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;YAC3E,gEAAgE;YAChE,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY;gBACvC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAA6B,CAAC;gBAClD,CAAC,CAAE,OAA8B,CAAC;YAEpC,IAAI,CAAC,kBAAkB,GAAG,eAAe,CAAC;YAC1C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YAEzB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;YAC/D,OAAO,eAAe,CAAC;QACzB,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,MAAM,QAAQ,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAE5D,oDAAoD;YACpD,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"scanner-controller.js","sourceRoot":"","sources":["../../../../src/bluetooth/controllers/scanner-controller.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -46,17 +46,13 @@ export { NativeBLEAdapter } from './bluetooth/adapters/native';
|
|
|
46
46
|
export { createBLEAdapter } from './bluetooth/adapters';
|
|
47
47
|
export { getDeviceDisplayName, sortBySignalStrength } from './bluetooth/models/device';
|
|
48
48
|
export { VOLTRA_DEVICE_PREFIX, isVoltraDevice, filterVoltraDevices, } from './voltra/models/device-filter';
|
|
49
|
-
// =============================================================================
|
|
50
|
-
// Voltra Device
|
|
51
|
-
// =============================================================================
|
|
52
|
-
export { VoltraDevice, DEFAULT_SETTINGS, } from './voltra/models/device';
|
|
53
49
|
export { createFrame } from './voltra/models/telemetry';
|
|
54
50
|
export { decodeTelemetryFrame, decodeNotification, encodeTelemetryFrame, identifyMessageType, } from './voltra/protocol/telemetry-decoder';
|
|
55
|
-
export { MovementPhase, PhaseNames, MessageTypes, TelemetryOffsets, } from './voltra/protocol/constants';
|
|
51
|
+
export { MovementPhase, PhaseNames, MessageTypes, TelemetryOffsets, ParameterId, ParameterNames, TrainingMode, TrainingModeNames, VALID_TRAINING_MODES, } from './voltra/protocol/constants';
|
|
56
52
|
// =============================================================================
|
|
57
53
|
// Commands
|
|
58
54
|
// =============================================================================
|
|
59
|
-
export {
|
|
55
|
+
export { getWeightCommand, getChainsCommand, getEccentricCommand, getInverseChainsCommand, getModeCommand, getAvailableWeights, getAvailableChains, getAvailableEccentric, getAvailableInverseChains, getAvailableModes, } from './voltra/protocol/commands';
|
|
60
56
|
// =============================================================================
|
|
61
57
|
// Protocol Constants
|
|
62
58
|
// =============================================================================
|
|
@@ -69,4 +65,5 @@ export { VoltraSDKError, ConnectionError, AuthenticationError, TimeoutError, Not
|
|
|
69
65
|
// Utilities
|
|
70
66
|
// =============================================================================
|
|
71
67
|
export { delay } from './shared/utils';
|
|
68
|
+
export { setDebugEnabled } from './shared/logger';
|
|
72
69
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,OAAO,EACL,YAAY,EACZ,aAAa,GAad,MAAM,OAAO,CAAC;AAEf,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAsB,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAiBxD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEvF,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,OAAO,EACL,YAAY,EACZ,aAAa,GAad,MAAM,OAAO,CAAC;AAEf,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAsB,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAiBxD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEvF,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AAmBvC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,GAGpB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,aAAa,EACb,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAErC,gFAAgF;AAChF,WAAW;AACX,gFAAgF;AAEhF,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAEpC,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAE/E,gFAAgF;AAChF,SAAS;AACT,gFAAgF;AAEhF,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,YAAY,EACZ,cAAc,EACd,SAAS,GAEV,MAAM,UAAU,CAAC;AAElB,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
|