1
0
mirror of https://github.com/DarthAffe/OBD.NET.git synced 2025-12-12 16:58:30 +00:00

Added third set of PIDs

This commit is contained in:
Darth Affe 2016-04-17 14:41:49 +02:00
parent dd9bcf50ce
commit 1b4f77f1a8
37 changed files with 775 additions and 1 deletions

View File

@ -47,7 +47,16 @@
<ItemGroup>
<Compile Include="Enums\Mode.cs" />
<Compile Include="OBDData\AbsoluteBarometricPressure.cs" />
<Compile Include="OBDData\AbsoluteEvapSystemVaporPressure.cs" />
<Compile Include="OBDData\AbsoluteLoadValue.cs" />
<Compile Include="OBDData\AbsoluteThrottlePositionC.cs" />
<Compile Include="OBDData\AbsoluteThrottlePositionB.cs" />
<Compile Include="OBDData\AbstractOBDData.cs" />
<Compile Include="OBDData\AcceleratorPedalPositionF.cs" />
<Compile Include="OBDData\AcceleratorPedalPositionE.cs" />
<Compile Include="OBDData\AcceleratorPedalPositionD.cs" />
<Compile Include="OBDData\ActualEnginePercentTorque.cs" />
<Compile Include="OBDData\AmbientAirTemperature.cs" />
<Compile Include="OBDData\AuxiliaryInputStatus.cs" />
<Compile Include="OBDData\CatalystTemperatureBank2Sensor2.cs" />
<Compile Include="OBDData\CatalystTemperatureBank2Sensor1.cs" />
@ -56,24 +65,42 @@
<Compile Include="OBDData\CommandedEGR.cs" />
<Compile Include="OBDData\CommandedEvaporativePurge.cs" />
<Compile Include="OBDData\CommandedSecondaryAirStatus.cs" />
<Compile Include="OBDData\CommandedThrottleActuator.cs" />
<Compile Include="OBDData\ControlModuleVoltage.cs" />
<Compile Include="OBDData\DistanceTraveledSinceCodesCleared.cs" />
<Compile Include="OBDData\DistanceTraveledWithMILOn.cs" />
<Compile Include="OBDData\DriversDemandEnginePercentTorque.cs" />
<Compile Include="OBDData\EGRError.cs" />
<Compile Include="OBDData\EmissionRequirementsToWhichVehicleIsDesigned.cs" />
<Compile Include="OBDData\EngineCoolantTemperature.cs" />
<Compile Include="OBDData\CalculatedEngineLoad.cs" />
<Compile Include="OBDData\EngineFuelRate.cs" />
<Compile Include="OBDData\EngineOilTemperature.cs" />
<Compile Include="OBDData\EnginePercentTorqueData.cs" />
<Compile Include="OBDData\EngineReferenceTorque.cs" />
<Compile Include="OBDData\EngineRPM.cs" />
<Compile Include="OBDData\EthanolFuel.cs" />
<Compile Include="OBDData\EvapSystemVaporPressure.cs" />
<Compile Include="OBDData\EvapSystemVaporPressure2.cs" />
<Compile Include="OBDData\FuelInjectionTiming.cs" />
<Compile Include="OBDData\FuelRailAbsolutePressure.cs" />
<Compile Include="OBDData\FuelType.cs" />
<Compile Include="OBDData\FuelAirCommandedEquivalenceRatio.cs" />
<Compile Include="OBDData\FuelPressure.cs" />
<Compile Include="OBDData\FuelRailGaugePressure.cs" />
<Compile Include="OBDData\FuelRailPressure.cs" />
<Compile Include="OBDData\FuelSystemStatus.cs" />
<Compile Include="OBDData\FuelTankLevelInput.cs" />
<Compile Include="OBDData\HybridBatteryPackRemainingLife.cs" />
<Compile Include="OBDData\IntakeAirTemperature.cs" />
<Compile Include="OBDData\IntakeManifoldAbsolutePressure.cs" />
<Compile Include="OBDData\IOBDData.cs" />
<Compile Include="OBDData\LongTermFuelTrimBank1.cs" />
<Compile Include="OBDData\LongTermFuelTrimBank2.cs" />
<Compile Include="OBDData\MAFAirFlowRate.cs" />
<Compile Include="OBDData\MaximumValueForAirFlowRate.cs" />
<Compile Include="OBDData\MaximumValues.cs" />
<Compile Include="OBDData\MonitorStatusThisDriveCycle.cs" />
<Compile Include="OBDData\OBDStandards.cs" />
<Compile Include="OBDData\OxygenSensor1FuelAir2.cs" />
<Compile Include="OBDData\OxygenSensor2FuelAir2.cs" />
@ -108,10 +135,18 @@
<Compile Include="OBDData\PidsSupported41_60.cs" />
<Compile Include="OBDData\PidsSupported21_40.cs" />
<Compile Include="OBDData\PidsSupported01_20.cs" />
<Compile Include="OBDData\RelativeAcceleratorPedalPosition.cs" />
<Compile Include="OBDData\RelativeThrottlePosition.cs" />
<Compile Include="OBDData\RunTimeSinceEngineStart.cs" />
<Compile Include="OBDData\ShortTermFuelTrimBank1.cs" />
<Compile Include="OBDData\ShortTermFuelTrimBank2.cs" />
<Compile Include="OBDData\LongTermSecondaryOxygenSensorTrimBank13.cs" />
<Compile Include="OBDData\LongTermSecondaryOxygenSensorTrimBank24.cs" />
<Compile Include="OBDData\ShortTermSecondaryOxygenSensorTrimBank24.cs" />
<Compile Include="OBDData\ShortTermSecondaryOxygenSensorTrimBank13.cs" />
<Compile Include="OBDData\ThrottlePosition.cs" />
<Compile Include="OBDData\TimeRunWithMILOn.cs" />
<Compile Include="OBDData\TimeSinceTroubleCodesCleared.cs" />
<Compile Include="OBDData\TimingAdvance.cs" />
<Compile Include="OBDData\VehicleSpeed.cs" />
<Compile Include="OBDData\WarmUpsSinceCodesCleared.cs" />

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class AbsoluteEvapSystemVaporPressure : AbstractOBDData
{
#region Properties & Fields
public double Pressure => ((256 * A) + B) / 200.0;
#endregion
#region Constructors
public AbsoluteEvapSystemVaporPressure()
: base(0x53, 2)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class AbsoluteLoadValue : AbstractOBDData
{
#region Properties & Fields
public double Load => ((256 * A) + B) / 2.55;
#endregion
#region Constructors
public AbsoluteLoadValue()
: base(0x43, 2)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class AbsoluteThrottlePositionB : AbstractOBDData
{
#region Properties & Fields
public double Position => A / 2.55;
#endregion
#region Constructors
public AbsoluteThrottlePositionB()
: base(0x47, 1)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class AbsoluteThrottlePositionC : AbstractOBDData
{
#region Properties & Fields
public double Position => A / 2.55;
#endregion
#region Constructors
public AbsoluteThrottlePositionC()
: base(0x48, 1)
{ }
#endregion
}
}

View File

@ -29,7 +29,7 @@ namespace OBD.NET.OBDData
protected byte C => RawData.Length > 2 ? RawData[2] : default(byte);
protected byte D => RawData.Length > 3 ? RawData[3] : default(byte);
protected byte E => RawData.Length > 4 ? RawData[4] : default(byte);
#endregion
#region Constructors

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class AcceleratorPedalPositionD : AbstractOBDData
{
#region Properties & Fields
public double Position => A / 2.55;
#endregion
#region Constructors
public AcceleratorPedalPositionD()
: base(0x49, 1)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class AcceleratorPedalPositionE : AbstractOBDData
{
#region Properties & Fields
public double Position => A / 2.55;
#endregion
#region Constructors
public AcceleratorPedalPositionE()
: base(0x4A, 1)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class AcceleratorPedalPositionF : AbstractOBDData
{
#region Properties & Fields
public double Position => A / 2.55;
#endregion
#region Constructors
public AcceleratorPedalPositionF()
: base(0x4B, 1)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class ActualEnginePercentTorque : AbstractOBDData
{
#region Properties & Fields
public int Torque => A - 125;
#endregion
#region Constructors
public ActualEnginePercentTorque()
: base(0x62, 1)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class AmbientAirTemperature : AbstractOBDData
{
#region Properties & Fields
public int Temperature => A - 40;
#endregion
#region Constructors
public AmbientAirTemperature()
: base(0x46, 1)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class CommandedThrottleActuator : AbstractOBDData
{
#region Properties & Fields
public double Value => A / 2.55;
#endregion
#region Constructors
public CommandedThrottleActuator()
: base(0x4C, 1)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class ControlModuleVoltage : AbstractOBDData
{
#region Properties & Fields
public double Voltage => ((256 * A) + B) / 1000.0;
#endregion
#region Constructors
public ControlModuleVoltage()
: base(0x42, 2)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class DriversDemandEnginePercentTorque : AbstractOBDData
{
#region Properties & Fields
public int Torque => A - 125;
#endregion
#region Constructors
public DriversDemandEnginePercentTorque()
: base(0x61, 1)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class EmissionRequirementsToWhichVehicleIsDesigned : AbstractOBDData
{
#region Properties & Fields
public byte EmissionRequirement => A;
#endregion
#region Constructors
public EmissionRequirementsToWhichVehicleIsDesigned()
: base(0x5F, 1)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class EngineFuelRate : AbstractOBDData
{
#region Properties & Fields
public double FuelRate => ((256 * A) + B) / 20.0;
#endregion
#region Constructors
public EngineFuelRate()
: base(0x5E, 2)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class EngineOilTemperature : AbstractOBDData
{
#region Properties & Fields
public int Temperature => A - 40;
#endregion
#region Constructors
public EngineOilTemperature()
: base(0x5C, 1)
{ }
#endregion
}
}

View File

@ -0,0 +1,23 @@
namespace OBD.NET.OBDData
{
public class EnginePercentTorqueData : AbstractOBDData
{
#region Properties & Fields
public int Idle => A - 125;
public int EnginePoint1 => B - 125;
public int EnginePoint2 => C - 125;
public int EnginePoint3 => D - 125;
public int EnginePoint4 => E - 125;
#endregion
#region Constructors
public EnginePercentTorqueData()
: base(0x64, 5)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class EngineReferenceTorque : AbstractOBDData
{
#region Properties & Fields
public int Torque => (256 * A) + B;
#endregion
#region Constructors
public EngineReferenceTorque()
: base(0x63, 2)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class EthanolFuel : AbstractOBDData
{
#region Properties & Fields
public double Value => A / 2.55;
#endregion
#region Constructors
public EthanolFuel()
: base(0x52, 1)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class EvapSystemVaporPressure2 : AbstractOBDData
{
#region Properties & Fields
public int Pressure => ((A * 256) + B) - 32767;
#endregion
#region Constructors
public EvapSystemVaporPressure2()
: base(0x54, 2)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class FuelAirCommandedEquivalenceRatio : AbstractOBDData
{
#region Properties & Fields
public double Ratio => (2.0 / 65536.0) * ((256 * A) + B);
#endregion
#region Constructors
public FuelAirCommandedEquivalenceRatio()
: base(0x44, 2)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class FuelInjectionTiming : AbstractOBDData
{
#region Properties & Fields
public double Timing => (((256 * A) + B) / 128.0) - 210;
#endregion
#region Constructors
public FuelInjectionTiming()
: base(0x5D, 2)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class FuelRailAbsolutePressure : AbstractOBDData
{
#region Properties & Fields
public int Pressure => 10 * ((256 * A) + B);
#endregion
#region Constructors
public FuelRailAbsolutePressure()
: base(0x59, 2)
{ }
#endregion
}
}

View File

@ -0,0 +1,51 @@
namespace OBD.NET.OBDData
{
public class FuelType : AbstractOBDData
{
#region Properties & Fields
public FuelTypeValue Type => (FuelTypeValue)A;
#endregion
#region Constructors
public FuelType()
: base(0x51, 1)
{ }
#endregion
#region Enum
public enum FuelTypeValue
{
NotAvailable = 0,
Gasoline = 1,
Methanol = 2,
Ethanol = 3,
Diesel = 4,
LPG = 5,
CNG = 6,
Propane = 7,
Electric = 8,
BifuelGasoline = 9,
BifuelMethanol = 10,
BifuelEthanol = 11,
BifuelLPG = 12,
BifuelCNG = 13,
BifuelPropane = 14,
BifuelElectricity = 15,
BifuelElectricAndCombustionEngine = 16,
HybridGasoline = 17,
HybridEthanol = 18,
HybridDiesel = 19,
HybridElectric = 20,
HybridElectricAndCombustionEngine = 21,
HybridRegenerative = 22,
BifuelDiesel = 23
}
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class HybridBatteryPackRemainingLife : AbstractOBDData
{
#region Properties & Fields
public double RemainingLife => A / 2.55;
#endregion
#region Constructors
public HybridBatteryPackRemainingLife()
: base(0x5B, 1)
{ }
#endregion
}
}

View File

@ -0,0 +1,20 @@
namespace OBD.NET.OBDData
{
public class LongtTermSecondaryOxygenSensorTrimBank13 : AbstractOBDData
{
#region Properties & Fields
public double Bank1 => (A / 1.28) - 100;
public double Bank3 => (B / 1.28) - 100;
#endregion
#region Constructors
public LongtTermSecondaryOxygenSensorTrimBank13()
: base(0x56, 2)
{ }
#endregion
}
}

View File

@ -0,0 +1,20 @@
namespace OBD.NET.OBDData
{
public class LongTermSecondaryOxygenSensorTrimBank24 : AbstractOBDData
{
#region Properties & Fields
public double Bank2 => (A / 1.28) - 100;
public double Bank4 => (B / 1.28) - 100;
#endregion
#region Constructors
public LongTermSecondaryOxygenSensorTrimBank24()
: base(0x58, 2)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class MaximumValueForAirFlowRate : AbstractOBDData
{
#region Properties & Fields
public int Value => A * 10;
#endregion
#region Constructors
public MaximumValueForAirFlowRate()
: base(0x50, 4)
{ }
#endregion
}
}

View File

@ -0,0 +1,22 @@
namespace OBD.NET.OBDData
{
public class MaximumValues : AbstractOBDData
{
#region Properties & Fields
public int FuelAirEquivalenceRatio => A;
public int OxygenSensorVoltage => B;
public int OxygenSensorCurrent => C;
public int IntakeManifoldAbsolutePressure => D * 10;
#endregion
#region Constructors
public MaximumValues()
: base(0x4F, 4)
{ }
#endregion
}
}

View File

@ -0,0 +1,50 @@
namespace OBD.NET.OBDData
{
public class MonitorStatusThisDriveCycle : AbstractOBDData
{
#region Properties & Fields
public bool IsComponentsTestAvailable => (B & 1 << 3) != 0;
public bool IsComponentsTestComplete => (B & 1 << 7) == 0;
public bool IsFuelSystemTestAvailable => (B & 1 << 1) != 0;
public bool IsFuelSystemTestComplete => (B & 1 << 5) == 0;
public bool IsMisfireTestAvailable => (B & 1 << 0) != 0;
public bool IsMisfireTestComplete => (B & 1 << 4) == 0;
public bool IsEGRSystemTestAvailable => (C & 1 << 7) != 0;
public bool IsEGRSystemTestComplete => (D & 1 << 7) == 0;
public bool IsOxygenSensorHeaterTestAvailable => (C & 1 << 6) != 0;
public bool IsOxygenSensorHeaterTestComplete => (D & 1 << 6) == 0;
public bool IsOxygenSensorTestAvailable => (C & 1 << 5) != 0;
public bool IsOxygenSensorTestComplete => (D & 1 << 5) == 0;
public bool IsACRefrigerantTestAvailable => (C & 1 << 4) != 0;
public bool IsACRefrigerantTestComplete => (D & 1 << 4) == 0;
public bool IsSecondaryAirSystemTestAvailable => (C & 1 << 3) != 0;
public bool IsSecondaryAirSystemTestComplete => (D & 1 << 3) == 0;
public bool IsEvaporativeSystemTestAvailable => (C & 1 << 2) != 0;
public bool IsEvaporativeSystemTestComplete => (D & 1 << 2) == 0;
public bool IsHeatedCatalystTestAvailable => (C & 1 << 1) != 0;
public bool IsHeatedCatalystTestComplete => (D & 1 << 1) == 0;
public bool IsCatalystAvailable => (C & 1 << 0) != 0;
public bool IsCatalystComplete => (D & 1 << 0) == 0;
#endregion
#region Constructors
public MonitorStatusThisDriveCycle()
: base(0x41, 4)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class RelativeAcceleratorPedalPosition : AbstractOBDData
{
#region Properties & Fields
public double PedalPosition => A / 2.55;
#endregion
#region Constructors
public RelativeAcceleratorPedalPosition()
: base(0x5A, 1)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class RelativeThrottlePosition : AbstractOBDData
{
#region Properties & Fields
public double Position => A / 2.55;
#endregion
#region Constructors
public RelativeThrottlePosition()
: base(0x45, 1)
{ }
#endregion
}
}

View File

@ -0,0 +1,20 @@
namespace OBD.NET.OBDData
{
public class ShortTermSecondaryOxygenSensorTrimBank13 : AbstractOBDData
{
#region Properties & Fields
public double Bank1 => (A / 1.28) - 100;
public double Bank3 => (B / 1.28) - 100;
#endregion
#region Constructors
public ShortTermSecondaryOxygenSensorTrimBank13()
: base(0x55, 2)
{ }
#endregion
}
}

View File

@ -0,0 +1,20 @@
namespace OBD.NET.OBDData
{
public class ShortTermSecondaryOxygenSensorTrimBank24 : AbstractOBDData
{
#region Properties & Fields
public double Bank2 => (A / 1.28) - 100;
public double Bank4 => (B / 1.28) - 100;
#endregion
#region Constructors
public ShortTermSecondaryOxygenSensorTrimBank24()
: base(0x57, 2)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class TimeRunWithMILOn : AbstractOBDData
{
#region Properties & Fields
public int Time => (256 * A) + B;
#endregion
#region Constructors
public TimeRunWithMILOn()
: base(0x4D, 2)
{ }
#endregion
}
}

View File

@ -0,0 +1,19 @@
namespace OBD.NET.OBDData
{
public class TimeSinceTroubleCodesCleared : AbstractOBDData
{
#region Properties & Fields
public int Time => (256 * A) + B;
#endregion
#region Constructors
public TimeSinceTroubleCodesCleared()
: base(0x4E, 2)
{ }
#endregion
}
}