@neurodevs/ndx-native 6.0.2 → 6.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.
@@ -15,6 +15,8 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
15
15
  private static readonly ftdiSerialNumber;
16
16
  private static readonly charCallbacks;
17
17
  private static readonly successfulResult;
18
+ private static readonly bleNamePrefix;
19
+ private static readonly callsToDiscoverBle;
18
20
  private static readonly callsToCreateBle;
19
21
  private static readonly callsToStartBle;
20
22
  private static readonly callsToWriteBle;
@@ -30,9 +32,13 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
30
32
  protected static registersExpectedKoffiFuncSignatures(): Promise<void>;
31
33
  protected static registersCharCallbackStruct(): Promise<void>;
32
34
  protected static registersOnRssiProtoBeforeLoadingBindings(): Promise<void>;
35
+ protected static registersOnDiscoveredProtoBeforeLoadingBindings(): Promise<void>;
33
36
  protected static onConnectedReceivesPeripheral(): Promise<void>;
34
37
  protected static getInstanceReturnsASingleton(): Promise<void>;
35
38
  protected static canSetInstance(): void;
39
+ protected static discoverBleUuidCallsBindingWithExpectedArgs(): Promise<void>;
40
+ protected static discoverBleUuidReturnsJson(): Promise<void>;
41
+ protected static discoverBleUuidInvokesOnDiscoveredWithUuid(): Promise<void>;
36
42
  protected static createBleBackendCallsBindingWithExpectedArgs(): Promise<void>;
37
43
  protected static createBleBackendReturnsJson(): Promise<void>;
38
44
  protected static startBleBackendCallsBindingWithExpectedArgs(): Promise<void>;
@@ -50,6 +56,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
50
56
  protected static startFtdiBackendReturnsJson(): Promise<void>;
51
57
  protected static stopFtdiBackendCallsBindingWithExpectedArgs(): Promise<void>;
52
58
  protected static stopFtdiBackendReturnsJson(): Promise<void>;
59
+ private static discoverBleUuid;
53
60
  private static createBleBackend;
54
61
  private static startBleBackend;
55
62
  private static writeBleCharacteristic;
@@ -26,10 +26,12 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
26
26
  {
27
27
  charUuid: this.generateId(),
28
28
  charName: this.generateId(),
29
- onData: (_data, _length, _timestamp) => { },
29
+ onData: (_data, _length, _timestampSec) => { },
30
30
  },
31
31
  ];
32
32
  static successfulResult = { status: 200 };
33
+ static bleNamePrefix = this.generateId();
34
+ static callsToDiscoverBle = [];
33
35
  static callsToCreateBle = [];
34
36
  static callsToStartBle = [];
35
37
  static callsToWriteBle = [];
@@ -62,6 +64,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
62
64
  }
63
65
  static async registersExpectedKoffiFuncSignatures() {
64
66
  assert.isEqualDeep(this.koffiFuncSignatures, [
67
+ 'str discover_ble_uuid(str name_prefix, OnDiscoveredFn *on_discovered)',
65
68
  'str create_ble_backend(str config)',
66
69
  'str start_ble_backend(str uuid, OnConnectedFn *on_connected, CharCallback *callbacks, int num_callbacks)',
67
70
  'str write_ble_characteristic(str uuid, str charUuid, str value)',
@@ -90,6 +93,12 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
90
93
  assert.isAbove(onRssiProtoIdx, -1, 'Did not register OnRssiFn proto before loading bindings!');
91
94
  assert.isBelow(onRssiProtoIdx, firstFuncIdx + this.koffiProtoCalls.length, 'OnRssiFn proto must be registered before bindings are loaded!');
92
95
  }
96
+ static async registersOnDiscoveredProtoBeforeLoadingBindings() {
97
+ const onDiscoveredProtoIdx = this.koffiProtoCalls.findIndex((s) => s.includes('OnDiscoveredFn'));
98
+ const firstFuncIdx = this.koffiFuncSignatures.findIndex((s) => s.includes('OnDiscoveredFn'));
99
+ assert.isAbove(onDiscoveredProtoIdx, -1, 'Did not register OnDiscoveredFn proto before loading bindings!');
100
+ assert.isBelow(onDiscoveredProtoIdx, firstFuncIdx + this.koffiProtoCalls.length, 'OnDiscoveredFn proto must be registered before bindings are loaded!');
101
+ }
93
102
  static async onConnectedReceivesPeripheral() {
94
103
  let received = undefined;
95
104
  this.startBleBackend((peripheral) => {
@@ -108,6 +117,26 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
108
117
  LibndxAdapter.setInstance(fake);
109
118
  assert.isEqual(LibndxAdapter.getInstance(), fake);
110
119
  }
120
+ static async discoverBleUuidCallsBindingWithExpectedArgs() {
121
+ this.discoverBleUuid();
122
+ assert.isEqual(this.callsToDiscoverBle[0].namePrefix, this.bleNamePrefix, 'discoverBleUuid did not pass expected namePrefix to binding!');
123
+ assert.isFunction(this.callsToDiscoverBle[0].onDiscovered, 'discoverBleUuid did not pass an onDiscovered callback to the binding!');
124
+ }
125
+ static async discoverBleUuidReturnsJson() {
126
+ const json = this.discoverBleUuid();
127
+ assert.isEqualDeep(json, this.successfulResult, 'discoverBleUuid did not return a JSON string!');
128
+ }
129
+ static async discoverBleUuidInvokesOnDiscoveredWithUuid() {
130
+ let received;
131
+ this.discoverBleUuid((uuid) => {
132
+ received = uuid;
133
+ });
134
+ const discoveredUuid = this.generateId();
135
+ const registeredOnDiscovered = this.callsToDiscoverBle[0]
136
+ .onDiscovered;
137
+ registeredOnDiscovered(discoveredUuid);
138
+ assert.isEqual(received, discoveredUuid, 'onDiscovered was not invoked with discovered uuid!');
139
+ }
111
140
  static async createBleBackendCallsBindingWithExpectedArgs() {
112
141
  this.createBleBackend();
113
142
  assert.isEqualDeep(this.callsToCreateBle[0][0], JSON.stringify({ uuid: this.bleDeviceUuid }), 'createBleBackend did not call binding with expected args!');
@@ -192,6 +221,12 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
192
221
  const json = this.stopFtdiBackend();
193
222
  assert.isEqualDeep(json, this.successfulResult, 'stopFtdiBackend did not return a JSON string!');
194
223
  }
224
+ static discoverBleUuid(onDiscovered) {
225
+ return this.instance.discoverBleUuid({
226
+ namePrefix: this.bleNamePrefix,
227
+ onDiscovered: onDiscovered ?? (() => { }),
228
+ });
229
+ }
195
230
  static createBleBackend() {
196
231
  return this.instance.createBleBackend({
197
232
  deviceUuid: this.bleDeviceUuid,
@@ -240,6 +275,13 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
240
275
  }
241
276
  static FakeBindings() {
242
277
  return {
278
+ discover_ble_uuid: (args) => {
279
+ this.callsToDiscoverBle.push({
280
+ namePrefix: args[0],
281
+ onDiscovered: args[1],
282
+ });
283
+ return JSON.stringify(this.successfulResult);
284
+ },
243
285
  create_ble_backend: (args) => {
244
286
  this.callsToCreateBle.push(args);
245
287
  return JSON.stringify(this.successfulResult);
@@ -283,6 +325,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
283
325
  };
284
326
  }
285
327
  static resetCallsToFakeBindings() {
328
+ this.callsToDiscoverBle.length = 0;
286
329
  this.callsToCreateBle.length = 0;
287
330
  this.callsToStartBle.length = 0;
288
331
  this.callsToStopBle.length = 0;
@@ -382,6 +425,9 @@ __decorate([
382
425
  __decorate([
383
426
  test()
384
427
  ], LibndxAdapterTest, "registersOnRssiProtoBeforeLoadingBindings", null);
428
+ __decorate([
429
+ test()
430
+ ], LibndxAdapterTest, "registersOnDiscoveredProtoBeforeLoadingBindings", null);
385
431
  __decorate([
386
432
  test()
387
433
  ], LibndxAdapterTest, "onConnectedReceivesPeripheral", null);
@@ -391,6 +437,15 @@ __decorate([
391
437
  __decorate([
392
438
  test()
393
439
  ], LibndxAdapterTest, "canSetInstance", null);
440
+ __decorate([
441
+ test()
442
+ ], LibndxAdapterTest, "discoverBleUuidCallsBindingWithExpectedArgs", null);
443
+ __decorate([
444
+ test()
445
+ ], LibndxAdapterTest, "discoverBleUuidReturnsJson", null);
446
+ __decorate([
447
+ test()
448
+ ], LibndxAdapterTest, "discoverBleUuidInvokesOnDiscoveredWithUuid", null);
394
449
  __decorate([
395
450
  test()
396
451
  ], LibndxAdapterTest, "createBleBackendCallsBindingWithExpectedArgs", null);
@@ -1 +1 @@
1
- {"version":3,"file":"LibndxAdapter.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LibndxAdapter.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LibndxAdapter.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LibndxAdapter.test.ts"],"names":[],"mappings":"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"}
@@ -8,12 +8,9 @@ export default class LibndxAdapter implements Libndx {
8
8
  static koffiPointer: typeof koffi.pointer;
9
9
  private static charCallbackProto?;
10
10
  private static charCallbackStruct?;
11
+ private static onDiscoveredProto?;
11
12
  private static onConnectedProto?;
12
13
  private static onRssiProto?;
13
- private static getCharCallbackProto;
14
- private static getOnConnectedProto;
15
- private static getOnRssiProto;
16
- private static getCharCallbackStruct;
17
14
  private static instance?;
18
15
  private libndxPath;
19
16
  private bindings;
@@ -26,6 +23,7 @@ export default class LibndxAdapter implements Libndx {
26
23
  private tryToLoadBindings;
27
24
  private defineBindings;
28
25
  private throwFailedToLoadLibndx;
26
+ discoverBleUuid(options: DiscoverBleUuidOptions): any;
29
27
  createBleBackend(options: BleBackendOptions): any;
30
28
  startBleBackend(options: StartBleBackendOptions): any;
31
29
  writeBleCharacteristic(options: WriteBleCharacteristicOptions): any;
@@ -34,8 +32,14 @@ export default class LibndxAdapter implements Libndx {
34
32
  createFtdiBackend(options: FtdiBackendOptions): any;
35
33
  startFtdiBackend(options: FtdiBackendOptions): any;
36
34
  stopFtdiBackend(options: FtdiBackendOptions): any;
35
+ private static getCharCallbackProto;
36
+ private static getOnConnectedProto;
37
+ private static getOnRssiProto;
38
+ private static getOnDiscoveredProto;
39
+ private static getCharCallbackStruct;
37
40
  }
38
41
  export interface Libndx {
42
+ discoverBleUuid(options: DiscoverBleUuidOptions): NativeResult;
39
43
  createBleBackend(options: BleBackendOptions): NativeResult;
40
44
  startBleBackend(options: StartBleBackendOptions): NativeResult;
41
45
  writeBleCharacteristic(options: WriteBleCharacteristicOptions): NativeResult;
@@ -49,6 +53,10 @@ export type LibndxConstructor = new (options?: LibndxAdapterOptions) => Libndx;
49
53
  export interface LibndxAdapterOptions {
50
54
  libndxPath?: string;
51
55
  }
56
+ export interface DiscoverBleUuidOptions {
57
+ namePrefix: string;
58
+ onDiscovered: (uuid: string) => void;
59
+ }
52
60
  export interface BleBackendOptions {
53
61
  deviceUuid: string;
54
62
  }
@@ -68,12 +76,13 @@ export interface WriteBleCharacteristicOptions {
68
76
  export interface CharacteristicCallback {
69
77
  charUuid: string;
70
78
  charName?: string;
71
- onData: (data: Buffer, length: number, timestamp: number) => void;
79
+ onData: (data: Buffer, length: number, timestampSec: number) => void;
72
80
  }
73
81
  export interface FtdiBackendOptions {
74
82
  serialNumber: string;
75
83
  }
76
84
  export interface LibndxBindings {
85
+ discover_ble_uuid(args: [string, unknown]): string;
77
86
  create_ble_backend(args: [string]): string;
78
87
  start_ble_backend(args: [string, unknown, unknown, number]): string;
79
88
  write_ble_characteristic(args: [string, string, string]): string;
@@ -8,37 +8,9 @@ export default class LibndxAdapter {
8
8
  static koffiPointer = koffi.pointer.bind(koffi);
9
9
  static charCallbackProto;
10
10
  static charCallbackStruct;
11
+ static onDiscoveredProto;
11
12
  static onConnectedProto;
12
13
  static onRssiProto;
13
- static getCharCallbackProto() {
14
- if (!this.charCallbackProto) {
15
- this.charCallbackProto = LibndxAdapter.koffiProto('void CharCallbackFn(uint8 *data, int length, double timestamp)');
16
- }
17
- return this.charCallbackProto;
18
- }
19
- static getOnConnectedProto() {
20
- if (!this.onConnectedProto) {
21
- this.onConnectedProto = LibndxAdapter.koffiProto('void OnConnectedFn(str uuid, str name)');
22
- }
23
- return this.onConnectedProto;
24
- }
25
- static getOnRssiProto() {
26
- if (!this.onRssiProto) {
27
- this.onRssiProto = LibndxAdapter.koffiProto('void OnRssiFn(int rssi)');
28
- }
29
- return this.onRssiProto;
30
- }
31
- static getCharCallbackStruct() {
32
- if (!this.charCallbackStruct) {
33
- this.getCharCallbackProto();
34
- this.charCallbackStruct = LibndxAdapter.koffiStruct('CharCallback', {
35
- charUuid: 'str',
36
- charName: 'str',
37
- onData: LibndxAdapter.koffiPointer(this.charCallbackProto),
38
- });
39
- }
40
- return this.charCallbackStruct;
41
- }
42
14
  static instance;
43
15
  libndxPath;
44
16
  bindings;
@@ -63,6 +35,7 @@ export default class LibndxAdapter {
63
35
  static resetKoffiCache() {
64
36
  delete this.charCallbackProto;
65
37
  delete this.charCallbackStruct;
38
+ delete this.onDiscoveredProto;
66
39
  delete this.onConnectedProto;
67
40
  delete this.onRssiProto;
68
41
  }
@@ -75,15 +48,18 @@ export default class LibndxAdapter {
75
48
  }
76
49
  }
77
50
  defineBindings() {
51
+ LibndxAdapter.getCharCallbackStruct();
52
+ LibndxAdapter.getOnDiscoveredProto();
78
53
  LibndxAdapter.getOnConnectedProto();
79
54
  LibndxAdapter.getOnRssiProto();
80
- LibndxAdapter.getCharCallbackStruct();
81
55
  const lib = LibndxAdapter.koffiLoad(this.libndxPath);
82
56
  const wrap1 = (f) => (args) => f(args[0]);
83
57
  const wrap3 = (f) => (args) => f(args[0], args[1], args[2]);
84
58
  const wrapStartBle = (f) => (args) => f(args[0], args[1], args[2], args[3]);
85
59
  const wrapSetBleRssiInterval = (f) => (args) => f(args[0], args[1], args[2]);
60
+ const wrapDiscoverBleUuid = (f) => (args) => f(args[0], args[1]);
86
61
  this.bindings = {
62
+ discover_ble_uuid: wrapDiscoverBleUuid(lib.func('str discover_ble_uuid(str name_prefix, OnDiscoveredFn *on_discovered)')),
87
63
  create_ble_backend: wrap1(lib.func('str create_ble_backend(str config)')),
88
64
  start_ble_backend: wrapStartBle(lib.func('str start_ble_backend(str uuid, OnConnectedFn *on_connected, CharCallback *callbacks, int num_callbacks)')),
89
65
  write_ble_characteristic: wrap3(lib.func('str write_ble_characteristic(str uuid, str charUuid, str value)')),
@@ -115,6 +91,14 @@ export default class LibndxAdapter {
115
91
  \n
116
92
  `.replace(/\s+/g, ''));
117
93
  }
94
+ discoverBleUuid(options) {
95
+ const { namePrefix, onDiscovered } = options;
96
+ const registeredOnDiscovered = LibndxAdapter.koffiRegister(onDiscovered, LibndxAdapter.koffiPointer(LibndxAdapter.getOnDiscoveredProto()));
97
+ return JSON.parse(this.bindings.discover_ble_uuid([
98
+ namePrefix,
99
+ registeredOnDiscovered,
100
+ ]));
101
+ }
118
102
  createBleBackend(options) {
119
103
  const { deviceUuid } = options;
120
104
  const configJson = JSON.stringify({ uuid: deviceUuid });
@@ -169,5 +153,40 @@ export default class LibndxAdapter {
169
153
  const { serialNumber } = options;
170
154
  return JSON.parse(this.bindings.stop_ftdi_backend([serialNumber]));
171
155
  }
156
+ static getCharCallbackProto() {
157
+ if (!this.charCallbackProto) {
158
+ this.charCallbackProto = LibndxAdapter.koffiProto('void CharCallbackFn(uint8 *data, int length, double timestamp_sec)');
159
+ }
160
+ return this.charCallbackProto;
161
+ }
162
+ static getOnConnectedProto() {
163
+ if (!this.onConnectedProto) {
164
+ this.onConnectedProto = LibndxAdapter.koffiProto('void OnConnectedFn(str uuid, str name)');
165
+ }
166
+ return this.onConnectedProto;
167
+ }
168
+ static getOnRssiProto() {
169
+ if (!this.onRssiProto) {
170
+ this.onRssiProto = LibndxAdapter.koffiProto('void OnRssiFn(int rssi)');
171
+ }
172
+ return this.onRssiProto;
173
+ }
174
+ static getOnDiscoveredProto() {
175
+ if (!this.onDiscoveredProto) {
176
+ this.onDiscoveredProto = LibndxAdapter.koffiProto('void OnDiscoveredFn(str uuid)');
177
+ }
178
+ return this.onDiscoveredProto;
179
+ }
180
+ static getCharCallbackStruct() {
181
+ if (!this.charCallbackStruct) {
182
+ this.getCharCallbackProto();
183
+ this.charCallbackStruct = LibndxAdapter.koffiStruct('CharCallback', {
184
+ charUuid: 'str',
185
+ charName: 'str',
186
+ onData: LibndxAdapter.koffiPointer(this.charCallbackProto),
187
+ });
188
+ }
189
+ return this.charCallbackStruct;
190
+ }
172
191
  }
173
192
  //# sourceMappingURL=LibndxAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LibndxAdapter.js","sourceRoot":"","sources":["../../src/impl/LibndxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,CAAC,OAAO,OAAO,aAAa;IACvB,MAAM,CAAC,KAAK,CAAoB;IAChC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACzC,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjD,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,CAAC,YAAY,GAAyB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAEpE,MAAM,CAAC,iBAAiB,CAAiC;IACzD,MAAM,CAAC,kBAAkB,CAAkC;IAC3D,MAAM,CAAC,gBAAgB,CAAiC;IACxD,MAAM,CAAC,WAAW,CAAiC;IAEnD,MAAM,CAAC,oBAAoB;QAC/B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1B,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,UAAU,CAC7C,gEAAgE,CACnE,CAAA;QACL,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAA;IACjC,CAAC;IAEO,MAAM,CAAC,mBAAmB;QAC9B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzB,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC,UAAU,CAC5C,wCAAwC,CAC3C,CAAA;QACL,CAAC;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAChC,CAAC;IAEO,MAAM,CAAC,cAAc;QACzB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,UAAU,CACvC,yBAAyB,CAC5B,CAAA;QACL,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAA;IAC3B,CAAC;IAEO,MAAM,CAAC,qBAAqB;QAChC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAA;YAC3B,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,WAAW,CAC/C,cAAc,EACd;gBACI,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAkB,CAAC;aAC9D,CACJ,CAAA;QACL,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAA;IAClC,CAAC;IAEO,MAAM,CAAC,QAAQ,CAAS;IAExB,UAAU,CAAQ;IAClB,QAAQ,CAAiB;IACzB,mBAAmB,GAAc,EAAE,CAAA;IAE3C,YAAsB,OAA8B;QAChD,MAAM,EAAE,UAAU,GAAG,6BAA6B,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QAEpE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAE5B,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC5B,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,OAA8B;QACpD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;QACvC,CAAC;QACD,OAAO,IAAI,CAAC,QAAS,CAAA;IACzB,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,QAAgB;QACtC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC5B,CAAC;IAEM,MAAM,CAAC,aAAa;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAA;IACxB,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAA;QAC7B,OAAO,IAAI,CAAC,kBAAkB,CAAA;QAC9B,OAAO,IAAI,CAAC,gBAAgB,CAAA;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAA;IAC3B,CAAC;IAEO,iBAAiB;QACrB,IAAI,CAAC;YACD,IAAI,CAAC,cAAc,EAAE,CAAA;QACzB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,IAAI,CAAC,uBAAuB,CAAC,GAAY,CAAC,CAAA;QAC9C,CAAC;IACL,CAAC;IAEO,cAAc;QAClB,aAAa,CAAC,mBAAmB,EAAE,CAAA;QACnC,aAAa,CAAC,cAAc,EAAE,CAAA;QAC9B,aAAa,CAAC,qBAAqB,EAAE,CAAA;QACrC,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAEpD,MAAM,KAAK,GAAG,CAAC,CAAwB,EAAE,EAAE,CAAC,CAAC,IAAc,EAAE,EAAE,CAC3D,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAEd,MAAM,KAAK,GACP,CAAC,CAA8C,EAAE,EAAE,CACnD,CAAC,IAA8B,EAAE,EAAE,CAC/B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAEpC,MAAM,YAAY,GACd,CAAC,CAA2D,EAAE,EAAE,CAChE,CAAC,IAAwC,EAAE,EAAE,CACzC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAE7C,MAAM,sBAAsB,GACxB,CAAC,CAA+C,EAAE,EAAE,CACpD,CAAC,IAA+B,EAAE,EAAE,CAChC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAEpC,IAAI,CAAC,QAAQ,GAAG;YACZ,kBAAkB,EAAE,KAAK,CACrB,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CACjD;YACD,iBAAiB,EAAE,YAAY,CAC3B,GAAG,CAAC,IAAI,CACJ,0GAA0G,CAC7G,CACJ;YACD,wBAAwB,EAAE,KAAK,CAC3B,GAAG,CAAC,IAAI,CACJ,iEAAiE,CACpE,CACJ;YACD,qBAAqB,EAAE,sBAAsB,CACzC,GAAG,CAAC,IAAI,CACJ,yEAAyE,CAC5E,CACJ;YACD,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YACnE,mBAAmB,EAAE,KAAK,CACtB,GAAG,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAClD;YACD,kBAAkB,EAAE,KAAK,CACrB,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CACjD;YACD,iBAAiB,EAAE,KAAK,CACpB,GAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAChD;SACJ,CAAA;IACL,CAAC;IAEO,uBAAuB,CAAC,GAAU;QACtC,MAAM,IAAI,KAAK,CACX;;;qBAGS,IAAI,CAAC,UAAU;;;;;;;;;;;;;iCAaH,GAAG,CAAC,OAAO;;SAEnC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CACpB,CAAA;IACL,CAAC;IAEM,gBAAgB,CAAC,OAA0B;QAC9C,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;QAEvD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IACrE,CAAC;IAEM,eAAe,CAAC,OAA+B;QAClD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,OAAO,CAAA;QAE1D,MAAM,qBAAqB,GAAG,aAAa,CAAC,aAAa,CACrD,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAC3D,aAAa,CAAC,YAAY,CAAC,aAAa,CAAC,mBAAmB,EAAG,CAAC,CACnE,CAAA;QAED,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC,GAAG,CACxC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACjC,QAAQ;YACR,QAAQ;YACR,MAAM,EAAE,aAAa,CAAC,aAAa,CAC/B,MAAM,EACN,aAAa,CAAC,YAAY,CACtB,aAAa,CAAC,oBAAoB,EAAG,CACxC,CACJ;SACJ,CAAC,CACL,CAAA;QAED,OAAO,IAAI,CAAC,KAAK,CACb,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC5B,UAAU;YACV,qBAAqB;YACrB,IAAI,CAAC,mBAAmB;YACxB,IAAI,CAAC,mBAAmB,CAAC,MAAM;SAClC,CAAC,CACL,CAAA;IACL,CAAC;IAEM,sBAAsB,CAAC,OAAsC;QAChE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;QAEnE,OAAO,IAAI,CAAC,KAAK,CACb,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACnC,UAAU;YACV,kBAAkB;YAClB,KAAK;SACR,CAAC,CACL,CAAA;IACL,CAAC;IAEM,kBAAkB,CAAC,OAAuB;QAC7C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAElD,MAAM,gBAAgB,GAAG,aAAa,CAAC,aAAa,CAChD,MAAM,EACN,aAAa,CAAC,YAAY,CAAC,aAAa,CAAC,cAAc,EAAG,CAAC,CAC9D,CAAA;QAED,OAAO,IAAI,CAAC,KAAK,CACb,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAChC,UAAU;YACV,UAAU;YACV,gBAAgB;SACnB,CAAC,CACL,CAAA;IACL,CAAC;IAEM,cAAc,CAAC,OAA0B;QAC5C,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IACnE,CAAC;IAEM,iBAAiB,CAAC,OAA2B;QAChD,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAA;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC,CAAA;QAEnD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IACtE,CAAC;IAEM,gBAAgB,CAAC,OAA2B;QAC/C,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAA;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACvE,CAAC;IAEM,eAAe,CAAC,OAA2B;QAC9C,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAA;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACtE,CAAC"}
1
+ {"version":3,"file":"LibndxAdapter.js","sourceRoot":"","sources":["../../src/impl/LibndxAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { BleBackendOptions, WriteBleCharacteristicOptions, FtdiBackendOptions, Libndx, LibndxAdapterOptions, StartBleBackendOptions, NativeResult, BleRssiOptions } from '../../impl/LibndxAdapter.js';
1
+ import { BleBackendOptions, WriteBleCharacteristicOptions, FtdiBackendOptions, Libndx, LibndxAdapterOptions, StartBleBackendOptions, NativeResult, BleRssiOptions, DiscoverBleUuidOptions } from '../../impl/LibndxAdapter.js';
2
2
  export default class FakeLibndx implements Libndx {
3
3
  static callsToConstructor: (LibndxAdapterOptions | undefined)[];
4
+ static callsToDiscoverBleUuid: DiscoverBleUuidOptions[];
4
5
  static callsToCreateBleBackend: BleBackendOptions[];
5
6
  static callsToStartBleBackend: StartBleBackendOptions[];
6
7
  static callsToWriteBleCharacteristic: WriteBleCharacteristicOptions[];
@@ -11,6 +12,7 @@ export default class FakeLibndx implements Libndx {
11
12
  static callsToStopFtdiBackend: FtdiBackendOptions[];
12
13
  static fakeResult: NativeResult;
13
14
  constructor(options?: LibndxAdapterOptions);
15
+ discoverBleUuid(options: DiscoverBleUuidOptions): NativeResult;
14
16
  createBleBackend(options: BleBackendOptions): NativeResult;
15
17
  startBleBackend(options: StartBleBackendOptions): NativeResult;
16
18
  writeBleCharacteristic(options: WriteBleCharacteristicOptions): NativeResult;
@@ -1,5 +1,6 @@
1
1
  export default class FakeLibndx {
2
2
  static callsToConstructor = [];
3
+ static callsToDiscoverBleUuid = [];
3
4
  static callsToCreateBleBackend = [];
4
5
  static callsToStartBleBackend = [];
5
6
  static callsToWriteBleCharacteristic = [];
@@ -12,6 +13,10 @@ export default class FakeLibndx {
12
13
  constructor(options) {
13
14
  FakeLibndx.callsToConstructor.push(options);
14
15
  }
16
+ discoverBleUuid(options) {
17
+ FakeLibndx.callsToDiscoverBleUuid.push(options);
18
+ return FakeLibndx.fakeResult;
19
+ }
15
20
  createBleBackend(options) {
16
21
  FakeLibndx.callsToCreateBleBackend.push(options);
17
22
  return FakeLibndx.fakeResult;
@@ -46,6 +51,7 @@ export default class FakeLibndx {
46
51
  }
47
52
  static resetTestDouble() {
48
53
  FakeLibndx.callsToConstructor = [];
54
+ FakeLibndx.callsToDiscoverBleUuid = [];
49
55
  FakeLibndx.callsToCreateBleBackend = [];
50
56
  FakeLibndx.callsToStartBleBackend = [];
51
57
  FakeLibndx.callsToWriteBleCharacteristic = [];
@@ -1 +1 @@
1
- {"version":3,"file":"FakeLibndx.js","sourceRoot":"","sources":["../../../src/testDoubles/Libndx/FakeLibndx.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,OAAO,OAAO,UAAU;IACpB,MAAM,CAAC,kBAAkB,GAAyC,EAAE,CAAA;IACpE,MAAM,CAAC,uBAAuB,GAAwB,EAAE,CAAA;IACxD,MAAM,CAAC,sBAAsB,GAA6B,EAAE,CAAA;IAC5D,MAAM,CAAC,6BAA6B,GACvC,EAAE,CAAA;IACC,MAAM,CAAC,qBAAqB,GAAwB,EAAE,CAAA;IACtD,MAAM,CAAC,yBAAyB,GAAqB,EAAE,CAAA;IACvD,MAAM,CAAC,wBAAwB,GAAyB,EAAE,CAAA;IAC1D,MAAM,CAAC,uBAAuB,GAAyB,EAAE,CAAA;IACzD,MAAM,CAAC,sBAAsB,GAAyB,EAAE,CAAA;IAExD,MAAM,CAAC,UAAU,GAAiB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;IAExD,YAAmB,OAA8B;QAC7C,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;IAEM,gBAAgB,CAAC,OAA0B;QAC9C,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAChD,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IAEM,eAAe,CAAC,OAA+B;QAClD,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC/C,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IAEM,sBAAsB,CAAC,OAAsC;QAChE,UAAU,CAAC,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtD,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IAEM,kBAAkB,CAAC,OAAuB;QAC7C,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClD,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IAEM,cAAc,CAAC,OAA0B;QAC5C,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9C,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IAEM,iBAAiB,CAAC,OAA2B;QAChD,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACjD,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IAEM,gBAAgB,CAAC,OAA2B;QAC/C,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAChD,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IAEM,eAAe,CAAC,OAA2B;QAC9C,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC/C,OAAO,UAAU,CAAC,UAAU,CAAA;IAChC,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,UAAU,CAAC,kBAAkB,GAAG,EAAE,CAAA;QAClC,UAAU,CAAC,uBAAuB,GAAG,EAAE,CAAA;QACvC,UAAU,CAAC,sBAAsB,GAAG,EAAE,CAAA;QACtC,UAAU,CAAC,6BAA6B,GAAG,EAAE,CAAA;QAC7C,UAAU,CAAC,qBAAqB,GAAG,EAAE,CAAA;QACrC,UAAU,CAAC,yBAAyB,GAAG,EAAE,CAAA;QACzC,UAAU,CAAC,wBAAwB,GAAG,EAAE,CAAA;QACxC,UAAU,CAAC,uBAAuB,GAAG,EAAE,CAAA;QACvC,UAAU,CAAC,sBAAsB,GAAG,EAAE,CAAA;IAC1C,CAAC"}
1
+ {"version":3,"file":"FakeLibndx.js","sourceRoot":"","sources":["../../../src/testDoubles/Libndx/FakeLibndx.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurodevs/ndx-native",
3
- "version": "6.0.2",
3
+ "version": "6.1.1",
4
4
  "description": "Native Node.js adapters for LSL, XDF, and LabRecorder",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -31,12 +31,22 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
31
31
  {
32
32
  charUuid: this.generateId(),
33
33
  charName: this.generateId(),
34
- onData: (_data: Buffer, _length: number, _timestamp: number) => {},
34
+ onData: (
35
+ _data: Buffer,
36
+ _length: number,
37
+ _timestampSec: number
38
+ ) => {},
35
39
  },
36
40
  ]
37
41
 
38
42
  private static readonly successfulResult = { status: 200 }
39
43
 
44
+ private static readonly bleNamePrefix = this.generateId()
45
+
46
+ private static readonly callsToDiscoverBle: {
47
+ namePrefix: string
48
+ onDiscovered: unknown
49
+ }[] = []
40
50
  private static readonly callsToCreateBle: string[][] = []
41
51
  private static readonly callsToStartBle: {
42
52
  uuid: string
@@ -101,6 +111,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
101
111
  assert.isEqualDeep(
102
112
  this.koffiFuncSignatures,
103
113
  [
114
+ 'str discover_ble_uuid(str name_prefix, OnDiscoveredFn *on_discovered)',
104
115
  'str create_ble_backend(str config)',
105
116
  'str start_ble_backend(str uuid, OnConnectedFn *on_connected, CharCallback *callbacks, int num_callbacks)',
106
117
  'str write_ble_characteristic(str uuid, str charUuid, str value)',
@@ -152,6 +163,26 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
152
163
  )
153
164
  }
154
165
 
166
+ @test()
167
+ protected static async registersOnDiscoveredProtoBeforeLoadingBindings() {
168
+ const onDiscoveredProtoIdx = this.koffiProtoCalls!.findIndex((s) =>
169
+ s.includes('OnDiscoveredFn')
170
+ )
171
+ const firstFuncIdx = this.koffiFuncSignatures!.findIndex((s) =>
172
+ s.includes('OnDiscoveredFn')
173
+ )
174
+ assert.isAbove(
175
+ onDiscoveredProtoIdx,
176
+ -1,
177
+ 'Did not register OnDiscoveredFn proto before loading bindings!'
178
+ )
179
+ assert.isBelow(
180
+ onDiscoveredProtoIdx,
181
+ firstFuncIdx + this.koffiProtoCalls!.length,
182
+ 'OnDiscoveredFn proto must be registered before bindings are loaded!'
183
+ )
184
+ }
185
+
155
186
  @test()
156
187
  protected static async onConnectedReceivesPeripheral() {
157
188
  let received: NativePeripheral | undefined = undefined
@@ -187,6 +218,53 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
187
218
  assert.isEqual(LibndxAdapter.getInstance(), fake)
188
219
  }
189
220
 
221
+ @test()
222
+ protected static async discoverBleUuidCallsBindingWithExpectedArgs() {
223
+ this.discoverBleUuid()
224
+
225
+ assert.isEqual(
226
+ this.callsToDiscoverBle[0].namePrefix,
227
+ this.bleNamePrefix,
228
+ 'discoverBleUuid did not pass expected namePrefix to binding!'
229
+ )
230
+
231
+ assert.isFunction(
232
+ this.callsToDiscoverBle[0].onDiscovered,
233
+ 'discoverBleUuid did not pass an onDiscovered callback to the binding!'
234
+ )
235
+ }
236
+
237
+ @test()
238
+ protected static async discoverBleUuidReturnsJson() {
239
+ const json = this.discoverBleUuid()
240
+
241
+ assert.isEqualDeep(
242
+ json,
243
+ this.successfulResult,
244
+ 'discoverBleUuid did not return a JSON string!'
245
+ )
246
+ }
247
+
248
+ @test()
249
+ protected static async discoverBleUuidInvokesOnDiscoveredWithUuid() {
250
+ let received: string | undefined
251
+
252
+ this.discoverBleUuid((uuid: string) => {
253
+ received = uuid
254
+ })
255
+
256
+ const discoveredUuid = this.generateId()
257
+ const registeredOnDiscovered = this.callsToDiscoverBle[0]
258
+ .onDiscovered as (uuid: string) => void
259
+ registeredOnDiscovered(discoveredUuid)
260
+
261
+ assert.isEqual(
262
+ received,
263
+ discoveredUuid,
264
+ 'onDiscovered was not invoked with discovered uuid!'
265
+ )
266
+ }
267
+
190
268
  @test()
191
269
  protected static async createBleBackendCallsBindingWithExpectedArgs() {
192
270
  this.createBleBackend()
@@ -401,6 +479,13 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
401
479
  )
402
480
  }
403
481
 
482
+ private static discoverBleUuid(onDiscovered?: (uuid: string) => void) {
483
+ return this.instance.discoverBleUuid({
484
+ namePrefix: this.bleNamePrefix,
485
+ onDiscovered: onDiscovered ?? (() => {}),
486
+ })
487
+ }
488
+
404
489
  private static createBleBackend() {
405
490
  return this.instance.createBleBackend({
406
491
  deviceUuid: this.bleDeviceUuid,
@@ -459,6 +544,13 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
459
544
 
460
545
  private static FakeBindings(): LibndxBindings {
461
546
  return {
547
+ discover_ble_uuid: (args: any) => {
548
+ this.callsToDiscoverBle.push({
549
+ namePrefix: args[0],
550
+ onDiscovered: args[1],
551
+ })
552
+ return JSON.stringify(this.successfulResult)
553
+ },
462
554
  create_ble_backend: (args) => {
463
555
  this.callsToCreateBle.push(args)
464
556
  return JSON.stringify(this.successfulResult)
@@ -503,6 +595,7 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
503
595
  }
504
596
 
505
597
  private static resetCallsToFakeBindings() {
598
+ this.callsToDiscoverBle.length = 0
506
599
  this.callsToCreateBle.length = 0
507
600
  this.callsToStartBle.length = 0
508
601
  this.callsToStopBle.length = 0
@@ -10,51 +10,10 @@ export default class LibndxAdapter implements Libndx {
10
10
 
11
11
  private static charCallbackProto?: ReturnType<typeof koffi.proto>
12
12
  private static charCallbackStruct?: ReturnType<typeof koffi.struct>
13
+ private static onDiscoveredProto?: ReturnType<typeof koffi.proto>
13
14
  private static onConnectedProto?: ReturnType<typeof koffi.proto>
14
15
  private static onRssiProto?: ReturnType<typeof koffi.proto>
15
16
 
16
- private static getCharCallbackProto() {
17
- if (!this.charCallbackProto) {
18
- this.charCallbackProto = LibndxAdapter.koffiProto(
19
- 'void CharCallbackFn(uint8 *data, int length, double timestamp)'
20
- )
21
- }
22
- return this.charCallbackProto
23
- }
24
-
25
- private static getOnConnectedProto() {
26
- if (!this.onConnectedProto) {
27
- this.onConnectedProto = LibndxAdapter.koffiProto(
28
- 'void OnConnectedFn(str uuid, str name)'
29
- )
30
- }
31
- return this.onConnectedProto
32
- }
33
-
34
- private static getOnRssiProto() {
35
- if (!this.onRssiProto) {
36
- this.onRssiProto = LibndxAdapter.koffiProto(
37
- 'void OnRssiFn(int rssi)'
38
- )
39
- }
40
- return this.onRssiProto
41
- }
42
-
43
- private static getCharCallbackStruct() {
44
- if (!this.charCallbackStruct) {
45
- this.getCharCallbackProto()
46
- this.charCallbackStruct = LibndxAdapter.koffiStruct(
47
- 'CharCallback',
48
- {
49
- charUuid: 'str',
50
- charName: 'str',
51
- onData: LibndxAdapter.koffiPointer(this.charCallbackProto!),
52
- }
53
- )
54
- }
55
- return this.charCallbackStruct
56
- }
57
-
58
17
  private static instance?: Libndx
59
18
 
60
19
  private libndxPath: string
@@ -87,6 +46,7 @@ export default class LibndxAdapter implements Libndx {
87
46
  public static resetKoffiCache() {
88
47
  delete this.charCallbackProto
89
48
  delete this.charCallbackStruct
49
+ delete this.onDiscoveredProto
90
50
  delete this.onConnectedProto
91
51
  delete this.onRssiProto
92
52
  }
@@ -100,9 +60,10 @@ export default class LibndxAdapter implements Libndx {
100
60
  }
101
61
 
102
62
  private defineBindings() {
63
+ LibndxAdapter.getCharCallbackStruct()
64
+ LibndxAdapter.getOnDiscoveredProto()
103
65
  LibndxAdapter.getOnConnectedProto()
104
66
  LibndxAdapter.getOnRssiProto()
105
- LibndxAdapter.getCharCallbackStruct()
106
67
  const lib = LibndxAdapter.koffiLoad(this.libndxPath)
107
68
 
108
69
  const wrap1 = (f: (a: string) => string) => (args: [string]) =>
@@ -123,7 +84,17 @@ export default class LibndxAdapter implements Libndx {
123
84
  (args: [string, number, unknown]) =>
124
85
  f(args[0], args[1], args[2])
125
86
 
87
+ const wrapDiscoverBleUuid =
88
+ (f: (a: string, b: unknown) => string) =>
89
+ (args: [string, unknown]) =>
90
+ f(args[0], args[1])
91
+
126
92
  this.bindings = {
93
+ discover_ble_uuid: wrapDiscoverBleUuid(
94
+ lib.func(
95
+ 'str discover_ble_uuid(str name_prefix, OnDiscoveredFn *on_discovered)'
96
+ )
97
+ ),
127
98
  create_ble_backend: wrap1(
128
99
  lib.func('str create_ble_backend(str config)')
129
100
  ),
@@ -179,6 +150,22 @@ export default class LibndxAdapter implements Libndx {
179
150
  )
180
151
  }
181
152
 
153
+ public discoverBleUuid(options: DiscoverBleUuidOptions) {
154
+ const { namePrefix, onDiscovered } = options
155
+
156
+ const registeredOnDiscovered = LibndxAdapter.koffiRegister(
157
+ onDiscovered,
158
+ LibndxAdapter.koffiPointer(LibndxAdapter.getOnDiscoveredProto()!)
159
+ )
160
+
161
+ return JSON.parse(
162
+ this.bindings.discover_ble_uuid([
163
+ namePrefix,
164
+ registeredOnDiscovered,
165
+ ])
166
+ )
167
+ }
168
+
182
169
  public createBleBackend(options: BleBackendOptions) {
183
170
  const { deviceUuid } = options
184
171
  const configJson = JSON.stringify({ uuid: deviceUuid })
@@ -267,9 +254,61 @@ export default class LibndxAdapter implements Libndx {
267
254
  const { serialNumber } = options
268
255
  return JSON.parse(this.bindings.stop_ftdi_backend([serialNumber]))
269
256
  }
257
+
258
+ private static getCharCallbackProto() {
259
+ if (!this.charCallbackProto) {
260
+ this.charCallbackProto = LibndxAdapter.koffiProto(
261
+ 'void CharCallbackFn(uint8 *data, int length, double timestamp_sec)'
262
+ )
263
+ }
264
+ return this.charCallbackProto
265
+ }
266
+
267
+ private static getOnConnectedProto() {
268
+ if (!this.onConnectedProto) {
269
+ this.onConnectedProto = LibndxAdapter.koffiProto(
270
+ 'void OnConnectedFn(str uuid, str name)'
271
+ )
272
+ }
273
+ return this.onConnectedProto
274
+ }
275
+
276
+ private static getOnRssiProto() {
277
+ if (!this.onRssiProto) {
278
+ this.onRssiProto = LibndxAdapter.koffiProto(
279
+ 'void OnRssiFn(int rssi)'
280
+ )
281
+ }
282
+ return this.onRssiProto
283
+ }
284
+
285
+ private static getOnDiscoveredProto() {
286
+ if (!this.onDiscoveredProto) {
287
+ this.onDiscoveredProto = LibndxAdapter.koffiProto(
288
+ 'void OnDiscoveredFn(str uuid)'
289
+ )
290
+ }
291
+ return this.onDiscoveredProto
292
+ }
293
+
294
+ private static getCharCallbackStruct() {
295
+ if (!this.charCallbackStruct) {
296
+ this.getCharCallbackProto()
297
+ this.charCallbackStruct = LibndxAdapter.koffiStruct(
298
+ 'CharCallback',
299
+ {
300
+ charUuid: 'str',
301
+ charName: 'str',
302
+ onData: LibndxAdapter.koffiPointer(this.charCallbackProto!),
303
+ }
304
+ )
305
+ }
306
+ return this.charCallbackStruct
307
+ }
270
308
  }
271
309
 
272
310
  export interface Libndx {
311
+ discoverBleUuid(options: DiscoverBleUuidOptions): NativeResult
273
312
  createBleBackend(options: BleBackendOptions): NativeResult
274
313
  startBleBackend(options: StartBleBackendOptions): NativeResult
275
314
  writeBleCharacteristic(options: WriteBleCharacteristicOptions): NativeResult
@@ -286,6 +325,11 @@ export interface LibndxAdapterOptions {
286
325
  libndxPath?: string
287
326
  }
288
327
 
328
+ export interface DiscoverBleUuidOptions {
329
+ namePrefix: string
330
+ onDiscovered: (uuid: string) => void
331
+ }
332
+
289
333
  export interface BleBackendOptions {
290
334
  deviceUuid: string
291
335
  }
@@ -309,7 +353,7 @@ export interface WriteBleCharacteristicOptions {
309
353
  export interface CharacteristicCallback {
310
354
  charUuid: string
311
355
  charName?: string
312
- onData: (data: Buffer, length: number, timestamp: number) => void
356
+ onData: (data: Buffer, length: number, timestampSec: number) => void
313
357
  }
314
358
 
315
359
  export interface FtdiBackendOptions {
@@ -317,6 +361,7 @@ export interface FtdiBackendOptions {
317
361
  }
318
362
 
319
363
  export interface LibndxBindings {
364
+ discover_ble_uuid(args: [string, unknown]): string
320
365
  create_ble_backend(args: [string]): string
321
366
  start_ble_backend(args: [string, unknown, unknown, number]): string
322
367
  write_ble_characteristic(args: [string, string, string]): string
@@ -7,10 +7,12 @@ import {
7
7
  StartBleBackendOptions,
8
8
  NativeResult,
9
9
  BleRssiOptions,
10
+ DiscoverBleUuidOptions,
10
11
  } from '../../impl/LibndxAdapter.js'
11
12
 
12
13
  export default class FakeLibndx implements Libndx {
13
14
  public static callsToConstructor: (LibndxAdapterOptions | undefined)[] = []
15
+ public static callsToDiscoverBleUuid: DiscoverBleUuidOptions[] = []
14
16
  public static callsToCreateBleBackend: BleBackendOptions[] = []
15
17
  public static callsToStartBleBackend: StartBleBackendOptions[] = []
16
18
  public static callsToWriteBleCharacteristic: WriteBleCharacteristicOptions[] =
@@ -27,6 +29,11 @@ export default class FakeLibndx implements Libndx {
27
29
  FakeLibndx.callsToConstructor.push(options)
28
30
  }
29
31
 
32
+ public discoverBleUuid(options: DiscoverBleUuidOptions) {
33
+ FakeLibndx.callsToDiscoverBleUuid.push(options)
34
+ return FakeLibndx.fakeResult
35
+ }
36
+
30
37
  public createBleBackend(options: BleBackendOptions) {
31
38
  FakeLibndx.callsToCreateBleBackend.push(options)
32
39
  return FakeLibndx.fakeResult
@@ -69,6 +76,7 @@ export default class FakeLibndx implements Libndx {
69
76
 
70
77
  public static resetTestDouble() {
71
78
  FakeLibndx.callsToConstructor = []
79
+ FakeLibndx.callsToDiscoverBleUuid = []
72
80
  FakeLibndx.callsToCreateBleBackend = []
73
81
  FakeLibndx.callsToStartBleBackend = []
74
82
  FakeLibndx.callsToWriteBleCharacteristic = []