public void Initialize(string configuration, TraceWrapper traceWrapper) { try { _laserConfig = LaserConfig.LoadFromXml <LaserConfig>(configuration); _traceWrapper = traceWrapper; _traceWrapper.WriteInformation("Laser initialization start."); _traceWrapper.WriteVerbose(string.Format("Configuration: {0}", configuration)); _telegram = new TelegramsOperating(_laserConfig.IPAddress, 2111, traceWrapper); _telegram.ConnectingSuccessed += new ConnectingSuccessedEventHandler(on_ConnectingSuccessed); _telegram.ConnectingFailed += new ConnectingFailedEventHandler(on_ConnectingFailed); _telegram.CommandReceivingFailed += new CommandReceivingFailedEventHandler(on_CommandReceivingFailed); _telegram.CommandSendingFailed += new CommandSendingFailedEventHandler(on_CommandSendingFailed); _telegram.Sopas_Error_CMD += new EventHandler <SopasErrorEventArgs>(on_SopasError); _telegram.SetAccessMode_CMD += new EventHandler <SetAccessModeEventArgs>(on_SetAccessMode); _telegram.LSPsetdatetime_CMD += new EventHandler <LSPsetdatetimeEventArgs>(on_LSPsetdatetime); _telegram.Run_CMD += new EventHandler <RunEventArgs>(on_Run); _telegram.LMDscandataE_CMD += new EventHandler <LMDscandataEEventArgs>(on_LMDscandataE); _telegram.LMDscandata_CMD += new EventHandler <LMDscandataEventArgs>(on_LMDscandata); _telegram.mSCreboot_CMD += new EventHandler <mSCrebootEventArgs>(on_mSCreboot); _telegram.mDOSetOutput_CMD += new EventHandler <mDOSetOutputEventArgs>(on_mDOSetOutput); _telegram.mLMPsetscancfg_CMD += new EventHandler <mLMPsetscancfgEventArgs>(on_mLMPsetscancfg); _telegram.LMDscandatacfg_CMD += new EventHandler <LMDscandatacfgEventArgs>(on_LMDscandatacfg); _telegram.DeviceIdent_CMD += new EventHandler <DeviceIdentEventArgs>(on_DeviceIdent); Run_CMD = start_Run; SetAccessMode_client_CMD = start_SetAccessMode_client; SetAccessMode_maintenance_CMD = start_SetAccessMode_maintenance; SetAccessMode_service_CMD = start_SetAccessMode_service; LSPsetdatetime_CMD = start_LSPsetdatetime; LMDscandata_E_CMD = start_LMDscandata_E; mSCreboot_CMD = start_mSCreboot; mDOSetOutput_CMD = start_mDOSetOutput; mLMPsetscancfg_CMD = start_mLMPsetscancfg; LMDscandatacfg_CMD = start_LMDscandatacfg; DeviceIdent_CMD = start_DeviceIdent; if ((_laserConfig.TriggerOutputChannelNumber > 0) && (_laserConfig.TriggerOutputChannelNumber < 7)) { _maskDigitalOutputs = (byte)(1 << (_laserConfig.TriggerOutputChannelNumber - 1)); } else { _maskDigitalOutputs = (byte)(1); } _isInitialized = true; ErrorStateCounter.PrintPropertiesSettings(); _traceWrapper.WriteInformation("Laser initialization end."); } catch (Exception ex) { _traceWrapper.WriteError(new ApplicationException("Unhandled exception in LaserDriver.Initialize()", ex)); } }
public void Start() { if (_isInitialized) { if (!_started) { methodeList = new List <Action>(); methodeList.Add(DeviceIdent_CMD); methodeList.Add(SetAccessMode_service_CMD); methodeList.Add(LSPsetdatetime_CMD); methodeList.Add(Run_CMD); methodeList.Add(LMDscandata_E_CMD); _telegram.ConnectToDevice(); ErrorStateCounter.ClearCounterFlags(); _started = true; // TEST BEGIN /* timer.Interval = 50; * timer.Elapsed += (sender, e) => * {*/ /* * LMDscandata_R _scanDataObject = new LMDscandata_R(); * LMDscandataEventArgs _scandata = new LMDscandataEventArgs(_scanDataObject); * on_LMDscandata(null, _scandata); * ((Timer)sender).Enabled = true; */ /* * mSCrebootEventArgs _reboot = new mSCrebootEventArgs(DateTime.Now); * on_mSCreboot(null, _reboot);*/ // }; // timer.Enabled = true; // TEST END } } else { throw new InvalidOperationException(); } }