diff --git a/Config/Config.csproj b/Config/Config.csproj
index 1da0f9935..28dacd210 100644
--- a/Config/Config.csproj
+++ b/Config/Config.csproj
@@ -19,7 +19,7 @@
full
false
bin\Debug\
- TRACE;DEBUG;MUNICH
+ TRACE;DEBUG;JUZNA_AFRIKA_NEW
prompt
4
false
@@ -30,7 +30,7 @@
pdbonly
true
bin\Release\
- TRACE;MUNICH
+ TRACE;JUZNA_AFRIKA_NEW
prompt
4
false
diff --git a/Results/Results.csproj b/Results/Results.csproj
index 528176af2..228671dfb 100644
--- a/Results/Results.csproj
+++ b/Results/Results.csproj
@@ -19,7 +19,7 @@
full
false
bin\Debug\
- TRACE;DEBUG;MUNICH
+ TRACE;DEBUG;JUZNA_AFRIKA_NEW
prompt
4
x86
@@ -29,7 +29,7 @@
pdbonly
true
bin\Release\
- TRACE;MUNICH
+ TRACE;JUZNA_AFRIKA_NEW
prompt
4
false
diff --git a/ResultsBrowser/ResultsBrowser.csproj b/ResultsBrowser/ResultsBrowser.csproj
index 9b41bde6d..df877a50b 100644
--- a/ResultsBrowser/ResultsBrowser.csproj
+++ b/ResultsBrowser/ResultsBrowser.csproj
@@ -21,7 +21,7 @@
full
false
bin\Debug\
- TRACE;DEBUG;MUNICH
+ TRACE;DEBUG;JUZNA_AFRIKA_NEW
prompt
4
false
@@ -32,7 +32,7 @@
pdbonly
true
bin\Release\
- TRACE;MUNICH
+ TRACE;JUZNA_AFRIKA_NEW
prompt
4
false
diff --git a/TBF/BenchControl/ControlBoard/Legacy/ControlComWrap.cs b/TBF/BenchControl/ControlBoard/Legacy/ControlComWrap.cs
deleted file mode 100644
index 2624a0dff..000000000
--- a/TBF/BenchControl/ControlBoard/Legacy/ControlComWrap.cs
+++ /dev/null
@@ -1,534 +0,0 @@
-///
-/// Copyright (c) 2013-2016 Sensus Metering Systems
-///
-using System;
-using Dirichlet.Numerics;
-using log4net;
-
-namespace TBF.BenchControl.ControlBoard.Legacy
-{
- public class ControlComWrap : IControlCom
- {
- private static readonly ILog log = LogManager.GetLogger(typeof(ControlComWrap));
- /// Fatal: SendCalibData(), DoSendCalibData()
- /// Info: SendCommand(), ValveMove(), StatusP
- /// Debug: Weight[ix]
-
- ///
- /// Properties
- ///
- public StatusP StatusP { get { return (StatusP)ctrlBrdComponent.StatusP; } }
-
-#if DN100 || MUNICH || FUZHOU_150
- public double ReferenceFreq { get { return 1000.0f * ctrlBrdComponent.referenceFreq; } } /// Returns in [Hz] 0..2500, nom.=2000
- public double ReferenceFreqs(int i) { return 0; }
-#else
- /// All newer benches
- public double ReferenceFreq { get { return 1000.0 * ctrlBrdComponent.referenceFreq[0]; } } /// Returns in [Hz] 0..2500, nom.=2000
- ///
- ///
- /// In case of I11, I12
- /// cBrd.referenceFreq[0] = I11 + I12
- /// cBrd.referenceFreq[1] = I11
- /// cBrd.referenceFreq[2] = I12
- /// otherwise
- /// cBrd.referenceFreq[0] = I2 or I3 or I4
- ///
- /// Reference frequency in Hz
- public double ReferenceFreqs(int i)
- {
- return ((i >= 0) && (i < ctrlBrdComponent.referenceFreq.Length)) ? (1000.0 * ctrlBrdComponent.referenceFreq[i]) : 0;
- }
-#endif
-
- public int EtPulses(int wmNr1) { return (int)ctrlBrdComponent.etPulses[wmNr1]; }
-
-#if DN100 || MUNICH || BADGER_MALA_TRAT || BADGER_STREDNA_TRAT || BADGER_VELKA_TRAT || TORINO_50 || TORUN_50 || CEVAK_40 || MURES_40 || IZRAEL_200 || MALTA_WSD25
- public int EtPulsesK { get { return 1; } }
-#else /// all new benches
- public int EtPulsesK { get { return (int)ctrlBrdComponent.etPulsesK; } }
-#endif
-
-#if DEWA_300
- public int EtPulses2 { get { return (int)ctrlBrdComponent.EtPulses2; } }
- public int EtPulses3 { get { return (int)ctrlBrdComponent.EtPulses3; } }
-#elif ROMA_200
- public int EtPulses2 { get { return (int)ctrlBrdComponent.EtPulses2; } }
- public int EtPulses3 { get { return 0; } }
-#else
- public int EtPulses2 { get { return 0; } }
- public int EtPulses3 { get { return 0; } }
-#endif
- public UInt16 WMeterPulses(int wmNr1) { return (UInt16)ctrlBrdComponent.wMeterPuls[wmNr1]; }
- public int WMeterReference(int wmNr0) { return (int)ctrlBrdComponent.wMeterReference[wmNr0]; }
-
- public uint RegulValveDAC(int rvNr0)
- {
-#if CEVAK_200
- return ctrlBrdComponent.StavDA[rvNr0];
-#else
- return ctrlBrdComponent.StavDA;
-#endif
- }
-
- public float Pressure(int prsNr0) { return ctrlBrdComponent.pressure[prsNr0]; }
- public float Temperature(int tmpNr0) { return (tmpNr0 >= 0 && tmpNr0 < ctrlBrdComponent.temperature.Length) ? ctrlBrdComponent.temperature[tmpNr0] : 0; }
- public RegulValveState RegulValveState(int rvNr1) { return (RegulValveState)ctrlBrdComponent.rValveStatus[rvNr1 - 1]; }
-#if GENESIS || BERLIN || GELSENWASSER || PETERSBURG_200 || DEWA_300 || ROMA_200
- public UInt128 RRoute { get { return ((UInt128)ctrlBrdComponent.rRouteH << 64) | (UInt128)ctrlBrdComponent.rRoute; } }
-#else
- public UInt128 RRoute { get { return ctrlBrdComponent.rRoute; } }
-#endif
-
-#if GENESIS || KEMPNO_50 || KRAKOW_50 || BAHRAIN_50 || BADGER_STREDNA_TRAT || JUZNA_AFRIKA_50 || IZRAEL_25 || ZAMBIA || ZODINO || FEWA_50 || FILIPINY_50 || SENTEC || FUZHOU_100 || CEVAK_200 || IZRAEL_50 || DEWA_300 || ROMA_200 || PUCHONG_200 || TURA_IPERL_NEW || ALZIR_25 || GELSENWASSER
- public uint DivTime(int id) { return ctrlBrdComponent.divTime[id]; }
- public void SetDivLimit(int divNo, uint limLoPct, uint limHiPct)
- {
- ctrlBrdComponent.DIVLimit[divNo, 0] = limLoPct;
- ctrlBrdComponent.DIVLimit[divNo, 1] = limHiPct;
- }
-#else
- public uint DivTime(int id) { return ctrlBrdComponent.divTime; }
- public void SetDivLimit(int divNo, uint limLoPct, uint limHiPct) { }
-#endif
-
- public float TTime { get { return ctrlBrdComponent.Ttime; } }
-#if DN100 || MUNICH
- public float ImpulseTime(int wmNr1) { return ctrlBrdComponent.Ttime; }
-#else
- public float ImpulseTime(int wmNr1) { return ctrlBrdComponent.ImpulseTime[wmNr1]; }
-#endif
-
-#if DN100 || MUNICH || FUZHOU_150
- public uint FmState { get { return ctrlBrdComponent.fMState; } }
-#else //if everything newer
- public uint FmState { get { return ctrlBrdComponent.fMState[0]; } } /// TODO: index
-#endif
- public uint BeginState(int wmNr0) { return ctrlBrdComponent.beginSt[wmNr0]; }
- public double ReferenceFlow { get { return (double)ctrlBrdComponent.referenceFlow; } }
- public float RValvePosition(int rvNr1)
- {
- //return ctrlBrdComponent.RValvePosition[rvNr1 - 1];
- return ctrlBrdComponent.Analogy[rvNr1 - 1]; /// Fixes bug: RValvePosition returns 0 all the time
- }
- public float DivSamples(int time, int divIx0)
- {
-#if MUNICH || IZRAEL_200
- return ctrlBrdComponent.DIVSamples[time, 0];
-#else
- return ctrlBrdComponent.DIVSamples[time, divIx0];
-#endif
- } /// Time unit is 2 ms
- public int ScopeSamples(int i, int j, int k) { return ctrlBrdComponent.ScopeSamples[i, j, k]; }
- public ulong DigitalInputs { get { return (ulong)ctrlBrdComponent.Vstupy; } }
- public float AnalogInput(int adcNr0) { return ctrlBrdComponent.Analogy[adcNr0]; }
- public uint AnalogInputRaw(int adcNr0, int bank) { return ctrlBrdComponent.AnalogyRaw[adcNr0, bank]; } /// bank0=RV, bank1=Temp
-
-#if DN100 || MUNICH || BADGER_MALA_TRAT || BADGER_VELKA_TRAT || FUZHOU_50 || FUZHOU_150 || FUZHOU_300 || IZRAEL_200 || TORINO_50 || TORUN_50 || CEVAK_40 || MURES_40
- public float TotalRefVolume { get { return ctrlBrdComponent.ReferenceVolume; } }
- public float MassRefVolume { get { return ctrlBrdComponent.ReferenceVolume; } }
-#else /// all new test benches
- public float TotalRefVolume { get { return ctrlBrdComponent.ReferenceVolume[0]; } }
- public float MassRefVolume { get { return ctrlBrdComponent.ReferenceVolume[1]; } }
-#endif
-
-#if SLM_END || WARSAW_END
- public uint[] CyclePar { get { return ctrlBrdComponent.CyclePar; } set { ctrlBrdComponent.CyclePar = value; } }
- public uint[] WMeterCont { get { return ctrlBrdComponent.wMeterCont; } }
-#else
- public uint[] CyclePar { get { return new uint[163]; } set { return; }} /// Dummy
- public uint[] WMeterCont { get { return new uint[3]; } } /// Dummy
-#endif
-
-#if KEMPNO_50 || KRAKOW_50 || JUZNA_AFRIKA_50 || IZRAEL_25 || ZAMBIA || ZODINO || FEWA_50 || FILIPINY_50 || FUZHOU_100 || CEVAK_200 || IZRAEL_50 || ALZIR_25
- public float ValveOpenCloseTime { get { return ctrlBrdComponent.ValveMoveTime[0]; } }
-#else
- public float ValveOpenCloseTime { get { return 0.001f; } }
-#endif
-
- public bool ManualUIAllowed
- {
- get { return ctrlBrdComponent.Dovolene; }
- set { ctrlBrdComponent.Dovolene = value; }
- }
-
- public float VyslExt(int wmNr0, int what) { return ctrlBrdComponent.VyslExt[wmNr0, what]; }
- public void SetWeight(int pos, double mass)
- {
- ctrlBrdComponent.Weight[pos] = (float)mass;
- log.DebugFormat("SetWeight(pos={0}, mass={1}", pos, mass);
- }
-
- public void SetReservoirTemp(int nr, float temp)
- {
-#if GENESIS
- if (nr > 0 && nr <= 3) ctrlBrdComponent.TankTemp[nr - 1] = temp;
-#endif
- }
-
-
- ///
- /// Reference to the control board component
- ///
-#if DN100
- private ControlCom2VB.ControlCom2panel ctrlBrdComponent;
-#elif MUNICH || FUZHOU_150
- private ControlComponent3Munich.UserControl1 ctrlBrdComponent;
-#elif FUZHOU_300
- private ControlComponent3F300.UserControl1 ctrlBrdComponent;
-#elif IZRAEL_200 || PUCHONG_200 || GENESIS || BERLIN || GELSENWASSER || SLM_150 || PETERSBURG_200
- private ControlComponent_Izrael2014.UserControl1 ctrlBrdComponent;
-#else /// newer benches
- private ControlComponent_Torino2015.UserControl1 ctrlBrdComponent;
-#endif
-
- ///
- /// Constructor that initializes the control board component reference
- ///
- ///
- public ControlComWrap(object eldeComponent)
- {
-#if DN100
- ctrlBrdComponent = eldeComponent as ControlCom2VB.ControlCom2panel;
-#elif MUNICH || FUZHOU_150
- ctrlBrdComponent = eldeComponent as ControlComponent3Munich.UserControl1;
-#elif FUZHOU_300
- ctrlBrdComponent = eldeComponent as ControlComponent3F300.UserControl1;
-#elif IZRAEL_200 || PUCHONG_200 || GENESIS || BERLIN || GELSENWASSER || SLM_150 || PETERSBURG_200
- ctrlBrdComponent = eldeComponent as ControlComponent_Izrael2014.UserControl1;
-#else /// all newer benches
- ctrlBrdComponent = eldeComponent as ControlComponent_Torino2015.UserControl1;
-#endif
- if (ctrlBrdComponent == null) throw new Exception("Wrong ELDE component");
- }
-
-
- ///
- /// Sends calibration and configuration data to the control board.
- ///
- /// Regulating valves calib.coefs, ix1 = valve nr. (1..5), ix2 = coef.nr. (0..1), values typ. c0 = 0, c1 = 0.2
- /// Meret address, index = 0..1, value typ. 99 and 100
- /// COM port number of the control board (typ. 1)
- /// Temp.calc.coefs, ix1 = temp.sens.nr. (0..7 ???), ix2 = coef.nr
- /// Etalon nominal values
- /// Percentages for switching of diverters, ix = diverter nr.(0,1), typ.value 50 (%)
- /// Balance range = volume of the tanks on the balaces (ix=0,1)
- public void SendCalibData(uint[,] rvCalib, byte[] meretA, int usedCom, float[,] tempCalib,
- float[] etCalib, uint[] divEdge, uint[] balanceRange, byte meretProtocol)
- {
- if (Program.MainWnd.InvokeRequired)
- {
- /// When SendCalibData(...) called from the worker thread
- object[] args = new object[] { rvCalib, meretA, usedCom, tempCalib, etCalib, divEdge, balanceRange };
- Program.MainWnd.Invoke((SendCalibDataDlgt)DoSendCalibData, args); /// Invoke required as component was created in UI thread
- }
- else
- {
- /// When SendCalibData(...) called from the UI thread
- DoSendCalibData(rvCalib, meretA, usedCom, tempCalib, etCalib, divEdge, balanceRange, meretProtocol);
- }
- }
- ///
- delegate void SendCalibDataDlgt(uint[,] rvCalib, byte[] meretA, int usedCom, float[,] tempCalib,
- float[] etCalib, uint[] divEdge, uint[] balanceRange, byte meretProtocol);
- ///
- private void DoSendCalibData(uint[,] rvCalib, byte[] meretA, int usedCom, float[,] tempCalib,
- float[] etCalib, uint[] divEdge, uint[] balanceRange, byte meretProtocol)
- {
- //TBF.UiBridge.Bridge.OnLog(this, string.Format("{0} SendCalibData(COM{1}) rvCalib[0,0]={2} rvCalib[0,1]={3} rvCalib[1,0]={4} rvCalib[1,1]={5}\r\n",
- // DateTime.Now.ToLongTimeString(), usedCom,
- // rvCalib[0,0], rvCalib[0,1], rvCalib[1,0], rvCalib[1,1]));
-#if DN100
- log.FatalFormat("Component: {0}", ControlCom2VB.ControlCom2panel.ProgVersion);
-#elif MUNICH || FUZHOU_150
- log.FatalFormat("Component: {0}", ControlComponent3Munich.UserControl1.ProgVersion);
-#elif FUZHOU_300
- log.FatalFormat("Component: {0}", ControlComponent3F300.UserControl1.ProgVersion);
-#elif IZRAEL_200 || PUCHONG_200 || GENESIS || BERLIN || GELSENWASSER || SLM_150 || PETERSBURG_200
- log.FatalFormat("Component: {0}", ControlComponent_Izrael2014.UserControl1.ProgVersion);
-#else /// newer benches
- log.FatalFormat("Component: {0}", ControlComponent_Torino2015.UserControl1.ProgVersion);
-#endif
- log.Fatal("SendCalibData(...)");
- for (int i = 0; i < rvCalib.GetLength(0); i++)
- for (int j = 0; j < rvCalib.GetLength(1); j++)
- log.FatalFormat(" rvCalib[{0},{1}] = {2}", i, j, rvCalib[i,j]);
- for (int i = 0; i < meretA.Length; i++) log.FatalFormat(" meretA[{0}] = {1}", i, meretA[i]);
- log.FatalFormat(" usedCom = {0}", usedCom);
- for (int i = 0; i < tempCalib.GetLength(0); i++)
- for (int j = 0; j < tempCalib.GetLength(1); j++)
- log.FatalFormat(" tempCalib[{0},{1}] = {2}", i, j, tempCalib[i, j]);
- for (int i = 0; i < etCalib.Length; i++) log.FatalFormat(" etCalib[{0}] = {1}", i, etCalib[i]);
- for (int i = 0; i < divEdge.Length; i++) log.FatalFormat(" divEdge[{0}] = {1}", i, divEdge[i]);
- for (int i = 0; i < balanceRange.Length; i++) log.FatalFormat(" balanceRange[{0}] = {1}", i, balanceRange[i]);
-
- ctrlBrdComponent.ExternalCom = true;
-
-#if SENTEC || CEVAK_200 || FUZHOU_100 || IZRAEL_25 || ALZIR_25
- ctrlBrdComponent.SendCalibData(rvCalib, meretA, (byte)usedCom, tempCalib, etCalib, divEdge, balanceRange, meretProtocol);
-#else
- ctrlBrdComponent.SendCalibData(rvCalib, meretA, (byte)usedCom, tempCalib, etCalib, divEdge, balanceRange);
-#endif
- }
-
- ///
- /// Control of regulating valves.
- ///
- ///
- /// Regulating valve nr. (1..5)
- /// Valve regulation mode, see the enum
- /// Target position or target frequency or pulse duration
- /// Stabilization time when setting the flow: 0=200ms, step 50ms, max. 1.5 sec.
- public void ValveMove(int valveNo, RegulValveMode valveMode, float[] valveValue, int stableTime)
- {
- if (Program.MainWnd.InvokeRequired)
- {
- /// When ValveMove(...) called from the worker thread
- object[] args = new object[] { valveNo, valveMode, valveValue, stableTime };
- Program.MainWnd.Invoke((ValveMoveDlgt)DoValveMove, args); /// When ValveMove called from a worker thread
- }
- else
- {
- /// When ValveMove(...) called from the UI thread
- DoValveMove(valveNo, valveMode, valveValue, stableTime); /// When ValveMove called from the UI thread
- }
- }
- ///
- delegate void ValveMoveDlgt(int valveNo, RegulValveMode valveMode, float[] valveValue, int stableTime);
- ///
- private void DoValveMove(int valveNo, RegulValveMode valveMode, float[] valveValue, int stableTime)
- {
-#if DN100 || MUNICH || FUZHOU_150
- log.InfoFormat("ValveMove(#={0}, md={1}, [{2}, {3}])", valveNo, valveMode, valveValue[0], valveValue[1]);
- ctrlBrdComponent.ValveMove((byte)valveNo, (byte)valveMode, valveValue);
-#else /// all newer benches
- log.InfoFormat("ValveMove(#={0}, md={1}, [{2}, {3}], {4})", valveNo, valveMode, valveValue[0], valveValue[1], stableTime);
- ctrlBrdComponent.ValveMove((byte)valveNo, (byte)valveMode, valveValue, stableTime);
-#endif
- }
-
-
- ///
- /// Sends a command to the control board.
- ///
- /// Arguments
- /// State of valves, 128-bit word
- /// Array with length=8 of filter costants (0..255, 0 = no filtering)
- /// Freq.inverter control (not applicable in DT100, Munich)
- /// PID coefficient for flow control
- /// 0 = default value, 1 = spec. processing of very short pulses
- public void SendCommand(SendCommandArgs sendCommandArgs, UInt128 route, uint[] filterConstants, float[] fmFreq, int regConst, int shortImp)
- {
- if (Program.MainWnd.InvokeRequired)
- {
- /// From another thread ... use Invoke()
- Program.MainWnd.Invoke((SendCommandDlgt)DoSendCommand, new object[] { sendCommandArgs, route, filterConstants, fmFreq, regConst, shortImp });
- }
- else
- {
- /// Call DoSendCommand() directly
- DoSendCommand(sendCommandArgs, route, filterConstants, fmFreq, regConst, shortImp);
- }
- }
- ///
- delegate void SendCommandDlgt(SendCommandArgs sendCommandArgs, UInt128 route, uint[] filterConstants, float[] fmFreq, int regConst, int shortImp);
- ///
- private void DoSendCommand(SendCommandArgs sendCommandArgs, UInt128 route, uint[] filterConstants, float[] fmFreq, int regConst, int shortImp)
- {
-#if FUZHOU_300
- ///
- /// The following code deals with the situation that all FM controlled pumps share bit #39.
- /// In settings the bits of pumps should be sent as follows: P1=50, P2=51, P3=52, P4=53, P5=54 and P7=55
- /// (in FUZHOU_300 the FM pump bit should be set to value FMIndex+50).
- ///
- bool bit39 = (route & 0x00FC000000000000) != 0; /// true if any of bits 50 through 55 is set
- route = route & 0xFF03FFFFFFFFFFFF;
- if (bit39) route = route | 0x0000008000000000;
-#elif PETERSBURG_200
- ///
- /// The following code deals with the situation that all pumps share bit #80.
- /// In settings the bits of pumps should be sent as follows: P1=64, P2=65, P3=66, P4=67 and P5=68
- ///
- bool bit80 = (route & (((UInt128)0x1F) << 64)) != 0; /// true if any of bits 64 through 68 is set
- if (bit80)
- route = route | (((UInt128)1) << 80);
- else
- route = route & (~(((UInt128)1) << 80));
-#endif
-
- log.InfoFormat("DoSendCommand(Cmd={0},Ref#={1},Route={2},TotalPls={3},MassPls={4},TM={5},filt={6},FM=[{7}{8}{9}{10}{11}{12}],Reg={13},ShrtImp={14},Stop={15})",
- sendCommandArgs.Cmd, /// 0
- sendCommandArgs.RefFlowmtrNr, /// 1
- Utils.RouteToStr(route), /// 2
- sendCommandArgs.TotalRefPulses,
- sendCommandArgs.MassRefPulses,
- sendCommandArgs.TestMethods,
- filterConstants, /// 3, 4, 5, 6
- fmFreq[0].ToString(), /// 7
- (fmFreq.Length > 1) ? ("," + fmFreq[1].ToString()) : "", /// 8
- (fmFreq.Length > 2) ? ("," + fmFreq[2].ToString()) : "", /// 9
- (fmFreq.Length > 3) ? ("," + fmFreq[3].ToString()) : "", /// 10
- (fmFreq.Length > 4) ? ("," + fmFreq[4].ToString()) : "", /// 11
- (fmFreq.Length > 5) ? ("," + fmFreq[5].ToString()) : "", /// 12
- regConst, /// 13
- shortImp, /// 14
- sendCommandArgs.StopDevs); /// 15
-
-#if DN100 || MUNICH
- ///
- /// 64-bit route, single pump FM frequency (no array), single filter conts. (no array)
- ///
- ctrlBrdComponent.SendCommand((uint)sendCommandArgs.Cmd,
- (byte)sendCommandArgs.RefFlowmtrNr,
- (ulong)route,
- (uint)sendCommandArgs.TotalRefPulses,
- (uint)sendCommandArgs.TestMethods,
- Convert.ToSingle(filterConstants[0]),
- fmFreq[0],
- (uint)regConst,
- (uint)shortImp,
- (uint)sendCommandArgs.StopDevs);
-#elif BADGER_MALA_TRAT || BADGER_VELKA_TRAT || FUZHOU_50 || FUZHOU_150 || FUZHOU_300 || IZRAEL_200 || TORINO_50 || TORUN_50 || CEVAK_40 || MURES_40
- ///
- /// 64-bit route, single filter conts. (no array)
- ///
- ctrlBrdComponent.SendCommand((uint)sendCommandArgs.Cmd,
- (byte)sendCommandArgs.RefFlowmtrNr,
- (ulong)route,
- (uint)sendCommandArgs.TotalRefPulses,
- (uint)sendCommandArgs.TestMethods,
- Convert.ToSingle(filterConstants[0]),
- fmFreq,
- (uint)regConst,
- (uint)shortImp,
- (uint)sendCommandArgs.StopDevs);
-#elif BERLIN || SLM_150 || PETERSBURG_200
- ///
- /// 128-bit route, prolonged method support, single filter conts. (no array)
- ///
- ctrlBrdComponent.SendCommand((uint)sendCommandArgs.Cmd,
- (byte)sendCommandArgs.RefFlowmtrNr,
- (ulong)(route & (UInt128)0xFFFFFFFFFFFFFFFF),
- (ulong)(route >> 64),
- new uint[] { (uint)sendCommandArgs.TotalRefPulses, (uint)sendCommandArgs.MassRefPulses },
- (uint)sendCommandArgs.TestMethods,
- Convert.ToSingle(filterConstants[0]),
- fmFreq,
- (uint)regConst,
- (uint)shortImp,
- (uint)sendCommandArgs.StopDevs);
-#elif GENESIS || DEWA_300 || ROMA_200 || GELSENWASSER
- ///
- /// 128-bit route, prolonged method support
- ///
- ctrlBrdComponent.SendCommand((uint)sendCommandArgs.Cmd,
- (byte)sendCommandArgs.RefFlowmtrNr,
- (ulong)(route & (UInt128)0xFFFFFFFFFFFFFFFF),
- (ulong)(route >> 64),
- new uint[] { (uint)sendCommandArgs.TotalRefPulses, (uint)sendCommandArgs.MassRefPulses },
- (uint)sendCommandArgs.TestMethods,
- filterConstants,
- fmFreq,
- (uint)regConst,
- (uint)shortImp,
- (uint)sendCommandArgs.StopDevs);
-#elif JUZNA_AFRIKA_50 || IZRAEL_25 || ZAMBIA || ZODINO || FEWA_50 || FILIPINY_50 || SENTEC || FUZHOU_100 || CEVAK_200 || IZRAEL_50 || ALZIR_25
- ///
- /// 64-bit route, prolonged method support
- ///
- ctrlBrdComponent.SendCommand((uint)sendCommandArgs.Cmd,
- (byte)sendCommandArgs.RefFlowmtrNr,
- (ulong)route,
- new uint[] { (uint)sendCommandArgs.TotalRefPulses, (uint)sendCommandArgs.MassRefPulses },
- (uint)sendCommandArgs.TestMethods,
- filterConstants,
- fmFreq,
- (uint)regConst,
- (uint)shortImp,
- (uint)sendCommandArgs.StopDevs);
-#else /// if TURA_IPERL || TURA_IPERL_NEW || TURA_SPECIAL || MALTA_WSD25 || SLM_50 || SLM_END || WARSAW_END || PETERSBURG_50 || KEMPNO_50 || BAHRAIN_50 || RUM_MOB || KRAKOW_50 || BADGER_STREDNA_TRAT || PUCHONG_200
- ///
- /// 64-bit route, prolonged method support, single filter conts. (no array)
- ///
- ctrlBrdComponent.SendCommand((uint)sendCommandArgs.Cmd,
- (byte)sendCommandArgs.RefFlowmtrNr,
- (ulong)route,
- new uint[] { (uint)sendCommandArgs.TotalRefPulses, (uint)sendCommandArgs.MassRefPulses },
- (uint)sendCommandArgs.TestMethods,
- Convert.ToSingle(filterConstants[0]),
- fmFreq,
- (uint)regConst,
- (uint)shortImp,
- (uint)sendCommandArgs.StopDevs);
-#endif
- log.DebugFormat("DoSendCommand() Route = {0}", Utils.RouteToStr(route));
-
- if (lastRoute != route) /// This is to update the MainWnd status bar on changes only
- {
- UInt128 rRoute = RRoute;
- Program.MainWnd.UpdateRoute(string.Format("{0} ({1})", Utils.RouteToStr(route), Utils.RouteToStr(rRoute)));
- lastRoute = route;
- }
- }
-
-
- enum CommType
- {
- Rx, /// Receive data only
- TxRx, /// Transmit and receive data
- }
-
-
- private StatusP lastStatusP; /// This is to update the MainWnd status bar on changes only
- private UInt128 lastRoute; /// This is to update the MainWnd status bar on changes only
-
-
- public void RunDeviceBefore()
- {
- object[] args = new object[] { CommType.Rx };
- MakeCommDlgt dlgt = MakeComm;
- Program.MainWnd.Invoke(dlgt, args); /// Invoke MakeExtComm(.) in the UI thread
-
- StatusP bufferedStatusP = StatusP;
- if (lastStatusP != bufferedStatusP)
- {
- string statusPStr = ((ulong)bufferedStatusP).ToString("x16");
- log.DebugFormat("RunDeviceBefore() StatusP = {0}", statusPStr);
- //Program.MainWnd.UpdateStatusP(statusPStr); /// TODO 170309
- lastStatusP = bufferedStatusP;
- }
- }
-
- public void RunDeviceAfter()
- {
- object[] args = new object[] { CommType.TxRx };
- MakeCommDlgt dlgt = MakeComm;
- Program.MainWnd.Invoke(dlgt, args); /// Invoke MakeExtComm(.) in the UI thread
-
- StatusP bufferedStatusP = StatusP;
- if (lastStatusP != bufferedStatusP)
- {
- string statusPStr = ((ulong)bufferedStatusP).ToString("x16");
- log.DebugFormat("RunDeviceAfter() StatusP = {0}", statusPStr);
- //Program.MainWnd.UpdateStatusP(statusPStr); /// TODO 170309
- lastStatusP = bufferedStatusP;
- }
- }
-
- ///
- /// A delegate to execute the SendCommand() in the UI thread
- ///
- delegate void MakeCommDlgt(CommType extComm);
-
- ///
- /// Executes the SendCommand(...) and MakeExtCom() in the UI thread
- ///
- void MakeComm(CommType commType)
- {
- if (ctrlBrdComponent.ExternalCom)
- {
- ctrlBrdComponent.MakeExtCom((commType == CommType.Rx) ? false : true);
- }
- }
- }
-}
diff --git a/TBF/SampleConfig/config.xml b/TBF/SampleConfig/config.xml
index 314d8740f..387980206 100644
--- a/TBF/SampleConfig/config.xml
+++ b/TBF/SampleConfig/config.xml
@@ -7,15 +7,15 @@
true
MySql
- SERVER=localhost; DATABASE=testbench; UID=root; PASSWORD=; CHARSET=utf8;
+ SERVER=localhost; DATABASE=jafrika; UID=root; PASSWORD=; CHARSET=utf8;
MySql
- SERVER=localhost; DATABASE=testbench-r; UID=root; PASSWORD=; CHARSET=utf8;
+ SERVER=localhost; DATABASE=jafrika-r; UID=root; PASSWORD=; CHARSET=utf8;
- Test Bench
+ South Africa NEW
1
998.2008
20
diff --git a/TBF/TBF.csproj b/TBF/TBF.csproj
index 82fabb6f9..b6ccdb44b 100644
--- a/TBF/TBF.csproj
+++ b/TBF/TBF.csproj
@@ -39,7 +39,7 @@
full
false
bin\Debug\
- TRACE;DEBUG;MUNICH;CAMERA
+ TRACE;DEBUG;JUZNA_AFRIKA_NEW;STABLE_MASS_EXTRAS
prompt
4
true
@@ -50,7 +50,7 @@
pdbonly
true
bin\Release\
- TRACE;MUNICH;CAMERA
+ TRACE;JUZNA_AFRIKA_NEW;STABLE_MASS_EXTRAS
prompt
4
x86
@@ -60,7 +60,7 @@
true
bin\Debug\
- TRACE;DEBUG;MUNICH;CAMERA
+ TRACE;DEBUG;JUZNA_AFRIKA_NEW;STABLE_MASS_EXTRAS
full
x86
prompt
@@ -70,7 +70,7 @@
bin\x86\Release\
- TRACE;MUNICH;CAMERA
+ TRACE;JUZNA_AFRIKA_NEW;STABLE_MASS_EXTRAS
true
pdbonly
x86
@@ -101,9 +101,6 @@
false
-
- ..\packages\ControlBoard\Munich\ControlComponent3Munich.dll
-
..\packages\FluentNHibernate.2.0.3.0\lib\net40\FluentNHibernate.dll
@@ -242,7 +239,6 @@
-
diff --git a/TBF/UI/MainWnd.Designer.cs b/TBF/UI/MainWnd.Designer.cs
index 3724648d6..53f1faf95 100644
--- a/TBF/UI/MainWnd.Designer.cs
+++ b/TBF/UI/MainWnd.Designer.cs
@@ -54,9 +54,8 @@ namespace TBF.UI
this.horizontalSplitContainer = new System.Windows.Forms.SplitContainer();
this.mainTabControl = new System.Windows.Forms.TabControl();
this.homeTabPage = new System.Windows.Forms.TabPage();
- this.ctrlBrdComponent = new ControlComponent3Munich.UserControl1();
this.processTabPage = new System.Windows.Forms.TabPage();
- this.processTabPageCtrl = new TBF.UI.Process.ProcessTabPageCtrl6();
+ this.processTabPageCtrl = new TBF.UI.Process.ProcessTabPageCtrl24();
this.insertTabPage = new System.Windows.Forms.TabPage();
this.resultsTabPage = new System.Windows.Forms.TabPage();
this.resultsTabPageCtrl = new TBF.UI.ResultsMI.ResultsTabPageCtrl();
@@ -293,16 +292,9 @@ namespace TBF.UI
// homeTabPage
//
this.homeTabPage.BackColor = System.Drawing.SystemColors.Control;
- this.homeTabPage.Controls.Add(this.ctrlBrdComponent);
resources.ApplyResources(this.homeTabPage, "homeTabPage");
this.homeTabPage.Name = "homeTabPage";
//
- // ctrlBrdComponent
- //
- this.ctrlBrdComponent.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
- resources.ApplyResources(this.ctrlBrdComponent, "ctrlBrdComponent");
- this.ctrlBrdComponent.Name = "ctrlBrdComponent";
- //
// processTabPage
//
this.processTabPage.Controls.Add(this.processTabPageCtrl);