UNPKG

obd-raw-data-parser

Version:

A React Native hook library to manage Bluetooth Low Energy connections and communication with ELM327 OBD-II adapters.

2 lines 1.69 kB
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.BaseDecoder=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _dtcDecoder=require("../utils/dtcDecoder");var BaseDecoder=exports.BaseDecoder=function(){function BaseDecoder(){(0,_classCallCheck2.default)(this,BaseDecoder);this.rawDtcObjects=[];this.expectedDTCCount=0;this.currentDTCCount=0;this.leftoverByte=null;this.DTC_MODES={CURRENT:{RESPONSE:0x43,DESCRIPTION:'Current DTCs'},PENDING:{RESPONSE:0x47,DESCRIPTION:'Pending DTCs'},PERMANENT:{RESPONSE:0x4a,DESCRIPTION:'Permanent DTCs'}};this.reset();}return(0,_createClass2.default)(BaseDecoder,[{key:"reset",value:function reset(){this.rawDtcObjects=[];this.expectedDTCCount=0;this.currentDTCCount=0;this.leftoverByte=null;}},{key:"getRawDTCs",value:function getRawDTCs(){return this.rawDtcObjects;}},{key:"isNoDataResponse",value:function isNoDataResponse(frame){if(frame.length>=7){var noDataSequence=[78,79,32,68,65,84,65];return noDataSequence.every(function(byte,index){return frame[index]===byte;});}return false;}},{key:"validateFrame",value:function validateFrame(frame){if(this.isNoDataResponse(frame))return false;return(0,_dtcDecoder.isValidDTCFrame)(frame);}},{key:"_defaultDecodeDTC",value:function _defaultDecodeDTC(byte1,byte2){return(0,_dtcDecoder.decodeDTC)(byte1,byte2);}},{key:"_defaultDtcToString",value:function _defaultDtcToString(dtc){return(0,_dtcDecoder.dtcToString)(dtc);}}]);}(); //# sourceMappingURL=BaseDecoder.js.map