Files

83 lines
2.9 KiB
C#
Raw Permalink Normal View History

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