incyclist-devices 2.1.4 → 2.1.5

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.
@@ -141,10 +141,8 @@ class BleAdapter extends adpater_1.default {
141
141
  }
142
142
  start(props = {}) {
143
143
  return __awaiter(this, void 0, void 0, function* () {
144
- const wasPaused = this.paused;
145
144
  const wasStopped = this.stopped;
146
- if (wasPaused)
147
- this.resume();
145
+ this.resume();
148
146
  if (this.started && !wasStopped)
149
147
  return true;
150
148
  this.stopped = false;
@@ -61,10 +61,12 @@ class BleComms extends events_1.default {
61
61
  return this.connectState.isConnected;
62
62
  }
63
63
  pause() {
64
+ this.ble.pauseLogging();
64
65
  this.paused = true;
65
66
  }
66
67
  resume() {
67
68
  this.paused = false;
69
+ this.ble.resumeLogging();
68
70
  }
69
71
  getServiceUUids() {
70
72
  throw new Error("Method not implemented.");
@@ -282,6 +284,7 @@ class BleComms extends events_1.default {
282
284
  }
283
285
  connect(props) {
284
286
  return __awaiter(this, void 0, void 0, function* () {
287
+ this.ble.resumeLogging();
285
288
  if (!this.ble.isConnected()) {
286
289
  try {
287
290
  yield this.ble.connect();
@@ -382,6 +385,7 @@ class BleComms extends events_1.default {
382
385
  return __awaiter(this, void 0, void 0, function* () {
383
386
  const { id, name, address } = this;
384
387
  this.logEvent({ message: 'disconnect requested', device: { id, name, address } });
388
+ this.ble.pauseLogging();
385
389
  this.connectState.isDisconnecting = true;
386
390
  if (this.workerIv) {
387
391
  this.stopWorker();
@@ -9,6 +9,8 @@ export declare class BleLinuxBinding extends EventEmitter implements BleBinding
9
9
  static getInstance(): any;
10
10
  startScanning(serviceUUIDs?: string[] | undefined, allowDuplicates?: boolean | undefined, callback?: ((error?: Error | undefined) => void) | undefined): void;
11
11
  stopScanning(callback?: (() => void) | undefined): void;
12
+ pauseLogging(): void;
13
+ resumeLogging(): void;
12
14
  on(eventName: string | symbol, listener: (...args: any[]) => void): this;
13
15
  }
14
16
  declare const Binding: any;
@@ -23,6 +23,10 @@ class BleLinuxBinding extends events_1.default {
23
23
  stopScanning(callback) {
24
24
  throw new Error('Method not implemented.');
25
25
  }
26
+ pauseLogging() {
27
+ }
28
+ resumeLogging() {
29
+ }
26
30
  on(eventName, listener) {
27
31
  super.addListener(eventName, listener);
28
32
  if (eventName === 'stateChange') {
@@ -29,6 +29,10 @@ class Binding extends events_1.default {
29
29
  return Binding._instance;
30
30
  }
31
31
  init() { }
32
+ pauseLogging() {
33
+ }
34
+ resumeLogging() {
35
+ }
32
36
  addMock(peripheral) {
33
37
  this.peripherals.push(peripheral);
34
38
  }
@@ -43,6 +43,7 @@ export default class BleInterface extends EventEmitter implements IncyclistInter
43
43
  comms: BleComms;
44
44
  cb: (data: any) => void;
45
45
  }[];
46
+ loggingPaused: boolean;
46
47
  static _instance: BleInterface;
47
48
  static getInstance(props?: {
48
49
  binding?: BleBinding;
@@ -57,6 +58,9 @@ export default class BleInterface extends EventEmitter implements IncyclistInter
57
58
  stopConnectSensor(): void;
58
59
  waitForSensorConnectionFinish(): Promise<void>;
59
60
  getAdapterFactory(): BleAdapterFactory;
61
+ pauseLogging(): void;
62
+ resumeLogging(): void;
63
+ isDebugEnabled(): boolean;
60
64
  logEvent(event: any): void;
61
65
  onStateChange(state: BleInterfaceState): void;
62
66
  onError(err: any): void;
@@ -51,6 +51,7 @@ class BleInterface extends events_1.default {
51
51
  this.logger = props.logger;
52
52
  else
53
53
  this.logger = new gd_eventlog_1.EventLogger('BLE');
54
+ this.loggingPaused = false;
54
55
  }
55
56
  getBinding() { return this.binding; }
56
57
  setBinding(binding) { if (binding)
@@ -75,12 +76,38 @@ class BleInterface extends events_1.default {
75
76
  getAdapterFactory() {
76
77
  return adapter_factory_1.default.getInstance();
77
78
  }
78
- logEvent(event) {
79
- if (this.logger) {
80
- this.logger.logEvent(event);
79
+ pauseLogging() {
80
+ this.logEvent({ message: 'pause logging on BLE Interface' });
81
+ this.loggingPaused = true;
82
+ try {
83
+ this.getBinding().pauseLogging();
81
84
  }
85
+ catch (_a) { }
86
+ }
87
+ resumeLogging() {
88
+ const event = { message: 'resume logging on BLE Interface' };
89
+ this.logger.logEvent(event);
90
+ if (this.isDebugEnabled()) {
91
+ console.log('~~~ BLE', event);
92
+ }
93
+ this.loggingPaused = false;
94
+ try {
95
+ this.getBinding().resumeLogging();
96
+ }
97
+ catch (_a) { }
98
+ }
99
+ isDebugEnabled() {
82
100
  const w = global.window;
83
101
  if ((w === null || w === void 0 ? void 0 : w.DEVICE_DEBUG) || process.env.BLE_DEBUG) {
102
+ return true;
103
+ }
104
+ return false;
105
+ }
106
+ logEvent(event) {
107
+ if (this.logger && !this.loggingPaused) {
108
+ this.logger.logEvent(event);
109
+ }
110
+ if (this.isDebugEnabled()) {
84
111
  console.log('~~~ BLE', event);
85
112
  }
86
113
  }
@@ -98,6 +125,7 @@ class BleInterface extends events_1.default {
98
125
  this.logEvent({ message: 'error', error: err.message, stack: err.stack });
99
126
  }
100
127
  connect(to) {
128
+ this.resumeLogging();
101
129
  const timeout = this.props.timeout || to || 2000;
102
130
  return new Promise((resolve, reject) => {
103
131
  if (this.connectState.isConnected) {
@@ -186,6 +214,7 @@ class BleInterface extends events_1.default {
186
214
  this.connectState.timeout = null;
187
215
  }
188
216
  this.logEvent({ message: 'disconnect result: success' });
217
+ this.pauseLogging();
189
218
  return true;
190
219
  });
191
220
  }
@@ -8,6 +8,8 @@ export type BleInterfaceState = 'unknown' | 'resetting' | 'unsupported' | 'unaut
8
8
  export interface BleBinding extends EventEmitter {
9
9
  startScanning(serviceUUIDs?: string[], allowDuplicates?: boolean, callback?: (error?: Error) => void): void;
10
10
  stopScanning(callback?: () => void): void;
11
+ pauseLogging(): any;
12
+ resumeLogging(): any;
11
13
  _bindings: any;
12
14
  state: BleInterfaceState;
13
15
  on(eventName: string | symbol, listener: (...args: any[]) => void): this;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "incyclist-devices",
3
- "version": "2.1.4",
3
+ "version": "2.1.5",
4
4
  "dependencies": {
5
5
  "@serialport/bindings-interface": "^1.2.2",
6
6
  "@serialport/parser-byte-length": "^9.0.1",