A comprehensive .NET solution for handling racing simulation telemetry data using the WeRace Telemetry Format (WRTF). This solution provides tools for reading, writing, and generating telemetry data structures with a focus on performance and type safety.
Core library implementation providing the fundamental components for reading and writing telemetry data. See the project README for detailed documentation.
Source generator for creating strongly-typed telemetry structures from YAML definitions. Enables compile-time generation of telemetry data models. See the project README for usage instructions and supported features.
Test suite covering the core library and generator functionality.
Install the core package via NuGet:
dotnet add package WeRace.Telemetry
- Fast and efficient binary telemetry data streaming
- YAML-based telemetry definition format
- Source generation for type-safe telemetry structures
- Support for complex telemetry data structures
- Compatible with racing simulators like iRacing and RaceRoom
- Built-in debugging and validation tools
version: "1.0"
metadata:
title: "Car Telemetry"
description: "A channel set for a car"
types:
vector3:
type: struct
description: "3D vector measurement"
fields:
- name: x
type: float32
unit: "meters"
- name: y
type: float32
unit: "meters"
- name: z
type: float32
unit: "meters"
- .NET 8.0 or higher
- C# 12.0 or higher
- Clone the repository:
git clone https://github.com/werace-au/werace-telemetry-dotnet.git
- Build the solution:
dotnet build
- Run the tests:
dotnet test
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
- Kevin O'Neill