@z0mt3c/f1-telemetry-client
Version:
[](https://github.com/z0mt3c/f1-telemetry-client/actions/workflows/node.js.yml) [ • 1.8 kB
JavaScript
;
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;