Route handling rewritten, the order of StopDevice( ) calls reversed.
This commit is contained in:
@@ -6,6 +6,7 @@ using System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
using Config.Entities;
|
||||
using SchematicDrawing;
|
||||
using TBF.Resources;
|
||||
using TBF.Rig.Generic;
|
||||
|
||||
namespace TBF.Rig.ControlBoard.Uni
|
||||
@@ -27,8 +28,9 @@ namespace TBF.Rig.ControlBoard.Uni
|
||||
public int DivertersCount;
|
||||
public int DrainValvesCount;
|
||||
public int RegValvesCount;
|
||||
public int VirtValvesRangeLo;
|
||||
public int VirtValvesRangeHi;
|
||||
public bool RelaysFInstalled;
|
||||
public bool RelaysGInstalled;
|
||||
public bool RelaysHInstalled;
|
||||
|
||||
/// Schematic drawing info
|
||||
public Shape Shape { get; set; }
|
||||
@@ -77,8 +79,12 @@ namespace TBF.Rig.ControlBoard.Uni
|
||||
public void InitializeAll()
|
||||
{
|
||||
ComPortNr = 1;
|
||||
VirtValvesRangeLo = 90;
|
||||
VirtValvesRangeHi = 99;
|
||||
DivertersCount = 3;
|
||||
DrainValvesCount = 4;
|
||||
RegValvesCount = 5;
|
||||
RelaysFInstalled = true;
|
||||
RelaysGInstalled = true;
|
||||
RelaysHInstalled = true;
|
||||
}
|
||||
|
||||
string[] paramNames = new string[]
|
||||
@@ -87,23 +93,38 @@ namespace TBF.Rig.ControlBoard.Uni
|
||||
"Diverters count (1..5)",
|
||||
"Drain valves count (0..8)",
|
||||
"Regulation valves count (4..8)",
|
||||
"Virtual valves range LO [bit#]",
|
||||
"Virtual valves range HI [bit#]",
|
||||
"Relays F are installed",
|
||||
"Relays G are installed",
|
||||
"Relays H are installed",
|
||||
};
|
||||
public string ParamName(int i) { return paramNames[i]; }
|
||||
public int ParamsCount() { return paramNames.Length; }
|
||||
|
||||
public ICollection<string> ParamValues(int i)
|
||||
{
|
||||
return null;
|
||||
switch (i)
|
||||
{
|
||||
case 1:
|
||||
return new string[] { "1", "2", "3", "4", "5" };
|
||||
case 2:
|
||||
return new string[] { "0", "1", "2", "3", "4", "5", "6", "7", "8" };
|
||||
case 3:
|
||||
return new string[] { "4", "5", "6", "7", "8" };
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
return new string[] { Strings.yes, Strings.no };
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public string ToString(int i)
|
||||
{
|
||||
if (i == -1)
|
||||
{
|
||||
return string.Format("{0}: COM{1} DIVs={2} VBs={3} RVs={4} VirtVRangeLo={5}, VirtVRangeHi={6}",
|
||||
Name, ComPortNr, DivertersCount, DrainValvesCount, RegValvesCount, VirtValvesRangeLo, VirtValvesRangeHi);
|
||||
return string.Format("{0}: COM{1} DIVs={2} VBs={3} RVs={4} RelaysF={5} RelaysG={6} RelaysH={7}",
|
||||
Name, ComPortNr, DivertersCount, DrainValvesCount, RegValvesCount, RelaysFInstalled, RelaysGInstalled, RelaysHInstalled);
|
||||
}
|
||||
|
||||
switch (i)
|
||||
@@ -112,27 +133,29 @@ namespace TBF.Rig.ControlBoard.Uni
|
||||
case 1: return DivertersCount.ToString();
|
||||
case 2: return DrainValvesCount.ToString();
|
||||
case 3: return RegValvesCount.ToString();
|
||||
case 4: return VirtValvesRangeLo.ToString();
|
||||
case 5: return VirtValvesRangeHi.ToString();
|
||||
case 4: return RelaysFInstalled ? Strings.yes : Strings.no;
|
||||
case 5: return RelaysGInstalled ? Strings.yes : Strings.no;
|
||||
case 6: return RelaysHInstalled ? Strings.yes : Strings.no;
|
||||
default: return string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
public CfgUpdateFlags UpdateParam(int i, string strValue)
|
||||
public CfgUpdateFlags UpdateParam(int i, string str)
|
||||
{
|
||||
switch (i)
|
||||
{
|
||||
case 0: ComPortNr = int.Parse(strValue); return CfgUpdateFlags.RestartRqrd;
|
||||
case 1: DivertersCount = int.Parse(strValue); return CfgUpdateFlags.RestartRqrd;
|
||||
case 2: DrainValvesCount = int.Parse(strValue); return CfgUpdateFlags.RestartRqrd;
|
||||
case 3: RegValvesCount = int.Parse(strValue); return CfgUpdateFlags.RestartRqrd;
|
||||
case 4: VirtValvesRangeLo = int.Parse(strValue); return CfgUpdateFlags.RestartRqrd;
|
||||
case 5: VirtValvesRangeHi = int.Parse(strValue); return CfgUpdateFlags.RestartRqrd;
|
||||
case 0: ComPortNr = int.Parse(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 1: DivertersCount = int.Parse(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 2: DrainValvesCount = int.Parse(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 3: RegValvesCount = int.Parse(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 4: RelaysFInstalled = (str == Strings.yes); return CfgUpdateFlags.RestartRqrd;
|
||||
case 5: RelaysGInstalled = (str == Strings.yes); return CfgUpdateFlags.RestartRqrd;
|
||||
case 6: RelaysHInstalled = (str == Strings.yes); return CfgUpdateFlags.RestartRqrd;
|
||||
default: return CfgUpdateFlags.None;
|
||||
}
|
||||
}
|
||||
|
||||
public bool ValidateParam(int i, string strValue, out string message)
|
||||
public bool ValidateParam(int i, string str, out string message)
|
||||
{
|
||||
message = string.Empty;
|
||||
int n;
|
||||
@@ -140,20 +163,21 @@ namespace TBF.Rig.ControlBoard.Uni
|
||||
switch (i)
|
||||
{
|
||||
case 0:
|
||||
if (int.TryParse(strValue, out n) && (n >= 1)) return true;
|
||||
if (int.TryParse(str, out n) && (n >= 1)) return true;
|
||||
break;
|
||||
case 1:
|
||||
if (int.TryParse(strValue, out n) && (n >= 1) && n <= 5) return true;
|
||||
if (int.TryParse(str, out n) && (n >= 1) && n <= 5) return true;
|
||||
break;
|
||||
case 2:
|
||||
if (int.TryParse(strValue, out n) && (n >= 0) && n <= 8) return true;
|
||||
if (int.TryParse(str, out n) && (n >= 0) && n <= 8) return true;
|
||||
break;
|
||||
case 3:
|
||||
if (int.TryParse(strValue, out n) && (n >= 4) && n <= 8) return true;
|
||||
if (int.TryParse(str, out n) && (n >= 4) && n <= 8) return true;
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
if (int.TryParse(strValue, out n) && (n >= 0) && n <= 127) return true;
|
||||
case 6:
|
||||
if (ParamValues(i).Contains(str)) return true;
|
||||
break;
|
||||
default:
|
||||
message = "Invalid index";
|
||||
@@ -167,11 +191,12 @@ namespace TBF.Rig.ControlBoard.Uni
|
||||
void CopyContentTo(UniCBCfg prms)
|
||||
{
|
||||
prms.ComPortNr = ComPortNr;
|
||||
prms.DivertersCount = DivertersCount;
|
||||
prms.DivertersCount = DivertersCount;
|
||||
prms.DrainValvesCount = DrainValvesCount;
|
||||
prms.RegValvesCount = RegValvesCount;
|
||||
prms.VirtValvesRangeLo = VirtValvesRangeLo;
|
||||
prms.VirtValvesRangeHi = VirtValvesRangeHi;
|
||||
prms.RegValvesCount = RegValvesCount;
|
||||
prms.RelaysFInstalled = RelaysFInstalled;
|
||||
prms.RelaysGInstalled = RelaysGInstalled;
|
||||
prms.RelaysHInstalled = RelaysHInstalled;
|
||||
}
|
||||
|
||||
public Config.Entities.IParamsProvider Clone()
|
||||
|
||||
Reference in New Issue
Block a user