UNPKG

@z0mt3c/f1-telemetry-client

Version:

[![Node.js CI](https://github.com/z0mt3c/f1-telemetry-client/actions/workflows/node.js.yml/badge.svg)](https://github.com/z0mt3c/f1-telemetry-client/actions/workflows/node.js.yml) [![NPM Release](https://img.shields.io/npm/v/@z0mt3c/f1-telemetry-client.sv

46 lines (45 loc) 1.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CarTelemetryDataParser = void 0; const binary_parser_1 = require("binary-parser"); const F1Parser_1 = require("../F1Parser"); class CarTelemetryDataParser extends F1Parser_1.F1Parser { constructor(packetFormat) { super(); this.uint16le('m_speed'); if (packetFormat === 2018) { this.uint8('m_throttle').int8('m_steer').uint8('m_brake'); } else if (packetFormat >= 2019) { this.floatle('m_throttle').floatle('m_steer').floatle('m_brake'); } this.uint8('m_clutch').int8('m_gear').uint16le('m_engineRPM').uint8('m_drs').uint8('m_revLightsPercent'); if (packetFormat >= 2021) { this.uint16le('m_revLightsBitValue'); } this.array('m_brakesTemperature', { length: 4, type: new binary_parser_1.Parser().uint16le(''), }) .array('m_tyresSurfaceTemperature', { length: 4, type: packetFormat >= 2020 ? new binary_parser_1.Parser().uint8('') : new binary_parser_1.Parser().uint16le(''), }) .array('m_tyresInnerTemperature', { length: 4, type: packetFormat >= 2020 ? new binary_parser_1.Parser().uint8('') : new binary_parser_1.Parser().uint16le(''), }) .uint16le('m_engineTemperature') .array('m_tyresPressure', { length: 4, type: new binary_parser_1.Parser().floatle(''), }); if (packetFormat >= 2019) { this.array('m_surfaceType', { length: 4, type: new binary_parser_1.Parser().uint8(''), }); } } } exports.CarTelemetryDataParser = CarTelemetryDataParser;