(1) Tank & ManualLevelMsrmnt components added, (2) Sequences cope with IScaleOrTank, (3) FixedStartTankCollection & FlyingStartTankCollection added, etc., ver. 2.18.1040

This commit is contained in:
Milan Hanajik
2018-10-24 13:18:38 +02:00
parent 0db7736247
commit ed66c6a259
55 changed files with 4601 additions and 811 deletions
+30 -94
View File
@@ -15,11 +15,8 @@ namespace TBF.BenchControl.Hart.Nivotrack
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(NivotrackCfg) })[0];
public override XmlSerializer GetSerializer() { return Serializer; }
static readonly int[] AllBaudRates = new int[] { 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 };
static readonly Parity[] AllParities = new Parity[] { Parity.None, Parity.Even, Parity.Odd };
static readonly int[] AllDataBits = new int[] { 7, 8 };
static readonly StopBits[] AllStopBits = new StopBits[] { StopBits.None, StopBits.One, StopBits.OnePointFive, StopBits.Two };
static readonly Handshake[] AllHandshakes = new Handshake[] { Handshake.None, Handshake.XOnXOff, Handshake.RequestToSend, Handshake.RequestToSendXOnXOff };
static readonly int[] Par1Values = new int[] { 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 };
static readonly int[] Par2Values = new int[] { 7, 8 };
public IComponentCfgCtrl GetControl()
@@ -30,12 +27,9 @@ namespace TBF.BenchControl.Hart.Nivotrack
///
/// Serialized parameters
///
public int ComPortNr;
public int BaudRate;
public int DataBits;
public Parity Parity;
public StopBits StopBits;
public Handshake Handshake;
public int Address;
public int Par1;
public int Par2;
/// Private parameterless constructor invoked by all other (public) constructors
NivotrackCfg()
@@ -55,21 +49,15 @@ namespace TBF.BenchControl.Hart.Nivotrack
public void InitializeAll()
{
ComPortNr = 3;
BaudRate = 9600;
DataBits = 8;
Parity = System.IO.Ports.Parity.None;
StopBits = System.IO.Ports.StopBits.One;
Handshake = System.IO.Ports.Handshake.None;
Address = 3;
Par1 = 9600;
Par2 = 8;
}
string[] paramNames = new string[]
{
"Com port number",
"Baud rate",
"Data bits",
"Parity",
"Stop bits",
"Handshake"
"HART address",
"Parameter 1",
"Parameter 2",
};
public string ParamName(int i) { return paramNames[i]; }
public int ParamsCount() { return paramNames.Length; }
@@ -79,11 +67,8 @@ namespace TBF.BenchControl.Hart.Nivotrack
IList<string> list = new List<string>();
switch (i)
{
case 1: foreach (var v in AllBaudRates) list.Add(v.ToString()); break;
case 2: foreach (var v in AllDataBits) list.Add(v.ToString()); break;
case 3: foreach (var v in AllParities) list.Add(v.ToString()); break;
case 4: foreach (var v in AllStopBits) list.Add(v.ToString()); break;
case 5: foreach (var v in AllHandshakes) list.Add(v.ToString()); break;
case 1: foreach (var v in Par1Values) list.Add(v.ToString()); break;
case 2: foreach (var v in Par2Values) list.Add(v.ToString()); break;
default: return null;
}
return list;
@@ -93,18 +78,14 @@ namespace TBF.BenchControl.Hart.Nivotrack
{
if (i == -1)
{
return string.Format("Com{0}, {1}Bd, {2}-bits, parity={3}, stopBits={4}, {5}",
ComPortNr, BaudRate, DataBits, Parity, StopBits, Handshake);
return string.Format("Address={0}, Par1={1}, Par2={2}", Address, Par1, Par2);
}
switch (i)
{
case 0: return ComPortNr.ToString();
case 1: return BaudRate.ToString();
case 2: return DataBits.ToString();
case 3: return Parity.ToString();
case 4: return StopBits.ToString();
case 5: return Handshake.ToString();
case 0: return Address.ToString();
case 1: return Par1.ToString();
case 2: return Par2.ToString();
default: return string.Empty;
}
}
@@ -115,9 +96,9 @@ namespace TBF.BenchControl.Hart.Nivotrack
switch (i)
{
case 0:
if (ComPortNr != int.Parse(strValue))
if (Address != int.Parse(strValue))
{
ComPortNr = int.Parse(strValue);
Address = int.Parse(strValue);
return CfgUpdateFlags.RestartRqrd;
}
else
@@ -126,55 +107,22 @@ namespace TBF.BenchControl.Hart.Nivotrack
}
case 1:
foreach (var v in AllBaudRates)
foreach (var v in Par1Values)
{
if ((strValue == v.ToString()) && (BaudRate != v))
if ((strValue == v.ToString()) && (Par1 != v))
{
BaudRate = v;
Par1 = v;
return CfgUpdateFlags.RestartRqrd;
}
}
return CfgUpdateFlags.None;
case 2:
foreach (var v in AllDataBits)
foreach (var v in Par2Values)
{
if ((strValue == v.ToString()) && (DataBits != v))
if ((strValue == v.ToString()) && (Par2 != v))
{
DataBits = v;
return CfgUpdateFlags.RestartRqrd;
}
}
return CfgUpdateFlags.None;
case 3:
foreach (var v in AllParities)
{
if ((strValue == v.ToString()) && (Parity != v))
{
Parity = v;
return CfgUpdateFlags.RestartRqrd;
}
}
return CfgUpdateFlags.None;
case 4:
foreach (var v in AllStopBits)
{
if ((strValue == v.ToString()) && (StopBits != v))
{
StopBits = v;
return CfgUpdateFlags.RestartRqrd;
}
}
return CfgUpdateFlags.None;
case 5:
foreach (var v in AllHandshakes)
{
if ((strValue == v.ToString()) && (Handshake != v))
{
Handshake = v;
Par2 = v;
return CfgUpdateFlags.RestartRqrd;
}
}
@@ -197,20 +145,11 @@ namespace TBF.BenchControl.Hart.Nivotrack
if (int.TryParse(strValue, out comPortNr) && comPortNr > 0 && comPortNr <= 999) return true;
break;
case 1:
foreach (var v in AllBaudRates) if (strValue == v.ToString()) return true;
foreach (var v in Par1Values) if (strValue == v.ToString()) return true;
break;
case 2:
foreach (var v in AllDataBits) if (strValue == v.ToString()) return true;
foreach (var v in Par2Values) if (strValue == v.ToString()) return true;
break;
case 3:
foreach (var v in AllParities) if (strValue == v.ToString()) return true;
break;
case 4:
foreach (var v in AllStopBits) if (strValue == v.ToString()) return true;
break;
case 5:
foreach (var v in AllHandshakes) if (strValue == v.ToString()) return true;
break;
default:
message = "Invalid index";
@@ -224,12 +163,9 @@ namespace TBF.BenchControl.Hart.Nivotrack
void CopyContentTo(NivotrackCfg prms)
{
prms.ParentName = this.ParentName;
prms.ComPortNr = this.ComPortNr;
prms.BaudRate = this.BaudRate;
prms.DataBits = this.DataBits;
prms.Parity = this.Parity;
prms.StopBits = this.StopBits;
prms.Handshake = this.Handshake;
prms.Address = this.Address;
prms.Par1 = this.Par1;
prms.Par2 = this.Par2;
}