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