From 5bb94666a4bcfd49e9dd963ee88f50a43aa153fd Mon Sep 17 00:00:00 2001 From: Milan Hanajik Date: Thu, 9 Jul 2020 10:06:09 +0200 Subject: [PATCH] (1) Diverter.nextIdx not incremented when DebugMode.Off, (2) VR1 accepts number entry, ver. 2.26.1499 --- TBF/BenchControl/Elde/Diverter/Diverter.cs | 112 +++++++++++---------- TBF/Properties/AssemblyInfo.cs | 4 +- TBF/UI/MainWnd.cs | 2 +- 3 files changed, 60 insertions(+), 58 deletions(-) diff --git a/TBF/BenchControl/Elde/Diverter/Diverter.cs b/TBF/BenchControl/Elde/Diverter/Diverter.cs index 2fbc80510..83ca259d2 100644 --- a/TBF/BenchControl/Elde/Diverter/Diverter.cs +++ b/TBF/BenchControl/Elde/Diverter/Diverter.cs @@ -69,50 +69,52 @@ namespace TBF.BenchControl.Elde.Diverter { diverterCfg = cfg as DiverterCfg; - controlBoard = (ControlBoardDev)TbfComponents.FindComponent(cfg.ParentName, components); - if (controlBoard == null) throw new Exception("Cannot find " + Name + " parent"); - - if (diverterCfg.BitPosition < 0 || diverterCfg.BitPosition >= 64) throw new ArgumentOutOfRangeException("position"); - this.mask = (((UInt128)1) << diverterCfg.BitPosition); - - switchTimeStart = new FloatBox(diverterCfg.DfltSwithTimeStartMs / 1000.0f); - switchTimeEnd = new FloatBox(diverterCfg.DfltSwithTimeEndMs / 1000.0f); - - diverterNr0 = nextIdx++; - /// - if (Diverters == null || Diverters.Length < nextIdx) - { - GenericDevices.IDiverter[] divertersSoFar = Diverters; - - Diverters = new GenericDevices.IDiverter[nextIdx]; - - if (divertersSoFar != null) - { - for (int i = 0; i < divertersSoFar.Length; i++) Diverters[i] = divertersSoFar[i]; - - } - - Diverters[nextIdx - 1] = this; - } - - /// Prepare arguments of SendCalibData() - if (diverterCfg.AdcNr >= 0 && diverterCfg.AdcNr < controlBoard.RegValveCalib.GetLength(0)) - { - controlBoard.RegValveCalib[diverterCfg.AdcNr, 0] = (uint)diverterCfg.AdcValueToSink; - controlBoard.RegValveCalib[diverterCfg.AdcNr, 1] = (uint)diverterCfg.AdcValueToTank; - } - else - { - log.ErrorFormat("Unable to set {0} ADC levels: RegValveCalib array size={1}, diverter AdcNr={2}", - Name, controlBoard.RegValveCalib.GetLength(0), diverterCfg.AdcNr); - } - - - int divNrFromName; - if (!int.TryParse(Name.Substring(3), out divNrFromName)) + if (cfg.DebugLevel != Config.Entities.DebugMode.Off) { - divNrFromName = nextIdx; - } + controlBoard = (ControlBoardDev)TbfComponents.FindComponent(cfg.ParentName, components); + if (controlBoard == null) throw new Exception("Cannot find " + Name + " parent"); + + if (diverterCfg.BitPosition < 0 || diverterCfg.BitPosition >= 64) throw new ArgumentOutOfRangeException("position"); + this.mask = (((UInt128)1) << diverterCfg.BitPosition); + + switchTimeStart = new FloatBox(diverterCfg.DfltSwithTimeStartMs / 1000.0f); + switchTimeEnd = new FloatBox(diverterCfg.DfltSwithTimeEndMs / 1000.0f); + + diverterNr0 = nextIdx++; + /// + if (Diverters == null || Diverters.Length < nextIdx) + { + GenericDevices.IDiverter[] divertersSoFar = Diverters; + + Diverters = new GenericDevices.IDiverter[nextIdx]; + + if (divertersSoFar != null) + { + for (int i = 0; i < divertersSoFar.Length; i++) Diverters[i] = divertersSoFar[i]; + + } + + Diverters[nextIdx - 1] = this; + } + + /// Prepare arguments of SendCalibData() + if (diverterCfg.AdcNr >= 0 && diverterCfg.AdcNr < controlBoard.RegValveCalib.GetLength(0)) + { + controlBoard.RegValveCalib[diverterCfg.AdcNr, 0] = (uint)diverterCfg.AdcValueToSink; + controlBoard.RegValveCalib[diverterCfg.AdcNr, 1] = (uint)diverterCfg.AdcValueToTank; + } + else + { + log.ErrorFormat("Unable to set {0} ADC levels: RegValveCalib array size={1}, diverter AdcNr={2}", + Name, controlBoard.RegValveCalib.GetLength(0), diverterCfg.AdcNr); + } + + + int divNrFromName; + if (!int.TryParse(Name.Substring(3), out divNrFromName)) + { + divNrFromName = nextIdx; + } #if GENESIS || PETERSBURG_50 || PETERSBURG_200 || FUZHOU_50 || FUZHOU_150 || FUZHOU_300 || ROMA_200 flowMtrNr4Cmd = divNrFromName + 1; #elif BADGER_STREDNA_TRAT @@ -130,22 +132,22 @@ namespace TBF.BenchControl.Elde.Diverter #elif FILIPINY_50 flowMtrNr4Cmd = (divNrFromName == 1) ? 1 : 7; #elif GELSENWASSER - switch (divNrFromName) - { - default: - case 1: flowMtrNr4Cmd = 1; break; - case 2: flowMtrNr4Cmd = 0x12; break; - case 3: flowMtrNr4Cmd = 3; break; - case 4: flowMtrNr4Cmd = 5; break; - } + switch (divNrFromName) + { + default: + case 1: flowMtrNr4Cmd = 1; break; + case 2: flowMtrNr4Cmd = 0x12; break; + case 3: flowMtrNr4Cmd = 3; break; + case 4: flowMtrNr4Cmd = 5; break; + } #else flowMtrNr4Cmd = (divNrFromName == 1) ? 1 : 3; #endif - diverterToTankOp = new SwitchDiverterOp(controlBoard, true, flowMtrNr4Cmd); - diverterToSinkOp = new SwitchDiverterOp(controlBoard, false, flowMtrNr4Cmd); + diverterToTankOp = new SwitchDiverterOp(controlBoard, true, flowMtrNr4Cmd); + diverterToSinkOp = new SwitchDiverterOp(controlBoard, false, flowMtrNr4Cmd); - - log.Debug(this.ToString()); + log.Debug(this.ToString()); + } } /// diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs index 01bb9e575..030151f9c 100644 --- a/TBF/Properties/AssemblyInfo.cs +++ b/TBF/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("2.26.1498.0")] -[assembly: AssemblyFileVersion("2.26.1498.0")] +[assembly: AssemblyVersion("2.26.1499.0")] +[assembly: AssemblyFileVersion("2.26.1499.0")] diff --git a/TBF/UI/MainWnd.cs b/TBF/UI/MainWnd.cs index 552a62245..730630d38 100644 --- a/TBF/UI/MainWnd.cs +++ b/TBF/UI/MainWnd.cs @@ -348,7 +348,7 @@ namespace TBF.UI /// private void MainWnd_KeyPress(object sender, KeyPressEventArgs e) { -#if BADGER_MALA_TRAT || BADGER_STREDNA_TRAT || BADGER_VELKA_TRAT || GENESIS || CEVAK_200 || TURA_SPECIAL +#if BADGER_MALA_TRAT || BADGER_STREDNA_TRAT || BADGER_VELKA_TRAT || GENESIS || CEVAK_200 || TURA_SPECIAL || GELSENWASSER /// Do nothing = do not process keys #else if (BenchControlPanel != null && BenchControlPanel.ProcessKey(e.KeyChar))