@neurodevs/ndx-native 7.0.1 → 7.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.
@@ -11,6 +11,7 @@ export default class LibndxAdapter {
11
11
  static onDiscoveredProto;
12
12
  static onConnectedProto;
13
13
  static onRssiProto;
14
+ static onUsbDataProto;
14
15
  static instance;
15
16
  libndxPath;
16
17
  bindings;
@@ -38,6 +39,7 @@ export default class LibndxAdapter {
38
39
  delete this.onDiscoveredProto;
39
40
  delete this.onConnectedProto;
40
41
  delete this.onRssiProto;
42
+ delete this.onUsbDataProto;
41
43
  }
42
44
  tryToLoadBindings() {
43
45
  try {
@@ -52,22 +54,28 @@ export default class LibndxAdapter {
52
54
  LibndxAdapter.getOnDiscoveredProto();
53
55
  LibndxAdapter.getOnConnectedProto();
54
56
  LibndxAdapter.getOnRssiProto();
57
+ LibndxAdapter.getOnUsbDataProto();
55
58
  const lib = LibndxAdapter.koffiLoad(this.libndxPath);
56
59
  const wrap1 = (f) => (args) => f(args[0]);
60
+ const wrap2 = (f) => (args) => f(args[0], args[1]);
57
61
  const wrap3 = (f) => (args) => f(args[0], args[1], args[2]);
58
62
  const wrapStartBle = (f) => (args) => f(args[0], args[1], args[2], args[3]);
63
+ const wrapAddBleCharCallbacks = (f) => (args) => f(args[0], args[1], args[2]);
59
64
  const wrapSetBleRssiInterval = (f) => (args) => f(args[0], args[1], args[2]);
60
65
  const wrapDiscoverBleUuid = (f) => (args) => f(args[0], args[1]);
66
+ const wrapStartUsb = (f) => (args) => f(args[0], args[1]);
61
67
  this.bindings = {
62
68
  discover_ble_uuid: wrapDiscoverBleUuid(lib.func('str discover_ble_uuid(str name_prefix, OnDiscoveredFn *on_discovered)')),
63
69
  create_ble_backend: wrap1(lib.func('str create_ble_backend(str config)')),
64
70
  start_ble_backend: wrapStartBle(lib.func('str start_ble_backend(str uuid, OnConnectedFn *on_connected, CharCallback *callbacks, int num_callbacks)')),
71
+ add_ble_char_callbacks: wrapAddBleCharCallbacks(lib.func('str add_ble_char_callbacks(str uuid, CharCallback *callbacks, int num_callbacks)')),
65
72
  write_ble_characteristic: wrap3(lib.func('str write_ble_characteristic(str uuid, str charUuid, str value)')),
66
73
  set_ble_rssi_interval: wrapSetBleRssiInterval(lib.func('str set_ble_rssi_interval(str uuid, int interval_ms, OnRssiFn *on_rssi)')),
67
74
  stop_ble_backend: wrap1(lib.func('str stop_ble_backend(str uuid)')),
68
- create_ftdi_backend: wrap1(lib.func('str create_ftdi_backend(str config)')),
69
- start_ftdi_backend: wrap1(lib.func('str start_ftdi_backend(str serial)')),
70
- stop_ftdi_backend: wrap1(lib.func('str stop_ftdi_backend(str serial)')),
75
+ create_usb_backend: wrap1(lib.func('str create_usb_backend(str config)')),
76
+ start_usb_backend: wrapStartUsb(lib.func('str start_usb_backend(str serial, OnUsbDataFn *on_data)')),
77
+ write_usb_backend: wrap2(lib.func('str write_usb_backend(str serial, str value)')),
78
+ stop_usb_backend: wrap1(lib.func('str stop_usb_backend(str serial)')),
71
79
  };
72
80
  }
73
81
  throwFailedToLoadLibndx(err) {
@@ -119,6 +127,20 @@ export default class LibndxAdapter {
119
127
  this.registeredCallbacks.length,
120
128
  ]));
121
129
  }
130
+ addBleCharCallbacks(options) {
131
+ const { deviceUuid, charCallbacks } = options;
132
+ const registered = charCallbacks.map(({ charUuid, charName, onData }) => ({
133
+ charUuid,
134
+ charName,
135
+ onData: LibndxAdapter.koffiRegister(onData, LibndxAdapter.koffiPointer(LibndxAdapter.getCharCallbackProto())),
136
+ }));
137
+ this.registeredCallbacks.push(...registered);
138
+ return JSON.parse(this.bindings.add_ble_char_callbacks([
139
+ deviceUuid,
140
+ registered,
141
+ registered.length,
142
+ ]));
143
+ }
122
144
  writeBleCharacteristic(options) {
123
145
  const { deviceUuid, charUuid: characteristicUuid, value } = options;
124
146
  return JSON.parse(this.bindings.write_ble_characteristic([
@@ -140,18 +162,23 @@ export default class LibndxAdapter {
140
162
  const { deviceUuid } = options;
141
163
  return JSON.parse(this.bindings.stop_ble_backend([deviceUuid]));
142
164
  }
143
- createFtdiBackend(options) {
165
+ createUsbBackend(options) {
144
166
  const { serialNumber } = options;
145
167
  const configJson = JSON.stringify({ serial_number: serialNumber });
146
- return JSON.parse(this.bindings.create_ftdi_backend([configJson]));
168
+ return JSON.parse(this.bindings.create_usb_backend([configJson]));
147
169
  }
148
- startFtdiBackend(options) {
149
- const { serialNumber } = options;
150
- return JSON.parse(this.bindings.start_ftdi_backend([serialNumber]));
170
+ startUsbBackend(options) {
171
+ const { serialNumber, onData } = options;
172
+ const registeredOnData = LibndxAdapter.koffiRegister(onData ?? (() => { }), LibndxAdapter.koffiPointer(LibndxAdapter.getOnUsbDataProto()));
173
+ return JSON.parse(this.bindings.start_usb_backend([serialNumber, registeredOnData]));
174
+ }
175
+ writeUsbBackend(options) {
176
+ const { serialNumber, value } = options;
177
+ return JSON.parse(this.bindings.write_usb_backend([serialNumber, value]));
151
178
  }
152
- stopFtdiBackend(options) {
179
+ stopUsbBackend(options) {
153
180
  const { serialNumber } = options;
154
- return JSON.parse(this.bindings.stop_ftdi_backend([serialNumber]));
181
+ return JSON.parse(this.bindings.stop_usb_backend([serialNumber]));
155
182
  }
156
183
  static getCharCallbackProto() {
157
184
  if (!this.charCallbackProto) {
@@ -171,6 +198,12 @@ export default class LibndxAdapter {
171
198
  }
172
199
  return this.onRssiProto;
173
200
  }
201
+ static getOnUsbDataProto() {
202
+ if (!this.onUsbDataProto) {
203
+ this.onUsbDataProto = LibndxAdapter.koffiProto('void OnUsbDataFn(uint8 *data, int length, double timestamp_sec)');
204
+ }
205
+ return this.onUsbDataProto;
206
+ }
174
207
  static getOnDiscoveredProto() {
175
208
  if (!this.onDiscoveredProto) {
176
209
  this.onDiscoveredProto = LibndxAdapter.koffiProto('void OnDiscoveredFn(str uuid)');
@@ -1 +1 @@
1
- {"version":3,"file":"LibndxAdapter.js","sourceRoot":"","sources":["../../src/impl/LibndxAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LibndxAdapter.js","sourceRoot":"","sources":["../../src/impl/LibndxAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,29 @@
1
- import { BleBackendOptions, WriteBleCharacteristicOptions, FtdiBackendOptions, Libndx, LibndxAdapterOptions, StartBleBackendOptions, NativeResult, BleRssiOptions, DiscoverBleUuidOptions } from '../../impl/LibndxAdapter.js';
1
+ import { AddBleCharCallbacksOptions, BleBackendOptions, WriteBleCharacteristicOptions, UsbBackendOptions, WriteUsbBackendOptions, 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
4
  static callsToDiscoverBleUuid: DiscoverBleUuidOptions[];
5
5
  static callsToCreateBleBackend: BleBackendOptions[];
6
6
  static callsToStartBleBackend: StartBleBackendOptions[];
7
+ static callsToAddBleCharCallbacks: AddBleCharCallbacksOptions[];
7
8
  static callsToWriteBleCharacteristic: WriteBleCharacteristicOptions[];
8
9
  static callsToStopBleBackend: BleBackendOptions[];
9
10
  static callsToSetBleRssiInterval: BleRssiOptions[];
10
- static callsToCreateFtdiBackend: FtdiBackendOptions[];
11
- static callsToStartFtdiBackend: FtdiBackendOptions[];
12
- static callsToStopFtdiBackend: FtdiBackendOptions[];
11
+ static callsToCreateUsbBackend: UsbBackendOptions[];
12
+ static callsToStartUsbBackend: UsbBackendOptions[];
13
+ static callsToWriteUsbBackend: WriteUsbBackendOptions[];
14
+ static callsToStopUsbBackend: UsbBackendOptions[];
13
15
  static fakeResult: NativeResult;
14
16
  constructor(options?: LibndxAdapterOptions);
15
17
  discoverBleUuid(options: DiscoverBleUuidOptions): NativeResult;
16
18
  createBleBackend(options: BleBackendOptions): NativeResult;
17
19
  startBleBackend(options: StartBleBackendOptions): NativeResult;
20
+ addBleCharCallbacks(options: AddBleCharCallbacksOptions): NativeResult;
18
21
  writeBleCharacteristic(options: WriteBleCharacteristicOptions): NativeResult;
19
22
  setBleRssiInterval(options: BleRssiOptions): NativeResult;
20
23
  stopBleBackend(options: BleBackendOptions): NativeResult;
21
- createFtdiBackend(options: FtdiBackendOptions): NativeResult;
22
- startFtdiBackend(options: FtdiBackendOptions): NativeResult;
23
- stopFtdiBackend(options: FtdiBackendOptions): NativeResult;
24
+ createUsbBackend(options: UsbBackendOptions): NativeResult;
25
+ startUsbBackend(options: UsbBackendOptions): NativeResult;
26
+ writeUsbBackend(options: WriteUsbBackendOptions): NativeResult;
27
+ stopUsbBackend(options: UsbBackendOptions): NativeResult;
24
28
  static resetTestDouble(): void;
25
29
  }
@@ -3,12 +3,14 @@ export default class FakeLibndx {
3
3
  static callsToDiscoverBleUuid = [];
4
4
  static callsToCreateBleBackend = [];
5
5
  static callsToStartBleBackend = [];
6
+ static callsToAddBleCharCallbacks = [];
6
7
  static callsToWriteBleCharacteristic = [];
7
8
  static callsToStopBleBackend = [];
8
9
  static callsToSetBleRssiInterval = [];
9
- static callsToCreateFtdiBackend = [];
10
- static callsToStartFtdiBackend = [];
11
- static callsToStopFtdiBackend = [];
10
+ static callsToCreateUsbBackend = [];
11
+ static callsToStartUsbBackend = [];
12
+ static callsToWriteUsbBackend = [];
13
+ static callsToStopUsbBackend = [];
12
14
  static fakeResult = { status: 200 };
13
15
  constructor(options) {
14
16
  FakeLibndx.callsToConstructor.push(options);
@@ -25,6 +27,10 @@ export default class FakeLibndx {
25
27
  FakeLibndx.callsToStartBleBackend.push(options);
26
28
  return FakeLibndx.fakeResult;
27
29
  }
30
+ addBleCharCallbacks(options) {
31
+ FakeLibndx.callsToAddBleCharCallbacks.push(options);
32
+ return FakeLibndx.fakeResult;
33
+ }
28
34
  writeBleCharacteristic(options) {
29
35
  FakeLibndx.callsToWriteBleCharacteristic.push(options);
30
36
  return FakeLibndx.fakeResult;
@@ -37,16 +43,20 @@ export default class FakeLibndx {
37
43
  FakeLibndx.callsToStopBleBackend.push(options);
38
44
  return FakeLibndx.fakeResult;
39
45
  }
40
- createFtdiBackend(options) {
41
- FakeLibndx.callsToCreateFtdiBackend.push(options);
46
+ createUsbBackend(options) {
47
+ FakeLibndx.callsToCreateUsbBackend.push(options);
48
+ return FakeLibndx.fakeResult;
49
+ }
50
+ startUsbBackend(options) {
51
+ FakeLibndx.callsToStartUsbBackend.push(options);
42
52
  return FakeLibndx.fakeResult;
43
53
  }
44
- startFtdiBackend(options) {
45
- FakeLibndx.callsToStartFtdiBackend.push(options);
54
+ writeUsbBackend(options) {
55
+ FakeLibndx.callsToWriteUsbBackend.push(options);
46
56
  return FakeLibndx.fakeResult;
47
57
  }
48
- stopFtdiBackend(options) {
49
- FakeLibndx.callsToStopFtdiBackend.push(options);
58
+ stopUsbBackend(options) {
59
+ FakeLibndx.callsToStopUsbBackend.push(options);
50
60
  return FakeLibndx.fakeResult;
51
61
  }
52
62
  static resetTestDouble() {
@@ -54,12 +64,14 @@ export default class FakeLibndx {
54
64
  FakeLibndx.callsToDiscoverBleUuid = [];
55
65
  FakeLibndx.callsToCreateBleBackend = [];
56
66
  FakeLibndx.callsToStartBleBackend = [];
67
+ FakeLibndx.callsToAddBleCharCallbacks = [];
57
68
  FakeLibndx.callsToWriteBleCharacteristic = [];
58
69
  FakeLibndx.callsToStopBleBackend = [];
59
70
  FakeLibndx.callsToSetBleRssiInterval = [];
60
- FakeLibndx.callsToCreateFtdiBackend = [];
61
- FakeLibndx.callsToStartFtdiBackend = [];
62
- FakeLibndx.callsToStopFtdiBackend = [];
71
+ FakeLibndx.callsToCreateUsbBackend = [];
72
+ FakeLibndx.callsToStartUsbBackend = [];
73
+ FakeLibndx.callsToWriteUsbBackend = [];
74
+ FakeLibndx.callsToStopUsbBackend = [];
63
75
  }
64
76
  }
65
77
  //# sourceMappingURL=FakeLibndx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FakeLibndx.js","sourceRoot":"","sources":["../../../src/testDoubles/Libndx/FakeLibndx.ts"],"names":[],"mappings":"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"}
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": "7.0.1",
3
+ "version": "7.1.1",
4
4
  "description": "Native Node.js adapters for LSL, XDF, and LabRecorder",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -25,7 +25,8 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
25
25
  private static readonly bleValueToWrite = this.generateId()
26
26
  private static readonly bleRssiIntervalMs = Math.random()
27
27
 
28
- private static readonly ftdiSerialNumber = this.generateId()
28
+ private static readonly usbSerialNumber = this.generateId()
29
+ private static readonly usbValueToWrite = this.generateId()
29
30
 
30
31
  private static readonly charCallbacks = [
31
32
  {
@@ -53,6 +54,11 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
53
54
  onConnected: unknown
54
55
  charCallbacks: CharacteristicCallback[]
55
56
  }[] = []
57
+ private static readonly callsToAddBleCharCallbacks: {
58
+ uuid: string
59
+ charCallbacks: unknown
60
+ numCallbacks: number
61
+ }[] = []
56
62
  private static readonly callsToWriteBle: string[][] = []
57
63
  private static readonly callsToSetBleRssiInterval: {
58
64
  uuid: string
@@ -61,9 +67,10 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
61
67
  }[] = []
62
68
  private static readonly callsToStopBle: string[][] = []
63
69
 
64
- private static readonly callsToCreateFtdi: string[][] = []
65
- private static readonly callsToStartFtdi: string[][] = []
66
- private static readonly callsToStopFtdi: string[][] = []
70
+ private static readonly callsToCreateUsb: string[][] = []
71
+ private static readonly callsToStartUsb: unknown[][] = []
72
+ private static readonly callsToWriteUsb: string[][] = []
73
+ private static readonly callsToStopUsb: string[][] = []
67
74
 
68
75
  protected static async beforeEach() {
69
76
  await super.beforeEach()
@@ -114,12 +121,14 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
114
121
  'str discover_ble_uuid(str name_prefix, OnDiscoveredFn *on_discovered)',
115
122
  'str create_ble_backend(str config)',
116
123
  'str start_ble_backend(str uuid, OnConnectedFn *on_connected, CharCallback *callbacks, int num_callbacks)',
124
+ 'str add_ble_char_callbacks(str uuid, CharCallback *callbacks, int num_callbacks)',
117
125
  'str write_ble_characteristic(str uuid, str charUuid, str value)',
118
126
  'str set_ble_rssi_interval(str uuid, int interval_ms, OnRssiFn *on_rssi)',
119
127
  'str stop_ble_backend(str uuid)',
120
- 'str create_ftdi_backend(str config)',
121
- 'str start_ftdi_backend(str serial)',
122
- 'str stop_ftdi_backend(str serial)',
128
+ 'str create_usb_backend(str config)',
129
+ 'str start_usb_backend(str serial, OnUsbDataFn *on_data)',
130
+ 'str write_usb_backend(str serial, str value)',
131
+ 'str stop_usb_backend(str serial)',
123
132
  ],
124
133
  'Did not register expected koffi func signatures!'
125
134
  )
@@ -317,6 +326,36 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
317
326
  )
318
327
  }
319
328
 
329
+ @test()
330
+ protected static async addBleCharCallbacksCallsBindingWithExpectedArgs() {
331
+ this.addBleCharCallbacks()
332
+
333
+ const call = this.callsToAddBleCharCallbacks[0]
334
+
335
+ assert.isEqual(
336
+ call.uuid,
337
+ this.bleDeviceUuid,
338
+ 'addBleCharCallbacks did not pass expected uuid to binding!'
339
+ )
340
+
341
+ assert.isEqual(
342
+ call.numCallbacks,
343
+ this.charCallbacks.length,
344
+ 'addBleCharCallbacks did not pass expected callback count to binding!'
345
+ )
346
+ }
347
+
348
+ @test()
349
+ protected static async addBleCharCallbacksReturnsJson() {
350
+ const json = this.addBleCharCallbacks()
351
+
352
+ assert.isEqualDeep(
353
+ json,
354
+ this.successfulResult,
355
+ 'addBleCharCallbacks did not return a JSON string!'
356
+ )
357
+ }
358
+
320
359
  @test()
321
360
  protected static async writeBleCharacteristicCallsBindingWithExpectedArgs() {
322
361
  this.writeBleCharacteristic()
@@ -414,68 +453,145 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
414
453
  }
415
454
 
416
455
  @test()
417
- protected static async createFtdiBackendCallsBindingWithExpectedArgs() {
418
- this.createFtdiBackend()
456
+ protected static async createUsbBackendCallsBindingWithExpectedArgs() {
457
+ this.createUsbBackend()
419
458
 
420
459
  assert.isEqualDeep(
421
- this.callsToCreateFtdi[0][0],
422
- JSON.stringify({ serial_number: this.ftdiSerialNumber }),
423
- 'createFtdiBackend did not call binding with expected args!'
460
+ this.callsToCreateUsb[0][0],
461
+ JSON.stringify({ serial_number: this.usbSerialNumber }),
462
+ 'createUsbBackend did not call binding with expected args!'
424
463
  )
425
464
  }
426
465
 
427
466
  @test()
428
- protected static async createFtdiBackendReturnsJson() {
429
- const json = this.createFtdiBackend()
467
+ protected static async createUsbBackendReturnsJson() {
468
+ const json = this.createUsbBackend()
430
469
 
431
470
  assert.isEqualDeep(
432
471
  json,
433
472
  this.successfulResult,
434
- 'createFtdiBackend did not return a JSON string!'
473
+ 'createUsbBackend did not return a JSON string!'
474
+ )
475
+ }
476
+
477
+ @test()
478
+ protected static async startUsbBackendCallsBindingWithExpectedArgs() {
479
+ this.startUsbBackend()
480
+
481
+ assert.isEqual(
482
+ this.callsToStartUsb[0][0],
483
+ this.usbSerialNumber,
484
+ 'startUsbBackend did not call binding with expected args!'
435
485
  )
436
486
  }
437
487
 
438
488
  @test()
439
- protected static async startFtdiBackendCallsBindingWithExpectedArgs() {
440
- this.startFtdiBackend()
489
+ protected static async registersExpectedStartUsbBackendSignatureWithOnData() {
490
+ const sig = this.koffiFuncSignatures!.find((s) =>
491
+ s.startsWith('str start_usb_backend(')
492
+ )
441
493
 
442
494
  assert.isEqual(
443
- this.callsToStartFtdi[0][0],
444
- this.ftdiSerialNumber,
445
- 'startFtdiBackend did not call binding with expected args!'
495
+ sig,
496
+ 'str start_usb_backend(str serial, OnUsbDataFn *on_data)',
497
+ 'start_usb_backend was not registered with an onData callback param!'
446
498
  )
447
499
  }
448
500
 
449
501
  @test()
450
- protected static async startFtdiBackendReturnsJson() {
451
- const json = this.startFtdiBackend()
502
+ protected static async startUsbBackendPassesOnDataCallbackToBinding() {
503
+ this.startUsbBackend(() => {})
504
+
505
+ assert.isFunction(
506
+ this.callsToStartUsb[0][1],
507
+ 'startUsbBackend did not pass an onData callback to the binding!'
508
+ )
509
+ }
510
+
511
+ @test()
512
+ protected static async startUsbBackendInvokesOnDataWithReceivedData() {
513
+ let receivedData: Buffer | undefined
514
+ let receivedLength: number | undefined
515
+ let receivedTimestamp: number | undefined
516
+
517
+ this.startUsbBackend((data, length, timestampSec) => {
518
+ receivedData = data
519
+ receivedLength = length
520
+ receivedTimestamp = timestampSec
521
+ })
522
+
523
+ const registeredOnData = this.callsToStartUsb[0][1] as (
524
+ data: Buffer,
525
+ length: number,
526
+ timestampSec: number
527
+ ) => void
528
+
529
+ const fakeData = Buffer.from([1, 2, 3])
530
+ registeredOnData(fakeData, fakeData.length, 123.456)
531
+
532
+ assert.isEqualDeep(
533
+ { receivedData, receivedLength, receivedTimestamp },
534
+ {
535
+ receivedData: fakeData,
536
+ receivedLength: fakeData.length,
537
+ receivedTimestamp: 123.456,
538
+ },
539
+ 'onData was not invoked with expected data, length, and timestampSec!'
540
+ )
541
+ }
542
+
543
+ @test()
544
+ protected static async startUsbBackendReturnsJson() {
545
+ const json = this.startUsbBackend()
452
546
 
453
547
  assert.isEqualDeep(
454
548
  json,
455
549
  this.successfulResult,
456
- 'startFtdiBackend did not return a JSON string!'
550
+ 'startUsbBackend did not return a JSON string!'
457
551
  )
458
552
  }
459
553
 
460
554
  @test()
461
- protected static async stopFtdiBackendCallsBindingWithExpectedArgs() {
462
- this.stopFtdiBackend()
555
+ protected static async writeUsbBackendCallsBindingWithExpectedArgs() {
556
+ this.writeUsbBackend()
557
+
558
+ assert.isEqualDeep(
559
+ this.callsToWriteUsb[0],
560
+ [this.usbSerialNumber, this.usbValueToWrite],
561
+ 'writeUsbBackend did not call binding with expected args!'
562
+ )
563
+ }
564
+
565
+ @test()
566
+ protected static async writeUsbBackendReturnsJson() {
567
+ const json = this.writeUsbBackend()
568
+
569
+ assert.isEqualDeep(
570
+ json,
571
+ this.successfulResult,
572
+ 'writeUsbBackend did not return a JSON string!'
573
+ )
574
+ }
575
+
576
+ @test()
577
+ protected static async stopUsbBackendCallsBindingWithExpectedArgs() {
578
+ this.stopUsbBackend()
463
579
 
464
580
  assert.isEqual(
465
- this.callsToStopFtdi[0][0],
466
- this.ftdiSerialNumber,
467
- 'stopFtdiBackend did not call binding with expected args!'
581
+ this.callsToStopUsb[0][0],
582
+ this.usbSerialNumber,
583
+ 'stopUsbBackend did not call binding with expected args!'
468
584
  )
469
585
  }
470
586
 
471
587
  @test()
472
- protected static async stopFtdiBackendReturnsJson() {
473
- const json = this.stopFtdiBackend()
588
+ protected static async stopUsbBackendReturnsJson() {
589
+ const json = this.stopUsbBackend()
474
590
 
475
591
  assert.isEqualDeep(
476
592
  json,
477
593
  this.successfulResult,
478
- 'stopFtdiBackend did not return a JSON string!'
594
+ 'stopUsbBackend did not return a JSON string!'
479
595
  )
480
596
  }
481
597
 
@@ -502,6 +618,13 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
502
618
  })
503
619
  }
504
620
 
621
+ private static addBleCharCallbacks() {
622
+ return this.instance.addBleCharCallbacks({
623
+ deviceUuid: this.bleDeviceUuid,
624
+ charCallbacks: this.charCallbacks,
625
+ })
626
+ }
627
+
505
628
  private static writeBleCharacteristic() {
506
629
  return this.instance.writeBleCharacteristic({
507
630
  deviceUuid: this.bleDeviceUuid,
@@ -524,21 +647,31 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
524
647
  })
525
648
  }
526
649
 
527
- private static createFtdiBackend() {
528
- return this.instance.createFtdiBackend({
529
- serialNumber: this.ftdiSerialNumber,
650
+ private static createUsbBackend() {
651
+ return this.instance.createUsbBackend({
652
+ serialNumber: this.usbSerialNumber,
653
+ })
654
+ }
655
+
656
+ private static startUsbBackend(
657
+ onData?: (data: Buffer, length: number, timestampSec: number) => void
658
+ ) {
659
+ return this.instance.startUsbBackend({
660
+ serialNumber: this.usbSerialNumber,
661
+ onData,
530
662
  })
531
663
  }
532
664
 
533
- private static startFtdiBackend() {
534
- return this.instance.startFtdiBackend({
535
- serialNumber: this.ftdiSerialNumber,
665
+ private static writeUsbBackend() {
666
+ return this.instance.writeUsbBackend({
667
+ serialNumber: this.usbSerialNumber,
668
+ value: this.usbValueToWrite,
536
669
  })
537
670
  }
538
671
 
539
- private static stopFtdiBackend() {
540
- return this.instance.stopFtdiBackend({
541
- serialNumber: this.ftdiSerialNumber,
672
+ private static stopUsbBackend() {
673
+ return this.instance.stopUsbBackend({
674
+ serialNumber: this.usbSerialNumber,
542
675
  })
543
676
  }
544
677
 
@@ -563,6 +696,14 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
563
696
  })
564
697
  return JSON.stringify(this.successfulResult)
565
698
  },
699
+ add_ble_char_callbacks: (args: any) => {
700
+ this.callsToAddBleCharCallbacks.push({
701
+ uuid: args[0],
702
+ charCallbacks: args[1],
703
+ numCallbacks: args[2],
704
+ })
705
+ return JSON.stringify(this.successfulResult)
706
+ },
566
707
  write_ble_characteristic: (args) => {
567
708
  this.callsToWriteBle.push(args)
568
709
  return JSON.stringify(this.successfulResult)
@@ -579,16 +720,20 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
579
720
  this.callsToStopBle.push(args)
580
721
  return JSON.stringify(this.successfulResult)
581
722
  },
582
- create_ftdi_backend: (args) => {
583
- this.callsToCreateFtdi.push(args)
723
+ create_usb_backend: (args) => {
724
+ this.callsToCreateUsb.push(args)
725
+ return JSON.stringify(this.successfulResult)
726
+ },
727
+ start_usb_backend: (args: any) => {
728
+ this.callsToStartUsb.push(args)
584
729
  return JSON.stringify(this.successfulResult)
585
730
  },
586
- start_ftdi_backend: (args) => {
587
- this.callsToStartFtdi.push(args)
731
+ write_usb_backend: (args) => {
732
+ this.callsToWriteUsb.push(args)
588
733
  return JSON.stringify(this.successfulResult)
589
734
  },
590
- stop_ftdi_backend: (args) => {
591
- this.callsToStopFtdi.push(args)
735
+ stop_usb_backend: (args) => {
736
+ this.callsToStopUsb.push(args)
592
737
  return JSON.stringify(this.successfulResult)
593
738
  },
594
739
  }
@@ -598,11 +743,13 @@ export default class LibndxAdapterTest extends AbstractPackageTest {
598
743
  this.callsToDiscoverBle.length = 0
599
744
  this.callsToCreateBle.length = 0
600
745
  this.callsToStartBle.length = 0
746
+ this.callsToAddBleCharCallbacks.length = 0
601
747
  this.callsToStopBle.length = 0
602
748
  this.callsToSetBleRssiInterval.length = 0
603
- this.callsToCreateFtdi.length = 0
604
- this.callsToStartFtdi.length = 0
605
- this.callsToStopFtdi.length = 0
749
+ this.callsToCreateUsb.length = 0
750
+ this.callsToStartUsb.length = 0
751
+ this.callsToWriteUsb.length = 0
752
+ this.callsToStopUsb.length = 0
606
753
  }
607
754
 
608
755
  private static clearAndFakeFfi() {