tbf/TBF/BenchControl/ControlBoard/Papouch/CBoardCfg.cs

63 lines
1.9 KiB
C#

///
/// Copyright (c) 2020 Sensus Slovensko a.s.
///
using System.Collections.Generic;
using System.Xml.Serialization;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.ControlBoard.Papouch
{
public enum QuidoVariant
{
QuidoRS_4_4,
QuidoRS_8_8,
QuidoRS_2_16,
QuidoRS_2_32,
Count
}
public class CBoardCfg : ComponentCfgBase, Generic.IChildComponentCfg
{
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(CBoardCfg) })[0];
public override XmlSerializer GetSerializer() { return Serializer; }
public IComponentCfgCtrl GetControl(IList<Config.Entities.Component> cmpntEntities) { return new CBoardCfgCtrl(); }
///
/// Serialized parameters
///
public byte ModbusAddress; /// 1..254
public QuidoVariant Variant; /// QuidoRS_2_16, QuidoRS_4_4 or QuidoRS_8_8
public int VirtualValvesRangeLo;
public int VirtualValvesRangeHi;
/// Private parameterless constructor invoked by all other (public) constructors
CBoardCfg()
{
Name = "CB";
ParentName = "Modbus";
ModbusAddress = 1;
Variant = QuidoVariant.QuidoRS_2_32;
VirtualValvesRangeLo = 50;
VirtualValvesRangeHi = 59;
}
public CBoardCfg(IComponentFactory factory)
: this()
{
this.Factory = factory;
}
public string ToString(int i)
{
return string.Format("name={0}({1}) address={2} variant={3} vvLo={4} vvHi={5}",
Name,
(string.IsNullOrEmpty(ParentName) ? "-" : ParentName),
ModbusAddress,
Variant,
VirtualValvesRangeLo,
VirtualValvesRangeHi);
}
}
}