112 lines
5.8 KiB
C#
112 lines
5.8 KiB
C#
using DTS.Common.Utilities.Logging;
|
|
using System;
|
|
using System.Windows.Forms;
|
|
|
|
namespace DTS.Serialization.SliceRaw
|
|
{
|
|
public partial class ModifyChannel : Form
|
|
{
|
|
private File.PersistentChannel _channel;
|
|
public File.PersistentChannel ChannelToModify
|
|
{
|
|
set { _channel = value; PopulateFromTest(); }
|
|
}
|
|
private void PopulateFromTest()
|
|
{
|
|
tbDataZeroLevel.Text = _channel.DataZeroLevelCounts.ToString();
|
|
tbEU.Text = new string(_channel.EngineeringUnit);
|
|
tbISO.Text = new string(_channel.IsoCode);
|
|
tbMagicKey.Text = _channel.MagicKey.ToString();
|
|
tbNumberOfBitsPerSample.Text = _channel.NumberOfBitsPerSample.ToString();
|
|
tbNumberOfSamples.Text = _channel.NumberOfSamples.ToString();
|
|
tbNumberOfTriggers.Text = _channel.NumberOfTriggers.ToString();
|
|
tbOffset.Text = _channel.OffsetOfSampleDataStart.ToString();
|
|
tbPostTestCalLevel.Text = _channel.PostTestDiagnosticsLevelCounts.ToString();
|
|
tbPreTestCalLevel.Text = _channel.PreTestDiagnosticsLevelCounts.ToString();
|
|
tbPreTestNoise.Text = _channel.PreTestNoisePercentageOfFullScale.ToString();
|
|
tbPreTestZeroADC.Text = _channel.PreTestZeroLevelCounts.ToString();
|
|
tbPreTestZeroMv.Text = _channel.RemovedADC.ToString();
|
|
tbSampleRate.Text = _channel.SampleRate.ToString();
|
|
tbScaleFactorMV.Text = _channel.ScaleFactorMv.ToString();
|
|
tbTriggerSampleNumber.Text = _channel.TriggerSampleNumbers.Length > 0 ? _channel.TriggerSampleNumbers[0].ToString() : "0";
|
|
tbScaleFactorEU.Text = _channel.MvPerEu.ToString();
|
|
lblFilename.Text = _channel.Filename;
|
|
tbVersionNumber.Text = _channel.HeaderVersionNumber.ToString();
|
|
tbZeroMVInADC.Text = _channel.ZeroMvInADC.ToString();
|
|
tbWindowAverageADC.Text = _channel.WindowAverageADC.ToString();
|
|
tbTriggerAdjustmentSamples.Text = _channel.TriggerAdjustmentSamples.ToString();
|
|
tbOriginalOffset.Text = _channel.OriginalOffsetADC.ToString();
|
|
tbExcitation.Text = _channel.Excitation.ToString();
|
|
}
|
|
public ModifyChannel()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void c1Button2_Click(object sender, EventArgs e)
|
|
{
|
|
DialogResult = DialogResult.Cancel;
|
|
Close();
|
|
}
|
|
|
|
private void btnWrite_Click(object sender, EventArgs e)
|
|
{
|
|
_channel.DataZeroLevelCounts = Convert.ToInt32(tbDataZeroLevel.Text);
|
|
_channel.EngineeringUnit = tbEU.Text.ToCharArray();
|
|
_channel.IsoCode = tbISO.Text.ToCharArray();
|
|
_channel.MagicKey = Convert.ToUInt32(tbMagicKey.Text);
|
|
_channel.NumberOfBitsPerSample = Convert.ToUInt32(tbNumberOfBitsPerSample.Text);
|
|
_channel.NumberOfSamples = Convert.ToUInt64(tbNumberOfSamples.Text);
|
|
//_channel.NumberOfTriggers = Convert.ToUInt16(tbNumberOfTriggers.Text);
|
|
_channel.OffsetOfSampleDataStart = Convert.ToUInt64(tbOffset.Text);
|
|
_channel.PostTestDiagnosticsLevelCounts = Convert.ToInt32(tbPostTestCalLevel.Text);
|
|
_channel.PreTestDiagnosticsLevelCounts = Convert.ToInt32(tbPreTestCalLevel.Text);
|
|
_channel.PreTestNoisePercentageOfFullScale = Convert.ToDouble(tbPreTestNoise.Text);
|
|
_channel.RemovedADC = Convert.ToInt32(tbPreTestZeroMv.Text);
|
|
_channel.PreTestZeroLevelCounts = Convert.ToInt32(tbPreTestZeroADC.Text);
|
|
_channel.SampleRate = Convert.ToDouble(tbSampleRate.Text);
|
|
_channel.ScaleFactorMv = Convert.ToDouble(tbScaleFactorMV.Text);
|
|
_channel.WindowAverageADC = Convert.ToInt32(tbWindowAverageADC.Text);
|
|
_channel.TriggerSampleNumbers = new ulong[] { Convert.ToUInt64(tbTriggerSampleNumber.Text) };
|
|
_channel.ZeroMvInADC = Convert.ToInt32(tbZeroMVInADC.Text);
|
|
_channel.TriggerAdjustmentSamples = Convert.ToInt32(tbTriggerAdjustmentSamples.Text);
|
|
_channel.OriginalOffsetADC = Convert.ToInt32(tbOriginalOffset.Text);
|
|
_channel.Excitation = Convert.ToDouble(tbExcitation.Text);
|
|
_channel.MvPerEu = Convert.ToDouble(tbScaleFactorEU.Text);
|
|
lblFilename.Text = _channel.Filename;
|
|
_channel.HeaderVersionNumber = Convert.ToUInt32(tbVersionNumber.Text);
|
|
_channel.StampCrc();
|
|
DialogResult = DialogResult.OK;
|
|
Close();
|
|
}
|
|
|
|
private void btnBrowse_Click(object sender, EventArgs e)
|
|
{
|
|
using (var ofd = new OpenFileDialog())
|
|
{
|
|
ofd.RestoreDirectory = true;
|
|
ofd.InitialDirectory = System.IO.Path.Combine(Environment.CurrentDirectory, "DATA");
|
|
ofd.Filter = "SLICE Binary Channel (*.chn) | *.chn";
|
|
ofd.FilterIndex = 0;
|
|
var dr = ofd.ShowDialog();
|
|
if (dr == DialogResult.OK)
|
|
{
|
|
try
|
|
{
|
|
var fi = new System.IO.FileInfo(ofd.FileName);
|
|
var newFile = System.IO.Path.Combine(fi.Directory.FullName, fi.Name);
|
|
newFile += ".BAK";
|
|
if (System.IO.File.Exists(newFile)) { System.IO.File.Delete(newFile); }
|
|
System.IO.File.Copy(fi.FullName, newFile);
|
|
ChannelToModify = new File.PersistentChannel(fi.FullName, null, false);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
APILogger.Log(ex.Message);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|