pyVCP button to call a python script
- AThayer
 - Offline
 - Junior Member
 - 
				
			 
		Less
		More
		
			
	
		- Posts: 27
 - Thank you received: 0
 
			
	
						06 Mar 2017 16:38				#89095
		by AThayer
	
	
		
			
	
			
			 		
													
	
				pyVCP button to call a python script was created by AThayer			
			
				Hey,
I would like to put buttons on my VCP that will run a python script. I want to call hole_circle.py with a button. Thank you for the help as I'm new to linuxcnc and making custom panels.
					I would like to put buttons on my VCP that will run a python script. I want to call hole_circle.py with a button. Thank you for the help as I'm new to linuxcnc and making custom panels.
Please Log in or Create an account to join the conversation.
- andypugh
 - 
				
											 - Offline
 - Moderator
 - 
				
			 
		Less
		More
		
			
	
		- Posts: 19678
 - Thank you received: 4559
 
			
	
						06 Mar 2017 19:29				#89101
		by andypugh
	
	
		
			
	
			
			 		
													
	
				Replied by andypugh on topic pyVCP button to call a python script			
			
				You can easily embed code in a GladeVCP panel (in which case you use ordinary Glade buttons, rather than a hal_button).
This would be helpful if you were using GladeVCP.
stackoverflow.com/questions/3781851/run-...ript-passing-in-args
You would need a very minimal Python handler loaded at the same time as the GladeVCP.
However, you are trying to do it with PyVCP, and that is somewhat more kludgy.
The only way that I know to do it with PyVCP is to have the PyVCP pin connect to a halui.mdi-command-NN pin, and then have that MDI_COMMAND call the script as a custom M-code.
					This would be helpful if you were using GladeVCP.
stackoverflow.com/questions/3781851/run-...ript-passing-in-args
You would need a very minimal Python handler loaded at the same time as the GladeVCP.
However, you are trying to do it with PyVCP, and that is somewhat more kludgy.
The only way that I know to do it with PyVCP is to have the PyVCP pin connect to a halui.mdi-command-NN pin, and then have that MDI_COMMAND call the script as a custom M-code.
Please Log in or Create an account to join the conversation.
- foxkid
 - Offline
 - New Member
 - 
				
			 
		Less
		More
		
			
	
		- Posts: 5
 - Thank you received: 0
 
			
	
						22 Feb 2023 03:14				#265005
		by foxkid
	
	
		
			
	
			
			 		
													
	
				Replied by foxkid on topic pyVCP button to call a python script			
			
				I'm not the OP, but I used the pyvcp->pin->MDI_COMMANDxx->M<xxxx>->remapped M codes to Python code.  It works. 
But, I've been intrigued by the fact that some of the XML is interpreted as full Python. It is difficult to know what the environment is, and how other code might be called. I've been printing information from the global environment, but haven't yet found what is accessible to Python, or how to use additional modules.
Is there a guide to the evaluation environment of the Python code embedded in the XML for pyvcp?
-- Carl
					But, I've been intrigued by the fact that some of the XML is interpreted as full Python. It is difficult to know what the environment is, and how other code might be called. I've been printing information from the global environment, but haven't yet found what is accessible to Python, or how to use additional modules.
Is there a guide to the evaluation environment of the Python code embedded in the XML for pyvcp?
-- Carl
Please Log in or Create an account to join the conversation.
- cmorley
 - Offline
 - Moderator
 - 
				
			 
		Less
		More
		
			
	
		- Posts: 7230
 - Thank you received: 2106
 
			
	
						23 Feb 2023 04:43		 -  23 Feb 2023 04:44		#265107
		by cmorley
	
	
		
			
	
	
			 		
													
	
				Replied by cmorley on topic pyVCP button to call a python script			
			
				Maybe you could show a sample bit of code?
Because Pyvcp doesn't run user python code.
Gladevcp and Qtvcp can though.
					Because Pyvcp doesn't run user python code.
Gladevcp and Qtvcp can though.
		Last edit: 23 Feb 2023 04:44  by cmorley.			
			Please Log in or Create an account to join the conversation.
		Time to create page: 0.067 seconds