Commit 2e893557 authored by captainwong's avatar captainwong

update swig demos

parent 6a75e9e7
This diff is collapsed.
This diff is collapsed.
...@@ -12,7 +12,7 @@ function test_parse() { ...@@ -12,7 +12,7 @@ function test_parse() {
var str = "\nC5C30053\"HENG-BO\"0000R000000L000000#90219125916578[#000000|1737 00 000]_09:11:19,08-05-2019\r"; var str = "\nC5C30053\"HENG-BO\"0000R000000L000000#90219125916578[#000000|1737 00 000]_09:11:19,08-05-2019\r";
var cb = libademco.new_size_tp(); var cb = libademco.new_size_tp();
var pkt = new libademco.AdemcoPacket(); var pkt = new libademco.AdemcoPacket();
var res = libademco.ademcoPacketParse(str, str.length, pkt, cb); var res = libademco.ademcoPacketParse(str, str.length, pkt, cb, null);
assert.strictEqual(res, libademco.RESULT_OK); assert.strictEqual(res, libademco.RESULT_OK);
assert.strictEqual(libademco.size_tp_value(cb), str.length); assert.strictEqual(libademco.size_tp_value(cb), str.length);
assert.strictEqual(pkt.crc, 0xC5C3); assert.strictEqual(pkt.crc, 0xC5C3);
...@@ -37,7 +37,7 @@ function test_pack() { ...@@ -37,7 +37,7 @@ function test_pack() {
console.log("test parse packed data"); console.log("test parse packed data");
var pkt2 = new libademco.AdemcoPacket(); var pkt2 = new libademco.AdemcoPacket();
var cb = libademco.new_size_tp(); var cb = libademco.new_size_tp();
var res = libademco.ademcoPacketParse(pkt.raw, pkt.raw_len, pkt2, cb); var res = libademco.ademcoPacketParse(pkt.raw, pkt.raw_len, pkt2, cb, null);
assert.strictEqual(res, libademco.RESULT_OK); assert.strictEqual(res, libademco.RESULT_OK);
assert.strictEqual(libademco.size_tp_value(cb), pkt.raw_len); assert.strictEqual(libademco.size_tp_value(cb), pkt.raw_len);
assert.strictEqual(pkt2.id, libademco.AID_HB); assert.strictEqual(pkt2.id, libademco.AID_HB);
...@@ -58,6 +58,7 @@ class AlarmHost { ...@@ -58,6 +58,7 @@ class AlarmHost {
this.buf = null; this.buf = null;
this.inpkt = new libademco.AdemcoPacket(); this.inpkt = new libademco.AdemcoPacket();
this.outpkt = new libademco.AdemcoPacket(); this.outpkt = new libademco.AdemcoPacket();
this.parseErr = new libademco.AdemcoParseError();
this.cb = libademco.new_size_tp(); this.cb = libademco.new_size_tp();
this.ademcoId = 0; this.ademcoId = 0;
this.acct = ''; this.acct = '';
...@@ -68,14 +69,15 @@ class AlarmHost { ...@@ -68,14 +69,15 @@ class AlarmHost {
chunk = Buffer.concat([this.buf, chunk]); chunk = Buffer.concat([this.buf, chunk]);
} }
let res = libademco.ademcoPacketParse(chunk.toString(), chunk.length, this.inpkt, this.cb); let res = libademco.ademcoPacketParse(chunk.toString(), chunk.length, this.inpkt, this.cb, this.parseErr);
while (res === libademco.RESULT_OK) { while (res === libademco.RESULT_OK) {
chunk = chunk.slice(libademco.size_tp_value(this.cb)); chunk = chunk.slice(libademco.size_tp_value(this.cb));
this.handleMsg(); this.handleMsg();
res = libademco.ademcoPacketParse(chunk.toString(), chunk.length, this.inpkt, this.cb); res = libademco.ademcoPacketParse(chunk.toString(), chunk.length, this.inpkt, this.cb, this.parseErr);
} }
if (res === libademco.RESULT_ERROR) { if (res === libademco.RESULT_ERROR) {
console.log('parse error at line=%d, msg=%s', this.parseErr.line, this.parseErr.msg);
chunk = null; chunk = null;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment