Initialization of 30 components changed, done in Initialize( ).
This commit is contained in:
@@ -47,8 +47,8 @@ namespace TBF.Rig.Uni.Diverter
|
||||
public bool State { get { return (uniCB.Route & mask) != 0; } }
|
||||
|
||||
|
||||
readonly IOperation diverterToTankOp;
|
||||
readonly IOperation diverterToSinkOp;
|
||||
IOperation diverterToTankOp;
|
||||
IOperation diverterToSinkOp;
|
||||
|
||||
FloatBox switchTimeStart;
|
||||
FloatBox switchTimeEnd;
|
||||
@@ -74,32 +74,21 @@ namespace TBF.Rig.Uni.Diverter
|
||||
uniCB = TbfComponents.FindComponent(cfg.ParentName, components) as UniCB;
|
||||
if (uniCB == null) throw new Exception("Cannot find " + Name + " parent");
|
||||
|
||||
if (cfg.DebugLevel != Config.Entities.DebugMode.Off)
|
||||
{
|
||||
if (divCfg.BitNr < 0 || divCfg.BitNr >= 64) throw new ArgumentOutOfRangeException("position");
|
||||
this.mask = (((UInt128)1) << divCfg.BitNr);
|
||||
if (divCfg.BitNr < 0 || divCfg.BitNr > 127) throw new ArgumentOutOfRangeException("position");
|
||||
mask = (((UInt128)1) << divCfg.BitNr);
|
||||
|
||||
switchTimeStart = new FloatBox(divCfg.DfltSwithTimeStartMs / 1000.0f);
|
||||
switchTimeEnd = new FloatBox(divCfg.DfltSwithTimeEndMs / 1000.0f);
|
||||
log.Warn(this.ToString());
|
||||
}
|
||||
|
||||
///// Prepare arguments of SendCalibData()
|
||||
//if (diverterCfg.AdcNr >= 0 && diverterCfg.AdcNr < cBoard.RegValveCalib.GetLength(0))
|
||||
//{
|
||||
// cBoard.RegValveCalib[diverterCfg.AdcNr, 0] = (uint)diverterCfg.AdcValueToSink;
|
||||
// cBoard.RegValveCalib[diverterCfg.AdcNr, 1] = (uint)diverterCfg.AdcValueToTank;
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// log.ErrorFormat("Unable to set {0} ADC levels: RegValveCalib array size={1}, diverter AdcNr={2}",
|
||||
// Name, cBoard.RegValveCalib.GetLength(0), diverterCfg.AdcNr);
|
||||
//}
|
||||
public override void Initialize()
|
||||
{
|
||||
switchTimeStart = new FloatBox(divCfg.DfltSwithTimeStartMs / 1000.0f);
|
||||
switchTimeEnd = new FloatBox(divCfg.DfltSwithTimeEndMs / 1000.0f);
|
||||
diverterToTankOp = new SwitchDiverterOp(uniCB, DiverterNr, true);
|
||||
diverterToSinkOp = new SwitchDiverterOp(uniCB, DiverterNr, false);
|
||||
log.FatalFormat("{0} - Device successfully initialized", Name);
|
||||
}
|
||||
|
||||
diverterToTankOp = new SwitchDiverterOp(uniCB, DiverterNr, true);
|
||||
diverterToSinkOp = new SwitchDiverterOp(uniCB, DiverterNr, false);
|
||||
|
||||
log.Warn(this.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
///
|
||||
/// Calendar support
|
||||
@@ -139,12 +128,12 @@ namespace TBF.Rig.Uni.Diverter
|
||||
///
|
||||
/// IDevice interface implementation
|
||||
///
|
||||
public void Initialize() { }
|
||||
public void RunDeviceBefore()
|
||||
{
|
||||
Int16 adcValue = uniCB.Data.AnalogInput[divCfg.AdcNr];
|
||||
Handlers.OnAdcChanged(this, new CmdResponseArgs(CfgChangeCmd.GetAdc, divCfg.BitNr, adcValue));
|
||||
}
|
||||
|
||||
public void RunDeviceAfter() { }
|
||||
public void StopDevice() { }
|
||||
public void StopDevice2() { }
|
||||
@@ -158,14 +147,26 @@ namespace TBF.Rig.Uni.Diverter
|
||||
/// Returned strings are added to the combo-box
|
||||
public string ConditionName(int i)
|
||||
{
|
||||
if (i == 0) return string.Format("{0} {1}", Name, Strings.Start);
|
||||
else return string.Format("{0} {1}", Name, Strings.End);
|
||||
switch (i)
|
||||
{
|
||||
case 0:
|
||||
return string.Format("{0} {1}", Name, Strings.Start);
|
||||
case 1:
|
||||
default:
|
||||
return string.Format("{0} {1}", Name, Strings.End);
|
||||
}
|
||||
}
|
||||
|
||||
public IOperation ConditionOp(int i)
|
||||
{
|
||||
if (i == 0) return diverterToTankOp;
|
||||
else return diverterToSinkOp;
|
||||
switch (i)
|
||||
{
|
||||
case 0:
|
||||
return diverterToTankOp;
|
||||
case 1:
|
||||
default:
|
||||
return diverterToSinkOp;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@ namespace TBF.Rig.Uni.RegValve
|
||||
public IDictionary<double, double> Dict { get { return dict; } }
|
||||
|
||||
public readonly UniCB UniCB;
|
||||
readonly int adcChannel;
|
||||
|
||||
public ValveCategory Category { get { return regValveCfg.Category; } }
|
||||
public int Idx1 { get { return regValveCfg.Idx1; } } /// 1 .. 8
|
||||
@@ -62,6 +61,7 @@ namespace TBF.Rig.Uni.RegValve
|
||||
/// TODO
|
||||
}
|
||||
|
||||
int adcChannel;
|
||||
public RegValveState RegValveState;
|
||||
public double TargetRegValvePosition;
|
||||
|
||||
@@ -129,29 +129,28 @@ namespace TBF.Rig.Uni.RegValve
|
||||
#endregion Configuration Change Handling
|
||||
|
||||
|
||||
public RegValve()
|
||||
{
|
||||
}
|
||||
public RegValve() { }
|
||||
|
||||
public RegValve(Generic.IComponentCfg cfg, IList<Generic.IComponent> components)
|
||||
: base(cfg)
|
||||
{
|
||||
regValveCfg = cfg as RegValveCfg;
|
||||
adcChannel = regValveCfg.Idx1 - 1;
|
||||
|
||||
this.UniCB = TbfComponents.FindComponent(cfg.ParentName, components) as UniCB;
|
||||
if (this.UniCB == null) throw new Exception(string.Format("Cannot find {0} (a parent of {1})", cfg.ParentName, Name));
|
||||
|
||||
this.dict = new Dictionary<double, double>();
|
||||
|
||||
log.Warn(this.ToString());
|
||||
}
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
adcChannel = regValveCfg.Idx1 - 1;
|
||||
this.dict = new Dictionary<double, double>();
|
||||
}
|
||||
|
||||
///
|
||||
/// IDevice interface implementation
|
||||
///
|
||||
public void Initialize() { }
|
||||
public void RunDeviceBefore()
|
||||
{
|
||||
Int16 adcValue = UniCB.AnalogInput(adcChannel);
|
||||
|
||||
Reference in New Issue
Block a user