F1 Telemetry Client
The F1 series of games support the outputting of key game data via a UDP data stream. This data can be interpreted by external apps or connected peripherals for a range of different uses, including providing additional telemetry information, customised HUD displays, motion platform hardware support or providing force feedback data for custom steering wheels.
This is a TypeScript UDP client and telemetry parser for Codemaster's F1 2020 that enables the consumption of such information.
This version only works on F1 2020.
Installing
$ npm install f1-2020-client
or
$ yarn add f1-2020-client
Running the playground
$ npm run start
or
$ yarn start
Usage
import { F1TelemetryClient, constants } from "f1-2020-client";
// or: const { F1TelemetryClient, constants } = require('f1-telemetry-client');
const { PACKETS } = constants;
const client = new F1TelemetryClient();
client.on(PACKETS.session, console.log);
client.on(PACKETS.motion, console.log);
client.on(PACKETS.lapData, console.log);
client.on(PACKETS.event, console.log);
client.on(PACKETS.participants, console.log);
client.on(PACKETS.carSetups, console.log);
client.on(PACKETS.carTelemetry, console.log);
client.on(PACKETS.carStatus, console.log);
client.on(PACKETS.finalClassification, console.log);
client.on(PACKETS.lobbyInfo, console.log);
// to start listening:
client.start();
// and when you want to stop:
client.stop();
Documentation
For the F1 2020 UDP specifications, please refer to this post from the official Codemaster's forum.
License
This project is originally a fork from irvingswiftj's f1-2018-udp which was further forked by jonybur's[f1-telemetry-client]. Licensed under the MIT License.