diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs index e247b9f11..4ad2823e1 100644 --- a/TBF/Properties/AssemblyInfo.cs +++ b/TBF/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("3.9.3121.1")] -[assembly: AssemblyFileVersion("3.9.3121.1")] +[assembly: AssemblyVersion("3.9.3121.3")] +[assembly: AssemblyFileVersion("3.9.3121.3")] diff --git a/TBF/Rig/RegisterReaders/GenesisRegReader/communication/OptoHeadTest.cs b/TBF/Rig/RegisterReaders/GenesisRegReader/communication/OptoHeadTest.cs index 9d5061eae..a1a4a2991 100644 --- a/TBF/Rig/RegisterReaders/GenesisRegReader/communication/OptoHeadTest.cs +++ b/TBF/Rig/RegisterReaders/GenesisRegReader/communication/OptoHeadTest.cs @@ -1751,7 +1751,36 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication log.Debug("PrepareQ3Calibration() - Start, Head: " + genesisHead?.Name); if (genesisHead != null && genesisHead.DebugLevel == DebugMode.Simulate) { - log.Debug("PrepareQ3Calibration() - Simulated response"); + log.Debug("PrepareQ3Calibration() - Simulated response - Config: " + cfg.ToString() + " Test: " + test.ToString() + " WaterMeter: " + wm.ToString()); + try + { + Results.Entities.TestRslt tstRslt = ProcessData.BatchRslts.GetTestRslt(test.Name, test.Part); + if (tstRslt.CalibFactorResultsToSave.Count > 0) + { + tstRslt.CalibFactorResultsToSave.Clear(); + } + if (tstRslt.CalibFactorResultsToSave.Count == 0) + { + for (int i = 0; i < genesisHead.ChannelsCount; i++) + { + tstRslt.CalibFactorResultsToSave.Add(new TestRsltCalibFactor() + { + Stored = false, + CalibFactorIndex = i, + BaseCalibFactor = 15625, + } + ); + } + + log.Debug($" Calib factor from Text1: {wm.WaterMeterData.Text1}"); + log.Debug($" Calib factor from Text2: {wm.WaterMeterData.Text2}"); + log.Debug($" Calib factor from Text3: {wm.WaterMeterData.Text3}"); + } + }catch(Exception ex) + { + log.Error($"PrepareQ3Calibration() - Simulated DB Exception: {ex.Message}"); + } + return ResultOk;//"Simulated Connect"; } @@ -1767,7 +1796,7 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication log.Error($"PrepareQ3Calibration({genesisHead?.Name}) - Missing Test"); return "PrepareQ3Calibration - Missing Test"; } - + return Task.Run(() => PrepareQ3Calibration_Async(genesisHead, cfg, test, wm)) .GetAwaiter() .GetResult(); @@ -1799,6 +1828,8 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication return string.Empty; } + + Results.Entities.TestRslt tstRslt = null; try @@ -1841,15 +1872,31 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication byte valueLed = (ledMode == LedState.active) ? (byte)6 : (byte)0; //TODO BUMI - implement variable values for Q3Channel UInt16 valueSampleRate = 10; + + log.Debug( $"PrepareQ3Calibration_Async( Slot: {genesisSmartReader.GetSlotNr}) - Calib Factors from Dialog - Text1:{wm?.WaterMeterData?.Text1} Text2:{ wm?.WaterMeterData?.Text2}, Text3: {wm?.WaterMeterData?.Text3}"); + // try get Calib factors directly from Process settings + if (!string.IsNullOrEmpty(wm?.WaterMeterData?.Text1) && + !string.IsNullOrEmpty(wm?.WaterMeterData?.Text2) && + !string.IsNullOrEmpty(wm?.WaterMeterData?.Text3)) + { + int.TryParse(wm?.WaterMeterData?.Text1, out int calibFactor1); + int.TryParse(wm?.WaterMeterData?.Text2, out int calibFactor2); + int.TryParse(wm?.WaterMeterData?.Text3, out int calibFactor3); + genesisSmartReader?.SetQ3Calibration(new double[]{calibFactor1,calibFactor2,calibFactor3}); + } + else + { + genesisSmartReader?.SetQ3Calibration(new double[]{15625.0d,15625.0d,15625.0d}); + } //TODO BUMI - implement variable values for Q3Channel - be shure is implemented in Head - string prepareMeterSizeAndCalibration = await PrepareMeterSizeAndCalibration(genesisSmartReader, cfg, gciBridge, tstRslt, token); - if (prepareMeterSizeAndCalibration != ResultOk) - { - log.Error($"PrepareQ3Calibration_Async( Slot: {genesisSmartReader.GetSlotNr}) - prepareMeterSizeAndCalibration failed. Result: {prepareMeterSizeAndCalibration}"); - return prepareMeterSizeAndCalibration; - } - + //string prepareMeterSizeAndCalibration = await PrepareMeterSizeAndCalibration(genesisSmartReader, cfg, gciBridge, tstRslt, token); + // if (prepareMeterSizeAndCalibration != ResultOk) + // { + // log.Error($"PrepareQ3Calibration_Async( Slot: {genesisSmartReader.GetSlotNr}) - prepareMeterSizeAndCalibration failed. Result: {prepareMeterSizeAndCalibration}"); + // return prepareMeterSizeAndCalibration; + // } + ushort calibrationFactor1 = Convert.ToUInt16(genesisSmartReader?.Q3CalibValue[0]); log.Debug( $"PrepareQ3Calibration_Async( Slot: {genesisSmartReader.GetSlotNr}) - Start - Set CalFactor1: {calibrationFactor1}"); var CalFactor1AsyncResult = await gciBridge.WriteRegisterWithRetryAsync(genesisSmartReader.GetSlotNr, RadioService.CalFactor1, calibrationFactor1, false, false, token); diff --git a/TBF/Rig/RegisterReaders/GenesisRegReader/implementations/GenesisSmartReader.cs b/TBF/Rig/RegisterReaders/GenesisRegReader/implementations/GenesisSmartReader.cs index 613d1f1c6..5dab7f4ce 100644 --- a/TBF/Rig/RegisterReaders/GenesisRegReader/implementations/GenesisSmartReader.cs +++ b/TBF/Rig/RegisterReaders/GenesisRegReader/implementations/GenesisSmartReader.cs @@ -3997,8 +3997,8 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.implementations return; } } - - log.Debug($"Inputs: refVolume={refVolume}, refTime={refTime}, initCalibFactor={initCalibFactor}"); + + log.Debug($"Inputs: refVolume={refVolume}, refTime={refTime}, initCalibFactors={string.Join(",", initCalibFactor)}"); if (_rawStartEndByChannel == null) {