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)); } }
private string getLaserConfig() { try { using (FromIniOfFile laserConfigFromIniFile = new FromIniOfFile()) { uint pwd; laserConfigFromIniFile.ReadData(); LaserConfig laserConfig = new LaserConfig(); if (laserConfigFromIniFile.FactoryDefault) { laserConfig.SetDefaults(); } else { laserConfig.IPAddress = laserConfigFromIniFile.IpAddress; if ((laserConfigFromIniFile.TriggerOutputChannelNumber > 0) && (laserConfigFromIniFile.TriggerOutputChannelNumber < 7)) { laserConfig.TriggerOutputChannelNumber = laserConfigFromIniFile.TriggerOutputChannelNumber; } else { throw new Exception("Bad Trigger Output Channel Number of laser from 'lms511.ini' file, from 1 to 6!"); } try { pwd = UInt32.Parse(laserConfigFromIniFile.Password_maintenance, NumberStyles.HexNumber); } catch (Exception) { throw new Exception("Bad Password_maintenance of laser from 'lms511.ini' file, not hexa format"); } laserConfig.PWD_maintenance = pwd; try { pwd = UInt32.Parse(laserConfigFromIniFile.Password_authorized_client, NumberStyles.HexNumber); } catch (Exception) { throw new Exception("Bad Password_authorized_client of laser from 'lms511.ini' file, not hexa format"); } laserConfig.PWD_authorized_client = pwd; try { pwd = UInt32.Parse(laserConfigFromIniFile.Password_service, NumberStyles.HexNumber); } catch (Exception) { throw new Exception("Bad Password_service of laser from 'lms511.ini' file, not hexa format"); } laserConfig.PWD_service = pwd; } return laserConfig.SaveToXml(); } } catch (Exception) { throw; } }