Commit 62c6c2398a44b891af0863cbb5dafb23a07e7791
1 parent
8914d7abb9
Exists in
master
Alternative pdu parser
Showing 1 changed file with 14 additions and 2 deletions Side-by-side Diff
lib/serialport-parsers.js
... | ... | @@ -2,7 +2,8 @@ const PARSER_READLINE_DELIMITER = '\r\n'; |
2 | 2 | const PARSER_WAIT_FOR_OK_OR_ERROR_REGEX = /\r\n(?:OK|ERROR)\r\n/; |
3 | 3 | |
4 | 4 | const moment = require('moment'); |
5 | -const pdu = require('node-pdu'); | |
5 | +const nodePdu = require('node-pdu'); | |
6 | +const pdu = require('pdu'); | |
6 | 7 | const ParserReadline = require('@serialport/parser-readline'); |
7 | 8 | const ParserRegex = require('@serialport/parser-regex'); |
8 | 9 | |
... | ... | @@ -26,7 +27,7 @@ function parsePdu(data) { |
26 | 27 | if (!data) return null; |
27 | 28 | |
28 | 29 | try { |
29 | - const result = pdu.parse(data.toString().trim() || ''); | |
30 | + const result = nodePdu.parse(data.toString().trim() || ''); | |
30 | 31 | return result; |
31 | 32 | } catch (e) { |
32 | 33 | return null; |
... | ... | @@ -109,6 +110,17 @@ parserReadline.on('data', (data) => { |
109 | 110 | |
110 | 111 | if (!data) return; |
111 | 112 | |
113 | + let pduParsed2; | |
114 | + try { | |
115 | + pduParsed2 = pdu.parse(data); | |
116 | + } catch (e) { | |
117 | + // | |
118 | + } | |
119 | + | |
120 | + if (pduParsed2) { | |
121 | + logger.verbose('Alternative PDU Parser', pduParsed2); | |
122 | + } | |
123 | + | |
112 | 124 | const pduParsed = parsePdu(data); |
113 | 125 | if (pduParsed) { |
114 | 126 | logger.verbose('PDU parsed', { type: (typeof pduParsed.getType === 'function') && pduParsed.getType() }); |