diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs index 4084ebcc0..11a6b5013 100644 --- a/TBF/Properties/AssemblyInfo.cs +++ b/TBF/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("3.1.1843.0")] -[assembly: AssemblyFileVersion("3.1.1843.0")] +[assembly: AssemblyVersion("3.1.1845.0")] +[assembly: AssemblyFileVersion("3.1.1845.0")] diff --git a/TBF/Rig/TestMethods/iPerlCommunication/iPerlCommunicationSeq.cs b/TBF/Rig/TestMethods/iPerlCommunication/iPerlCommunicationSeq.cs index 5437b6070..b7c659b0b 100644 --- a/TBF/Rig/TestMethods/iPerlCommunication/iPerlCommunicationSeq.cs +++ b/TBF/Rig/TestMethods/iPerlCommunication/iPerlCommunicationSeq.cs @@ -47,7 +47,7 @@ namespace TBF.Rig.TestMethods.iPerlCommunication /// Event.OpArgumentError . Target flow is out of range /// Event.Error . . . . . . Unspecified error /// - public IList Execute(Config.Entities.Test test, int repetitionNr, TestMethodCfg cfg, iPerlCommunicationParams testParams) + public IList Execute(Test test, int repetitionNr, TestMethodCfg cfg, iPerlCommunicationParams testParams) { IList e; /// Events from currently running operations checkUiOp = new Operations.CheckUIOp(true); /// Runs in more then one state @@ -576,11 +576,12 @@ namespace TBF.Rig.TestMethods.iPerlCommunication if (iPerl == null || ((iPerl.Q2CorrRL == 0) && (iPerl.Q2CorrLR == 0))) { /// Either no iPerl head or no Q2 correction - meterRslt.VolumeStart = oriMeterRslt.VolumeStart; + meterRslt.Error = oriMeterRslt.Error; + meterRslt.VolumeMeter = oriMeterRslt.VolumeMeter; + meterRslt.VolumeStart = oriMeterRslt.VolumeStart; meterRslt.VolumeEnd = oriMeterRslt.VolumeEnd; - meterRslt.VolumeMeter = oriMeterRslt.VolumeMeter; - meterRslt.Error = oriMeterRslt.Error; - meterRslt.Passed = oriMeterRslt.Passed; + meterRslt.Passed = (meterRslt.Error >= tstRslt.ErrLimLo() + tstRslt.ErrLimMargin() + && meterRslt.Error <= tstRslt.ErrLimHi() - tstRslt.ErrLimMargin()); meterRslt.TestDone = true; tstRslt.TestDone = true; } @@ -588,11 +589,13 @@ namespace TBF.Rig.TestMethods.iPerlCommunication { /// iPerl with Q2 correction => generate an artificial error equal to -1/10 of the original one (relative to Q2 target error) double targetError = iPerl.CalibTargetQ2; - meterRslt.VolumeStart = 0; - meterRslt.VolumeEnd = 0; meterRslt.Error = targetError - 0.1 * (oriMeterRslt.Error - targetError); meterRslt.VolumeMeter = oriMeterRslt.VolumeRef * (100.0 + meterRslt.Error) / 100.0; - meterRslt.Passed = true; + meterRslt.VolumeStart = oriMeterRslt.VolumeStart; + double signature = (oriMeterRslt.VolumeEnd > oriMeterRslt.VolumeStart) ? (+1) : (-1); + meterRslt.VolumeEnd = meterRslt.VolumeStart + signature * meterRslt.VolumeMeter; + meterRslt.Passed = (meterRslt.Error >= tstRslt.ErrLimLo() + tstRslt.ErrLimMargin() + && meterRslt.Error <= tstRslt.ErrLimHi() - tstRslt.ErrLimMargin()); meterRslt.TestDone = true; tstRslt.TestDone = true; }