@canboat/canboatjs
Version:
Native javascript version of canboat
53 lines (52 loc) • 1.62 kB
JavaScript
;
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