UNPKG

@canboat/canboatjs

Version:

Native javascript version of canboat

53 lines (52 loc) 1.62 kB
#!/usr/bin/env node "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const node_events_1 = require("node:events"); const minimist_1 = __importDefault(require("minimist")); const readline_1 = __importDefault(require("readline")); const index_1 = require("../index"); const stream_1 = require("stream"); const utils_1 = require("./utils"); const argv = (0, minimist_1.default)(process.argv.slice(2), { boolean: ['disable-output'], alias: { h: 'help' } }); (0, utils_1.printVersion)(argv); if (argv['help']) { console.error(`Usage: ${process.argv[0]} [options] device_path Options: --disable-output don't output pgns -h, --help output usage information`); process.exit(1); } if (argv['_'].length === 0) { console.error('Please specify a device'); process.exit(1); } const app = new node_events_1.EventEmitter(); const actisense = new index_1.serial({ app: app, device: argv['_'][0], plainText: true, disableSetTransmitPGNs: true, outputOnly: argv['disable-output'] }); const toStringTr = new stream_1.Transform({ objectMode: true, transform(chunk, encoding, callback) { this.push(chunk + '\n'); callback(); } }); const rl = readline_1.default.createInterface({ input: process.stdin, terminal: false }); rl.on('line', (line) => { app.emit('nmea2000out', line); }); actisense.pipe(toStringTr).pipe(process.stdout); //# sourceMappingURL=actisense-serialjs.js.map