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,27 @@
The TEMPORARY xyzb directory contains standalone, simplified xyzb ini examples
to test:
a) wheel jogging for IDENTITY kins configs where the hal pins
for joints and axes jogging are connected together
b) omitted axis letters
c) duplicated axis letters (ref: some gantry configs do this)
d) locking indexer on AXIS_B (the joint number depends on the configuration
e) automatically set mode to teleop after homing
The configs start additional applications:
1) sim_pin gui to demonstrate wheel jogging for joints and axes
Signal j:x is jog-counts for axis x AND joint 0
Signal j:y is jog-counts for axis y AND joint 1
Signal j:z is jog-counts for axis z AND joint 2
Signal j:b is jog-counts for axis b AND joint 3
2) halshow app to show relevant hal pins
xyzb.ini trivkins with omitted axis letter (a)
xyyzb.ini trivkins with omitted axis letter (a)
and duplicated axis letter (y)
and auto teleop after homing
The xyyzb.ini uses the trivkins kinstype option
to set the kinematics type to KINEMATICS_BOTH to demonstrate
jogging and teleop jogging.

View File

@@ -0,0 +1,135 @@
[APPLICATIONS]
# wheel jog simulation:
# independent joint and axis wheels:
APP = sim_pin halui.mode.joint/mode=Pulse \
joint.0.jog-counts \
joint.1.jog-counts \
joint.2.jog-counts \
joint.3.jog-counts \
joint.4.jog-counts \
>/dev/null
APP = sim_pin halui.mode.teleop/mode=Pulse \
axis.x.jog-counts \
axis.y.jog-counts \
axis.z.jog-counts \
>/dev/null
APP = halshow xyzb.halshow
[KINS]
JOINTS = 5
KINEMATICS = trivkins coordinates=xyyzb kinstype=both
[HAL]
HALUI = halui
HALFILE = LIB:basic_sim.tcl
HALFILE = LIB:wheeljogpins.tcl 0.1
# simulate a locking rotary joint4
HALCMD = loadrt timedelay names=timedelay_unlock
HALCMD = addf timedelay_unlock servo-thread
HALCMD = net B-unlock joint.4.unlock => timedelay_unlock.in
HALCMD = net B-is-unlocked timedelay_unlock.out => joint.4.is-unlocked
HALCMD = setp timedelay_unlock.on-delay 0.75
HALCMD = setp timedelay_unlock.off-delay 0.5
[EMC]
VERSION = 1.1
MACHINE = XYYZB trivkins coordinates=xyyzb KINEMATICS_BOTH
[DISPLAY]
DISPLAY = axis
CYCLE_TIME = 0.100
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 1.2
GEOMETRY = XYZB
[TASK]
TASK = milltask
CYCLE_TIME = 0.001
[RS274NGC]
PARAMETER_FILE = xyzb.var
[EMCMOT]
EMCMOT = motmod unlock_joints_mask=0x10
COMM_TIMEOUT = 1.0
SERVO_PERIOD = 1000000
[TRAJ]
NO_FORCE_HOMING = 1
COORDINATES = X Y Y Z B
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 10.0
DEFAULT_LINEAR_ACCELERATION = 200.0
DEFAULT_ANGULAR_VELOCITY = 45.0
MAX_LINEAR_VELOCITY = 10
MAX_LINEAR_ACCELERATION = 200.0
MAX_ANGULAR_VELOCITY = 3600.0
[AXIS_X]
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 10
MAX_ACCELERATION = 200
[AXIS_Y]
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 10
MAX_ACCELERATION = 200
[AXIS_Z]
MIN_LIMIT = -2.0
MAX_LIMIT = 4.0
MAX_VELOCITY = 10
MAX_ACCELERATION = 200
[AXIS_B]
LOCKING_INDEXER_JOINT = 4
MAX_ACCELERATION = 200
MAX_VELOCITY = 3600
[JOINT_0]
TYPE = LINEAR
HOME = 0.000
MAX_VELOCITY = 10
MAX_ACCELERATION = 200.0
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_SEQUENCE = 0
[JOINT_1]
TYPE = LINEAR
HOME = 0.000
MAX_VELOCITY = 10
MAX_ACCELERATION = 200.0
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_SEQUENCE = 0
[JOINT_2]
TYPE = LINEAR
HOME = 0.000
MAX_VELOCITY = 10
MAX_ACCELERATION = 200.0
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_SEQUENCE = 0
[JOINT_3]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 10
MAX_ACCELERATION = 200.0
MIN_LIMIT = -2.0
MAX_LIMIT = 4.0
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_SEQUENCE = 0
[JOINT_4]
TYPE = ANGULAR
HOME = 0.0
MAX_VELOCITY = 90.0
MAX_ACCELERATION = 1200.0
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
LOCKING_INDEXER = 1
HOME_SEQUENCE = 0

View File

@@ -0,0 +1,30 @@
# for trivkins xyzb
# --> 0123
# connect joint and axis jog pins together for corresponding items
net j:x axis.x.jog-counts joint.0.jog-counts
net j:y axis.y.jog-counts joint.1.jog-counts
net j:z axis.z.jog-counts joint.2.jog-counts
net j:b axis.b.jog-counts joint.3.jog-counts
net j:e joint.0.jog-enable joint.1.jog-enable joint.2.jog-enable joint.3.jog-enable
net j:e axis.x.jog-enable axis.y.jog-enable axis.z.jog-enable axis.b.jog-enable
sets j:e 1
net j:s joint.0.jog-scale joint.1.jog-scale joint.2.jog-scale joint.3.jog-scale
net j:s axis.x.jog-scale axis.y.jog-scale axis.z.jog-scale axis.b.jog-scale
sets j:s 1
net j:v joint.0.jog-vel-mode joint.1.jog-vel-mode joint.2.jog-vel-mode joint.3.jog-vel-mode
net j:v axis.x.jog-vel-mode axis.y.jog-vel-mode axis.z.jog-vel-mode axis.b.jog-vel-mode
sets j:v 1
# simulate a locking rotary joint3
loadrt timedelay names=timedelay_unlock
addf timedelay_unlock servo-thread
net B-unlock joint.3.unlock => timedelay_unlock.in
net B-is-unlocked timedelay_unlock.out => joint.3.is-unlocked
setp timedelay_unlock.on-delay 0.75
setp timedelay_unlock.off-delay 0.5

View File

@@ -0,0 +1,18 @@
# halshow watchlist created Wed Mar 09 18:54:13 MST 2016
pin+motion.teleop-mode
pin+joint.0.jog-counts
pin+joint.1.jog-counts
pin+joint.2.jog-counts
pin+joint.3.jog-counts
pin+joint.4.jog-counts
pin+axis.x.jog-counts
pin+axis.y.jog-counts
pin+axis.z.jog-counts
pin+axis.b.jog-counts
pin+joint.3.unlock
pin+joint.3.is-unlocked
pin+joint.3.homed
pin+joint.4.unlock
pin+joint.4.is-unlocked
pin+joint.4.homed

View File

@@ -0,0 +1,117 @@
[APPLICATIONS]
# wheel jog simulation:
APP = sim_pin \
axis.x.jog-counts \
axis.y.jog-counts \
axis.z.jog-counts \
axis.b.jog-counts \
>/dev/null
APP = halshow xyzb.halshow
[KINS]
JOINTS = 4
KINEMATICS = trivkins coordinates=xyzb
[HAL]
HALUI = halui
HALFILE = LIB:basic_sim.tcl
HALFILE = LIB:wheeljogpins.tcl 0.1
# simulate a locking rotary joint3
HALCMD = loadrt timedelay names=timedelay_unlock
HALCMD = addf timedelay_unlock servo-thread
HALCMD = net B-unlock joint.3.unlock => timedelay_unlock.in
HALCMD = net B-is-unlocked timedelay_unlock.out => joint.3.is-unlocked
HALCMD = setp timedelay_unlock.on-delay 0.75
HALCMD = setp timedelay_unlock.off-delay 0.5
[EMC]
VERSION = 1.1
MACHINE = XYZB trivkins coordinates=xyzb
[DISPLAY]
DISPLAY = axis
CYCLE_TIME = 0.100
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 1.2
GEOMETRY = XYZB
[TASK]
TASK = milltask
CYCLE_TIME = 0.001
[RS274NGC]
PARAMETER_FILE = xyzb.var
[EMCMOT]
EMCMOT = motmod unlock_joints_mask=0x08
COMM_TIMEOUT = 1.0
SERVO_PERIOD = 1000000
[TRAJ]
NO_FORCE_HOMING = 1
COORDINATES = X Y Z B
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 10.0
DEFAULT_LINEAR_ACCELERATION = 200.0
DEFAULT_ANGULAR_VELOCITY = 45.0
MAX_LINEAR_VELOCITY = 10
MAX_LINEAR_ACCELERATION = 200.0
MAX_ANGULAR_VELOCITY = 3600.0
[AXIS_X]
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 10
MAX_ACCELERATION = 200
[AXIS_Y]
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 10
MAX_ACCELERATION = 200
[AXIS_Z]
MIN_LIMIT = -2.0
MAX_LIMIT = 4.0
MAX_VELOCITY = 10
MAX_ACCELERATION = 200
[AXIS_B]
LOCKING_INDEXER_JOINT = 3
MAX_ACCELERATION = 200
MAX_VELOCITY = 3600
[JOINT_0]
TYPE = LINEAR
HOME = 0.000
MAX_VELOCITY = 10
MAX_ACCELERATION = 200.0
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_SEQUENCE = 0
[JOINT_1]
TYPE = LINEAR
HOME = 0.000
MAX_VELOCITY = 10
MAX_ACCELERATION = 200.0
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_SEQUENCE = 0
[JOINT_2]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 10
MAX_ACCELERATION = 200.0
MIN_LIMIT = -2.0
MAX_LIMIT = 4.0
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_SEQUENCE = 0
[JOINT_3]
TYPE = ANGULAR
HOME = 0.0
MAX_VELOCITY = 90.0
MAX_ACCELERATION = 1200.0
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
LOCKING_INDEXER = 1
HOME_SEQUENCE = 0

View File

@@ -0,0 +1,69 @@
xyzx_gantry configs using:
trivkins coordinates=xyzx kintype=BOTH
xyzx.ini -- includes sim_pin simulation for wheel jogging
xyzx-xhc-hb04.ini -- uses an xhc-hb04 pendant (18 button model)
Usage:
1) F1 (estop off)
F2 (machine on)
Ctrl-HOME (home, switch automatically to teleop mode)
2) Teleop mode jogging:
keyboard jog: Left/Right arrows------ x
Up/Dn arrows----------- y
PgUp/Dn---------------- z
left/right bracket----- x
mpg jog: rotary x/wheel -------- x
rotary y/wheel -------- y
rotary z/wheel -------- z
rotary a/wheel -------- none
sim_pin jog jog:x-0 +/- ----------- x
jog:y-1 +/- ----------- y
jog:z-2 +/- ----------- z
jog:3 +/- ----------- none
3) To switch to joint mode in axis gui, use '$' key
4) Joint mode jogging:
keyboard jog: Left/Right arrows------ joint_0
Up/Dn arrows----------- joint_1
PgUp/Dn---------------- joint_2
left/right bracket----- joint_3
mpg jog: rotary x/wheel -------- joint_0
rotary y/wheel -------- joint_1
rotary z/wheel -------- joint_2
rotary a/wheel -------- joint_3
sim_pin jog jog:x-0 +/- ----------- joint_0
jog:y-1 +/- ----------- joint_1
jog:z-2 +/- ----------- joint_2
jog:3 +/- ----------- joint_3
Notes:
a) For simplicity, the configs connect:
joint.N.motor=pos-cmd => joint.0.motor-pos-fb
and use immediate homing (no home switch logic).
b) The configs use [KINS]AUTOTELEOP= to automatically
switch to teleop mode after homing.
c) The LIB:xhc-hb04.tcl script handles configurations
with known kinematics -- trivkins for the configs
provided here.
d) For a machine configured as xyzx, the 0,1,2 --> x,y,z
connections are handled automatically by LIB:xhc-hb04.tcl.
Additional hal connections to allow jogging joint_3
are done in a postgui hal file (xhc-hb04-postgui.hal).
In practice, independent joint jogging of joint_0 and joint_3
may rack a gantry or cause other problems if not used with
extreme care.

View File

@@ -0,0 +1,19 @@
# optional postgui hal file to allow MPG wheel jog of joint_3
# using the fourth xhc-hb04 rotary switch position (labeled 'a')
# connect to existing signals:
net pendant:jog-scale => joint.3.jog-scale
net pendant:wheel-counts => pendant_util.in3
# make new signals and connections for optionalj3 jogging:
net optionalj3:enable <= xhc-hb04.jog.enable-a
net optionalj3:enable => joint.3.jog-enable
net optionalj3:filtered <= pendant_util.out3
net optionalj3:filtered => joint.3.jog-counts
# scale3 value is: kvalue * scale_for_rotary_switch_a
# kvalue=100 is a constant defined in xhc-hb04.tcl
# scale_for_rotary_switch_a=1 defined in xhc-hb04.inc
setp pendant_util.scale3 100

View File

@@ -0,0 +1,100 @@
[XHC_HB04_CONFIG]
# specify layout = n for LIB:xhc-hb04-layout{n}.cfg files
layout = 2
# coords: specify upto 4 letters from set {x y z a b c u v w}
# coords: switch labels are xyza but any unique 4 letters
# from the set {xyxabcuvw} can be used (if the coord exists)
coords = x y z
# lowpass settings:
# coef: slows rate of change of output, range: 0 < coef < 1
coefs = 1 1 1 1
# scale plus or minus, rotaries may require larger scale factor:
scales = 1 1 1 1
# jogmode normal(default) or vnormal
jogmode = normal
# sequence 1: 0.001,0.010,0.100,1.000 (mm-based machine)
# sequence 2: 0.001,0.005,0.010,0.020 (inch-based machine)
# sequence 3: 0.001,0.010,0.100
# sequence 4: 0.001,0.005,0.010,0.020,0.050,0.100
# sequence 5: 0.001,0.010,0.050,0.100,1.000
sequence = 2
# require_pendant = no: create xhc-hb04 hal pins when pendant not
# connected at startup
require_pendant = no
# inch_or_mm = in | mm
inch_or_mm = in
# mpg_accels: provision for reduced acceleration for manual mode jogging
mpg_accels = 20 20 20 20
[XHC_HB04_BUTTONS]
# use button names according to layout file LIB:xhc-hb04-layout{n}.cfg
# note: "start-pause" is connected for standard behavior
# controlling halui.pause/halui.resume/halui.run
# these are examples, edit as required:
goto-zero = halui.mdi-command-00
# synthesized per-axis buttons for goto-zero button:
goto-zero-x = ""
goto-zero-y = ""
goto-zero-z = ""
goto-zero-a = ""
start-pause = std_start_pause
rewind = halui.program.step
# probe-input for simulating a probe:
probe-z = motion.probe-input
macro-3 = halui.mdi-command-03
half = halui.spindle.0.stop
# synthesized per-axis buttons for half button:
half-x = ""
half-y = ""
half-z = ""
half-a = ""
zero = ""
# synthesized per-axis buttons for zero button:
zero-x = halui.mdi-command-12
zero-y = halui.mdi-command-13
zero-z = halui.mdi-command-14
zero-a = halui.mdi-command-15
safe-z = halui.mdi-command-10
# in this sim, home-all only works first time, hold down till finished:
home = halui.home-all
macro-1 = halui.mdi-command-01
macro-2 = halui.mdi-command-02
spindle = halui.spindle.0.start
step = xhc-hb04.stepsize-up
mode = ""
macro-6 = halui.mdi-command-06
macro-7 = halui.mdi-command-07
stop = halui.program.stop
reset = halui.estop.activate
[HALUI]
# these are examples, edit as required:
# a halui hal pin is created for each MDI_COMMAND below
# halui.mdi-command-00, halui.mdi-command-01,... etc
MDI_COMMAND=G0 X0 Y0 Z0
MDI_COMMAND=(debug, example: mdi-01)
MDI_COMMAND=(debug, example: mdi-02)
#03 M110: clears notifications
MDI_COMMAND=M110
MDI_COMMAND=(debug, example: mdi-04)
MDI_COMMAND=(debug, example: mdi-05)
MDI_COMMAND=(debug, example: mdi-06)
#07 M101: example print to stdout
MDI_COMMAND=M101
MDI_COMMAND=(debug, example: mdi-08)
MDI_COMMAND=(debug, example: mdi-09)
MDI_COMMAND=(debug, example: mdi-10)
MDI_COMMAND=(debug, example: mdi-11)
#12
MDI_COMMAND= G10 L20 P0 X0
#13
MDI_COMMAND= G10 L20 P0 Y0
#14
MDI_COMMAND= G10 L20 P0 Z0
#15
MDI_COMMAND= G10 L20 P0 C0

View File

@@ -0,0 +1,13 @@
#INCLUDE xyzx_base.inc
#INCLUDE xhc-hb04.inc
[APPLICATIONS]
APP = halshow xyzx.halshow
[HAL]
HALUI = halui
HALFILE = LIB:basic_sim.tcl
HALFILE = LIB:xhc-hb04.tcl
# optional, use to support jogging of joint_3:
POSTGUI_HALFILE = ./xhc-hb04-postgui.hal

View File

@@ -0,0 +1,26 @@
pin+motion.teleop-mode
sig+pendant:wheel-counts
pin+joint.0.jog-enable
pin+joint.1.jog-enable
pin+joint.2.jog-enable
pin+joint.3.jog-enable
pin+joint.0.jog-scale
pin+joint.1.jog-scale
pin+joint.2.jog-scale
pin+joint.3.jog-scale
pin+joint.0.motor-pos-cmd
pin+joint.1.motor-pos-cmd
pin+joint.2.motor-pos-cmd
pin+joint.3.motor-pos-cmd
pin+axis.x.jog-enable
pin+axis.y.jog-enable
pin+axis.z.jog-enable
pin+axis.x.pos-cmd
pin+axis.y.pos-cmd
pin+axis.z.pos-cmd

View File

@@ -0,0 +1,17 @@
#INCLUDE xyzx_base.inc
[APPLICATIONS]
# wheel jog simulation:
APP = sim_pin \
jog:x-0 \
jog:y-1 \
jog:z-2 \
jog:3 \
>/dev/null
APP = halshow xyzx.halshow
[HAL]
HALUI = halui
HALFILE = LIB:basic_sim.tcl
HALFILE = ./xyzx_jog.hal

View File

@@ -0,0 +1,88 @@
[EMC]
VERSION = 1.1
MACHINE = trivkins xyzx KINEMATICS_BOTH
DEBUG = 0
[KINS]
KINEMATICS = trivkins coordinates=xyzx kinstype=BOTH
JOINTS = 4
[DISPLAY]
JOG_AXES = XYZX
DISPLAY = axis
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
CYCLE_TIME = 0.100
MAX_FEED_OVERRIDE = 1.2
[TASK]
TASK = milltask
CYCLE_TIME = 0.001
[RS274NGC]
PARAMETER_FILE = xyzx.var
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
SERVO_PERIOD = 1000000
[TRAJ]
NO_FORCE_HOMING = 1
COORDINATES = X Y Z X
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 10.0
DEFAULT_LINEAR_ACCELERATION = 200.0
MAX_LINEAR_VELOCITY = 10.0
MAX_LINEAR_ACCELERATION = 200.0
[AXIS_X]
MAX_LIMIT = 1e10
MIN_LIMIT = -1e10
MAX_VELOCITY = 10
MAX_ACCELERATION = 200
[AXIS_Y]
MAX_LIMIT = 1e10
MIN_LIMIT = -1e10
MAX_VELOCITY = 10
MAX_ACCELERATION = 200
[AXIS_Z]
MAX_LIMIT = 1e10
MIN_LIMIT = -1e10
MAX_VELOCITY = 10
MAX_ACCELERATION = 200
[JOINT_0]
TYPE = LINEAR
MAX_LIMIT = 1e10
MIN_LIMIT = -1e10
MAX_VELOCITY = 10
MAX_ACCELERATION = 200.0
HOME_SEARCH_VEL = 0
HOME_SEQUENCE = 0
[JOINT_1]
TYPE = LINEAR
MAX_LIMIT = 1e10
MIN_LIMIT = -1e10
MAX_VELOCITY = 10
MAX_ACCELERATION = 200.0
HOME_SEARCH_VEL = 0
HOME_SEQUENCE = 0
[JOINT_2]
TYPE = LINEAR
MAX_LIMIT = 1e10
MIN_LIMIT = -1e10
MAX_VELOCITY = 10
MAX_ACCELERATION = 200.0
HOME_SEARCH_VEL = 0
HOME_SEQUENCE = 0
[JOINT_3]
TYPE = LINEAR
MAX_LIMIT = 1e10
MIN_LIMIT = -1e10
MAX_VELOCITY = 10
MAX_ACCELERATION = 200.0
HOME_SEARCH_VEL = 0
HOME_SEQUENCE = 0

View File

@@ -0,0 +1,38 @@
# connect joint and axis jog pins together for corresponding items
net jog:x-0 axis.x.jog-counts
net jog:x-0 joint.0.jog-counts
net jog:y-1 axis.y.jog-counts
net jog:y-1 joint.1.jog-counts
net jog:z-2 axis.z.jog-counts
net jog:z-2 joint.2.jog-counts
net jog:3 joint.3.jog-counts
net jog:enable joint.0.jog-enable
net jog:enable joint.1.jog-enable
net jog:enable joint.2.jog-enable
net jog:enable joint.3.jog-enable
net jog:enable axis.x.jog-enable
net jog:enable axis.y.jog-enable
net jog:enable axis.z.jog-enable
sets jog:enable 1
net jog:scale joint.0.jog-scale
net jog:scale joint.1.jog-scale
net jog:scale joint.2.jog-scale
net jog:scale joint.3.jog-scale
net jog:scale axis.x.jog-scale
net jog:scale axis.y.jog-scale
net jog:scale axis.z.jog-scale
sets jog:scale 1
net jog:vmode joint.0.jog-vel-mode
net jog:vmode joint.1.jog-vel-mode
net jog:vmode joint.2.jog-vel-mode
net jog:vmode joint.3.jog-vel-mode
net jog:vmode axis.x.jog-vel-mode
net jog:vmode axis.y.jog-vel-mode
net jog:vmode axis.z.jog-vel-mode
sets jog:vmode 1

View File

@@ -0,0 +1,21 @@
trivkins examples
xz.ini KINEMATICS_IDENTITY
xz_both.ini KINEMATICS_BOTH
xz_both_auto.ini KINEMATICS_BOTH
(auto switch to teleop after homing)
NOTE:
!!! [TRAJ]COORDINATES MUST AGREE WITH KINS:
!!! [TRAJ]COORDINATES = xz
xz.ini
[KINS]KINEMATICS=trivkins coordinates=xz
xz_both.ini
KINEMATICS = trivkins coordinates=xz kinstype=BOTH
xz_both_auto.ini
KINEMATICS = trivkins coordinates=xz kinstype=BOTH

View File

@@ -0,0 +1,12 @@
#INCLUDE xzbase.inc
[EMC]
VERSION = 1.1
MACHINE = trivkins XZ KINEMATICS_IDENTITY
DEBUG = 0
[KINS]
# Note: coordinates must agree with [TRAJ]COORDINATES
# trivkins with no kinstype defaults to KINEMATICS_IDENTITY
KINEMATICS = trivkins coordinates=xz
JOINTS = 2

View File

@@ -0,0 +1,2 @@
T1 P1 D0.100000 X-0.333000 Z+0.100000 ;
T2 P2 D0.200000 Z+0.200000 ;

View File

@@ -0,0 +1,11 @@
#INCLUDE xzbase.inc
[EMC]
VERSION = 1.1
MACHINE = trivkins XZ KINEMATICS_BOTH
DEBUG = 0
[KINS]
# Note: coordinates must agree with [TRAJ]COORDINATES
KINEMATICS = trivkins coordinates=xz kinstype=BOTH
JOINTS = 2

View File

@@ -0,0 +1,11 @@
#INCLUDE xzbase.inc
[EMC]
VERSION = 1.1
MACHINE = trivkins XZ KINEMATICS_BOTH,AUTO TELEOP
DEBUG = 0
[KINS]
# Note: coordinates must agree with [TRAJ]COORDINATES
KINEMATICS = trivkins coordinates=xz kinstype=BOTH
JOINTS = 2

View File

@@ -0,0 +1,95 @@
[HAL]
HALFILE = LIB:basic_sim.tcl
HALUI = halui
[TRAJ]
COORDINATES = XZ
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 1.0
DEFAULT_LINEAR_ACCELERATION = 20.0
MAX_LINEAR_VELOCITY = 4.44444
MAX_LINEAR_ACCELERATION = 22.2222
[DISPLAY]
DISPLAY = axis
LATHE = 1
#EDITOR = geany
TOOL_EDITOR = tooledit diam z
PROGRAM_PREFIX = ../../nc_files/
CYCLE_TIME = 0.100
HELP_FILE = doc/help.txt
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 1.2
MAX_SPINDLE_OVERRIDE = 1.0
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python3
[RS274NGC]
PARAMETER_FILE = xz.var
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
BASE_PERIOD = 50000
SERVO_PERIOD = 1000000
[TASK]
TASK = milltask
CYCLE_TIME = 0.001
[EMCIO]
TOOL_TABLE = xz.tbl
TOOL_CHANGE_POSITION = 2 0 1
TOOL_CHANGE_WITH_SPINDLE_ON = 1
[JOINT_0]
TYPE = LINEAR
HOME = 0.000
MAX_VELOCITY = 3.3
MAX_ACCELERATION = 20.3
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
HOME_OFFSET = 1.0
HOME_SEARCH_VEL = 5.0
HOME_LATCH_VEL = 1.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 0
[JOINT_1]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 3.4
MAX_ACCELERATION = 20.4
MIN_LIMIT = -2.0
MAX_LIMIT = 4.0
HOME_OFFSET = 1.0
HOME_SEARCH_VEL = 5.0
HOME_LATCH_VEL = 1.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 1
[AXIS_X]
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 3.1
MAX_ACCELERATION = 20.1
[AXIS_Z]
MIN_LIMIT = -2.0
MAX_LIMIT = 4.0
MAX_VELOCITY = 3.2
MAX_ACCELERATION = 20.2