Import LinuxCNC source tree

This commit is contained in:
Wang Dequan
2026-08-20 06:17:39 +08:00
commit 2c814634c3
9429 changed files with 10556013 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
QtDragonHD sample configs
Fantastic large screen for mills/routers designed by forum personality Persei.
Optional choice of basic or versa probe screens.
Optional laser sight control
Optional toolplate Z setting
Optional auto lift spindle at pause
bolt circle and basic facing wizards

View File

@@ -0,0 +1,64 @@
# core HAL config file for simulation
# first load all the RT modules that will be needed
# kinematics
loadrt [KINS]KINEMATICS
#autoconverted trivkins
# motion controller, get name and thread periods from ini file
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
# load 6 differentiators (for velocity and accel signals
loadrt ddt names=ddt_x,ddt_xv,ddt_y,ddt_yv,ddt_z,ddt_zv
# load additional blocks
loadrt hypot names=vel_xy,vel_xyz
# add motion controller functions to servo thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
# link the differentiator functions into the code
addf ddt_x servo-thread
addf ddt_xv servo-thread
addf ddt_y servo-thread
addf ddt_yv servo-thread
addf ddt_z servo-thread
addf ddt_zv servo-thread
addf vel_xy servo-thread
addf vel_xyz servo-thread
# create HAL signals for position commands from motion module
# loop position commands back to motion module feedback
net Xpos joint.0.motor-pos-cmd => joint.0.motor-pos-fb ddt_x.in
net Ypos joint.1.motor-pos-cmd => joint.1.motor-pos-fb ddt_y.in
net Zpos joint.2.motor-pos-cmd => joint.2.motor-pos-fb ddt_z.in
net Apos joint.3.motor-pos-cmd => joint.3.motor-pos-fb
net Bpos joint.4.motor-pos-cmd => joint.4.motor-pos-fb
#net Cpos joint.5.motor-pos-cmd => joint.5.motor-pos-fb
#net Upos joint.6.motor-pos-cmd => joint.6.motor-pos-fb
#net Vpos joint.7.motor-pos-cmd => joint.7.motor-pos-fb
#net Wpos joint.8.motor-pos-cmd => joint.8.motor-pos-fb
# send the position commands thru differentiators to
# generate velocity and accel signals
net Xvel ddt_x.out => ddt_xv.in vel_xy.in0
net Xacc <= ddt_xv.out
net Yvel ddt_y.out => ddt_yv.in vel_xy.in1
net Yacc <= ddt_yv.out
net Zvel ddt_z.out => ddt_zv.in vel_xyz.in0
net Zacc <= ddt_zv.out
# Cartesian 2- and 3-axis velocities
net XYvel vel_xy.out => vel_xyz.in1
net XYZvel <= vel_xyz.out
# estop loopback
net estop-loop iocontrol.0.user-enable-out iocontrol.0.emc-enable-in
# create signals for tool loading loopback
net tool-prep-loop iocontrol.0.tool-prepare iocontrol.0.tool-prepared
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed
net spindle-fwd spindle.0.forward
net spindle-rev spindle.0.reverse
#net spindle-speed spindle.0.speed-out
net flood iocontrol.0.coolant-flood
net mist iocontrol.0.coolant-mist

View File

@@ -0,0 +1,64 @@
# core HAL config file for simulation
# first load all the RT modules that will be needed
# kinematics
loadrt [KINS]KINEMATICS
#autoconverted trivkins
# motion controller, get name and thread periods from ini file
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
# load 6 differentiators (for velocity and accel signals
loadrt ddt names=ddt_x,ddt_xv,ddt_y,ddt_yv,ddt_z,ddt_zv
# load additional blocks
loadrt hypot names=vel_xy,vel_xyz
# add motion controller functions to servo thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
# link the differentiator functions into the code
addf ddt_x servo-thread
addf ddt_xv servo-thread
addf ddt_y servo-thread
addf ddt_yv servo-thread
addf ddt_z servo-thread
addf ddt_zv servo-thread
addf vel_xy servo-thread
addf vel_xyz servo-thread
# create HAL signals for position commands from motion module
# loop position commands back to motion module feedback
net Xpos joint.0.motor-pos-cmd => joint.0.motor-pos-fb ddt_x.in
net Ypos joint.1.motor-pos-cmd => joint.1.motor-pos-fb ddt_y.in
net Zpos joint.2.motor-pos-cmd => joint.2.motor-pos-fb ddt_z.in
net Apos joint.3.motor-pos-cmd => joint.3.motor-pos-fb
net Cpos joint.4.motor-pos-cmd => joint.4.motor-pos-fb
#net Cpos joint.5.motor-pos-cmd => joint.5.motor-pos-fb
#net Upos joint.6.motor-pos-cmd => joint.6.motor-pos-fb
#net Vpos joint.7.motor-pos-cmd => joint.7.motor-pos-fb
#net Wpos joint.8.motor-pos-cmd => joint.8.motor-pos-fb
# send the position commands thru differentiators to
# generate velocity and accel signals
net Xvel ddt_x.out => ddt_xv.in vel_xy.in0
net Xacc <= ddt_xv.out
net Yvel ddt_y.out => ddt_yv.in vel_xy.in1
net Yacc <= ddt_yv.out
net Zvel ddt_z.out => ddt_zv.in vel_xyz.in0
net Zacc <= ddt_zv.out
# Cartesian 2- and 3-axis velocities
net XYvel vel_xy.out => vel_xyz.in1
net XYZvel <= vel_xyz.out
# estop loopback
net estop-loop iocontrol.0.user-enable-out iocontrol.0.emc-enable-in
# create signals for tool loading loopback
net tool-prep-loop iocontrol.0.tool-prepare iocontrol.0.tool-prepared
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed
net spindle-fwd spindle.0.forward
net spindle-rev spindle.0.reverse
#net spindle-speed spindle.0.speed-out
net flood iocontrol.0.coolant-flood
net mist iocontrol.0.coolant-mist

View File

@@ -0,0 +1,31 @@
o<on_abort> sub
o100 if [#1 eq 5]
(machine on)
o100 elseif [#1 eq 6]
(machine off)
o100 elseif [#1 eq 7]
(estopped)
o100 elseif [#1 eq 8]
(msg,Process Aborted)
o100 else
(DEBUG,Abort Parameter is %d[#1])
o100 endif
o<on_abort> endsub
m2
These are potential abort number:
EMC_ABORT_TASK_EXEC_ERROR = 1,
EMC_ABORT_AUX_ESTOP = 2,
EMC_ABORT_MOTION_OR_IO_RCS_ERROR = 3,
EMC_ABORT_TASK_STATE_OFF = 4,
EMC_ABORT_TASK_STATE_ESTOP_RESET = 5,
EMC_ABORT_TASK_STATE_ESTOP = 6,
EMC_ABORT_TASK_STATE_NOT_ON = 7,
EMC_ABORT_TASK_ABORT = 8,
EMC_ABORT_INTERPRETER_ERROR = 9, // interpreter failed during readahead
EMC_ABORT_INTERPRETER_ERROR_MDI = 10, // interpreter failed during MDI execution
EMC_ABORT_USER = 100 // user-defined abort codes start here

View File

@@ -0,0 +1,58 @@
# load components
########################################################################
loadrt logic names=logic-and personality=0x102
addf logic-and servo-thread
# load a summing component for adding spindle lift and Z compensation
loadrt scaled_s32_sums
addf scaled-s32-sums.0 servo-thread
loadusr -Wn z_level_compensation z_level_compensation
# method parameter must be one of nearest(2), linear(1), cubic (0)
setp z_level_compensation.fade-height 0.0
setp z_level_compensation.method 1
# connect signals
########################################################################
net spindle-speed-limited => spindle.0.speed-out-rps => spindle.0.speed-in
# the unlink pin commands are only used, because they are connected
# in core_sim.hal and we use this file to simulate
unlinkp iocontrol.0.tool-change
unlinkp iocontrol.0.tool-changed
unlinkp iocontrol.0.tool-prep-number
net tool-change hal_manualtoolchange.change <= iocontrol.0.tool-change
net tool-changed hal_manualtoolchange.changed <= iocontrol.0.tool-changed
net tool-prep-number hal_manualtoolchange.number <= iocontrol.0.tool-prep-number
net eoffset-clear axis.z.eoffset-clear
net eoffset-counts axis.z.eoffset-counts
setp axis.z.eoffset-scale .001
net eoffset-total axis.z.eoffset
net eoffset-total qtdragon.eoffset-value
setp axis.z.eoffset-enable True
## external offsets for spindle pause function
##################################################
net eoffset-clear qtdragon.eoffset-clear
net eoffset-spindle-count <= qtdragon.eoffset-spindle-count
net spindle-pause qtdragon.spindle-inhibit => spindle.0.inhibit
net eoffset-state qtdragon.eoffset-is-active <= motion.eoffset-active
## Z level compensation
####################################################
net eoffset-clr2 z_level_compensation.clear => logic-and.in-01
net xpos-cmd z_level_compensation.x-pos <= axis.x.pos-cmd
net ypos-cmd z_level_compensation.y-pos <= axis.y.pos-cmd
net zpos-cmd z_level_compensation.z-pos <= axis.z.pos-cmd
net z_compensation_on z_level_compensation.enable-in <= qtdragon.comp-on
net eoffset-zlevel-count z_level_compensation.counts => qtdragon.eoffset-zlevel-count
net eoffset-spindle-count scaled-s32-sums.0.in0
net eoffset-zlevel-count scaled-s32-sums.0.in1
setp scaled-s32-sums.0.scale0 1000
net eoffset-counts scaled-s32-sums.0.out-s

View File

@@ -0,0 +1,241 @@
# This file was created with the 7i96 Wizard on Jun 10 2019 11:12:47
# Changes to most things are ok and will be read by the wizard
[EMC]
VERSION = 1.1
MACHINE = qtdragon
DEBUG = 0x00000000
[DISPLAY]
# sets qtdragon_hd as screen. for debug output to terminal add -d or -v
# sets window title
# sets icon in task manager
DISPLAY = qtvcp qtdragon_hd_vert
TITLE = QtDragon HD Vertical: XYZ
ICON = silver_dragon.png
# qtdragon saves most preference to this file
PREFERENCE_FILE_PATH = WORKINGFOLDER/qtdragon_hd_vert.pref
# min/max percentage overrides allowed in qtdragon 1 = 100%
MAX_FEED_OVERRIDE = 1.2
MIN_SPINDLE_0_OVERRIDE = 0.5
MAX_SPINDLE_0_OVERRIDE = 1.2
# manual spindle speed will start at this RPM
DEFAULT_SPINDLE_0_SPEED = 12000
# spindle up/down increment in RPM
SPINDLE_INCREMENT = 200
# min max apindle speed manually allowed
MIN_SPINDLE_0_SPEED = 1000
MAX_SPINDLE_0_SPEED = 20000
# max spindle power in Watts
MAX_SPINDLE_POWER = 2000
# min/max/default jog velocities in qtdragon in units/sec
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 60.00
DEFAULT_LINEAR_VELOCITY = 50.0
#Prevent tool mark disappearing with small tool diameter in g-code preview widget
GCODE_VIEW_TOOL_MIN_DIA = 2.0
# incremental jog step length options
INCREMENTS = 10 mm, 1.0 mm, 0.10 mm, 0.01 mm, 1.0 inch, 0.1 inch, 0.01 inch
# Display grid increments
GRIDS = 0, .1 mm, 1 mm, 2 mm, 5 mm, 10 mm, .25 in, .5 in
CYCLE_TIME = 100
INTRO_GRAPHIC = silver_dragon.png
INTRO_TIME = 2
# default program search path
PROGRAM_PREFIX = ~/linuxcnc/nc_files
# NGCGUI subroutine path.
# Thr path must also be in [RS274NGC] SUBROUTINE_PATH
NGCGUI_SUBFILE_PATH = ../../../nc_files/ngcgui_lib/
# pre selected programs tabs
# specify filenames only, files must be in the NGCGUI_SUBFILE_PATH
NGCGUI_SUBFILE = slot.ngc
NGCGUI_SUBFILE = qpocket.ngc
# qtdragon saves MDI cxommands to this file
MDI_HISTORY_FILE = mdi_history.dat
# qtdragon saves rnning logs to this file
LOG_FILE = qtdragon_hd.log
[MDI_COMMAND_LIST]
# for macro buttons
MDI_COMMAND = G0 Z25 X0 Y0;Z0,Goto\nZero
MDI_COMMAND = G53 G0 Z0;G53 G0 X0 Y0,Goto\nMach\nZero
[FILTER]
# Controls what programs are shown inqtdragon file manager
PROGRAM_EXTENSION = .ngc,.nc,.tap G-Code File (*.ngc,*.nc,*.tap)
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
# specifies what special 'filter' programs runs based on program ending
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python3
[KINS]
KINEMATICS = trivkins coordinates=XYZ
JOINTS = 3
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
[RS274NGC]
# motion controller saves parameters to this file
PARAMETER_FILE = qtdragon.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 = ../../../../nc_files/probe/basic_probe/macros:~/linuxcnc/nc_files/examples/ngcgui_lib:~/linuxcnc/nc_files/examples/ngcgui_lib/utilitysubs
# on abort, this ngc file is called. required for basic/versa probe
ON_ABORT_COMMAND=O <on_abort> call
[EMCMOT]
EMCMOT = motmod
SERVO_PERIOD = 1000000
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 100000
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[TRAJ]
COORDINATES = XYZ
LINEAR_UNITS = metric
ANGULAR_UNITS = degree
MAX_LINEAR_VELOCITY = 60.00
DEFAULT_LINEAR_VELOCITY = 50.00
SPINDLES = 1
[HAL]
HALUI = halui
HALBRIDGE = hal_bridge
HALFILE = core_sim.hal
HALFILE = simulated_home.hal
# this file is loaded after qtdragon has made it's HAl pins
# you can add multiple entries
POSTGUI_HALFILE = qtdragon_hd_postgui.hal
# this command is run after qtdragon has made it's HAl pins
# any HAL conmmand can be used
# you can add multiple entries
# uncomment this one to print all HAL pins that start with qt
#POSTGUI_HALCMD = show pin qt
# uncomment to simulate probing
#POSTGUI_HALCMD = loadusr qtvcp test_probe
[HALUI]
# no content
[PROBE]
# pick basic probe or versa probe or remove for none
#USE_PROBE = versaprobe
USE_PROBE = basicprobe
[AXIS_X]
MIN_LIMIT = -0.001
MAX_LIMIT = 520.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
[AXIS_Y]
MIN_LIMIT = -0.001
MAX_LIMIT = 630.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
[AXIS_Z]
# used by external offsets for auto spindle lift and auto leveling
OFFSET_AV_RATIO = 0.2
MIN_LIMIT = -115.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 40.0
MAX_ACCELERATION = 500.0
[JOINT_0]
AXIS = X
MIN_LIMIT = -0.001
MAX_LIMIT = 520.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 72.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = 20.0
HOME_OFFSET = 0.00000
HOME_SEARCH_VEL = 20.000000
HOME_LATCH_VEL = 10.000
HOME_SEQUENCE = 1
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_1]
AXIS = Y
MIN_LIMIT = -0.001
MAX_LIMIT = 630.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 72.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = 20.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 20.00
HOME_LATCH_VEL = 10.00
HOME_SEQUENCE = 2
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_2]
AXIS = Z
MIN_LIMIT = -115.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 40.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 48.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = -10.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 20.000000
HOME_LATCH_VEL = 10.00
HOME_SEQUENCE = 0
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False

View File

@@ -0,0 +1,265 @@
# This file was created with the 7i96 Wizard on Jun 10 2019 11:12:47
# Changes to most things are ok and will be read by the wizard
[EMC]
VERSION = 1.1
MACHINE = qtdragon
DEBUG = 0x00000000
[DISPLAY]
# sets qtdragon_hd as screen. for debug output to terminal add -d or -v
# sets window title
# sets icon in task manager
DISPLAY = qtvcp qtdragon_hd_vert
TITLE = QtDragon HD: XYZA Rotational Axis
ICON = silver_dragon.png
# qtdragon saves most preference to this file
PREFERENCE_FILE_PATH = WORKINGFOLDER/qtdragon_hd.pref
# min/max percentage overrides allowed in qtdragon 1 = 100%
MAX_FEED_OVERRIDE = 1.2
MIN_SPINDLE_0_OVERRIDE = 0.5
MAX_SPINDLE_0_OVERRIDE = 1.2
# manual spindle speed will start at this RPM
DEFAULT_SPINDLE_0_SPEED = 12000
# spindle up/down increment in RPM
SPINDLE_INCREMENT = 200
# min max apindle speed manually allowed
MIN_SPINDLE_0_SPEED = 1000
MAX_SPINDLE_0_SPEED = 20000
# max spindle power in Watts
MAX_SPINDLE_POWER = 2000
# min/max/default jog velocities in qtdragon in units/sec
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 60.00
DEFAULT_LINEAR_VELOCITY = 25.0
DEFAULT_ANGULAR_VELOCITY = 10
MIN_ANGULAR_VELOCITY = 1
MAX_ANGULAR_VELOCITY = 360
#Prevent tool mark disappearing with small tool diameter in g-code preview widget
GCODE_VIEW_TOOL_MIN_DIA = 2.0
# incremental jog step length options
INCREMENTS = 10 mm, 1.0 mm, 0.10 mm, 0.01 mm, 1.0 inch, 0.1 inch, 0.01 inch
# Display grid increments
GRIDS = 0, .1 mm, 1 mm, 2 mm, 5 mm, 10 mm, .25 in, .5 in
CYCLE_TIME = 100
INTRO_GRAPHIC = silver_dragon.png
INTRO_TIME = 2
# default program search path
PROGRAM_PREFIX = ~/linuxcnc/nc_files
# NGCGUI subroutine path.
# Thr path must also be in [RS274NGC] SUBROUTINE_PATH
NGCGUI_SUBFILE_PATH = ../../../nc_files/ngcgui_lib/
# pre selected programs tabs
# specify filenames only, files must be in the NGCGUI_SUBFILE_PATH
NGCGUI_SUBFILE = slot.ngc
NGCGUI_SUBFILE = qpocket.ngc
# qtdragon saves MDI cxommands to this file
MDI_HISTORY_FILE = mdi_history.dat
# qtdragon saves rnning logs to this file
LOG_FILE = qtdragon.log
[MDI_COMMAND_LIST]
# for macro buttons on main oage up to 10 possible
MDI_COMMAND_MACRO0 = G0 Z25;X0 Y0;Z0, Goto\nUser\nZero
MDI_COMMAND_MACRO1 = G53 G0 Z0;G53 G0 X0 Y0,Goto\nMachn\nZero
[FILTER]
# Controls what programs are shown inqtdragon file manager
PROGRAM_EXTENSION = .ngc,.nc,.tap G-Code File (*.ngc,*.nc,*.tap)
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
# specifies what special 'filter' programs runs based on program ending
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python3
[KINS]
KINEMATICS = trivkins coordinates=XYZA
JOINTS = 4
[EMCIO]
TOOL_TABLE = tool.tbl
[RS274NGC]
# motion controller saves parameters to this file
PARAMETER_FILE = qtdragon.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 = ../../../../nc_files/probe/basic_probe/macros:~/linuxcnc/nc_files/examples/ngcgui_lib:~/linuxcnc/nc_files/examples/ngcgui_lib/utilitysubs
# on abort, this ngc file is called. required for basic/versa probe
ON_ABORT_COMMAND=O <on_abort> call
[EMCMOT]
EMCMOT = motmod
SERVO_PERIOD = 1000000
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 100000
#NUM_AIO = 12
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[TRAJ]
COORDINATES = XYZA
LINEAR_UNITS = metric
ANGULAR_UNITS = degree
MAX_LINEAR_VELOCITY = 60.00
DEFAULT_LINEAR_VELOCITY = 50.00
SPINDLES = 1
[HAL]
HALUI = halui
HALBRIDGE = hal_bridge
# loads the HAL machine simulation
HALFILE = gantrysim.hal
HALFILE = simulated-gantry-home.hal
# this file is loaded after qtdragon has made it's HAl pins
# you can add multiple entries
POSTGUI_HALFILE = qtdragon_hd_postgui.hal
# this command is run after qtdragon has made it's HAl pins
# any HAL conmmand can be used
# you can add multiple entries
# uncomment this one to print all HAL pins that start with qt
#POSTGUI_HALCMD = show pin qt
# uncomment to simulate probing
#POSTGUI_HALCMD = loadusr qtvcp test_probe
[HALUI]
# no content
[PROBE]
# pick basic probe or versa probe or remove for none
#USE_PROBE = versaprobe
USE_PROBE = basicprobe
[AXIS_X]
MIN_LIMIT = -0.001
MAX_LIMIT = 520.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
[AXIS_Y]
MIN_LIMIT = -0.001
MAX_LIMIT = 630.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
[AXIS_Z]
# used by external offsets for auto spindle lift and auto leveling
OFFSET_AV_RATIO = 0.2
MIN_LIMIT = -115.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 40.0
MAX_ACCELERATION = 500.0
[AXIS_A]
MAX_VELOCITY = 60
MAX_ACCELERATION = 500.0
[JOINT_0]
AXIS = X
MIN_LIMIT = -0.001
MAX_LIMIT = 520.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 72.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = 20.0
HOME_OFFSET = -0.1
HOME_SEARCH_VEL = -20.000000
HOME_LATCH_VEL = 10.000
HOME_SEQUENCE = 2
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_1]
AXIS = Y
MIN_LIMIT = -0.001
MAX_LIMIT = 630.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 72.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = 20.0
HOME_OFFSET = -0.1
HOME_SEARCH_VEL = -20.00
HOME_LATCH_VEL = 10.00
HOME_SEQUENCE = -1
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_2]
AXIS = Z
MIN_LIMIT = -115.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 40.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 48.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = -10.0
HOME_OFFSET = 0.1
HOME_SEARCH_VEL = 20.000000
HOME_LATCH_VEL = 10.00
HOME_SEQUENCE = 0
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_3]
TYPE = ANGULAR
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
INPUT_SCALE = 40
OUTPUT_SCALE = 1.0
FERROR = 5.0
MIN_FERROR = 1.0
HOME = 0
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0
HOME_SEQUENCE = 0
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False

View File

@@ -0,0 +1,239 @@
# This file was created with the 7i96 Wizard on Jun 10 2019 11:12:47
# Changes to most things are ok and will be read by the wizard
[EMC]
VERSION = 1.1
MACHINE = qtdragon
DEBUG = 0x00000000
[DISPLAY]
# sets qtdragon_hd as screen. for debug output to terminal add -d or -v
# sets window title
# sets icon in task manager
DISPLAY = qtvcp -d qtdragon_hd
TITLE = QtDragon HD: XYZ
ICON = silver_dragon.png
# qtdragon saves most preference to this file
PREFERENCE_FILE_PATH = WORKINGFOLDER/qtdragon_hd.pref
# min/max percentage overrides allowed in qtdragon 1 = 100%
MAX_FEED_OVERRIDE = 1.2
MIN_SPINDLE_0_OVERRIDE = 0.5
MAX_SPINDLE_0_OVERRIDE = 1.2
# manual spindle speed will start at this RPM
DEFAULT_SPINDLE_0_SPEED = 12000
# spindle up/down increment in RPM
SPINDLE_INCREMENT = 200
# min max apindle speed manually allowed
MIN_SPINDLE_0_SPEED = 1000
MAX_SPINDLE_0_SPEED = 20000
# max spindle power in Watts
MAX_SPINDLE_POWER = 2000
# min/max/default jog velocities in qtdragon in units/sec
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 60.00
DEFAULT_LINEAR_VELOCITY = 50.0
#Prevent tool mark disappearing with small tool diameter in g-code preview widget
GCODE_VIEW_TOOL_MIN_DIA = 2.0
# incremental jog step length options
INCREMENTS = 10 mm, 1.0 mm, 0.10 mm, 0.01 mm, 1.0 inch, 0.1 inch, 0.01 inch
# Display grid increments
GRIDS = 0, .1 mm, 1 mm, 2 mm, 5 mm, 10 mm, .25 in, .5 in
CYCLE_TIME = 100
INTRO_GRAPHIC = silver_dragon.png
INTRO_TIME = 2
# default program search path
PROGRAM_PREFIX = ~/linuxcnc/nc_files
# NGCGUI subroutine path.
# Thr path must also be in [RS274NGC] SUBROUTINE_PATH
NGCGUI_SUBFILE_PATH = ../../../nc_files/ngcgui_lib/
# pre selected programs tabs
# specify filenames only, files must be in the NGCGUI_SUBFILE_PATH
NGCGUI_SUBFILE = slot.ngc
NGCGUI_SUBFILE = qpocket.ngc
# qtdragon saves MDI cxommands to this file
MDI_HISTORY_FILE = mdi_history.dat
# qtdragon saves rnning logs to this file
LOG_FILE = qtdragon_hd.log
[MDI_COMMAND_LIST]
# for macro buttons
MDI_COMMAND_MACRO0 = G0 Z25 X0 Y0;Z0,Goto\nZero
MDI_COMMAND_MACRO1 = G53 G0 Z0;G53 G0 X0 Y0,Goto\nMach\nZero
[FILTER]
# Controls what programs are shown inqtdragon file manager
PROGRAM_EXTENSION = .ngc,.nc,.tap G-Code File (*.ngc,*.nc,*.tap)
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
# specifies what special 'filter' programs runs based on program ending
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python3
[KINS]
KINEMATICS = trivkins coordinates=XYZ
JOINTS = 3
[EMCIO]
TOOL_TABLE = tool.tbl
[RS274NGC]
# motion controller saves parameters to this file
PARAMETER_FILE = qtdragon.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 = ../../../../nc_files/probe/basic_probe/macros:~/linuxcnc/nc_files/examples/ngcgui_lib:~/linuxcnc/nc_files/examples/ngcgui_lib/utilitysubs
# on abort, this ngc file is called. required for basic/versa probe
ON_ABORT_COMMAND=O <on_abort> call
[EMCMOT]
EMCMOT = motmod
SERVO_PERIOD = 1000000
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 100000
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[TRAJ]
COORDINATES = XYZ
LINEAR_UNITS = metric
ANGULAR_UNITS = degree
MAX_LINEAR_VELOCITY = 60.00
DEFAULT_LINEAR_VELOCITY = 50.00
SPINDLES = 1
[HAL]
HALUI = halui
HALBRIDGE = hal_bridge
HALFILE = core_sim.hal
HALFILE = simulated_home.hal
# this file is loaded after qtdragon has made it's HAl pins
# you can add multiple entries
POSTGUI_HALFILE = qtdragon_hd_postgui.hal
# this command is run after qtdragon has made it's HAl pins
# any HAL conmmand can be used
# you can add multiple entries
# uncomment this one to print all HAL pins that start with qt
#POSTGUI_HALCMD = show pin qt
# uncomment to simulate probing
#POSTGUI_HALCMD = loadusr qtvcp test_probe
[HALUI]
# no content
[PROBE]
# pick basic probe or versa probe or remove for none
#USE_PROBE = versaprobe
USE_PROBE = basicprobe
[AXIS_X]
MIN_LIMIT = -0.001
MAX_LIMIT = 520.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
[AXIS_Y]
MIN_LIMIT = -0.001
MAX_LIMIT = 630.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
[AXIS_Z]
# used by external offsets for auto spindle lift and auto leveling
OFFSET_AV_RATIO = 0.2
MIN_LIMIT = -115.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 40.0
MAX_ACCELERATION = 500.0
[JOINT_0]
AXIS = X
MIN_LIMIT = -0.001
MAX_LIMIT = 520.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 72.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = 20.0
HOME_OFFSET = 0.00000
HOME_SEARCH_VEL = 20.000000
HOME_LATCH_VEL = 10.000
HOME_SEQUENCE = 1
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_1]
AXIS = Y
MIN_LIMIT = -0.001
MAX_LIMIT = 630.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 72.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = 20.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 20.00
HOME_LATCH_VEL = 10.00
HOME_SEQUENCE = 2
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_2]
AXIS = Z
MIN_LIMIT = -115.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 40.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 48.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = -10.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 20.000000
HOME_LATCH_VEL = 10.00
HOME_SEQUENCE = 0
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False

View File

@@ -0,0 +1,262 @@
# This file was created with the 7i96 Wizard on Jun 10 2019 11:12:47
# Changes to most things are ok and will be read by the wizard
[EMC]
VERSION = 1.1
MACHINE = qtdragon
DEBUG = 0x00000000
[DISPLAY]
# sets qtdragon_hd as screen. for debug output to terminal add -d or -v
# sets window title
# sets icon in task manager
DISPLAY = qtvcp qtdragon_hd
TITLE = QtDragon HD: XYZA Rotational Axis
ICON = silver_dragon.png
# qtdragon saves most preference to this file
PREFERENCE_FILE_PATH = WORKINGFOLDER/qtdragon_hd.pref
# min/max percentage overrides allowed in qtdragon 1 = 100%
MAX_FEED_OVERRIDE = 1.2
MIN_SPINDLE_0_OVERRIDE = 0.5
MAX_SPINDLE_0_OVERRIDE = 1.2
# manual spindle speed will start at this RPM
DEFAULT_SPINDLE_0_SPEED = 12000
# spindle up/down increment in RPM
SPINDLE_INCREMENT = 200
# min max apindle speed manually allowed
MIN_SPINDLE_0_SPEED = 1000
MAX_SPINDLE_0_SPEED = 20000
# max spindle power in Watts
MAX_SPINDLE_POWER = 2000
# min/max/default jog velocities in qtdragon in units/sec
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 60.00
DEFAULT_LINEAR_VELOCITY = 25.0
DEFAULT_ANGULAR_VELOCITY = 10
MIN_ANGULAR_VELOCITY = 1
MAX_ANGULAR_VELOCITY = 360
# incremental jog step length options
INCREMENTS = 10 mm, 1.0 mm, 0.10 mm, 0.01 mm, 1.0 inch, 0.1 inch, 0.01 inch
# Display grid increments
GRIDS = 0, .1 mm, 1 mm, 2 mm, 5 mm, 10 mm, .25 in, .5 in
CYCLE_TIME = 100
INTRO_GRAPHIC = silver_dragon.png
INTRO_TIME = 2
# default program search path
PROGRAM_PREFIX = ~/linuxcnc/nc_files
# NGCGUI subroutine path.
# Thr path must also be in [RS274NGC] SUBROUTINE_PATH
NGCGUI_SUBFILE_PATH = ../../../nc_files/ngcgui_lib/
# pre selected programs tabs
# specify filenames only, files must be in the NGCGUI_SUBFILE_PATH
NGCGUI_SUBFILE = slot.ngc
NGCGUI_SUBFILE = qpocket.ngc
# qtdragon saves MDI cxommands to this file
MDI_HISTORY_FILE = mdi_history.dat
# qtdragon saves rnning logs to this file
LOG_FILE = qtdragon.log
[MDI_COMMAND_LIST]
# for macro buttons on main oage up to 10 possible
MDI_COMMAND_MACRO0 = G0 Z25;X0 Y0;Z0, Goto\nUser\nZero
MDI_COMMAND_MACRO1 = G53 G0 Z0;G53 G0 X0 Y0,Goto\nMachn\nZero
[FILTER]
# Controls what programs are shown inqtdragon file manager
PROGRAM_EXTENSION = .ngc,.nc,.tap G-Code File (*.ngc,*.nc,*.tap)
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
# specifies what special 'filter' programs runs based on program ending
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python3
[KINS]
KINEMATICS = trivkins coordinates=XYZA
JOINTS = 4
[EMCIO]
TOOL_TABLE = tool.tbl
[RS274NGC]
# motion controller saves parameters to this file
PARAMETER_FILE = qtdragon.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 = ../../../../nc_files/probe/basic_probe/macros:~/linuxcnc/nc_files/examples/ngcgui_lib:~/linuxcnc/nc_files/examples/ngcgui_lib/utilitysubs
# on abort, this ngc file is called. required for basic/versa probe
ON_ABORT_COMMAND=O <on_abort> call
[EMCMOT]
EMCMOT = motmod
SERVO_PERIOD = 1000000
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 100000
#NUM_AIO = 12
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[TRAJ]
COORDINATES = XYZA
LINEAR_UNITS = metric
ANGULAR_UNITS = degree
MAX_LINEAR_VELOCITY = 60.00
DEFAULT_LINEAR_VELOCITY = 50.00
SPINDLES = 1
[HAL]
HALUI = halui
HALBRIDGE = hal_bridge
# loads the HAL machine simulation
HALFILE = gantrysim.hal
HALFILE = simulated-gantry-home.hal
# this file is loaded after qtdragon has made it's HAl pins
# you can add multiple entries
POSTGUI_HALFILE = qtdragon_hd_postgui.hal
# this command is run after qtdragon has made it's HAl pins
# any HAL conmmand can be used
# you can add multiple entries
# uncomment this one to print all HAL pins that start with qt
#POSTGUI_HALCMD = show pin qt
# uncomment to simulate probing
#POSTGUI_HALCMD = loadusr qtvcp test_probe
[HALUI]
# no content
[PROBE]
# pick basic probe or versa probe or remove for none
#USE_PROBE = versaprobe
USE_PROBE = basicprobe
[AXIS_X]
MIN_LIMIT = -0.001
MAX_LIMIT = 520.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
[AXIS_Y]
MIN_LIMIT = -0.001
MAX_LIMIT = 630.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
[AXIS_Z]
# used by external offsets for auto spindle lift and auto leveling
OFFSET_AV_RATIO = 0.2
MIN_LIMIT = -115.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 40.0
MAX_ACCELERATION = 500.0
[AXIS_A]
MAX_VELOCITY = 60
MAX_ACCELERATION = 500.0
[JOINT_0]
AXIS = X
MIN_LIMIT = -0.001
MAX_LIMIT = 520.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 72.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = 20.0
HOME_OFFSET = -0.1
HOME_SEARCH_VEL = -20.000000
HOME_LATCH_VEL = 10.000
HOME_SEQUENCE = 2
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_1]
AXIS = Y
MIN_LIMIT = -0.001
MAX_LIMIT = 630.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 72.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = 20.0
HOME_OFFSET = -0.1
HOME_SEARCH_VEL = -20.00
HOME_LATCH_VEL = 10.00
HOME_SEQUENCE = -1
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_2]
AXIS = Z
MIN_LIMIT = -115.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 40.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 48.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = -10.0
HOME_OFFSET = 0.1
HOME_SEARCH_VEL = 20.000000
HOME_LATCH_VEL = 10.00
HOME_SEQUENCE = 0
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_3]
TYPE = ANGULAR
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
INPUT_SCALE = 40
OUTPUT_SCALE = 1.0
FERROR = 5.0
MIN_FERROR = 1.0
HOME = 0
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0
HOME_SEQUENCE = 0
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False

View File

@@ -0,0 +1,278 @@
# This file was created with the 7i96 Wizard on Jun 10 2019 11:12:47
# Changes to most things are ok and will be read by the wizard
[EMC]
VERSION = 1.1
MACHINE = qtdragon
DEBUG = 0x00000000
[DISPLAY]
# sets qtdragon as screen. for debug output to terminal add -d or -v
# sets window title
# sets icon in task manager
DISPLAY = qtvcp qtdragon_hd
TITLE = QtDragon XYZAB Rotational Axis
ICON = silver_dragon.png
# qtdragon saves most preference to this file
PREFERENCE_FILE_PATH = WORKINGFOLDER/qtdragon.pref
# min/max percentage overrides allowed in qtdragon 1 = 100%
MAX_FEED_OVERRIDE = 1.2
MIN_SPINDLE_0_OVERRIDE = 0.5
MAX_SPINDLE_0_OVERRIDE = 1.2
# manual spindle speed will start at this RPM
DEFAULT_SPINDLE_0_SPEED = 12000
# spindle up/down increment in RPM
SPINDLE_INCREMENT = 200
# min max apindle speed manually allowed
MIN_SPINDLE_0_SPEED = 1000
MAX_SPINDLE_0_SPEED = 20000
# max spindle power in Watts
MAX_SPINDLE_POWER = 2000
# min/max/default jog velocities in qtdragon in units/sec
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 60.00
DEFAULT_LINEAR_VELOCITY = 25.0
DEFAULT_ANGULAR_VELOCITY = 10
MIN_ANGULAR_VELOCITY = 1
MAX_ANGULAR_VELOCITY = 360
# incremental jog step length options
INCREMENTS = 10 mm, 1.0 mm, 0.10 mm, 0.01 mm, 1.0 inch, 0.1 inch, 0.01 inch
CYCLE_TIME = 100
INTRO_GRAPHIC = silver_dragon.png
INTRO_TIME = 2
# default program search path
PROGRAM_PREFIX = ~/linuxcnc/nc_files
# NGCGUI subroutine path.
# Thr path must also be in [RS274NGC] SUBROUTINE_PATH
NGCGUI_SUBFILE_PATH = ../../../nc_files/ngcgui_lib/
# pre selected programs tabs
# specify filenames only, files must be in the NGCGUI_SUBFILE_PATH
NGCGUI_SUBFILE = slot.ngc
NGCGUI_SUBFILE = qpocket.ngc
# qtdragon saves MDI cxommands to this file
MDI_HISTORY_FILE = mdi_history.dat
# qtdragon saves rnning logs to this file
LOG_FILE = qtdragon.log
[MDI_COMMAND_LIST]
# for macro buttons on main oage up to 10 possible
MDI_COMMAND_MACRO0 = G0 Z25;X0 Y0;Z0, Goto\nUser\nZero
MDI_COMMAND_MACRO1 = G53 G0 Z0;G53 G0 X0 Y0,Goto\nMachn\nZero
[FILTER]
# Controls what programs are shown inqtdragon file manager
PROGRAM_EXTENSION = .ngc,.nc,.tap G-Code File (*.ngc,*.nc,*.tap)
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
# specifies what special 'filter' programs runs based on program ending
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python3
[KINS]
KINEMATICS = trivkins coordinates=XYZAB
JOINTS = 5
[EMCIO]
TOOL_TABLE = tool.tbl
[RS274NGC]
# motion controller saves parameters to this file
PARAMETER_FILE = qtdragon.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 = ../../../../nc_files/probe/basic_probe/macros:~/linuxcnc/nc_files/examples/ngcgui_lib:~/linuxcnc/nc_files/examples/ngcgui_lib/utilitysubs
# on abort, this ngc file is called. required for basic/versa probe
ON_ABORT_COMMAND=O <on_abort> call
[EMCMOT]
EMCMOT = motmod
SERVO_PERIOD = 1000000
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 100000
#NUM_AIO = 12
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[TRAJ]
COORDINATES = XYZAB
LINEAR_UNITS = metric
ANGULAR_UNITS = degree
MAX_LINEAR_VELOCITY = 60.00
DEFAULT_LINEAR_VELOCITY = 50.00
SPINDLES = 1
[HAL]
HALUI = halui
HALBRIDGE = hal_bridge
# loads the HAL machine simulation
HALFILE = core_sim_XYZAB.hal
HALFILE = simulated_home.hal
# this file is loaded after qtdragon has made it's HAl pins
# you can add multiple entries
POSTGUI_HALFILE = qtdragon_hd_postgui.hal
# this command is run after qtdragon has made it's HAl pins
# any HAL conmmand can be used
# you can add multiple entries
# uncomment this one to print all HAL pins that start with qt
#POSTGUI_HALCMD = show pin qt
[HALUI]
# no content
[PROBE]
# pick basic probe or versa probe or remove for none
#USE_PROBE = versaprobe
USE_PROBE = basicprobe
[AXIS_X]
MIN_LIMIT = -0.001
MAX_LIMIT = 520.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
[AXIS_Y]
MIN_LIMIT = -0.001
MAX_LIMIT = 630.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
[AXIS_Z]
# used by external offsets for auto spindle lift and auto leveling
OFFSET_AV_RATIO = 0.2
MIN_LIMIT = -115.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 40.0
MAX_ACCELERATION = 500.0
[AXIS_A]
MAX_VELOCITY = 60
MAX_ACCELERATION = 500.0
[AXIS_B]
MAX_VELOCITY = 90.0
MAX_ACCELERATION = 1200.0
[JOINT_0]
AXIS = X
MIN_LIMIT = -0.001
MAX_LIMIT = 520.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 72.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = 20.0
HOME_OFFSET = -0.1
HOME_SEARCH_VEL = 20.000000
HOME_LATCH_VEL = 10.000
HOME_SEQUENCE = 2
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_1]
AXIS = Y
MIN_LIMIT = -0.001
MAX_LIMIT = 630.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 72.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = 20.0
HOME_OFFSET = -0.1
HOME_SEARCH_VEL = 20.00
HOME_LATCH_VEL = 10.00
HOME_SEQUENCE = 1
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_2]
AXIS = Z
MIN_LIMIT = -115.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 40.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 48.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = -10.0
HOME_OFFSET = 0.1
HOME_SEARCH_VEL = 20.000000
HOME_LATCH_VEL = 10.00
HOME_SEQUENCE = 0
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_3]
TYPE = ANGULAR
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
INPUT_SCALE = 40
OUTPUT_SCALE = 1.0
FERROR = 5.0
MIN_FERROR = 1.0
HOME = 0
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0
HOME_SEQUENCE = 0
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_4]
TYPE = ANGULAR
HOME = 0.0
MAX_VELOCITY = 90.0
MAX_ACCELERATION = 1200.0
BACKLASH = 0.000
INPUT_SCALE = 40
OUTPUT_SCALE = 1.000
FERROR = 5.0
MIN_FERROR = 1.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 0

View File

@@ -0,0 +1,278 @@
# This file was created with the 7i96 Wizard on Jun 10 2019 11:12:47
# Changes to most things are ok and will be read by the wizard
[EMC]
VERSION = 1.1
MACHINE = qtdragon
DEBUG = 0x00000000
[DISPLAY]
# sets qtdragon as screen. for debug output to terminal add -d or -v
# sets window title
# sets icon in task manager
DISPLAY = qtvcp qtdragon_hd
TITLE = QtDragon XYZA Rotational Axis
ICON = silver_dragon.png
# qtdragon saves most preference to this file
PREFERENCE_FILE_PATH = WORKINGFOLDER/qtdragon.pref
# min/max percentage overrides allowed in qtdragon 1 = 100%
MAX_FEED_OVERRIDE = 1.2
MIN_SPINDLE_0_OVERRIDE = 0.5
MAX_SPINDLE_0_OVERRIDE = 1.2
# manual spindle speed will start at this RPM
DEFAULT_SPINDLE_0_SPEED = 12000
# spindle up/down increment in RPM
SPINDLE_INCREMENT = 200
# min max apindle speed manually allowed
MIN_SPINDLE_0_SPEED = 1000
MAX_SPINDLE_0_SPEED = 20000
# max spindle power in Watts
MAX_SPINDLE_POWER = 2000
# min/max/default jog velocities in qtdragon in units/sec
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 60.00
DEFAULT_LINEAR_VELOCITY = 25.0
DEFAULT_ANGULAR_VELOCITY = 10
MIN_ANGULAR_VELOCITY = 1
MAX_ANGULAR_VELOCITY = 360
# incremental jog step length options
INCREMENTS = 10 mm, 1.0 mm, 0.10 mm, 0.01 mm, 1.0 inch, 0.1 inch, 0.01 inch
CYCLE_TIME = 100
INTRO_GRAPHIC = silver_dragon.png
INTRO_TIME = 2
# default program search path
PROGRAM_PREFIX = ~/linuxcnc/nc_files
# NGCGUI subroutine path.
# Thr path must also be in [RS274NGC] SUBROUTINE_PATH
NGCGUI_SUBFILE_PATH = ../../../nc_files/ngcgui_lib/
# pre selected programs tabs
# specify filenames only, files must be in the NGCGUI_SUBFILE_PATH
NGCGUI_SUBFILE = slot.ngc
NGCGUI_SUBFILE = qpocket.ngc
# qtdragon saves MDI cxommands to this file
MDI_HISTORY_FILE = mdi_history.dat
# qtdragon saves rnning logs to this file
LOG_FILE = qtdragon.log
[MDI_COMMAND_LIST]
# for macro buttons on main oage up to 10 possible
MDI_COMMAND_MACRO0 = G0 Z25;X0 Y0;Z0, Goto\nUser\nZero
MDI_COMMAND_MACRO1 = G53 G0 Z0;G53 G0 X0 Y0,Goto\nMachn\nZero
[FILTER]
# Controls what programs are shown inqtdragon file manager
PROGRAM_EXTENSION = .ngc,.nc,.tap G-Code File (*.ngc,*.nc,*.tap)
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
# specifies what special 'filter' programs runs based on program ending
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python3
[KINS]
KINEMATICS = trivkins coordinates=XYZAC
JOINTS = 5
[EMCIO]
TOOL_TABLE = tool.tbl
[RS274NGC]
# motion controller saves parameters to this file
PARAMETER_FILE = qtdragon.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 = ../../../../nc_files/probe/basic_probe/macros:~/linuxcnc/nc_files/examples/ngcgui_lib:~/linuxcnc/nc_files/examples/ngcgui_lib/utilitysubs
# on abort, this ngc file is called. required for basic/versa probe
ON_ABORT_COMMAND=O <on_abort> call
[EMCMOT]
EMCMOT = motmod
SERVO_PERIOD = 1000000
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 100000
#NUM_AIO = 12
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[TRAJ]
COORDINATES = XYZAC
LINEAR_UNITS = metric
ANGULAR_UNITS = degree
MAX_LINEAR_VELOCITY = 60.00
DEFAULT_LINEAR_VELOCITY = 50.00
SPINDLES = 1
[HAL]
HALUI = halui
HALBRIDGE = hal_bridge
# loads the HAL machine simulation
HALFILE = core_sim_XYZAC.hal
HALFILE = simulated_home.hal
# this file is loaded after qtdragon has made it's HAl pins
# you can add multiple entries
POSTGUI_HALFILE = qtdragon_hd_postgui.hal
# this command is run after qtdragon has made it's HAl pins
# any HAL conmmand can be used
# you can add multiple entries
# uncomment this one to print all HAL pins that start with qt
#POSTGUI_HALCMD = show pin qt
[HALUI]
# no content
[PROBE]
# pick basic probe or versa probe or remove for none
#USE_PROBE = versaprobe
USE_PROBE = basicprobe
[AXIS_X]
MIN_LIMIT = -0.001
MAX_LIMIT = 520.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
[AXIS_Y]
MIN_LIMIT = -0.001
MAX_LIMIT = 630.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
[AXIS_Z]
# used by external offsets for auto spindle lift and auto leveling
OFFSET_AV_RATIO = 0.2
MIN_LIMIT = -115.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 40.0
MAX_ACCELERATION = 500.0
[AXIS_A]
MAX_VELOCITY = 60
MAX_ACCELERATION = 500.0
[AXIS_C]
MAX_VELOCITY = 90.0
MAX_ACCELERATION = 1200.0
[JOINT_0]
AXIS = X
MIN_LIMIT = -0.001
MAX_LIMIT = 520.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 72.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = 20.0
HOME_OFFSET = -0.1
HOME_SEARCH_VEL = 20.000000
HOME_LATCH_VEL = 10.000
HOME_SEQUENCE = 2
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_1]
AXIS = Y
MIN_LIMIT = -0.001
MAX_LIMIT = 630.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 72.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = 20.0
HOME_OFFSET = -0.1
HOME_SEARCH_VEL = 20.00
HOME_LATCH_VEL = 10.00
HOME_SEQUENCE = 1
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_2]
AXIS = Z
MIN_LIMIT = -115.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 40.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 48.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = -10.0
HOME_OFFSET = 0.1
HOME_SEARCH_VEL = 20.000000
HOME_LATCH_VEL = 10.00
HOME_SEQUENCE = 0
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_3]
TYPE = ANGULAR
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
INPUT_SCALE = 40
OUTPUT_SCALE = 1.0
FERROR = 5.0
MIN_FERROR = 1.0
HOME = 0
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0
HOME_SEQUENCE = 0
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_4]
TYPE = ANGULAR
HOME = 0.0
MAX_VELOCITY = 90.0
MAX_ACCELERATION = 1200.0
BACKLASH = 0.000
INPUT_SCALE = 40
OUTPUT_SCALE = 1.000
FERROR = 5.0
MIN_FERROR = 1.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 0

View File

@@ -0,0 +1,231 @@
# This file was created with the 7i96 Wizard on Jun 10 2019 11:12:47
# Changes to most things are ok and will be read by the wizard
[EMC]
VERSION = 1.1
MACHINE = qtdragon
DEBUG = 0x00000000
[DISPLAY]
# sets qtdragon_hd as screen. for debug output to terminal add -d or -v
# sets window title
# sets icon in task manager
DISPLAY = qtvcp -d qtdragon_next
TITLE = QtDragon HD: XYZ
ICON = silver_dragon.png
# qtdragon saves most preference to this file
PREFERENCE_FILE_PATH = WORKINGFOLDER/qtdragon_hd.pref
# min/max percentage overrides allowed in qtdragon 1 = 100%
MAX_FEED_OVERRIDE = 1.2
MIN_SPINDLE_0_OVERRIDE = 0.5
MAX_SPINDLE_0_OVERRIDE = 1.2
# manual spindle speed will start at this RPM
DEFAULT_SPINDLE_0_SPEED = 12000
# spindle up/down increment in RPM
SPINDLE_INCREMENT = 200
# min max apindle speed manually allowed
MIN_SPINDLE_0_SPEED = 1000
MAX_SPINDLE_0_SPEED = 20000
# max spindle power in Watts
MAX_SPINDLE_POWER = 2000
# min/max/default jog velocities in qtdragon in units/sec
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 60.00
DEFAULT_LINEAR_VELOCITY = 50.0
# incremental jog step length options
INCREMENTS = 10 mm, 1.0 mm, 0.10 mm, 0.01 mm, 1.0 inch, 0.1 inch, 0.01 inch
CYCLE_TIME = 100
INTRO_GRAPHIC = silver_dragon.png
INTRO_TIME = 2
# default program search path
PROGRAM_PREFIX = ~/linuxcnc/nc_files
# NGCGUI subroutine path.
# Thr path must also be in [RS274NGC] SUBROUTINE_PATH
NGCGUI_SUBFILE_PATH = ../../../nc_files/ngcgui_lib/
# pre selected programs tabs
# specify filenames only, files must be in the NGCGUI_SUBFILE_PATH
NGCGUI_SUBFILE = slot.ngc
NGCGUI_SUBFILE = qpocket.ngc
# qtdragon saves MDI cxommands to this file
MDI_HISTORY_FILE = mdi_history.dat
# qtdragon saves rnning logs to this file
LOG_FILE = qtdragon_hd.log
[MDI_COMMAND_LIST]
# for macro buttons
MDI_COMMAND_MACRO0 = G0 Z25 X0 Y0;Z0,Goto\nZero
MDI_COMMAND_MACRO1 = G53 G0 Z0;G53 G0 X0 Y0,Goto\nMach\nZero
[FILTER]
# Controls what programs are shown inqtdragon file manager
PROGRAM_EXTENSION = .ngc,.nc,.tap G-Code File (*.ngc,*.nc,*.tap)
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
# specifies what special 'filter' programs runs based on program ending
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python3
[KINS]
KINEMATICS = trivkins coordinates=XYZ
JOINTS = 3
[EMCIO]
TOOL_TABLE = tool.tbl
[RS274NGC]
# motion controller saves parameters to this file
PARAMETER_FILE = qtdragon.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 = ../../../../nc_files/probe/basic_probe/macros:~/linuxcnc/nc_files/examples/ngcgui_lib:~/linuxcnc/nc_files/examples/ngcgui_lib/utilitysubs
# on abort, this ngc file is called. required for basic/versa probe
ON_ABORT_COMMAND=O <on_abort> call
[EMCMOT]
EMCMOT = motmod
SERVO_PERIOD = 1000000
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 100000
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[TRAJ]
COORDINATES = XYZ
LINEAR_UNITS = metric
ANGULAR_UNITS = degree
MAX_LINEAR_VELOCITY = 60.00
DEFAULT_LINEAR_VELOCITY = 50.00
SPINDLES = 1
[HAL]
HALUI = halui
HALFILE = core_sim.hal
HALFILE = simulated_home.hal
# this file is loaded after qtdragon has made it's HAl pins
# you can add multiple entries
#POSTGUI_HALFILE = qtdragon_hd_postgui.hal
# this command is run after qtdragon has made it's HAl pins
# any HAL conmmand can be used
# you can add multiple entries
# uncomment this one to print all HAL pins that start with qt
#POSTGUI_HALCMD = show pin qt
# uncomment to simulate probing
#POSTGUI_HALCMD = loadusr qtvcp test_probe
[HALUI]
# no content
[PROBE]
# pick basic probe or versa probe or remove for none
#USE_PROBE = versaprobe
USE_PROBE = basicprobe
[AXIS_X]
MIN_LIMIT = -0.001
MAX_LIMIT = 520.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
[AXIS_Y]
MIN_LIMIT = -0.001
MAX_LIMIT = 630.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
[AXIS_Z]
# used by external offsets for auto spindle lift and auto leveling
OFFSET_AV_RATIO = 0.2
MIN_LIMIT = -115.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 40.0
MAX_ACCELERATION = 500.0
[JOINT_0]
AXIS = X
MIN_LIMIT = -0.001
MAX_LIMIT = 520.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 72.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = 20.0
HOME_OFFSET = 0.00000
HOME_SEARCH_VEL = 20.000000
HOME_LATCH_VEL = 10.000
HOME_SEQUENCE = 1
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_1]
AXIS = Y
MIN_LIMIT = -0.001
MAX_LIMIT = 630.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 72.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = 20.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 20.00
HOME_LATCH_VEL = 10.00
HOME_SEQUENCE = 2
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_2]
AXIS = Z
MIN_LIMIT = -115.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 40.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 48.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = -10.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 20.000000
HOME_LATCH_VEL = 10.00
HOME_SEQUENCE = 0
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -0,0 +1,4 @@
T1 P1 X0 Y0 Z0.51100 A0 B0 C0 U0 V0 W0 D10.00000 I0 J0 Q0 ;1/8 end mill
T2 P2 X0 Y0 Z0.10000 A0 B0 C0 U0 V0 W0 D0.06250 I0 J0 Q0 ;1/16 end mill
T3 P3 X0 Y0 Z1.27300 A0 B0 C0 U0 V0 W0 D0.20100 I0 J0 Q0 ;#7 tap drill
T4 P4 X0 Y0 Z3.00000 A0 B0 C0 U0 V0 W0 D4.00000 I0 J0 Q0 ;4" Face Mill

View File

@@ -0,0 +1,12 @@
QtDragonHD sample configs
Fantastic large screen for mills/routers designed by forum personality Persei.
Optional choice of basic or versa probe screens.
Optional laser sight control
Optional toolplate Z setting
Optional auto lift spindle at pause
bolt circle and basic facing wizards
Demo of z level compensation using probed_points file.
Probed point is made with included gcode ripper.

View File

@@ -0,0 +1,31 @@
o<on_abort> sub
o100 if [#1 eq 5]
(machine on)
o100 elseif [#1 eq 6]
(machine off)
o100 elseif [#1 eq 7]
(estopped)
o100 elseif [#1 eq 8]
(msg,Process Aborted)
o100 else
(DEBUG,Abort Parameter is %d[#1])
o100 endif
o<on_abort> endsub
m2
These are potential abort number:
EMC_ABORT_TASK_EXEC_ERROR = 1,
EMC_ABORT_AUX_ESTOP = 2,
EMC_ABORT_MOTION_OR_IO_RCS_ERROR = 3,
EMC_ABORT_TASK_STATE_OFF = 4,
EMC_ABORT_TASK_STATE_ESTOP_RESET = 5,
EMC_ABORT_TASK_STATE_ESTOP = 6,
EMC_ABORT_TASK_STATE_NOT_ON = 7,
EMC_ABORT_TASK_ABORT = 8,
EMC_ABORT_INTERPRETER_ERROR = 9, // interpreter failed during readahead
EMC_ABORT_INTERPRETER_ERROR_MDI = 10, // interpreter failed during MDI execution
EMC_ABORT_USER = 100 // user-defined abort codes start here

View File

@@ -0,0 +1,25 @@
-50.000000 -50.000000 -0.032200 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
-25.000000 -50.000000 -0.008866 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.000000 -50.000000 0.011133 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
25.000000 -50.000000 0.037800 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
50.000000 -50.000000 0.041133 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
-50.000000 -25.000000 -0.028867 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
-25.000000 -25.000000 -0.002200 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.000000 -25.000000 0.024467 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
25.000000 -25.000000 0.054467 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
50.000000 -25.000000 0.044467 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
-50.000000 0.000000 -0.045533 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
-25.000000 0.000000 -0.012200 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
-0.000000 0.000000 0.021133 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
25.000000 0.000000 0.044467 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
50.000000 0.000000 0.034467 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
-50.000000 25.000000 -0.055533 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
-25.000000 25.000000 -0.025533 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.000000 25.000000 0.007800 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
25.000000 25.000000 0.034467 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
50.000000 25.000000 0.041134 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
-50.000000 50.000000 -0.068867 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
-25.000000 50.000000 -0.038866 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.000000 50.000000 -0.008866 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
25.000000 50.000000 0.027800 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
50.000000 50.000000 0.031133 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000

View File

@@ -0,0 +1,58 @@
# load components
########################################################################
loadrt logic names=logic-and personality=0x102
addf logic-and servo-thread
# load a summing component for adding spindle lift and Z compensation
loadrt scaled_s32_sums
addf scaled-s32-sums.0 servo-thread
loadusr -Wn z_level_compensation z_level_compensation
# method parameter must be one of nearest(2), linear(1), cubic (0)
setp z_level_compensation.fade-height 0.0
setp z_level_compensation.method 1
# connect signals
########################################################################
net spindle-speed-limited => spindle.0.speed-out-rps => spindle.0.speed-in
# the unlink pin commands are only used, because they are connected
# in core_sim.hal and we use this file to simulate
unlinkp iocontrol.0.tool-change
unlinkp iocontrol.0.tool-changed
unlinkp iocontrol.0.tool-prep-number
net tool-change hal_manualtoolchange.change <= iocontrol.0.tool-change
net tool-changed hal_manualtoolchange.changed <= iocontrol.0.tool-changed
net tool-prep-number hal_manualtoolchange.number <= iocontrol.0.tool-prep-number
net eoffset-clear axis.z.eoffset-clear
net eoffset-counts axis.z.eoffset-counts
setp axis.z.eoffset-scale .001
net eoffset-total axis.z.eoffset
net eoffset-total qtdragon.eoffset-value
setp axis.z.eoffset-enable True
## external offsets for spindle pause function
##################################################
net eoffset-clear qtdragon.eoffset-clear
net eoffset-spindle-count <= qtdragon.eoffset-spindle-count
net spindle-pause qtdragon.spindle-inhibit => spindle.0.inhibit
net eoffset-state qtdragon.eoffset-is-active <= motion.eoffset-active
## Z level compensation
####################################################
net eoffset-clr2 z_level_compensation.clear => logic-and.in-01
net xpos-cmd z_level_compensation.x-pos <= axis.x.pos-cmd
net ypos-cmd z_level_compensation.y-pos <= axis.y.pos-cmd
net zpos-cmd z_level_compensation.z-pos <= axis.z.pos-cmd
net z_compensation_on z_level_compensation.enable-in <= qtdragon.comp-on
net eoffset-zlevel-count z_level_compensation.counts => qtdragon.eoffset-zlevel-count
net eoffset-spindle-count scaled-s32-sums.0.in0
net eoffset-zlevel-count scaled-s32-sums.0.in1
setp scaled-s32-sums.0.scale0 1000
net eoffset-counts scaled-s32-sums.0.out-s

View File

@@ -0,0 +1,233 @@
# This file was created with the 7i96 Wizard on Jun 10 2019 11:12:47
# Changes to most things are ok and will be read by the wizard
[EMC]
VERSION = 1.1
MACHINE = qtdragon
DEBUG = 0x00000000
[DISPLAY]
# sets qtdragon_hd as screen. for debug output to terminal add -d or -v
# sets window title
# sets icon in task manager
DISPLAY = qtvcp -d qtdragon_hd
TITLE = QtDragon HD: XYZ
ICON = silver_dragon.png
# qtdragon saves most preference to this file
PREFERENCE_FILE_PATH = WORKINGFOLDER/qtdragon_hd.pref
# min/max percentage overrides allowed in qtdragon 1 = 100%
MAX_FEED_OVERRIDE = 1.2
MIN_SPINDLE_0_OVERRIDE = 0.5
MAX_SPINDLE_0_OVERRIDE = 1.2
# manual spindle speed will start at this RPM
DEFAULT_SPINDLE_0_SPEED = 12000
# spindle up/down increment in RPM
SPINDLE_INCREMENT = 200
# min max apindle speed manually allowed
MIN_SPINDLE_0_SPEED = 1000
MAX_SPINDLE_0_SPEED = 20000
# max spindle power in Watts
MAX_SPINDLE_POWER = 2000
# min/max/default jog velocities in qtdragon in units/sec
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 60.00
DEFAULT_LINEAR_VELOCITY = 50.0
# incremental jog step length options
INCREMENTS = 10 mm, 1.0 mm, 0.10 mm, 0.01 mm, 1.0 inch, 0.1 inch, 0.01 inch
CYCLE_TIME = 100
INTRO_GRAPHIC = silver_dragon.png
INTRO_TIME = 2
# default program search path
PROGRAM_PREFIX = ~/linuxcnc/nc_files
# NGCGUI subroutine path.
# Thr path must also be in [RS274NGC] SUBROUTINE_PATH
NGCGUI_SUBFILE_PATH = ../../../nc_files/ngcgui_lib/
# pre selected programs tabs
# specify filenames only, files must be in the NGCGUI_SUBFILE_PATH
NGCGUI_SUBFILE = slot.ngc
NGCGUI_SUBFILE = qpocket.ngc
# qtdragon saves MDI cxommands to this file
MDI_HISTORY_FILE = mdi_history.dat
# qtdragon saves rnning logs to this file
LOG_FILE = qtdragon_hd.log
[MDI_COMMAND_LIST]
# for macro buttons
MDI_COMMAND_MACRO0 = G0 Z25 X0 Y0;Z0,Goto\nZero
MDI_COMMAND_MACRO1 = G53 G0 Z0;G53 G0 X0 Y0,Goto\nMach\nZero
[FILTER]
# Controls what programs are shown inqtdragon file manager
PROGRAM_EXTENSION = .ngc,.nc,.tap G-Code File (*.ngc,*.nc,*.tap)
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
# specifies what special 'filter' programs runs based on program ending
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python
[KINS]
KINEMATICS = trivkins coordinates=XYZ
JOINTS = 3
[EMCIO]
TOOL_TABLE = tool.tbl
[RS274NGC]
# motion controller saves parameters to this file
PARAMETER_FILE = qtdragon.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 = ../../../../nc_files/probe/basic_probe/macros:~/linuxcnc/nc_files/examples/ngcgui_lib:~/linuxcnc/nc_files/examples/ngcgui_lib/utilitysubs
# on abort, this ngc file is called. required for basic/versa probe
ON_ABORT_COMMAND=O <on_abort> call
[EMCMOT]
EMCMOT = motmod
SERVO_PERIOD = 1000000
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 100000
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[TRAJ]
COORDINATES = XYZ
LINEAR_UNITS = metric
ANGULAR_UNITS = degree
MAX_LINEAR_VELOCITY = 60.00
DEFAULT_LINEAR_VELOCITY = 50.00
SPINDLES = 1
[HAL]
HALUI = halui
HALBRIDGE = hal_bridge
HALFILE = core_sim.hal
HALFILE = simulated_home.hal
# this file is loaded after qtdragon has made it's HAl pins
# you can add multiple entries
POSTGUI_HALFILE = qtdragon_hd_postgui.hal
# this command is run after qtdragon has made it's HAl pins
# any HAL conmmand can be used
# you can add multiple entries
# uncomment this one to print all HAL pins that start with qt
#POSTGUI_HALCMD = show pin qt
# uncomment to simulate probing
#POSTGUI_HALCMD = loadusr qtvcp test_probe
[HALUI]
# no content
[PROBE]
# pick basic probe or versa probe or remove for none
#USE_PROBE = versaprobe
USE_PROBE = basicprobe
[AXIS_X]
MIN_LIMIT = -0.001
MAX_LIMIT = 520.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
[AXIS_Y]
MIN_LIMIT = -0.001
MAX_LIMIT = 630.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
[AXIS_Z]
# used by external offsets for auto spindle lift and auto leveling
OFFSET_AV_RATIO = 0.2
MIN_LIMIT = -115.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 40.0
MAX_ACCELERATION = 500.0
[JOINT_0]
AXIS = X
MIN_LIMIT = -0.001
MAX_LIMIT = 520.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 72.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = 20.0
HOME_OFFSET = 0.00000
HOME_SEARCH_VEL = 20.000000
HOME_LATCH_VEL = 10.000
HOME_SEQUENCE = 1
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_1]
AXIS = Y
MIN_LIMIT = -0.001
MAX_LIMIT = 630.0
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 72.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = 20.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 20.00
HOME_LATCH_VEL = 10.00
HOME_SEQUENCE = 2
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[JOINT_2]
AXIS = Z
MIN_LIMIT = -115.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 40.0
MAX_ACCELERATION = 500.0
TYPE = LINEAR
SCALE = 160.0
STEPGEN_MAX_VEL = 48.0
STEPGEN_MAX_ACC = 600.0
FERROR = 1.0
MIN_FERROR = 0.5
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = -10.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 20.000000
HOME_LATCH_VEL = 10.00
HOME_SEQUENCE = 0
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -0,0 +1,4 @@
T1 P1 X0 Y0 Z0.51100 A0 B0 C0 U0 V0 W0 D10.00000 I0 J0 Q0 ;1/8 end mill
T2 P2 X0 Y0 Z0.10000 A0 B0 C0 U0 V0 W0 D0.06250 I0 J0 Q0 ;1/16 end mill
T3 P3 X0 Y0 Z1.27300 A0 B0 C0 U0 V0 W0 D0.20100 I0 J0 Q0 ;#7 tap drill
T4 P4 X0 Y0 Z3.00000 A0 B0 C0 U0 V0 W0 D4.00000 I0 J0 Q0 ;4" Face Mill