Initialization of 30 components changed, done in Initialize( ).

This commit is contained in:
Milan Hanajik
2021-04-03 00:54:27 +02:00
parent cb1a66381f
commit a58fe1f997
30 changed files with 347 additions and 445 deletions
+31 -30
View File
@@ -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;
}
}