kopia qtdragon. dodamy gitignore
This commit is contained in:
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
# Pliki kopii zapasowych i stare wersje
|
||||
*.bak
|
||||
*.old
|
||||
|
||||
# Pamięć podręczna Pythona
|
||||
__pycache__/
|
||||
*.pyc
|
||||
7
autosave.halscope
Normal file
7
autosave.halscope
Normal file
@@ -0,0 +1,7 @@
|
||||
THREAD servo-thread
|
||||
MAXCHAN 4
|
||||
HMULT 1
|
||||
HZOOM 1
|
||||
HPOS 5.000000e-01
|
||||
TMODE 0
|
||||
RMODE 0
|
||||
11
custom.hal
Normal file
11
custom.hal
Normal file
@@ -0,0 +1,11 @@
|
||||
# Include your custom HAL commands here
|
||||
# This file will not be overwritten when you run stepconf again
|
||||
|
||||
net spindle-on <= spindle.0.on
|
||||
|
||||
loadrt debounce cfg=1
|
||||
addf debounce.0 base-thread
|
||||
setp debounce.0.delay 100
|
||||
unlinkp motion.probe-input
|
||||
net probe-in debounce.0.0.in
|
||||
net probe-filt debounce.0.0.out => motion.probe-input
|
||||
3
custom_postgui.hal
Normal file
3
custom_postgui.hal
Normal file
@@ -0,0 +1,3 @@
|
||||
# Include your custom_postgui HAL commands here
|
||||
# This file will not be overwritten when you run stepconf again
|
||||
|
||||
119
linuxcnc.var
Normal file
119
linuxcnc.var
Normal file
@@ -0,0 +1,119 @@
|
||||
5161 0.000000
|
||||
5162 0.000000
|
||||
5163 0.000000
|
||||
5164 0.000000
|
||||
5165 0.000000
|
||||
5166 0.000000
|
||||
5167 0.000000
|
||||
5168 0.000000
|
||||
5169 0.000000
|
||||
5181 0.000000
|
||||
5182 0.000000
|
||||
5183 0.000000
|
||||
5184 0.000000
|
||||
5185 0.000000
|
||||
5186 0.000000
|
||||
5187 0.000000
|
||||
5188 0.000000
|
||||
5189 0.000000
|
||||
5210 1.000000
|
||||
5211 0.000000
|
||||
5212 0.000000
|
||||
5213 0.000000
|
||||
5214 0.000000
|
||||
5215 0.000000
|
||||
5216 0.000000
|
||||
5217 0.000000
|
||||
5218 0.000000
|
||||
5219 0.000000
|
||||
5220 1.000000
|
||||
5221 -100.000000
|
||||
5222 20.000000
|
||||
5223 -65.947893
|
||||
5224 0.000000
|
||||
5225 0.000000
|
||||
5226 0.000000
|
||||
5227 0.000000
|
||||
5228 0.000000
|
||||
5229 0.000000
|
||||
5230 0.000000
|
||||
5241 231.819921
|
||||
5242 87.920971
|
||||
5243 -84.140462
|
||||
5244 0.000000
|
||||
5245 0.000000
|
||||
5246 0.000000
|
||||
5247 0.000000
|
||||
5248 0.000000
|
||||
5249 0.000000
|
||||
5250 0.000000
|
||||
5261 434.425001
|
||||
5262 416.681002
|
||||
5263 -65.728150
|
||||
5264 0.000000
|
||||
5265 0.000000
|
||||
5266 0.000000
|
||||
5267 0.000000
|
||||
5268 0.000000
|
||||
5269 0.000000
|
||||
5270 0.000000
|
||||
5281 217.270682
|
||||
5282 60.971881
|
||||
5283 -66.378617
|
||||
5284 0.000000
|
||||
5285 0.000000
|
||||
5286 0.000000
|
||||
5287 0.000000
|
||||
5288 0.000000
|
||||
5289 0.000000
|
||||
5290 0.000000
|
||||
5301 0.000000
|
||||
5302 0.000000
|
||||
5303 0.000000
|
||||
5304 0.000000
|
||||
5305 0.000000
|
||||
5306 0.000000
|
||||
5307 0.000000
|
||||
5308 0.000000
|
||||
5309 0.000000
|
||||
5310 0.000000
|
||||
5321 567.963866
|
||||
5322 36.400000
|
||||
5323 -64.000000
|
||||
5324 0.000000
|
||||
5325 0.000000
|
||||
5326 0.000000
|
||||
5327 0.000000
|
||||
5328 0.000000
|
||||
5329 0.000000
|
||||
5330 0.000000
|
||||
5341 0.000000
|
||||
5342 0.000000
|
||||
5343 0.000000
|
||||
5344 0.000000
|
||||
5345 0.000000
|
||||
5346 0.000000
|
||||
5347 0.000000
|
||||
5348 0.000000
|
||||
5349 0.000000
|
||||
5350 0.000000
|
||||
5361 0.000000
|
||||
5362 0.000000
|
||||
5363 0.000000
|
||||
5364 0.000000
|
||||
5365 0.000000
|
||||
5366 0.000000
|
||||
5367 0.000000
|
||||
5368 0.000000
|
||||
5369 0.000000
|
||||
5370 0.000000
|
||||
5381 0.000000
|
||||
5382 0.000000
|
||||
5383 0.000000
|
||||
5384 0.000000
|
||||
5385 0.000000
|
||||
5386 0.000000
|
||||
5387 0.000000
|
||||
5388 0.000000
|
||||
5389 0.000000
|
||||
5390 0.000000
|
||||
84
mayo-mill.hal
Normal file
84
mayo-mill.hal
Normal file
@@ -0,0 +1,84 @@
|
||||
# Generated by stepconf 1.1 at Thu May 29 11:48:34 2025
|
||||
# If you make changes to this file, they will be
|
||||
# overwritten when you run stepconf again
|
||||
loadrt [KINS]KINEMATICS
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
|
||||
loadrt hal_parport cfg="0 out"
|
||||
setp parport.0.reset-time 5000
|
||||
loadrt stepgen step_type=0,0,0
|
||||
|
||||
addf parport.0.read base-thread
|
||||
addf stepgen.make-pulses base-thread
|
||||
addf parport.0.write base-thread
|
||||
addf parport.0.reset base-thread
|
||||
|
||||
addf stepgen.capture-position servo-thread
|
||||
addf motion-command-handler servo-thread
|
||||
addf motion-controller servo-thread
|
||||
addf stepgen.update-freq servo-thread
|
||||
|
||||
net probe-in => motion.probe-input
|
||||
|
||||
setp parport.0.pin-01-out-invert 1
|
||||
net spindle-on => parport.0.pin-01-out
|
||||
net xdir => parport.0.pin-02-out
|
||||
net xstep => parport.0.pin-03-out
|
||||
setp parport.0.pin-03-out-reset 1
|
||||
net ydir => parport.0.pin-04-out
|
||||
net ystep => parport.0.pin-05-out
|
||||
setp parport.0.pin-05-out-reset 1
|
||||
net zdir => parport.0.pin-06-out
|
||||
net zstep => parport.0.pin-07-out
|
||||
setp parport.0.pin-07-out-reset 1
|
||||
net home-x <= parport.0.pin-10-in
|
||||
net home-y <= parport.0.pin-11-in
|
||||
net home-z <= parport.0.pin-12-in
|
||||
net estop-ext <= parport.0.pin-13-in-not
|
||||
net probe-in <= parport.0.pin-15-in
|
||||
|
||||
setp stepgen.0.position-scale [JOINT_0]SCALE
|
||||
setp stepgen.0.steplen 1
|
||||
setp stepgen.0.stepspace 0
|
||||
setp stepgen.0.dirhold 70000
|
||||
setp stepgen.0.dirsetup 70000
|
||||
setp stepgen.0.maxaccel [JOINT_0]STEPGEN_MAXACCEL
|
||||
net xpos-cmd joint.0.motor-pos-cmd => stepgen.0.position-cmd
|
||||
net xpos-fb stepgen.0.position-fb => joint.0.motor-pos-fb
|
||||
net xstep <= stepgen.0.step
|
||||
net xdir <= stepgen.0.dir
|
||||
net xenable joint.0.amp-enable-out => stepgen.0.enable
|
||||
net home-x => joint.0.home-sw-in
|
||||
|
||||
setp stepgen.1.position-scale [JOINT_1]SCALE
|
||||
setp stepgen.1.steplen 1
|
||||
setp stepgen.1.stepspace 0
|
||||
setp stepgen.1.dirhold 70000
|
||||
setp stepgen.1.dirsetup 70000
|
||||
setp stepgen.1.maxaccel [JOINT_1]STEPGEN_MAXACCEL
|
||||
net ypos-cmd joint.1.motor-pos-cmd => stepgen.1.position-cmd
|
||||
net ypos-fb stepgen.1.position-fb => joint.1.motor-pos-fb
|
||||
net ystep <= stepgen.1.step
|
||||
net ydir <= stepgen.1.dir
|
||||
net yenable joint.1.amp-enable-out => stepgen.1.enable
|
||||
net home-y => joint.1.home-sw-in
|
||||
|
||||
setp stepgen.2.position-scale [JOINT_2]SCALE
|
||||
setp stepgen.2.steplen 1
|
||||
setp stepgen.2.stepspace 0
|
||||
setp stepgen.2.dirhold 70000
|
||||
setp stepgen.2.dirsetup 70000
|
||||
setp stepgen.2.maxaccel [JOINT_2]STEPGEN_MAXACCEL
|
||||
net zpos-cmd joint.2.motor-pos-cmd => stepgen.2.position-cmd
|
||||
net zpos-fb stepgen.2.position-fb => joint.2.motor-pos-fb
|
||||
net zstep <= stepgen.2.step
|
||||
net zdir <= stepgen.2.dir
|
||||
net zenable joint.2.amp-enable-out => stepgen.2.enable
|
||||
net home-z => joint.2.home-sw-in
|
||||
|
||||
net estop-out <= iocontrol.0.user-enable-out
|
||||
net estop-ext => iocontrol.0.emc-enable-in
|
||||
|
||||
net tool-change <= iocontrol.0.tool-change
|
||||
net tool-changed => iocontrol.0.tool-changed
|
||||
net tool-number <= iocontrol.0.tool-prep-number
|
||||
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
|
||||
191
mayo-mill.ini
Normal file
191
mayo-mill.ini
Normal file
@@ -0,0 +1,191 @@
|
||||
# Generated by stepconf 1.1 at Thu May 29 11:48:34 2025
|
||||
# If you make changes to this file, they will be
|
||||
# overwritten when you run stepconf again
|
||||
|
||||
[EMC]
|
||||
MACHINE = mayo-mill
|
||||
DEBUG = 0
|
||||
VERSION = 1.1
|
||||
|
||||
[DISPLAY]
|
||||
DISPLAY = qtvcp qtdragon_hd
|
||||
PREFERENCE_FILE_PATH = WORKINGFOLDER/qtdragon_hd.pre
|
||||
EDITOR = gedit
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
ARCDIVISION = 64
|
||||
GRIDS = 10mm 20mm 50mm 100mm 1in 2in 5in 10in
|
||||
MAX_FEED_OVERRIDE = 1.2
|
||||
MIN_SPINDLE_OVERRIDE = 0.5
|
||||
MAX_SPINDLE_OVERRIDE = 1.2
|
||||
DEFAULT_LINEAR_VELOCITY = 5.00
|
||||
MIN_LINEAR_VELOCITY = 0
|
||||
MAX_LINEAR_VELOCITY = 50.00
|
||||
CYCLE_TIME = 0.100
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
PROGRAM_PREFIX = /home/cnc/linuxcnc/nc_files
|
||||
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
|
||||
|
||||
[KINS]
|
||||
JOINTS = 3
|
||||
KINEMATICS = trivkins coordinates=XYZ
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
PROGRAM_EXTENSION = .nc,.tap G-Code File
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
py = python
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.010
|
||||
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = linuxcnc.var
|
||||
|
||||
# start up G/M codes when first loaded
|
||||
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.0127 G80 G90 G94 G97 M5 M9
|
||||
|
||||
# subroutine/remap path list
|
||||
SUBROUTINE_PATH =\
|
||||
~/linuxcnc/nc_files/examples/ngcgui_lib:\
|
||||
~/linuxcnc/nc_files/examples/ngcgui_lib/utilitysubs:\
|
||||
~/linuxcnc/nc_files/examples/remap-subroutines:\
|
||||
~/linuxcnc/nc_files/examples/remap_lib
|
||||
|
||||
# is the sub, with is called when a error during tool change happens.
|
||||
ON_ABORT_COMMAND=O <on_abort> call
|
||||
|
||||
# The remap code for QtVCP's versaprobe's automatic tool probe of Z
|
||||
REMAP=M6 modalgroup=6 prolog=change_prolog ngc=qt_auto_probe_tool epilog=change_epilog
|
||||
|
||||
# required for python remaps
|
||||
[PYTHON]
|
||||
# The path to start a search for user modules. ie python's sys.path.insert(0,PATH)
|
||||
#PATH_PREPEND = ~/linuxcnc/nc_files/examples/remap_lib/python-stdglue/python
|
||||
|
||||
# The path start point for all remap searches ie. python's sys.path.append()
|
||||
PATH_APPEND = ~/linuxcnc/nc_files/examples/remap_lib/python-stdglue/python
|
||||
# path to the tremap's 'oplevel file
|
||||
TOPLEVEL = ~/linuxcnc/nc_files/examples/remap_lib/python-stdglue/python/toplevel.py
|
||||
# set remap debug level
|
||||
#LOG_LEVEL = 1000
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 100000
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
[HAL]
|
||||
HALFILE = mayo-mill.hal
|
||||
HALFILE = custom.hal
|
||||
POSTGUI_HALFILE = postgui_call_list.hal
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 5.00
|
||||
MAX_LINEAR_VELOCITY = 50.00
|
||||
|
||||
[EMCIO]
|
||||
EMCIO = io
|
||||
CYCLE_TIME = 0.100
|
||||
TOOL_TABLE = tool.tbl
|
||||
[PROBE]
|
||||
# pick basic probe or versa probe or remove for none
|
||||
USE_PROBE = versaprobe
|
||||
#USE_PROBE = basicprobe
|
||||
|
||||
[VERSA_TOOLSETTER]
|
||||
X = 32.5
|
||||
Y = 458.5
|
||||
Z = -30
|
||||
Z_MAX_CLEAR = -2
|
||||
MAXPROBE = 40
|
||||
|
||||
[CHANGE_POSITION]
|
||||
X = 10
|
||||
Y = 10
|
||||
Z = -2
|
||||
|
||||
[MDI_COMMAND_LIST]
|
||||
# for macro buttons on main oage up to 10 possible
|
||||
MDI_COMMAND = G0 Z25;X0 Y0;Z0, Goto\nUser\nZero
|
||||
MDI_COMMAND = G53 G0 Z0;G53 G0 X0 Y0,Goto\nMachn\nZero
|
||||
#*** AXIS_X *******************************
|
||||
[AXIS_X]
|
||||
MAX_VELOCITY = 50.0
|
||||
MAX_ACCELERATION = 500.0
|
||||
MIN_LIMIT = -0.001
|
||||
MAX_LIMIT = 780.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.0
|
||||
MIN_LIMIT = -0.001
|
||||
MAX_LIMIT = 780.0
|
||||
MAX_VELOCITY = 50.0
|
||||
MAX_ACCELERATION = 500.0
|
||||
STEPGEN_MAXACCEL = 625.0
|
||||
SCALE = 80.0
|
||||
FERROR = 1
|
||||
MIN_FERROR = .25
|
||||
HOME_OFFSET = 0.000000
|
||||
HOME_SEARCH_VEL = -20.000000
|
||||
HOME_LATCH_VEL = -6.250000
|
||||
HOME_SEQUENCE = 2
|
||||
#******************************************
|
||||
|
||||
#*** AXIS_Y *******************************
|
||||
[AXIS_Y]
|
||||
MAX_VELOCITY = 50.0
|
||||
MAX_ACCELERATION = 500.0
|
||||
MIN_LIMIT = -0.001
|
||||
MAX_LIMIT = 485.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.0
|
||||
MIN_LIMIT = -0.001
|
||||
MAX_LIMIT = 485.0
|
||||
MAX_VELOCITY = 50.0
|
||||
MAX_ACCELERATION = 500.0
|
||||
STEPGEN_MAXACCEL = 625.0
|
||||
SCALE = 80.0
|
||||
FERROR = 1
|
||||
MIN_FERROR = .25
|
||||
HOME_OFFSET = 0.000000
|
||||
HOME_SEARCH_VEL = -20.000000
|
||||
HOME_LATCH_VEL = -6.250000
|
||||
HOME_SEQUENCE = 1
|
||||
#******************************************
|
||||
|
||||
#*** AXIS_Z *******************************
|
||||
[AXIS_Z]
|
||||
MAX_VELOCITY = 25.0
|
||||
MAX_ACCELERATION = 500.0
|
||||
MIN_LIMIT = -100.0
|
||||
MAX_LIMIT = 0.001
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.0
|
||||
MIN_LIMIT = -100.0
|
||||
MAX_LIMIT = 0.001
|
||||
MAX_VELOCITY = 25.0
|
||||
MAX_ACCELERATION = 500.0
|
||||
STEPGEN_MAXACCEL = 625.0
|
||||
SCALE = 80.0
|
||||
FERROR = 1
|
||||
MIN_FERROR = .25
|
||||
HOME_OFFSET = 0.000000
|
||||
HOME_SEARCH_VEL = 10.000000
|
||||
HOME_LATCH_VEL = 6.250000
|
||||
HOME_SEQUENCE = 0
|
||||
#******************************************
|
||||
7
postgui_call_list.hal
Normal file
7
postgui_call_list.hal
Normal file
@@ -0,0 +1,7 @@
|
||||
# These files are loaded post GUI, in the order they appear
|
||||
# Generated by stepconf 1.1 at Thu May 29 11:48:34 2025
|
||||
# If you make changes to this file, they will be
|
||||
# overwritten when you run stepconf again
|
||||
|
||||
source qtvcp_postgui.hal
|
||||
source custom_postgui.hal
|
||||
5
pyvcp_options.hal
Normal file
5
pyvcp_options.hal
Normal file
@@ -0,0 +1,5 @@
|
||||
# These files are loaded post GUI, in the order they appear
|
||||
# Generated by stepconf 1.1 at Thu May 29 11:48:34 2025
|
||||
# If you make changes to this file, they will be
|
||||
# overwritten when you run stepconf again
|
||||
sets spindle-at-speed true
|
||||
251
qt_auto_probe_tool.ngc
Normal file
251
qt_auto_probe_tool.ngc
Normal file
@@ -0,0 +1,251 @@
|
||||
o<qt_auto_probe_tool> sub
|
||||
|
||||
; IMPORTANT: this remap enables using a gcode/ngc program on machines without
|
||||
; automatic tool changers, and without repeatable tool holders, but which
|
||||
; do have a tool setter (and ideally, an xyz probe).
|
||||
; With this remap, a program or user can issue TxM6 commands at any
|
||||
; point and the machine will automatically do the following:
|
||||
; 1. Move to a tool change position defined in .ini parameters, Z first, then XY
|
||||
; 2. Perform the normal M6 tool change (IE stop spindle, prompt for tool)
|
||||
; 3. Move to the location of the toolsetter, Z first, then XY, probe the new tool's offset
|
||||
; 4. Change the offset of the current coordinate system to match the new tool
|
||||
; 5. Return the tip of the new tool to the same spot as the tip of the old tool
|
||||
; based on newly measured z-offset
|
||||
; 6. Return control back to whatever state it was in prior, continuing the program
|
||||
; if one had been running.
|
||||
; The following settings should be enabled in the QtDragon interface:
|
||||
; A - Under Probe Tool screens: insure that "Tool Measure" is enabled
|
||||
; B - Under Settings: insure that "Use Tool Sensor" is enabled
|
||||
; The following workflow assumes using both a XYZ probe and a Z Toolsetter:
|
||||
; 1 - Initial Setup: Before beginning the program, setup the Probe Tool as
|
||||
; having a zero z-offset in the tool table. (Non-zero tool lengths
|
||||
; for the probe tool can be made to work, but have multiple extra
|
||||
; steps required, and it is easy to have the tool offset interfere with
|
||||
; the remap coding and cause incorrect adjustments to your offsets.
|
||||
; This procedure assumes a zero length.)
|
||||
; 2 - Initial Tool: Load the probe tool with M61 Qx, where x is the Probe tool's number
|
||||
; in the tool table. (Do not use TxM6)
|
||||
; 3 - Toolsetter measure: Use button under the Probe Screens for "Probe Tool Setter
|
||||
; Z Height:" this will set and display on the Probe Settings screen the
|
||||
; "Probe HT" = #<_hal[qtversaprobe.probeheight> value in ABS coordinates.
|
||||
; 4 - Workpiece Measure: Use the button under the Probe Screens for "Probe Z height
|
||||
; of material:" this will set and display on the Probe Settings screen the
|
||||
; "Block Ht" = #<_hal[qtversaprobe.blockheight]> value in ABS coordinates.
|
||||
; 5 - Set Coord System (G54): Use the Probe Tool and whichever probe screen is
|
||||
; appropriate to set the coordinate system XYZ offsets needed for your job.
|
||||
; NOTE: Return_Option 3 uses the current local coordinate system, not just ABS coord.
|
||||
; 6 - Prepare to Run: You may then issue a manual TnM6 command to change the tool
|
||||
; before starting the job, or if the job begins with a TnM6 command before
|
||||
; spinning the spindle, you may leave the Probe Tool installed.
|
||||
; !! Take care not to leave the XYZ tool probe in the spindle when a program may start
|
||||
; the spindle. !!
|
||||
;(debug, in change tool_in_spindle=#<tool_in_spindle> current_pocket=#<current_pocket>)
|
||||
;(debug, selected_tool=#<selected_tool> selected_pocket=#<selected_pocket>)
|
||||
(debug, !!!! ALTERNATIVE FILE !!!!)
|
||||
; -------------------------------------
|
||||
; --- Begin Initial data gathering ----
|
||||
; -------------------------------------
|
||||
|
||||
#<tool> = #<selected_tool>
|
||||
#<pocket> = #<selected_pocket>
|
||||
#<local_start_x> = #<_x>
|
||||
#<local_start_y> = #<_y>
|
||||
#<local_start_z> = #<_z>
|
||||
|
||||
#<zworkoffset> = [#[5203 + #5220 * 20] + #5213 * #5210]
|
||||
|
||||
; -------------------------------------
|
||||
; --- End Initial Data Gathering ----
|
||||
; -------------------------------------
|
||||
|
||||
; -------------------------------------
|
||||
; --- Begin Initial Safety Checks ----
|
||||
; -------------------------------------
|
||||
|
||||
; we must execute this only in the milltask interpreter
|
||||
; or preview will break, so test for '#<_task>' which is 1 for
|
||||
; the milltask interpreter and 0 in the UI's
|
||||
o100 if [#<_task> EQ 0]
|
||||
(debug, Task is Null)
|
||||
o100 return [999]
|
||||
o100 endif
|
||||
|
||||
; check we are in right mode
|
||||
o110 if [#<_metric_machine>]
|
||||
o115 if [#<_imperial>]
|
||||
(MSG, Auto Tool probe error: not in G21 mode )
|
||||
o115 return [-3] ; indicate probe contact failure to epilog
|
||||
o115 endif
|
||||
o110 else
|
||||
o115 if [#<_imperial> EQ 0]
|
||||
(MSG, Auto Tool probe error: not in G20 mode )
|
||||
o115 return [-3] ; indicate probe contact failure to epilog
|
||||
o115 endif
|
||||
o110 endif
|
||||
|
||||
;check we have a usable search velocity configured, otherwise error
|
||||
o150 if [#<_hal[qtversaprobe.searchvel]> LE 0]
|
||||
(MSG, No usable search velocity in hal.qtversaprobe.searchvel)
|
||||
o150 return [-1] ; indicate searchvel <= 0
|
||||
o150 endif
|
||||
|
||||
;check we do not have an invalid Return Option
|
||||
o175 if [EXISTS[#<_ini[VERSA_TOOLSETTER]RETURN_OPTION>]]
|
||||
#<return_opt> = #<_ini[VERSA_TOOLSETTER]RETURN_OPTION>
|
||||
o176 if [[#<return_opt> EQ 1] OR [#<return_opt> EQ 2] OR [#<return_opt> EQ 3]]
|
||||
;Continue: Return_Option is both defined and valid
|
||||
o176 else
|
||||
(MSG, Invalid RETURN_OPTION in .ini file under VERSA_TOOLSETTER)
|
||||
o176 return [-1] ; signal error to post processing
|
||||
o176 endif
|
||||
o175 else
|
||||
;Continue: it is valid to not define Return_Option, defaults to 1
|
||||
o175 endif
|
||||
|
||||
; -------------------------------------
|
||||
; --- End Initial Safety Checks ----
|
||||
; -------------------------------------
|
||||
|
||||
; -------------------------------------
|
||||
; --- Begin Physical Tool Change ----
|
||||
; -------------------------------------
|
||||
|
||||
;first go up
|
||||
F #<_hal[qtversaprobe.searchvel]>
|
||||
G53 G0 Z[#<_ini[CHANGE_POSITION]Z>]
|
||||
|
||||
o200 if [#<_current_tool> NE #<tool>]
|
||||
; then move to change position
|
||||
G53 G0 X[#<_ini[CHANGE_POSITION]X>] Y[#<_ini[CHANGE_POSITION]Y>]
|
||||
o200 endif
|
||||
|
||||
;cancel tool offset mode
|
||||
G49
|
||||
|
||||
; using the code being remapped here means 'use builtin behaviour'
|
||||
; ie, this is not a recursive call to this program, but calls the
|
||||
; un-remapped M6 processing
|
||||
; That processing includes actually sending the window to the user
|
||||
; to press OK when they have completed the tool change.
|
||||
M6
|
||||
|
||||
; -------------------------------------inal (modal)coord system
|
||||
; ------ End Physical Tool Change ----
|
||||
; -------------------------------------
|
||||
|
||||
; -------------------------------------
|
||||
; ------ Begin Safety Checks for Tool Offset Measurement ----
|
||||
; -------------------------------------
|
||||
|
||||
o300 if [#<_hal[qtversaprobe.enable]> EQ 0]
|
||||
(MSG, Auto Tool probe disabled )
|
||||
G43 ;turn back on tool offset mode before returning
|
||||
o300 return [3] ; indicate no tool measurement
|
||||
o300 endif
|
||||
|
||||
;check we have a usable probe velocity configured, otherwise error
|
||||
o400 if [#<_hal[qtversaprobe.probevel]> LE 0]
|
||||
o400 return [-2] ; indicate probevel <= 0
|
||||
o400 endif
|
||||
|
||||
; -------------------------------------
|
||||
; ------ End Safety Checks for Tool Offset Measurement ----
|
||||
; -------------------------------------
|
||||
|
||||
; -------------------------------------
|
||||
; ------ Begin Tool Offset Measurement ----
|
||||
; -------------------------------------
|
||||
|
||||
;rapid-move to safe height
|
||||
G53 G0 Z[#<_ini[VERSA_TOOLSETTER]Z_MAX_CLEAR>]
|
||||
;Then rapid-move to probe XY location
|
||||
G53 G0 X[#<_ini[VERSA_TOOLSETTER]X>] Y[#<_ini[VERSA_TOOLSETTER]Y>]
|
||||
;then feed down to the probe start location
|
||||
F #<_hal[qtversaprobe.searchvel]>
|
||||
G53 G1 Z[#<_ini[VERSA_TOOLSETTER]Z>]
|
||||
|
||||
;switch to relative distance mode for probe moves
|
||||
G91
|
||||
|
||||
;begin initial probe move
|
||||
F #<_hal[qtversaprobe.searchvel]>
|
||||
G38.2 Z- #<_ini[VERSA_TOOLSETTER]MAXPROBE>
|
||||
G0 Z #<_hal[qtversaprobe.backoffdist]>
|
||||
|
||||
o510 if [#5070 EQ 0]
|
||||
G90
|
||||
o510 return [-3] ; indicate probe contact failure to epilog
|
||||
o510 endif
|
||||
|
||||
;reprobe at probe speed: G38.2 means probe toward workpiece, stop on contact
|
||||
; when G38.n axis completes, it puts the Z value detected (in the coordinates system
|
||||
; in which this program started) into parameter #5063 (because we're probing Z)
|
||||
;
|
||||
F #<_hal[qtversaprobe.probevel]>
|
||||
G38.2 Z- [#<_hal[qtversaprobe.backoffdist]> *1.2]
|
||||
|
||||
o520 if [#5070 EQ 0]
|
||||
G90
|
||||
o520 return [-3] ; indicate probe contact failure to epilog
|
||||
o520 endif
|
||||
|
||||
;switch back to absolute distance mode once probing is done
|
||||
G90
|
||||
|
||||
;set the current offset
|
||||
#<touch_result> = #5063
|
||||
|
||||
;
|
||||
; G10 L1 is the Set Tool Table Offset: it changes the tool table offset,
|
||||
; it DOES NOT change the offsets in the current coordinate system. (that would be G10 L2)
|
||||
|
||||
; <----- CODE MODIFICATION ------->
|
||||
; #<calculated_offset> = [#<touch_result> - #<_hal[qtversaprobe.probeheight]> + #<_hal[qtversaprobe.blockheight]>]
|
||||
|
||||
#<calculated_offset> = [#<touch_result> - #<_hal[qtversaprobe.probeheight]> + #<zworkoffset>]
|
||||
|
||||
G10 L1 P#<tool> Z[#<calculated_offset>]
|
||||
; <----- CODE MODIFICATION ------->
|
||||
|
||||
;G43 enables tool length offset: this affects all subsequent moves by applying
|
||||
; the offset just calculated to the coordinate system currently in
|
||||
; effect. ie. it has subtracted Calculated Offset from the Z offset
|
||||
|
||||
G43
|
||||
|
||||
; <----- CODE MODIFICATION ------->
|
||||
#<z_touch> = [#5063 + #<zworkoffset>]
|
||||
|
||||
;G10 L1 P#<tool> Z[#<z_touch>]
|
||||
; <----- CODE MODIFICATION ------->
|
||||
|
||||
(DEBUG, %fProbe Height: #<_hal[qtversaprobe.probeheight]>)
|
||||
(DEBUG, %fBlock Height: #<_hal[qtversaprobe.blockheight]>)
|
||||
(DEBUG, %fProbe Result [without offs]: #<touch_result>)
|
||||
(DEBUG, %fProbe Result [with offs]: #<z_touch>)
|
||||
(DEBUG, %fZ Axis Offset [Z zero]: #<zworkoffset>)
|
||||
(DEBUG, %fCalculated Offset: #<calculated_offset>)
|
||||
|
||||
; -------------------------------------
|
||||
; ------ End Tool Offset Measurement ----
|
||||
; -------------------------------------
|
||||
|
||||
; -------------------------------------
|
||||
; ------ Begin Return Movement ----
|
||||
; -------------------------------------
|
||||
|
||||
; return to original tool-tip position, but using new z-offset
|
||||
(DEBUG, Return to original tool-tip position using new z-offset: #<local_start_x> , #<local_start_y> , #<local_start_z>)
|
||||
G53 G0 Z[#<_ini[VERSA_TOOLSETTER]Z_MAX_CLEAR>]
|
||||
; now use original (modal)coord system to go over to xy
|
||||
;G0 X[#<local_start_x>] Y[#<local_start_y>]
|
||||
; and finally down to the (already offset) z coord
|
||||
;G0 Z[#<local_start_z>]
|
||||
|
||||
; -------------------------------------
|
||||
; ------ End Return Movement ----
|
||||
; -------------------------------------
|
||||
|
||||
; signal success be returning a value > 0:
|
||||
o<qt_auto_probe_tool> endsub [1]
|
||||
m2
|
||||
141
qtdragon_hd.pref
Normal file
141
qtdragon_hd.pref
Normal file
@@ -0,0 +1,141 @@
|
||||
[DIALOG_GEOMETRY]
|
||||
AboutDialog-geometry = half
|
||||
LncMessage-geometry = 910 539 280 118
|
||||
ToolChangeDialog-geometry = default
|
||||
VersaHelpDialog-geometry = default
|
||||
|
||||
[DIALOG_OPTIONS]
|
||||
EntryDialog_play_sound = True
|
||||
EntryDialog_sound_type = READY
|
||||
toolDialog_play_sound = True
|
||||
toolDialog_speak = True
|
||||
toolDialog_sound_type = READY
|
||||
fileDialog_play_sound = True
|
||||
fileDialog_sound_type = READY
|
||||
CalculatorDialog_play_sound = True
|
||||
CalculatorDialog_sound_type = READY
|
||||
MachineLogDialog_play_sound = True
|
||||
MachineLogDialog_sound_type = READY
|
||||
RunFromLineDialog_play_sound = True
|
||||
RunFromLineDialog_sound_type = READY
|
||||
|
||||
[BOOK_KEEPING]
|
||||
last_loaded_directory = /home/cnc/Nextcloud/@Home/Mayo/gcode
|
||||
last_loaded_file = /home/cnc/Nextcloud/@Home/Mayo/gcode/bottom_model.ngc
|
||||
style_QSS_Path = DEFAULT
|
||||
RecentPath_0 = /home/cnc/Nextcloud/@Home/Mayo/gcode/bottom_model.ngc
|
||||
|
||||
[ORIGINOFFSET_SYSTEM_NAMES]
|
||||
__dialogOffsetViewWidget-G54 = User System 1
|
||||
__dialogOffsetViewWidget-G55 = User System 2
|
||||
__dialogOffsetViewWidget-G56 = User System 3
|
||||
__dialogOffsetViewWidget-G57 = User System 4
|
||||
__dialogOffsetViewWidget-G58 = User System 5
|
||||
__dialogOffsetViewWidget-G59 = User System 6
|
||||
__dialogOffsetViewWidget-G59.1 = User System 7
|
||||
__dialogOffsetViewWidget-G59.2 = User System 8
|
||||
__dialogOffsetViewWidget-G59.3 = User System 9
|
||||
offset_table-G54 = User System 1
|
||||
offset_table-G55 = User System 2
|
||||
offset_table-G56 = User System 3
|
||||
offset_table-G57 = User System 4
|
||||
offset_table-G58 = User System 5
|
||||
offset_table-G59 = User System 6
|
||||
offset_table-G59.1 = User System 7
|
||||
offset_table-G59.2 = User System 8
|
||||
offset_table-G59.3 = User System 9
|
||||
|
||||
[SCREEN_OPTIONS]
|
||||
catch_errors = True
|
||||
desktop_notify = True
|
||||
notify_max_msgs = 10
|
||||
shutdown_check = True
|
||||
sound_player_on = False
|
||||
MainWindow-geometry = 0 0 1920 1080
|
||||
|
||||
[MCH_MSG_OPTIONS]
|
||||
mchnMsg_play_sound = True
|
||||
mchnMsg_speak_errors = False
|
||||
mchnMsg_speak_text = True
|
||||
mchnMsg_sound_type = ATTENTION
|
||||
|
||||
[USR_MSG_OPTIONS]
|
||||
usermsg_play_sound = True
|
||||
userMsg_sound_type = ATTENTION
|
||||
userMsg_use_focusOverlay = True
|
||||
|
||||
[SHUTDOWN_OPTIONS]
|
||||
shutdown_play_sound = True
|
||||
shutdown_alert_sound_type = READY
|
||||
shutdown_exit_sound_type = LOGOUT
|
||||
shutdown_msg_title = Do you want to Shutdown now?
|
||||
shutdown_msg_focus_text =
|
||||
shutdown_msg_detail =
|
||||
|
||||
[NOTIFY_OPTIONS]
|
||||
notify_start_greeting = False
|
||||
notify_start_title = Welcome
|
||||
notify_start_detail = This option can be changed in the preference file
|
||||
notify_start_timeout = 5
|
||||
|
||||
[FILEMANAGER_JUMPLIST]
|
||||
|
||||
[SCREEN_CONTROL_LAST_SETTING]
|
||||
gcodegraphics-user-view = p
|
||||
gcodegraphics-user-zoom = 10.0
|
||||
gcodegraphics-user-panx = 0.0
|
||||
gcodegraphics-user-pany = 0.0
|
||||
gcodegraphics-user-lat = 0.0
|
||||
gcodegraphics-user-lon = 0.0
|
||||
|
||||
[CUSTOM_FORM_ENTRIES]
|
||||
Tool to load = 0
|
||||
Laser X = 100.0
|
||||
Laser Y = -20.0
|
||||
Sensor X = 10.0
|
||||
Sensor Y = 10.0
|
||||
Camera X = 10.0
|
||||
Camera Y = 10.0
|
||||
Work Height = 20.0
|
||||
Touch Height = 40.0
|
||||
Sensor Height = 40.0
|
||||
Search Velocity = 40.0
|
||||
Probe Velocity = 10.0
|
||||
Max Probe = 10.0
|
||||
Retract Distance = 10.0
|
||||
Z Safe Travel = 10.0
|
||||
Eoffset count = 0
|
||||
External offsets = False
|
||||
Reload program = False
|
||||
Reload tool = False
|
||||
Use keyboard = True
|
||||
Use tool sensor = True
|
||||
Use tool touchplate = False
|
||||
Run from line = False
|
||||
Use virtual keyboard = False
|
||||
Use camera = False
|
||||
Use alpha display mode = False
|
||||
Inhibit display mouse selection = True
|
||||
Camview xscale = 100
|
||||
Camview yscale = 100
|
||||
Camview cam number = 0
|
||||
|
||||
[VERSA_PROBE_OPTIONS]
|
||||
ps_searchvel = 300.0
|
||||
ps_probevel = 10.0
|
||||
ps_z_clearance = 3.0
|
||||
ps_probe_max = 1.0
|
||||
ps_probe_max_z_travel = 1.0
|
||||
ps_probe_latch = 0.5
|
||||
ps_probe_diam = 2.0
|
||||
ps_xy_clearance = 5.0
|
||||
ps_side_edge_length = 5.0
|
||||
ps_probe_height = 20.0
|
||||
ps_block_height = 20.0
|
||||
use_tool_measurement = True
|
||||
ps_offs_x = 0.0
|
||||
ps_offs_y = 0.0
|
||||
ps_offs_z = 0.0
|
||||
ps_offs_angle = 0.0
|
||||
ps_probe_rapid_vel = 60.0
|
||||
|
||||
69252
qtvcp/screens/qtdragon_hd/resources.py
Normal file
69252
qtvcp/screens/qtdragon_hd/resources.py
Normal file
File diff suppressed because it is too large
Load Diff
3
qtvcp_postgui.hal
Normal file
3
qtvcp_postgui.hal
Normal file
@@ -0,0 +1,3 @@
|
||||
net tool-change => hal_manualtoolchange.change
|
||||
net tool-changed <= hal_manualtoolchange.changed
|
||||
net tool-number => hal_manualtoolchange.number
|
||||
7
tool.tbl
Normal file
7
tool.tbl
Normal file
@@ -0,0 +1,7 @@
|
||||
T0 P0 ;Probe
|
||||
T1 P1 D+0.850000 ;0.85 Flat end mill
|
||||
T2 P2 D+3.175000 Z-0.012833 ;3.175 Flat end mill
|
||||
T3 P3 D+3.175000 ;3.175 Engrave mill 30* 0.2
|
||||
T4 P4 D+6.000000 Z+15.800167 ;6mm Flat end mill
|
||||
T5 P0 D+1.000000 Z-0.001500 ;1mm Flat end mill
|
||||
T6 P0 D+0.800000 ;drill 0.7
|
||||
Reference in New Issue
Block a user