DiverterEdge[] initialization for SendCalibData() fn fixed, version 1.6.147.
This commit is contained in:
@@ -266,6 +266,12 @@ namespace TBF.BenchControl.Elde
|
||||
/// <summary>Initialize this device</summary>
|
||||
public void Initialize()
|
||||
{
|
||||
DiverterEdge = new uint[BenchControl.Elde.Diverter.Diverter.DivertersCount];
|
||||
for (int i = 0; i < BenchControl.Elde.Diverter.Diverter.DivertersCount; i++)
|
||||
{
|
||||
DiverterEdge[i] = (uint)BenchControl.Elde.Diverter.Diverter.DiverterLevelsPct[i];
|
||||
}
|
||||
|
||||
controlCom.SendCalibData(RegValveCalib,
|
||||
MeretRS485Address,
|
||||
controlBoardCfg.ComPortNr,
|
||||
|
||||
@@ -12,6 +12,23 @@ namespace TBF.BenchControl.Elde.Diverter
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(Diverter));
|
||||
public override string ToString() { return string.Format("Diverter({0})", Cfg.ToString(1)); }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Enumeration of balances via static fields and methods
|
||||
/// </summary>
|
||||
static int nextIdx = 0;
|
||||
public static new void ResetStaticProperties()
|
||||
{
|
||||
nextIdx = 0;
|
||||
}
|
||||
public static int DivertersCount { get { return nextIdx; } }
|
||||
public static GenericDevices.IDiverter[] Diverters;
|
||||
public static int[] DiverterLevelsPct;
|
||||
///
|
||||
protected int diverterNr; /// 0-based balance number
|
||||
|
||||
|
||||
|
||||
readonly DiverterCfg diverterCfg;
|
||||
readonly ControlBoardDev controlBoard;
|
||||
readonly ulong mask; /// derived from bitPosition in the constructor
|
||||
@@ -37,9 +54,27 @@ namespace TBF.BenchControl.Elde.Diverter
|
||||
if (cfg.BitPosition < 0 || cfg.BitPosition >= 64) throw new ArgumentOutOfRangeException("position");
|
||||
this.mask = (((ulong)1) << cfg.BitPosition);
|
||||
|
||||
/// Prepare data for SendCalibData() control board component method
|
||||
controlBoard.DiverterEdge[0] = (uint)diverterCfg.StartingLevel;
|
||||
controlBoard.DiverterEdge[1] = (uint)diverterCfg.StoppingLevel;
|
||||
|
||||
|
||||
diverterNr = nextIdx++;
|
||||
///
|
||||
if (Diverters == null || Diverters.Length < nextIdx)
|
||||
{
|
||||
GenericDevices.IDiverter[] divertersSoFar = Diverters;
|
||||
int[] levelsSoFar = DiverterLevelsPct;
|
||||
Diverters = new GenericDevices.IDiverter[nextIdx];
|
||||
DiverterLevelsPct = new int[nextIdx];
|
||||
if (divertersSoFar != null)
|
||||
{
|
||||
for (int i = 0; i < divertersSoFar.Length; i++)
|
||||
{
|
||||
Diverters[i] = divertersSoFar[i];
|
||||
DiverterLevelsPct[i] = levelsSoFar[i];
|
||||
}
|
||||
}
|
||||
Diverters[nextIdx - 1] = this;
|
||||
DiverterLevelsPct[nextIdx - 1] = diverterCfg.StartingLevel;
|
||||
}
|
||||
|
||||
log.Debug(this.ToString());
|
||||
}
|
||||
|
||||
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
[assembly: AssemblyVersion("1.6.146.1")]
|
||||
[assembly: AssemblyFileVersion("1.6.146.1")]
|
||||
[assembly: AssemblyVersion("1.6.147.1")]
|
||||
[assembly: AssemblyFileVersion("1.6.147.1")]
|
||||
|
||||
Reference in New Issue
Block a user