Files
2026-04-17 14:55:32 -04:00

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