WMPulses[], WMRefPulses[], WMTimes[] removed from SequenceBase, operations, etc., clean-up.
This commit is contained in:
@@ -15,12 +15,6 @@ namespace TBF.BenchControl.Operations
|
||||
|
||||
/// Set by the constructor
|
||||
int readersCount;
|
||||
int[] iPulses;
|
||||
int[] iRefPulses;
|
||||
double[] dTimes;
|
||||
IntBox[] pulses;
|
||||
IntBox[] refPulses;
|
||||
DoubleBox[] times;
|
||||
IOperation[] readRegOps;
|
||||
|
||||
/// <summary>
|
||||
@@ -28,117 +22,21 @@ namespace TBF.BenchControl.Operations
|
||||
/// </summary>
|
||||
/// <param name="register">Register reader reference</param>
|
||||
/// <param name="pulses">Reference to the water meter register state in pulses</param>
|
||||
public ReadMoreRegistersOp(GenericDevices.IRegisterReader[] readers, ref int[] iPulses)
|
||||
public ReadMoreRegistersOp(GenericDevices.IRegisterReader[] readers)
|
||||
{
|
||||
if (readers == null) throw new ArgumentNullException("readers");
|
||||
|
||||
readersCount = readers.Length;
|
||||
|
||||
if (iPulses == null || iPulses.Length != readersCount)
|
||||
{
|
||||
throw new ArgumentException("iPulses");
|
||||
}
|
||||
this.iPulses = iPulses;
|
||||
|
||||
pulses = new IntBox[Config.Data.WMsCount];
|
||||
|
||||
readRegOps = new IOperation[readersCount];
|
||||
for (int i = 0; i < readersCount; i++)
|
||||
{
|
||||
pulses[i] = new IntBox(iPulses[i]);
|
||||
|
||||
if (readers[i] != null)
|
||||
{
|
||||
readRegOps[i] = readers[i].ReadRegisterOp(ref pulses[i]);
|
||||
}
|
||||
if (readers[i] != null) readRegOps[i] = readers[i].ReadRegisterOp();
|
||||
}
|
||||
|
||||
log.Debug(this.ToString());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Events: eventDone (default=Event.ReadRegisterDone) or Event.Error
|
||||
/// </summary>
|
||||
/// <param name="register">Register reader reference</param>
|
||||
/// <param name="pulses">Reference to the water meter register state in pulses</param>
|
||||
public ReadMoreRegistersOp(GenericDevices.IRegisterReader[] readers, ref int[] iPulses, ref int[] iRefPulses)
|
||||
: this(readers, ref iPulses)
|
||||
{
|
||||
if (readers == null) throw new ArgumentNullException("readers");
|
||||
|
||||
readersCount = readers.Length;
|
||||
|
||||
if (iPulses == null || iPulses.Length != readersCount ||
|
||||
iRefPulses == null || iRefPulses.Length != readersCount)
|
||||
{
|
||||
throw new ArgumentException("iPulses or iRefPulses");
|
||||
}
|
||||
this.iPulses = iPulses;
|
||||
this.iRefPulses = iRefPulses;
|
||||
|
||||
pulses = new IntBox[Config.Data.WMsCount];
|
||||
refPulses = new IntBox[Config.Data.WMsCount];
|
||||
|
||||
readRegOps = new IOperation[readersCount];
|
||||
for (int i = 0; i < readersCount; i++)
|
||||
{
|
||||
pulses[i] = new IntBox(iPulses[i]);
|
||||
refPulses[i] = new IntBox(iRefPulses[i]);
|
||||
|
||||
if (readers[i] != null)
|
||||
{
|
||||
readRegOps[i] = readers[i].ReadRegisterOp(ref pulses[i], ref refPulses[i]);
|
||||
}
|
||||
}
|
||||
log.Debug(this.ToString());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Events: eventDone (default=Event.ReadRegisterDone) or Event.Error
|
||||
/// </summary>
|
||||
/// <param name="register">Register reader reference</param>
|
||||
/// <param name="pulses">Reference to the water meter register state in pulses</param>
|
||||
public ReadMoreRegistersOp(GenericDevices.IRegisterReader[] readers, ref int[] iPulses, ref double[] dTimes, ref int[] iRefPulses)
|
||||
: this(readers, ref iPulses)
|
||||
{
|
||||
if (readers == null) throw new ArgumentNullException("readers");
|
||||
|
||||
readersCount = readers.Length;
|
||||
|
||||
if (iPulses == null || iPulses.Length != readersCount ||
|
||||
dTimes == null || dTimes.Length != readersCount ||
|
||||
iRefPulses == null || iRefPulses.Length != readersCount)
|
||||
{
|
||||
throw new ArgumentException("iPulses or iRefPulses");
|
||||
}
|
||||
this.iPulses = iPulses;
|
||||
this.dTimes = dTimes;
|
||||
this.iRefPulses = iRefPulses;
|
||||
|
||||
pulses = new IntBox[Config.Data.WMsCount];
|
||||
times = new DoubleBox[Config.Data.WMsCount];
|
||||
refPulses = new IntBox[Config.Data.WMsCount];
|
||||
|
||||
readRegOps = new IOperation[readersCount];
|
||||
for (int i = 0; i < readersCount; i++)
|
||||
{
|
||||
pulses[i] = new IntBox(iPulses[i]);
|
||||
times[i] = new DoubleBox(dTimes[i]);
|
||||
refPulses[i] = new IntBox(iRefPulses[i]);
|
||||
|
||||
if (readers[i] != null)
|
||||
{
|
||||
if (readers[i] is WaterMeters.iPerl.WaterMeter)
|
||||
{
|
||||
readRegOps[i] = (readers[i] as WaterMeters.iPerl.WaterMeter).ReadRegisterOp(ref pulses[i], ref times[i], ref refPulses[i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
readRegOps[i] = readers[i].ReadRegisterOp(ref pulses[i], ref refPulses[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
log.Debug(this.ToString());
|
||||
}
|
||||
|
||||
/// <summary>Start this operation</summary>
|
||||
public void Start()
|
||||
@@ -160,11 +58,7 @@ namespace TBF.BenchControl.Operations
|
||||
if (readRegOps[i] != null)
|
||||
{
|
||||
Event evnt = readRegOps[i].Run();
|
||||
iPulses[i] = pulses[i].Val;
|
||||
if (iRefPulses != null)
|
||||
{
|
||||
iRefPulses[i] = refPulses[i].Val;
|
||||
}
|
||||
|
||||
if (evnt == Event.Error) anyError = true;
|
||||
if (evnt != Event.ReadRegisterDone) allDone = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user