<Feat>: Add customer XML structure mapping support in ResultsWriter, increase revision to 3.9.3145.102
Cause: - The customer XML format requires batch, DUT, group and test-level metadata. - ResultsWriter did not provide variables for test position, repetition index, batch duration, DUT test duration or aggregated test statuses. - Missing WaterMeterData could cause a NullReferenceException while evaluating WM Type. Solution: 1. Added XML mapping variables - Added TestPositionInBatch and TestRepetitionNr. - Added BatchTime and TestsTotalTime. - Added PassedFromAllTests and PassedFromRepeatedTests. 2. Added hierarchical result evaluation - Evaluates the overall PANEL/DUT status from all tests. - Evaluates GROUP status from repeated instances of the selected test. 3. Improved meter data handling - Made WM Type evaluation null-safe when WaterMeterData is unavailable. 4. Increased revision - Updated revision to 3.9.3145.102.
This commit is contained in:
@@ -1022,7 +1022,7 @@ namespace TBF.Rig.TestMethods.S640Communication
|
||||
Results.Entities.WaterMeter wm = ProcessData.BatchRslts.Batch.WaterMeters[i];
|
||||
if (optoHeads[i] != null && optoHeads[i].PcbNumber != 0 && wm != null && !wm.Disabled)
|
||||
{
|
||||
if (!wm.PassedFromTests())
|
||||
if (!wm.PassedFromAllTests())
|
||||
{
|
||||
/// Red background
|
||||
eRegisterNumbers[i].BackColor = Color.Pink;
|
||||
@@ -1101,7 +1101,7 @@ namespace TBF.Rig.TestMethods.S640Communication
|
||||
{
|
||||
if (optoHeads[i] != null && optoHeads[i].PcbNumber != 0 &&
|
||||
waterMeters[i] != null && !waterMeters[i].Disabled &&
|
||||
(activity == S640Activity.Start || waterMeters[i].PassedFromTests()))
|
||||
(activity == S640Activity.Start || waterMeters[i].PassedFromAllTests()))
|
||||
{
|
||||
count++;
|
||||
|
||||
@@ -1137,7 +1137,7 @@ namespace TBF.Rig.TestMethods.S640Communication
|
||||
optoHeads[i].PcbNumber != 0 &&
|
||||
ProcessData.BatchRslts.Batch.WaterMeters[i] != null &&
|
||||
!ProcessData.BatchRslts.Batch.WaterMeters[i].Disabled &&
|
||||
(activity == S640Activity.Start || ProcessData.BatchRslts.Batch.WaterMeters[i].PassedFromTests()))
|
||||
(activity == S640Activity.Start || ProcessData.BatchRslts.Batch.WaterMeters[i].PassedFromAllTests()))
|
||||
{
|
||||
Results.Entities.WaterMeter wm = ProcessData.BatchRslts.Batch.WaterMeters[i];
|
||||
|
||||
|
||||
@@ -2180,7 +2180,7 @@ namespace TBF.Rig.TestMethods.iPerlCommunication
|
||||
|
||||
if ((q2CorrType == Q2CorrType.ConditionalUpdate ||
|
||||
q2CorrType == Q2CorrType.ConditionalUpdateRL ||
|
||||
q2CorrType == Q2CorrType.ConditionalUpdateLR) && wm.PassedFromTests())
|
||||
q2CorrType == Q2CorrType.ConditionalUpdateLR) && wm.PassedFromAllTests())
|
||||
{
|
||||
resultStr = string.Format("No Q2 correction update");
|
||||
rfidDataLogger.InfoFormat("{0}({1}): No Q2 correction update", ihead.Name, ihead.SerialNr);
|
||||
|
||||
Reference in New Issue
Block a user