OBDII.DTC
1.1.1
dotnet add package OBDII.DTC --version 1.1.1
NuGet\Install-Package OBDII.DTC -Version 1.1.1
<PackageReference Include="OBDII.DTC" Version="1.1.1" />
<PackageVersion Include="OBDII.DTC" Version="1.1.1" />
<PackageReference Include="OBDII.DTC" />
paket add OBDII.DTC --version 1.1.1
#r "nuget: OBDII.DTC, 1.1.1"
#:package OBDII.DTC@1.1.1
#addin nuget:?package=OBDII.DTC&version=1.1.1
#tool nuget:?package=OBDII.DTC&version=1.1.1
OBDII.DTC
OBDII.DTC is a .NET Standard library of categorized On-board Diagnostics II (OBDII) Diagnostic Trouble Codes (DTCs), with code descriptions. It covers the generic codes defined in the ISO[^1] and SAE[^2] standards, along with a limited set of manufacturer-specific codes. Additional manufacturer codes are welcome as contributions. Manufacturer-specific codes share number ranges across manufacturers, so their descriptions may only be accurate for some vehicles. DTCs are categorised as Powertrain (P codes), Chassis (C codes), Body (B codes), or Network Communication (U codes). Each code has a hex value based on its category as defined in ISO[^1] and SAE[^2] standards, Powertrain (0x0000 - 0x3FFF), Chassis (0x4000 - 0x7FFF), Body (0x8000 - 0xBFFF), Network Communication (0xC000 - 0xFFFF).
[^1]: ISO 15031 [^2]: SAE J2012
Features
- Enumerated DTCs with thousands of codes.
- Extension methods
DTC.GetDescription()andDTC.GetCategory()to fetch the description and the category of a particular DTC. - Manufacturer-specific descriptions and code checks.
Installation
Install this package from nuget:
dotnet add package OBDII.DTC
Usage
After installing the package, the DTC enum can be used to reference the trouble codes. For example:
DTC code = DTC.P0100;
Console.WriteLine(code.GetDescription()); // Outputs: "Mass or Volume Air Flow Sensor A Circuit Range/Performance"
Console.WriteLine(code.GetCategory()); // Outputs: "Powertrain"
Manufacturer-specific descriptions and code checks:
DTC code = DTC.P134B;
Console.WriteLine(code.GetDescription(Manufacturers.Honda)); // Outputs: "Crankshaft Signal Diagnose"
Console.WriteLine(code.IsManufacturerCode()); // Outputs: True
Console.WriteLine(code.IsManufacturerCode(Manufacturers.Honda)); // Outputs: True
Development
The library and NUnit tests are in src/OBDII.DTC and src/OBDII.DTC.Test. Run the tests with the .NET 10 SDK:
dotnet test src/OBDII.DTC.sln --configuration Release
Contributions
If any codes are incorrect or missing, contributions are greatly appreciated to help improve this library.
License
OBDII.DTC is released under the MIT License.
Support
For any questions or issues, please create an issue on the GitHub page.
| 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. net10.0 was computed. 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 | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | 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.1
- 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.