Files
DP44/Common/DTS.Common.Import/Parsers/CSV/Version4CSVSensorParser.cs

128 lines
5.1 KiB
C#
Raw Permalink Normal View History

2026-04-17 14:55:32 -04:00
using DTS.Common.Classes.Sensors;
using DTS.Common.Enums;
using DTS.Common.Enums.Sensors;
using System;
using System.IO.Ports;
namespace DTS.Common.Import.Parsers.CSV
{
public class Version4CSVSensorParser : AbstractCSVParser
{
public override int Version => 4;
public override void ParseVersion(CSVImportTags.Tags field, string sVal, ParseParameters pp)
{
switch (field)
{
case CSVImportTags.Tags.DASSerialNumber:
pp.SensorDASSerialNumber[pp.SensorData.SerialNumber] = sVal;
break;
case CSVImportTags.Tags.DASChannelIndex:
{
if (int.TryParse(sVal, out var iTemp))
{
pp.SensorDASChannelIndex[pp.SensorData.SerialNumber] = iTemp;
}
}
break;
case CSVImportTags.Tags.StreamProfile:
if (Enum.TryParse(sVal, out UDPStreamProfile profile))
{
pp.SensorData.StreamOutUDPProfile = profile;
}
break;
case CSVImportTags.Tags.UDPAddress:
pp.SensorData.StreamInUDPAddress = sVal;
pp.SensorData.StreamOutUDPAddress = sVal;
break;
case CSVImportTags.Tags.TimeChannelId:
{
if (ushort.TryParse(sVal, out var uTemp))
{
pp.SensorData.StreamOutUDPTimeChannelId = uTemp;
}
}
break;
case CSVImportTags.Tags.DataChannelId:
{
if (ushort.TryParse(sVal, out var uTemp))
{
pp.SensorData.StreamOutUDPDataChannelId = uTemp;
}
}
break;
case CSVImportTags.Tags.TmNSConfig:
pp.SensorData.StreamOutUDPTmNSConfig = sVal;
break;
case CSVImportTags.Tags.IRIGTimeDataPacketIntervalMS:
{
if (ushort.TryParse(sVal, out var uTemp))
{
pp.SensorData.StreamOutIRIGTimeDataPacketIntervalMs = uTemp;
}
}
break;
case CSVImportTags.Tags.TMATSIntervalMS:
{
if (ushort.TryParse(sVal, out var uTemp))
{
pp.SensorData.StreamOutTMATSIntervalMs = uTemp;
}
}
break;
case CSVImportTags.Tags.BaudRate:
{
if (uint.TryParse(sVal, out var iTemp))
{
pp.SensorData.UartBaudRate = iTemp;
}
}
break;
case CSVImportTags.Tags.DataBits:
{
if (uint.TryParse(sVal, out var iTemp))
{
pp.SensorData.UartDataBits = iTemp;
}
}
break;
case CSVImportTags.Tags.StopBits:
{
if (Enum.TryParse(sVal, out StopBits stopBits))
{
pp.SensorData.UartStopBits = stopBits;
}
}
break;
case CSVImportTags.Tags.Parity:
{
if (Enum.TryParse(sVal, out Parity parity))
{
pp.SensorData.UartParity = parity;
}
}
break;
case CSVImportTags.Tags.DataFormat:
{
if (Enum.TryParse(sVal, out UartDataFormat dataFormat))
{
pp.SensorData.UartDataFormat = dataFormat;
}
}
break;
case CSVImportTags.Tags.TestUserCode:
pp.SensorUserCode[pp.SensorData.SerialNumber] = sVal;
break;
case CSVImportTags.Tags.TestUserChannelName:
pp.SensorUserChannelName[pp.SensorData.SerialNumber] = sVal;
break;
case CSVImportTags.Tags.TestIsoCode:
pp.SensorISOCode[pp.SensorData.SerialNumber] = sVal;
break;
case CSVImportTags.Tags.TestIsoChannelName:
pp.SensorISOChannelName[pp.SensorData.SerialNumber] = sVal;
break;
}
}
}
}