71 lines
2.8 KiB
C#
71 lines
2.8 KiB
C#
using DTS.Common.Enums;
|
|
|
|
namespace DTS.Common.Constant.DASSpecific
|
|
{
|
|
public class SLICE6
|
|
{
|
|
public const uint MaxAAFilterRateHz = 20000;
|
|
|
|
public const int MIN_PROTOCOL_VER = 1;
|
|
public const int DIAGNOS_SHUNT_DAC = 2;
|
|
public const int START_REC_DELAY_IN_SECONDS = 3;
|
|
public const int IN_SLICE_TILT_SENSOR_ADC_PRE = 4;
|
|
public const int STACK_SENSORS = 5;
|
|
public const int START_REALTIME_STREAM = 11;
|
|
public const int UDP_REALTIME_STREAM = 14;
|
|
// Profiles as detailed in 29378
|
|
public const int CLOCKSYNCPROFILE = 21;
|
|
// minimum protocol version for PTP Domain ID per 30472
|
|
public const int PTP_DOMAIN_ID_VER = 21;
|
|
|
|
public static bool IsRecordingModeSupported(RecordingModes mode, int protocolVersion)
|
|
{
|
|
switch (mode)
|
|
{
|
|
case RecordingModes.CircularBuffer:
|
|
case RecordingModes.Recorder:
|
|
case RecordingModes.MultipleEventCircularBuffer:
|
|
case RecordingModes.MultipleEventRecorder:
|
|
case RecordingModes.HybridRecorder:
|
|
case RecordingModes.MultipleEventHybridRecorder:
|
|
case RecordingModes.ContinuousRecorder:
|
|
case RecordingModes.MultipleEventRAMActive:
|
|
case RecordingModes.RAMActive:
|
|
return true;
|
|
//RecordingModes.S6A_DeviceStreamingOnly:
|
|
//note: per Loc, S6 only supports udp streams in realtime, *not* as a streaming test mode (i.e. boot-and-stream)
|
|
//result = protocolVersion >= UDP_REALTIME_STREAM;
|
|
//break;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public static bool IsStreamingProfileSupported(UDPStreamProfile profile, int protocolVersion)
|
|
{
|
|
switch (profile)
|
|
{
|
|
//note: per Loc, S6 only supports these in realtime, *not* as a streaming test mode (i.e. boot-and-stream)
|
|
case UDPStreamProfile.RTCStreaming:
|
|
case UDPStreamProfile.DTS_UDP:
|
|
return true;
|
|
default: return false;
|
|
}
|
|
}
|
|
|
|
public static bool IsClockSyncProfileSupported(ClockSyncProfile profile, int protocolVersion)
|
|
{
|
|
switch(profile)
|
|
{
|
|
case ClockSyncProfile.None:
|
|
return true;
|
|
case ClockSyncProfile.Manual:
|
|
return protocolVersion < CLOCKSYNCPROFILE;
|
|
case ClockSyncProfile.Slave_E2E:
|
|
return protocolVersion >= CLOCKSYNCPROFILE;
|
|
default: return false;
|
|
}
|
|
}
|
|
}
|
|
}
|