Files
DP44/DataPRO/IService/Classes/Download/UARTDownloadRequest.cs
2026-04-17 14:55:32 -04:00

69 lines
2.3 KiB
C#

using System;
using System.Runtime.Remoting.Messaging;
using DASFactoryDb.Download;
using DTS.Common.Interface.DASFactory;
using DTS.Common.Interface.DASFactory.Download;
using DTS.Common.Utilities.Logging;
namespace DTS.DASLib.Service
{
public class UARTDownloadRequest : IUARTDownloadRequest
{
/// <summary>
/// From which event do we want to download data?
/// </summary>
public ushort EventNumber { get; set; }
/// <summary>
/// How much data is there?
/// </summary>
public ulong TotalByteCount { get; set; }
/// <summary>
/// Where in the data did the trigger occur?
/// </summary>
public ulong TriggerByteCount { get; set; }
/// <summary>
/// Where in the data did the fault occur?
/// </summary>
public ulong FaultByteCount { get; set; }
/// <summary>
/// When did the UART stream start?
/// </summary>
public ulong StartTimestamp { get; set; }
/// <summary>
/// When did the UART stream end?
/// </summary>
public ulong EndTimestamp { get; set; }
/// <summary>
/// What was the baud rate during recording?
/// </summary>
public int BaudRate { get; set; }
public static void SetWhatToDownload(IDASCommunication das, IUARTDownloadRequest request, bool bSetInDb)
{
if (!(das is IUARTDownload udas)) return;
udas.WhatUARTToDownload = request;
if (!bSetInDb || !DASFactoryDb.DbWrapper.Connected) { return; }
try
{
Download.ClearExistingUARTDownloadRequests(das.RecordId);
if (null != request)
{
Download.UARTDownloadRequestInsert(das.RecordId,
request.EventNumber,
request.TotalByteCount,
request.TriggerByteCount,
request.FaultByteCount,
request.StartTimestamp,
request.EndTimestamp,
request.BaudRate);
}
}
catch (Exception ex)
{
APILogger.Log(ex);
}
}
}
}