Refactor GenesisSmartReader and SequenceBase logic, enhance channel handling in water meters, and update GUI components:

- Adjust `Disabled` logic for water meters in `SequenceBase` allowing conditional enabling of channels based on serial number.
- Introduce `EnableShowChanels` property in `GenesisSmartReader` and integrate into `FlyingStartMassCollectionSeq`.
- Modify `StartupFlushMs` to derive configuration dynamically.
- Update `GenesisCfgCtrl` with a checkbox for enabling channels and input for flush timing.
- Increment assembly version to `3.9.3054.1`.
This commit is contained in:
Michal Buzik 2026-04-14 08:03:02 +02:00
parent d2e18d615d
commit 009aefb7c9
7 changed files with 470 additions and 388 deletions

View File

@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// Build Number // Build Number
// Revision // Revision
// //
[assembly: AssemblyVersion("3.9.3053.1")] [assembly: AssemblyVersion("3.9.3054.1")]
[assembly: AssemblyFileVersion("3.9.3053.1")] [assembly: AssemblyFileVersion("3.9.3054.1")]

View File

@ -16,8 +16,6 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader
{ {
return new GenesisCfgCtrl(); return new GenesisCfgCtrl();
} }
/// ///
/// Serialized parameters /// Serialized parameters
@ -31,8 +29,10 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader
public int MuxBoardNr; /// 0 = use RfidComPort(Nr), otherwise mux. board nr. 1 .. 4 public int MuxBoardNr; /// 0 = use RfidComPort(Nr), otherwise mux. board nr. 1 .. 4
public int Group; /// Number written to QuidoRS to connct the watermeter to RfidComPort, 1 .. 10 public int Group; /// Number written to QuidoRS to connct the watermeter to RfidComPort, 1 .. 10
public CommunicationInterface CommunicationInterface; /// Communication Interface: RFID or NFC public CommunicationInterface CommunicationInterface; /// Communication Interface: RFID or NFC
/// public bool EnableShowChanels;
public int IBeginDataFlush;
/// <summary> Procedure parameters </summary> /// <summary> Procedure parameters </summary>
[XmlIgnore] [XmlIgnore]
@ -56,6 +56,8 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader
ProcParams = CreateProcParamsProvider() as ProcParams; ProcParams = CreateProcParamsProvider() as ProcParams;
CommunicationInterface = CommunicationInterface.RFID; CommunicationInterface = CommunicationInterface.RFID;
HeadCommunicationComPortNr = 0; HeadCommunicationComPortNr = 0;
EnableShowChanels = false;
IBeginDataFlush = 2000;
} }
public GenesisCfg(IComponentFactory factory) public GenesisCfg(IComponentFactory factory)
@ -67,7 +69,7 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader
public string ToString(int i) public string ToString(int i)
{ {
return $"{Name} Group1 (mux#)={MuxBoardNr}, Group2={Group}, Opto=Com{OptoComPortNr}, {CommunicationInterface}=Com{RfidComPortNr}"; return $"{Name} Group1 (mux#)={MuxBoardNr}, Group2={Group}, Opto=Com{OptoComPortNr}, {CommunicationInterface}=Com{RfidComPortNr}, EnableShowChanels={EnableShowChanels}, IBeginDataFlush={IBeginDataFlush}";
} }
} }
} }

View File

@ -58,6 +58,9 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader
muxBoardNrTextBox.Text = config.MuxBoardNr.ToString(); muxBoardNrTextBox.Text = config.MuxBoardNr.ToString();
groupTextBox.Text = config.Group.ToString(); groupTextBox.Text = config.Group.ToString();
comboBoxCommunicationInterface.SelectedItem = config.CommunicationInterface.ToString(); comboBoxCommunicationInterface.SelectedItem = config.CommunicationInterface.ToString();
tBBeginDataFlush.Text = config.IBeginDataFlush.ToString();
checkBox_EnableShowChanels.Checked = config.EnableShowChanels;
tabPage2.Controls.Add(new GenesisHeadTestCtrl(config)); tabPage2.Controls.Add(new GenesisHeadTestCtrl(config));
} }
@ -74,6 +77,8 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader
muxBoardNrTextBox.Enabled = true; muxBoardNrTextBox.Enabled = true;
groupTextBox.Enabled = true; groupTextBox.Enabled = true;
comboBoxCommunicationInterface.Enabled = true; comboBoxCommunicationInterface.Enabled = true;
tBBeginDataFlush.Enabled = true;
checkBox_EnableShowChanels.Enabled = true;
} }
public CfgUpdateFlags VerifyCfg(ref string message) public CfgUpdateFlags VerifyCfg(ref string message)
@ -129,6 +134,12 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader
flags |= CfgUpdateFlags.Error; flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + string.Format(Strings.Invalid_0, groupLabel.Text); message += Environment.NewLine + string.Format(Strings.Invalid_0, groupLabel.Text);
} }
if (!int.TryParse(tBBeginDataFlush.Text, out dummy) || dummy < 0 || dummy > 10000)
{
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + string.Format(Strings.Invalid_0, tBBeginDataFlush.Text);
}
return flags; return flags;
} }
@ -158,6 +169,8 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader
config.Group = int.Parse(groupTextBox.Text); config.Group = int.Parse(groupTextBox.Text);
config.CommunicationInterface = (CommunicationInterface)comboBoxCommunicationInterface.SelectedIndex; config.CommunicationInterface = (CommunicationInterface)comboBoxCommunicationInterface.SelectedIndex;
config.HeadCommunicationComPortNr = int.Parse(headPortNrTextBox.Text); config.HeadCommunicationComPortNr = int.Parse(headPortNrTextBox.Text);
config.IBeginDataFlush = int.Parse(tBBeginDataFlush.Text);
config.EnableShowChanels = checkBox_EnableShowChanels.Checked;
return flags; return flags;
} }

View File

@ -25,388 +25,431 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader
#region Component Designer generated code #region Component Designer generated code
/// <summary> /// <summary>
/// Required method for Designer support - do not modify /// Required method for Designer support - do not modify
/// the contents of this method with the code editor. /// the contents of this method with the code editor.
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage(); this.tabPage1 = new System.Windows.Forms.TabPage();
this.label4 = new System.Windows.Forms.Label(); this.groupBox2 = new System.Windows.Forms.GroupBox();
this.label3 = new System.Windows.Forms.Label(); this.headPortNrTextBox = new System.Windows.Forms.TextBox();
this.groupBox1 = new System.Windows.Forms.GroupBox(); this.label2 = new System.Windows.Forms.Label();
this.comboBoxCommunicationInterface = new System.Windows.Forms.ComboBox(); this.label4 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label();
this.rfidPortNrTextBox = new System.Windows.Forms.TextBox(); this.groupBox1 = new System.Windows.Forms.GroupBox();
this.rfidSerialPortNrLabel = new System.Windows.Forms.Label(); this.comboBoxCommunicationInterface = new System.Windows.Forms.ComboBox();
this.optoDataGroupBox = new System.Windows.Forms.GroupBox(); this.label1 = new System.Windows.Forms.Label();
this.tcpipPortLabel = new System.Windows.Forms.Label(); this.rfidPortNrTextBox = new System.Windows.Forms.TextBox();
this.tcpipPortTextBox = new System.Windows.Forms.TextBox(); this.rfidSerialPortNrLabel = new System.Windows.Forms.Label();
this.ipAddressLabel = new System.Windows.Forms.Label(); this.optoDataGroupBox = new System.Windows.Forms.GroupBox();
this.ipAddressTextBox = new System.Windows.Forms.TextBox(); this.checkBox_EnableShowChanels = new System.Windows.Forms.CheckBox();
this.radioButton1 = new System.Windows.Forms.RadioButton(); this.tBBeginDataFlush = new System.Windows.Forms.TextBox();
this.radioButton2 = new System.Windows.Forms.RadioButton(); this.labelFlush = new System.Windows.Forms.Label();
this.optoSerialPortLabel = new System.Windows.Forms.Label(); this.tcpipPortLabel = new System.Windows.Forms.Label();
this.optoSerialPortTextBox = new System.Windows.Forms.TextBox(); this.tcpipPortTextBox = new System.Windows.Forms.TextBox();
this.groupTextBox = new System.Windows.Forms.TextBox(); this.ipAddressLabel = new System.Windows.Forms.Label();
this.groupLabel = new System.Windows.Forms.Label(); this.ipAddressTextBox = new System.Windows.Forms.TextBox();
this.muxBoardNrTextBox = new System.Windows.Forms.TextBox(); this.radioButton1 = new System.Windows.Forms.RadioButton();
this.muxBoardNrLabel = new System.Windows.Forms.Label(); this.radioButton2 = new System.Windows.Forms.RadioButton();
this.nameTextBox = new System.Windows.Forms.TextBox(); this.optoSerialPortLabel = new System.Windows.Forms.Label();
this.nameLabel = new System.Windows.Forms.Label(); this.optoSerialPortTextBox = new System.Windows.Forms.TextBox();
this.classNameLabel = new System.Windows.Forms.Label(); this.groupTextBox = new System.Windows.Forms.TextBox();
this.tabPage2 = new System.Windows.Forms.TabPage(); this.groupLabel = new System.Windows.Forms.Label();
this.groupBox2 = new System.Windows.Forms.GroupBox(); this.muxBoardNrTextBox = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label(); this.muxBoardNrLabel = new System.Windows.Forms.Label();
this.headPortNrTextBox = new System.Windows.Forms.TextBox(); this.nameTextBox = new System.Windows.Forms.TextBox();
this.tabControl1.SuspendLayout(); this.nameLabel = new System.Windows.Forms.Label();
this.tabPage1.SuspendLayout(); this.classNameLabel = new System.Windows.Forms.Label();
this.groupBox1.SuspendLayout(); this.tabPage2 = new System.Windows.Forms.TabPage();
this.optoDataGroupBox.SuspendLayout(); this.tabControl1.SuspendLayout();
this.groupBox2.SuspendLayout(); this.tabPage1.SuspendLayout();
this.SuspendLayout(); this.groupBox2.SuspendLayout();
// this.groupBox1.SuspendLayout();
// tabControl1 this.optoDataGroupBox.SuspendLayout();
// this.SuspendLayout();
this.tabControl1.Controls.Add(this.tabPage1); //
this.tabControl1.Controls.Add(this.tabPage2); // tabControl1
this.tabControl1.Location = new System.Drawing.Point(3, 3); //
this.tabControl1.Name = "tabControl1"; this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.SelectedIndex = 0; this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Size = new System.Drawing.Size(611, 432); this.tabControl1.Location = new System.Drawing.Point(3, 4);
this.tabControl1.TabIndex = 0; this.tabControl1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
// this.tabControl1.Name = "tabControl1";
// tabPage1 this.tabControl1.SelectedIndex = 0;
// this.tabControl1.Size = new System.Drawing.Size(687, 540);
this.tabPage1.Controls.Add(this.groupBox2); this.tabControl1.TabIndex = 0;
this.tabPage1.Controls.Add(this.label4); //
this.tabPage1.Controls.Add(this.label3); // tabPage1
this.tabPage1.Controls.Add(this.groupBox1); //
this.tabPage1.Controls.Add(this.optoDataGroupBox); this.tabPage1.Controls.Add(this.groupBox2);
this.tabPage1.Controls.Add(this.groupTextBox); this.tabPage1.Controls.Add(this.label4);
this.tabPage1.Controls.Add(this.groupLabel); this.tabPage1.Controls.Add(this.label3);
this.tabPage1.Controls.Add(this.muxBoardNrTextBox); this.tabPage1.Controls.Add(this.groupBox1);
this.tabPage1.Controls.Add(this.muxBoardNrLabel); this.tabPage1.Controls.Add(this.optoDataGroupBox);
this.tabPage1.Controls.Add(this.nameTextBox); this.tabPage1.Controls.Add(this.groupTextBox);
this.tabPage1.Controls.Add(this.nameLabel); this.tabPage1.Controls.Add(this.groupLabel);
this.tabPage1.Controls.Add(this.classNameLabel); this.tabPage1.Controls.Add(this.muxBoardNrTextBox);
this.tabPage1.Location = new System.Drawing.Point(4, 25); this.tabPage1.Controls.Add(this.muxBoardNrLabel);
this.tabPage1.Name = "tabPage1"; this.tabPage1.Controls.Add(this.nameTextBox);
this.tabPage1.Padding = new System.Windows.Forms.Padding(3); this.tabPage1.Controls.Add(this.nameLabel);
this.tabPage1.Size = new System.Drawing.Size(603, 403); this.tabPage1.Controls.Add(this.classNameLabel);
this.tabPage1.TabIndex = 0; this.tabPage1.Location = new System.Drawing.Point(4, 29);
this.tabPage1.Text = "Config"; this.tabPage1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.tabPage1.UseVisualStyleBackColor = true; this.tabPage1.Name = "tabPage1";
// this.tabPage1.Padding = new System.Windows.Forms.Padding(3, 4, 3, 4);
// label4 this.tabPage1.Size = new System.Drawing.Size(679, 507);
// this.tabPage1.TabIndex = 0;
this.label4.AutoSize = true; this.tabPage1.Text = "Config";
this.label4.Location = new System.Drawing.Point(208, 101); this.tabPage1.UseVisualStyleBackColor = true;
this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); //
this.label4.Name = "label4"; // groupBox2
this.label4.Size = new System.Drawing.Size(40, 16); //
this.label4.TabIndex = 25; this.groupBox2.Controls.Add(this.headPortNrTextBox);
this.label4.Text = "1 .. 10"; this.groupBox2.Controls.Add(this.label2);
// this.groupBox2.Location = new System.Drawing.Point(11, 450);
// label3 this.groupBox2.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
// this.groupBox2.Name = "groupBox2";
this.label3.AutoSize = true; this.groupBox2.Padding = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.label3.Location = new System.Drawing.Point(208, 72); this.groupBox2.Size = new System.Drawing.Size(621, 52);
this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.groupBox2.TabIndex = 26;
this.label3.Name = "label3"; this.groupBox2.TabStop = false;
this.label3.Size = new System.Drawing.Size(33, 16); this.groupBox2.Text = "Head Communication";
this.label3.TabIndex = 24; //
this.label3.Text = "1 .. 4"; // headPortNrTextBox
// //
// groupBox1 this.headPortNrTextBox.Enabled = false;
// this.headPortNrTextBox.Location = new System.Drawing.Point(494, 19);
this.groupBox1.Controls.Add(this.comboBoxCommunicationInterface); this.headPortNrTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.groupBox1.Controls.Add(this.label1); this.headPortNrTextBox.Name = "headPortNrTextBox";
this.groupBox1.Controls.Add(this.rfidPortNrTextBox); this.headPortNrTextBox.Size = new System.Drawing.Size(49, 26);
this.groupBox1.Controls.Add(this.rfidSerialPortNrLabel); this.headPortNrTextBox.TabIndex = 8;
this.groupBox1.Location = new System.Drawing.Point(10, 259); //
this.groupBox1.Margin = new System.Windows.Forms.Padding(4); // label2
this.groupBox1.Name = "groupBox1"; //
this.groupBox1.Padding = new System.Windows.Forms.Padding(4); this.label2.AutoSize = true;
this.groupBox1.Size = new System.Drawing.Size(552, 68); this.label2.Location = new System.Drawing.Point(361, 22);
this.groupBox1.TabIndex = 23; this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.groupBox1.TabStop = false; this.label2.Name = "label2";
this.groupBox1.Text = "RFID / NFC communication (in case mux. board is not used)"; this.label2.Size = new System.Drawing.Size(107, 20);
// this.label2.TabIndex = 7;
// comboBoxCommunicationInterface this.label2.Text = "Serial port nr.:";
// //
this.comboBoxCommunicationInterface.Enabled = false; // label4
this.comboBoxCommunicationInterface.FormattingEnabled = true; //
this.comboBoxCommunicationInterface.Items.AddRange(new object[] { this.label4.AutoSize = true;
"RFID", this.label4.Location = new System.Drawing.Point(234, 126);
"NFC"}); this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.comboBoxCommunicationInterface.Location = new System.Drawing.Point(201, 27); this.label4.Name = "label4";
this.comboBoxCommunicationInterface.Name = "comboBoxCommunicationInterface"; this.label4.Size = new System.Drawing.Size(52, 20);
this.comboBoxCommunicationInterface.Size = new System.Drawing.Size(71, 24); this.label4.TabIndex = 25;
this.comboBoxCommunicationInterface.TabIndex = 9; this.label4.Text = "1 .. 10";
// //
// label1 // label3
// //
this.label1.AutoSize = true; this.label3.AutoSize = true;
this.label1.Location = new System.Drawing.Point(41, 30); this.label3.Location = new System.Drawing.Point(234, 90);
this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label1.Name = "label1"; this.label3.Name = "label3";
this.label1.Size = new System.Drawing.Size(153, 16); this.label3.Size = new System.Drawing.Size(43, 20);
this.label1.TabIndex = 8; this.label3.TabIndex = 24;
this.label1.Text = "Communication Interface"; this.label3.Text = "1 .. 4";
// //
// rfidPortNrTextBox // groupBox1
// //
this.rfidPortNrTextBox.Enabled = false; this.groupBox1.Controls.Add(this.comboBoxCommunicationInterface);
this.rfidPortNrTextBox.Location = new System.Drawing.Point(439, 26); this.groupBox1.Controls.Add(this.label1);
this.rfidPortNrTextBox.Margin = new System.Windows.Forms.Padding(4); this.groupBox1.Controls.Add(this.rfidPortNrTextBox);
this.rfidPortNrTextBox.Name = "rfidPortNrTextBox"; this.groupBox1.Controls.Add(this.rfidSerialPortNrLabel);
this.rfidPortNrTextBox.Size = new System.Drawing.Size(44, 22); this.groupBox1.Location = new System.Drawing.Point(11, 363);
this.rfidPortNrTextBox.TabIndex = 7; this.groupBox1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
// this.groupBox1.Name = "groupBox1";
// rfidSerialPortNrLabel this.groupBox1.Padding = new System.Windows.Forms.Padding(4, 5, 4, 5);
// this.groupBox1.Size = new System.Drawing.Size(621, 85);
this.rfidSerialPortNrLabel.AutoSize = true; this.groupBox1.TabIndex = 23;
this.rfidSerialPortNrLabel.Location = new System.Drawing.Point(321, 30); this.groupBox1.TabStop = false;
this.rfidSerialPortNrLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.groupBox1.Text = "RFID / NFC communication (in case mux. board is not used)";
this.rfidSerialPortNrLabel.Name = "rfidSerialPortNrLabel"; //
this.rfidSerialPortNrLabel.Size = new System.Drawing.Size(88, 16); // comboBoxCommunicationInterface
this.rfidSerialPortNrLabel.TabIndex = 6; //
this.rfidSerialPortNrLabel.Text = "Serial port nr.:"; this.comboBoxCommunicationInterface.Enabled = false;
// this.comboBoxCommunicationInterface.FormattingEnabled = true;
// optoDataGroupBox this.comboBoxCommunicationInterface.Items.AddRange(new object[] { "RFID", "NFC" });
// this.comboBoxCommunicationInterface.Location = new System.Drawing.Point(226, 34);
this.optoDataGroupBox.Controls.Add(this.tcpipPortLabel); this.comboBoxCommunicationInterface.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.optoDataGroupBox.Controls.Add(this.tcpipPortTextBox); this.comboBoxCommunicationInterface.Name = "comboBoxCommunicationInterface";
this.optoDataGroupBox.Controls.Add(this.ipAddressLabel); this.comboBoxCommunicationInterface.Size = new System.Drawing.Size(79, 28);
this.optoDataGroupBox.Controls.Add(this.ipAddressTextBox); this.comboBoxCommunicationInterface.TabIndex = 9;
this.optoDataGroupBox.Controls.Add(this.radioButton1); //
this.optoDataGroupBox.Controls.Add(this.radioButton2); // label1
this.optoDataGroupBox.Controls.Add(this.optoSerialPortLabel); //
this.optoDataGroupBox.Controls.Add(this.optoSerialPortTextBox); this.label1.AutoSize = true;
this.optoDataGroupBox.Location = new System.Drawing.Point(10, 131); this.label1.Location = new System.Drawing.Point(46, 38);
this.optoDataGroupBox.Margin = new System.Windows.Forms.Padding(4); this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.optoDataGroupBox.Name = "optoDataGroupBox"; this.label1.Name = "label1";
this.optoDataGroupBox.Padding = new System.Windows.Forms.Padding(4); this.label1.Size = new System.Drawing.Size(187, 20);
this.optoDataGroupBox.Size = new System.Drawing.Size(552, 119); this.label1.TabIndex = 8;
this.optoDataGroupBox.TabIndex = 18; this.label1.Text = "Communication Interface";
this.optoDataGroupBox.TabStop = false; //
this.optoDataGroupBox.Text = "Opto-data"; // rfidPortNrTextBox
// //
// tcpipPortLabel this.rfidPortNrTextBox.Enabled = false;
// this.rfidPortNrTextBox.Location = new System.Drawing.Point(494, 32);
this.tcpipPortLabel.AutoSize = true; this.rfidPortNrTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.tcpipPortLabel.Location = new System.Drawing.Point(41, 87); this.rfidPortNrTextBox.Name = "rfidPortNrTextBox";
this.tcpipPortLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.rfidPortNrTextBox.Size = new System.Drawing.Size(49, 26);
this.tcpipPortLabel.Name = "tcpipPortLabel"; this.rfidPortNrTextBox.TabIndex = 7;
this.tcpipPortLabel.Size = new System.Drawing.Size(54, 16); //
this.tcpipPortLabel.TabIndex = 4; // rfidSerialPortNrLabel
this.tcpipPortLabel.Text = "Port nr..:"; //
// this.rfidSerialPortNrLabel.AutoSize = true;
// tcpipPortTextBox this.rfidSerialPortNrLabel.Location = new System.Drawing.Point(361, 38);
// this.rfidSerialPortNrLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.tcpipPortTextBox.Enabled = false; this.rfidSerialPortNrLabel.Name = "rfidSerialPortNrLabel";
this.tcpipPortTextBox.Location = new System.Drawing.Point(143, 84); this.rfidSerialPortNrLabel.Size = new System.Drawing.Size(107, 20);
this.tcpipPortTextBox.Margin = new System.Windows.Forms.Padding(4); this.rfidSerialPortNrLabel.TabIndex = 6;
this.tcpipPortTextBox.Name = "tcpipPortTextBox"; this.rfidSerialPortNrLabel.Text = "Serial port nr.:";
this.tcpipPortTextBox.Size = new System.Drawing.Size(51, 22); //
this.tcpipPortTextBox.TabIndex = 5; // optoDataGroupBox
// //
// ipAddressLabel this.optoDataGroupBox.Controls.Add(this.checkBox_EnableShowChanels);
// this.optoDataGroupBox.Controls.Add(this.tBBeginDataFlush);
this.ipAddressLabel.AutoSize = true; this.optoDataGroupBox.Controls.Add(this.labelFlush);
this.ipAddressLabel.Location = new System.Drawing.Point(41, 59); this.optoDataGroupBox.Controls.Add(this.tcpipPortLabel);
this.ipAddressLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.optoDataGroupBox.Controls.Add(this.tcpipPortTextBox);
this.ipAddressLabel.Name = "ipAddressLabel"; this.optoDataGroupBox.Controls.Add(this.ipAddressLabel);
this.ipAddressLabel.Size = new System.Drawing.Size(78, 16); this.optoDataGroupBox.Controls.Add(this.ipAddressTextBox);
this.ipAddressLabel.TabIndex = 2; this.optoDataGroupBox.Controls.Add(this.radioButton1);
this.ipAddressLabel.Text = "IP address.:"; this.optoDataGroupBox.Controls.Add(this.radioButton2);
// this.optoDataGroupBox.Controls.Add(this.optoSerialPortLabel);
// ipAddressTextBox this.optoDataGroupBox.Controls.Add(this.optoSerialPortTextBox);
// this.optoDataGroupBox.Location = new System.Drawing.Point(11, 164);
this.ipAddressTextBox.Enabled = false; this.optoDataGroupBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.ipAddressTextBox.Location = new System.Drawing.Point(143, 55); this.optoDataGroupBox.Name = "optoDataGroupBox";
this.ipAddressTextBox.Margin = new System.Windows.Forms.Padding(4); this.optoDataGroupBox.Padding = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.ipAddressTextBox.Name = "ipAddressTextBox"; this.optoDataGroupBox.Size = new System.Drawing.Size(621, 189);
this.ipAddressTextBox.Size = new System.Drawing.Size(129, 22); this.optoDataGroupBox.TabIndex = 18;
this.ipAddressTextBox.TabIndex = 3; this.optoDataGroupBox.TabStop = false;
// this.optoDataGroupBox.Text = "Opto-data";
// radioButton1 //
// // checkBox_EnableShowChanels
this.radioButton1.AutoSize = true; //
this.radioButton1.Checked = true; this.checkBox_EnableShowChanels.Checked = true;
this.radioButton1.Enabled = false; this.checkBox_EnableShowChanels.CheckState = System.Windows.Forms.CheckState.Checked;
this.radioButton1.Location = new System.Drawing.Point(29, 23); this.checkBox_EnableShowChanels.Location = new System.Drawing.Point(351, 147);
this.radioButton1.Margin = new System.Windows.Forms.Padding(4); this.checkBox_EnableShowChanels.Name = "checkBox_EnableShowChanels";
this.radioButton1.Name = "radioButton1"; this.checkBox_EnableShowChanels.Size = new System.Drawing.Size(238, 24);
this.radioButton1.Size = new System.Drawing.Size(99, 20); this.checkBox_EnableShowChanels.TabIndex = 10;
this.radioButton1.TabIndex = 0; this.checkBox_EnableShowChanels.Text = "Enable Show Channels";
this.radioButton1.TabStop = true; this.checkBox_EnableShowChanels.UseVisualStyleBackColor = true;
this.radioButton1.Text = "Use TCP/IP"; //
this.radioButton1.UseVisualStyleBackColor = true; // tBBeginDataFlush
// //
// radioButton2 this.tBBeginDataFlush.Location = new System.Drawing.Point(474, 105);
// this.tBBeginDataFlush.MaxLength = 8;
this.radioButton2.AutoSize = true; this.tBBeginDataFlush.Name = "tBBeginDataFlush";
this.radioButton2.Enabled = false; this.tBBeginDataFlush.Size = new System.Drawing.Size(69, 26);
this.radioButton2.Location = new System.Drawing.Point(312, 23); this.tBBeginDataFlush.TabIndex = 9;
this.radioButton2.Margin = new System.Windows.Forms.Padding(4); this.tBBeginDataFlush.Text = "2000";
this.radioButton2.Name = "radioButton2"; this.tBBeginDataFlush.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
this.radioButton2.Size = new System.Drawing.Size(115, 20); //
this.radioButton2.TabIndex = 1; // labelFlush
this.radioButton2.Text = "Use serial port"; //
this.radioButton2.UseVisualStyleBackColor = true; this.labelFlush.Location = new System.Drawing.Point(328, 109);
// this.labelFlush.Name = "labelFlush";
// optoSerialPortLabel this.labelFlush.Size = new System.Drawing.Size(140, 22);
// this.labelFlush.TabIndex = 8;
this.optoSerialPortLabel.AutoSize = true; this.labelFlush.Text = "Begin Data Flush:";
this.optoSerialPortLabel.Location = new System.Drawing.Point(321, 55); //
this.optoSerialPortLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); // tcpipPortLabel
this.optoSerialPortLabel.Name = "optoSerialPortLabel"; //
this.optoSerialPortLabel.Size = new System.Drawing.Size(88, 16); this.tcpipPortLabel.AutoSize = true;
this.optoSerialPortLabel.TabIndex = 6; this.tcpipPortLabel.Location = new System.Drawing.Point(46, 109);
this.optoSerialPortLabel.Text = "Serial port nr.:"; this.tcpipPortLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
// this.tcpipPortLabel.Name = "tcpipPortLabel";
// optoSerialPortTextBox this.tcpipPortLabel.Size = new System.Drawing.Size(68, 20);
// this.tcpipPortLabel.TabIndex = 4;
this.optoSerialPortTextBox.Enabled = false; this.tcpipPortLabel.Text = "Port nr..:";
this.optoSerialPortTextBox.Location = new System.Drawing.Point(439, 52); //
this.optoSerialPortTextBox.Margin = new System.Windows.Forms.Padding(4); // tcpipPortTextBox
this.optoSerialPortTextBox.Name = "optoSerialPortTextBox"; //
this.optoSerialPortTextBox.Size = new System.Drawing.Size(44, 22); this.tcpipPortTextBox.Enabled = false;
this.optoSerialPortTextBox.TabIndex = 7; this.tcpipPortTextBox.Location = new System.Drawing.Point(161, 105);
// this.tcpipPortTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
// groupTextBox this.tcpipPortTextBox.Name = "tcpipPortTextBox";
// this.tcpipPortTextBox.Size = new System.Drawing.Size(57, 26);
this.groupTextBox.Enabled = false; this.tcpipPortTextBox.TabIndex = 5;
this.groupTextBox.Location = new System.Drawing.Point(153, 97); //
this.groupTextBox.Margin = new System.Windows.Forms.Padding(4); // ipAddressLabel
this.groupTextBox.Name = "groupTextBox"; //
this.groupTextBox.Size = new System.Drawing.Size(44, 22); this.ipAddressLabel.AutoSize = true;
this.groupTextBox.TabIndex = 22; this.ipAddressLabel.Location = new System.Drawing.Point(46, 74);
// this.ipAddressLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
// groupLabel this.ipAddressLabel.Name = "ipAddressLabel";
// this.ipAddressLabel.Size = new System.Drawing.Size(93, 20);
this.groupLabel.AutoSize = true; this.ipAddressLabel.TabIndex = 2;
this.groupLabel.Location = new System.Drawing.Point(6, 101); this.ipAddressLabel.Text = "IP address.:";
this.groupLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); //
this.groupLabel.Name = "groupLabel"; // ipAddressTextBox
this.groupLabel.Size = new System.Drawing.Size(54, 16); //
this.groupLabel.TabIndex = 21; this.ipAddressTextBox.Enabled = false;
this.groupLabel.Text = "Group 2"; this.ipAddressTextBox.Location = new System.Drawing.Point(161, 69);
// this.ipAddressTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
// muxBoardNrTextBox this.ipAddressTextBox.Name = "ipAddressTextBox";
// this.ipAddressTextBox.Size = new System.Drawing.Size(145, 26);
this.muxBoardNrTextBox.Enabled = false; this.ipAddressTextBox.TabIndex = 3;
this.muxBoardNrTextBox.Location = new System.Drawing.Point(153, 69); //
this.muxBoardNrTextBox.Margin = new System.Windows.Forms.Padding(4); // radioButton1
this.muxBoardNrTextBox.Name = "muxBoardNrTextBox"; //
this.muxBoardNrTextBox.Size = new System.Drawing.Size(44, 22); this.radioButton1.AutoSize = true;
this.muxBoardNrTextBox.TabIndex = 20; this.radioButton1.Checked = true;
// this.radioButton1.Enabled = false;
// muxBoardNrLabel this.radioButton1.Location = new System.Drawing.Point(33, 29);
// this.radioButton1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.muxBoardNrLabel.AutoSize = true; this.radioButton1.Name = "radioButton1";
this.muxBoardNrLabel.Location = new System.Drawing.Point(6, 72); this.radioButton1.Size = new System.Drawing.Size(109, 24);
this.muxBoardNrLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.radioButton1.TabIndex = 0;
this.muxBoardNrLabel.Name = "muxBoardNrLabel"; this.radioButton1.TabStop = true;
this.muxBoardNrLabel.Size = new System.Drawing.Size(131, 16); this.radioButton1.Text = "Use TCP/IP";
this.muxBoardNrLabel.TabIndex = 19; this.radioButton1.UseVisualStyleBackColor = true;
this.muxBoardNrLabel.Text = "Group 1 (mux. board)"; //
// // radioButton2
// nameTextBox //
// this.radioButton2.AutoSize = true;
this.nameTextBox.Enabled = false; this.radioButton2.Enabled = false;
this.nameTextBox.Location = new System.Drawing.Point(153, 40); this.radioButton2.Location = new System.Drawing.Point(351, 29);
this.nameTextBox.Margin = new System.Windows.Forms.Padding(4); this.radioButton2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.nameTextBox.Name = "nameTextBox"; this.radioButton2.Name = "radioButton2";
this.nameTextBox.Size = new System.Drawing.Size(160, 22); this.radioButton2.Size = new System.Drawing.Size(129, 24);
this.nameTextBox.TabIndex = 17; this.radioButton2.TabIndex = 1;
// this.radioButton2.Text = "Use serial port";
// nameLabel this.radioButton2.UseVisualStyleBackColor = true;
// //
this.nameLabel.AutoSize = true; // optoSerialPortLabel
this.nameLabel.Location = new System.Drawing.Point(6, 44); //
this.nameLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.optoSerialPortLabel.AutoSize = true;
this.nameLabel.Name = "nameLabel"; this.optoSerialPortLabel.Location = new System.Drawing.Point(361, 69);
this.nameLabel.Size = new System.Drawing.Size(44, 16); this.optoSerialPortLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.nameLabel.TabIndex = 16; this.optoSerialPortLabel.Name = "optoSerialPortLabel";
this.nameLabel.Text = "Name"; this.optoSerialPortLabel.Size = new System.Drawing.Size(107, 20);
// this.optoSerialPortLabel.TabIndex = 6;
// classNameLabel this.optoSerialPortLabel.Text = "Serial port nr.:";
// //
this.classNameLabel.AutoSize = true; // optoSerialPortTextBox
this.classNameLabel.Location = new System.Drawing.Point(149, 11); //
this.classNameLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.optoSerialPortTextBox.Enabled = false;
this.classNameLabel.Name = "classNameLabel"; this.optoSerialPortTextBox.Location = new System.Drawing.Point(494, 65);
this.classNameLabel.Size = new System.Drawing.Size(78, 16); this.optoSerialPortTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.classNameLabel.TabIndex = 15; this.optoSerialPortTextBox.Name = "optoSerialPortTextBox";
this.classNameLabel.Text = "ClassName"; this.optoSerialPortTextBox.Size = new System.Drawing.Size(49, 26);
// this.optoSerialPortTextBox.TabIndex = 7;
// tabPage2 //
// // groupTextBox
this.tabPage2.Location = new System.Drawing.Point(4, 25); //
this.tabPage2.Name = "tabPage2"; this.groupTextBox.Enabled = false;
this.tabPage2.Padding = new System.Windows.Forms.Padding(3); this.groupTextBox.Location = new System.Drawing.Point(172, 121);
this.tabPage2.Size = new System.Drawing.Size(603, 403); this.groupTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.tabPage2.TabIndex = 1; this.groupTextBox.Name = "groupTextBox";
this.tabPage2.Text = "Test"; this.groupTextBox.Size = new System.Drawing.Size(49, 26);
this.tabPage2.UseVisualStyleBackColor = true; this.groupTextBox.TabIndex = 22;
// //
// groupBox2 // groupLabel
// //
this.groupBox2.Controls.Add(this.headPortNrTextBox); this.groupLabel.AutoSize = true;
this.groupBox2.Controls.Add(this.label2); this.groupLabel.Location = new System.Drawing.Point(7, 126);
this.groupBox2.Location = new System.Drawing.Point(10, 335); this.groupLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.groupBox2.Name = "groupBox2"; this.groupLabel.Name = "groupLabel";
this.groupBox2.Size = new System.Drawing.Size(552, 50); this.groupLabel.Size = new System.Drawing.Size(67, 20);
this.groupBox2.TabIndex = 26; this.groupLabel.TabIndex = 21;
this.groupBox2.TabStop = false; this.groupLabel.Text = "Group 2";
this.groupBox2.Text = "Head Communication"; //
// // muxBoardNrTextBox
// label2 //
// this.muxBoardNrTextBox.Enabled = false;
this.label2.AutoSize = true; this.muxBoardNrTextBox.Location = new System.Drawing.Point(172, 86);
this.label2.Location = new System.Drawing.Point(321, 18); this.muxBoardNrTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.muxBoardNrTextBox.Name = "muxBoardNrTextBox";
this.label2.Name = "label2"; this.muxBoardNrTextBox.Size = new System.Drawing.Size(49, 26);
this.label2.Size = new System.Drawing.Size(88, 16); this.muxBoardNrTextBox.TabIndex = 20;
this.label2.TabIndex = 7; //
this.label2.Text = "Serial port nr.:"; // muxBoardNrLabel
// //
// headPortNrTextBox this.muxBoardNrLabel.AutoSize = true;
// this.muxBoardNrLabel.Location = new System.Drawing.Point(7, 90);
this.headPortNrTextBox.Enabled = false; this.muxBoardNrLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.headPortNrTextBox.Location = new System.Drawing.Point(439, 15); this.muxBoardNrLabel.Name = "muxBoardNrLabel";
this.headPortNrTextBox.Margin = new System.Windows.Forms.Padding(4); this.muxBoardNrLabel.Size = new System.Drawing.Size(159, 20);
this.headPortNrTextBox.Name = "headPortNrTextBox"; this.muxBoardNrLabel.TabIndex = 19;
this.headPortNrTextBox.Size = new System.Drawing.Size(44, 22); this.muxBoardNrLabel.Text = "Group 1 (mux. board)";
this.headPortNrTextBox.TabIndex = 8; //
// // nameTextBox
// IperlHeadCfgCtrl //
// this.nameTextBox.Enabled = false;
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); this.nameTextBox.Location = new System.Drawing.Point(172, 50);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.nameTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.Controls.Add(this.tabControl1); this.nameTextBox.Name = "nameTextBox";
this.Margin = new System.Windows.Forms.Padding(4); this.nameTextBox.Size = new System.Drawing.Size(180, 26);
this.Name = "GenesisCfgCtrl"; this.nameTextBox.TabIndex = 17;
this.Size = new System.Drawing.Size(617, 438); //
this.Load += new System.EventHandler(this.WaterMeterCfgCtrl_Load); // nameLabel
this.tabControl1.ResumeLayout(false); //
this.tabPage1.ResumeLayout(false); this.nameLabel.AutoSize = true;
this.tabPage1.PerformLayout(); this.nameLabel.Location = new System.Drawing.Point(7, 55);
this.groupBox1.ResumeLayout(false); this.nameLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.groupBox1.PerformLayout(); this.nameLabel.Name = "nameLabel";
this.optoDataGroupBox.ResumeLayout(false); this.nameLabel.Size = new System.Drawing.Size(51, 20);
this.optoDataGroupBox.PerformLayout(); this.nameLabel.TabIndex = 16;
this.groupBox2.ResumeLayout(false); this.nameLabel.Text = "Name";
this.groupBox2.PerformLayout(); //
this.ResumeLayout(false); // classNameLabel
//
this.classNameLabel.AutoSize = true;
this.classNameLabel.Location = new System.Drawing.Point(168, 14);
this.classNameLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.classNameLabel.Name = "classNameLabel";
this.classNameLabel.Size = new System.Drawing.Size(90, 20);
this.classNameLabel.TabIndex = 15;
this.classNameLabel.Text = "ClassName";
//
// tabPage2
//
this.tabPage2.Location = new System.Drawing.Point(4, 29);
this.tabPage2.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.tabPage2.Size = new System.Drawing.Size(679, 507);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "Test";
this.tabPage2.UseVisualStyleBackColor = true;
//
// GenesisCfgCtrl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.tabControl1);
this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.Name = "GenesisCfgCtrl";
this.Size = new System.Drawing.Size(694, 548);
this.Load += new System.EventHandler(this.WaterMeterCfgCtrl_Load);
this.tabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.tabPage1.PerformLayout();
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.optoDataGroupBox.ResumeLayout(false);
this.optoDataGroupBox.PerformLayout();
this.ResumeLayout(false);
} }
#endregion private System.Windows.Forms.CheckBox checkBox_EnableShowChanels;
private System.Windows.Forms.Label labelFlush;
private System.Windows.Forms.TextBox tBBeginDataFlush;
#endregion
private System.Windows.Forms.TabControl tabControl1; private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage1; private System.Windows.Forms.TabPage tabPage1;

View File

@ -115,6 +115,8 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.implementations
public MeterType MeterType => genesisHeadCfg?.MeterType ?? MeterType.AutoDetect; public MeterType MeterType => genesisHeadCfg?.MeterType ?? MeterType.AutoDetect;
public CommunicationInterface CommInterface => genesisHeadCfg?.CommunicationInterface ?? default; public CommunicationInterface CommInterface => genesisHeadCfg?.CommunicationInterface ?? default;
public bool EnableShowChanels => genesisHeadCfg?.EnableShowChanels ?? false;
public int Position public int Position
{ {
@ -678,7 +680,11 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.implementations
private DateTime? _startupFlushLastIgnoredUtc; private DateTime? _startupFlushLastIgnoredUtc;
private readonly object _startupFlushSync = new object(); private readonly object _startupFlushSync = new object();
private const int StartupFlushMs = 2500; // or 1000 if you want 1 second - preset 2500ms private int StartupFlushMs
{
get { return genesisHeadCfg?.IBeginDataFlush ?? 2500; } // or 1000 if you want 1 second - preset 2500ms
}
/// ~ Start UP flush /// ~ Start UP flush
public GenesisSmartReader() public GenesisSmartReader()
@ -3805,7 +3811,7 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.implementations
#region start up flash #region start up flash
private void BeginStartupFlush(int durationMs = StartupFlushMs) private void BeginStartupFlush(int durationMs = 2500)
{ {
lock (_startupFlushSync) lock (_startupFlushSync)
{ {

View File

@ -1278,11 +1278,21 @@ namespace TBF.Rig.Sequences
for (int i = 0; i < BatchRslts.Batch.WaterMeters.Count; i++) for (int i = 0; i < BatchRslts.Batch.WaterMeters.Count; i++)
{ {
if (BatchRslts.Batch.WaterMeters != null && if (BatchRslts.Batch.WaterMeters != null &&
BatchRslts.Batch.WaterMeters.Count > i && BatchRslts.Batch.WaterMeters.Count > i &&
BatchRslts.Batch.WaterMeters[i] != null && BatchRslts.Batch.WaterMeters[i] != null)
!BatchRslts.Batch.WaterMeters[i].Disabled)
{ {
bool Disabled = BatchRslts.Batch.WaterMeters[i].Disabled;
if (Disabled &&
BatchRslts.Batch.WaterMeters[i].SerialNr != null &&
BatchRslts.Batch.WaterMeters[i].SerialNr.Contains("_CH")) //write channels
{
Disabled = false;
}
if (Disabled)
continue;
var wm = BatchRslts.Batch.WaterMeters[i]; var wm = BatchRslts.Batch.WaterMeters[i];
if (!wm.Compound() && !wm.HeatMeter()) if (!wm.Compound() && !wm.HeatMeter())

View File

@ -1406,7 +1406,15 @@ namespace TBF.Rig.TestMethods.FlyingStartMassCollection
genesisSmart.TimestampSecEndCh3, genesisSmart.VolumeLtrStartCh3, genesisSmart.VolumeLtrEndCh3); genesisSmart.TimestampSecEndCh3, genesisSmart.VolumeLtrStartCh3, genesisSmart.VolumeLtrEndCh3);
} }
meterTestRsltChX.TestDone = true; if (!genesisSmart.EnableShowChanels)
{
waterMeterParent.Disabled = true;
meterTestRsltChX.TestDone = false;
}
else
{
meterTestRsltChX.TestDone = true;
}
meterTestRsltChX.Passed = meterRslt.Passed; meterTestRsltChX.Passed = meterRslt.Passed;
} }