using DTS.Common.Enums; using DTS.Common.Enums.Sensors; using DTS.Common.Interface.DASFactory.Diagnostics; namespace DTS.Common.Interface.DataRecorders { public interface IHardwareChannel { /// /// diagnostic results for this channel if available (null otherwise) /// IDiagnosticResult Diagnostics { get; } /// /// returns whether the channel supports the given bridge type /// /// /// bool IsSupportedBridgeType(SensorConstants.BridgeType bridgeType); int ChannelNumber { get; } string GetId(); /// /// returns true if the channel supports analog sensors /// bool IsAnalog { get; } /// /// returns true if chanel supports squibs /// bool IsSquib { get; } /// /// returns true if the channel supports digital outputs /// bool IsDigitalOut { get; } /// /// returns true if the channel supports digital inputs /// bool IsDigitalIn { get; } /// /// returns true if the channel supports uart i/o /// bool IsUart { get; } /// /// returns true if the channel supports stream input /// bool IsStreamIn { get; } /// /// returns true if the channel supports stream output /// bool IsStreamOut { get; } /// /// Returns true if the channel supports thermocoupler /// bool IsThermocoupler { get; } bool IsCan { get; } /// /// returns true if the channel supports clocks /// bool IsClock { get; } bool IsTSRAIR { get; } bool IsSLICETC { get; } bool IsTSRAIRModule { get; } /// /// returns the DAS this channel belongs to /// /// IDASHardware GetParentDAS(); /// /// returns the module serial number this channel belongs to /// string ModuleSerialNumber { get; set; } /// /// returns whether or not a given excitation is supported by the hardware channel /// bool IsSupportedExcitation(ExcitationVoltageOptions.ExcitationVoltageOption excitation); /// /// returns true if the serial number starts with "5M" /// /// bool IsG5(); string ToString(IDASHardware[] hardwares); } }