Files
DP44/Common/DTS.Common/Constant/DASSpecific/SLICE6AIRTC.cs
2026-04-17 14:55:32 -04:00

76 lines
3.2 KiB
C#

using DTS.Common.Enums;
using static DTS.Common.Enums.DASFactory.DFConstantsAndEnums;
namespace DTS.Common.Constant.DASSpecific
{
#pragma warning disable S101 // Types should be named in PascalCase
public static class SLICE6AIRTC
#pragma warning restore S101 // Types should be named in PascalCase
{
public const int MIN_PROTOCOL_VER = 1;
public const int ADC_SAMPLES_PER_PACKET_VER = 1;
public const int MULTIPLE_CONFIGURATIONS_VER = 100;
public const int ThermocouplersPerModule = 8;
public static bool IsRecordingModeSupported(RecordingModes mode)
{
switch (mode)
{
case RecordingModes.S6A_DeviceStreamingOnly:
return true;
default:
return false;
}
}
public static bool IsStreamingProfileSupported(UDPStreamProfile profile, int protocolVersion)
{
switch (profile)
{
case UDPStreamProfile.RTCStreaming:
case UDPStreamProfile.DTS_UDP:
case UDPStreamProfile.CH10_MANUAL_CONFIG:
case UDPStreamProfile.CH10_PCM128_MM:
case UDPStreamProfile.CH10_ANALOG:
case UDPStreamProfile.CH10_PCM_STANDARD:
case UDPStreamProfile.CH10_PCM_SUPERCOM:
case UDPStreamProfile.CH10_PCM_128BIT_2HDR:
case UDPStreamProfile.CH10_ANALOG_2HDR:
case UDPStreamProfile.CH10_PCM_STANDARD_2HDR:
case UDPStreamProfile.CH10_PCM_SUPERCOM_2HDR:
case UDPStreamProfile.TMNS_PCM_STANDARD:
case UDPStreamProfile.TMNS_PCM_SUPERCOM:
case UDPStreamProfile.IENA_PTYPE_STREAM:
return true;
default:
return false;
}
}
public static bool IsClockSyncProfileSupported(ClockSyncProfile profile, int protocolVersion)
{
switch (profile)
{
case ClockSyncProfile.PPS_OUT:
case ClockSyncProfile.GPS_EXT_PPS_PPS_OUT:
case ClockSyncProfile.GPS_EXT_PPS_Master_E2E_PPS_OUT:
case ClockSyncProfile.IRIG_EXT_PPS_PPS_OUT:
case ClockSyncProfile.IRIG_EXT_PPS_Master_E2E_PPS_OUT:
case ClockSyncProfile.EXT_PPS_PPS_OUT:
case ClockSyncProfile.EXT_PPS_Master_E2E_PPS_OUT:
case ClockSyncProfile.Slave_E2E_Master_E2E_OUT:
case ClockSyncProfile.Slave_E2E_Master_E2E_PPS_OUT:
case ClockSyncProfile.Manual:
case ClockSyncProfile.Master_E2E_GPS:
case ClockSyncProfile.GPS_PPS_OUT:
case ClockSyncProfile.GPS_Master_E2E_PPS_OUT:
return false;
case ClockSyncProfile.GPS:
case ClockSyncProfile.Slave_E2E_PPS_OUT:
case ClockSyncProfile.Master_E2E_PPS_OUT:
case ClockSyncProfile.IRIG_Master_E2E_PPS_OUT:
case ClockSyncProfile.IRIG_PPS_OUT:
default: return true;
}
}
}
}