trouble getting hal_hscale1 value in py handler
28 Nov 2013 21:52 #41211
by btvpimill
trouble getting hal_hscale1 value in py handler was created by btvpimill
after searching for the answer, I turn to the experts. I am trying to get the value of hal_hscale1 in my python handler.
from what I can find, I thought it would be :
hal_hscale1.get() maybe
or just
hal_hscale1
I get the same error message -
Name error : hal_hscale1 is not defined
When I check in show HAL configuration, hal_hscale1 is there and changes as I move the slider. Can anyone help me get past this seemingly easy issue?
from what I can find, I thought it would be :
hal_hscale1.get() maybe
or just
hal_hscale1
I get the same error message -
Name error : hal_hscale1 is not defined
When I check in show HAL configuration, hal_hscale1 is there and changes as I move the slider. Can anyone help me get past this seemingly easy issue?
Please Log in or Create an account to join the conversation.
29 Nov 2013 23:06 #41222
by mhaberler
Replied by mhaberler on topic trouble getting hal_hscale1 value in py handler
you find that out by looking up the object hierarchy, and the pygtk manual
so: a HALscale is a GtkScale
for GtkScale we find: www.pygtk.org/docs/pygtk/class-gtkscale.html
the value is held by the parent Range widget
so we look that up and find www.pygtk.org/docs/pygtk/class-gtkrange.html
so get_value() is the right method
-m
so: a HALscale is a GtkScale
for GtkScale we find: www.pygtk.org/docs/pygtk/class-gtkscale.html
the value is held by the parent Range widget
so we look that up and find www.pygtk.org/docs/pygtk/class-gtkrange.html
so get_value() is the right method
-m
Please Log in or Create an account to join the conversation.
30 Nov 2013 10:43 #41238
by btvpimill
Replied by btvpimill on topic trouble getting hal_hscale1 value in py handler
Thank you M, the depths of my non understanding seem to be endless. But I have somehow gotten something from reading the 2 links provided.
in this :
def on_hal_hscale1_value_changed(self,obj,data=None):
I was trying to get the value like this:
hal_hscale1.get_value()
but I see I needed to use:
obj.get_value()
Now it is working.
in this :
def on_hal_hscale1_value_changed(self,obj,data=None):
I was trying to get the value like this:
hal_hscale1.get_value()
but I see I needed to use:
obj.get_value()
Now it is working.
Please Log in or Create an account to join the conversation.
30 Nov 2013 11:57 #41241
by btvpimill
Replied by btvpimill on topic trouble getting hal_hscale1 value in py handler
now for my next question, I see how to send some spindle commands using linuxcnc.command and
spindle(SPINDLE_FORWARD) ...
but I have yet to find how to set the speed. is there a way or do I need to
halcomp[motion.spindle-speed-out] = my_speed_value
which also I have not figured out how to make work
spindle(SPINDLE_FORWARD) ...
but I have yet to find how to set the speed. is there a way or do I need to
halcomp[motion.spindle-speed-out] = my_speed_value
which also I have not figured out how to make work
Please Log in or Create an account to join the conversation.
30 Nov 2013 17:25 #41245
by mhaberler
Replied by mhaberler on topic trouble getting hal_hscale1 value in py handler
can I suggest this: instead of asking rather detailed questions and we have no idea about the context - why dont you first describe what it is you are trying to achieve? Depending on that, there might be different answers.
For instance, it seems you execute this script in MDI mode (right? wrong? I cannot tell.)
if you do, see the 'c.mdi("G0 X10 Y20 Z30")' example in www.linuxcnc.org/docs/devel/html/common/python-interface.html
you could just as well execute 'c.mdi("F%g" % (myfeed))'
- Michael
For instance, it seems you execute this script in MDI mode (right? wrong? I cannot tell.)
if you do, see the 'c.mdi("G0 X10 Y20 Z30")' example in www.linuxcnc.org/docs/devel/html/common/python-interface.html
you could just as well execute 'c.mdi("F%g" % (myfeed))'
- Michael
Please Log in or Create an account to join the conversation.
30 Nov 2013 18:34 #41249
by btvpimill
Replied by btvpimill on topic trouble getting hal_hscale1 value in py handler
Michael, I have to agree, I have provided zero context. Sorry for that
I am trying to create my own spindle control with am on/off toggle and a slider for the speed. I do not need to be in MDI mode for for my purpose. Yes I can do it using
MDI("s5000 m3")
but I was trying not to have to be in MDI mode unless that is the only option. The current axis spindle button start the spindle at 1 rpm, with 100 rpm increments. My spindle will not turn on until 5000 RPM. I was thinking the easiest way would be to do my own,
BTW, I do not have any reason for not wanting to switch to MDI, turn on the spindle, then switch back to JOG. It just seems like there must be a way to do it directly.
I am trying to create my own spindle control with am on/off toggle and a slider for the speed. I do not need to be in MDI mode for for my purpose. Yes I can do it using
MDI("s5000 m3")
but I was trying not to have to be in MDI mode unless that is the only option. The current axis spindle button start the spindle at 1 rpm, with 100 rpm increments. My spindle will not turn on until 5000 RPM. I was thinking the easiest way would be to do my own,
BTW, I do not have any reason for not wanting to switch to MDI, turn on the spindle, then switch back to JOG. It just seems like there must be a way to do it directly.
Please Log in or Create an account to join the conversation.
30 Nov 2013 19:49 #41251
by cmorley
Not sure if your using 2.5.3 or master.
If using master you can set the RPM within linuxcnc.command
self.linuxcnc.command.spindle(direction, rpm);
direction would be 0, 1 or -1
Chris M
Replied by cmorley on topic trouble getting hal_hscale1 value in py handler
now for my next question, I see how to send some spindle commands using linuxcnc.command and
spindle(SPINDLE_FORWARD) ...
but I have yet to find how to set the speed. is there a way or do I need to
halcomp[motion.spindle-speed-out] = my_speed_value
which also I have not figured out how to make work
Not sure if your using 2.5.3 or master.
If using master you can set the RPM within linuxcnc.command
self.linuxcnc.command.spindle(direction, rpm);
direction would be 0, 1 or -1
Chris M
Please Log in or Create an account to join the conversation.
30 Nov 2013 19:59 #41252
by btvpimill
Replied by btvpimill on topic trouble getting hal_hscale1 value in py handler
more stuff I forgot to tell.
I am using 2.5.3
I am using 2.5.3
Please Log in or Create an account to join the conversation.
01 Dec 2013 02:23 - 01 Dec 2013 02:24 #41269
by eszyman
Replied by eszyman on topic trouble getting hal_hscale1 value in py handler
Humm,
another way to look at this is our spindle is controlled directly via a hal signal linked off the spindle-cmd and spindle-enable pins.
in our hal file we have:
# spindle on / off
net spindle-enable <= motion.spindle-on => ourbox.0.pin-25-out
# spindle speed control
net conv1 conv-float-u32.0.in motion.spindle-speed-out
net c-spindle-cmd <= conv-float-u32.0.out => ourbox.0.spindle-speed-out
So our spindle-speed-out accepts values from 0 to 20000. The issue we have here is that the spindle will not start until we have a minimum value of 5000.
Now we are trying to creating our own glade spindle button much like that of Axis, because when we click the axis spindle start button we need to click the '+' button at least 50 times... haha!
It would seem a trivial task to make a python interface layer to set out spindle speed out to 5k to 20k via our slider to turn on our spindle. If we go the MDI route axis complains the machine must be in MDI mode to turn on / off the spindle and looks kinda clunky. Perhaps not.
Maybe there is an easier work around to better configure the axis buttons?
(This solution is not ideal however because we have the same issue for hot wire control, only in this case the axis button does not exist)
another way to look at this is our spindle is controlled directly via a hal signal linked off the spindle-cmd and spindle-enable pins.
in our hal file we have:
# spindle on / off
net spindle-enable <= motion.spindle-on => ourbox.0.pin-25-out
# spindle speed control
net conv1 conv-float-u32.0.in motion.spindle-speed-out
net c-spindle-cmd <= conv-float-u32.0.out => ourbox.0.spindle-speed-out
So our spindle-speed-out accepts values from 0 to 20000. The issue we have here is that the spindle will not start until we have a minimum value of 5000.
Now we are trying to creating our own glade spindle button much like that of Axis, because when we click the axis spindle start button we need to click the '+' button at least 50 times... haha!
It would seem a trivial task to make a python interface layer to set out spindle speed out to 5k to 20k via our slider to turn on our spindle. If we go the MDI route axis complains the machine must be in MDI mode to turn on / off the spindle and looks kinda clunky. Perhaps not.
Maybe there is an easier work around to better configure the axis buttons?
(This solution is not ideal however because we have the same issue for hot wire control, only in this case the axis button does not exist)
Last edit: 01 Dec 2013 02:24 by eszyman.
Please Log in or Create an account to join the conversation.
02 Dec 2013 13:03 #41291
by eszyman
Replied by eszyman on topic trouble getting hal_hscale1 value in py handler
Can anyone point me in a direction to see an example where a hal float style pin is set to a given vale or changed through python? is this even possible?
Please Log in or Create an account to join the conversation.
Moderators: HansU
Time to create page: 0.097 seconds