UNPKG

@canboat/canboatjs

Version:

Native javascript version of canboat

45 lines 1.73 kB
"use strict"; /** * Copyright 2018 Scott Bender (scott@scottbender.net) and Jouni Hartikainen (jouni.hartikainen@iki.fi) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.CanDevice = void 0; const n2kDevice_1 = require("./n2kDevice"); class CanDevice extends n2kDevice_1.N2kDevice { canbus; n2kMessageHandler; constructor(canbus, options) { super(options, 'canboatjs:candevice'); this.canbus = canbus; if (options.app) { this.n2kMessageHandler = this.n2kMessage.bind(this); options.app.on(options.analyzerOutEvent || 'N2KAnalyzerOut', this.n2kMessageHandler); } } stop() { super.stop(); if (this.options.app && this.n2kMessageHandler) { this.options.app.removeListener(this.options.analyzerOutEvent || 'N2KAnalyzerOut', this.n2kMessageHandler); this.n2kMessageHandler = undefined; } } sendPGN(pgn, src = undefined) { pgn.src = src || this.address; this.debug('Sending PGN %j', pgn); this.canbus.sendPGN(pgn, true); } } exports.CanDevice = CanDevice; //# sourceMappingURL=candevice.js.map