From 1b4f77f1a850c87d50a1c7811daea8c49f296a7d Mon Sep 17 00:00:00 2001 From: Darth Affe Date: Sun, 17 Apr 2016 14:41:49 +0200 Subject: [PATCH] Added third set of PIDs --- OBD.NET/OBD.NET/OBD.NET.csproj | 35 +++++++++++++ .../AbsoluteEvapSystemVaporPressure.cs | 19 +++++++ OBD.NET/OBD.NET/OBDData/AbsoluteLoadValue.cs | 19 +++++++ .../OBDData/AbsoluteThrottlePositionB.cs | 19 +++++++ .../OBDData/AbsoluteThrottlePositionC.cs | 19 +++++++ OBD.NET/OBD.NET/OBDData/AbstractOBDData.cs | 2 +- .../OBDData/AcceleratorPedalPositionD.cs | 19 +++++++ .../OBDData/AcceleratorPedalPositionE.cs | 19 +++++++ .../OBDData/AcceleratorPedalPositionF.cs | 19 +++++++ .../OBDData/ActualEnginePercentTorque.cs | 19 +++++++ .../OBD.NET/OBDData/AmbientAirTemperature.cs | 19 +++++++ .../OBDData/CommandedThrottleActuator.cs | 19 +++++++ .../OBD.NET/OBDData/ControlModuleVoltage.cs | 19 +++++++ .../DriversDemandEnginePercentTorque.cs | 19 +++++++ ...ionRequirementsToWhichVehicleIsDesigned.cs | 19 +++++++ OBD.NET/OBD.NET/OBDData/EngineFuelRate.cs | 19 +++++++ .../OBD.NET/OBDData/EngineOilTemperature.cs | 19 +++++++ .../OBDData/EnginePercentTorqueData.cs | 23 +++++++++ .../OBD.NET/OBDData/EngineReferenceTorque.cs | 19 +++++++ OBD.NET/OBD.NET/OBDData/EthanolFuel.cs | 19 +++++++ .../OBDData/EvapSystemVaporPressure2.cs | 19 +++++++ .../FuelAirCommandedEquivalenceRatio.cs | 19 +++++++ .../OBD.NET/OBDData/FuelInjectionTiming.cs | 19 +++++++ .../OBDData/FuelRailAbsolutePressure.cs | 19 +++++++ OBD.NET/OBD.NET/OBDData/FuelType.cs | 51 +++++++++++++++++++ .../OBDData/HybridBatteryPackRemainingLife.cs | 19 +++++++ ...LongTermSecondaryOxygenSensorTrimBank13.cs | 20 ++++++++ ...LongTermSecondaryOxygenSensorTrimBank24.cs | 20 ++++++++ .../OBDData/MaximumValueForAirFlowRate.cs | 19 +++++++ OBD.NET/OBD.NET/OBDData/MaximumValues.cs | 22 ++++++++ .../OBDData/MonitorStatusThisDriveCycle.cs | 50 ++++++++++++++++++ .../RelativeAcceleratorPedalPosition.cs | 19 +++++++ .../OBDData/RelativeThrottlePosition.cs | 19 +++++++ ...hortTermSecondaryOxygenSensorTrimBank13.cs | 20 ++++++++ ...hortTermSecondaryOxygenSensorTrimBank24.cs | 20 ++++++++ OBD.NET/OBD.NET/OBDData/TimeRunWithMILOn.cs | 19 +++++++ .../OBDData/TimeSinceTroubleCodesCleared.cs | 19 +++++++ 37 files changed, 775 insertions(+), 1 deletion(-) create mode 100644 OBD.NET/OBD.NET/OBDData/AbsoluteEvapSystemVaporPressure.cs create mode 100644 OBD.NET/OBD.NET/OBDData/AbsoluteLoadValue.cs create mode 100644 OBD.NET/OBD.NET/OBDData/AbsoluteThrottlePositionB.cs create mode 100644 OBD.NET/OBD.NET/OBDData/AbsoluteThrottlePositionC.cs create mode 100644 OBD.NET/OBD.NET/OBDData/AcceleratorPedalPositionD.cs create mode 100644 OBD.NET/OBD.NET/OBDData/AcceleratorPedalPositionE.cs create mode 100644 OBD.NET/OBD.NET/OBDData/AcceleratorPedalPositionF.cs create mode 100644 OBD.NET/OBD.NET/OBDData/ActualEnginePercentTorque.cs create mode 100644 OBD.NET/OBD.NET/OBDData/AmbientAirTemperature.cs create mode 100644 OBD.NET/OBD.NET/OBDData/CommandedThrottleActuator.cs create mode 100644 OBD.NET/OBD.NET/OBDData/ControlModuleVoltage.cs create mode 100644 OBD.NET/OBD.NET/OBDData/DriversDemandEnginePercentTorque.cs create mode 100644 OBD.NET/OBD.NET/OBDData/EmissionRequirementsToWhichVehicleIsDesigned.cs create mode 100644 OBD.NET/OBD.NET/OBDData/EngineFuelRate.cs create mode 100644 OBD.NET/OBD.NET/OBDData/EngineOilTemperature.cs create mode 100644 OBD.NET/OBD.NET/OBDData/EnginePercentTorqueData.cs create mode 100644 OBD.NET/OBD.NET/OBDData/EngineReferenceTorque.cs create mode 100644 OBD.NET/OBD.NET/OBDData/EthanolFuel.cs create mode 100644 OBD.NET/OBD.NET/OBDData/EvapSystemVaporPressure2.cs create mode 100644 OBD.NET/OBD.NET/OBDData/FuelAirCommandedEquivalenceRatio.cs create mode 100644 OBD.NET/OBD.NET/OBDData/FuelInjectionTiming.cs create mode 100644 OBD.NET/OBD.NET/OBDData/FuelRailAbsolutePressure.cs create mode 100644 OBD.NET/OBD.NET/OBDData/FuelType.cs create mode 100644 OBD.NET/OBD.NET/OBDData/HybridBatteryPackRemainingLife.cs create mode 100644 OBD.NET/OBD.NET/OBDData/LongTermSecondaryOxygenSensorTrimBank13.cs create mode 100644 OBD.NET/OBD.NET/OBDData/LongTermSecondaryOxygenSensorTrimBank24.cs create mode 100644 OBD.NET/OBD.NET/OBDData/MaximumValueForAirFlowRate.cs create mode 100644 OBD.NET/OBD.NET/OBDData/MaximumValues.cs create mode 100644 OBD.NET/OBD.NET/OBDData/MonitorStatusThisDriveCycle.cs create mode 100644 OBD.NET/OBD.NET/OBDData/RelativeAcceleratorPedalPosition.cs create mode 100644 OBD.NET/OBD.NET/OBDData/RelativeThrottlePosition.cs create mode 100644 OBD.NET/OBD.NET/OBDData/ShortTermSecondaryOxygenSensorTrimBank13.cs create mode 100644 OBD.NET/OBD.NET/OBDData/ShortTermSecondaryOxygenSensorTrimBank24.cs create mode 100644 OBD.NET/OBD.NET/OBDData/TimeRunWithMILOn.cs create mode 100644 OBD.NET/OBD.NET/OBDData/TimeSinceTroubleCodesCleared.cs diff --git a/OBD.NET/OBD.NET/OBD.NET.csproj b/OBD.NET/OBD.NET/OBD.NET.csproj index f0197ce..b4a8c47 100644 --- a/OBD.NET/OBD.NET/OBD.NET.csproj +++ b/OBD.NET/OBD.NET/OBD.NET.csproj @@ -47,7 +47,16 @@ + + + + + + + + + @@ -56,24 +65,42 @@ + + + + + + + + + + + + + + + + + + @@ -108,10 +135,18 @@ + + + + + + + + diff --git a/OBD.NET/OBD.NET/OBDData/AbsoluteEvapSystemVaporPressure.cs b/OBD.NET/OBD.NET/OBDData/AbsoluteEvapSystemVaporPressure.cs new file mode 100644 index 0000000..05a228a --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/AbsoluteEvapSystemVaporPressure.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/AbsoluteLoadValue.cs b/OBD.NET/OBD.NET/OBDData/AbsoluteLoadValue.cs new file mode 100644 index 0000000..06a4ee9 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/AbsoluteLoadValue.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/AbsoluteThrottlePositionB.cs b/OBD.NET/OBD.NET/OBDData/AbsoluteThrottlePositionB.cs new file mode 100644 index 0000000..e1b532b --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/AbsoluteThrottlePositionB.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/AbsoluteThrottlePositionC.cs b/OBD.NET/OBD.NET/OBDData/AbsoluteThrottlePositionC.cs new file mode 100644 index 0000000..4d460b3 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/AbsoluteThrottlePositionC.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/AbstractOBDData.cs b/OBD.NET/OBD.NET/OBDData/AbstractOBDData.cs index 4973b81..4d1d26d 100644 --- a/OBD.NET/OBD.NET/OBDData/AbstractOBDData.cs +++ b/OBD.NET/OBD.NET/OBDData/AbstractOBDData.cs @@ -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 diff --git a/OBD.NET/OBD.NET/OBDData/AcceleratorPedalPositionD.cs b/OBD.NET/OBD.NET/OBDData/AcceleratorPedalPositionD.cs new file mode 100644 index 0000000..8260263 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/AcceleratorPedalPositionD.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/AcceleratorPedalPositionE.cs b/OBD.NET/OBD.NET/OBDData/AcceleratorPedalPositionE.cs new file mode 100644 index 0000000..6f62c34 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/AcceleratorPedalPositionE.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/AcceleratorPedalPositionF.cs b/OBD.NET/OBD.NET/OBDData/AcceleratorPedalPositionF.cs new file mode 100644 index 0000000..20558fd --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/AcceleratorPedalPositionF.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/ActualEnginePercentTorque.cs b/OBD.NET/OBD.NET/OBDData/ActualEnginePercentTorque.cs new file mode 100644 index 0000000..9cb6c34 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/ActualEnginePercentTorque.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/AmbientAirTemperature.cs b/OBD.NET/OBD.NET/OBDData/AmbientAirTemperature.cs new file mode 100644 index 0000000..68ff920 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/AmbientAirTemperature.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/CommandedThrottleActuator.cs b/OBD.NET/OBD.NET/OBDData/CommandedThrottleActuator.cs new file mode 100644 index 0000000..adfdede --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/CommandedThrottleActuator.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/ControlModuleVoltage.cs b/OBD.NET/OBD.NET/OBDData/ControlModuleVoltage.cs new file mode 100644 index 0000000..c14a392 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/ControlModuleVoltage.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/DriversDemandEnginePercentTorque.cs b/OBD.NET/OBD.NET/OBDData/DriversDemandEnginePercentTorque.cs new file mode 100644 index 0000000..bec0bea --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/DriversDemandEnginePercentTorque.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/EmissionRequirementsToWhichVehicleIsDesigned.cs b/OBD.NET/OBD.NET/OBDData/EmissionRequirementsToWhichVehicleIsDesigned.cs new file mode 100644 index 0000000..34b5d4d --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/EmissionRequirementsToWhichVehicleIsDesigned.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/EngineFuelRate.cs b/OBD.NET/OBD.NET/OBDData/EngineFuelRate.cs new file mode 100644 index 0000000..71ebb52 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/EngineFuelRate.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/EngineOilTemperature.cs b/OBD.NET/OBD.NET/OBDData/EngineOilTemperature.cs new file mode 100644 index 0000000..3097643 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/EngineOilTemperature.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/EnginePercentTorqueData.cs b/OBD.NET/OBD.NET/OBDData/EnginePercentTorqueData.cs new file mode 100644 index 0000000..b401aa5 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/EnginePercentTorqueData.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/EngineReferenceTorque.cs b/OBD.NET/OBD.NET/OBDData/EngineReferenceTorque.cs new file mode 100644 index 0000000..b76bb5f --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/EngineReferenceTorque.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/EthanolFuel.cs b/OBD.NET/OBD.NET/OBDData/EthanolFuel.cs new file mode 100644 index 0000000..36f64de --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/EthanolFuel.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/EvapSystemVaporPressure2.cs b/OBD.NET/OBD.NET/OBDData/EvapSystemVaporPressure2.cs new file mode 100644 index 0000000..1718531 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/EvapSystemVaporPressure2.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/FuelAirCommandedEquivalenceRatio.cs b/OBD.NET/OBD.NET/OBDData/FuelAirCommandedEquivalenceRatio.cs new file mode 100644 index 0000000..7c11983 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/FuelAirCommandedEquivalenceRatio.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/FuelInjectionTiming.cs b/OBD.NET/OBD.NET/OBDData/FuelInjectionTiming.cs new file mode 100644 index 0000000..4806641 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/FuelInjectionTiming.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/FuelRailAbsolutePressure.cs b/OBD.NET/OBD.NET/OBDData/FuelRailAbsolutePressure.cs new file mode 100644 index 0000000..7b4d3cd --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/FuelRailAbsolutePressure.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/FuelType.cs b/OBD.NET/OBD.NET/OBDData/FuelType.cs new file mode 100644 index 0000000..041ac13 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/FuelType.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/HybridBatteryPackRemainingLife.cs b/OBD.NET/OBD.NET/OBDData/HybridBatteryPackRemainingLife.cs new file mode 100644 index 0000000..eba142f --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/HybridBatteryPackRemainingLife.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/LongTermSecondaryOxygenSensorTrimBank13.cs b/OBD.NET/OBD.NET/OBDData/LongTermSecondaryOxygenSensorTrimBank13.cs new file mode 100644 index 0000000..2bbbd23 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/LongTermSecondaryOxygenSensorTrimBank13.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/LongTermSecondaryOxygenSensorTrimBank24.cs b/OBD.NET/OBD.NET/OBDData/LongTermSecondaryOxygenSensorTrimBank24.cs new file mode 100644 index 0000000..4003156 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/LongTermSecondaryOxygenSensorTrimBank24.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/MaximumValueForAirFlowRate.cs b/OBD.NET/OBD.NET/OBDData/MaximumValueForAirFlowRate.cs new file mode 100644 index 0000000..0c40e6a --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/MaximumValueForAirFlowRate.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/MaximumValues.cs b/OBD.NET/OBD.NET/OBDData/MaximumValues.cs new file mode 100644 index 0000000..69d757f --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/MaximumValues.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/MonitorStatusThisDriveCycle.cs b/OBD.NET/OBD.NET/OBDData/MonitorStatusThisDriveCycle.cs new file mode 100644 index 0000000..6b1dbc9 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/MonitorStatusThisDriveCycle.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/RelativeAcceleratorPedalPosition.cs b/OBD.NET/OBD.NET/OBDData/RelativeAcceleratorPedalPosition.cs new file mode 100644 index 0000000..e86832f --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/RelativeAcceleratorPedalPosition.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/RelativeThrottlePosition.cs b/OBD.NET/OBD.NET/OBDData/RelativeThrottlePosition.cs new file mode 100644 index 0000000..ae488d3 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/RelativeThrottlePosition.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/ShortTermSecondaryOxygenSensorTrimBank13.cs b/OBD.NET/OBD.NET/OBDData/ShortTermSecondaryOxygenSensorTrimBank13.cs new file mode 100644 index 0000000..bf995e2 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/ShortTermSecondaryOxygenSensorTrimBank13.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/ShortTermSecondaryOxygenSensorTrimBank24.cs b/OBD.NET/OBD.NET/OBDData/ShortTermSecondaryOxygenSensorTrimBank24.cs new file mode 100644 index 0000000..887342c --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/ShortTermSecondaryOxygenSensorTrimBank24.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/TimeRunWithMILOn.cs b/OBD.NET/OBD.NET/OBDData/TimeRunWithMILOn.cs new file mode 100644 index 0000000..b42a7da --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/TimeRunWithMILOn.cs @@ -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 + } +} diff --git a/OBD.NET/OBD.NET/OBDData/TimeSinceTroubleCodesCleared.cs b/OBD.NET/OBD.NET/OBDData/TimeSinceTroubleCodesCleared.cs new file mode 100644 index 0000000..67a1240 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/TimeSinceTroubleCodesCleared.cs @@ -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 + } +}