Skip to content

Commit

Permalink
Merge pull request #1453 from hansu/gmoccapy-limit-switch-estop
Browse files Browse the repository at this point in the history
gmoccapy: fix limit switch issue (#1000)
  • Loading branch information
c-morley committed Feb 27, 2022
2 parents 9860a51 + 2019bde commit 55e97f8
Showing 1 changed file with 25 additions and 2 deletions.
27 changes: 25 additions & 2 deletions src/emc/usr_intf/gmoccapy/gmoccapy.py
Original file line number Diff line number Diff line change
Expand Up @@ -475,14 +475,19 @@ def __init__(self, argv):
# call the function to change the button status
# so every thing is ready to start
widgetlist = ["rbt_manual", "rbt_mdi", "rbt_auto", "btn_homing", "btn_touch", "btn_tool",
"ntb_jog", "spc_feed", "btn_feed_100", "rbt_forward", "btn_index_tool",
"ntb_jog", "ntb_jog_JA", "vbtb_jog_incr", "hbox_jog_vel",
"spc_feed", "btn_feed_100", "rbt_forward", "btn_index_tool",
"rbt_reverse", "rbt_stop", "tbtn_flood", "tbtn_mist", "btn_change_tool",
"btn_select_tool_by_no", "btn_spindle_100", "spc_rapid", "spc_spindle",
"btn_tool_touchoff_x", "btn_tool_touchoff_z"
]
#
self._sensitize_widgets(widgetlist, False)

# if limit switch active, activate ignore-checkbox
if any(self.stat.limit):
self.widgets.ntb_jog.set_sensitive(True)

# this must be done last, otherwise we will get wrong values
# because the window is not fully realized
self._init_notification()
Expand Down Expand Up @@ -2541,6 +2546,12 @@ def on_hal_status_state_estop_reset(self, widget=None):
self.widgets.vbtb_jog_incr.set_sensitive(False)
self.widgets.hbox_jog_vel.set_sensitive(False)

# activate limit override only if limit switch active
if any(self.stat.limit):
self.widgets.chk_ignore_limits.set_sensitive(True)
else:
self.widgets.chk_ignore_limits.set_sensitive(False)

def on_hal_status_state_off(self, widget):
widgetlist = ["rbt_manual", "rbt_mdi", "rbt_auto", "btn_homing", "btn_touch", "btn_tool",
"hbox_jog_vel", "ntb_jog_JA", "vbtb_jog_incr", "spc_feed", "btn_feed_100", "rbt_forward", "btn_index_tool",
Expand Down Expand Up @@ -2573,6 +2584,12 @@ def on_hal_status_state_on(self, widget):
self.command.mode(linuxcnc.MODE_MANUAL)
self.command.wait_complete()

# activate limit override only if limit switch active
if any(self.stat.limit):
self.widgets.chk_ignore_limits.set_sensitive(True)
else:
self.widgets.chk_ignore_limits.set_sensitive(False)

def on_hal_status_override_limits_changed(self, object, state, limits_list):
# object = hal_status from glade file
# state = true if override_limit is active
Expand All @@ -2584,7 +2601,13 @@ def on_hal_status_limits_tripped(self, object, state, lst_limits):
# state = true if limit has been tripped
# lst_limits = list of joint limits that has been tripped ([0,0],[0,1],[0,0])
self.widgets.chk_ignore_limits.set_sensitive(state)

if state:
# sensitize ntb_jog when limit tripped
self.widgets.ntb_jog.set_sensitive(True)
else:
# refresh immediately when limit is no longer active
self.widgets.chk_ignore_limits.set_active(False)

def on_hal_status_mode_manual(self, widget):
print ("MANUAL Mode")
self.widgets.rbt_manual.set_active(True)
Expand Down

0 comments on commit 55e97f8

Please sign in to comment.