@neurodevs/node-lsl 23.0.0 → 23.1.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/build/__tests__/AbstractPackageTest.js +0 -1
- package/build/__tests__/AbstractPackageTest.js.map +1 -1
- package/build/__tests__/impl/BleGattController.test.d.ts +4 -0
- package/build/__tests__/impl/BleGattController.test.js +27 -5
- package/build/__tests__/impl/BleGattController.test.js.map +1 -1
- package/build/impl/LslStreamInfo.d.ts +3 -3
- package/build/impl/LslStreamInfo.js.map +1 -1
- package/build/impl/LslStreamOutlet.d.ts +3 -3
- package/build/impl/LslStreamOutlet.js.map +1 -1
- package/build/impl/controllers/BleGattController.d.ts +18 -9
- package/build/impl/controllers/BleGattController.js +22 -30
- package/build/impl/controllers/BleGattController.js.map +1 -1
- package/build/impl/controllers/BleObserverController.d.ts +2 -1
- package/build/testDoubles/BleGatt/FakeBleGatt.d.ts +3 -2
- package/build/testDoubles/BleGatt/FakeBleGatt.js +6 -4
- package/build/testDoubles/BleGatt/FakeBleGatt.js.map +1 -1
- package/build/testDoubles/BleGatt/SpyBleGatt.d.ts +1 -1
- package/build/testDoubles/BleGatt/SpyBleGatt.js +2 -2
- package/build/testDoubles/BleGatt/SpyBleGatt.js.map +1 -1
- package/build/testDoubles/LslOutlet/FakeLslOutlet.d.ts +1 -1
- package/package.json +2 -2
- package/src/__tests__/AbstractPackageTest.ts +0 -2
- package/src/__tests__/impl/BleGattController.test.ts +48 -6
- package/src/impl/LslStreamInfo.ts +3 -3
- package/src/impl/LslStreamOutlet.ts +3 -3
- package/src/impl/controllers/BleGattController.ts +33 -35
- package/src/impl/controllers/BleObserverController.ts +3 -1
- package/src/testDoubles/BleGatt/FakeBleGatt.ts +9 -6
- package/src/testDoubles/BleGatt/SpyBleGatt.ts +2 -2
|
@@ -63,7 +63,6 @@ export default class AbstractPackageTest extends AbstractModuleTest {
|
|
|
63
63
|
LibndxAdapter.setInstance(this.fakeLibndx);
|
|
64
64
|
FakeLibndx.resetTestDouble();
|
|
65
65
|
FakeLibndx.fakeResult = { status: 200 };
|
|
66
|
-
BleGattController.ndx = this.fakeLibndx;
|
|
67
66
|
}
|
|
68
67
|
static setSpyLslInfo() {
|
|
69
68
|
LslStreamInfo.Class = SpyLslInfo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractPackageTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractPackageTest.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AbstractPackageTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractPackageTest.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ export default class BleGattControllerTest extends AbstractPackageTest {
|
|
|
10
10
|
private static readonly fakeError;
|
|
11
11
|
private static readonly fake400Error;
|
|
12
12
|
private static readonly fake500Error;
|
|
13
|
+
private static readonly uuidNotResolvedError;
|
|
13
14
|
private static readonly charCallbacks;
|
|
14
15
|
private static readonly extraCharCallbacks;
|
|
15
16
|
private static onConnected;
|
|
@@ -44,6 +45,9 @@ export default class BleGattControllerTest extends AbstractPackageTest {
|
|
|
44
45
|
protected static disconnectResetsConnectedFlag(): Promise<void>;
|
|
45
46
|
protected static exposesPeriperalName(): Promise<void>;
|
|
46
47
|
protected static returnsNAIfNameNotAvailable(): Promise<void>;
|
|
48
|
+
protected static writeCharacteristicThrowsIfUuidNotResolved(): Promise<void>;
|
|
49
|
+
protected static subscribeCharacteristicsThrowsIfUuidNotResolved(): Promise<void>;
|
|
50
|
+
protected static disconnectThrowsIfUuidNotResolved(): Promise<void>;
|
|
47
51
|
protected static throwsWithUnknownErrorIfNoError(): Promise<void>;
|
|
48
52
|
private static connect;
|
|
49
53
|
private static connectWithDiscovery;
|
|
@@ -21,6 +21,7 @@ export default class BleGattControllerTest extends AbstractPackageTest {
|
|
|
21
21
|
static fakeError = this.generateId();
|
|
22
22
|
static fake400Error = `400 error: ${this.fakeError}`;
|
|
23
23
|
static fake500Error = `500 error: ${this.fakeError}`;
|
|
24
|
+
static uuidNotResolvedError = 'Device uuid is not resolved yet! Must either pass as option to Create or call connect() first.';
|
|
24
25
|
static charCallbacks = [
|
|
25
26
|
{
|
|
26
27
|
charUuid: this.generateId(),
|
|
@@ -68,7 +69,7 @@ export default class BleGattControllerTest extends AbstractPackageTest {
|
|
|
68
69
|
}, 'Did not call createBleGattBackend!');
|
|
69
70
|
}
|
|
70
71
|
static async discoversUuidWhenDeviceUuidNotProvided() {
|
|
71
|
-
const instance =
|
|
72
|
+
const instance = this.BleGattControllerWithPrefix();
|
|
72
73
|
await this.connectWithDiscovery(instance);
|
|
73
74
|
const call = FakeLibndx.callsToDiscoverBleUuid[0];
|
|
74
75
|
assert.isEqual(call?.namePrefix, this.namePrefix, 'Did not call discoverBleUuid with deviceNamePrefix!');
|
|
@@ -79,19 +80,19 @@ export default class BleGattControllerTest extends AbstractPackageTest {
|
|
|
79
80
|
assert.isEqual(FakeLibndx.callsToDiscoverBleUuid.length, 0, 'Should not call discoverBleUuid when deviceUuid is provided!');
|
|
80
81
|
}
|
|
81
82
|
static async usesDiscoveredUuidToCreateBleBackend() {
|
|
82
|
-
const instance =
|
|
83
|
+
const instance = this.BleGattControllerWithPrefix();
|
|
83
84
|
await this.connectWithDiscovery(instance);
|
|
84
85
|
assert.isEqualDeep(FakeLibndx.callsToCreateBleGattBackend[0], {
|
|
85
86
|
deviceUuid: this.discoveredUuid,
|
|
86
87
|
}, 'Did not create BLE backend with the discovered uuid!');
|
|
87
88
|
}
|
|
88
89
|
static async usesDiscoveredUuidToStartBleBackend() {
|
|
89
|
-
const instance =
|
|
90
|
+
const instance = this.BleGattControllerWithPrefix();
|
|
90
91
|
await this.connectWithDiscovery(instance);
|
|
91
92
|
assert.isEqual(FakeLibndx.callsToStartBleGattBackend[0]?.deviceUuid, this.discoveredUuid, 'Did not start BLE backend with the discovered uuid!');
|
|
92
93
|
}
|
|
93
94
|
static async exposesDiscoveredUuid() {
|
|
94
|
-
const instance =
|
|
95
|
+
const instance = this.BleGattControllerWithPrefix();
|
|
95
96
|
await this.connectWithDiscovery(instance);
|
|
96
97
|
assert.isEqual(instance.uuid, this.discoveredUuid, 'Did not expose the discovered uuid!');
|
|
97
98
|
}
|
|
@@ -194,7 +195,7 @@ export default class BleGattControllerTest extends AbstractPackageTest {
|
|
|
194
195
|
static async disconnectResetsConnectedFlag() {
|
|
195
196
|
await this.connect();
|
|
196
197
|
await this.disconnect();
|
|
197
|
-
assert.
|
|
198
|
+
assert.isTrue(this.instance.getState().status === 'disconnected', 'Did not reset connected flag on disconnect!');
|
|
198
199
|
}
|
|
199
200
|
static async exposesPeriperalName() {
|
|
200
201
|
await this.connect();
|
|
@@ -203,6 +204,18 @@ export default class BleGattControllerTest extends AbstractPackageTest {
|
|
|
203
204
|
static async returnsNAIfNameNotAvailable() {
|
|
204
205
|
assert.isEqual(this.instance.name, 'N/A', 'Did not set default name to N/A!');
|
|
205
206
|
}
|
|
207
|
+
static async writeCharacteristicThrowsIfUuidNotResolved() {
|
|
208
|
+
const instance = this.BleGattControllerWithPrefix();
|
|
209
|
+
await assert.doesThrowAsync(async () => await instance.writeCharacteristic(this.charUuid, this.charValueToWrite), this.uuidNotResolvedError, 'Should not write to a device whose uuid is not resolved!');
|
|
210
|
+
}
|
|
211
|
+
static async subscribeCharacteristicsThrowsIfUuidNotResolved() {
|
|
212
|
+
const instance = this.BleGattControllerWithPrefix();
|
|
213
|
+
await assert.doesThrowAsync(async () => await instance.subscribeCharacteristics(this.extraCharCallbacks), this.uuidNotResolvedError, 'Should not subscribe to a device whose uuid is not resolved!');
|
|
214
|
+
}
|
|
215
|
+
static async disconnectThrowsIfUuidNotResolved() {
|
|
216
|
+
const instance = this.BleGattControllerWithPrefix();
|
|
217
|
+
await assert.doesThrowAsync(async () => await instance.disconnect(), this.uuidNotResolvedError, 'Should not disconnect a device whose uuid is not resolved!');
|
|
218
|
+
}
|
|
206
219
|
static async throwsWithUnknownErrorIfNoError() {
|
|
207
220
|
this.setFake500ErrorWithoutError();
|
|
208
221
|
await assert.doesThrowAsync(async () => await this.connect(), 'Unknown error', 'Did not throw error!');
|
|
@@ -356,6 +369,15 @@ __decorate([
|
|
|
356
369
|
__decorate([
|
|
357
370
|
test()
|
|
358
371
|
], BleGattControllerTest, "returnsNAIfNameNotAvailable", null);
|
|
372
|
+
__decorate([
|
|
373
|
+
test()
|
|
374
|
+
], BleGattControllerTest, "writeCharacteristicThrowsIfUuidNotResolved", null);
|
|
375
|
+
__decorate([
|
|
376
|
+
test()
|
|
377
|
+
], BleGattControllerTest, "subscribeCharacteristicsThrowsIfUuidNotResolved", null);
|
|
378
|
+
__decorate([
|
|
379
|
+
test()
|
|
380
|
+
], BleGattControllerTest, "disconnectThrowsIfUuidNotResolved", null);
|
|
359
381
|
__decorate([
|
|
360
382
|
test()
|
|
361
383
|
], BleGattControllerTest, "throwsWithUnknownErrorIfNoError", null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BleGattController.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/BleGattController.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BleGattController.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/BleGattController.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ export default class LslStreamInfo implements LslInfo {
|
|
|
4
4
|
readonly name: string;
|
|
5
5
|
readonly type: string;
|
|
6
6
|
readonly sourceId: string;
|
|
7
|
-
readonly channelNames: string[];
|
|
7
|
+
readonly channelNames: readonly string[];
|
|
8
8
|
readonly channelCount: number;
|
|
9
9
|
readonly channelFormat: ChannelFormat;
|
|
10
10
|
readonly sampleRateHz: number;
|
|
@@ -24,7 +24,7 @@ export interface LslInfo {
|
|
|
24
24
|
readonly type: string;
|
|
25
25
|
readonly sourceId: string;
|
|
26
26
|
readonly units: string;
|
|
27
|
-
readonly channelNames: string[];
|
|
27
|
+
readonly channelNames: readonly string[];
|
|
28
28
|
readonly channelCount: number;
|
|
29
29
|
readonly channelFormat: ChannelFormat;
|
|
30
30
|
readonly sampleRateHz: number;
|
|
@@ -32,7 +32,7 @@ export interface LslInfo {
|
|
|
32
32
|
}
|
|
33
33
|
export type LslInfoConstructor = new (options: LslInfoOptions) => LslInfo;
|
|
34
34
|
export interface LslInfoOptions {
|
|
35
|
-
channelNames: string[];
|
|
35
|
+
channelNames: readonly string[];
|
|
36
36
|
channelFormat: ChannelFormat;
|
|
37
37
|
sampleRateHz: number;
|
|
38
38
|
name?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslStreamInfo.js","sourceRoot":"","sources":["../../src/impl/LslStreamInfo.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAGH,aAAa,EACb,mBAAmB,GACtB,MAAM,uBAAuB,CAAA;AAE9B,MAAM,CAAC,OAAO,OAAO,aAAa;IACvB,MAAM,CAAC,KAAK,CAAqB;IAExB,IAAI,CAAQ;IACZ,IAAI,CAAQ;IACZ,QAAQ,CAAQ;IAChB,YAAY,
|
|
1
|
+
{"version":3,"file":"LslStreamInfo.js","sourceRoot":"","sources":["../../src/impl/LslStreamInfo.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAGH,aAAa,EACb,mBAAmB,GACtB,MAAM,uBAAuB,CAAA;AAE9B,MAAM,CAAC,OAAO,OAAO,aAAa;IACvB,MAAM,CAAC,KAAK,CAAqB;IAExB,IAAI,CAAQ;IACZ,IAAI,CAAQ;IACZ,QAAQ,CAAQ;IAChB,YAAY,CAAmB;IAC/B,YAAY,CAAQ;IACpB,aAAa,CAAe;IAC5B,YAAY,CAAQ;IACpB,KAAK,CAAQ;IAEb,UAAU,CAAY;IAE9B,GAAG,GAAG,aAAa,CAAC,WAAW,EAAE,CAAA;IAEzC,YAAsB,OAAuB;QACzC,MAAM,EACF,IAAI,GAAG,mBAAmB,UAAU,EAAE,EAAE,EACxC,IAAI,GAAG,UAAU,EAAE,EACnB,QAAQ,GAAG,UAAU,EAAE,EACvB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,KAAK,GAAG,KAAK,GAChB,GAAG,OAAO,CAAA;QAEX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,MAAM,CAAA;QACvC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAElB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACzC,IAAI,CAAC,0BAA0B,EAAE,CAAA;IACrC,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,OAAuB;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAEO,gBAAgB;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI,CAAC,gBAAgB;YACpC,YAAY,EAAE,IAAI,CAAC,YAAY;SAClC,CAAC,CAAA;IACN,CAAC;IAED,IAAY,gBAAgB;QACxB,OAAO,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAClD,CAAC;IAEO,0BAA0B;QAC9B,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC;YAChC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC;gBAChD,KAAK;gBACL,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;aAClB,CAAC,CAAC;SACN,CAAC,CAAA;IACN,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;IAC/D,CAAC;CACJ"}
|
|
@@ -7,7 +7,7 @@ export default class LslStreamOutlet implements LslOutlet {
|
|
|
7
7
|
readonly name: string;
|
|
8
8
|
readonly type: string;
|
|
9
9
|
readonly sourceId: string;
|
|
10
|
-
readonly channelNames: string[];
|
|
10
|
+
readonly channelNames: readonly string[];
|
|
11
11
|
readonly channelFormat: ChannelFormat;
|
|
12
12
|
readonly channelCount: number;
|
|
13
13
|
readonly sampleRateHz: number;
|
|
@@ -38,7 +38,7 @@ export interface LslOutlet {
|
|
|
38
38
|
readonly name: string;
|
|
39
39
|
readonly type: string;
|
|
40
40
|
readonly sourceId: string;
|
|
41
|
-
readonly channelNames: string[];
|
|
41
|
+
readonly channelNames: readonly string[];
|
|
42
42
|
readonly channelCount: number;
|
|
43
43
|
readonly channelFormat: ChannelFormat;
|
|
44
44
|
readonly sampleRateHz: number;
|
|
@@ -52,7 +52,7 @@ export interface LslOutletOptions {
|
|
|
52
52
|
name: string;
|
|
53
53
|
type: string;
|
|
54
54
|
sourceId: string;
|
|
55
|
-
channelNames: string[];
|
|
55
|
+
channelNames: readonly string[];
|
|
56
56
|
channelFormat: ChannelFormat;
|
|
57
57
|
sampleRateHz: number;
|
|
58
58
|
chunkSize: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslStreamOutlet.js","sourceRoot":"","sources":["../../src/impl/LslStreamOutlet.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EAIb,cAAc,GACjB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EACH,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,GAC1B,MAAM,kBAAkB,CAAA;AACzB,OAAO,aAA0B,MAAM,oBAAoB,CAAA;AAE3D,MAAM,CAAC,OAAO,OAAO,eAAe;IACzB,MAAM,CAAC,KAAK,CAAuB;IACnC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,MAAM,CAAC,GAAG,GAAG,aAAa,CAAC,WAAW,EAAE,CAAA;IACxC,MAAM,CAAC,cAAc,GAAG,cAAc,CAAA;IAE7B,IAAI,CAAQ;IACZ,IAAI,CAAQ;IACZ,QAAQ,CAAQ;IAChB,YAAY,
|
|
1
|
+
{"version":3,"file":"LslStreamOutlet.js","sourceRoot":"","sources":["../../src/impl/LslStreamOutlet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NativePeripheral } from '@neurodevs/ndx-native';
|
|
2
2
|
export default class BleGattController implements BleGatt {
|
|
3
3
|
static Class?: BleGattConstructor;
|
|
4
4
|
static setTimeout: typeof setTimeout;
|
|
5
5
|
static waitAfterMs: number;
|
|
6
|
-
private static _ndx?;
|
|
7
|
-
static get ndx(): Libndx;
|
|
8
|
-
static set ndx(value: Libndx);
|
|
9
6
|
protected charCallbacks: CharacteristicCallbacks;
|
|
10
7
|
protected rssiIntervalMs?: number;
|
|
11
|
-
protected
|
|
8
|
+
protected state: BleGattState;
|
|
12
9
|
protected log: Console;
|
|
13
|
-
private deviceUuid?;
|
|
14
10
|
private deviceNamePrefix?;
|
|
15
|
-
private deviceName?;
|
|
16
11
|
private onConnected?;
|
|
12
|
+
private readonly ndx;
|
|
17
13
|
protected constructor(options: BleGattOptions);
|
|
18
14
|
static Create(options: BleGattOptions): BleGattController | BleGatt;
|
|
19
15
|
connect(): Promise<void>;
|
|
@@ -30,7 +26,7 @@ export default class BleGattController implements BleGatt {
|
|
|
30
26
|
disconnect(): Promise<void>;
|
|
31
27
|
get uuid(): string;
|
|
32
28
|
get name(): string;
|
|
33
|
-
private
|
|
29
|
+
private requireUuid;
|
|
34
30
|
}
|
|
35
31
|
export interface BleGatt {
|
|
36
32
|
uuid: string;
|
|
@@ -52,7 +48,20 @@ export type BleGattOptions = {
|
|
|
52
48
|
deviceNamePrefix: string;
|
|
53
49
|
});
|
|
54
50
|
export type BleGattConstructor = new (options: BleGattOptions) => BleGatt;
|
|
55
|
-
export type
|
|
51
|
+
export type BleGattState = {
|
|
52
|
+
status: 'disconnected';
|
|
53
|
+
uuid?: string;
|
|
54
|
+
name?: string;
|
|
55
|
+
} | {
|
|
56
|
+
status: 'connecting';
|
|
57
|
+
uuid: string;
|
|
58
|
+
name?: string;
|
|
59
|
+
} | {
|
|
60
|
+
status: 'connected';
|
|
61
|
+
uuid: string;
|
|
62
|
+
name: string;
|
|
63
|
+
};
|
|
64
|
+
export type CharacteristicCallbacks = readonly {
|
|
56
65
|
charUuid: string;
|
|
57
66
|
charName?: string;
|
|
58
67
|
onData: (data: Buffer, length: number, timestampSec: number) => void;
|
|
@@ -3,27 +3,16 @@ export default class BleGattController {
|
|
|
3
3
|
static Class;
|
|
4
4
|
static setTimeout = setTimeout;
|
|
5
5
|
static waitAfterMs = 1000;
|
|
6
|
-
static _ndx;
|
|
7
|
-
static get ndx() {
|
|
8
|
-
if (!this._ndx) {
|
|
9
|
-
this._ndx = LibndxAdapter.getInstance();
|
|
10
|
-
}
|
|
11
|
-
return this._ndx;
|
|
12
|
-
}
|
|
13
|
-
static set ndx(value) {
|
|
14
|
-
this._ndx = value;
|
|
15
|
-
}
|
|
16
6
|
charCallbacks;
|
|
17
7
|
rssiIntervalMs;
|
|
18
|
-
|
|
8
|
+
state = { status: 'disconnected' };
|
|
19
9
|
log = console;
|
|
20
|
-
deviceUuid;
|
|
21
10
|
deviceNamePrefix;
|
|
22
|
-
deviceName;
|
|
23
11
|
onConnected;
|
|
12
|
+
ndx = LibndxAdapter.getInstance();
|
|
24
13
|
constructor(options) {
|
|
25
14
|
const { deviceUuid, deviceNamePrefix, charCallbacks, onConnected, rssiIntervalMs, } = options;
|
|
26
|
-
this.
|
|
15
|
+
this.state = { status: 'disconnected', uuid: deviceUuid };
|
|
27
16
|
this.deviceNamePrefix = deviceNamePrefix;
|
|
28
17
|
this.charCallbacks = charCallbacks;
|
|
29
18
|
this.onConnected = onConnected;
|
|
@@ -33,9 +22,10 @@ export default class BleGattController {
|
|
|
33
22
|
return new (this.Class ?? this)(options);
|
|
34
23
|
}
|
|
35
24
|
async connect() {
|
|
36
|
-
if (!this.
|
|
25
|
+
if (!this.state.uuid) {
|
|
37
26
|
await this.discoverUuid();
|
|
38
27
|
}
|
|
28
|
+
this.state = { status: 'connecting', uuid: this.uuid };
|
|
39
29
|
this.createBleGattBackend();
|
|
40
30
|
this.startBleGattBackend();
|
|
41
31
|
await this.waitForOnConnected();
|
|
@@ -46,7 +36,7 @@ export default class BleGattController {
|
|
|
46
36
|
const { status, error } = this.ndx.discoverBleUuid({
|
|
47
37
|
namePrefix: this.deviceNamePrefix,
|
|
48
38
|
onDiscovered: (uuid) => {
|
|
49
|
-
this.
|
|
39
|
+
this.state = { status: 'disconnected', uuid };
|
|
50
40
|
},
|
|
51
41
|
});
|
|
52
42
|
this.throwIfError(status, error);
|
|
@@ -55,7 +45,7 @@ export default class BleGattController {
|
|
|
55
45
|
async waitForDiscoveredUuid() {
|
|
56
46
|
await new Promise((resolve) => {
|
|
57
47
|
const checkDiscovered = () => {
|
|
58
|
-
if (this.
|
|
48
|
+
if (this.uuid) {
|
|
59
49
|
resolve();
|
|
60
50
|
}
|
|
61
51
|
else {
|
|
@@ -92,19 +82,18 @@ export default class BleGattController {
|
|
|
92
82
|
deviceUuid: this.uuid,
|
|
93
83
|
onConnected: (peripheral) => {
|
|
94
84
|
const { name } = peripheral;
|
|
95
|
-
this.
|
|
96
|
-
this.connected = true;
|
|
85
|
+
this.state = { status: 'connected', uuid: this.uuid, name };
|
|
97
86
|
this.log.info(`Connected to device ${this.uuid}!`);
|
|
98
87
|
this.onConnected?.(peripheral);
|
|
99
88
|
},
|
|
100
|
-
charCallbacks: this.charCallbacks,
|
|
89
|
+
charCallbacks: [...this.charCallbacks],
|
|
101
90
|
});
|
|
102
91
|
this.throwIfError(status, error);
|
|
103
92
|
}
|
|
104
93
|
async waitForOnConnected() {
|
|
105
94
|
await new Promise((resolve) => {
|
|
106
95
|
const checkConnected = () => {
|
|
107
|
-
if (this.connected) {
|
|
96
|
+
if (this.state.status === 'connected') {
|
|
108
97
|
resolve();
|
|
109
98
|
}
|
|
110
99
|
else {
|
|
@@ -119,7 +108,7 @@ export default class BleGattController {
|
|
|
119
108
|
}
|
|
120
109
|
async writeCharacteristic(charUuid, value) {
|
|
121
110
|
const { status, error } = this.ndx.writeBleGattChar({
|
|
122
|
-
deviceUuid: this.
|
|
111
|
+
deviceUuid: this.requireUuid(),
|
|
123
112
|
charUuid,
|
|
124
113
|
value,
|
|
125
114
|
});
|
|
@@ -127,27 +116,30 @@ export default class BleGattController {
|
|
|
127
116
|
}
|
|
128
117
|
async subscribeCharacteristics(charCallbacks) {
|
|
129
118
|
const { status, error } = this.ndx.registerBleGattCharCallbacks({
|
|
130
|
-
deviceUuid: this.
|
|
131
|
-
charCallbacks,
|
|
119
|
+
deviceUuid: this.requireUuid(),
|
|
120
|
+
charCallbacks: [...charCallbacks],
|
|
132
121
|
});
|
|
133
122
|
this.throwIfError(status, error);
|
|
134
123
|
this.charCallbacks = [...this.charCallbacks, ...charCallbacks];
|
|
135
124
|
}
|
|
136
125
|
async disconnect() {
|
|
137
126
|
const { status, error } = this.ndx.stopBleGattBackend({
|
|
138
|
-
deviceUuid: this.
|
|
127
|
+
deviceUuid: this.requireUuid(),
|
|
139
128
|
});
|
|
140
129
|
this.throwIfError(status, error);
|
|
141
|
-
this.
|
|
130
|
+
this.state = { status: 'disconnected', uuid: this.state.uuid };
|
|
142
131
|
}
|
|
143
132
|
get uuid() {
|
|
144
|
-
return this.
|
|
133
|
+
return this.state.uuid ?? '';
|
|
145
134
|
}
|
|
146
135
|
get name() {
|
|
147
|
-
return this.
|
|
136
|
+
return this.state.name ?? 'N/A';
|
|
148
137
|
}
|
|
149
|
-
|
|
150
|
-
|
|
138
|
+
requireUuid() {
|
|
139
|
+
if (!this.uuid) {
|
|
140
|
+
throw new Error('Device uuid is not resolved yet! Must either pass as option to Create or call connect() first.');
|
|
141
|
+
}
|
|
142
|
+
return this.uuid;
|
|
151
143
|
}
|
|
152
144
|
}
|
|
153
145
|
//# sourceMappingURL=BleGattController.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BleGattController.js","sourceRoot":"","sources":["../../../src/impl/controllers/BleGattController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"BleGattController.js","sourceRoot":"","sources":["../../../src/impl/controllers/BleGattController.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,4 +22,5 @@ export type BleObserverOptions = {
|
|
|
22
22
|
deviceUuid: string;
|
|
23
23
|
onAdvertisement?: OnAdvertisement;
|
|
24
24
|
};
|
|
25
|
-
export type
|
|
25
|
+
export type BleAdvertisement = NativeAdvertisement;
|
|
26
|
+
export type OnAdvertisement = (advertisement: BleAdvertisement) => void;
|
|
@@ -10,8 +10,9 @@ export default class FakeBleGatt implements BleGatt {
|
|
|
10
10
|
static numCallsToDisconnect: number;
|
|
11
11
|
static fakeCharacteristics: Record<string, unknown>;
|
|
12
12
|
static fakeName: string;
|
|
13
|
-
|
|
14
|
-
private
|
|
13
|
+
static fakeDiscoveredUuid: string;
|
|
14
|
+
private _uuid?;
|
|
15
|
+
private _name?;
|
|
15
16
|
constructor(options?: BleGattOptions);
|
|
16
17
|
connect(): Promise<void>;
|
|
17
18
|
writeCharacteristic(characteristicUuid: string, value: string): Promise<void>;
|
|
@@ -7,16 +7,18 @@ export default class FakeBleGatt {
|
|
|
7
7
|
static numCallsToDisconnect = 0;
|
|
8
8
|
static fakeCharacteristics = {};
|
|
9
9
|
static fakeName = `fake-${generateId()}`;
|
|
10
|
+
static fakeDiscoveredUuid = `fake-uuid-${generateId()}`;
|
|
10
11
|
_uuid;
|
|
11
12
|
_name;
|
|
12
13
|
constructor(options) {
|
|
13
14
|
const { deviceUuid } = options ?? {};
|
|
14
|
-
this._uuid = deviceUuid
|
|
15
|
-
this._name = FakeBleGatt.fakeName;
|
|
15
|
+
this._uuid = deviceUuid;
|
|
16
16
|
FakeBleGatt.callsToConstructor.push(options);
|
|
17
17
|
}
|
|
18
18
|
async connect() {
|
|
19
19
|
FakeBleGatt.numCallsToConnect++;
|
|
20
|
+
this._uuid = this._uuid ?? FakeBleGatt.fakeDiscoveredUuid;
|
|
21
|
+
this._name = FakeBleGatt.fakeName;
|
|
20
22
|
}
|
|
21
23
|
async writeCharacteristic(characteristicUuid, value) {
|
|
22
24
|
FakeBleGatt.callsToWriteCharacteristic.push({
|
|
@@ -31,10 +33,10 @@ export default class FakeBleGatt {
|
|
|
31
33
|
FakeBleGatt.numCallsToDisconnect++;
|
|
32
34
|
}
|
|
33
35
|
get uuid() {
|
|
34
|
-
return this._uuid;
|
|
36
|
+
return this._uuid ?? '';
|
|
35
37
|
}
|
|
36
38
|
get name() {
|
|
37
|
-
return this._name;
|
|
39
|
+
return this._name ?? 'N/A';
|
|
38
40
|
}
|
|
39
41
|
static resetTestDouble() {
|
|
40
42
|
this.callsToConstructor = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FakeBleGatt.js","sourceRoot":"","sources":["../../../src/testDoubles/BleGatt/FakeBleGatt.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAO/C,MAAM,CAAC,OAAO,OAAO,WAAW;IACrB,MAAM,CAAC,kBAAkB,GAAmC,EAAE,CAAA;IAE9D,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAE5B,MAAM,CAAC,0BAA0B,GAGlC,EAAE,CAAA;IAED,MAAM,CAAC,+BAA+B,GACzC,EAAE,CAAA;IAEC,MAAM,CAAC,oBAAoB,GAAG,CAAC,CAAA;IAE/B,MAAM,CAAC,mBAAmB,GAA4B,EAAE,CAAA;IACxD,MAAM,CAAC,QAAQ,GAAG,QAAQ,UAAU,EAAE,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"FakeBleGatt.js","sourceRoot":"","sources":["../../../src/testDoubles/BleGatt/FakeBleGatt.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAO/C,MAAM,CAAC,OAAO,OAAO,WAAW;IACrB,MAAM,CAAC,kBAAkB,GAAmC,EAAE,CAAA;IAE9D,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAE5B,MAAM,CAAC,0BAA0B,GAGlC,EAAE,CAAA;IAED,MAAM,CAAC,+BAA+B,GACzC,EAAE,CAAA;IAEC,MAAM,CAAC,oBAAoB,GAAG,CAAC,CAAA;IAE/B,MAAM,CAAC,mBAAmB,GAA4B,EAAE,CAAA;IACxD,MAAM,CAAC,QAAQ,GAAG,QAAQ,UAAU,EAAE,EAAE,CAAA;IACxC,MAAM,CAAC,kBAAkB,GAAG,aAAa,UAAU,EAAE,EAAE,CAAA;IAEtD,KAAK,CAAS;IACd,KAAK,CAAS;IAEtB,YAAmB,OAAwB;QACvC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QAEpC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAA;QAEvB,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,WAAW,CAAC,iBAAiB,EAAE,CAAA;QAE/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,kBAAkB,CAAA;QACzD,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAA;IACrC,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC5B,kBAA0B,EAC1B,KAAa;QAEb,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC;YACxC,kBAAkB;YAClB,KAAK;SACR,CAAC,CAAA;IACN,CAAC;IAEM,KAAK,CAAC,wBAAwB,CACjC,aAAsC;QAEtC,WAAW,CAAC,+BAA+B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IACnE,CAAC;IAEM,KAAK,CAAC,UAAU;QACnB,WAAW,CAAC,oBAAoB,EAAE,CAAA;IACtC,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,IAAI,EAAE,CAAA;IAC3B,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,IAAI,KAAK,CAAA;IAC9B,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAA;QAC5B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAA;QAC1B,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAA;QACpC,IAAI,CAAC,+BAA+B,GAAG,EAAE,CAAA;QACzC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAA;IACjC,CAAC"}
|
|
@@ -6,7 +6,7 @@ export default class SpyBleGatt extends BleGattController {
|
|
|
6
6
|
constructor(options: BleGattOptions);
|
|
7
7
|
getCharacteristicCallbacks(): import("../../impl/controllers/BleGattController.js").CharacteristicCallbacks;
|
|
8
8
|
getRssiIntervalMs(): number | undefined;
|
|
9
|
-
|
|
9
|
+
getState(): import("../../impl/controllers/BleGattController.js").BleGattState;
|
|
10
10
|
setLogInfoSpy(): void;
|
|
11
11
|
setLogWarnSpy(): void;
|
|
12
12
|
setLogErrorSpy(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpyBleGatt.js","sourceRoot":"","sources":["../../../src/testDoubles/BleGatt/SpyBleGatt.ts"],"names":[],"mappings":"AAAA,OAAO,iBAEN,MAAM,6CAA6C,CAAA;AAEpD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,iBAAiB;IAC9C,QAAQ,GAAa,EAAE,CAAA;IACvB,QAAQ,GAAa,EAAE,CAAA;IACvB,SAAS,GAAa,EAAE,CAAA;IAE/B,YAAmB,OAAuB;QACtC,KAAK,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC;IAEM,0BAA0B;QAC7B,OAAO,IAAI,CAAC,aAAa,CAAA;IAC7B,CAAC;IAEM,iBAAiB;QACpB,OAAO,IAAI,CAAC,cAAc,CAAA;IAC9B,CAAC;IAEM,
|
|
1
|
+
{"version":3,"file":"SpyBleGatt.js","sourceRoot":"","sources":["../../../src/testDoubles/BleGatt/SpyBleGatt.ts"],"names":[],"mappings":"AAAA,OAAO,iBAEN,MAAM,6CAA6C,CAAA;AAEpD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,iBAAiB;IAC9C,QAAQ,GAAa,EAAE,CAAA;IACvB,QAAQ,GAAa,EAAE,CAAA;IACvB,SAAS,GAAa,EAAE,CAAA;IAE/B,YAAmB,OAAuB;QACtC,KAAK,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC;IAEM,0BAA0B;QAC7B,OAAO,IAAI,CAAC,aAAa,CAAA;IAC7B,CAAC;IAEM,iBAAiB;QACpB,OAAO,IAAI,CAAC,cAAc,CAAA;IAC9B,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;IAEM,aAAa;QAChB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAElB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC3B,OAAO,OAAO,CAAA;QAClB,CAAC,CAAA;IACL,CAAC;IAEM,aAAa;QAChB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAElB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC3B,OAAO,OAAO,CAAA;QAClB,CAAC,CAAA;IACL,CAAC;IAEM,cAAc;QACjB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QAEnB,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC5B,OAAO,OAAO,CAAA;QAClB,CAAC,CAAA;IACL,CAAC;IAEM,eAAe;QAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAClB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;IACvB,CAAC;CACJ"}
|
|
@@ -14,7 +14,7 @@ export default class FakeLslOutlet implements LslOutlet {
|
|
|
14
14
|
get name(): string;
|
|
15
15
|
get type(): string;
|
|
16
16
|
get sourceId(): string;
|
|
17
|
-
get channelNames(): string[];
|
|
17
|
+
get channelNames(): readonly string[];
|
|
18
18
|
get channelCount(): number;
|
|
19
19
|
get channelFormat(): "string" | "undefined" | "float32" | "double64" | "int32" | "int16" | "int8" | "int64";
|
|
20
20
|
get sampleRateHz(): number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neurodevs/node-lsl",
|
|
3
|
-
"version": "23.
|
|
3
|
+
"version": "23.1.1",
|
|
4
4
|
"description": "Lab Streaming Layer (LSL) bindings for Node",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@neurodevs/generate-id": "^1.1.3",
|
|
45
|
-
"@neurodevs/ndx-native": "^9.0.
|
|
45
|
+
"@neurodevs/ndx-native": "^9.0.1",
|
|
46
46
|
"ffi-rs": "^1.3.1",
|
|
47
47
|
"ws": "^8.18.3"
|
|
48
48
|
},
|
|
@@ -21,6 +21,8 @@ export default class BleGattControllerTest extends AbstractPackageTest {
|
|
|
21
21
|
private static readonly fakeError = this.generateId()
|
|
22
22
|
private static readonly fake400Error = `400 error: ${this.fakeError}`
|
|
23
23
|
private static readonly fake500Error = `500 error: ${this.fakeError}`
|
|
24
|
+
private static readonly uuidNotResolvedError =
|
|
25
|
+
'Device uuid is not resolved yet! Must either pass as option to Create or call connect() first.'
|
|
24
26
|
|
|
25
27
|
private static readonly charCallbacks = [
|
|
26
28
|
{
|
|
@@ -93,7 +95,7 @@ export default class BleGattControllerTest extends AbstractPackageTest {
|
|
|
93
95
|
|
|
94
96
|
@test()
|
|
95
97
|
protected static async discoversUuidWhenDeviceUuidNotProvided() {
|
|
96
|
-
const instance =
|
|
98
|
+
const instance = this.BleGattControllerWithPrefix()
|
|
97
99
|
|
|
98
100
|
await this.connectWithDiscovery(instance)
|
|
99
101
|
|
|
@@ -124,7 +126,7 @@ export default class BleGattControllerTest extends AbstractPackageTest {
|
|
|
124
126
|
|
|
125
127
|
@test()
|
|
126
128
|
protected static async usesDiscoveredUuidToCreateBleBackend() {
|
|
127
|
-
const instance =
|
|
129
|
+
const instance = this.BleGattControllerWithPrefix()
|
|
128
130
|
|
|
129
131
|
await this.connectWithDiscovery(instance)
|
|
130
132
|
|
|
@@ -139,7 +141,7 @@ export default class BleGattControllerTest extends AbstractPackageTest {
|
|
|
139
141
|
|
|
140
142
|
@test()
|
|
141
143
|
protected static async usesDiscoveredUuidToStartBleBackend() {
|
|
142
|
-
const instance =
|
|
144
|
+
const instance = this.BleGattControllerWithPrefix()
|
|
143
145
|
|
|
144
146
|
await this.connectWithDiscovery(instance)
|
|
145
147
|
|
|
@@ -152,7 +154,7 @@ export default class BleGattControllerTest extends AbstractPackageTest {
|
|
|
152
154
|
|
|
153
155
|
@test()
|
|
154
156
|
protected static async exposesDiscoveredUuid() {
|
|
155
|
-
const instance =
|
|
157
|
+
const instance = this.BleGattControllerWithPrefix()
|
|
156
158
|
|
|
157
159
|
await this.connectWithDiscovery(instance)
|
|
158
160
|
|
|
@@ -406,8 +408,8 @@ export default class BleGattControllerTest extends AbstractPackageTest {
|
|
|
406
408
|
await this.connect()
|
|
407
409
|
await this.disconnect()
|
|
408
410
|
|
|
409
|
-
assert.
|
|
410
|
-
this.instance.
|
|
411
|
+
assert.isTrue(
|
|
412
|
+
this.instance.getState().status === 'disconnected',
|
|
411
413
|
'Did not reset connected flag on disconnect!'
|
|
412
414
|
)
|
|
413
415
|
}
|
|
@@ -432,6 +434,46 @@ export default class BleGattControllerTest extends AbstractPackageTest {
|
|
|
432
434
|
)
|
|
433
435
|
}
|
|
434
436
|
|
|
437
|
+
@test()
|
|
438
|
+
protected static async writeCharacteristicThrowsIfUuidNotResolved() {
|
|
439
|
+
const instance = this.BleGattControllerWithPrefix()
|
|
440
|
+
|
|
441
|
+
await assert.doesThrowAsync(
|
|
442
|
+
async () =>
|
|
443
|
+
await instance.writeCharacteristic(
|
|
444
|
+
this.charUuid,
|
|
445
|
+
this.charValueToWrite
|
|
446
|
+
),
|
|
447
|
+
this.uuidNotResolvedError,
|
|
448
|
+
'Should not write to a device whose uuid is not resolved!'
|
|
449
|
+
)
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
@test()
|
|
453
|
+
protected static async subscribeCharacteristicsThrowsIfUuidNotResolved() {
|
|
454
|
+
const instance = this.BleGattControllerWithPrefix()
|
|
455
|
+
|
|
456
|
+
await assert.doesThrowAsync(
|
|
457
|
+
async () =>
|
|
458
|
+
await instance.subscribeCharacteristics(
|
|
459
|
+
this.extraCharCallbacks
|
|
460
|
+
),
|
|
461
|
+
this.uuidNotResolvedError,
|
|
462
|
+
'Should not subscribe to a device whose uuid is not resolved!'
|
|
463
|
+
)
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
@test()
|
|
467
|
+
protected static async disconnectThrowsIfUuidNotResolved() {
|
|
468
|
+
const instance = this.BleGattControllerWithPrefix()
|
|
469
|
+
|
|
470
|
+
await assert.doesThrowAsync(
|
|
471
|
+
async () => await instance.disconnect(),
|
|
472
|
+
this.uuidNotResolvedError,
|
|
473
|
+
'Should not disconnect a device whose uuid is not resolved!'
|
|
474
|
+
)
|
|
475
|
+
}
|
|
476
|
+
|
|
435
477
|
@test()
|
|
436
478
|
protected static async throwsWithUnknownErrorIfNoError() {
|
|
437
479
|
this.setFake500ErrorWithoutError()
|
|
@@ -12,7 +12,7 @@ export default class LslStreamInfo implements LslInfo {
|
|
|
12
12
|
public readonly name: string
|
|
13
13
|
public readonly type: string
|
|
14
14
|
public readonly sourceId: string
|
|
15
|
-
public readonly channelNames: string[]
|
|
15
|
+
public readonly channelNames: readonly string[]
|
|
16
16
|
public readonly channelCount: number
|
|
17
17
|
public readonly channelFormat: ChannelFormat
|
|
18
18
|
public readonly sampleRateHz: number
|
|
@@ -87,7 +87,7 @@ export interface LslInfo {
|
|
|
87
87
|
readonly type: string
|
|
88
88
|
readonly sourceId: string
|
|
89
89
|
readonly units: string
|
|
90
|
-
readonly channelNames: string[]
|
|
90
|
+
readonly channelNames: readonly string[]
|
|
91
91
|
readonly channelCount: number
|
|
92
92
|
readonly channelFormat: ChannelFormat
|
|
93
93
|
readonly sampleRateHz: number
|
|
@@ -97,7 +97,7 @@ export interface LslInfo {
|
|
|
97
97
|
export type LslInfoConstructor = new (options: LslInfoOptions) => LslInfo
|
|
98
98
|
|
|
99
99
|
export interface LslInfoOptions {
|
|
100
|
-
channelNames: string[]
|
|
100
|
+
channelNames: readonly string[]
|
|
101
101
|
channelFormat: ChannelFormat
|
|
102
102
|
sampleRateHz: number
|
|
103
103
|
name?: string
|
|
@@ -25,7 +25,7 @@ export default class LslStreamOutlet implements LslOutlet {
|
|
|
25
25
|
public readonly name: string
|
|
26
26
|
public readonly type: string
|
|
27
27
|
public readonly sourceId: string
|
|
28
|
-
public readonly channelNames: string[]
|
|
28
|
+
public readonly channelNames: readonly string[]
|
|
29
29
|
public readonly channelFormat: ChannelFormat
|
|
30
30
|
public readonly channelCount: number
|
|
31
31
|
public readonly sampleRateHz: number
|
|
@@ -168,7 +168,7 @@ export interface LslOutlet {
|
|
|
168
168
|
readonly name: string
|
|
169
169
|
readonly type: string
|
|
170
170
|
readonly sourceId: string
|
|
171
|
-
readonly channelNames: string[]
|
|
171
|
+
readonly channelNames: readonly string[]
|
|
172
172
|
readonly channelCount: number
|
|
173
173
|
readonly channelFormat: ChannelFormat
|
|
174
174
|
readonly sampleRateHz: number
|
|
@@ -184,7 +184,7 @@ export interface LslOutletOptions {
|
|
|
184
184
|
name: string
|
|
185
185
|
type: string
|
|
186
186
|
sourceId: string
|
|
187
|
-
channelNames: string[]
|
|
187
|
+
channelNames: readonly string[]
|
|
188
188
|
channelFormat: ChannelFormat
|
|
189
189
|
sampleRateHz: number
|
|
190
190
|
chunkSize: number
|
|
@@ -1,33 +1,20 @@
|
|
|
1
|
-
import { LibndxAdapter,
|
|
1
|
+
import { LibndxAdapter, NativePeripheral } from '@neurodevs/ndx-native'
|
|
2
2
|
|
|
3
3
|
export default class BleGattController implements BleGatt {
|
|
4
4
|
public static Class?: BleGattConstructor
|
|
5
5
|
public static setTimeout = setTimeout
|
|
6
6
|
public static waitAfterMs = 1000
|
|
7
7
|
|
|
8
|
-
private static _ndx?: Libndx
|
|
9
|
-
|
|
10
|
-
public static get ndx() {
|
|
11
|
-
if (!this._ndx) {
|
|
12
|
-
this._ndx = LibndxAdapter.getInstance()
|
|
13
|
-
}
|
|
14
|
-
return this._ndx
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
public static set ndx(value: Libndx) {
|
|
18
|
-
this._ndx = value
|
|
19
|
-
}
|
|
20
|
-
|
|
21
8
|
protected charCallbacks: CharacteristicCallbacks
|
|
22
9
|
protected rssiIntervalMs?: number
|
|
23
|
-
protected
|
|
10
|
+
protected state: BleGattState = { status: 'disconnected' }
|
|
24
11
|
protected log = console
|
|
25
12
|
|
|
26
|
-
private deviceUuid?: string
|
|
27
13
|
private deviceNamePrefix?: string
|
|
28
|
-
private deviceName?: string
|
|
29
14
|
private onConnected?: (peripheral: NativePeripheral) => void
|
|
30
15
|
|
|
16
|
+
private readonly ndx = LibndxAdapter.getInstance()
|
|
17
|
+
|
|
31
18
|
protected constructor(options: BleGattOptions) {
|
|
32
19
|
const {
|
|
33
20
|
deviceUuid,
|
|
@@ -37,7 +24,7 @@ export default class BleGattController implements BleGatt {
|
|
|
37
24
|
rssiIntervalMs,
|
|
38
25
|
} = options
|
|
39
26
|
|
|
40
|
-
this.
|
|
27
|
+
this.state = { status: 'disconnected', uuid: deviceUuid }
|
|
41
28
|
this.deviceNamePrefix = deviceNamePrefix
|
|
42
29
|
this.charCallbacks = charCallbacks
|
|
43
30
|
this.onConnected = onConnected
|
|
@@ -49,10 +36,12 @@ export default class BleGattController implements BleGatt {
|
|
|
49
36
|
}
|
|
50
37
|
|
|
51
38
|
public async connect() {
|
|
52
|
-
if (!this.
|
|
39
|
+
if (!this.state.uuid) {
|
|
53
40
|
await this.discoverUuid()
|
|
54
41
|
}
|
|
55
42
|
|
|
43
|
+
this.state = { status: 'connecting', uuid: this.uuid }
|
|
44
|
+
|
|
56
45
|
this.createBleGattBackend()
|
|
57
46
|
this.startBleGattBackend()
|
|
58
47
|
|
|
@@ -66,7 +55,7 @@ export default class BleGattController implements BleGatt {
|
|
|
66
55
|
const { status, error } = this.ndx.discoverBleUuid({
|
|
67
56
|
namePrefix: this.deviceNamePrefix as string,
|
|
68
57
|
onDiscovered: (uuid: string) => {
|
|
69
|
-
this.
|
|
58
|
+
this.state = { status: 'disconnected', uuid }
|
|
70
59
|
},
|
|
71
60
|
})
|
|
72
61
|
|
|
@@ -78,7 +67,7 @@ export default class BleGattController implements BleGatt {
|
|
|
78
67
|
private async waitForDiscoveredUuid() {
|
|
79
68
|
await new Promise<void>((resolve) => {
|
|
80
69
|
const checkDiscovered = () => {
|
|
81
|
-
if (this.
|
|
70
|
+
if (this.uuid) {
|
|
82
71
|
resolve()
|
|
83
72
|
} else {
|
|
84
73
|
BleGattController.setTimeout(checkDiscovered, 100)
|
|
@@ -119,12 +108,11 @@ export default class BleGattController implements BleGatt {
|
|
|
119
108
|
deviceUuid: this.uuid,
|
|
120
109
|
onConnected: (peripheral: NativePeripheral) => {
|
|
121
110
|
const { name } = peripheral
|
|
122
|
-
this.
|
|
123
|
-
this.connected = true
|
|
111
|
+
this.state = { status: 'connected', uuid: this.uuid, name }
|
|
124
112
|
this.log.info(`Connected to device ${this.uuid}!`)
|
|
125
113
|
this.onConnected?.(peripheral)
|
|
126
114
|
},
|
|
127
|
-
charCallbacks: this.charCallbacks,
|
|
115
|
+
charCallbacks: [...this.charCallbacks],
|
|
128
116
|
})
|
|
129
117
|
|
|
130
118
|
this.throwIfError(status, error)
|
|
@@ -133,7 +121,7 @@ export default class BleGattController implements BleGatt {
|
|
|
133
121
|
private async waitForOnConnected() {
|
|
134
122
|
await new Promise<void>((resolve) => {
|
|
135
123
|
const checkConnected = () => {
|
|
136
|
-
if (this.connected) {
|
|
124
|
+
if (this.state.status === 'connected') {
|
|
137
125
|
resolve()
|
|
138
126
|
} else {
|
|
139
127
|
BleGattController.setTimeout(checkConnected, 100)
|
|
@@ -154,7 +142,7 @@ export default class BleGattController implements BleGatt {
|
|
|
154
142
|
value: string
|
|
155
143
|
) {
|
|
156
144
|
const { status, error } = this.ndx.writeBleGattChar({
|
|
157
|
-
deviceUuid: this.
|
|
145
|
+
deviceUuid: this.requireUuid(),
|
|
158
146
|
charUuid,
|
|
159
147
|
value,
|
|
160
148
|
})
|
|
@@ -166,8 +154,8 @@ export default class BleGattController implements BleGatt {
|
|
|
166
154
|
charCallbacks: CharacteristicCallbacks
|
|
167
155
|
) {
|
|
168
156
|
const { status, error } = this.ndx.registerBleGattCharCallbacks({
|
|
169
|
-
deviceUuid: this.
|
|
170
|
-
charCallbacks,
|
|
157
|
+
deviceUuid: this.requireUuid(),
|
|
158
|
+
charCallbacks: [...charCallbacks],
|
|
171
159
|
})
|
|
172
160
|
|
|
173
161
|
this.throwIfError(status, error)
|
|
@@ -177,23 +165,28 @@ export default class BleGattController implements BleGatt {
|
|
|
177
165
|
|
|
178
166
|
public async disconnect() {
|
|
179
167
|
const { status, error } = this.ndx.stopBleGattBackend({
|
|
180
|
-
deviceUuid: this.
|
|
168
|
+
deviceUuid: this.requireUuid(),
|
|
181
169
|
})
|
|
182
170
|
|
|
183
171
|
this.throwIfError(status, error)
|
|
184
|
-
this.
|
|
172
|
+
this.state = { status: 'disconnected', uuid: this.state.uuid }
|
|
185
173
|
}
|
|
186
174
|
|
|
187
175
|
public get uuid() {
|
|
188
|
-
return this.
|
|
176
|
+
return this.state.uuid ?? ''
|
|
189
177
|
}
|
|
190
178
|
|
|
191
179
|
public get name() {
|
|
192
|
-
return this.
|
|
180
|
+
return this.state.name ?? 'N/A'
|
|
193
181
|
}
|
|
194
182
|
|
|
195
|
-
private
|
|
196
|
-
|
|
183
|
+
private requireUuid() {
|
|
184
|
+
if (!this.uuid) {
|
|
185
|
+
throw new Error(
|
|
186
|
+
'Device uuid is not resolved yet! Must either pass as option to Create or call connect() first.'
|
|
187
|
+
)
|
|
188
|
+
}
|
|
189
|
+
return this.uuid
|
|
197
190
|
}
|
|
198
191
|
}
|
|
199
192
|
|
|
@@ -226,7 +219,12 @@ export type BleGattOptions = {
|
|
|
226
219
|
|
|
227
220
|
export type BleGattConstructor = new (options: BleGattOptions) => BleGatt
|
|
228
221
|
|
|
229
|
-
export type
|
|
222
|
+
export type BleGattState =
|
|
223
|
+
| { status: 'disconnected'; uuid?: string; name?: string }
|
|
224
|
+
| { status: 'connecting'; uuid: string; name?: string }
|
|
225
|
+
| { status: 'connected'; uuid: string; name: string }
|
|
226
|
+
|
|
227
|
+
export type CharacteristicCallbacks = readonly {
|
|
230
228
|
charUuid: string
|
|
231
229
|
charName?: string
|
|
232
230
|
onData: (data: Buffer, length: number, timestampSec: number) => void
|
|
@@ -74,4 +74,6 @@ export type BleObserverOptions = {
|
|
|
74
74
|
onAdvertisement?: OnAdvertisement
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
export type
|
|
77
|
+
export type BleAdvertisement = NativeAdvertisement
|
|
78
|
+
|
|
79
|
+
export type OnAdvertisement = (advertisement: BleAdvertisement) => void
|
|
@@ -22,21 +22,24 @@ export default class FakeBleGatt implements BleGatt {
|
|
|
22
22
|
|
|
23
23
|
public static fakeCharacteristics: Record<string, unknown> = {}
|
|
24
24
|
public static fakeName = `fake-${generateId()}`
|
|
25
|
+
public static fakeDiscoveredUuid = `fake-uuid-${generateId()}`
|
|
25
26
|
|
|
26
|
-
private _uuid
|
|
27
|
-
private _name
|
|
27
|
+
private _uuid?: string
|
|
28
|
+
private _name?: string
|
|
28
29
|
|
|
29
30
|
public constructor(options?: BleGattOptions) {
|
|
30
31
|
const { deviceUuid } = options ?? {}
|
|
31
32
|
|
|
32
|
-
this._uuid = deviceUuid
|
|
33
|
-
this._name = FakeBleGatt.fakeName
|
|
33
|
+
this._uuid = deviceUuid
|
|
34
34
|
|
|
35
35
|
FakeBleGatt.callsToConstructor.push(options)
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
public async connect() {
|
|
39
39
|
FakeBleGatt.numCallsToConnect++
|
|
40
|
+
|
|
41
|
+
this._uuid = this._uuid ?? FakeBleGatt.fakeDiscoveredUuid
|
|
42
|
+
this._name = FakeBleGatt.fakeName
|
|
40
43
|
}
|
|
41
44
|
|
|
42
45
|
public async writeCharacteristic(
|
|
@@ -60,11 +63,11 @@ export default class FakeBleGatt implements BleGatt {
|
|
|
60
63
|
}
|
|
61
64
|
|
|
62
65
|
public get uuid() {
|
|
63
|
-
return this._uuid
|
|
66
|
+
return this._uuid ?? ''
|
|
64
67
|
}
|
|
65
68
|
|
|
66
69
|
public get name() {
|
|
67
|
-
return this._name
|
|
70
|
+
return this._name ?? 'N/A'
|
|
68
71
|
}
|
|
69
72
|
|
|
70
73
|
public static resetTestDouble() {
|