zigbee-herdsman 0.32.0 → 0.32.2

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.
Files changed (39) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +16 -0
  3. package/dist/adapter/deconz/driver/driver.d.ts +2 -1
  4. package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
  5. package/dist/adapter/deconz/driver/driver.js +33 -37
  6. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  7. package/dist/adapter/ezsp/driver/uart.d.ts +1 -0
  8. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
  9. package/dist/adapter/ezsp/driver/uart.js +55 -65
  10. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  11. package/dist/adapter/serialPort.d.ts +2 -0
  12. package/dist/adapter/serialPort.d.ts.map +1 -1
  13. package/dist/adapter/serialPort.js +31 -0
  14. package/dist/adapter/serialPort.js.map +1 -1
  15. package/dist/adapter/z-stack/znp/znp.d.ts +1 -0
  16. package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
  17. package/dist/adapter/z-stack/znp/znp.js +35 -45
  18. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  19. package/dist/adapter/zigate/driver/zigate.d.ts +1 -1
  20. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
  21. package/dist/adapter/zigate/driver/zigate.js +33 -54
  22. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  23. package/dist/controller/helpers/request.d.ts +2 -3
  24. package/dist/controller/helpers/request.d.ts.map +1 -1
  25. package/dist/controller/helpers/request.js +2 -4
  26. package/dist/controller/helpers/request.js.map +1 -1
  27. package/dist/controller/helpers/requestQueue.js +1 -1
  28. package/dist/controller/helpers/requestQueue.js.map +1 -1
  29. package/dist/controller/model/device.d.ts +1 -4
  30. package/dist/controller/model/device.d.ts.map +1 -1
  31. package/dist/controller/model/device.js +16 -43
  32. package/dist/controller/model/device.js.map +1 -1
  33. package/dist/controller/model/endpoint.d.ts.map +1 -1
  34. package/dist/controller/model/endpoint.js +16 -6
  35. package/dist/controller/model/endpoint.js.map +1 -1
  36. package/dist/zcl/definition/cluster.d.ts.map +1 -1
  37. package/dist/zcl/definition/cluster.js +10 -3
  38. package/dist/zcl/definition/cluster.js.map +1 -1
  39. package/package.json +1 -1
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "0.32.0"
2
+ ".": "0.32.2"
3
3
  }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.32.2](https://github.com/Koenkk/zigbee-herdsman/compare/v0.32.1...v0.32.2) (2024-01-10)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Add bosch smoke alarm II ssiasZone command ([#861](https://github.com/Koenkk/zigbee-herdsman/issues/861)) ([48680fa](https://github.com/Koenkk/zigbee-herdsman/commit/48680fa0b24be74eb03fc314093a016d6deac1e6))
9
+ * Add OWON PC321 Power factor attributes ([#864](https://github.com/Koenkk/zigbee-herdsman/issues/864)) ([0d60b75](https://github.com/Koenkk/zigbee-herdsman/commit/0d60b75a482fc8d8d7b1c9cce188adb14640787b))
10
+
11
+ ## [0.32.1](https://github.com/Koenkk/zigbee-herdsman/compare/v0.32.0...v0.32.1) (2024-01-09)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * Improve request queue behavior [#6](https://github.com/Koenkk/zigbee-herdsman/issues/6) ([#860](https://github.com/Koenkk/zigbee-herdsman/issues/860)) ([746fafb](https://github.com/Koenkk/zigbee-herdsman/commit/746fafbea9f28829feba300a9de9f1261c2c1e36))
17
+ * Improve serialport code consistency across adapters ([#859](https://github.com/Koenkk/zigbee-herdsman/issues/859)) ([0d636fc](https://github.com/Koenkk/zigbee-herdsman/commit/0d636fc299444777ece86a337707570cc5e48cc7))
18
+
3
19
  ## [0.32.0](https://github.com/Koenkk/zigbee-herdsman/compare/v0.31.0...v0.32.0) (2024-01-08)
4
20
 
5
21
 
@@ -35,9 +35,10 @@ declare class Driver extends events.EventEmitter {
35
35
  setDelay(delay: number): void;
36
36
  static isValidPath(path: string): Promise<boolean>;
37
37
  static autoDetectPath(): Promise<string>;
38
+ private onPortError;
38
39
  private onPortClose;
39
40
  open(baudrate: number): Promise<void>;
40
- openSerialPort(baudrate: number): Promise<void>;
41
+ private openSerialPort;
41
42
  private openSocketPort;
42
43
  close(): Promise<void>;
43
44
  readParameterRequest(parameterId: number): Promise<Command>;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../src/adapter/deconz/driver/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../src/adapter/deconz/driver/driver.ts"],"names":[],"mappings":";;AAGA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAU5B,OAAO,EAAE,OAAO,EAAW,UAAU,EAAE,cAAc,EAAE,oBAAoB,EAAqB,MAAM,aAAa,CAAC;AAYpH,QAAA,IAAI,SAAS,EAAE,KAAK,CAAC,MAAM,CAAM,CAAC;AAElC,QAAA,IAAI,YAAY,EAAE,KAAK,CAAC,MAAM,CAAM,CAAC;AAGrC,QAAA,IAAI,WAAW,EAAE,OAAc,CAAC;AAGhC,iBAAS,SAAS,SAIjB;AAED,iBAAS,UAAU,SAElB;AAED,QAAA,IAAI,gBAAgB,EAAE,UAAU,CAAC,OAAO,UAAU,CAAQ,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;AAMzF,cAAM,MAAO,SAAQ,MAAM,CAAC,YAAY;IACpC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,mBAAmB,CAAM;IACjC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,0BAA0B,CAAS;IAC3C,OAAO,CAAC,cAAc,CAAS;gBAEZ,IAAI,EAAE,MAAM;IAgD/B,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,CAAM;IAE3C,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO;IAInD,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG;IAKxB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;WAoChB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAI3C,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAKrD,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;IAMN,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAKpC,cAAc;YA+Bd,cAAc;IAuCf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB5B,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAI,OAAO,CAAC,OAAO,CAAC;IAW5D,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAI,OAAO,CAAC,IAAI,CAAC;IAWjF,0BAA0B,IAAK,OAAO,CAAC,MAAM,EAAE,CAAC;IAWvD,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,yBAAyB;IA6BjC,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,8BAA8B;IAOtC,OAAO,CAAC,0BAA0B;IAMlC,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,YAAY;YAuCN,gBAAgB;IAgCvB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAI,OAAO,CAAC,IAAI,CAAC;IAWtE,OAAO,CAAC,6BAA6B;IAKrC,OAAO,CAAC,kBAAkB;YAWZ,iBAAiB;YAWjB,kBAAkB;IA6BhC,OAAO,CAAC,uBAAuB;IAYxB,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAI,OAAO,CAAC,IAAI,GAAG,oBAAoB,CAAC;IAa7F,OAAO,CAAC,yBAAyB;YAWnB,eAAe;YAkCf,yBAAyB;IAiCvC,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,2BAA2B;IAOnC,OAAO,CAAC,0BAA0B;IAmClC,OAAO,CAAC,mBAAmB;IAkB3B,OAAO,CAAC,OAAO;IAUR,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAI,KAAK,CAAC,MAAM,CAAC;IAmBlD,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,GAAI,MAAM;IAkBzD;;OAEG;IACI,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,GAAI,MAAM;IAexE,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,4BAA4B;CAQvC;AAED,eAAe,MAAM,CAAC"}
@@ -153,6 +153,9 @@ class Driver extends events_1.default.EventEmitter {
153
153
  const paths = await serialPortUtils_1.default.find(autoDetectDefinitions);
154
154
  return paths.length > 0 ? paths[0] : null;
155
155
  }
156
+ onPortError(error) {
157
+ debug(`Port error: ${error}`);
158
+ }
156
159
  onPortClose() {
157
160
  debug('Port closed');
158
161
  this.initialized = false;
@@ -162,7 +165,7 @@ class Driver extends events_1.default.EventEmitter {
162
165
  currentBaudRate = baudrate;
163
166
  return this.portType === 'serial' ? this.openSerialPort(baudrate) : this.openSocketPort();
164
167
  }
165
- openSerialPort(baudrate) {
168
+ async openSerialPort(baudrate) {
166
169
  debug(`Opening with ${this.path}`);
167
170
  this.serialPort = new serialPort_1.SerialPort({ path: this.path, baudRate: baudrate, autoOpen: false }); //38400 RaspBee //115200 ConBee3
168
171
  this.writer = new writer_1.default();
@@ -171,22 +174,20 @@ class Driver extends events_1.default.EventEmitter {
171
174
  this.parser = new parser_1.default();
172
175
  this.serialPort.pipe(this.parser);
173
176
  this.parser.on('parsed', this.onParsed);
174
- return new Promise((resolve, reject) => {
175
- this.serialPort.open(async (error) => {
176
- if (error) {
177
- reject(new Error(`Error while opening serialport '${error}'`));
178
- this.initialized = false;
179
- if (this.serialPort.isOpen) {
180
- this.serialPort.close();
181
- }
182
- }
183
- else {
184
- debug('Serialport opened');
185
- this.initialized = true;
186
- resolve();
187
- }
188
- });
189
- });
177
+ try {
178
+ await this.serialPort.asyncOpen();
179
+ debug('Serialport opened');
180
+ this.serialPort.once('close', this.onPortClose.bind(this));
181
+ this.serialPort.once('error', this.onPortError.bind(this));
182
+ this.initialized = true;
183
+ }
184
+ catch (error) {
185
+ this.initialized = false;
186
+ if (this.serialPort.isOpen) {
187
+ this.serialPort.close();
188
+ }
189
+ throw error;
190
+ }
190
191
  }
191
192
  async openSocketPort() {
192
193
  const info = socketPortUtils_1.default.parseTcpPath(this.path);
@@ -210,7 +211,7 @@ class Driver extends events_1.default.EventEmitter {
210
211
  self.initialized = true;
211
212
  resolve();
212
213
  });
213
- this.socketPort.once('close', this.onPortClose);
214
+ this.socketPort.once('close', this.onPortClose.bind(this));
214
215
  this.socketPort.on('error', function () {
215
216
  debug('Socket error');
216
217
  reject(new Error(`Error while opening socket`));
@@ -219,30 +220,25 @@ class Driver extends events_1.default.EventEmitter {
219
220
  this.socketPort.connect(info.port, info.host);
220
221
  });
221
222
  }
222
- close() {
223
- return new Promise((resolve, reject) => {
224
- if (this.initialized) {
225
- if (this.portType === 'serial') {
226
- this.serialPort.flush(() => {
227
- this.serialPort.close((error) => {
228
- this.initialized = false;
229
- error == null ?
230
- resolve() :
231
- reject(new Error(`Error while closing serialport '${error}'`));
232
- this.emit('close');
233
- });
234
- });
223
+ async close() {
224
+ debug('closing');
225
+ queue = [];
226
+ if (this.initialized) {
227
+ this.initialized = false;
228
+ if (this.portType === 'serial') {
229
+ try {
230
+ await this.serialPort.asyncFlushAndClose();
235
231
  }
236
- else {
237
- this.socketPort.destroy();
238
- resolve();
232
+ catch (error) {
233
+ this.emit('close');
234
+ throw error;
239
235
  }
240
236
  }
241
237
  else {
242
- resolve();
243
- this.emit('close');
238
+ this.socketPort.destroy();
244
239
  }
245
- });
240
+ }
241
+ this.emit('close');
246
242
  }
247
243
  readParameterRequest(parameterId) {
248
244
  const seqNumber = this.nextSeqNumber();
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/adapter/deconz/driver/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/adapter/deconz/driver/driver.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ export declare class SerialDriver extends EventEmitter {
28
28
  private randomize;
29
29
  reset(): Promise<void>;
30
30
  close(): Promise<void>;
31
+ private onPortError;
31
32
  private onPortClose;
32
33
  isInitialized(): boolean;
33
34
  sendDATA(data: Buffer): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"uart.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/uart.ts"],"names":[],"mappings":";;AACA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AA0BpC,KAAK,UAAU,GAAG;IACd,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAC;AAOF,qBAAa,YAAa,SAAQ,YAAY;IAC1C,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,KAAK,CAAQ;;IAUf,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YASrE,cAAc;YAkDd,cAAc;IA2C5B,OAAO,CAAC,QAAQ;IAwDhB,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,SAAS;IAkBX,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB7B,OAAO,CAAC,WAAW;IAMZ,aAAa,IAAI,OAAO;IAIlB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC3C,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,SAAO,GACzC;QAAE,KAAK,EAAE,MAAM;YAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE;IAI/E,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,iBAAiB;CAG5B"}
1
+ {"version":3,"file":"uart.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/uart.ts"],"names":[],"mappings":";;AACA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AA0BpC,KAAK,UAAU,GAAG;IACd,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAC;AAOF,qBAAa,YAAa,SAAQ,YAAY;IAC1C,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,KAAK,CAAQ;;IAUf,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YASrE,cAAc;YA0Cd,cAAc;IA0C5B,OAAO,CAAC,QAAQ;IAwDhB,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,SAAS;IAkBX,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBnC,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;IAMZ,aAAa,IAAI,OAAO;IAIlB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC3C,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,SAAO,GACzC;QAAE,KAAK,EAAE,MAAM;YAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE;IAI/E,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,iBAAiB;CAG5B"}
@@ -95,32 +95,20 @@ class SerialDriver extends events_1.EventEmitter {
95
95
  this.serialPort.pipe(this.parser);
96
96
  this.parser.on('parsed', this.onParsed.bind(this));
97
97
  try {
98
- await new Promise((resolve, reject) => {
99
- this.serialPort.open(async (error) => {
100
- if (error) {
101
- reject(new Error(`Error while opening serialport '${error}'`));
102
- }
103
- else {
104
- resolve(null);
105
- }
106
- });
107
- });
98
+ await this.serialPort.asyncOpen();
108
99
  debug('Serialport opened');
109
100
  this.serialPort.once('close', this.onPortClose.bind(this));
110
- this.serialPort.once('error', (error) => {
111
- debug(`Serialport error: ${error}`);
112
- });
101
+ this.serialPort.once('error', this.onPortError.bind(this));
113
102
  // reset
114
103
  await this.reset();
115
104
  this.initialized = true;
116
- this.emit('connected');
117
105
  }
118
- catch (e) {
106
+ catch (error) {
119
107
  this.initialized = false;
120
108
  if (this.serialPort.isOpen) {
121
109
  this.serialPort.close();
122
110
  }
123
- throw e;
111
+ throw error;
124
112
  }
125
113
  }
126
114
  async openSocketPort(path) {
@@ -145,7 +133,6 @@ class SerialDriver extends events_1.EventEmitter {
145
133
  // reset
146
134
  await this.reset();
147
135
  self.initialized = true;
148
- this.emit('connected');
149
136
  resolve();
150
137
  });
151
138
  this.socketPort.once('close', this.onPortClose.bind(this));
@@ -287,44 +274,43 @@ class SerialDriver extends events_1.EventEmitter {
287
274
  this.parser.reset();
288
275
  this.queue.clear();
289
276
  return this.queue.execute(async () => {
290
- debug(`--> Write reset`);
291
- const waiter = this.waitFor(-1, 10000).start();
292
- this.writer.sendReset();
293
- debug(`-?- waiting reset`);
294
- return waiter.promise.catch(async (e) => {
277
+ try {
278
+ debug(`--> Write reset`);
279
+ const waiter = this.waitFor(-1, 10000);
280
+ this.writer.sendReset();
281
+ debug(`-?- waiting reset`);
282
+ await waiter.start().promise;
283
+ debug(`-+- waiting reset success`);
284
+ }
285
+ catch (e) {
295
286
  debug(`--> Error: ${e}`);
296
287
  this.emit('reset');
297
288
  throw new Error(`Reset error: ${e}`);
298
- }).then(() => {
299
- debug(`-+- waiting reset success`);
300
- });
289
+ }
301
290
  });
302
291
  }
303
- close() {
304
- return new Promise((resolve, reject) => {
305
- this.queue.clear();
306
- if (this.initialized) {
307
- if (this.portType === 'serial') {
308
- this.serialPort.flush(() => {
309
- this.serialPort.close((error) => {
310
- this.initialized = false;
311
- this.emit('close');
312
- error == null ?
313
- resolve() :
314
- reject(new Error(`Error while closing serialport '${error}'`));
315
- });
316
- });
292
+ async close() {
293
+ debug('closing');
294
+ this.queue.clear();
295
+ if (this.initialized) {
296
+ this.initialized = false;
297
+ if (this.portType === 'serial') {
298
+ try {
299
+ await this.serialPort.asyncFlushAndClose();
317
300
  }
318
- else {
319
- this.socketPort.destroy();
320
- resolve();
301
+ catch (error) {
302
+ this.emit('close');
303
+ throw error;
321
304
  }
322
305
  }
323
306
  else {
324
- this.emit('close');
325
- resolve();
307
+ this.socketPort.destroy();
326
308
  }
327
- });
309
+ }
310
+ this.emit('close');
311
+ }
312
+ onPortError(error) {
313
+ debug(`Port error: ${error}`);
328
314
  }
329
315
  onPortClose() {
330
316
  debug('Port closed');
@@ -340,32 +326,36 @@ class SerialDriver extends events_1.EventEmitter {
340
326
  const nextSeq = this.sendSeq;
341
327
  const ackSeq = this.recvSeq;
342
328
  return this.queue.execute(async () => {
343
- debug(`--> DATA (${seq},${ackSeq},0): ${data.toString('hex')}`);
344
329
  const randData = this.randomize(data);
345
- const waiter = this.waitFor(nextSeq).start();
346
- this.writer.sendData(randData, seq, 0, ackSeq);
347
- debug(`-?- waiting (${nextSeq})`);
348
- return waiter.promise.catch(async (e) => {
349
- debug(`--> Error: ${e}`);
330
+ try {
331
+ const waiter = this.waitFor(nextSeq);
332
+ debug(`--> DATA (${seq},${ackSeq},0): ${data.toString('hex')}`);
333
+ this.writer.sendData(randData, seq, 0, ackSeq);
334
+ debug(`-?- waiting (${nextSeq})`);
335
+ await waiter.start().promise;
336
+ debug(`-+- waiting (${nextSeq}) success`);
337
+ }
338
+ catch (e1) {
339
+ debug(`--> Error: ${e1}`);
350
340
  debug(`-!- break waiting (${nextSeq})`);
351
341
  debug(`Can't send DATA frame (${seq},${ackSeq},0): ${data.toString('hex')}`);
352
- await (0, utils_2.Wait)(500);
353
- debug(`->> DATA (${seq},${ackSeq},1): ${data.toString('hex')}`);
354
- const waiter = this.waitFor(nextSeq).start();
355
- this.writer.sendData(randData, seq, 1, ackSeq);
356
- debug(`-?- rewaiting (${nextSeq})`);
357
- return waiter.promise.catch(async (e) => {
358
- debug(`--> Error: ${e}`);
342
+ try {
343
+ await (0, utils_2.Wait)(500);
344
+ const waiter = this.waitFor(nextSeq);
345
+ debug(`->> DATA (${seq},${ackSeq},1): ${data.toString('hex')}`);
346
+ this.writer.sendData(randData, seq, 1, ackSeq);
347
+ debug(`-?- rewaiting (${nextSeq})`);
348
+ await waiter.start().promise;
349
+ debug(`-+- rewaiting (${nextSeq}) success`);
350
+ }
351
+ catch (e2) {
352
+ debug(`--> Error: ${e2}`);
359
353
  debug(`-!- break rewaiting (${nextSeq})`);
360
354
  debug(`Can't resend DATA frame (${seq},${ackSeq},1): ${data.toString('hex')}`);
361
355
  this.emit('reset');
362
- throw new Error(`sendDATA error: ${e}`);
363
- }).then(() => {
364
- debug(`-+- rewaiting (${nextSeq}) success`);
365
- });
366
- }).then(() => {
367
- debug(`-+- waiting (${nextSeq}) success`);
368
- });
356
+ throw new Error(`sendDATA error: try 1: ${e1}, try 2: ${e2}`);
357
+ }
358
+ }
369
359
  });
370
360
  }
371
361
  waitFor(sequence, timeout = 2000) {
@@ -1 +1 @@
1
- {"version":3,"file":"uart.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/uart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uart.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/uart.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0BAA0B;AAC1B,mCAAoC;AACpC,8CAAsB;AACtB,iDAA4C;AAC5C,4EAAoD;AACpD,mCAAmC;AACnC,0CAAqD;AACrD,iDAAmC;AACnC,qCAAiC;AACjC,qCAAiC;AACjC,kDAA0B;AAE1B,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,mCAAmC,CAAC,CAAC;AAGzD,IAAK,YAUJ;AAVD,WAAK,YAAY;IACb,+EAA2B,CAAA;IAC3B,mEAAqB,CAAA;IACrB,mEAAqB,CAAA;IACrB,mEAAqB,CAAA;IACrB,+DAAmB,CAAA;IACnB,uEAAuB,CAAA;IACvB,oEAAqB,CAAA;IACrB,wHAA+C,CAAA;IAC/C,2FAAgC,CAAA;AACpC,CAAC,EAVI,YAAY,KAAZ,YAAY,QAUhB;AAWD,MAAa,YAAa,SAAQ,qBAAY;IAClC,UAAU,CAAa;IACvB,UAAU,CAAa;IACvB,MAAM,CAAS;IACf,MAAM,CAAS;IACf,WAAW,CAAU;IACrB,QAAQ,CAAsB;IAC9B,OAAO,GAAG,CAAC,CAAC,CAAC,4BAA4B;IACzC,OAAO,GAAG,CAAC,CAAC,CAAC,+BAA+B;IAC5C,MAAM,GAAG,CAAC,CAAC,CAAE,4CAA4C;IACzD,QAAQ,CAA0C;IAClD,KAAK,CAAQ;IAErB;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAQ,CACxB,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,OAAuC;QAC/D,IAAI,CAAC,QAAQ,GAAG,yBAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtE,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,GAAmC;QAC1E,MAAM,OAAO,GAAG;YACZ,IAAI;YACJ,QAAQ,EAAE,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;YAClE,MAAM,EAAE,OAAO,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;YAC5D,QAAQ,EAAE,KAAK;SAClB,CAAC;QAEF,KAAK,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAU,CAAC,OAAO,CAAC,CAAC;QAE1C,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC3B,6DAA6D;QAC7D,aAAa;QACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAElC,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnD,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAClC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAE3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAE3D,QAAQ;YACR,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YAEnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YAEzB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBACzB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC5B,CAAC;YAED,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAY;QACrC,MAAM,IAAI,GAAG,yBAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAChD,KAAK,CAAC,2BAA2B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAE3D,IAAI,CAAC,UAAU,GAAG,IAAI,aAAG,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE1C,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAElC,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAQ,EAAE;YACzC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE;gBAC1B,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YAEH,2BAA2B;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,IAAmB,EAAE;gBAClD,KAAK,CAAC,cAAc,CAAC,CAAC;gBACtB,QAAQ;gBACR,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;gBACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,OAAO,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAE3D,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE;gBACxB,KAAK,CAAC,cAAc,CAAC,CAAC;gBACtB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,QAAQ,CAAC,IAAY;QACzB,YAAY;QACZ,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,YAAY;YACZ,KAAK,CAAC,kBAAkB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG;gBAC3C,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG;gBAC3C,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjC,WAAW;YACX,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,eAAe;YACf,OAAO;QACX,CAAC;QACD,IAAI,CAAC;YACD,2BAA2B;YAC3B,QAAQ,IAAI,EAAE,CAAC;gBACf,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;oBACzB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG;wBACvC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC5E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACtB,MAAM;gBAEV,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC;oBAC5B,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC/D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxB,MAAM;gBAEV,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC;oBAC5B,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC/D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxB,MAAM;gBAEV,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;oBACnB,KAAK,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC3C,MAAM;gBAEV,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;oBACnB,KAAK,CAAC,eAAe,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC7C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBACjC,MAAM;gBAEV,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;oBACnB,KAAK,CAAC,cAAc,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC5C,aAAa;oBACb,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC1D,MAAM;gBACV;oBACI,KAAK,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;YAC9C,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,KAAK,CAAC,qCAAqC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IAEO,UAAU,CAAC,IAAY;QAC3B,gCAAgC;QAChC,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO;QACxC,KAAK,CAAC,aAAa,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,mDAAmD;YACnD,mDAAmD;YACnD,KAAK,CAAC,oCAAoC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YAC3D,OAAO;QACX,CAAC;QACD,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAEO,SAAS,CAAC,OAAe;QAC7B,qCAAqC;QACrC,4CAA4C;QAC5C,IAAI,CAAC,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3C,KAAK,CAAC,8BAA8B,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,SAAS,CAAC,OAAe;QAC7B,0CAA0C;QAC1C,MAAM,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAC,QAAQ,EAAE,MAAM,EAAC,EAAE,gBAAgB,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,WAAW;YACX,KAAK,CAAC,kCAAkC,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAEO,qBAAqB,CAAC,IAAY;QACtC,iDAAiD;QACjD,IAAI,IAAI,CAAC;QACT,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC;YACD,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,GAAG,YAAY,CAAC,yBAAyB,CAAC;QAClD,CAAC;QACD,KAAK,CAAC,yCAAyC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACjG,IAAI,YAAY,CAAS,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC;YACnF,OAAO;QACX,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;IAC1C,CAAC;IAEO,SAAS,CAAC,CAAS;QACvB;;UAEE;QACF,IAAI,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAChB,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;gBACb,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACJ,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YACvB,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,KAAK;QACP,KAAK,CAAC,eAAe,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAO,KAAK,IAAmB,EAAE;YACtD,IAAI,CAAC;gBACD,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACzB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACxB,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBAC3B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC;gBAC7B,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACzC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,KAAK;QACd,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YAEzB,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;gBAC/C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAEnB,MAAM,KAAK,CAAC;gBAChB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC9B,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAEO,WAAW,CAAC,KAAY;QAC5B,KAAK,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;IAClC,CAAC;IAEO,WAAW;QACf,KAAK,CAAC,aAAa,CAAC,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAEM,aAAa;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,IAAY;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,OAAO;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAE5B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAO,KAAK,IAAmB,EAAE;YACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAEtC,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACrC,KAAK,CAAC,aAAa,GAAG,IAAI,MAAM,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;gBAC/C,KAAK,CAAC,gBAAgB,OAAO,GAAG,CAAC,CAAC;gBAClC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC;gBAC7B,KAAK,CAAC,gBAAgB,OAAO,WAAW,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACV,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;gBAC1B,KAAK,CAAC,sBAAsB,OAAO,GAAG,CAAC,CAAC;gBACxC,KAAK,CAAC,0BAA0B,GAAG,IAAI,MAAM,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAE7E,IAAI,CAAC;oBACD,MAAM,IAAA,YAAI,EAAC,GAAG,CAAC,CAAC;oBAChB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACrC,KAAK,CAAC,aAAa,GAAG,IAAI,MAAM,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;oBAC/C,KAAK,CAAC,kBAAkB,OAAO,GAAG,CAAC,CAAC;oBACpC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC;oBAC7B,KAAK,CAAC,kBAAkB,OAAO,WAAW,CAAC,CAAC;gBAChD,CAAC;gBAAC,OAAO,EAAE,EAAE,CAAC;oBACV,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;oBAC1B,KAAK,CAAC,wBAAwB,OAAO,GAAG,CAAC,CAAC;oBAC1C,KAAK,CAAC,4BAA4B,GAAG,IAAI,MAAM,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC/E,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;gBAClE,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,OAAO,CAAC,QAAgB,EAAE,OAAO,GAAG,IAAI;QAE3C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC,QAAQ,EAAC,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAEO,wBAAwB,CAAC,OAA0B,EAAE,OAAe;QACxE,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,OAAO,IAAI,CAAC;IAC3D,CAAC;IAEO,iBAAiB,CAAC,OAAmB,EAAE,OAA0B;QACrE,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;CACJ;AApWD,oCAoWC"}
@@ -5,5 +5,7 @@ export declare class SerialPort<T extends AutoDetectTypes = AutoDetectTypes> ext
5
5
  static list: () => Promise<import("@serialport/bindings-interface").PortInfo[]>;
6
6
  static readonly binding: AutoDetectTypes;
7
7
  constructor(options: SerialPortOpenOptions<T>, openCallback?: ErrorCallback);
8
+ asyncOpen(): Promise<void>;
9
+ asyncFlushAndClose(): Promise<void>;
8
10
  }
9
11
  //# sourceMappingURL=serialPort.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serialPort.d.ts","sourceRoot":"","sources":["../../src/adapter/serialPort.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,aAAa,EAAe,gBAAgB,EAAE,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAa,eAAe,EAAE,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAI7F,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAA;AAE5H,qBAAa,UAAU,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IAC5F,MAAM,CAAC,IAAI,qEAAwB;IACnC,MAAM,CAAC,QAAQ,CAAC,OAAO,kBAAmB;gBAE9B,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,aAAa;CAO9E"}
1
+ {"version":3,"file":"serialPort.d.ts","sourceRoot":"","sources":["../../src/adapter/serialPort.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,aAAa,EAAe,gBAAgB,EAAE,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAa,eAAe,EAAE,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAI7F,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAA;AAE5H,qBAAa,UAAU,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IAC5F,MAAM,CAAC,IAAI,qEAAwB;IACnC,MAAM,CAAC,QAAQ,CAAC,OAAO,kBAAmB;gBAE9B,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,aAAa;IAQ9D,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAY1B,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;CAiBnD"}
@@ -18,6 +18,37 @@ class SerialPort extends stream_1.SerialPortStream {
18
18
  };
19
19
  super(opts, openCallback);
20
20
  }
21
+ async asyncOpen() {
22
+ return new Promise((resolve, reject) => {
23
+ this.open((error) => {
24
+ if (error) {
25
+ reject(new Error(`Error while opening serialport '${error}'`));
26
+ }
27
+ else {
28
+ resolve();
29
+ }
30
+ });
31
+ });
32
+ }
33
+ async asyncFlushAndClose() {
34
+ return new Promise((resolve, reject) => {
35
+ this.flush((flushError) => {
36
+ if (flushError) {
37
+ reject(new Error(`Error while flushing serialport '${flushError}'`));
38
+ }
39
+ else {
40
+ this.close((closeError) => {
41
+ if (closeError) {
42
+ reject(new Error(`Error while closing serialport '${closeError}'`));
43
+ }
44
+ else {
45
+ resolve();
46
+ }
47
+ });
48
+ }
49
+ });
50
+ });
51
+ }
21
52
  }
22
53
  exports.SerialPort = SerialPort;
23
54
  //# sourceMappingURL=serialPort.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serialPort.js","sourceRoot":"","sources":["../../src/adapter/serialPort.ts"],"names":[],"mappings":";;;AAAA,0BAA0B;AAC1B,4BAA4B;AAC5B,4CAA4C;AAC5C,6HAA6H;AAC7H,+CAA+F;AAC/F,2DAA6F;AAE7F,MAAM,eAAe,GAAG,IAAA,yBAAU,GAAE,CAAC;AAIrC,MAAa,UAAwD,SAAQ,yBAAmB;IAC5F,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;IACnC,MAAM,CAAU,OAAO,GAAG,eAAe,CAAC;IAE1C,YAAY,OAAiC,EAAE,YAA4B;QACvE,MAAM,IAAI,GAAmB;YACzB,OAAO,EAAE,eAAoB;YAC7B,GAAG,OAAO;SACb,CAAC;QACF,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC9B,CAAC;;AAVL,gCAWC"}
1
+ {"version":3,"file":"serialPort.js","sourceRoot":"","sources":["../../src/adapter/serialPort.ts"],"names":[],"mappings":";;;AAAA,0BAA0B;AAC1B,4BAA4B;AAC5B,4CAA4C;AAC5C,6HAA6H;AAC7H,+CAA+F;AAC/F,2DAA6F;AAE7F,MAAM,eAAe,GAAG,IAAA,yBAAU,GAAE,CAAC;AAIrC,MAAa,UAAwD,SAAQ,yBAAmB;IAC5F,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;IACnC,MAAM,CAAU,OAAO,GAAG,eAAe,CAAC;IAE1C,YAAY,OAAiC,EAAE,YAA4B;QACvE,MAAM,IAAI,GAAmB;YACzB,OAAO,EAAE,eAAoB;YAC7B,GAAG,OAAO;SACb,CAAC;QACF,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,SAAS;QAClB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAQ,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAmB,EAAQ,EAAE;gBACpC,IAAI,KAAK,EAAE,CAAC;oBACR,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACnE,CAAC;qBAAM,CAAC;oBACJ,OAAO,EAAE,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,kBAAkB;QAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAQ,EAAE;YACzC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAwB,EAAQ,EAAE;gBAC1C,IAAI,UAAU,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,KAAK,CAAC,oCAAoC,UAAU,GAAG,CAAC,CAAC,CAAC;gBACzE,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,KAAK,CAAC,CAAC,UAAwB,EAAQ,EAAE;wBAC1C,IAAI,UAAU,EAAE,CAAC;4BACb,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,UAAU,GAAG,CAAC,CAAC,CAAC;wBACxE,CAAC;6BAAM,CAAC;4BACJ,OAAO,EAAE,CAAC;wBACd,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAA;IACN,CAAC;;AAxCL,gCAyCC"}
@@ -20,6 +20,7 @@ declare class Znp extends events.EventEmitter {
20
20
  private log;
21
21
  private onUnpiParsed;
22
22
  isInitialized(): boolean;
23
+ private onPortError;
23
24
  private onPortClose;
24
25
  open(): Promise<void>;
25
26
  private openSerialPort;