zigbee-herdsman 0.32.4 → 0.32.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.
- package/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +7 -0
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +0 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.js +1 -10
- package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
- package/dist/adapter/ezsp/driver/driver.d.ts +2 -4
- package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/driver.js +30 -32
- package/dist/adapter/ezsp/driver/driver.js.map +1 -1
- package/dist/adapter/ezsp/driver/ezsp.d.ts +11 -4
- package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/ezsp.js +38 -42
- package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
- package/dist/adapter/ezsp/driver/frame.d.ts +40 -0
- package/dist/adapter/ezsp/driver/frame.d.ts.map +1 -0
- package/dist/adapter/ezsp/driver/frame.js +101 -0
- package/dist/adapter/ezsp/driver/frame.js.map +1 -0
- package/dist/adapter/ezsp/driver/parser.d.ts +0 -1
- package/dist/adapter/ezsp/driver/parser.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/parser.js +19 -22
- package/dist/adapter/ezsp/driver/parser.js.map +1 -1
- package/dist/adapter/ezsp/driver/uart.d.ts +5 -3
- package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/uart.js +72 -106
- package/dist/adapter/ezsp/driver/uart.js.map +1 -1
- package/package.json +1 -1
|
@@ -236,11 +236,11 @@ class Ezsp extends events_1.EventEmitter {
|
|
|
236
236
|
this.serialDriver.on('received', this.onFrameReceived.bind(this));
|
|
237
237
|
this.serialDriver.on('close', this.onClose.bind(this));
|
|
238
238
|
}
|
|
239
|
-
async connect(
|
|
239
|
+
async connect(options) {
|
|
240
240
|
let lastError = null;
|
|
241
241
|
for (let i = 1; i <= MAX_SERIAL_CONNECT_ATTEMPTS; i++) {
|
|
242
242
|
try {
|
|
243
|
-
await this.serialDriver.connect(
|
|
243
|
+
await this.serialDriver.connect(options);
|
|
244
244
|
break;
|
|
245
245
|
}
|
|
246
246
|
catch (error) {
|
|
@@ -264,55 +264,53 @@ class Ezsp extends events_1.EventEmitter {
|
|
|
264
264
|
debug.log('Close ezsp');
|
|
265
265
|
this.emit('close');
|
|
266
266
|
}
|
|
267
|
-
async close(
|
|
267
|
+
async close() {
|
|
268
268
|
debug.log('Stop ezsp');
|
|
269
|
-
|
|
270
|
-
clearTimeout(this.watchdogTimer);
|
|
271
|
-
}
|
|
269
|
+
clearTimeout(this.watchdogTimer);
|
|
272
270
|
this.queue.clear();
|
|
273
271
|
await this.serialDriver.close();
|
|
274
272
|
}
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
273
|
+
/**
|
|
274
|
+
* Handle a received EZSP frame
|
|
275
|
+
*
|
|
276
|
+
* The protocol has taken care of UART specific framing etc, so we should
|
|
277
|
+
* just have EZSP application stuff here, with all escaping/stuffing and
|
|
278
|
+
* data randomization removed.
|
|
279
|
+
* @param data
|
|
280
|
+
*/
|
|
278
281
|
onFrameReceived(data) {
|
|
279
|
-
/*Handle a received EZSP frame
|
|
280
|
-
|
|
281
|
-
The protocol has taken care of UART specific framing etc, so we should
|
|
282
|
-
just have EZSP application stuff here, with all escaping/stuffing and
|
|
283
|
-
data randomization removed.
|
|
284
|
-
*/
|
|
285
282
|
debug.log(`<== Frame: ${data.toString('hex')}`);
|
|
286
|
-
let
|
|
283
|
+
let frameId;
|
|
284
|
+
const sequence = data[0];
|
|
287
285
|
if ((this.ezspV < 8)) {
|
|
288
|
-
[
|
|
286
|
+
[frameId, data] = [data[2], data.subarray(3)];
|
|
289
287
|
}
|
|
290
288
|
else {
|
|
291
|
-
|
|
292
|
-
[[frame_id], data] = t.deserialize(data.subarray(3), [t.uint16_t]);
|
|
289
|
+
[[frameId], data] = t.deserialize(data.subarray(3), [t.uint16_t]);
|
|
293
290
|
}
|
|
294
|
-
if ((
|
|
295
|
-
|
|
291
|
+
if ((frameId === 255)) {
|
|
292
|
+
frameId = 0;
|
|
296
293
|
if ((data.length > 1)) {
|
|
297
|
-
|
|
294
|
+
frameId = data[1];
|
|
298
295
|
data = data.subarray(2);
|
|
299
296
|
}
|
|
300
297
|
}
|
|
301
|
-
const frm = EZSPFrameData.createFrame(this.ezspV,
|
|
298
|
+
const frm = EZSPFrameData.createFrame(this.ezspV, frameId, false, data);
|
|
302
299
|
if (!frm) {
|
|
303
|
-
debug.error(`Unparsed frame 0x${
|
|
300
|
+
debug.error(`Unparsed frame 0x${frameId.toString(16)}. Skipped`);
|
|
304
301
|
return;
|
|
305
302
|
}
|
|
306
|
-
debug.log(`<== 0x${
|
|
303
|
+
debug.log(`<== 0x${frameId.toString(16)}: ${JSON.stringify(frm)}`);
|
|
307
304
|
const handled = this.waitress.resolve({
|
|
308
|
-
frameId
|
|
305
|
+
frameId,
|
|
309
306
|
frameName: frm.name,
|
|
310
|
-
sequence
|
|
307
|
+
sequence,
|
|
311
308
|
payload: frm
|
|
312
309
|
});
|
|
313
|
-
if (!handled)
|
|
310
|
+
if (!handled) {
|
|
314
311
|
this.emit('frame', frm.name, frm);
|
|
315
|
-
|
|
312
|
+
}
|
|
313
|
+
if ((frameId === 0)) {
|
|
316
314
|
this.ezspV = frm.protocolVersion;
|
|
317
315
|
}
|
|
318
316
|
}
|
|
@@ -326,7 +324,7 @@ class Ezsp extends events_1.EventEmitter {
|
|
|
326
324
|
return result.protocolVersion;
|
|
327
325
|
}
|
|
328
326
|
async networkInit() {
|
|
329
|
-
const waiter = this.waitFor("stackStatusHandler", null)
|
|
327
|
+
const waiter = this.waitFor("stackStatusHandler", null);
|
|
330
328
|
const result = await this.execCommand("networkInit");
|
|
331
329
|
debug.log('network init result: ', JSON.stringify(result));
|
|
332
330
|
if ((result.status !== named_1.EmberStatus.SUCCESS)) {
|
|
@@ -334,11 +332,11 @@ class Ezsp extends events_1.EventEmitter {
|
|
|
334
332
|
debug.log("Failure to init network");
|
|
335
333
|
return false;
|
|
336
334
|
}
|
|
337
|
-
const response = await waiter.promise;
|
|
335
|
+
const response = await waiter.start().promise;
|
|
338
336
|
return response.payload.status == named_1.EmberStatus.NETWORK_UP;
|
|
339
337
|
}
|
|
340
338
|
async leaveNetwork() {
|
|
341
|
-
const waiter = this.waitFor("stackStatusHandler", null)
|
|
339
|
+
const waiter = this.waitFor("stackStatusHandler", null);
|
|
342
340
|
const result = await this.execCommand("leaveNetwork");
|
|
343
341
|
debug.log('network init result', JSON.stringify(result));
|
|
344
342
|
if ((result.status !== named_1.EmberStatus.SUCCESS)) {
|
|
@@ -346,7 +344,7 @@ class Ezsp extends events_1.EventEmitter {
|
|
|
346
344
|
debug.log("Failure to leave network");
|
|
347
345
|
throw new Error(("Failure to leave network: " + JSON.stringify(result)));
|
|
348
346
|
}
|
|
349
|
-
const response = await waiter.promise;
|
|
347
|
+
const response = await waiter.start().promise;
|
|
350
348
|
if ((response.payload.status !== named_1.EmberStatus.NETWORK_DOWN)) {
|
|
351
349
|
debug.log("Wrong network status: " + JSON.stringify(response.payload));
|
|
352
350
|
throw new Error(("Wrong network status: " + JSON.stringify(response.payload)));
|
|
@@ -499,34 +497,32 @@ class Ezsp extends events_1.EventEmitter {
|
|
|
499
497
|
const data = this.makeFrame(name, params, this.cmdSeq);
|
|
500
498
|
const waiter = this.waitFor(name, this.cmdSeq);
|
|
501
499
|
this.cmdSeq = (this.cmdSeq + 1) & 255;
|
|
502
|
-
|
|
500
|
+
try {
|
|
501
|
+
await this.serialDriver.sendDATA(data);
|
|
503
502
|
const response = await waiter.start().promise;
|
|
504
503
|
return response.payload;
|
|
505
|
-
}
|
|
504
|
+
}
|
|
505
|
+
catch (error) {
|
|
506
506
|
this.waitress.remove(waiter.ID);
|
|
507
507
|
throw new Error(`Failure send ${name}:` + JSON.stringify(data));
|
|
508
|
-
}
|
|
508
|
+
}
|
|
509
509
|
});
|
|
510
510
|
}
|
|
511
511
|
async formNetwork(params) {
|
|
512
|
-
const waiter = this.waitFor("stackStatusHandler", null)
|
|
512
|
+
const waiter = this.waitFor("stackStatusHandler", null);
|
|
513
513
|
const v = await this.execCommand("formNetwork", { parameters: params });
|
|
514
514
|
if ((v.status !== named_1.EmberStatus.SUCCESS)) {
|
|
515
515
|
this.waitress.remove(waiter.ID);
|
|
516
516
|
debug.error("Failure forming network: " + JSON.stringify(v));
|
|
517
517
|
throw new Error(("Failure forming network: " + JSON.stringify(v)));
|
|
518
518
|
}
|
|
519
|
-
const response = await waiter.promise;
|
|
519
|
+
const response = await waiter.start().promise;
|
|
520
520
|
if ((response.payload.status !== named_1.EmberStatus.NETWORK_UP)) {
|
|
521
521
|
debug.error("Wrong network status: " + JSON.stringify(response.payload));
|
|
522
522
|
throw new Error(("Wrong network status: " + JSON.stringify(response.payload)));
|
|
523
523
|
}
|
|
524
524
|
return response.payload.status;
|
|
525
525
|
}
|
|
526
|
-
parse_frame_payload(name, data) {
|
|
527
|
-
const frame = new EZSPZDOResponseFrameData(name, data);
|
|
528
|
-
return frame;
|
|
529
|
-
}
|
|
530
526
|
sendUnicast(direct, nwk, apsFrame, seq, data) {
|
|
531
527
|
return this.execCommand('sendUnicast', {
|
|
532
528
|
type: direct,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ezsp.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/ezsp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ezsp.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/ezsp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export declare enum FrameType {
|
|
3
|
+
UNKNOWN = 0,
|
|
4
|
+
ERROR = 1,
|
|
5
|
+
DATA = 2,
|
|
6
|
+
ACK = 3,
|
|
7
|
+
NAK = 4,
|
|
8
|
+
RST = 5,
|
|
9
|
+
RSTACK = 6
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Basic class to handle uart-level frames
|
|
13
|
+
* https://www.silabs.com/documents/public/user-guides/ug101-uart-gateway-protocol-reference.pdf
|
|
14
|
+
*/
|
|
15
|
+
export declare class Frame {
|
|
16
|
+
/**
|
|
17
|
+
* Type of the Frame as determined by its control byte.
|
|
18
|
+
*/
|
|
19
|
+
readonly type: FrameType;
|
|
20
|
+
readonly buffer: Buffer;
|
|
21
|
+
constructor(buffer: Buffer);
|
|
22
|
+
get control(): number;
|
|
23
|
+
static fromBuffer(buffer: Buffer): Frame;
|
|
24
|
+
/**
|
|
25
|
+
* XOR s with a pseudo-random sequence for transmission.
|
|
26
|
+
* Used only in data frames.
|
|
27
|
+
*/
|
|
28
|
+
static makeRandomizedBuffer(buffer: Buffer): Buffer;
|
|
29
|
+
/**
|
|
30
|
+
* Throws on CRC error.
|
|
31
|
+
*/
|
|
32
|
+
checkCRC(): void;
|
|
33
|
+
/**
|
|
34
|
+
*
|
|
35
|
+
* @returns Buffer to hex string
|
|
36
|
+
*/
|
|
37
|
+
toString(): string;
|
|
38
|
+
}
|
|
39
|
+
export default Frame;
|
|
40
|
+
//# sourceMappingURL=frame.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/frame.ts"],"names":[],"mappings":";AAIA,oBAAY,SAAS;IACjB,OAAO,IAAI;IACX,KAAK,IAAI;IACT,IAAI,IAAI;IACR,GAAG,IAAI;IACP,GAAG,IAAI;IACP,GAAG,IAAI;IACP,MAAM,IAAI;CACb;AAED;;;GAGG;AACH,qBAAa,KAAK;IACd;;OAEG;IACH,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM;IAsBjC,IAAI,OAAO,IAAI,MAAM,CAEpB;WAEa,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK;IAI/C;;;OAGG;WACW,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAkB1D;;OAEG;IACI,QAAQ,IAAI,IAAI;IAUvB;;;OAGG;IACI,QAAQ,IAAI,MAAM;CAG5B;AAED,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Frame = exports.FrameType = void 0;
|
|
7
|
+
/* istanbul ignore file */
|
|
8
|
+
const consts_1 = require("./consts");
|
|
9
|
+
const crc16ccitt_1 = __importDefault(require("./utils/crc16ccitt"));
|
|
10
|
+
var FrameType;
|
|
11
|
+
(function (FrameType) {
|
|
12
|
+
FrameType[FrameType["UNKNOWN"] = 0] = "UNKNOWN";
|
|
13
|
+
FrameType[FrameType["ERROR"] = 1] = "ERROR";
|
|
14
|
+
FrameType[FrameType["DATA"] = 2] = "DATA";
|
|
15
|
+
FrameType[FrameType["ACK"] = 3] = "ACK";
|
|
16
|
+
FrameType[FrameType["NAK"] = 4] = "NAK";
|
|
17
|
+
FrameType[FrameType["RST"] = 5] = "RST";
|
|
18
|
+
FrameType[FrameType["RSTACK"] = 6] = "RSTACK";
|
|
19
|
+
})(FrameType || (exports.FrameType = FrameType = {}));
|
|
20
|
+
/**
|
|
21
|
+
* Basic class to handle uart-level frames
|
|
22
|
+
* https://www.silabs.com/documents/public/user-guides/ug101-uart-gateway-protocol-reference.pdf
|
|
23
|
+
*/
|
|
24
|
+
class Frame {
|
|
25
|
+
/**
|
|
26
|
+
* Type of the Frame as determined by its control byte.
|
|
27
|
+
*/
|
|
28
|
+
type;
|
|
29
|
+
buffer;
|
|
30
|
+
constructor(buffer) {
|
|
31
|
+
this.buffer = buffer;
|
|
32
|
+
const ctrlByte = this.buffer[0];
|
|
33
|
+
if ((ctrlByte & 0x80) === 0) {
|
|
34
|
+
this.type = FrameType.DATA;
|
|
35
|
+
}
|
|
36
|
+
else if ((ctrlByte & 0xE0) === 0x80) {
|
|
37
|
+
this.type = FrameType.ACK;
|
|
38
|
+
}
|
|
39
|
+
else if ((ctrlByte & 0xE0) === 0xA0) {
|
|
40
|
+
this.type = FrameType.NAK;
|
|
41
|
+
}
|
|
42
|
+
else if (ctrlByte === 0xC0) {
|
|
43
|
+
this.type = FrameType.RST;
|
|
44
|
+
}
|
|
45
|
+
else if (ctrlByte === 0xC1) {
|
|
46
|
+
this.type = FrameType.RSTACK;
|
|
47
|
+
}
|
|
48
|
+
else if (ctrlByte === 0xC2) {
|
|
49
|
+
this.type = FrameType.ERROR;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
this.type = FrameType.UNKNOWN;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
get control() {
|
|
56
|
+
return this.buffer[0];
|
|
57
|
+
}
|
|
58
|
+
static fromBuffer(buffer) {
|
|
59
|
+
return new Frame(buffer);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* XOR s with a pseudo-random sequence for transmission.
|
|
63
|
+
* Used only in data frames.
|
|
64
|
+
*/
|
|
65
|
+
static makeRandomizedBuffer(buffer) {
|
|
66
|
+
let rand = consts_1.RANDOMIZE_START;
|
|
67
|
+
const out = Buffer.alloc(buffer.length);
|
|
68
|
+
let outIdx = 0;
|
|
69
|
+
for (const c of buffer) {
|
|
70
|
+
out.writeUInt8(c ^ rand, outIdx++);
|
|
71
|
+
if ((rand % 2)) {
|
|
72
|
+
rand = ((rand >> 1) ^ consts_1.RANDOMIZE_SEQ);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
rand = (rand >> 1);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return out;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Throws on CRC error.
|
|
82
|
+
*/
|
|
83
|
+
checkCRC() {
|
|
84
|
+
const crc = (0, crc16ccitt_1.default)(this.buffer.subarray(0, -3), 65535);
|
|
85
|
+
const crcArr = Buffer.from([(crc >> 8), (crc % 256)]);
|
|
86
|
+
const subArr = this.buffer.subarray(-3, -1);
|
|
87
|
+
if (!subArr.equals(crcArr)) {
|
|
88
|
+
throw new Error(`<-- CRC error: ${this.toString()}|${subArr.toString('hex')}|${crcArr.toString('hex')}`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
*
|
|
93
|
+
* @returns Buffer to hex string
|
|
94
|
+
*/
|
|
95
|
+
toString() {
|
|
96
|
+
return this.buffer.toString('hex');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
exports.Frame = Frame;
|
|
100
|
+
exports.default = Frame;
|
|
101
|
+
//# sourceMappingURL=frame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/frame.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/parser.ts"],"names":[],"mappings":";;AACA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/parser.ts"],"names":[],"mappings":";;AACA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAOjC,qBAAa,MAAO,SAAQ,MAAM,CAAC,SAAS;IACxC,OAAO,CAAC,MAAM,CAAS;;IAQhB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAmBjE,OAAO,CAAC,SAAS;IA4BjB,OAAO,CAAC,OAAO;IA2BR,KAAK,IAAI,IAAI;CAIvB"}
|
|
@@ -31,6 +31,7 @@ exports.Parser = void 0;
|
|
|
31
31
|
const stream = __importStar(require("stream"));
|
|
32
32
|
const consts = __importStar(require("./consts"));
|
|
33
33
|
const debug_1 = __importDefault(require("debug"));
|
|
34
|
+
const frame_1 = __importDefault(require("./frame"));
|
|
34
35
|
const debug = (0, debug_1.default)('zigbee-herdsman:adapter:ezsp:uart');
|
|
35
36
|
class Parser extends stream.Transform {
|
|
36
37
|
buffer;
|
|
@@ -53,30 +54,26 @@ class Parser extends stream.Transform {
|
|
|
53
54
|
cb();
|
|
54
55
|
}
|
|
55
56
|
parseNext() {
|
|
56
|
-
if (this.buffer.length
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const
|
|
60
|
-
if (
|
|
61
|
-
this.
|
|
57
|
+
if (this.buffer.length) {
|
|
58
|
+
const place = this.buffer.indexOf(consts.FLAG);
|
|
59
|
+
if (place >= 0) {
|
|
60
|
+
const frameLength = place + 1;
|
|
61
|
+
if (this.buffer.length >= frameLength) {
|
|
62
|
+
const frameBuffer = this.unstuff(this.buffer.subarray(0, frameLength));
|
|
63
|
+
try {
|
|
64
|
+
const frame = frame_1.default.fromBuffer(frameBuffer);
|
|
65
|
+
if (frame) {
|
|
66
|
+
debug(`--> parsed ${frame}`);
|
|
67
|
+
this.emit('parsed', frame);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
debug(`--> error ${error.stack}`);
|
|
72
|
+
}
|
|
73
|
+
this.buffer = this.buffer.subarray(frameLength);
|
|
74
|
+
this.parseNext();
|
|
62
75
|
}
|
|
63
76
|
}
|
|
64
|
-
catch (error) {
|
|
65
|
-
debug(`<-- error ${error.stack}`);
|
|
66
|
-
}
|
|
67
|
-
this.parseNext();
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
extractFrame() {
|
|
71
|
-
/* Extract a frame from the data buffer */
|
|
72
|
-
const place = this.buffer.indexOf(consts.FLAG);
|
|
73
|
-
if (place >= 0) {
|
|
74
|
-
const result = this.unstuff(this.buffer.subarray(0, place + 1));
|
|
75
|
-
this.buffer = this.buffer.subarray(place + 1);
|
|
76
|
-
return result;
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
return null;
|
|
80
77
|
}
|
|
81
78
|
}
|
|
82
79
|
unstuff(s) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0BAA0B;AAC1B,+CAAiC;AACjC,iDAAmC;AACnC,kDAA0B;
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0BAA0B;AAC1B,+CAAiC;AACjC,iDAAmC;AACnC,kDAA0B;AAC1B,oDAA4B;AAE5B,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,mCAAmC,CAAC,CAAC;AAEzD,MAAa,MAAO,SAAQ,MAAM,CAAC,SAAS;IAChC,MAAM,CAAS;IAEvB;QACI,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAEM,UAAU,CAAC,KAAa,EAAE,CAAS,EAAE,EAAc;QACtD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9B,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9B,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,KAAK,CAAC,QAAQ,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAExC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAElD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,EAAE,EAAE,CAAC;IACT,CAAC;IAEO,SAAS;QACb,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAE/C,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACb,MAAM,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC;gBAE9B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC;oBACpC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;oBAEvE,IAAI,CAAC;wBACD,MAAM,KAAK,GAAG,eAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;wBAE5C,IAAI,KAAK,EAAE,CAAC;4BACR,KAAK,CAAC,cAAc,KAAK,EAAE,CAAC,CAAC;4BAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;wBAC/B,CAAC;oBACL,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,KAAK,CAAC,aAAa,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;oBACtC,CAAC;oBAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBAChD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrB,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAEO,OAAO,CAAC,CAAS;QACrB,+CAA+C;QAC/C,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAEjB,IAAI,OAAO,EAAE,CAAC;gBACV,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAE3C,OAAO,GAAG,KAAK,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;oBACtB,OAAO,GAAG,IAAI,CAAC;gBACnB,CAAC;qBAAM,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC;oBAC/C,OAAO;gBACX,CAAC;qBAAM,CAAC;oBACJ,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IAEM,KAAK;QACR,eAAe;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;CACJ;AAvFD,wBAuFC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
import { EventEmitter } from 'events';
|
|
4
|
+
import { SerialPortOptions } from '../../tstype';
|
|
4
5
|
type EZSPPacket = {
|
|
5
6
|
sequence: number;
|
|
6
7
|
};
|
|
@@ -17,15 +18,16 @@ export declare class SerialDriver extends EventEmitter {
|
|
|
17
18
|
private waitress;
|
|
18
19
|
private queue;
|
|
19
20
|
constructor();
|
|
20
|
-
connect(
|
|
21
|
+
connect(options: SerialPortOptions): Promise<void>;
|
|
21
22
|
private openSerialPort;
|
|
22
23
|
private openSocketPort;
|
|
23
24
|
private onParsed;
|
|
24
25
|
private handleDATA;
|
|
25
26
|
private handleACK;
|
|
26
27
|
private handleNAK;
|
|
27
|
-
private
|
|
28
|
-
private
|
|
28
|
+
private handleRST;
|
|
29
|
+
private handleRSTACK;
|
|
30
|
+
private handleError;
|
|
29
31
|
reset(): Promise<void>;
|
|
30
32
|
close(): Promise<void>;
|
|
31
33
|
private onPortError;
|
|
@@ -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;
|
|
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;AASpC,OAAO,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAiB/C,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,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAS1C,cAAc;YA8Cd,cAAc;IA4C5B,OAAO,CAAC,QAAQ;IA0ChB,OAAO,CAAC,UAAU;IA4BlB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,YAAY;YAuBN,WAAW;IAWnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBnC,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;IAQZ,aAAa,IAAI,OAAO;IAIlB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0C3C,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"}
|