iPerl heads (WM positions) can be disabled by a user (port from branch iPerl-12) : Part 2, functional changes, ver. 2.17.697
This commit is contained in:
parent
328d6b7fa7
commit
f58831f916
@ -261,6 +261,8 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
PictureBox[] counters;
|
||||
TextBox[] messages;
|
||||
CheckBoxImage[] checkBoxes;
|
||||
static int[] ckbIndex;
|
||||
static bool[] ckbState;
|
||||
|
||||
static IList<IperlHead> iperlHeads;
|
||||
static IList<int> waterMeterPositions; /// keeps original 0-based indices in RegisterReaders list
|
||||
@ -321,8 +323,8 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
};
|
||||
messages = new TextBox[48]
|
||||
{
|
||||
wmTextBox1, wmTextBox2, wmTextBox3, wmTextBox4, wmTextBox5,
|
||||
wmTextBox6, wmTextBox7, wmTextBox8, wmTextBox9, wmTextBox10,
|
||||
wmTextBox1, wmTextBox2, wmTextBox3, wmTextBox4, wmTextBox5,
|
||||
wmTextBox6, wmTextBox7, wmTextBox8, wmTextBox9, wmTextBox10,
|
||||
wmTextBox11, wmTextBox12, wmTextBox13, wmTextBox14, wmTextBox15,
|
||||
wmTextBox16, wmTextBox17, wmTextBox18, wmTextBox19, wmTextBox20,
|
||||
wmTextBox21, wmTextBox22, wmTextBox23, wmTextBox24, wmTextBox25,
|
||||
@ -332,6 +334,21 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
wmTextBox41, wmTextBox42, wmTextBox43, wmTextBox44, wmTextBox45,
|
||||
wmTextBox46, wmTextBox47, wmTextBox48,
|
||||
};
|
||||
checkBoxes = new CheckBoxImage[48]
|
||||
{
|
||||
checkBoxImage1, checkBoxImage2, checkBoxImage3, checkBoxImage4, checkBoxImage5,
|
||||
checkBoxImage6, checkBoxImage7, checkBoxImage8, checkBoxImage9, checkBoxImage10,
|
||||
checkBoxImage11, checkBoxImage12, checkBoxImage13, checkBoxImage14, checkBoxImage15,
|
||||
checkBoxImage16, checkBoxImage17, checkBoxImage18, checkBoxImage19, checkBoxImage20,
|
||||
checkBoxImage21, checkBoxImage22, checkBoxImage23, checkBoxImage24, checkBoxImage25,
|
||||
checkBoxImage26, checkBoxImage27, checkBoxImage28, checkBoxImage29, checkBoxImage30,
|
||||
checkBoxImage31, checkBoxImage32, checkBoxImage33, checkBoxImage34, checkBoxImage35,
|
||||
checkBoxImage36, checkBoxImage37, checkBoxImage38, checkBoxImage39, checkBoxImage40,
|
||||
checkBoxImage41, checkBoxImage42, checkBoxImage43, checkBoxImage44, checkBoxImage45,
|
||||
checkBoxImage46, checkBoxImage47, checkBoxImage48,
|
||||
};
|
||||
ckbIndex = new int[48];
|
||||
ckbState = new bool[48];
|
||||
|
||||
formCompleted = false;
|
||||
|
||||
@ -451,6 +468,8 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
for (int i = 0; i < cfg.NrThreads; i++)
|
||||
{
|
||||
Thread thread = new Thread(iPerlCommunicationForm.Worker);
|
||||
thread.CurrentCulture = CultureInfo.CurrentCulture;
|
||||
thread.CurrentUICulture = CultureInfo.CurrentUICulture;
|
||||
workerThreads.Add(thread);
|
||||
}
|
||||
|
||||
@ -492,7 +511,9 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
labels[dest] = labels[l * lineSize + l * gap + i];
|
||||
counters[dest] = counters[l * lineSize + l * gap + i];
|
||||
messages[dest] = messages[l * lineSize + l * gap + i];
|
||||
dest++;
|
||||
checkBoxes[dest] = checkBoxes[l * lineSize + l * gap + i];
|
||||
ckbIndex[l * lineSize + l * gap + i] = dest;
|
||||
dest++;
|
||||
}
|
||||
}
|
||||
textBoxesCount = wmsCount;
|
||||
@ -531,13 +552,17 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
|
||||
for (int i = 0; i < textBoxesCount; i++)
|
||||
{
|
||||
//if (disabled != null && i < disabled.Length && disabled[i])
|
||||
//{
|
||||
// labels[i].Visible = messages[i].Visible = false;
|
||||
//}
|
||||
//else
|
||||
labels[i].Visible = counters[i].Visible = messages[i].Visible = checkBoxes[i].Visible = true;
|
||||
|
||||
if (iperlHeads[i] == null || iperlHeads[i].Disabled)
|
||||
{
|
||||
labels[i].Visible = counters[i].Visible = messages[i].Visible = true;
|
||||
checkBoxes[i].Enabled = checkBoxes[i].Checked = ckbState[i] = false;
|
||||
counters[i].BackColor = Color.DarkGray;
|
||||
messages[i].Text = Strings.Head_was_disabled_by_the_user;
|
||||
}
|
||||
else
|
||||
{
|
||||
checkBoxes[i].Enabled = checkBoxes[i].Checked = ckbState[i] = true;
|
||||
messages[i].Text = "---";
|
||||
}
|
||||
}
|
||||
@ -674,7 +699,11 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
CommErr error;
|
||||
string resultStr = string.Empty;
|
||||
|
||||
if (activity.ToLower().Contains(ReadConfigurationStr.ToLower())) error = ReadConfiguration(threadID, ihead, wm, ref resultStr);
|
||||
///
|
||||
/// RFID communication activity call
|
||||
///
|
||||
if (ihead.Disabled || !ckbState[j]) { error = CommErr.HeadDisabledByUser; }
|
||||
else if (activity.ToLower().Contains(ReadConfigurationStr.ToLower())) error = ReadConfiguration(threadID, ihead, wm, ref resultStr);
|
||||
else if (activity.ToLower().Contains(SetTestModeStr.ToLower())) error = SetTestMode(threadID, ihead, wm, ref resultStr);
|
||||
else if (activity.ToLower().Equals(SetActiveModeStr.ToLower())) error = SetActiveMode(threadID, ihead, wm, ref resultStr);
|
||||
else if (activity.ToLower().Equals(ReadCalibrationStr.ToLower())) error = ReadCalibration(threadID, ihead, wm, ref resultStr);
|
||||
@ -702,7 +731,14 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
}
|
||||
|
||||
|
||||
if (error == CommErr.None)
|
||||
///
|
||||
/// Process the result of RFID communication activity
|
||||
///
|
||||
if (error == CommErr.HeadDisabledByUser || !ckbState[j])
|
||||
{
|
||||
OnCommCompleted(null, new CommCompletedEventArgs(threadID, j, ihead, wm, Strings.Head_was_disabled_by_the_user, CommErr.HeadDisabledByUser));
|
||||
}
|
||||
else if (error == CommErr.None)
|
||||
{
|
||||
OnCommCompleted(null, new CommCompletedEventArgs(threadID, wmNr, ihead, wm, resultStr, error));
|
||||
}
|
||||
@ -713,7 +749,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
wm.ResultCode |= (((int)error << 16) | ((int)tests[i].ItemNr << 20));
|
||||
}
|
||||
|
||||
OnCommCompleted(null, new CommCompletedEventArgs(threadID, wmNr, ihead, wm, "Watermeter is disabled", error));
|
||||
OnCommCompleted(null, new CommCompletedEventArgs(threadID, wmNr, ihead, wm, Strings.RFID_communication_failed, error));
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -722,8 +758,9 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
wm.ResultCode |= (((int)error << 16) | ((int)tests[i].ItemNr << 20));
|
||||
}
|
||||
|
||||
OnCommCompleted(null, new CommCompletedEventArgs(threadID, wmNr, ihead, wm, string.Format("{0} failed ({1}) !!!", activity, error), error));
|
||||
rfidDataLogger.ErrorFormat("Group={0}, Board={1}, {2} failed ({3}) !!!", currentGroup, ihead.MuxBoardNrOrGroup14, activity, error);
|
||||
string failureCauseLocal = string.Format(Strings.failed_0_1_exclamation, activity, error);
|
||||
OnCommCompleted(null, new CommCompletedEventArgs(threadID, wmNr, ihead, wm, failureCauseLocal, error));
|
||||
rfidDataLogger.ErrorFormat("Group={0}, Board={1}, {2}", currentGroup, ihead.MuxBoardNrOrGroup14, failureCauseLocal);
|
||||
ihead.CommFailed = true;
|
||||
}
|
||||
break;
|
||||
@ -1666,17 +1703,36 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
{
|
||||
if (data.WMNr >= 0) messages[data.WMNr].Text = data.CommMessage;
|
||||
|
||||
for (int i = 0; i < iperlHeads.Count; i++)
|
||||
{
|
||||
counters[i].BackColor = (iperlHeads[i].FlushedDataDelta == 0) ? Color.Red : Color.Green;
|
||||
}
|
||||
if (data.WMNr >= 0 && data.CommErr == CommErr.HeadDisabledByUser)
|
||||
{
|
||||
/// iPerl head was disabled by the user
|
||||
ckbState[data.WMNr] = false;
|
||||
checkBoxes[data.WMNr].Checked = false;
|
||||
checkBoxes[data.WMNr].Enabled = false;
|
||||
if (data.Ihead != null) data.Ihead.Disabled = true;
|
||||
if (data.Wm != null) data.Wm.Disabled = true;
|
||||
}
|
||||
else if (data.WMNr >= 0 && data.CommErr == CommErr.None)
|
||||
{
|
||||
/// One RFID communication successful => iPerl cannot be disabled by the user anymore
|
||||
ckbState[data.WMNr] = true;
|
||||
checkBoxes[data.WMNr].Checked = true;
|
||||
checkBoxes[data.WMNr].Enabled = false;
|
||||
}
|
||||
|
||||
lock (this)
|
||||
{
|
||||
if (++completedCommCount < muxBrdOrGroup14Nrs.Count) return;
|
||||
completedCommCount++;
|
||||
if (cfg.UseMuxBoards && completedCommCount < muxBrdOrGroup14Nrs.Count) return;
|
||||
if (!cfg.UseMuxBoards && completedCommCount < 4) return;
|
||||
completedCommCount = 0;
|
||||
}
|
||||
|
||||
for (int i = 0; i < iperlHeads.Count; i++)
|
||||
{
|
||||
counters[i].BackColor = iperlHeads[i].Disabled ? Color.DarkGray : ((iperlHeads[i].FlushedDataDelta == 0) ? Color.Red : Color.Green);
|
||||
}
|
||||
|
||||
if (currentGroup < lastGroup)
|
||||
{
|
||||
/// Go to the next step / next group
|
||||
@ -1768,5 +1824,54 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void checkBoxImage1_Click(object sender, EventArgs e) { ckbState[ckbIndex[0]] = checkBoxImage1.Checked; }
|
||||
private void checkBoxImage2_Click(object sender, EventArgs e) { ckbState[ckbIndex[1]] = checkBoxImage2.Checked; }
|
||||
private void checkBoxImage3_Click(object sender, EventArgs e) { ckbState[ckbIndex[2]] = checkBoxImage3.Checked; }
|
||||
private void checkBoxImage4_Click(object sender, EventArgs e) { ckbState[ckbIndex[3]] = checkBoxImage4.Checked; }
|
||||
private void checkBoxImage5_Click(object sender, EventArgs e) { ckbState[ckbIndex[4]] = checkBoxImage5.Checked; }
|
||||
private void checkBoxImage6_Click(object sender, EventArgs e) { ckbState[ckbIndex[5]] = checkBoxImage6.Checked; }
|
||||
private void checkBoxImage7_Click(object sender, EventArgs e) { ckbState[ckbIndex[6]] = checkBoxImage7.Checked; }
|
||||
private void checkBoxImage8_Click(object sender, EventArgs e) { ckbState[ckbIndex[7]] = checkBoxImage8.Checked; }
|
||||
private void checkBoxImage9_Click(object sender, EventArgs e) { ckbState[ckbIndex[8]] = checkBoxImage9.Checked; }
|
||||
private void checkBoxImage10_Click(object sender, EventArgs e) { ckbState[ckbIndex[9]] = checkBoxImage10.Checked; }
|
||||
private void checkBoxImage11_Click(object sender, EventArgs e) { ckbState[ckbIndex[10]] = checkBoxImage11.Checked; }
|
||||
private void checkBoxImage12_Click(object sender, EventArgs e) { ckbState[ckbIndex[11]] = checkBoxImage12.Checked; }
|
||||
private void checkBoxImage13_Click(object sender, EventArgs e) { ckbState[ckbIndex[12]] = checkBoxImage13.Checked; }
|
||||
private void checkBoxImage14_Click(object sender, EventArgs e) { ckbState[ckbIndex[13]] = checkBoxImage14.Checked; }
|
||||
private void checkBoxImage15_Click(object sender, EventArgs e) { ckbState[ckbIndex[14]] = checkBoxImage15.Checked; }
|
||||
private void checkBoxImage16_Click(object sender, EventArgs e) { ckbState[ckbIndex[15]] = checkBoxImage16.Checked; }
|
||||
private void checkBoxImage17_Click(object sender, EventArgs e) { ckbState[ckbIndex[16]] = checkBoxImage17.Checked; }
|
||||
private void checkBoxImage18_Click(object sender, EventArgs e) { ckbState[ckbIndex[17]] = checkBoxImage18.Checked; }
|
||||
private void checkBoxImage19_Click(object sender, EventArgs e) { ckbState[ckbIndex[18]] = checkBoxImage19.Checked; }
|
||||
private void checkBoxImage20_Click(object sender, EventArgs e) { ckbState[ckbIndex[19]] = checkBoxImage20.Checked; }
|
||||
private void checkBoxImage21_Click(object sender, EventArgs e) { ckbState[ckbIndex[20]] = checkBoxImage21.Checked; }
|
||||
private void checkBoxImage22_Click(object sender, EventArgs e) { ckbState[ckbIndex[21]] = checkBoxImage22.Checked; }
|
||||
private void checkBoxImage23_Click(object sender, EventArgs e) { ckbState[ckbIndex[22]] = checkBoxImage23.Checked; }
|
||||
private void checkBoxImage24_Click(object sender, EventArgs e) { ckbState[ckbIndex[23]] = checkBoxImage24.Checked; }
|
||||
private void checkBoxImage25_Click(object sender, EventArgs e) { ckbState[ckbIndex[24]] = checkBoxImage25.Checked; }
|
||||
private void checkBoxImage26_Click(object sender, EventArgs e) { ckbState[ckbIndex[25]] = checkBoxImage26.Checked; }
|
||||
private void checkBoxImage27_Click(object sender, EventArgs e) { ckbState[ckbIndex[26]] = checkBoxImage27.Checked; }
|
||||
private void checkBoxImage28_Click(object sender, EventArgs e) { ckbState[ckbIndex[27]] = checkBoxImage28.Checked; }
|
||||
private void checkBoxImage29_Click(object sender, EventArgs e) { ckbState[ckbIndex[28]] = checkBoxImage29.Checked; }
|
||||
private void checkBoxImage30_Click(object sender, EventArgs e) { ckbState[ckbIndex[29]] = checkBoxImage30.Checked; }
|
||||
private void checkBoxImage31_Click(object sender, EventArgs e) { ckbState[ckbIndex[30]] = checkBoxImage31.Checked; }
|
||||
private void checkBoxImage32_Click(object sender, EventArgs e) { ckbState[ckbIndex[31]] = checkBoxImage32.Checked; }
|
||||
private void checkBoxImage33_Click(object sender, EventArgs e) { ckbState[ckbIndex[32]] = checkBoxImage33.Checked; }
|
||||
private void checkBoxImage34_Click(object sender, EventArgs e) { ckbState[ckbIndex[33]] = checkBoxImage34.Checked; }
|
||||
private void checkBoxImage35_Click(object sender, EventArgs e) { ckbState[ckbIndex[34]] = checkBoxImage35.Checked; }
|
||||
private void checkBoxImage36_Click(object sender, EventArgs e) { ckbState[ckbIndex[35]] = checkBoxImage36.Checked; }
|
||||
private void checkBoxImage37_Click(object sender, EventArgs e) { ckbState[ckbIndex[36]] = checkBoxImage37.Checked; }
|
||||
private void checkBoxImage38_Click(object sender, EventArgs e) { ckbState[ckbIndex[37]] = checkBoxImage38.Checked; }
|
||||
private void checkBoxImage39_Click(object sender, EventArgs e) { ckbState[ckbIndex[38]] = checkBoxImage39.Checked; }
|
||||
private void checkBoxImage40_Click(object sender, EventArgs e) { ckbState[ckbIndex[39]] = checkBoxImage40.Checked; }
|
||||
private void checkBoxImage41_Click(object sender, EventArgs e) { ckbState[ckbIndex[40]] = checkBoxImage41.Checked; }
|
||||
private void checkBoxImage42_Click(object sender, EventArgs e) { ckbState[ckbIndex[41]] = checkBoxImage42.Checked; }
|
||||
private void checkBoxImage43_Click(object sender, EventArgs e) { ckbState[ckbIndex[42]] = checkBoxImage43.Checked; }
|
||||
private void checkBoxImage44_Click(object sender, EventArgs e) { ckbState[ckbIndex[43]] = checkBoxImage44.Checked; }
|
||||
private void checkBoxImage45_Click(object sender, EventArgs e) { ckbState[ckbIndex[44]] = checkBoxImage45.Checked; }
|
||||
private void checkBoxImage46_Click(object sender, EventArgs e) { ckbState[ckbIndex[45]] = checkBoxImage46.Checked; }
|
||||
private void checkBoxImage47_Click(object sender, EventArgs e) { ckbState[ckbIndex[46]] = checkBoxImage47.Checked; }
|
||||
private void checkBoxImage48_Click(object sender, EventArgs e) { ckbState[ckbIndex[47]] = checkBoxImage48.Checked; }
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
[assembly: AssemblyVersion("2.17.696.1")]
|
||||
[assembly: AssemblyFileVersion("2.17.696.1")]
|
||||
[assembly: AssemblyVersion("2.17.697.1")]
|
||||
[assembly: AssemblyFileVersion("2.17.697.1")]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user