Commit 62c6c2398a44b891af0863cbb5dafb23a07e7791

Authored by Adhidarma Hadiwinoto
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() });