1.1.1 • Published 3 years ago

ibt-telemetry v1.1.1

Weekly downloads
3
License
MIT
Repository
github
Last release
3 years ago

iRacing Telemetry Parser

Yup, that's right, this is a Node.js library for processing iRacing's ibt telemetry files.

This library has been built with memory consumption in mind, and therefore the data is streamed from the file instead of being loaded completely in memory. This is advantageous when needing to deal with back pressure from a slower services consuming the file.

This ibt-telemetry library is a 100% complete Node.js library for the processing of telemetry files. The library has no requirements on any DLL or Windows library making this completely capable of being run on OSX, and *nix too.

Loading up the telemetry

const pathToIbt = '/path/to/telemetry.ibt'
const telemetry = Telemetry.fromFile(pathToIbt)

const telemetryId = telemetry.uniqueId()
// telemetryId = "188953-12312494-123910230"

const sessionInfo = telemetry.sessionInfo
// sessionInfo = {}

Reading telemetry update samples

Generator

foreach (sample in telemetry.samples()) {
  const speed = sample.getParam('speed')
  // speed = {
  //   name: "Speed",
  //   description: "GPS vehicle speed",
  //   value: 200.32943,
  //   unit: "m/s"
  // }
  
  const sampleJson = sample.toJSON()
  // sampleJson = {
  //   "AirTemp": {
  //     "unit": "C",
  //     "value": 25.55555534362793
  //   },
  //   "Alt": {
  //     "unit": "m",
  //     "value": 42.163856506347656
  //   },
  //   "Brake": {
  //     "unit": "%",
  //     "value": 1
  //   },
  //   "BrakeRaw": {
  //     "unit": "%",
  //     "value": 0
  //   },
  //   "CFshockDefl": {
  //     "unit": "m",
  //     "value": 0.04878242313861847
  //   }
  // }

Rx.JS

const samples$ = Rx.Observable.from(telemetry.samples())

samples$
  .subscribe(s => console.log(s.toJSON()))
1.1.1

3 years ago

1.1.0

4 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago