public VivoDevice(Product product, ICommunication communication) : base(product, communication) { _captureHandler = new VivoCaptureHandler(this); this.Messenger = new VivoMessenger(communication); this.Product = product; this._measurements = VivoMeasurements.Measurements[Product]; this._alarmMonitor = new VivoAlarmMonitor(Product, _measurements.AlarmMask0_31, _measurements.AlarmMask32_63, _measurements.AlarmMask64_95, _measurements.AlarmMask96_127, _measurements.AlarmMask128_159); }
public override bool Initialize() { base.Initialize(); if (Communication.ResolverInfo.DeviceName == null || Communication.ResolverInfo.SerialNumber == null || Product == null) { if (!Connected) { if (!Connect()) { return(false); } } var resolverInfo = Communication.ResolverInfo; string version = Messenger.GetVersion(); int spaceIndex = version.LastIndexOf(' '); if (spaceIndex == -1) { spaceIndex = version.Length; } version = version.Substring(0, spaceIndex); int interfaceVersion = Messenger.GetMeasurePointValue(0); resolverInfo.DeviceName = version; resolverInfo.SerialNumber = Messenger.GetStringValue(0); Product = VivoProducts.GetRealVivoProduct(interfaceVersion, version); if (Product == null) { return(false); } _measurements = VivoMeasurements.Measurements[Product]; _alarmMonitor = new VivoAlarmMonitor(Product, _measurements.AlarmMask0_31, _measurements.AlarmMask32_63, _measurements.AlarmMask64_95, _measurements.AlarmMask96_127, _measurements.AlarmMask128_159); } return(true); }