Hsu.Automotive.Uds
2026.7.14-preview.134711
dotnet add package Hsu.Automotive.Uds --version 2026.7.14-preview.134711
NuGet\Install-Package Hsu.Automotive.Uds -Version 2026.7.14-preview.134711
<PackageReference Include="Hsu.Automotive.Uds" Version="2026.7.14-preview.134711" />
<PackageVersion Include="Hsu.Automotive.Uds" Version="2026.7.14-preview.134711" />
<PackageReference Include="Hsu.Automotive.Uds" />
paket add Hsu.Automotive.Uds --version 2026.7.14-preview.134711
#r "nuget: Hsu.Automotive.Uds, 2026.7.14-preview.134711"
#:package Hsu.Automotive.Uds@2026.7.14-preview.134711
#addin nuget:?package=Hsu.Automotive.Uds&version=2026.7.14-preview.134711&prerelease
#tool nuget:?package=Hsu.Automotive.Uds&version=2026.7.14-preview.134711&prerelease
Hsu.Automotive.Uds
A full-featured C# implementation of ISO 14229 Unified Diagnostic Services (UDS).
This package provides the main UDS protocol stack, including protocol models, client and server support, service dispatch infrastructure, and transport integrations used in automotive diagnostic scenarios.
Package Information
- Package ID:
Hsu.Automotive.Uds - Package scope: full protocol stack, runtime components, transports, and extension points
- Recommended for: production UDS clients, diagnostic services, simulators, and automotive tooling
Supported Capabilities
- ISO 14229 UDS client and server runtime support
- Protocol models and service dispatch infrastructure
- ISO-TP and DoIP transport integrations
- Extensible security algorithm and transport integration points
- Multi-targeted support for
netstandard2.0,net6.0,net8.0, andnet10.0
Supported UDS Services
The core package covers the main ISO 14229-1 service groups used in diagnostic applications.
Diagnostic Communication Management
0x10DiagnosticSessionControl0x11EcuReset0x27SecurityAccess0x28CommunicationControl0x29Authentication0x3ETesterPresent0x87LinkControl
Data Transmission
0x22ReadDataByIdentifier0x23ReadMemoryByAddress0x24ReadScalingDataByIdentifier0x2AReadDataByPeriodicIdentifier0x2CDynamicallyDefineDataIdentifier0x2EWriteDataByIdentifier0x2FInputOutputControlById0x3DWriteMemoryByAddress
Stored Data Transmission
0x14ClearDiagnosticInformation0x19ReadDtcInformation
Routine and Download/Upload Services
0x31RoutineControl0x34RequestDownload0x35RequestUpload0x36TransferData0x37RequestTransferExit0x38RequestFileTransfer
Features
- ISO 14229 UDS protocol support
- Client and server runtime components
- ISO-TP and DoIP transport support
- Extensible security and transport integration points
- Multi-targeted package for modern .NET runtimes
Install
dotnet add package Hsu.Automotive.Uds
Quick Start
The quick-start example below connects to an ECU over DoIP, switches to an extended diagnostic session, and reads VIN DID 0xF190.
using System.Text;
using Hsu.Automotive.Uds.Client;
using Hsu.Automotive.Uds.Services;
using Hsu.Automotive.Uds.Transport;
var cancellationToken = CancellationToken.None;
await using var channel = await DoIpChannel.ConnectAsync(
host: "192.168.0.10",
port: 13400,
sourceAddress: 0x0E00,
targetAddress: 0x0001,
cancellationToken: cancellationToken);
await using var client = new UdsClient(channel, new UdsClientOptions
{
P2Timeout = TimeSpan.FromMilliseconds(500),
TesterPresentInterval = Timeout.InfiniteTimeSpan,
});
var session = await client.DiagnosticSessionControlAsync(
DiagnosticSessionType.ExtendedDiagnosticSession,
cancellationToken);
var vin = await client.ReadDataByIdentifierAsync(0xF190, cancellationToken);
Console.WriteLine($"Session: {session}");
Console.WriteLine($"VIN: {Encoding.ASCII.GetString(vin.Span)}");
If your transport is not DoIP, you can provide any ITransportChannel implementation, such as IsoTpChannel, and keep the UdsClient usage unchanged.
Per-request addressing is available on the standard IUdsClient API via TransportAddressingMode:
await client.TesterPresentAsync(
suppressPositiveResponse: true,
addressingMode: TransportAddressingMode.Functional,
cancellationToken: cancellationToken);
Related Package
If you only need the shared interfaces and contracts, use Hsu.Automotive.Uds.Abstractions.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. 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 is compatible. 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. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.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. |
-
.NETStandard 2.0
- Hsu.Automotive.Uds.Client (>= 2026.7.14-preview.134711)
- Hsu.Automotive.Uds.Server (>= 2026.7.14-preview.134711)
- Microsoft.Bcl.AsyncInterfaces (>= 9.0.4)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.6)
- System.Memory (>= 4.5.5)
- System.Threading.Channels (>= 9.0.4)
- System.Threading.Tasks.Extensions (>= 4.5.4)
-
net10.0
- Hsu.Automotive.Uds.Client (>= 2026.7.14-preview.134711)
- Hsu.Automotive.Uds.Server (>= 2026.7.14-preview.134711)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.6)
-
net6.0
- Hsu.Automotive.Uds.Client (>= 2026.7.14-preview.134711)
- Hsu.Automotive.Uds.Server (>= 2026.7.14-preview.134711)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.6)
-
net8.0
- Hsu.Automotive.Uds.Client (>= 2026.7.14-preview.134711)
- Hsu.Automotive.Uds.Server (>= 2026.7.14-preview.134711)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.7.14-preview.134711 | 79 | 7/14/2026 |
| 2026.7.8-preview.124140 | 78 | 7/8/2026 |
| 2026.5.27-preview.124655 | 95 | 5/27/2026 |
| 2026.5.27-preview.100556 | 89 | 5/27/2026 |
| 2026.5.11-preview.115015 | 79 | 5/11/2026 |
| 2026.4.24-preview.160414 | 91 | 4/24/2026 |
| 2026.4.23-preview.173339 | 76 | 4/23/2026 |
| 2026.4.23-preview.142236 | 72 | 4/23/2026 |
| 2026.4.20-preview | 72 | 4/20/2026 |