UNPKG

rxjs-obd

Version:

RxJS Implementation for OBD (On Board Diagnostics) of vehicles via ELM 327 connections.

48 lines 1.27 kB
import { OBDOuterSubscriber } from '../model/OBDOuterSubscriber'; export function rpm() { return function (source) { return source.lift(new RPMOperator()); }; } class RPMOperator { call(subscriber, source) { return source.subscribe(new RPMSubscriber(subscriber)); } } class RPMSubscriber extends OBDOuterSubscriber { constructor(destination) { super(destination); } /** * Return the frequency of execution of this command. * @return that this command must be executed every pulse. */ pulse() { return 1; } /** * Return the string representation of the OBD Read command. * @returns the string representation of the OBD Read command */ command() { return '01 0C 1\r'; } /** * Return the name of the OBD Field on OBD Data object. * @returns the name of the OBD Field on OBD Data object. */ field() { return 'rpm'; } /** * Parse the OBD response. * @param bytes the response read from OBD. * @returns the parsed response. */ parse(bytes) { const a = parseInt(bytes[2], 16) * 256; const b = parseInt(bytes[3], 16); return (a + b) / 4; } } //# sourceMappingURL=rpm.js.map