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);
}
}