User Defined M-code M1xx Help
- Todd Zuercher
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 5007
- Thank you received: 1441
20 Mar 2015 23:40 #57035
by Todd Zuercher
User Defined M-code M1xx Help was created by Todd Zuercher
I am really proving to myself that I have no programing skills what so ever.
I am trying to build a custom M-code that will read the current value of 2 hal pins, subtract one from the other, then setp the difference between them to "offset.0.offset."
I am trying to build a custom M-code that will read the current value of 2 hal pins, subtract one from the other, then setp the difference between them to "offset.0.offset."
Please Log in or Create an account to join the conversation.
21 Mar 2015 01:44 #57039
by dgarrett
Replied by dgarrett on topic User Defined M-code M1xx Help
An example script follows.
Notes:
1) the M file must be named with a capital M
2) the M file must be executable (chmod +x Mfilename)
3) the M file must be located according to the rules
see the info on [RS274NGC]USER_M_PATH
in:
www.linuxcnc.org/docs/2.7/html/config/ini_config.html
4) the M file must exist before starting LinuxCNC
Edits:
1) replace pin1_name with the name of your pin1 input
2) replace pin2_name with the name of your pin2 input
3) replace outpin_name with the name of your output pin (offset.0.offset)
4) remove or comment out the 'puts' lines when it is tested and working
Notes:
1) the M file must be named with a capital M
2) the M file must be executable (chmod +x Mfilename)
3) the M file must be located according to the rules
see the info on [RS274NGC]USER_M_PATH
in:
www.linuxcnc.org/docs/2.7/html/config/ini_config.html
4) the M file must exist before starting LinuxCNC
Edits:
1) replace pin1_name with the name of your pin1 input
2) replace pin2_name with the name of your pin2 input
3) replace outpin_name with the name of your output pin (offset.0.offset)
4) remove or comment out the 'puts' lines when it is tested and working
#!/usr/bin/tclsh
set inpin_1 pin1_name
set inpin_2 pin2_name
set outpin outpin_name
#----------------------------------------------------------
package require Hal
set inpin_1_value [hal getp $inpin_1]
set inpin_2_value [hal getp $inpin_2]
set diff [expr $inpin_1_value - $inpin_2_value]
puts "inpin_1= $inpin_1 inpin_1_value= $inpin_1_value"
puts "inpin_2= $inpin_2 inpin_2_value= $inpin_2_value"
puts "outpin = $outpin outpin before=[hal getp $outpin]"
hal setp $outpin $diff
puts "outpin = $outpin outpin after=[hal getp $outpin]"
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 5007
- Thank you received: 1441
21 Mar 2015 02:39 #57040
by Todd Zuercher
Replied by Todd Zuercher on topic User Defined M-code M1xx Help
It works, thank you.
Just curious, what do the puts do?
Just curious, what do the puts do?
Please Log in or Create an account to join the conversation.
21 Mar 2015 02:48 #57041
by dgarrett
puts --> print to stdout, you will see them if you start from a terminal which is
almost always the best way to debug
Replied by dgarrett on topic User Defined M-code M1xx Help
Just curious, what do the puts do?
puts --> print to stdout, you will see them if you start from a terminal which is
almost always the best way to debug
Please Log in or Create an account to join the conversation.
Time to create page: 0.066 seconds