/// /// Copyright (c) 2020 Sensus Slovensko a.s. /// using System.IO; 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() { 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); } } }