WeRace.Telemetry.Generator
0.1.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package WeRace.Telemetry.Generator --version 0.1.0
NuGet\Install-Package WeRace.Telemetry.Generator -Version 0.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="WeRace.Telemetry.Generator" Version="0.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add WeRace.Telemetry.Generator --version 0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: WeRace.Telemetry.Generator, 0.1.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install WeRace.Telemetry.Generator as a Cake Addin #addin nuget:?package=WeRace.Telemetry.Generator&version=0.1.0 // Install WeRace.Telemetry.Generator as a Cake Tool #tool nuget:?package=WeRace.Telemetry.Generator&version=0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
WeRace.Telemetry.Generator
A source generator for creating strongly-typed telemetry structures from YAML definitions. This project enables compile-time generation of telemetry data models for the WeRace Telemetry Format.
Features
- Compile-time generation of telemetry data structures
- YAML-based telemetry definition parsing
- Automatic validation of telemetry definitions
- Generation of efficient struct-based models
- Support for complex nested types and arrays
Usage
- Create a YAML telemetry definition file in your project:
version: "1.0"
metadata:
title: "Race Car Telemetry"
description: "Telemetry definition for race car data"
types:
wheel_data:
type: struct
description: "Wheel sensor data"
fields:
- name: temperature
type: float32
description: "Tire surface temperature"
unit: "celsius"
- name: pressure
type: float32
description: "Tire pressure"
unit: "kpa"
channels:
- name: wheels
type: wheel_data
dimensions: 4
description: "Data for all wheels [FL, FR, RL, RR]"
tags: ["wheels", "critical"]
- Add the generator to your project:
<ItemGroup>
<ProjectReference Include="..\WeRace.Telemetry.Generator\WeRace.Telemetry.Generator.csproj"
OutputItemType="Analyzer"
ReferenceOutputAssembly="false" />
</ItemGroup>
- The generator will create strongly-typed C# structures at compile time.
Supported Types
- Basic Types:
uint8
,uint16
,uint32
,uint64
,float32
,float64
- Arrays: Fixed-size arrays of any supported type
- Structs: Custom struct definitions with nested fields
- Enums: Custom enumeration types
Error Diagnostics
The generator provides detailed error diagnostics:
- TEL003: Code Generation Error
- TEL100: Type Generation Error
- TEL200: Reader Generation Error
Dependencies
- .NET 8.0
- YamlDotNet for YAML parsing
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.