mirror of
https://github.com/DarthAffe/OBD.NET.git
synced 2025-12-12 08:48:30 +00:00
Added abstract pids supported and changed the way to get the supported pids
This commit is contained in:
parent
43dd6968d9
commit
b4f7a3480e
@ -2,41 +2,8 @@
|
||||
|
||||
namespace OBD.NET.Common.OBDData
|
||||
{
|
||||
public class PidsSupported01_20 : AbstractOBDData
|
||||
public class PidsSupported01_20 : AbstractPidsSupported
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
public int[] SupportedPids
|
||||
{
|
||||
get
|
||||
{
|
||||
List<int> supportedPids = new List<int>();
|
||||
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 PidsSupported01_20()
|
||||
|
||||
@ -2,41 +2,8 @@
|
||||
|
||||
namespace OBD.NET.Common.OBDData
|
||||
{
|
||||
public class PidsSupported21_40 : AbstractOBDData
|
||||
public class PidsSupported21_40 : AbstractPidsSupported
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
public int[] SupportedPids
|
||||
{
|
||||
get
|
||||
{
|
||||
List<int> supportedPids = new List<int>();
|
||||
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()
|
||||
|
||||
@ -2,41 +2,8 @@
|
||||
|
||||
namespace OBD.NET.Common.OBDData
|
||||
{
|
||||
public class PidsSupported41_60 : AbstractOBDData
|
||||
public class PidsSupported41_60 : AbstractPidsSupported
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
public int[] SupportedPids
|
||||
{
|
||||
get
|
||||
{
|
||||
List<int> supportedPids = new List<int>();
|
||||
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()
|
||||
|
||||
@ -2,41 +2,8 @@
|
||||
|
||||
namespace OBD.NET.Common.OBDData
|
||||
{
|
||||
public class PidsSupported61_80 : AbstractOBDData
|
||||
public class PidsSupported61_80 : AbstractPidsSupported
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
public int[] SupportedPids
|
||||
{
|
||||
get
|
||||
{
|
||||
List<int> supportedPids = new List<int>();
|
||||
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()
|
||||
|
||||
@ -2,41 +2,8 @@
|
||||
|
||||
namespace OBD.NET.Common.OBDData
|
||||
{
|
||||
public class PidsSupported81_A0 : AbstractOBDData
|
||||
public class PidsSupported81_A0 : AbstractPidsSupported
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
public int[] SupportedPids
|
||||
{
|
||||
get
|
||||
{
|
||||
List<int> supportedPids = new List<int>();
|
||||
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()
|
||||
|
||||
@ -2,41 +2,8 @@
|
||||
|
||||
namespace OBD.NET.Common.OBDData
|
||||
{
|
||||
public class PidsSupportedA1_C0 : AbstractOBDData
|
||||
public class PidsSupportedA1_C0 : AbstractPidsSupported
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
public int[] SupportedPids
|
||||
{
|
||||
get
|
||||
{
|
||||
List<int> supportedPids = new List<int>();
|
||||
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()
|
||||
|
||||
35
OBD.NET/OBD.NET.Common/OBDData/AbstractPidsSupported.cs
Normal file
35
OBD.NET/OBD.NET.Common/OBDData/AbstractPidsSupported.cs
Normal file
@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace OBD.NET.Common.OBDData
|
||||
{
|
||||
public abstract class AbstractPidsSupported : AbstractOBDData
|
||||
{
|
||||
public AbstractPidsSupported(byte pid, int length) : base(pid, length)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public int[] SupportedPids
|
||||
{
|
||||
get
|
||||
{
|
||||
List<int> supportedPids = new List<int>();
|
||||
byte[] byteArray = new byte[] { D, C, B, A };
|
||||
var bitArray = new BitArray(byteArray);
|
||||
for (int i = 0x01; i <= 0x20; i++)
|
||||
{
|
||||
if (bitArray.Get(bitArray.Length - i))
|
||||
{
|
||||
supportedPids.Add(PID + i);
|
||||
}
|
||||
}
|
||||
return supportedPids.ToArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,41 +2,8 @@
|
||||
|
||||
namespace OBD.NET.Common.OBDData
|
||||
{
|
||||
public class PidsSupportedC1_E0 : AbstractOBDData
|
||||
public class PidsSupportedC1_E0 : AbstractPidsSupported
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
public int[] SupportedPids
|
||||
{
|
||||
get
|
||||
{
|
||||
List<int> supportedPids = new List<int>();
|
||||
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()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user