UNPKG

@widesky/node-bacstack

Version:

The BACnet protocol library written in pure JavaScript.

34 lines (29 loc) 1.07 kB
'use strict'; const baAsn1 = require('../asn1'); const baEnum = require('../enum'); module.exports.encode = (buffer, errorClass, errorCode) => { baAsn1.encodeApplicationEnumerated(buffer, errorClass); baAsn1.encodeApplicationEnumerated(buffer, errorCode); }; module.exports.decode = (buffer, offset) => { const orgOffset = offset; let result; result = baAsn1.decodeTagNumberAndValue(buffer, offset); offset += result.len; const errorClass = baAsn1.decodeEnumerated(buffer, offset, result.value); offset += errorClass.len; result = baAsn1.decodeTagNumberAndValue(buffer, offset); offset += result.len; const errorCode = baAsn1.decodeEnumerated(buffer, offset, result.value); offset += errorClass.len; return { len: offset - orgOffset, class: errorClass.value, code: errorCode.value }; }; module.exports.buildMessage = function (result) { return 'BacnetError Class: ' + baEnum.ErrorClassName[result.class] + ' ' + '(' + result.class + ') ' + 'Code: ' + baEnum.ErrorCodeName[result.code] + ' (' + result.code + ')'; };