48 lines
1.8 KiB
C#
48 lines
1.8 KiB
C#
|
|
using System;
|
|||
|
|
|
|||
|
|
namespace DatabaseImport
|
|||
|
|
{
|
|||
|
|
public class HardwareChannel : /*BasePropertyChanged,*/ IComparable<HardwareChannel>, IHardwareChannel
|
|||
|
|
{
|
|||
|
|
private readonly ISO.HardwareChannel _isoChannel;
|
|||
|
|
public ISO.HardwareChannel 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);
|
|||
|
|
return 0 != order ? order : GetISOChannel().ChannelIdx.CompareTo(right.GetISOChannel().ChannelIdx);
|
|||
|
|
}
|
|||
|
|
public string GetId()
|
|||
|
|
{
|
|||
|
|
return $"{Hardware.GetHardware().GetId()}x{1 + ChannelNumber}";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private TestObjectChannel _testObjectChannel;
|
|||
|
|
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(ISO.HardwareChannel 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;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|