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