tests/linux/test_svgui/methods.py
changeset 256 1da137b99948
parent 167 648449a9d778
child 261 5299c6746fa8
equal deleted inserted replaced
255:1f660bed2ab1 256:1da137b99948
     1 logger.write_error("Welcome to the Beremiz Demo\n\n")            
     1 self.logger.write_error("Welcome to the Beremiz Demo\n\n")            
     2 logger.write("This demo provides a PLC working with the CANopen plugin\n")
     2 self.logger.write("This demo provides a PLC working with the CANopen plugin\n")
     3 logger.write("""Some external programs are also provided:\n
     3 self.logger.write("""Some external programs are also provided:\n
     4 - a CAN TCP server to simulate the CANopen network
     4 - a CAN TCP server to simulate the CANopen network
     5 - a virtual slave node to simulate input block
     5 - a virtual slave node to simulate input block
     6 - a virtual slave node to simulate output block
     6 - a virtual slave node to simulate output block
     7 """)
     7 """)
     8 logger.write("\nInfo: For this demo, %s plugin has some special methods to run external programs.\nThese methods are defined in methods.py\n" % (PlugName or "Root"))
     8 self.logger.write("\nInfo: For this demo, %s plugin has some special methods to run external programs.\nThese methods are defined in methods.py\n" % (PlugName or "Root"))
     9 #open_pdf(os.path.join(os.path.split(__file__)[0], "doc", "manual_beremiz.pdf"), pagenum=21)
     9 #open_pdf(os.path.join(os.path.split(__file__)[0], "doc", "manual_beremiz.pdf"), pagenum=21)
    10 
    10 
    11 if wx.Platform == '__WXMSW__':
    11 if wx.Platform == '__WXMSW__':
    12     self.listLaunchProg = [
    12     self.listLaunchProg = [
    13         {'name' : 'Can Tcp Server',
    13         {'name' : 'Can Tcp Server',
    40          'no_gui' : False}
    40          'no_gui' : False}
    41     ]
    41     ]
    42 
    42 
    43 
    43 
    44 def my_methods(self): 
    44 def my_methods(self): 
    45     def _Run(logger):        
    45     def _Run():        
    46         # External programs list 
    46         # External programs list 
    47         # Launch them and get their pid
    47         # Launch them and get their pid
    48         for prog in self.listLaunchProg:
    48         for prog in self.listLaunchProg:
    49             logger.write("Starting %s\n" % prog['name'])
    49             logger.write("Starting %s\n" % prog['name'])
    50             prog['pid'] = ProcessLogger(logger, prog['command'], no_gui=prog['no_gui'])
    50             prog['pid'] = ProcessLogger(self.logger, prog['command'], no_gui=prog['no_gui'])
    51             prog['pid'].spin(
    51             prog['pid'].spin(
    52             		 timeout=200,
    52             		 timeout=200,
    53                      keyword = prog['keyword'],
    53                      keyword = prog['keyword'],
    54                      kill_it = False)
    54                      kill_it = False)
    55         
    55         
    56         PluginsRoot._Run(self,logger)
    56         PluginsRoot._Run(self)
    57 
    57 
    58     def _Stop(logger):
    58     def _Stop():
    59         PluginsRoot._Stop(self,logger)
    59         PluginsRoot._Stop(self)
    60         for prog in self.listLaunchProg:
    60         for prog in self.listLaunchProg:
    61             logger.write("Stopping %s\n" % prog['name'])
    61             self.logger.write("Stopping %s\n" % prog['name'])
    62             prog['pid'].kill()
    62             prog['pid'].kill()
    63     
    63     
    64     return _Run, _Stop
    64     return _Run, _Stop
    65    
    65    
    66 self._Run, self._Stop = my_methods(self)
    66 self._Run, self._Stop = my_methods(self)