zigbee-herdsman 0.14.38 → 0.14.39

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 (44) hide show
  1. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  2. package/dist/adapter/ezsp/adapter/ezspAdapter.js +63 -40
  3. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  4. package/dist/adapter/ezsp/driver/commands.d.ts +29 -4
  5. package/dist/adapter/ezsp/driver/commands.d.ts.map +1 -1
  6. package/dist/adapter/ezsp/driver/commands.js +2294 -687
  7. package/dist/adapter/ezsp/driver/commands.js.map +1 -1
  8. package/dist/adapter/ezsp/driver/consts.d.ts +11 -0
  9. package/dist/adapter/ezsp/driver/consts.d.ts.map +1 -0
  10. package/dist/adapter/ezsp/driver/consts.js +14 -0
  11. package/dist/adapter/ezsp/driver/consts.js.map +1 -0
  12. package/dist/adapter/ezsp/driver/driver.d.ts +23 -10
  13. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
  14. package/dist/adapter/ezsp/driver/driver.js +113 -77
  15. package/dist/adapter/ezsp/driver/driver.js.map +1 -1
  16. package/dist/adapter/ezsp/driver/ezsp.d.ts +49 -21
  17. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
  18. package/dist/adapter/ezsp/driver/ezsp.js +265 -138
  19. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
  20. package/dist/adapter/ezsp/driver/index.d.ts +2 -2
  21. package/dist/adapter/ezsp/driver/index.d.ts.map +1 -1
  22. package/dist/adapter/ezsp/driver/index.js.map +1 -1
  23. package/dist/adapter/ezsp/driver/multicast.js +1 -1
  24. package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
  25. package/dist/adapter/ezsp/driver/parser.d.ts +12 -0
  26. package/dist/adapter/ezsp/driver/parser.d.ts.map +1 -0
  27. package/dist/adapter/ezsp/driver/parser.js +106 -0
  28. package/dist/adapter/ezsp/driver/parser.js.map +1 -0
  29. package/dist/adapter/ezsp/driver/types/struct.d.ts +13 -0
  30. package/dist/adapter/ezsp/driver/types/struct.d.ts.map +1 -1
  31. package/dist/adapter/ezsp/driver/types/struct.js +16 -1
  32. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  33. package/dist/adapter/ezsp/driver/uart.d.ts +0 -3
  34. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
  35. package/dist/adapter/ezsp/driver/uart.js +49 -194
  36. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  37. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts.map +1 -1
  38. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +2 -8
  39. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +1 -1
  40. package/dist/adapter/ezsp/driver/writer.d.ts +13 -0
  41. package/dist/adapter/ezsp/driver/writer.d.ts.map +1 -0
  42. package/dist/adapter/ezsp/driver/writer.js +84 -0
  43. package/dist/adapter/ezsp/driver/writer.js.map +1 -0
  44. package/package.json +1 -1
@@ -33,20 +33,12 @@ const serialport_1 = __importDefault(require("serialport"));
33
33
  const net_1 = __importDefault(require("net"));
34
34
  const socketPortUtils_1 = __importDefault(require("../../socketPortUtils"));
35
35
  const utils_1 = require("./utils");
36
- const stream = __importStar(require("stream"));
37
36
  const utils_2 = require("../../../utils");
37
+ const consts = __importStar(require("./consts"));
38
+ const writer_1 = require("./writer");
39
+ const parser_1 = require("./parser");
38
40
  const debug_1 = __importDefault(require("debug"));
39
41
  const debug = (0, debug_1.default)('zigbee-herdsman:adapter:ezsp:uart');
40
- const FLAG = 0x7E; // Marks end of frame
41
- const ESCAPE = 0x7D; // Indicates that the following byte is escaped
42
- const CANCEL = 0x1A; // Terminates a frame in progress
43
- const XON = 0x11; // Resume transmission
44
- const XOFF = 0x13; // Stop transmission
45
- const SUBSTITUTE = 0x18; // Replaces a byte received with a low-level communication error
46
- const STUFF = 0x20;
47
- const RESERVED = [FLAG, ESCAPE, XON, XOFF, SUBSTITUTE, CANCEL];
48
- const RANDOMIZE_START = 0x42;
49
- const RANDOMIZE_SEQ = 0xB8;
50
42
  var NcpResetCode;
51
43
  (function (NcpResetCode) {
52
44
  NcpResetCode[NcpResetCode["RESET_UNKNOWN_REASON"] = 0] = "RESET_UNKNOWN_REASON";
@@ -59,100 +51,6 @@ var NcpResetCode;
59
51
  NcpResetCode[NcpResetCode["ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT"] = 81] = "ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT";
60
52
  NcpResetCode[NcpResetCode["ERROR_UNKNOWN_EM3XX_ERROR"] = 128] = "ERROR_UNKNOWN_EM3XX_ERROR";
61
53
  })(NcpResetCode || (NcpResetCode = {}));
62
- class Parser extends stream.Transform {
63
- constructor() {
64
- super();
65
- this.buffer = Buffer.from([]);
66
- }
67
- _transform(chunk, _, cb) {
68
- //debug(`<-- [${[...chunk]}]`);
69
- if (chunk.indexOf(CANCEL) >= 0) {
70
- this.buffer = Buffer.from([]);
71
- chunk = chunk.slice((chunk.lastIndexOf(CANCEL) + 1));
72
- }
73
- if (chunk.indexOf(SUBSTITUTE) >= 0) {
74
- this.buffer = Buffer.from([]);
75
- chunk = chunk.slice((chunk.indexOf(FLAG) + 1));
76
- }
77
- this.buffer = Buffer.concat([this.buffer, chunk]);
78
- this.parseNext();
79
- cb();
80
- }
81
- parseNext() {
82
- //debug(`--- parseNext [${[...this.buffer]}]`);
83
- if (this.buffer.length && this.buffer.indexOf(FLAG) >= 0) {
84
- debug(`<-- [${this.buffer.toString('hex')}] [${[...this.buffer]}]`);
85
- try {
86
- const frame = this.extract_frame();
87
- if (frame) {
88
- this.emit('parsed', frame);
89
- }
90
- }
91
- catch (error) {
92
- debug(`<-- error ${error.stack}`);
93
- }
94
- this.parseNext();
95
- }
96
- }
97
- extract_frame() {
98
- /* Extract a frame from the data buffer */
99
- const place = this.buffer.indexOf(FLAG);
100
- if (place >= 0) {
101
- // todo: check crc data
102
- const result = this.unstuff(this.buffer.slice(0, (place + 1)));
103
- this.buffer = this.buffer.slice((place + 1));
104
- return result;
105
- }
106
- else {
107
- return null;
108
- }
109
- }
110
- unstuff(s) {
111
- /* Unstuff (unescape) a string after receipt */
112
- let escaped = false;
113
- const out = Buffer.alloc(s.length);
114
- let outIdx = 0;
115
- for (let idx = 0; idx < s.length; idx += 1) {
116
- const c = s[idx];
117
- if (escaped) {
118
- out.writeUInt8(c ^ STUFF, outIdx++);
119
- escaped = false;
120
- }
121
- else {
122
- if ((c === ESCAPE)) {
123
- escaped = true;
124
- }
125
- else {
126
- out.writeUInt8(c, outIdx++);
127
- }
128
- }
129
- }
130
- return out;
131
- }
132
- }
133
- class Writer extends stream.Readable {
134
- writeBuffer(buffer) {
135
- debug(`--> [${buffer.toString('hex')}] [${[...buffer]}]`);
136
- this.push(buffer);
137
- }
138
- _read() {
139
- }
140
- stuff(s) {
141
- /* Byte stuff (escape) a string for transmission */
142
- const out = Buffer.alloc(256);
143
- let outIdx = 0;
144
- for (const c of s) {
145
- if (RESERVED.includes(c)) {
146
- out.writeUInt8(ESCAPE, outIdx++);
147
- out.writeUInt8(c ^ STUFF, outIdx++);
148
- }
149
- else {
150
- out.writeUInt8(c, outIdx++);
151
- }
152
- }
153
- return out.slice(0, outIdx);
154
- }
155
- }
156
54
  class SerialDriver extends events_1.EventEmitter {
157
55
  constructor() {
158
56
  super();
@@ -160,7 +58,7 @@ class SerialDriver extends events_1.EventEmitter {
160
58
  this.recvSeq = 0; // next frame number to receive
161
59
  this.ackSeq = 0; // next number after the last accepted frame
162
60
  this.initialized = false;
163
- this.queue = new utils_2.Queue();
61
+ this.queue = new utils_2.Queue(8);
164
62
  this.waitress = new utils_2.Waitress(this.waitressValidator, this.waitressTimeoutFormatter);
165
63
  }
166
64
  async connect(path, options) {
@@ -180,11 +78,11 @@ class SerialDriver extends events_1.EventEmitter {
180
78
  };
181
79
  debug(`Opening SerialPort with ${path} and ${JSON.stringify(options)}`);
182
80
  this.serialPort = new serialport_1.default(path, options);
183
- this.writer = new Writer();
81
+ this.writer = new writer_1.Writer();
184
82
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
185
83
  // @ts-ignore
186
84
  this.writer.pipe(this.serialPort);
187
- this.parser = new Parser();
85
+ this.parser = new parser_1.Parser();
188
86
  this.serialPort.pipe(this.parser);
189
87
  this.parser.on('parsed', this.onParsed.bind(this));
190
88
  return new Promise((resolve, reject) => {
@@ -217,9 +115,9 @@ class SerialDriver extends events_1.EventEmitter {
217
115
  this.socketPort = new net_1.default.Socket();
218
116
  this.socketPort.setNoDelay(true);
219
117
  this.socketPort.setKeepAlive(true, 15000);
220
- this.writer = new Writer();
118
+ this.writer = new writer_1.Writer();
221
119
  this.writer.pipe(this.socketPort);
222
- this.parser = new Parser();
120
+ this.parser = new parser_1.Parser();
223
121
  this.socketPort.pipe(this.parser);
224
122
  this.parser.on('parsed', this.onParsed.bind(this));
225
123
  return new Promise((resolve, reject) => {
@@ -250,27 +148,27 @@ class SerialDriver extends events_1.EventEmitter {
250
148
  /* Frame receive handler */
251
149
  switch (true) {
252
150
  case ((data[0] & 0x80) === 0):
253
- debug(`Recv DATA frame (${(data[0] & 0x70) >> 4},` +
151
+ debug(`<-- DATA (${(data[0] & 0x70) >> 4},` +
254
152
  `${data[0] & 0x07},${(data[0] & 0x08) >> 3}): ${data.toString('hex')}`);
255
153
  this.handleDATA(data);
256
154
  break;
257
155
  case ((data[0] & 0xE0) === 0x80):
258
- debug(`Recv ACK frame (${data[0] & 0x07}): ${data.toString('hex')}`);
156
+ debug(`<-- ACK (${data[0] & 0x07}): ${data.toString('hex')}`);
259
157
  this.handleACK(data[0]);
260
158
  break;
261
159
  case ((data[0] & 0xE0) === 0xA0):
262
- debug(`Recv NAK frame (${data[0] & 0x07}): ${data.toString('hex')}`);
160
+ debug(`<-- NAK (${data[0] & 0x07}): ${data.toString('hex')}`);
263
161
  this.handleNAK(data[0]);
264
162
  break;
265
163
  case (data[0] === 0xC0):
266
- debug(`Recv RST frame: ${data.toString('hex')}`);
164
+ debug(`<-- RST: ${data.toString('hex')}`);
267
165
  break;
268
166
  case (data[0] === 0xC1):
269
- debug(`RSTACK frame: ${data.toString('hex')}`);
167
+ debug(`<-- RSTACK: ${data.toString('hex')}`);
270
168
  this.rstack_frame_received(data);
271
169
  break;
272
170
  case (data[0] === 0xC2):
273
- debug(`Error frame : ${data.toString('hex')}`);
171
+ debug(`<-- Error: ${data.toString('hex')}`);
274
172
  break;
275
173
  default:
276
174
  debug("UNKNOWN FRAME RECEIVED: %r", data);
@@ -289,7 +187,8 @@ class SerialDriver extends events_1.EventEmitter {
289
187
  // debug('NAK-NAK');
290
188
  // }
291
189
  this.recvSeq = (frmNum + 1) & 7; // next
292
- this.sendACK(this.recvSeq);
190
+ debug(`--> ACK (${this.recvSeq})`);
191
+ this.writer.sendACK(this.recvSeq);
293
192
  this.handleACK(data[0]);
294
193
  data = data.slice(1, (-3));
295
194
  const frame = this.randomize(data);
@@ -299,18 +198,10 @@ class SerialDriver extends events_1.EventEmitter {
299
198
  /* Handle an acknowledgement frame */
300
199
  // next number after the last accepted frame
301
200
  this.ackSeq = control & 0x07;
302
- // const handled = this.waitress.resolve({sequence: this.ackSeq});
303
- // if (!handled) {
304
- // debug(`Unexpected packet sequence ${this.ackSeq}`);
305
- // } else {
306
- // debug(`Expected packet sequence ${this.ackSeq}`);
307
- // }
308
- // var ack, pending;
309
- // ack = (((control & 7) - 1) % 8);
310
- // if ((ack === this._pending[0])) {
311
- // [pending, this._pending] = [this._pending, [(- 1), null]];
312
- // pending[1].set_result(true);
313
- // }
201
+ const handled = this.waitress.resolve({ sequence: this.ackSeq });
202
+ if (!handled && this.sendSeq !== this.ackSeq) {
203
+ debug(`Unexpected packet sequence ${this.ackSeq} | ${this.sendSeq}`);
204
+ }
314
205
  }
315
206
  handleNAK(control) {
316
207
  /* Handle negative acknowledgment frame */
@@ -323,9 +214,6 @@ class SerialDriver extends events_1.EventEmitter {
323
214
  else {
324
215
  debug(`NAK Expected packet sequence ${nakNum}`);
325
216
  }
326
- // if ((nak === this._pending[0])) {
327
- // this._pending[1].set_result(false);
328
- // }
329
217
  }
330
218
  rstack_frame_received(data) {
331
219
  /* Reset acknowledgement frame receive handler */
@@ -339,7 +227,6 @@ class SerialDriver extends events_1.EventEmitter {
339
227
  code = NcpResetCode.ERROR_UNKNOWN_EM3XX_ERROR;
340
228
  }
341
229
  debug("RSTACK Version: %d Reason: %s frame: %s", data[1], code.toString(), data.toString('hex'));
342
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
343
230
  if (NcpResetCode[code].toString() !== NcpResetCode.RESET_SOFTWARE.toString()) {
344
231
  return;
345
232
  }
@@ -347,28 +234,19 @@ class SerialDriver extends events_1.EventEmitter {
347
234
  debug("Reset future is None");
348
235
  return;
349
236
  }
350
- this.resetDeferred.resolve(true);
351
- }
352
- make_frame(control, data) {
353
- /* Construct a frame */
354
- const ctrlArr = Array.from(control);
355
- const dataArr = (data && Array.from(data)) || [];
356
- const sum = ctrlArr.concat(dataArr);
357
- const crc = (0, utils_1.crc16ccitt)(Buffer.from(sum), 65535);
358
- const crcArr = [(crc >> 8), (crc % 256)];
359
- return Buffer.concat([this.writer.stuff(sum.concat(crcArr)), Buffer.from([FLAG])]);
237
+ this.resetDeferred.resolve();
360
238
  }
361
239
  randomize(s) {
362
240
  /*XOR s with a pseudo-random sequence for transmission
363
241
  Used only in data frames
364
242
  */
365
- let rand = RANDOMIZE_START;
243
+ let rand = consts.RANDOMIZE_START;
366
244
  const out = Buffer.alloc(s.length);
367
245
  let outIdx = 0;
368
246
  for (const c of s) {
369
247
  out.writeUInt8(c ^ rand, outIdx++);
370
248
  if ((rand % 2)) {
371
- rand = ((rand >> 1) ^ RANDOMIZE_SEQ);
249
+ rand = ((rand >> 1) ^ consts.RANDOMIZE_SEQ);
372
250
  }
373
251
  else {
374
252
  rand = (rand >> 1);
@@ -376,22 +254,14 @@ class SerialDriver extends events_1.EventEmitter {
376
254
  }
377
255
  return out;
378
256
  }
379
- makeDataFrame(data, seq, rxmit, ackSeq) {
380
- /* Construct a data frame */
381
- const control = (((seq << 4) | (rxmit << 3)) | ackSeq);
382
- return this.make_frame([control], this.randomize(data));
383
- }
384
257
  async reset() {
385
- // return this._gw.reset();
386
- debug('uart reseting');
258
+ debug('Uart reseting');
387
259
  if ((this.resetDeferred)) {
388
260
  throw new TypeError("reset can only be called on a new connection");
389
261
  }
390
- /* Construct a reset frame */
391
- const rst_frame = Buffer.concat([Buffer.from([CANCEL]), this.make_frame([0xC0])]);
392
- debug(`Write reset`);
262
+ debug(`--> Write reset`);
393
263
  this.resetDeferred = new utils_1.Deferred();
394
- this.writer.writeBuffer(rst_frame);
264
+ this.writer.sendReset();
395
265
  return this.resetDeferred.promise;
396
266
  }
397
267
  close() {
@@ -428,52 +298,37 @@ class SerialDriver extends events_1.EventEmitter {
428
298
  isInitialized() {
429
299
  return this.initialized;
430
300
  }
431
- sendACK(ackNum) {
432
- /* Construct a acknowledgement frame */
433
- const ackFrame = this.make_frame([(0b10000000 | ackNum)]);
434
- debug(`Send ACK frame (${ackNum})`);
435
- this.writer.writeBuffer(ackFrame);
436
- }
437
301
  async sendDATA(data) {
438
302
  const seq = this.sendSeq;
439
303
  this.sendSeq = ((seq + 1) % 8); // next
440
304
  const nextSeq = this.sendSeq;
441
305
  const ackSeq = this.recvSeq;
442
- let pack;
443
306
  return this.queue.execute(async () => {
444
- debug(`Send DATA frame (${seq},${ackSeq},0): ${data.toString('hex')}`);
445
- pack = this.makeDataFrame(data, seq, 0, ackSeq);
446
- // const waiter = this.waitFor(nextSeq).start();
447
- debug(`waiting (${nextSeq})`);
448
- this.writer.writeBuffer(pack);
449
- // await waiter.promise.catch(async () => {
450
- // debug(`break waiting (${nextSeq})`);
451
- // debug(`Can't send DATA frame (${seq},${ackSeq},0): ${data.toString('hex')}`);
452
- // debug(`Resend DATA frame (${seq},${ackSeq},1): ${data.toString('hex')}`);
453
- // pack = this.makeDataFrame(data, seq, 1, ackSeq);
454
- // const waiter = this.waitFor(nextSeq).start();
455
- // debug(`rewaiting (${nextSeq})`);
456
- // this.writer.writeBuffer(pack);
457
- // await waiter.promise.catch((e) => {
458
- // debug(`break rewaiting (${nextSeq})`);
459
- // debug(`Can't resend DATA frame (${seq},${ackSeq},1): ${data.toString('hex')}`);
460
- // throw new Error(`sendDATA error: ${e}`);
461
- // });
462
- // debug(`rewaiting (${nextSeq}) success`);
463
- // });
464
- debug(`waiting (${nextSeq}) success`);
307
+ debug(`--> DATA (${seq},${ackSeq},0): ${data.toString('hex')}`);
308
+ const randData = this.randomize(data);
309
+ const waiter = this.waitFor(nextSeq).start();
310
+ this.writer.sendData(randData, seq, 0, ackSeq);
311
+ debug(`-?- waiting (${nextSeq})`);
312
+ return waiter.promise.catch(async () => {
313
+ debug(`-!- break waiting (${nextSeq})`);
314
+ debug(`Can't send DATA frame (${seq},${ackSeq},0): ${data.toString('hex')}`);
315
+ debug(`->> DATA (${seq},${ackSeq},1): ${data.toString('hex')}`);
316
+ const waiter = this.waitFor(nextSeq).start();
317
+ this.writer.sendData(randData, seq, 1, ackSeq);
318
+ debug(`-?- rewaiting (${nextSeq})`);
319
+ return waiter.promise.catch((e) => {
320
+ debug(`-!- break rewaiting (${nextSeq})`);
321
+ debug(`Can't resend DATA frame (${seq},${ackSeq},1): ${data.toString('hex')}`);
322
+ throw new Error(`sendDATA error: ${e}`);
323
+ }).then(() => {
324
+ debug(`-+- rewaiting (${nextSeq}) success`);
325
+ });
326
+ }).then(() => {
327
+ debug(`-+- waiting (${nextSeq}) success`);
328
+ });
465
329
  });
466
- // try {
467
- // debug(`Send DATA frame (${seq},${this.recvSeq},0): ${data.toString('hex')}`);
468
- // pack = this.data_frame(data, seq, 0);
469
- // this.writer.writeBuffer(pack);
470
- // } catch (e) {
471
- // debug(`Send DATA frame (${seq},${this.recvSeq},1): ${data.toString('hex')}`);
472
- // pack = this.data_frame(data, seq, 1);
473
- // this.writer.writeBuffer(pack);
474
- // }
475
330
  }
476
- waitFor(sequence, timeout = 10000) {
331
+ waitFor(sequence, timeout = 1000) {
477
332
  return this.waitress.waitFor({ sequence }, timeout);
478
333
  }
479
334
  waitressTimeoutFormatter(matcher, timeout) {
@@ -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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"crc16ccitt.d.ts","sourceRoot":"","sources":["../../../../../src/adapter/ezsp/driver/utils/crc16ccitt.ts"],"names":[],"mappings":"AAmDA,QAAA,MAAM,UAAU,UAWd,CAAC;AAEH,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"crc16ccitt.d.ts","sourceRoot":"","sources":["../../../../../src/adapter/ezsp/driver/utils/crc16ccitt.ts"],"names":[],"mappings":"AAkDA,QAAA,MAAM,UAAU,UAOd,CAAC;AAEH,eAAe,UAAU,CAAC"}
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- /* istanbul ignore file */
4
- const buffer_1 = require("buffer");
5
3
  /* eslint-disable-next-line @typescript-eslint/ban-types*/
6
4
  function defineCrc(model, calc) {
7
5
  /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
@@ -47,13 +45,9 @@ const TABLE = [
47
45
  0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8,
48
46
  0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0
49
47
  ];
50
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
51
48
  const crc16ccitt = defineCrc('ccitt', function (buf, previous) {
52
- if (!buffer_1.Buffer.isBuffer(buf))
53
- buf = buffer_1.Buffer.from(buf);
54
- let crc = typeof previous !== 'undefined' ? ~~previous : 0xffff;
55
- for (let index = 0; index < buf.length; index++) {
56
- const byte = buf[index];
49
+ let crc = ~~previous;
50
+ for (const byte of buf) {
57
51
  crc = (TABLE[((crc >> 8) ^ byte) & 0xff] ^ (crc << 8)) & 0xffff;
58
52
  }
59
53
  return crc;
@@ -1 +1 @@
1
- {"version":3,"file":"crc16ccitt.js","sourceRoot":"","sources":["../../../../../src/adapter/ezsp/driver/utils/crc16ccitt.ts"],"names":[],"mappings":";;AAAA,0BAA0B;AAC1B,mCAA8B;AAC9B,0DAA0D;AAC1D,SAAS,SAAS,CAAC,KAAa,EAAE,IAAc;IAC5C,gEAAgE;IAChE,MAAM,EAAE,GAAG,CAAC,GAAQ,EAAE,QAAa,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1E,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;IACjB,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC;IACjB,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;IAEjB,OAAO,EAAE,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,kBAAkB;AAClB,MAAM,KAAK,GAAa;IACpB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CACjE,CAAC;AAEF,gEAAgE;AAChE,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,EAAE,UAAU,GAAQ,EAAE,QAAa;IACnE,IAAI,CAAC,eAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,GAAG,GAAG,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAElD,IAAI,GAAG,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IAEhE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;QACxB,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;KACnE;IAED,OAAO,GAAG,CAAC;AACf,CAAC,CAAC,CAAC;AAEH,kBAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"crc16ccitt.js","sourceRoot":"","sources":["../../../../../src/adapter/ezsp/driver/utils/crc16ccitt.ts"],"names":[],"mappings":";;AAEA,0DAA0D;AAC1D,SAAS,SAAS,CAAC,KAAa,EAAE,IAAc;IAC5C,gEAAgE;IAChE,MAAM,EAAE,GAAG,CAAC,GAAQ,EAAE,QAAa,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1E,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;IACjB,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC;IACjB,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;IAEjB,OAAO,EAAE,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,kBAAkB;AAClB,MAAM,KAAK,GAAa;IACpB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CACjE,CAAC;AAEF,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,EAAE,UAAU,GAAW,EAAE,QAAgB;IACzE,IAAI,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;QACpB,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;KACnE;IAED,OAAO,GAAG,CAAC;AACf,CAAC,CAAC,CAAC;AAEH,kBAAe,UAAU,CAAC"}
@@ -0,0 +1,13 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import * as stream from 'stream';
4
+ export declare class Writer extends stream.Readable {
5
+ writeBuffer(buffer: Buffer): void;
6
+ _read(): void;
7
+ sendACK(ackNum: number): void;
8
+ sendReset(): void;
9
+ sendData(data: Buffer, seq: number, rxmit: number, ackSeq: number): void;
10
+ private stuff;
11
+ private makeFrame;
12
+ }
13
+ //# sourceMappingURL=writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/writer.ts"],"names":[],"mappings":";;AACA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAOjC,qBAAa,MAAO,SAAQ,MAAM,CAAC,QAAQ;IAChC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKjC,KAAK,IAAI,IAAI;IAGb,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM7B,SAAS,IAAI,IAAI;IAMjB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAO/E,OAAO,CAAC,KAAK;IAeb,OAAO,CAAC,SAAS;CAQpB"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.Writer = void 0;
30
+ /* istanbul ignore file */
31
+ const stream = __importStar(require("stream"));
32
+ const consts = __importStar(require("./consts"));
33
+ const utils_1 = require("./utils");
34
+ const debug_1 = __importDefault(require("debug"));
35
+ const debug = (0, debug_1.default)('zigbee-herdsman:adapter:ezsp:uart');
36
+ class Writer extends stream.Readable {
37
+ writeBuffer(buffer) {
38
+ debug(`--> [${buffer.toString('hex')}]`);
39
+ this.push(buffer);
40
+ }
41
+ _read() {
42
+ }
43
+ sendACK(ackNum) {
44
+ /* Construct a acknowledgement frame */
45
+ const ackFrame = this.makeFrame((0b10000000 | ackNum));
46
+ this.writeBuffer(ackFrame);
47
+ }
48
+ sendReset() {
49
+ /* Construct a reset frame */
50
+ const rstFrame = Buffer.concat([Buffer.from([consts.CANCEL]), this.makeFrame(0xC0)]);
51
+ this.writeBuffer(rstFrame);
52
+ }
53
+ sendData(data, seq, rxmit, ackSeq) {
54
+ /* Construct a data frame */
55
+ const control = (((seq << 4) | (rxmit << 3)) | ackSeq);
56
+ const dataFrame = this.makeFrame(control, data);
57
+ this.writeBuffer(dataFrame);
58
+ }
59
+ stuff(s) {
60
+ /* Byte stuff (escape) a string for transmission */
61
+ const out = Buffer.alloc(256);
62
+ let outIdx = 0;
63
+ for (const c of s) {
64
+ if (consts.RESERVED.includes(c)) {
65
+ out.writeUInt8(consts.ESCAPE, outIdx++);
66
+ out.writeUInt8(c ^ consts.STUFF, outIdx++);
67
+ }
68
+ else {
69
+ out.writeUInt8(c, outIdx++);
70
+ }
71
+ }
72
+ return out.slice(0, outIdx);
73
+ }
74
+ makeFrame(control, data) {
75
+ /* Construct a frame */
76
+ const ctrl = Buffer.from([control]);
77
+ const frm = (data) ? Buffer.concat([ctrl, data]) : ctrl;
78
+ const crc = (0, utils_1.crc16ccitt)(frm, 65535);
79
+ const crcArr = Buffer.from([(crc >> 8), (crc % 256)]);
80
+ return Buffer.concat([this.stuff(Buffer.concat([frm, crcArr])), Buffer.from([consts.FLAG])]);
81
+ }
82
+ }
83
+ exports.Writer = Writer;
84
+ //# sourceMappingURL=writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/writer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -83,7 +83,7 @@
83
83
  "eslint": "node_modules/.bin/eslint . --ext .ts --max-warnings=0",
84
84
  "docs": "typedoc --tsconfig typedoc-tsconfig.json"
85
85
  },
86
- "version": "0.14.38",
86
+ "version": "0.14.39",
87
87
  "jest": {
88
88
  "coverageThreshold": {
89
89
  "global": {