rxjs-obd
Version:
RxJS Implementation for OBD (On Board Diagnostics) of vehicles via ELM 327 connections.
46 lines • 1.35 kB
JavaScript
import { OBDOuterSubscriber } from '../model/OBDOuterSubscriber';
export function engineCoolantTemperature() {
return function (source) {
return source.lift(new EngineCoolantTemperatureOperator());
};
}
class EngineCoolantTemperatureOperator {
call(subscriber, source) {
return source.subscribe(new EngineCoolantTemperatureSubscriber(subscriber));
}
}
class EngineCoolantTemperatureSubscriber 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 05 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 'engineCoolantTemperature';
}
/**
* Parse the OBD response.
* @param bytes the response read from OBD.
* @returns the parsed response.
*/
parse(bytes) {
return parseInt(bytes[2], 16) - 40;
}
}
//# sourceMappingURL=engineCoolantTemperature.js.map