48 lines
1.8 KiB
C#
48 lines
1.8 KiB
C#
|
|
namespace DatabaseExport
|
|||
|
|
{
|
|||
|
|
public class HardwareChannel : System.IComparable<HardwareChannel> //: Common.BindableBase, System.IComparable<HardwareChannel>
|
|||
|
|
{
|
|||
|
|
private readonly ISOHardwareChannel _isoChannel;
|
|||
|
|
public ISOHardwareChannel GetISOChannel() { return _isoChannel; }
|
|||
|
|
public int CompareTo(HardwareChannel right)
|
|||
|
|
{
|
|||
|
|
if (this == right) { return 0; }
|
|||
|
|
if (null == right) { return 0; }
|
|||
|
|
|
|||
|
|
var order = GetISOChannel().DASDisplayOrder.CompareTo(right.GetISOChannel().DASDisplayOrder);
|
|||
|
|
if (0 != order) { return order; }
|
|||
|
|
return GetISOChannel().ChannelIdx.CompareTo(right.GetISOChannel().ChannelIdx);
|
|||
|
|
}
|
|||
|
|
public string GetId()
|
|||
|
|
{
|
|||
|
|
return string.Format("{0}x{1}", Hardware.GetHardware().GetId(), 1 + ChannelNumber);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public TestObjectChannel TestObjectChannel { get; set; }
|
|||
|
|
|
|||
|
|
public HardwareChannel(HardwareChannel copy)
|
|||
|
|
{
|
|||
|
|
ChannelNumber = copy.ChannelNumber;
|
|||
|
|
if (null != copy.Sensor) { Sensor = new SensorData(copy.Sensor); }
|
|||
|
|
TestObjectChannel = copy.TestObjectChannel;
|
|||
|
|
Hardware = copy.Hardware;
|
|||
|
|
_isoChannel = copy._isoChannel;
|
|||
|
|
}
|
|||
|
|
public HardwareChannel(ISOHardwareChannel channel, DASHardware hardware)
|
|||
|
|
{
|
|||
|
|
ChannelNumber = channel.ChannelIdx;
|
|||
|
|
Hardware = hardware;
|
|||
|
|
_isoChannel = channel;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public DASHardware Hardware { get; }
|
|||
|
|
public int ChannelNumber { get; } = 0;
|
|||
|
|
public SensorData Sensor { get; set; } = null;
|
|||
|
|
|
|||
|
|
public bool IsSupportedBridgeType(Test.Module.Channel.Sensor.BridgeType bridgeType)
|
|||
|
|
{
|
|||
|
|
return (GetISOChannel().SupportedBridges & (int)bridgeType) == (int)bridgeType;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|