diff --git a/OBD.NET/OBD.NET/OBD.NET.csproj b/OBD.NET/OBD.NET/OBD.NET.csproj index 1822b1d..f0197ce 100644 --- a/OBD.NET/OBD.NET/OBD.NET.csproj +++ b/OBD.NET/OBD.NET/OBD.NET.csproj @@ -46,14 +46,28 @@ + + + + + + + + + + + + + + @@ -61,16 +75,38 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -78,6 +114,7 @@ + diff --git a/OBD.NET/OBD.NET/OBDData/AbsoluteBarometricPressure.cs b/OBD.NET/OBD.NET/OBDData/AbsoluteBarometricPressure.cs new file mode 100644 index 0000000..d716bd2 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/AbsoluteBarometricPressure.cs @@ -0,0 +1,19 @@ +namespace OBD.NET.OBDData +{ + public class AbsoluteBarometricPressure : AbstractOBDData + { + #region Properties & Fields + + public int Pressure => A; + + #endregion + + #region Constructors + + public AbsoluteBarometricPressure() + : base(0x33, 1) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/CatalystTemperatureBank1Sensor1.cs b/OBD.NET/OBD.NET/OBDData/CatalystTemperatureBank1Sensor1.cs new file mode 100644 index 0000000..e01e5e0 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/CatalystTemperatureBank1Sensor1.cs @@ -0,0 +1,19 @@ +namespace OBD.NET.OBDData +{ + public class CatalystTemperatureBank1Sensor1 : AbstractOBDData + { + #region Properties & Fields + + public double Temperature => (((256 * A) + B) / 10.0) - 40; + + #endregion + + #region Constructors + + public CatalystTemperatureBank1Sensor1() + : base(0x3C, 2) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/CatalystTemperatureBank1Sensor2.cs b/OBD.NET/OBD.NET/OBDData/CatalystTemperatureBank1Sensor2.cs new file mode 100644 index 0000000..50fefe1 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/CatalystTemperatureBank1Sensor2.cs @@ -0,0 +1,19 @@ +namespace OBD.NET.OBDData +{ + public class CatalystTemperatureBank1Sensor2 : AbstractOBDData + { + #region Properties & Fields + + public double Temperature => (((256 * A) + B) / 10.0) - 40; + + #endregion + + #region Constructors + + public CatalystTemperatureBank1Sensor2() + : base(0x3D, 2) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/CatalystTemperatureBank2Sensor1.cs b/OBD.NET/OBD.NET/OBDData/CatalystTemperatureBank2Sensor1.cs new file mode 100644 index 0000000..191d930 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/CatalystTemperatureBank2Sensor1.cs @@ -0,0 +1,19 @@ +namespace OBD.NET.OBDData +{ + public class CatalystTemperatureBank2Sensor1 : AbstractOBDData + { + #region Properties & Fields + + public double Temperature => (((256 * A) + B) / 10.0) - 40; + + #endregion + + #region Constructors + + public CatalystTemperatureBank2Sensor1() + : base(0x3E, 2) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/CatalystTemperatureBank2Sensor2.cs b/OBD.NET/OBD.NET/OBDData/CatalystTemperatureBank2Sensor2.cs new file mode 100644 index 0000000..98cf32d --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/CatalystTemperatureBank2Sensor2.cs @@ -0,0 +1,19 @@ +namespace OBD.NET.OBDData +{ + public class CatalystTemperatureBank2Sensor2 : AbstractOBDData + { + #region Properties & Fields + + public double Temperature => (((256 * A) + B) / 10.0) - 40; + + #endregion + + #region Constructors + + public CatalystTemperatureBank2Sensor2() + : base(0x3F, 2) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/CommandedEGR.cs b/OBD.NET/OBD.NET/OBDData/CommandedEGR.cs new file mode 100644 index 0000000..6d82aa5 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/CommandedEGR.cs @@ -0,0 +1,19 @@ +namespace OBD.NET.OBDData +{ + public class CommandedEGR : AbstractOBDData + { + #region Properties & Fields + + public double EGR => A / 2.55; + + #endregion + + #region Constructors + + public CommandedEGR() + : base(0x2C, 1) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/CommandedEvaporativePurge.cs b/OBD.NET/OBD.NET/OBDData/CommandedEvaporativePurge.cs new file mode 100644 index 0000000..6188da8 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/CommandedEvaporativePurge.cs @@ -0,0 +1,19 @@ +namespace OBD.NET.OBDData +{ + public class CommandedEvaporativePurge : AbstractOBDData + { + #region Properties & Fields + + public double Purge => A / 2.55; + + #endregion + + #region Constructors + + public CommandedEvaporativePurge() + : base(0x2E, 1) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/DistanceTraveledSinceCodesCleared.cs b/OBD.NET/OBD.NET/OBDData/DistanceTraveledSinceCodesCleared.cs new file mode 100644 index 0000000..a6cb67a --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/DistanceTraveledSinceCodesCleared.cs @@ -0,0 +1,19 @@ +namespace OBD.NET.OBDData +{ + public class DistanceTraveledSinceCodesCleared : AbstractOBDData + { + #region Properties & Fields + + public int Distance => (256 * A) + B; + + #endregion + + #region Constructors + + public DistanceTraveledSinceCodesCleared() + : base(0x31, 2) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/DistanceTraveledWithMILOn.cs b/OBD.NET/OBD.NET/OBDData/DistanceTraveledWithMILOn.cs new file mode 100644 index 0000000..2b2ae19 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/DistanceTraveledWithMILOn.cs @@ -0,0 +1,19 @@ +namespace OBD.NET.OBDData +{ + public class DistanceTraveledWithMILOn : AbstractOBDData + { + #region Properties & Fields + + public int Distance => (256 * A) + B; + + #endregion + + #region Constructors + + public DistanceTraveledWithMILOn() + : base(0x21, 2) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/EGRError.cs b/OBD.NET/OBD.NET/OBDData/EGRError.cs new file mode 100644 index 0000000..0f9321e --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/EGRError.cs @@ -0,0 +1,19 @@ +namespace OBD.NET.OBDData +{ + public class EGRError : AbstractOBDData + { + #region Properties & Fields + + public double Error => (A / 1.28) - 100; + + #endregion + + #region Constructors + + public EGRError() + : base(0x2D, 1) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/EvapSystemVaporPressure.cs b/OBD.NET/OBD.NET/OBDData/EvapSystemVaporPressure.cs new file mode 100644 index 0000000..5a1d9d3 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/EvapSystemVaporPressure.cs @@ -0,0 +1,19 @@ +namespace OBD.NET.OBDData +{ + public class EvapSystemVaporPressure : AbstractOBDData + { + #region Properties & Fields + + public double Pressure => ((256 * A) + B) / 4.0; + + #endregion + + #region Constructors + + public EvapSystemVaporPressure() + : base(0x32, 2) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/FuelRailGaugePressure.cs b/OBD.NET/OBD.NET/OBDData/FuelRailGaugePressure.cs new file mode 100644 index 0000000..c9d8902 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/FuelRailGaugePressure.cs @@ -0,0 +1,19 @@ +namespace OBD.NET.OBDData +{ + public class FuelRailGaugePressure : AbstractOBDData + { + #region Properties & Fields + + public int Pressure => 10 * ((256 * A) + B); + + #endregion + + #region Constructors + + public FuelRailGaugePressure() + : base(0x23, 2) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/FuelRailPressure.cs b/OBD.NET/OBD.NET/OBDData/FuelRailPressure.cs new file mode 100644 index 0000000..b6a9ccb --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/FuelRailPressure.cs @@ -0,0 +1,19 @@ +namespace OBD.NET.OBDData +{ + public class FuelRailPressure : AbstractOBDData + { + #region Properties & Fields + + public double Pressure => 0.079 * ((256 * A) + B); + + #endregion + + #region Constructors + + public FuelRailPressure() + : base(0x22, 2) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/FuelTankLevelInput.cs b/OBD.NET/OBD.NET/OBDData/FuelTankLevelInput.cs new file mode 100644 index 0000000..ccc0235 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/FuelTankLevelInput.cs @@ -0,0 +1,19 @@ +namespace OBD.NET.OBDData +{ + public class FuelTankLevelInput : AbstractOBDData + { + #region Properties & Fields + + public double Level => A / 2.55; + + #endregion + + #region Constructors + + public FuelTankLevelInput() + : base(0x2F, 1) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor1FuelAir.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor1FuelAir.cs new file mode 100644 index 0000000..18264f4 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor1FuelAir.cs @@ -0,0 +1,20 @@ +namespace OBD.NET.OBDData +{ + public class OxygenSensor1FuelAir : AbstractOBDData + { + #region Properties & Fields + + public double FuelAirEquivalenceRatio => (2.0 / 25536.0) * ((256 * A) + B); + public double Voltage => (80 / 25536.0) * ((256 * C) + D); + + #endregion + + #region Constructors + + public OxygenSensor1FuelAir() + : base(0x24, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor1FuelAir2.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor1FuelAir2.cs new file mode 100644 index 0000000..8586b23 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor1FuelAir2.cs @@ -0,0 +1,20 @@ +namespace OBD.NET.OBDData +{ + public class OxygenSensor1FuelAir2 : AbstractOBDData + { + #region Properties & Fields + + public double FuelAirEquivalenceRatio => (2.0 / 25536.0) * ((256 * A) + B); + public double Current => C + (D / 256.0) - 128; + + #endregion + + #region Constructors + + public OxygenSensor1FuelAir2() + : base(0x34, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor1.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor1FuelTrim.cs similarity index 78% rename from OBD.NET/OBD.NET/OBDData/OxygenSensor1.cs rename to OBD.NET/OBD.NET/OBDData/OxygenSensor1FuelTrim.cs index 17ceb85..feeddf6 100644 --- a/OBD.NET/OBD.NET/OBDData/OxygenSensor1.cs +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor1FuelTrim.cs @@ -1,6 +1,6 @@ namespace OBD.NET.OBDData { - public class OxygenSensor1 : AbstractOBDData + public class OxygenSensor1FuelTrim : AbstractOBDData { #region Properties & Fields @@ -12,7 +12,7 @@ #region Constructors - public OxygenSensor1() + public OxygenSensor1FuelTrim() : base(0x14, 2) { } diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor2FuelAir.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor2FuelAir.cs new file mode 100644 index 0000000..8869625 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor2FuelAir.cs @@ -0,0 +1,20 @@ +namespace OBD.NET.OBDData +{ + public class OxygenSensor2FuelAir : AbstractOBDData + { + #region Properties & Fields + + public double FuelAirEquivalenceRatio => (2.0 / 25536.0) * ((256 * A) + B); + public double Voltage => (80 / 25536.0) * ((256 * C) + D); + + #endregion + + #region Constructors + + public OxygenSensor2FuelAir() + : base(0x25, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor2FuelAir2.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor2FuelAir2.cs new file mode 100644 index 0000000..f856dc2 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor2FuelAir2.cs @@ -0,0 +1,20 @@ +namespace OBD.NET.OBDData +{ + public class OxygenSensor2FuelAir2 : AbstractOBDData + { + #region Properties & Fields + + public double FuelAirEquivalenceRatio => (2.0 / 25536.0) * ((256 * A) + B); + public double Current => C + (D / 256.0) - 128; + + #endregion + + #region Constructors + + public OxygenSensor2FuelAir2() + : base(0x35, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor2.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor2FuelTrim.cs similarity index 78% rename from OBD.NET/OBD.NET/OBDData/OxygenSensor2.cs rename to OBD.NET/OBD.NET/OBDData/OxygenSensor2FuelTrim.cs index 99e401d..7db8ec2 100644 --- a/OBD.NET/OBD.NET/OBDData/OxygenSensor2.cs +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor2FuelTrim.cs @@ -1,6 +1,6 @@ namespace OBD.NET.OBDData { - public class OxygenSensor2 : AbstractOBDData + public class OxygenSensor2FuelTrim : AbstractOBDData { #region Properties & Fields @@ -12,7 +12,7 @@ #region Constructors - public OxygenSensor2() + public OxygenSensor2FuelTrim() : base(0x15, 2) { } diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor3FuelAir.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor3FuelAir.cs new file mode 100644 index 0000000..9afd20f --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor3FuelAir.cs @@ -0,0 +1,20 @@ +namespace OBD.NET.OBDData +{ + public class OxygenSensor3FuelAir : AbstractOBDData + { + #region Properties & Fields + + public double FuelAirEquivalenceRatio => (2.0 / 25536.0) * ((256 * A) + B); + public double Voltage => (80 / 25536.0) * ((256 * C) + D); + + #endregion + + #region Constructors + + public OxygenSensor3FuelAir() + : base(0x26, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor3FuelAir2.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor3FuelAir2.cs new file mode 100644 index 0000000..48d6a92 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor3FuelAir2.cs @@ -0,0 +1,20 @@ +namespace OBD.NET.OBDData +{ + public class OxygenSensor3FuelAir2 : AbstractOBDData + { + #region Properties & Fields + + public double FuelAirEquivalenceRatio => (2.0 / 25536.0) * ((256 * A) + B); + public double Current => C + (D / 256.0) - 128; + + #endregion + + #region Constructors + + public OxygenSensor3FuelAir2() + : base(0x36, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor3.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor3FuelTrim.cs similarity index 78% rename from OBD.NET/OBD.NET/OBDData/OxygenSensor3.cs rename to OBD.NET/OBD.NET/OBDData/OxygenSensor3FuelTrim.cs index 0c87e93..5990442 100644 --- a/OBD.NET/OBD.NET/OBDData/OxygenSensor3.cs +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor3FuelTrim.cs @@ -1,6 +1,6 @@ namespace OBD.NET.OBDData { - public class OxygenSensor3 : AbstractOBDData + public class OxygenSensor3FuelTrim : AbstractOBDData { #region Properties & Fields @@ -12,7 +12,7 @@ #region Constructors - public OxygenSensor3() + public OxygenSensor3FuelTrim() : base(0x16, 2) { } diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor4FuelAir.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor4FuelAir.cs new file mode 100644 index 0000000..8a6582e --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor4FuelAir.cs @@ -0,0 +1,20 @@ +namespace OBD.NET.OBDData +{ + public class OxygenSensor4FuelAir : AbstractOBDData + { + #region Properties & Fields + + public double FuelAirEquivalenceRatio => (2.0 / 25536.0) * ((256 * A) + B); + public double Voltage => (80 / 25536.0) * ((256 * C) + D); + + #endregion + + #region Constructors + + public OxygenSensor4FuelAir() + : base(0x27, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor4FuelAir2.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor4FuelAir2.cs new file mode 100644 index 0000000..6b038ec --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor4FuelAir2.cs @@ -0,0 +1,20 @@ +namespace OBD.NET.OBDData +{ + public class OxygenSensor4FuelAir2 : AbstractOBDData + { + #region Properties & Fields + + public double FuelAirEquivalenceRatio => (2.0 / 25536.0) * ((256 * A) + B); + public double Current => C + (D / 256.0) - 128; + + #endregion + + #region Constructors + + public OxygenSensor4FuelAir2() + : base(0x37, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor4.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor4FuelTrim.cs similarity index 78% rename from OBD.NET/OBD.NET/OBDData/OxygenSensor4.cs rename to OBD.NET/OBD.NET/OBDData/OxygenSensor4FuelTrim.cs index 6a75c2d..09ce254 100644 --- a/OBD.NET/OBD.NET/OBDData/OxygenSensor4.cs +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor4FuelTrim.cs @@ -1,6 +1,6 @@ namespace OBD.NET.OBDData { - public class OxygenSensor4 : AbstractOBDData + public class OxygenSensor4FuelTrim : AbstractOBDData { #region Properties & Fields @@ -12,7 +12,7 @@ #region Constructors - public OxygenSensor4() + public OxygenSensor4FuelTrim() : base(0x17, 2) { } diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor5FuelAir.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor5FuelAir.cs new file mode 100644 index 0000000..e1f6dcc --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor5FuelAir.cs @@ -0,0 +1,20 @@ +namespace OBD.NET.OBDData +{ + public class OxygenSensor5FuelAir : AbstractOBDData + { + #region Properties & Fields + + public double FuelAirEquivalenceRatio => (2.0 / 25536.0) * ((256 * A) + B); + public double Voltage => (80 / 25536.0) * ((256 * C) + D); + + #endregion + + #region Constructors + + public OxygenSensor5FuelAir() + : base(0x28, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor5FuelAir2.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor5FuelAir2.cs new file mode 100644 index 0000000..2f3477d --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor5FuelAir2.cs @@ -0,0 +1,20 @@ +namespace OBD.NET.OBDData +{ + public class OxygenSensor5FuelAir2 : AbstractOBDData + { + #region Properties & Fields + + public double FuelAirEquivalenceRatio => (2.0 / 25536.0) * ((256 * A) + B); + public double Current => C + (D / 256.0) - 128; + + #endregion + + #region Constructors + + public OxygenSensor5FuelAir2() + : base(0x38, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor5.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor5FuelTrim.cs similarity index 78% rename from OBD.NET/OBD.NET/OBDData/OxygenSensor5.cs rename to OBD.NET/OBD.NET/OBDData/OxygenSensor5FuelTrim.cs index e40768b..1245abf 100644 --- a/OBD.NET/OBD.NET/OBDData/OxygenSensor5.cs +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor5FuelTrim.cs @@ -1,6 +1,6 @@ namespace OBD.NET.OBDData { - public class OxygenSensor5 : AbstractOBDData + public class OxygenSensor5FuelTrim : AbstractOBDData { #region Properties & Fields @@ -12,7 +12,7 @@ #region Constructors - public OxygenSensor5() + public OxygenSensor5FuelTrim() : base(0x18, 2) { } diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor6FuelAir.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor6FuelAir.cs new file mode 100644 index 0000000..687f9b0 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor6FuelAir.cs @@ -0,0 +1,20 @@ +namespace OBD.NET.OBDData +{ + public class OxygenSensor6FuelAir : AbstractOBDData + { + #region Properties & Fields + + public double FuelAirEquivalenceRatio => (2.0 / 25536.0) * ((256 * A) + B); + public double Voltage => (80 / 25536.0) * ((256 * C) + D); + + #endregion + + #region Constructors + + public OxygenSensor6FuelAir() + : base(0x29, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor6FuelAir2.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor6FuelAir2.cs new file mode 100644 index 0000000..0286fee --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor6FuelAir2.cs @@ -0,0 +1,20 @@ +namespace OBD.NET.OBDData +{ + public class OxygenSensor6FuelAir2 : AbstractOBDData + { + #region Properties & Fields + + public double FuelAirEquivalenceRatio => (2.0 / 25536.0) * ((256 * A) + B); + public double Current => C + (D / 256.0) - 128; + + #endregion + + #region Constructors + + public OxygenSensor6FuelAir2() + : base(0x39, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor6.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor6FuelTrim.cs similarity index 78% rename from OBD.NET/OBD.NET/OBDData/OxygenSensor6.cs rename to OBD.NET/OBD.NET/OBDData/OxygenSensor6FuelTrim.cs index 3bc695e..e7e715e 100644 --- a/OBD.NET/OBD.NET/OBDData/OxygenSensor6.cs +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor6FuelTrim.cs @@ -1,6 +1,6 @@ namespace OBD.NET.OBDData { - public class OxygenSensor6 : AbstractOBDData + public class OxygenSensor6FuelTrim : AbstractOBDData { #region Properties & Fields @@ -12,7 +12,7 @@ #region Constructors - public OxygenSensor6() + public OxygenSensor6FuelTrim() : base(0x19, 2) { } diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor7FuelAir.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor7FuelAir.cs new file mode 100644 index 0000000..61629d6 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor7FuelAir.cs @@ -0,0 +1,20 @@ +namespace OBD.NET.OBDData +{ + public class OxygenSensor7FuelAir : AbstractOBDData + { + #region Properties & Fields + + public double FuelAirEquivalenceRatio => (2.0 / 25536.0) * ((256 * A) + B); + public double Voltage => (80 / 25536.0) * ((256 * C) + D); + + #endregion + + #region Constructors + + public OxygenSensor7FuelAir() + : base(0x2A, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor7FuelAir2.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor7FuelAir2.cs new file mode 100644 index 0000000..eccc6e1 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor7FuelAir2.cs @@ -0,0 +1,20 @@ +namespace OBD.NET.OBDData +{ + public class OxygenSensor7FuelAir2 : AbstractOBDData + { + #region Properties & Fields + + public double FuelAirEquivalenceRatio => (2.0 / 25536.0) * ((256 * A) + B); + public double Current => C + (D / 256.0) - 128; + + #endregion + + #region Constructors + + public OxygenSensor7FuelAir2() + : base(0x3A, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor7.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor7FuelTrim.cs similarity index 78% rename from OBD.NET/OBD.NET/OBDData/OxygenSensor7.cs rename to OBD.NET/OBD.NET/OBDData/OxygenSensor7FuelTrim.cs index fa1aba4..4000cc6 100644 --- a/OBD.NET/OBD.NET/OBDData/OxygenSensor7.cs +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor7FuelTrim.cs @@ -1,6 +1,6 @@ namespace OBD.NET.OBDData { - public class OxygenSensor7 : AbstractOBDData + public class OxygenSensor7FuelTrim : AbstractOBDData { #region Properties & Fields @@ -12,7 +12,7 @@ #region Constructors - public OxygenSensor7() + public OxygenSensor7FuelTrim() : base(0x1A, 2) { } diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor8FuelAir.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor8FuelAir.cs new file mode 100644 index 0000000..42ba8ac --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor8FuelAir.cs @@ -0,0 +1,20 @@ +namespace OBD.NET.OBDData +{ + public class OxygenSensor8FuelAir : AbstractOBDData + { + #region Properties & Fields + + public double FuelAirEquivalenceRatio => (2.0 / 25536.0) * ((256 * A) + B); + public double Voltage => (80 / 25536.0) * ((256 * C) + D); + + #endregion + + #region Constructors + + public OxygenSensor8FuelAir() + : base(0x2B, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor8FuelAir2.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor8FuelAir2.cs new file mode 100644 index 0000000..fb99720 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor8FuelAir2.cs @@ -0,0 +1,20 @@ +namespace OBD.NET.OBDData +{ + public class OxygenSensor8FuelAir2 : AbstractOBDData + { + #region Properties & Fields + + public double FuelAirEquivalenceRatio => (2.0 / 25536.0) * ((256 * A) + B); + public double Current => C + (D / 256.0) - 128; + + #endregion + + #region Constructors + + public OxygenSensor8FuelAir2() + : base(0x3B, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/OxygenSensor8.cs b/OBD.NET/OBD.NET/OBDData/OxygenSensor8FuelTrim.cs similarity index 78% rename from OBD.NET/OBD.NET/OBDData/OxygenSensor8.cs rename to OBD.NET/OBD.NET/OBDData/OxygenSensor8FuelTrim.cs index ea9ea82..f7dfea3 100644 --- a/OBD.NET/OBD.NET/OBDData/OxygenSensor8.cs +++ b/OBD.NET/OBD.NET/OBDData/OxygenSensor8FuelTrim.cs @@ -1,6 +1,6 @@ namespace OBD.NET.OBDData { - public class OxygenSensor8 : AbstractOBDData + public class OxygenSensor8FuelTrim : AbstractOBDData { #region Properties & Fields @@ -12,7 +12,7 @@ #region Constructors - public OxygenSensor8() + public OxygenSensor8FuelTrim() : base(0x1B, 2) { } diff --git a/OBD.NET/OBD.NET/OBDData/PidsSupported01_20.cs b/OBD.NET/OBD.NET/OBDData/PidsSupported01_20.cs index 704750d..ab2edfd 100644 --- a/OBD.NET/OBD.NET/OBDData/PidsSupported01_20.cs +++ b/OBD.NET/OBD.NET/OBDData/PidsSupported01_20.cs @@ -16,19 +16,19 @@ namespace OBD.NET.OBDData { case 0: if ((A << (7 - i)) != 0) - supportedPids.Add(i); + supportedPids.Add(PID + i); break; case 1: - if ((A << (15 - i)) != 0) - supportedPids.Add(i); + if ((B << (15 - i)) != 0) + supportedPids.Add(PID + i); break; case 2: - if ((A << (23 - i)) != 0) - supportedPids.Add(i); + if ((C << (23 - i)) != 0) + supportedPids.Add(PID + i); break; case 3: - if ((A << (31 - i)) != 0) - supportedPids.Add(i); + if ((D << (31 - i)) != 0) + supportedPids.Add(PID + i); break; } return supportedPids.ToArray(); diff --git a/OBD.NET/OBD.NET/OBDData/PidsSupported21_40.cs b/OBD.NET/OBD.NET/OBDData/PidsSupported21_40.cs new file mode 100644 index 0000000..ee87c35 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/PidsSupported21_40.cs @@ -0,0 +1,48 @@ +using System.Collections.Generic; + +namespace OBD.NET.OBDData +{ + public class PidsSupported21_40 : AbstractOBDData + { + #region Properties & Fields + + public int[] SupportedPids + { + get + { + List supportedPids = new List(); + for (int i = 0x01; i < 0x20; i++) + switch ((int)(i / 8.0)) + { + case 0: + if ((A << (7 - i)) != 0) + supportedPids.Add(PID + i); + break; + case 1: + if ((B << (15 - i)) != 0) + supportedPids.Add(PID + i); + break; + case 2: + if ((C << (23 - i)) != 0) + supportedPids.Add(PID + i); + break; + case 3: + if ((D << (31 - i)) != 0) + supportedPids.Add(PID + i); + break; + } + return supportedPids.ToArray(); + } + } + + #endregion + + #region Constructors + + public PidsSupported21_40() + : base(0x20, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/PidsSupported41_60.cs b/OBD.NET/OBD.NET/OBDData/PidsSupported41_60.cs new file mode 100644 index 0000000..6b5a386 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/PidsSupported41_60.cs @@ -0,0 +1,48 @@ +using System.Collections.Generic; + +namespace OBD.NET.OBDData +{ + public class PidsSupported41_60 : AbstractOBDData + { + #region Properties & Fields + + public int[] SupportedPids + { + get + { + List supportedPids = new List(); + for (int i = 0x01; i < 0x20; i++) + switch ((int)(i / 8.0)) + { + case 0: + if ((A << (7 - i)) != 0) + supportedPids.Add(PID + i); + break; + case 1: + if ((B << (15 - i)) != 0) + supportedPids.Add(PID + i); + break; + case 2: + if ((C << (23 - i)) != 0) + supportedPids.Add(PID + i); + break; + case 3: + if ((D << (31 - i)) != 0) + supportedPids.Add(PID + i); + break; + } + return supportedPids.ToArray(); + } + } + + #endregion + + #region Constructors + + public PidsSupported41_60() + : base(0x40, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/PidsSupported61_80.cs b/OBD.NET/OBD.NET/OBDData/PidsSupported61_80.cs new file mode 100644 index 0000000..b08282c --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/PidsSupported61_80.cs @@ -0,0 +1,48 @@ +using System.Collections.Generic; + +namespace OBD.NET.OBDData +{ + public class PidsSupported61_80 : AbstractOBDData + { + #region Properties & Fields + + public int[] SupportedPids + { + get + { + List supportedPids = new List(); + for (int i = 0x01; i < 0x20; i++) + switch ((int)(i / 8.0)) + { + case 0: + if ((A << (7 - i)) != 0) + supportedPids.Add(PID + i); + break; + case 1: + if ((B << (15 - i)) != 0) + supportedPids.Add(PID + i); + break; + case 2: + if ((C << (23 - i)) != 0) + supportedPids.Add(PID + i); + break; + case 3: + if ((D << (31 - i)) != 0) + supportedPids.Add(PID + i); + break; + } + return supportedPids.ToArray(); + } + } + + #endregion + + #region Constructors + + public PidsSupported61_80() + : base(0x60, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/PidsSupported81_A0.cs b/OBD.NET/OBD.NET/OBDData/PidsSupported81_A0.cs new file mode 100644 index 0000000..d9890a0 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/PidsSupported81_A0.cs @@ -0,0 +1,48 @@ +using System.Collections.Generic; + +namespace OBD.NET.OBDData +{ + public class PidsSupported81_A0 : AbstractOBDData + { + #region Properties & Fields + + public int[] SupportedPids + { + get + { + List supportedPids = new List(); + for (int i = 0x01; i < 0x20; i++) + switch ((int)(i / 8.0)) + { + case 0: + if ((A << (7 - i)) != 0) + supportedPids.Add(PID + i); + break; + case 1: + if ((B << (15 - i)) != 0) + supportedPids.Add(PID + i); + break; + case 2: + if ((C << (23 - i)) != 0) + supportedPids.Add(PID + i); + break; + case 3: + if ((D << (31 - i)) != 0) + supportedPids.Add(PID + i); + break; + } + return supportedPids.ToArray(); + } + } + + #endregion + + #region Constructors + + public PidsSupported81_A0() + : base(0x80, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/PidsSupportedA1_C0.cs b/OBD.NET/OBD.NET/OBDData/PidsSupportedA1_C0.cs new file mode 100644 index 0000000..dad7d21 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/PidsSupportedA1_C0.cs @@ -0,0 +1,48 @@ +using System.Collections.Generic; + +namespace OBD.NET.OBDData +{ + public class PidsSupportedA1_C0 : AbstractOBDData + { + #region Properties & Fields + + public int[] SupportedPids + { + get + { + List supportedPids = new List(); + for (int i = 0x01; i < 0x20; i++) + switch ((int)(i / 8.0)) + { + case 0: + if ((A << (7 - i)) != 0) + supportedPids.Add(PID + i); + break; + case 1: + if ((B << (15 - i)) != 0) + supportedPids.Add(PID + i); + break; + case 2: + if ((C << (23 - i)) != 0) + supportedPids.Add(PID + i); + break; + case 3: + if ((D << (31 - i)) != 0) + supportedPids.Add(PID + i); + break; + } + return supportedPids.ToArray(); + } + } + + #endregion + + #region Constructors + + public PidsSupportedA1_C0() + : base(0xA0, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/PidsSupportedC1_E0.cs b/OBD.NET/OBD.NET/OBDData/PidsSupportedC1_E0.cs new file mode 100644 index 0000000..c091848 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/PidsSupportedC1_E0.cs @@ -0,0 +1,48 @@ +using System.Collections.Generic; + +namespace OBD.NET.OBDData +{ + public class PidsSupportedC1_E0 : AbstractOBDData + { + #region Properties & Fields + + public int[] SupportedPids + { + get + { + List supportedPids = new List(); + for (int i = 0x01; i < 0x20; i++) + switch ((int)(i / 8.0)) + { + case 0: + if ((A << (7 - i)) != 0) + supportedPids.Add(PID + i); + break; + case 1: + if ((B << (15 - i)) != 0) + supportedPids.Add(PID + i); + break; + case 2: + if ((C << (23 - i)) != 0) + supportedPids.Add(PID + i); + break; + case 3: + if ((D << (31 - i)) != 0) + supportedPids.Add(PID + i); + break; + } + return supportedPids.ToArray(); + } + } + + #endregion + + #region Constructors + + public PidsSupportedC1_E0() + : base(0xC0, 4) + { } + + #endregion + } +} diff --git a/OBD.NET/OBD.NET/OBDData/WarmUpsSinceCodesCleared.cs b/OBD.NET/OBD.NET/OBDData/WarmUpsSinceCodesCleared.cs new file mode 100644 index 0000000..1afd458 --- /dev/null +++ b/OBD.NET/OBD.NET/OBDData/WarmUpsSinceCodesCleared.cs @@ -0,0 +1,19 @@ +namespace OBD.NET.OBDData +{ + public class WarmUpsSinceCodesCleared : AbstractOBDData + { + #region Properties & Fields + + public int WarmUps => A; + + #endregion + + #region Constructors + + public WarmUpsSinceCodesCleared() + : base(0x30, 1) + { } + + #endregion + } +}