Skip to content

Commit 9611d78

Browse files
committed
qtdragon -make docs and extrenal offset pin names consistant.
While qtdragon doesn't do Z level compensation, might as well use a consistant name for eoffset spindle count fix seemingly broken spindle raise and zlevel compensation code
1 parent 913733f commit 9611d78

7 files changed

Lines changed: 37 additions & 38 deletions

File tree

configs/sim/qtdragon/qtdragon_multi_joint/qtdragon_postgui.hal

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ net tool-change hal_manualtoolchange.change <= iocontrol.0.tool-change
1010
net tool-changed hal_manualtoolchange.changed <= iocontrol.0.tool-changed
1111
net tool-prep-number hal_manualtoolchange.number <= iocontrol.0.tool-prep-number
1212

13-
# external offset stuff
13+
# external offset spindle auto raise on pause
14+
net spindle-pause qtdragon.spindle-inhibit spindle.0.inhibit
1415
net eoffset_clear qtdragon.eoffset-clear => axis.z.eoffset-clear
15-
net eoffset_count qtdragon.eoffset-count => axis.z.eoffset-counts
16+
net eoffset_count qtdragon.eoffset-spindle-count => axis.z.eoffset-counts
1617
net eoffset qtdragon.eoffset-value <= axis.z.eoffset
17-
#net limited qtdragon.led-limits-tripped <= motion.eoffset-limited
1818
setp axis.z.eoffset-enable 1
1919
setp axis.z.eoffset-scale 1.0
2020

configs/sim/qtdragon/qtdragon_tool_probe/qtdragon_postgui.hal

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ net tool-change hal_manualtoolchange.change <= iocontrol.0.tool-change
1010
net tool-changed hal_manualtoolchange.changed <= iocontrol.0.tool-changed
1111
net tool-prep-number hal_manualtoolchange.number <= iocontrol.0.tool-prep-number
1212

13-
# external offset stuff
13+
# external offset spindle auto raise on pause
14+
net spindle-pause qtdragon.spindle-inhibit spindle.0.inhibit
1415
net eoffset_clear qtdragon.eoffset-clear => axis.z.eoffset-clear
15-
net eoffset_count qtdragon.eoffset-count => axis.z.eoffset-counts
16+
net eoffset_count qtdragon.eoffset-spindle-count => axis.z.eoffset-counts
1617
net eoffset qtdragon.eoffset-value <= axis.z.eoffset
17-
#net limited qtdragon.led-limits-tripped <= motion.eoffset-limited
1818
setp axis.z.eoffset-enable 1
1919
setp axis.z.eoffset-scale 1.0
2020

configs/sim/qtdragon/qtdragon_xyz/qtdragon_postgui.hal

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ net tool-change hal_manualtoolchange.change <= iocontrol.0.tool-change
1010
net tool-changed hal_manualtoolchange.changed <= iocontrol.0.tool-changed
1111
net tool-prep-number hal_manualtoolchange.number <= iocontrol.0.tool-prep-number
1212

13-
# external offset stuff
13+
# external offset spindle auto raise on pause
14+
net spindle-pause qtdragon.spindle-inhibit spindle.0.inhibit
1415
net eoffset_clear qtdragon.eoffset-clear => axis.z.eoffset-clear
15-
net eoffset_count qtdragon.eoffset-count => axis.z.eoffset-counts
16+
net eoffset_count qtdragon.eoffset-spindle-count => axis.z.eoffset-counts
1617
net eoffset qtdragon.eoffset-value <= axis.z.eoffset
17-
#net limited qtdragon.led-limits-tripped <= motion.eoffset-limited
1818
setp axis.z.eoffset-enable 1
1919
setp axis.z.eoffset-scale 1.0
2020

configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon_hd_postgui.hal

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,14 @@ net eoffset-clear axis.z.eoffset-clear
3232
net eoffset-counts axis.z.eoffset-counts
3333
setp axis.z.eoffset-scale .001
3434
net eoffset-total axis.z.eoffset
35+
net eoffset-total qtdragon.eoffset-value
3536
setp axis.z.eoffset-enable True
3637

3738
## external offsets for spindle pause function
3839
##################################################
39-
#net eoffset-clear qtdragon.eoffset-clear
40+
net eoffset-clear qtdragon.eoffset-clear
4041
net eoffset-spindle-count <= qtdragon.eoffset-spindle-count
42+
net spindle-pause qtdragon.spindle-inhibit spindle.0.inhibit
4143

4244
## Z level compensation
4345
####################################################
@@ -49,7 +51,7 @@ net z_compensation_on z_level_compensation.enable-in <= qtdragon.comp-on
4951
net eoffset-zlevel-count z_level_compensation.counts => qtdragon.eoffset-zlevel-count
5052

5153
net eoffset-spindle-count scaled-s32-sums.0.in0
52-
net eoffset-zlevel-count scaled-s32-sums.0.in1 qtdragon.eoffset-value
54+
net eoffset-zlevel-count scaled-s32-sums.0.in1
5355
setp scaled-s32-sums.0.scale0 1000
5456
net eoffset-counts scaled-s32-sums.0.out-s
5557

docs/src/gui/qtdragon.adoc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -490,14 +490,16 @@ This float output pin indicates the camera rotation in degrees:
490490
qtdragon.cam-rotation
491491
----
492492

493-
These bit/s32 pins are related to external offsets if they are used:
493+
These bit/s32/float pins are related to external offsets if they are used:
494494

495495
[source,{hal}]
496496
----
497497
qtdragon.eoffset-clear
498498
qtdragon.eoffset-count
499499
qtdragon.eoffset-enable
500500
qtdragon.eoffset-value
501+
qtdragon.eoffset-spindle-count
502+
qtdragon.eoffset-zlevel-count
501503
----
502504

503505
These float output pins reflect the current slider jograte (in machine units):
@@ -576,7 +578,7 @@ In the qtdragon_postgui.hal file add:
576578
----
577579
# Set up Z axis external offsets
578580
net eoffset_clear qtdragon.eoffset-clear => axis.z.eoffset-clear
579-
net eoffset_count qtdragon.eoffset-count => axis.z.eoffset-counts
581+
net eoffset_count qtdragon.eoffset-spindle-count => axis.z.eoffset-counts
580582
net eoffset qtdragon.eoffset-value <= axis.z.eoffset
581583
582584
# uncomment for dragon_hd

share/qtvcp/screens/qtdragon/qtdragon_handler.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,8 @@ def init_pins(self):
260260
# external offset control pins
261261
QHAL.newpin("eoffset-enable", QHAL.HAL_BIT, QHAL.HAL_OUT)
262262
QHAL.newpin("eoffset-clear", QHAL.HAL_BIT, QHAL.HAL_OUT)
263-
QHAL.newpin("eoffset-count", QHAL.HAL_S32, QHAL.HAL_OUT)
263+
QHAL.newpin("eoffset-spindle-count", QHAL.HAL_S32, QHAL.HAL_OUT)
264+
# total external offset
264265
pin = QHAL.newpin("eoffset-value", QHAL.HAL_FLOAT, QHAL.HAL_IN)
265266

266267
def init_preferences(self):
@@ -283,7 +284,7 @@ def init_preferences(self):
283284
self.w.lineEdit_max_probe.setText(str(self.w.PREFS_.getpref('Max Probe', 10, float, 'CUSTOM_FORM_ENTRIES')))
284285
self.w.lineEdit_retract_distance.setText(str(self.w.PREFS_.getpref('Retract Distance', 10, float, 'CUSTOM_FORM_ENTRIES')))
285286
self.w.lineEdit_z_safe_travel.setText(str(self.w.PREFS_.getpref('Z Safe Travel', 10, float, 'CUSTOM_FORM_ENTRIES')))
286-
self.w.lineEdit_eoffset_count.setText(str(self.w.PREFS_.getpref('Eoffset count', 0, int, 'CUSTOM_FORM_ENTRIES')))
287+
self.w.lineEdit_eoffset_count.setText(str(self.w.PREFS_.getpref('Eoffset count', 0, float, 'CUSTOM_FORM_ENTRIES')))
287288
self.w.chk_eoffsets.setChecked(self.w.PREFS_.getpref('External offsets', False, bool, 'CUSTOM_FORM_ENTRIES'))
288289
self.w.chk_reload_program.setChecked(self.w.PREFS_.getpref('Reload program', False, bool,'CUSTOM_FORM_ENTRIES'))
289290
self.w.chk_reload_tool.setChecked(self.w.PREFS_.getpref('Reload tool', False, bool,'CUSTOM_FORM_ENTRIES'))
@@ -315,7 +316,7 @@ def closing_cleanup__(self):
315316
self.w.PREFS_.putpref('Max Probe', self.w.lineEdit_max_probe.text().encode('utf-8'), float, 'CUSTOM_FORM_ENTRIES')
316317
self.w.PREFS_.putpref('Retract Distance', self.w.lineEdit_retract_distance.text().encode('utf-8'), float, 'CUSTOM_FORM_ENTRIES')
317318
self.w.PREFS_.putpref('Z Safe Travel', self.w.lineEdit_z_safe_travel.text().encode('utf-8'), float, 'CUSTOM_FORM_ENTRIES')
318-
self.w.PREFS_.putpref('Eoffset count', self.w.lineEdit_eoffset_count.text().encode('utf-8'), int, 'CUSTOM_FORM_ENTRIES')
319+
self.w.PREFS_.putpref('Eoffset count', self.w.lineEdit_eoffset_count.text().encode('utf-8'), float, 'CUSTOM_FORM_ENTRIES')
319320
self.w.PREFS_.putpref('External offsets', self.w.chk_eoffsets.isChecked(), bool, 'CUSTOM_FORM_ENTRIES')
320321
self.w.PREFS_.putpref('Reload program', self.w.chk_reload_program.isChecked(), bool, 'CUSTOM_FORM_ENTRIES')
321322
self.w.PREFS_.putpref('Reload tool', self.w.chk_reload_tool.isChecked(), bool, 'CUSTOM_FORM_ENTRIES')
@@ -492,7 +493,8 @@ def dialog_return(self, w, message):
492493
elif sensor_code and name == 'MESSAGE' and rtn is True:
493494
self.touchoff('sensor')
494495
elif wait_code and name == 'MESSAGE':
495-
self.h['eoffset-clear'] = False
496+
self.h['eoffset-spindle-count'] = 0
497+
self.h['eoffset-clear'] = True
496498
elif unhome_code and name == 'MESSAGE' and rtn is True:
497499
ACTION.SET_MACHINE_UNHOMED(-1)
498500
elif overwrite and name == 'MESSAGE':
@@ -676,13 +678,12 @@ def disable_pause_buttons(self, state):
676678
self.w.action_step.setEnabled(not state)
677679
if state:
678680
# set external offsets to lift spindle
681+
self.h['eoffset-clear'] = False
679682
self.h['eoffset-enable'] = self.w.chk_eoffsets.isChecked()
680683
fval = float(self.w.lineEdit_eoffset_count.text())
681-
self.h['eoffset-count'] = int(fval)
684+
self.h['eoffset-spindle-count'] = int(fval)
682685
self.h['spindle-inhibit'] = True
683686
else:
684-
self.h['eoffset-count'] = 0
685-
self.h['eoffset-clear'] = True
686687
self.h['spindle-inhibit'] = False
687688
# instantiate warning box
688689
info = "Wait for spindle at speed signal before resuming"
@@ -1000,7 +1001,7 @@ def update_gcode_properties(self, props ):
10001001
retval = msg.exec_()
10011002

10021003
def disable_spindle_pause(self):
1003-
self.h['eoffset-count'] = 0
1004+
self.h['eoffset-spindle-count'] = 0
10041005
self.h['spindle-inhibit'] = False
10051006
if self.w.btn_spindle_pause.isChecked():
10061007
self.w.btn_spindle_pause.setChecked(False)
@@ -1069,7 +1070,7 @@ def enable_onoff(self, state):
10691070
else:
10701071
self.add_status("Machine OFF")
10711072
self.w.btn_spindle_pause.setChecked(False)
1072-
self.h['eoffset-count'] = 0
1073+
self.h['eoffset-spindle-count'] = 0
10731074
for widget in self.onoff_list:
10741075
self.w[widget].setEnabled(state)
10751076

share/qtvcp/screens/qtdragon_hd/qtdragon_hd_handler.py

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -224,8 +224,8 @@ def init_pins(self):
224224
QHAL.newpin("eoffset-spindle-count", QHAL.HAL_S32, QHAL.HAL_OUT)
225225
QHAL.newpin("eoffset-count", QHAL.HAL_S32, QHAL.HAL_OUT)
226226

227+
# total external offsets
227228
pin = QHAL.newpin("eoffset-value", QHAL.HAL_FLOAT, QHAL.HAL_IN)
228-
pin.value_changed.connect(self.eoffset_changed)
229229

230230
pin = QHAL.newpin("eoffset-zlevel-count", QHAL.HAL_S32, QHAL.HAL_IN)
231231
pin.value_changed.connect(self.comp_count_changed)
@@ -251,7 +251,7 @@ def init_preferences(self):
251251
self.w.lineEdit_max_probe.setText(str(self.w.PREFS_.getpref('Max Probe', 10, float, 'CUSTOM_FORM_ENTRIES')))
252252
self.w.lineEdit_retract_distance.setText(str(self.w.PREFS_.getpref('Retract Distance', 10, float, 'CUSTOM_FORM_ENTRIES')))
253253
self.w.lineEdit_z_safe_travel.setText(str(self.w.PREFS_.getpref('Z Safe Travel', 10, float, 'CUSTOM_FORM_ENTRIES')))
254-
self.w.lineEdit_eoffset_count.setText(str(self.w.PREFS_.getpref('Eoffset count', 0, int, 'CUSTOM_FORM_ENTRIES')))
254+
self.w.lineEdit_eoffset_count.setText(str(self.w.PREFS_.getpref('Eoffset count', 0, float, 'CUSTOM_FORM_ENTRIES')))
255255
self.w.chk_eoffsets.setChecked(self.w.PREFS_.getpref('External offsets', False, bool, 'CUSTOM_FORM_ENTRIES'))
256256
self.w.chk_reload_program.setChecked(self.w.PREFS_.getpref('Reload program', False, bool,'CUSTOM_FORM_ENTRIES'))
257257
self.w.chk_reload_tool.setChecked(self.w.PREFS_.getpref('Reload tool', False, bool,'CUSTOM_FORM_ENTRIES'))
@@ -284,7 +284,7 @@ def closing_cleanup__(self):
284284
self.w.PREFS_.putpref('Max Probe', self.w.lineEdit_max_probe.text().encode('utf-8'), float, 'CUSTOM_FORM_ENTRIES')
285285
self.w.PREFS_.putpref('Retract Distance', self.w.lineEdit_retract_distance.text().encode('utf-8'), float, 'CUSTOM_FORM_ENTRIES')
286286
self.w.PREFS_.putpref('Z Safe Travel', self.w.lineEdit_z_safe_travel.text().encode('utf-8'), float, 'CUSTOM_FORM_ENTRIES')
287-
self.w.PREFS_.putpref('Eoffset count', self.w.lineEdit_eoffset_count.text().encode('utf-8'), int, 'CUSTOM_FORM_ENTRIES')
287+
self.w.PREFS_.putpref('Eoffset count', self.w.lineEdit_eoffset_count.text().encode('utf-8'), float, 'CUSTOM_FORM_ENTRIES')
288288
self.w.PREFS_.putpref('External offsets', self.w.chk_eoffsets.isChecked(), bool, 'CUSTOM_FORM_ENTRIES')
289289
self.w.PREFS_.putpref('Reload program', self.w.chk_reload_program.isChecked(), bool, 'CUSTOM_FORM_ENTRIES')
290290
self.w.PREFS_.putpref('Reload tool', self.w.chk_reload_tool.isChecked(), bool, 'CUSTOM_FORM_ENTRIES')
@@ -511,13 +511,9 @@ def mb_connection_changed(self, data):
511511
else:
512512
self.w.lbl_mb_errors.setStyleSheet('''background-color:rgb(202, 0, 0);''')
513513

514-
def eoffset_changed(self, data):
514+
def comp_count_changed(self, data):
515515
self.w.z_comp_eoffset_value.setText(format(data*.001, '.3f'))
516516

517-
def comp_count_changed(self):
518-
if self.w.btn_enable_comp.isChecked():
519-
self.h['eoffset-count'] = self.h['eoffset-zlevel-count']
520-
521517
def dialog_return(self, w, message):
522518
rtn = message.get('RETURN')
523519
name = message.get('NAME')
@@ -531,7 +527,9 @@ def dialog_return(self, w, message):
531527
elif sensor_code and name == 'MESSAGE' and rtn is True:
532528
self.touchoff('sensor')
533529
elif wait_code and name == 'MESSAGE':
534-
self.h['eoffset-clear'] = False
530+
self.h['eoffset-clear'] = True
531+
self.h['eoffset-spindle-count'] = 0
532+
self.w.spindle_eoffset_value.setText('0')
535533
elif unhome_code and name == 'MESSAGE' and rtn is True:
536534
ACTION.SET_MACHINE_UNHOMED(-1)
537535
elif overwrite and name == 'MESSAGE':
@@ -685,24 +683,20 @@ def btn_pause_spindle_clicked(self, state):
685683
self.w.action_step.setEnabled(not state)
686684
if state:
687685
# set external offsets to lift spindle
686+
self.h['eoffset-clear'] = False
688687
self.h['eoffset-enable'] = self.w.chk_eoffsets.isChecked()
689688
fval = float(self.w.lineEdit_eoffset_count.text())
690689
self.h['eoffset-spindle-count'] = int(fval)
691690
self.w.spindle_eoffset_value.setText(self.w.lineEdit_eoffset_count.text())
692691
self.h['spindle-inhibit'] = True
693-
#self.w.btn_enable_comp.setChecked(False)
694-
#self.w.widget_zaxis_offset.hide()
695692
if not QHAL.hal.component_exists("z_level_compensation"):
696693
self.add_status("Z level compensation HAL component not loaded", CRITICAL)
697694
return
698-
#self.h['comp-on'] = False
699695
else:
700-
self.h['eoffset-spindle-count'] = 0
701-
self.w.spindle_eoffset_value.setText('0')
702-
#self.h['eoffset-clear'] = True
696+
# turn spindle back on
703697
self.h['spindle-inhibit'] = False
698+
# wait for dialog to close before lowering spindle
704699
if STATUS.is_auto_running():
705-
# instantiate warning box
706700
info = "Wait for spindle at speed signal before resuming"
707701
mess = {'NAME':'MESSAGE', 'ICON':'WARNING',
708702
'ID':'_wait_resume_', 'MESSAGE':'CAUTION',

0 commit comments

Comments
 (0)