From a0c3ffd01a3f2ba62b889b78d78a6d3b0fea8404 Mon Sep 17 00:00:00 2001 From: Milan Hanajik Date: Thu, 20 Aug 2015 16:23:22 +0200 Subject: [PATCH] iPerlST: Use absolute value of volume difference in calculations. Comment added. --- .../FlyingStartCollectionMethodSeq.cs | 2 +- .../BenchControl/WaterMeters/iPerl/OptoTelegram.cs | 2 +- .../BenchControl/WaterMeters/iPerl/OptoTelegramRaw.cs | 2 +- TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeter.cs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/FlyingStartCollectionMethodSeq.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/FlyingStartCollectionMethodSeq.cs index 358da05ee..0c98d9384 100644 --- a/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/FlyingStartCollectionMethodSeq.cs +++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/FlyingStartCollectionMethodSeq.cs @@ -454,7 +454,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartCollectionMethod if (sensPath.RegisterReaders[i] is WaterMeters.iPerl.WaterMeter) { WaterMeters.iPerl.WaterMeter iPerl = (sensPath.RegisterReaders[i] as WaterMeters.iPerl.WaterMeter); - tstRslt.Meters[i].VolumeMeter = (float)(iPerl.VolumeLtrEnd - iPerl.VolumeLtrStart); + tstRslt.Meters[i].VolumeMeter = (float)Math.Abs(iPerl.VolumeLtrEnd - iPerl.VolumeLtrStart); tstRslt.Meters[i].VolumeRef = tstRslt.VolumeCTV * (float)(iPerl.TimestampSecEnd - iPerl.TimestampSecStart) / tstRslt.Time; iPerl.VolumeLtrRef = (double)tstRslt.Meters[i].VolumeRef; } diff --git a/TestBenchFramework/BenchControl/WaterMeters/iPerl/OptoTelegram.cs b/TestBenchFramework/BenchControl/WaterMeters/iPerl/OptoTelegram.cs index 98a67c643..e19137db5 100644 --- a/TestBenchFramework/BenchControl/WaterMeters/iPerl/OptoTelegram.cs +++ b/TestBenchFramework/BenchControl/WaterMeters/iPerl/OptoTelegram.cs @@ -42,7 +42,7 @@ namespace TBF.BenchControl.WaterMeters.iPerl /// DDDDDD Volume Int24 Value / 16000 * Scaling factor in Ltr /// EEEE Impedance Int16 Value /// FFFFFFFF Timestamp Uint32 Value / 8192 - /// GG + /// GG Checksum Byte /// ---------------------------------------------------------------- /// /// Example: diff --git a/TestBenchFramework/BenchControl/WaterMeters/iPerl/OptoTelegramRaw.cs b/TestBenchFramework/BenchControl/WaterMeters/iPerl/OptoTelegramRaw.cs index 9df86982a..4f38b07b8 100644 --- a/TestBenchFramework/BenchControl/WaterMeters/iPerl/OptoTelegramRaw.cs +++ b/TestBenchFramework/BenchControl/WaterMeters/iPerl/OptoTelegramRaw.cs @@ -44,7 +44,7 @@ namespace TBF.BenchControl.WaterMeters.iPerl /// DDDDDD Volume Int24 Value / 16000 * Scaling factor /// EEEE Impedance Int16 Value /// FFFFFFFF Timestamp Uint32 Value / 8192 - /// GG + /// GG Checksum Byte /// ---------------------------------------------------------------- /// /// Example: diff --git a/TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeter.cs b/TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeter.cs index 013874556..a195aafd4 100644 --- a/TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeter.cs +++ b/TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeter.cs @@ -95,7 +95,7 @@ namespace TBF.BenchControl.WaterMeters.iPerl public UInt16 CalculateNewCalibFactor(UInt16 originalCalibrationFactor) { - double volumeMeter = VolumeLtrEnd - VolumeLtrStart; + double volumeMeter = Math.Abs(VolumeLtrEnd - VolumeLtrStart); if (volumeMeter > 1E-2) { UInt16 newFactor = (UInt16)((double)originalCalibrationFactor * VolumeLtrRef / volumeMeter + 0.5);