using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace DTS.SensorDB { /// /// stolen from HLAPI /// this is only sparsely used in DataPRO currently and is mostly reference /// public class TSFInputChannelDescription { private int _version; public int Version { get { return _version; } set { _version = value; } } private TSFChannelDescription _parent; public TSFChannelDescription Parent { get { return _parent; } set { _parent = value; } } private int _source; public int Source { get { return _source; } set { _source = value; } } private ulong _crc32; public ulong CRC32 { get { return _crc32; } set { _crc32 = value; } } private bool _analogInfoValid; public bool AnalogInfoValid { get { return _analogInfoValid; } set { _analogInfoValid = value; } } /// /// HLAPI_INPUT_TYPE /// private char _analogChannelType; public char AnalogChannelType { get { return _analogChannelType; } set { _analogChannelType = value; } } /// /// See HLAPI_INPUT_FILTER_MODE /// private char _analogChannelFilterMode; public char AnalogChannelFilterMode { get { return _analogChannelFilterMode; } set { _analogChannelFilterMode = value; } } /// /// See HLAPI_INPUT_OFFSET_MODE /// private char _analogChannelOffsetMode; public char AnalogChannelOffsetMode { get { return _analogChannelOffsetMode; } set { _analogChannelOffsetMode = value; } } /// /// See HLAPI_INPUT_SHUNT_MODE /// private char _analogChannelShuntMode; public char AnalogChannelShuntMode { get { return _analogChannelShuntMode; } set { _analogChannelShuntMode = value; } } private double _analogExcitationVoltage; public double AnalogExcitationVoltage { get { return _analogExcitationVoltage; } set { _analogExcitationVoltage = value; } } private double _analogGain; public double AnalogGain { get { return _analogGain; } set { _analogGain = value; } } private int _analogShuntResistanceOhms; public int AnalogShuntResistanceOhms { get { return _analogShuntResistanceOhms; } set { _analogShuntResistanceOhms = value; } } private int _analogShuntEmulationOhms; public int AnalogShuntEmulationOhms { get { return _analogShuntEmulationOhms; } set { _analogShuntEmulationOhms = value; } } private double _analogShuntEU; public double AnalogShuntEU { get { return _analogShuntEU; } set { _analogShuntEU = value; } } private double _analogSensitivity; public double AnalogSensitivity { get { return _analogSensitivity; } set { _analogSensitivity = value; } } private char _analogSensitivityUnits; public char AnalogSensitivityUnits { get { return _analogSensitivityUnits; } set { _analogSensitivityUnits = value; } } private string _analogEULabel; public string AnalogEULabel { get { return _analogEULabel; } set { _analogEULabel = value; } } private bool _analogInvertData; public bool AnalogInvertData { get { return _analogInvertData; } set { _analogInvertData = value; } } private bool _digitalInfoValid; public bool DigitalInfoValid { get { return _digitalInfoValid; } set { _digitalInfoValid = value; } } private bool _realtimeInfoValid; public bool RealtimeInfoValid { get { return _realtimeInfoValid; } set { _realtimeInfoValid = value; } } private bool _useForRealtime; public bool UseForRealtime { get { return _useForRealtime; } set { _useForRealtime = value; } } private static object MyLock = new object(); private List _realtimeADC = new List(); public short[] RealtimeADC { get { lock (MyLock) { return _realtimeADC.ToArray(); } } set { lock (MyLock) { _realtimeADC = new List(value); } } } public int RealtimeSamples { get { lock (MyLock) { return RealtimeADC.Length; } } } public TSFInputChannelDescription() { } public TSFInputChannelDescription(TSFInputChannelDescription copy, TSFChannelDescription channel) { _analogChannelFilterMode = copy._analogChannelFilterMode; _analogChannelOffsetMode = copy._analogChannelOffsetMode; _analogChannelShuntMode = copy._analogChannelShuntMode; _analogChannelType = copy._analogChannelType; _analogEULabel = copy._analogEULabel; _analogExcitationVoltage = copy._analogExcitationVoltage; _analogGain = copy._analogGain; _analogInfoValid = copy._analogInfoValid; _analogInvertData = copy._analogInvertData; _analogSensitivity = copy._analogSensitivity; _analogSensitivityUnits = copy._analogSensitivityUnits; _analogShuntEmulationOhms = copy._analogShuntEmulationOhms; _analogShuntEU = copy._analogShuntEU; _analogShuntResistanceOhms = copy._analogShuntResistanceOhms; _crc32 = copy._crc32; _digitalInfoValid = copy._digitalInfoValid; _parent = channel; _realtimeADC = new List(); _realtimeInfoValid = false; _source = copy._source; _useForRealtime = copy._useForRealtime; _version = copy._version; } } }