using System; using DTS.Common.Enums.DASFactory; namespace DTS.DASLib.Service { /// /// Class for channels encoding sample timestamps /// [Serializable] public class TimestampDASChannel : InputDASChannel { /// /// CTOR to populate a channel's owning module and channel WRT that module. Calls /// base class CTOR. /// /// Module that contains this channel. /// ChannelNumber of this channel WRT owning module. public TimestampDASChannel(DASModule owner, int channelNumber) : base(owner, channelNumber) { } public TimestampDASChannel() { } /// /// If the rtc channel exists, it is "Configured". /// public override bool IsConfigured() { return true; } public const string MARKER = "MARKER"; public const string SEC_H = "SECONDS_HIGH"; public const string SEC_L = "SECONDS_LOW"; public const string NANOS_H = "NANOSECONDS_HIGH"; public const string NANOS_L = "NANOSECONDS_LOW"; public const string RSVD = "RESERVED"; public override string ToString() { switch (OwningModule.ModuleType()) { case DFConstantsAndEnums.ModuleType.EmbeddedClockSecondsAndMarker: switch (ModuleChannelNumber) { case 0: return MARKER; case 1: return SEC_H; case 2: return SEC_L; } break; case DFConstantsAndEnums.ModuleType.EmbeddedClockNanosAndPad: switch (ModuleChannelNumber) { case 0: return NANOS_H; case 1: return NANOS_L; case 2: return RSVD; } break; } return ModuleChannelNumber.ToString(); } } }