using DTS.Common.Enums.Sensors; using System; using DTS.Common.Enums; using DTS.Common.Classes.Sensors; using DTS.Common.Interface.Sensors.SoftwareFilters; namespace DTS.Common.Interface.Sensors.SensorsList { /// /// this interface is used to describe objects used to represents sensors for UI purposes /// public interface IAnalogSensor { /// /// bridge mode of the sensor in question /// SensorConstants.BridgeType Bridge { get; set; } /// /// indicates if the sensor is Integrated Electronics Piezo-Electric (IEPE) /// bool IEPE { get; } /// /// id in the database if available /// only positive values are valid /// int DatabaseId { get; set; } /// /// used to indicate that the sensor should be checked if in a list /// with a checkbox /// bool Included { get; set; } /// /// serial number of the sensor /// string SerialNumber { get; set; } /// /// description or comment of the sensor /// string Description { get; set; } /// /// the maker of the sensor /// string Manufacturer { get; set; } /// /// the model of the sensor /// string Model { get; set; } /// /// the current capacity or desired range of the sensor in EU /// in general this value refers to maximum capacity, however /// in some contexts this can refer to desired range instead /// double Capacity { get; set; } /// /// an arbitrary EU value for range for the sensor /// double RangeHigh { get; set; } /// /// an arbitrary EU value for medium range for the sensor /// double RangeMedium { get; set; } /// /// an arbitrary EU value for the low range for the sensor /// double RangeLow { get; set; } /// /// a user display friendly string representation of the sensor's sensitivity /// this is suitable for tables and user display /// string Sensitivity { get; set; } /// /// in the case of dual sensitivity sensors, this is a string /// user friendly representation of the second calibration /// string AddedSensitivity { get; set; } /// /// resistance in ohms of the sensor /// double Resistance { get; set; } /// /// a user friendly representation of the supported excitations /// of the sensor /// string Excitation { get; set; } /// /// the engineering units of the sensor /// usually obtained from the most recent calibration /// string Units { get; set; } /// /// Electronic ID associated with the sensor, if any /// string EID { get; set; } /// /// the last (most recent) calibration date for the sensor /// DateTime CalDate { get; set; } /// /// the date the sensor is due for calibration /// DateTime CalDueDate { get; set; } /// /// the user that last modified the sensor or calibration /// string ModifiedBy { get; set; } /// /// the date the sensor or calibration was last modified /// DateTime LastModified { get; set; } /// /// returns true if the sensor matches the filter criteria /// /// /// bool Filter(string term); /// /// used to indicate if the sensor has been assigned to a channel /// bool Assigned { get; set; } /// /// used to indicate if the sensor is online or not /// bool Online { get; set; } /// /// the isocode associated with the sensor /// this is the default isocode for the sensor when assigned to a new blank channel /// string ISOCode { get; set; } /// /// the isochannel name associated with the sensor /// this is the default user channel name for the sensor when assigned to a new blank channel /// string ISOChannelName { get; set; } /// /// the user code associated with the sensor /// this is the default user code for the sensor when assigned to a new blank channel /// string UserCode { get; set; } /// /// the user channel name associated with the sensor /// this is the default user channel name for the sensor when assigned to a new blank channel /// string UserChannelName { get; set; } /// /// the channel filter class (CFC) associated with the sensor /// this is the default CFC for the sensor when assigned to a new blank channel /// Enums.Sensors.FilterClassType CFC { get; set; } /// /// indicates whether the sensor output should be inverted or not /// this is the default polarity for the sensor when assigned to a new blank channel /// bool Polarity { get; set; } /// /// indicates what the type of nonlinear calculation is used for this sensor as a string /// string NonLinearCalculationType { get; set; } /// /// indicates what the type of nonlinear calculation is used for this sensor, as an enum /// NonLinearStyles NonLinearCalculationTypeEnum { get; set; } /// /// indicates what the type of software zero method is used for this sensor /// Enums.Sensors.ZeroMethodType ZeroMethod { get; set; } /// /// If ZeroMethod is Average over Time, indicates the start time /// double ZeroMethodStart { get; set; } /// /// If ZeroMethod is Average over Time, indicates the end time /// double ZeroMethodEnd { get; set; } string UserValue1 { get; set; } string UserValue2 { get; set; } string UserValue3 { get; set; } UIItemStatus SensorCalibrationOrUsageStatus { get; } InitialOffset[] InitialOffsets { get; set; } //FB 13120 define filter class IFilterClass FilterClass { get; set; } /// /// Date of first use (null value indicates not set) /// only valid when using latest calibration (as indicated by UsingLatestCalibration and LatestCalibrationId) /// 13065 Sensor "First Use" Date /// DateTime? FirstUseDate { get; set; } /// /// latest calibration id for sensor, null indicates not set /// 13065 Sensor "First Use" Date /// int? LatestCalibrationId { get; set; } /// /// whether the sensor is using the latest calibration (as indicated by calibration id) /// 13065 Sensor "First Use" Date /// bool UsingLatestCalibration { get; set; } int SensorUsageCount { get; set; } int MaximumUsage { get; set; } string AssemblyName { get; set; } } }