NEED HELP for configuring a XYYZ (2 motors on Y gantry) with linuxcnc 2.9

More
21 Sep 2019 09:53 #145742 by chochoit

Change this:-

TRAJ]
COORDINATES = X Y Z

To
TRAJ]
COORDINATES = X Y Y Z


Thanks Clive s.
I tried this, it gives an error as bellow, linuxcnc won't start.
note: MAXV     max: 200.000 units/sec 12000.000 units/min
note: LJOG     max: 200.000 units/sec 12000.000 units/min
note: LJOG default: 50.000 units/sec 3000.000 units/min
Traceback (most recent call last):
  File "/usr/bin/axis", line 3512, in <module>
    duplicate_coord_letters)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-18: ordinal not in range(128)
20695
20740
Stopping realtime threads
Unloading hal components

Please Log in or Create an account to join the conversation.

More
21 Sep 2019 16:22 #145763 by PCW
If the joint 1 and joint 2 commanded positions move this suggests that the stepgens are working (or you would get a following error)

Is it possible that you have a somehow corrupted hal file so some net
connections are not made?

Can you post the file all.txt generated by this command

halcmd show all >all.txt

(execute command when linuxCNC is running)

Please Log in or Create an account to join the conversation.

More
22 Sep 2019 04:49 #145822 by chochoit

If the joint 1 and joint 2 commanded positions move this suggests that the stepgens are working (or you would get a following error)

Is it possible that you have a somehow corrupted hal file so some net
connections are not made?

Can you post the file all.txt generated by this command

halcmd show all >all.txt

(execute command when linuxCNC is running)



Here it is:
Loaded HAL Components:
ID      Type  Name                                            PID   State
    19  User  halcmd23935                                     23935 ready
     3  User  axisui                                          23928 ready
    17  User  inihal                                          23924 ready
    14  User  hal_manualtoolchange                            23915 ready
    12  RT    pwmgen                                                ready
    11  RT    stepgen                                               ready
    10  RT    hal_parport                                           ready
     9  RT    __servo-thread                                        ready
     8  RT    __base-thread                                         ready
     7  RT    motmod                                                ready
     6  RT    trivkins                                              ready
     5  User  iocontrol                                       23904 ready

Component Pins:
Owner   Type  Dir         Value  Name
     7  float OUT             0  axis.a.eoffset
     7  bit   IN          FALSE  axis.a.eoffset-clear
     7  s32   IN              0  axis.a.eoffset-counts
     7  bit   IN          FALSE  axis.a.eoffset-enable
     7  float OUT             0  axis.a.eoffset-request
     7  float IN              0  axis.a.eoffset-scale
     7  float IN              1  axis.a.jog-accel-fraction
     7  s32   IN              0  axis.a.jog-counts
     7  bit   IN          FALSE  axis.a.jog-enable
     7  float IN              0  axis.a.jog-scale
     7  bit   IN          FALSE  axis.a.jog-vel-mode
     7  bit   OUT         FALSE  axis.a.kb-jog-active
     7  float OUT             0  axis.a.pos-cmd
     7  float OUT             0  axis.a.teleop-pos-cmd
     7  bit   OUT         FALSE  axis.a.teleop-tp-enable
     7  float OUT             0  axis.a.teleop-vel-cmd
     7  float OUT             0  axis.a.teleop-vel-lim
     7  bit   OUT         FALSE  axis.a.wheel-jog-active
     7  float OUT             0  axis.b.eoffset
     7  bit   IN          FALSE  axis.b.eoffset-clear
     7  s32   IN              0  axis.b.eoffset-counts
     7  bit   IN          FALSE  axis.b.eoffset-enable
     7  float OUT             0  axis.b.eoffset-request
     7  float IN              0  axis.b.eoffset-scale
     7  float IN              1  axis.b.jog-accel-fraction
     7  s32   IN              0  axis.b.jog-counts
     7  bit   IN          FALSE  axis.b.jog-enable
     7  float IN              0  axis.b.jog-scale
     7  bit   IN          FALSE  axis.b.jog-vel-mode
     7  bit   OUT         FALSE  axis.b.kb-jog-active
     7  float OUT             0  axis.b.pos-cmd
     7  float OUT             0  axis.b.teleop-pos-cmd
     7  bit   OUT         FALSE  axis.b.teleop-tp-enable
     7  float OUT             0  axis.b.teleop-vel-cmd
     7  float OUT             0  axis.b.teleop-vel-lim
     7  bit   OUT         FALSE  axis.b.wheel-jog-active
     7  float OUT             0  axis.c.eoffset
     7  bit   IN          FALSE  axis.c.eoffset-clear
     7  s32   IN              0  axis.c.eoffset-counts
     7  bit   IN          FALSE  axis.c.eoffset-enable
     7  float OUT             0  axis.c.eoffset-request
     7  float IN              0  axis.c.eoffset-scale
     7  float IN              1  axis.c.jog-accel-fraction
     7  s32   IN              0  axis.c.jog-counts
     7  bit   IN          FALSE  axis.c.jog-enable
     7  float IN              0  axis.c.jog-scale
     7  bit   IN          FALSE  axis.c.jog-vel-mode
     7  bit   OUT         FALSE  axis.c.kb-jog-active
     7  float OUT             0  axis.c.pos-cmd
     7  float OUT             0  axis.c.teleop-pos-cmd
     7  bit   OUT         FALSE  axis.c.teleop-tp-enable
     7  float OUT             0  axis.c.teleop-vel-cmd
     7  float OUT             0  axis.c.teleop-vel-lim
     7  bit   OUT         FALSE  axis.c.wheel-jog-active
     7  float OUT             0  axis.u.eoffset
     7  bit   IN          FALSE  axis.u.eoffset-clear
     7  s32   IN              0  axis.u.eoffset-counts
     7  bit   IN          FALSE  axis.u.eoffset-enable
     7  float OUT             0  axis.u.eoffset-request
     7  float IN              0  axis.u.eoffset-scale
     7  float IN              1  axis.u.jog-accel-fraction
     7  s32   IN              0  axis.u.jog-counts
     7  bit   IN          FALSE  axis.u.jog-enable
     7  float IN              0  axis.u.jog-scale
     7  bit   IN          FALSE  axis.u.jog-vel-mode
     7  bit   OUT         FALSE  axis.u.kb-jog-active
     7  float OUT             0  axis.u.pos-cmd
     7  float OUT             0  axis.u.teleop-pos-cmd
     7  bit   OUT         FALSE  axis.u.teleop-tp-enable
     7  float OUT             0  axis.u.teleop-vel-cmd
     7  float OUT             0  axis.u.teleop-vel-lim
     7  bit   OUT         FALSE  axis.u.wheel-jog-active
     7  float OUT             0  axis.v.eoffset
     7  bit   IN          FALSE  axis.v.eoffset-clear
     7  s32   IN              0  axis.v.eoffset-counts
     7  bit   IN          FALSE  axis.v.eoffset-enable
     7  float OUT             0  axis.v.eoffset-request
     7  float IN              0  axis.v.eoffset-scale
     7  float IN              1  axis.v.jog-accel-fraction
     7  s32   IN              0  axis.v.jog-counts
     7  bit   IN          FALSE  axis.v.jog-enable
     7  float IN              0  axis.v.jog-scale
     7  bit   IN          FALSE  axis.v.jog-vel-mode
     7  bit   OUT         FALSE  axis.v.kb-jog-active
     7  float OUT             0  axis.v.pos-cmd
     7  float OUT             0  axis.v.teleop-pos-cmd
     7  bit   OUT         FALSE  axis.v.teleop-tp-enable
     7  float OUT             0  axis.v.teleop-vel-cmd
     7  float OUT             0  axis.v.teleop-vel-lim
     7  bit   OUT         FALSE  axis.v.wheel-jog-active
     7  float OUT             0  axis.w.eoffset
     7  bit   IN          FALSE  axis.w.eoffset-clear
     7  s32   IN              0  axis.w.eoffset-counts
     7  bit   IN          FALSE  axis.w.eoffset-enable
     7  float OUT             0  axis.w.eoffset-request
     7  float IN              0  axis.w.eoffset-scale
     7  float IN              1  axis.w.jog-accel-fraction
     7  s32   IN              0  axis.w.jog-counts
     7  bit   IN          FALSE  axis.w.jog-enable
     7  float IN              0  axis.w.jog-scale
     7  bit   IN          FALSE  axis.w.jog-vel-mode
     7  bit   OUT         FALSE  axis.w.kb-jog-active
     7  float OUT             0  axis.w.pos-cmd
     7  float OUT             0  axis.w.teleop-pos-cmd
     7  bit   OUT         FALSE  axis.w.teleop-tp-enable
     7  float OUT             0  axis.w.teleop-vel-cmd
     7  float OUT             0  axis.w.teleop-vel-lim
     7  bit   OUT         FALSE  axis.w.wheel-jog-active
     7  float OUT             0  axis.x.eoffset
     7  bit   IN          FALSE  axis.x.eoffset-clear
     7  s32   IN              0  axis.x.eoffset-counts
     7  bit   IN          FALSE  axis.x.eoffset-enable
     7  float OUT             0  axis.x.eoffset-request
     7  float IN              0  axis.x.eoffset-scale
     7  float IN              1  axis.x.jog-accel-fraction
     7  s32   IN              0  axis.x.jog-counts
     7  bit   IN          FALSE  axis.x.jog-enable
     7  float IN              0  axis.x.jog-scale
     7  bit   IN          FALSE  axis.x.jog-vel-mode
     7  bit   OUT         FALSE  axis.x.kb-jog-active
     7  float OUT             0  axis.x.pos-cmd
     7  float OUT             0  axis.x.teleop-pos-cmd
     7  bit   OUT         FALSE  axis.x.teleop-tp-enable
     7  float OUT             0  axis.x.teleop-vel-cmd
     7  float OUT             0  axis.x.teleop-vel-lim
     7  bit   OUT         FALSE  axis.x.wheel-jog-active
     7  float OUT             0  axis.y.eoffset
     7  bit   IN          FALSE  axis.y.eoffset-clear
     7  s32   IN              0  axis.y.eoffset-counts
     7  bit   IN          FALSE  axis.y.eoffset-enable
     7  float OUT             0  axis.y.eoffset-request
     7  float IN              0  axis.y.eoffset-scale
     7  float IN              1  axis.y.jog-accel-fraction
     7  s32   IN              0  axis.y.jog-counts
     7  bit   IN          FALSE  axis.y.jog-enable
     7  float IN              0  axis.y.jog-scale
     7  bit   IN          FALSE  axis.y.jog-vel-mode
     7  bit   OUT         FALSE  axis.y.kb-jog-active
     7  float OUT             0  axis.y.pos-cmd
     7  float OUT             0  axis.y.teleop-pos-cmd
     7  bit   OUT         FALSE  axis.y.teleop-tp-enable
     7  float OUT             0  axis.y.teleop-vel-cmd
     7  float OUT             0  axis.y.teleop-vel-lim
     7  bit   OUT         FALSE  axis.y.wheel-jog-active
     7  float OUT             0  axis.z.eoffset
     7  bit   IN          FALSE  axis.z.eoffset-clear
     7  s32   IN              0  axis.z.eoffset-counts
     7  bit   IN          FALSE  axis.z.eoffset-enable
     7  float OUT             0  axis.z.eoffset-request
     7  float IN              0  axis.z.eoffset-scale
     7  float IN              1  axis.z.jog-accel-fraction
     7  s32   IN              0  axis.z.jog-counts
     7  bit   IN          FALSE  axis.z.jog-enable
     7  float IN              0  axis.z.jog-scale
     7  bit   IN          FALSE  axis.z.jog-vel-mode
     7  bit   OUT         FALSE  axis.z.kb-jog-active
     7  float OUT             0  axis.z.pos-cmd
     7  float OUT             0  axis.z.teleop-pos-cmd
     7  bit   OUT         FALSE  axis.z.teleop-tp-enable
     7  float OUT             0  axis.z.teleop-vel-cmd
     7  float OUT             0  axis.z.teleop-vel-lim
     7  bit   OUT         FALSE  axis.z.wheel-jog-active
     3  bit   OUT         FALSE  axisui.jog.a
     3  bit   OUT         FALSE  axisui.jog.b
     3  bit   OUT         FALSE  axisui.jog.c
     3  float OUT             0  axisui.jog.increment
     3  bit   OUT         FALSE  axisui.jog.u
     3  bit   OUT         FALSE  axisui.jog.v
     3  bit   OUT         FALSE  axisui.jog.w
     3  bit   OUT         FALSE  axisui.jog.x
     3  bit   OUT         FALSE  axisui.jog.y
     3  bit   OUT         FALSE  axisui.jog.z
     3  bit   IN          FALSE  axisui.notifications-clear
     3  bit   IN          FALSE  axisui.notifications-clear-error
     3  bit   IN          FALSE  axisui.notifications-clear-info
     3  bit   IN          FALSE  axisui.resume-inhibit
     8  s32   OUT          9441  base-thread.time
    14  bit   IN          FALSE  hal_manualtoolchange.change <== tool-change
    14  bit   IN          FALSE  hal_manualtoolchange.change_button
    14  bit   OUT         FALSE  hal_manualtoolchange.changed ==> tool-changed
    14  s32   IN              0  hal_manualtoolchange.number <== tool-number
    17  float IN              0  ini.0.backlash
    17  float IN              1  ini.0.ferror
    17  float IN            400  ini.0.home
    17  float IN              5  ini.0.home_offset
    17  s32   IN              2  ini.0.home_sequence
    17  float IN            100  ini.0.max_acceleration
    17  float IN           1200  ini.0.max_limit
    17  float IN            160  ini.0.max_velocity
    17  float IN           0.25  ini.0.min_ferror
    17  float IN              0  ini.0.min_limit
    17  float IN              0  ini.1.backlash
    17  float IN              1  ini.1.ferror
    17  float IN            400  ini.1.home
    17  float IN              5  ini.1.home_offset
    17  s32   IN             -1  ini.1.home_sequence
    17  float IN            100  ini.1.max_acceleration
    17  float IN          1e+99  ini.1.max_limit
    17  float IN             80  ini.1.max_velocity
    17  float IN              1  ini.1.min_ferror
    17  float IN         -1e+99  ini.1.min_limit
    17  float IN              0  ini.2.backlash
    17  float IN              1  ini.2.ferror
    17  float IN            400  ini.2.home
    17  float IN              5  ini.2.home_offset
    17  s32   IN             -1  ini.2.home_sequence
    17  float IN            100  ini.2.max_acceleration
    17  float IN          1e+99  ini.2.max_limit
    17  float IN             80  ini.2.max_velocity
    17  float IN              1  ini.2.min_ferror
    17  float IN         -1e+99  ini.2.min_limit
    17  float IN              0  ini.3.backlash
    17  float IN              1  ini.3.ferror
    17  float IN              2  ini.3.home
    17  float IN              5  ini.3.home_offset
    17  s32   IN              0  ini.3.home_sequence
    17  float IN            100  ini.3.max_acceleration
    17  float IN              5  ini.3.max_limit
    17  float IN             40  ini.3.max_velocity
    17  float IN           0.25  ini.3.min_ferror
    17  float IN           -150  ini.3.min_limit
    17  float IN              0  ini.a.max_acceleration
    17  float IN              0  ini.a.max_limit
    17  float IN              0  ini.a.max_velocity
    17  float IN              0  ini.a.min_limit
    17  float IN              0  ini.b.max_acceleration
    17  float IN              0  ini.b.max_limit
    17  float IN              0  ini.b.max_velocity
    17  float IN              0  ini.b.min_limit
    17  float IN              0  ini.c.max_acceleration
    17  float IN              0  ini.c.max_limit
    17  float IN              0  ini.c.max_velocity
    17  float IN              0  ini.c.min_limit
    17  bit   IN           TRUE  ini.traj_arc_blend_enable
    17  bit   IN          FALSE  ini.traj_arc_blend_fallback_enable
    17  float IN              4  ini.traj_arc_blend_gap_cycles
    17  s32   IN             50  ini.traj_arc_blend_optimization_depth
    17  float IN            100  ini.traj_arc_blend_ramp_freq
    17  float IN            0.1  ini.traj_arc_blend_tangent_kink_ratio
    17  float IN          1e+99  ini.traj_default_acceleration
    17  float IN              8  ini.traj_default_velocity
    17  float IN          1e+99  ini.traj_max_acceleration
    17  float IN             80  ini.traj_max_velocity
    17  float IN              0  ini.u.max_acceleration
    17  float IN              0  ini.u.max_limit
    17  float IN              0  ini.u.max_velocity
    17  float IN              0  ini.u.min_limit
    17  float IN              0  ini.v.max_acceleration
    17  float IN              0  ini.v.max_limit
    17  float IN              0  ini.v.max_velocity
    17  float IN              0  ini.v.min_limit
    17  float IN              0  ini.w.max_acceleration
    17  float IN              0  ini.w.max_limit
    17  float IN              0  ini.w.max_velocity
    17  float IN              0  ini.w.min_limit
    17  float IN            100  ini.x.max_acceleration
    17  float IN           1200  ini.x.max_limit
    17  float IN             80  ini.x.max_velocity
    17  float IN              0  ini.x.min_limit
    17  float IN            100  ini.y.max_acceleration
    17  float IN           1200  ini.y.max_limit
    17  float IN             80  ini.y.max_velocity
    17  float IN              0  ini.y.min_limit
    17  float IN            100  ini.z.max_acceleration
    17  float IN              5  ini.z.max_limit
    17  float IN             40  ini.z.max_velocity
    17  float IN           -150  ini.z.min_limit
     5  bit   OUT         FALSE  iocontrol.0.coolant-flood
     5  bit   OUT         FALSE  iocontrol.0.coolant-mist
     5  bit   IN           TRUE  iocontrol.0.emc-enable-in <== estop-ext
     5  bit   OUT         FALSE  iocontrol.0.lube
     5  bit   IN          FALSE  iocontrol.0.lube_level
     5  bit   OUT         FALSE  iocontrol.0.tool-change ==> tool-change
     5  bit   IN          FALSE  iocontrol.0.tool-changed <== tool-changed
     5  s32   OUT             0  iocontrol.0.tool-number
     5  s32   OUT             0  iocontrol.0.tool-prep-number ==> tool-number
     5  s32   OUT             0  iocontrol.0.tool-prep-pocket
     5  bit   OUT         FALSE  iocontrol.0.tool-prepare ==> tool-prepare-loopback
     5  bit   IN          FALSE  iocontrol.0.tool-prepared <== tool-prepare-loopback
     5  bit   OUT         FALSE  iocontrol.0.user-enable-out ==> estop-out
     5  bit   OUT         FALSE  iocontrol.0.user-request-enable
     7  float OUT             0  joint.0.acc-cmd
     7  bit   OUT          TRUE  joint.0.active
     7  bit   OUT         FALSE  joint.0.amp-enable-out ==> xenable
     7  bit   IN          FALSE  joint.0.amp-fault-in
     7  float OUT             0  joint.0.backlash-corr
     7  float OUT             0  joint.0.backlash-filt
     7  float OUT             0  joint.0.backlash-vel
     7  float OUT             0  joint.0.coarse-pos-cmd
     7  bit   OUT         FALSE  joint.0.error
     7  float OUT             0  joint.0.f-error
     7  float OUT          0.25  joint.0.f-error-lim
     7  bit   OUT         FALSE  joint.0.f-errored
     7  bit   OUT         FALSE  joint.0.faulted
     7  float OUT             0  joint.0.free-pos-cmd
     7  bit   OUT         FALSE  joint.0.free-tp-enable
     7  float OUT             0  joint.0.free-vel-lim
     7  s32   OUT             0  joint.0.home-state
     7  bit   IN          FALSE  joint.0.home-sw-in <== both-home-x
     7  bit   OUT         FALSE  joint.0.homed
     7  bit   OUT         FALSE  joint.0.homing
     7  bit   OUT          TRUE  joint.0.in-position
     7  bit   I/O         FALSE  joint.0.index-enable
     7  float IN              1  joint.0.jog-accel-fraction
     7  s32   IN              0  joint.0.jog-counts
     7  bit   IN          FALSE  joint.0.jog-enable
     7  float IN              0  joint.0.jog-scale
     7  bit   IN          FALSE  joint.0.jog-vel-mode
     7  bit   OUT         FALSE  joint.0.kb-jog-active
     7  float OUT             0  joint.0.motor-offset
     7  float OUT             0  joint.0.motor-pos-cmd ==> xpos-cmd
     7  float IN              0  joint.0.motor-pos-fb <== xpos-fb
     7  bit   OUT         FALSE  joint.0.neg-hard-limit
     7  bit   IN          FALSE  joint.0.neg-lim-sw-in <== both-home-x
     7  float OUT             0  joint.0.pos-cmd
     7  float OUT             0  joint.0.pos-fb
     7  bit   OUT         FALSE  joint.0.pos-hard-limit
     7  bit   IN          FALSE  joint.0.pos-lim-sw-in <== both-home-x
     7  float OUT             0  joint.0.vel-cmd
     7  bit   OUT         FALSE  joint.0.wheel-jog-active
     7  float OUT             0  joint.1.acc-cmd
     7  bit   OUT          TRUE  joint.1.active
     7  bit   OUT         FALSE  joint.1.amp-enable-out ==> y1enable
     7  bit   IN          FALSE  joint.1.amp-fault-in
     7  float OUT             0  joint.1.backlash-corr
     7  float OUT             0  joint.1.backlash-filt
     7  float OUT             0  joint.1.backlash-vel
     7  float OUT             0  joint.1.coarse-pos-cmd
     7  bit   OUT         FALSE  joint.1.error
     7  float OUT             0  joint.1.f-error
     7  float OUT             1  joint.1.f-error-lim
     7  bit   OUT         FALSE  joint.1.f-errored
     7  bit   OUT         FALSE  joint.1.faulted
     7  float OUT             0  joint.1.free-pos-cmd
     7  bit   OUT         FALSE  joint.1.free-tp-enable
     7  float OUT             0  joint.1.free-vel-lim
     7  s32   OUT             0  joint.1.home-state
     7  bit   IN          FALSE  joint.1.home-sw-in <== both-home-y
     7  bit   OUT         FALSE  joint.1.homed
     7  bit   OUT         FALSE  joint.1.homing
     7  bit   OUT          TRUE  joint.1.in-position
     7  bit   I/O         FALSE  joint.1.index-enable
     7  float IN              1  joint.1.jog-accel-fraction
     7  s32   IN              0  joint.1.jog-counts
     7  bit   IN          FALSE  joint.1.jog-enable
     7  float IN              0  joint.1.jog-scale
     7  bit   IN          FALSE  joint.1.jog-vel-mode
     7  bit   OUT         FALSE  joint.1.kb-jog-active
     7  float OUT             0  joint.1.motor-offset
     7  float OUT             0  joint.1.motor-pos-cmd ==> y1pos-cmd
     7  float IN              0  joint.1.motor-pos-fb <== y1pos-fb
     7  bit   OUT         FALSE  joint.1.neg-hard-limit
     7  bit   IN          FALSE  joint.1.neg-lim-sw-in <== both-home-y
     7  float OUT             0  joint.1.pos-cmd
     7  float OUT             0  joint.1.pos-fb
     7  bit   OUT         FALSE  joint.1.pos-hard-limit
     7  bit   IN          FALSE  joint.1.pos-lim-sw-in <== both-home-y
     7  float OUT             0  joint.1.vel-cmd
     7  bit   OUT         FALSE  joint.1.wheel-jog-active
     7  float OUT             0  joint.2.acc-cmd
     7  bit   OUT          TRUE  joint.2.active
     7  bit   OUT         FALSE  joint.2.amp-enable-out ==> y2enable
     7  bit   IN          FALSE  joint.2.amp-fault-in
     7  float OUT             0  joint.2.backlash-corr
     7  float OUT             0  joint.2.backlash-filt
     7  float OUT             0  joint.2.backlash-vel
     7  float OUT             0  joint.2.coarse-pos-cmd
     7  bit   OUT         FALSE  joint.2.error
     7  float OUT             0  joint.2.f-error
     7  float OUT             1  joint.2.f-error-lim
     7  bit   OUT         FALSE  joint.2.f-errored
     7  bit   OUT         FALSE  joint.2.faulted
     7  float OUT             0  joint.2.free-pos-cmd
     7  bit   OUT         FALSE  joint.2.free-tp-enable
     7  float OUT             0  joint.2.free-vel-lim
     7  s32   OUT             0  joint.2.home-state
     7  bit   IN          FALSE  joint.2.home-sw-in <== both-home-y
     7  bit   OUT         FALSE  joint.2.homed
     7  bit   OUT         FALSE  joint.2.homing
     7  bit   OUT          TRUE  joint.2.in-position
     7  bit   I/O         FALSE  joint.2.index-enable
     7  float IN              1  joint.2.jog-accel-fraction
     7  s32   IN              0  joint.2.jog-counts
     7  bit   IN          FALSE  joint.2.jog-enable
     7  float IN              0  joint.2.jog-scale
     7  bit   IN          FALSE  joint.2.jog-vel-mode
     7  bit   OUT         FALSE  joint.2.kb-jog-active
     7  float OUT             0  joint.2.motor-offset
     7  float OUT             0  joint.2.motor-pos-cmd ==> y2pos-cmd
     7  float IN              0  joint.2.motor-pos-fb <== y2pos-fb
     7  bit   OUT         FALSE  joint.2.neg-hard-limit
     7  bit   IN          FALSE  joint.2.neg-lim-sw-in <== both-home-y
     7  float OUT             0  joint.2.pos-cmd
     7  float OUT             0  joint.2.pos-fb
     7  bit   OUT         FALSE  joint.2.pos-hard-limit
     7  bit   IN          FALSE  joint.2.pos-lim-sw-in <== both-home-y
     7  float OUT             0  joint.2.vel-cmd
     7  bit   OUT         FALSE  joint.2.wheel-jog-active
     7  float OUT             0  joint.3.acc-cmd
     7  bit   OUT          TRUE  joint.3.active
     7  bit   OUT         FALSE  joint.3.amp-enable-out ==> zenable
     7  bit   IN          FALSE  joint.3.amp-fault-in
     7  float OUT             0  joint.3.backlash-corr
     7  float OUT             0  joint.3.backlash-filt
     7  float OUT             0  joint.3.backlash-vel
     7  float OUT             0  joint.3.coarse-pos-cmd
     7  bit   OUT         FALSE  joint.3.error
     7  float OUT             0  joint.3.f-error
     7  float OUT          0.25  joint.3.f-error-lim
     7  bit   OUT         FALSE  joint.3.f-errored
     7  bit   OUT         FALSE  joint.3.faulted
     7  float OUT             0  joint.3.free-pos-cmd
     7  bit   OUT         FALSE  joint.3.free-tp-enable
     7  float OUT             0  joint.3.free-vel-lim
     7  s32   OUT             0  joint.3.home-state
     7  bit   IN          FALSE  joint.3.home-sw-in <== both-home-z
     7  bit   OUT         FALSE  joint.3.homed
     7  bit   OUT         FALSE  joint.3.homing
     7  bit   OUT          TRUE  joint.3.in-position
     7  bit   I/O         FALSE  joint.3.index-enable
     7  float IN              1  joint.3.jog-accel-fraction
     7  s32   IN              0  joint.3.jog-counts
     7  bit   IN          FALSE  joint.3.jog-enable
     7  float IN              0  joint.3.jog-scale
     7  bit   IN          FALSE  joint.3.jog-vel-mode
     7  bit   OUT         FALSE  joint.3.kb-jog-active
     7  float OUT             0  joint.3.motor-offset
     7  float OUT             0  joint.3.motor-pos-cmd ==> zpos-cmd
     7  float IN              0  joint.3.motor-pos-fb <== zpos-fb
     7  bit   OUT         FALSE  joint.3.neg-hard-limit
     7  bit   IN          FALSE  joint.3.neg-lim-sw-in <== both-home-z
     7  float OUT             0  joint.3.pos-cmd
     7  float OUT             0  joint.3.pos-fb
     7  bit   OUT         FALSE  joint.3.pos-hard-limit
     7  bit   IN          FALSE  joint.3.pos-lim-sw-in <== both-home-z
     7  float OUT             0  joint.3.vel-cmd
     7  bit   OUT         FALSE  joint.3.wheel-jog-active
     7  s32   OUT           189  motion-command-handler.time
     7  s32   OUT          7137  motion-controller.time
     7  float IN              1  motion.adaptive-feed
     7  float IN              0  motion.analog-in-00
     7  float IN              0  motion.analog-in-01
     7  float IN              0  motion.analog-in-02
     7  float IN              0  motion.analog-in-03
     7  float OUT             0  motion.analog-out-00
     7  float OUT             0  motion.analog-out-01
     7  float OUT             0  motion.analog-out-02
     7  float OUT             0  motion.analog-out-03
     7  bit   OUT         FALSE  motion.coord-error
     7  bit   OUT         FALSE  motion.coord-mode
     7  float OUT             0  motion.current-vel
     7  bit   IN          FALSE  motion.digital-in-00
     7  bit   IN          FALSE  motion.digital-in-01
     7  bit   IN          FALSE  motion.digital-in-02
     7  bit   IN          FALSE  motion.digital-in-03
     7  bit   OUT         FALSE  motion.digital-out-00
     7  bit   OUT         FALSE  motion.digital-out-01
     7  bit   OUT         FALSE  motion.digital-out-02
     7  bit   OUT         FALSE  motion.digital-out-03
     7  float OUT             0  motion.distance-to-go
     7  bit   IN           TRUE  motion.enable
     7  bit   OUT         FALSE  motion.eoffset-active
     7  bit   OUT         FALSE  motion.eoffset-limited
     7  bit   IN          FALSE  motion.feed-hold
     7  bit   IN          FALSE  motion.feed-inhibit
     7  bit   IN          FALSE  motion.homing-inhibit
     7  bit   OUT          TRUE  motion.in-position
     7  bit   OUT         FALSE  motion.motion-enabled
     7  s32   OUT             0  motion.motion-type
     7  bit   OUT         FALSE  motion.on-soft-limit
     7  bit   IN           TRUE  motion.probe-input <== probe-in
     7  s32   OUT             0  motion.program-line
     7  float OUT             0  motion.requested-vel
     7  u32   OUT    0x002DC057  motion.servo.last-period
     7  float OUT      999571.9  motion.servo.last-period-ns
     7  bit   OUT         FALSE  motion.teleop-mode
     7  float OUT             0  motion.tooloffset.a
     7  float OUT             0  motion.tooloffset.b
     7  float OUT             0  motion.tooloffset.c
     7  float OUT             0  motion.tooloffset.u
     7  float OUT             0  motion.tooloffset.v
     7  float OUT             0  motion.tooloffset.w
     7  float OUT             0  motion.tooloffset.x
     7  float OUT             0  motion.tooloffset.y
     7  float OUT             0  motion.tooloffset.z
     7  bit   IN          FALSE  motion.tp-reverse
    10  bit   IN          FALSE  parport.0.pin-01-out <== spindle-on
    10  bit   IN          FALSE  parport.0.pin-02-out <== xstep
    10  bit   IN          FALSE  parport.0.pin-03-out <== xdir
    10  bit   IN          FALSE  parport.0.pin-04-out <== y1step
    10  bit   IN          FALSE  parport.0.pin-05-out <== y1dir
    10  bit   IN          FALSE  parport.0.pin-06-out <== y2step
    10  bit   IN          FALSE  parport.0.pin-07-out <== y2dir
    10  bit   IN          FALSE  parport.0.pin-08-out <== zstep
    10  bit   IN          FALSE  parport.0.pin-09-out <== zdir
    10  bit   OUT          TRUE  parport.0.pin-10-in ==> estop-ext
    10  bit   OUT         FALSE  parport.0.pin-10-in-not
    10  bit   OUT          TRUE  parport.0.pin-11-in
    10  bit   OUT         FALSE  parport.0.pin-11-in-not ==> both-home-y
    10  bit   OUT          TRUE  parport.0.pin-12-in
    10  bit   OUT         FALSE  parport.0.pin-12-in-not ==> both-home-z
    10  bit   OUT          TRUE  parport.0.pin-13-in ==> probe-in
    10  bit   OUT         FALSE  parport.0.pin-13-in-not
    10  bit   IN          FALSE  parport.0.pin-14-out <== spindle-cw
    10  bit   OUT          TRUE  parport.0.pin-15-in
    10  bit   OUT         FALSE  parport.0.pin-15-in-not ==> both-home-x
    10  bit   IN          FALSE  parport.0.pin-16-out <== spindle-pwm
    10  bit   IN          FALSE  parport.0.pin-17-out <== xenable
    10  s32   OUT          4050  parport.0.read.time
    10  s32   OUT            63  parport.0.reset.time
    10  s32   OUT          5067  parport.0.write.time
    10  s32   OUT             0  parport.read-all.time
    10  s32   OUT             0  parport.write-all.time
    12  float OUT     0.1142857  pwmgen.0.curr-dc
    12  bit   OUT         FALSE  pwmgen.0.dir
    12  bit   I/O          TRUE  pwmgen.0.dither-pwm
    12  bit   IN          FALSE  pwmgen.0.enable <== spindle-on
    12  float I/O             1  pwmgen.0.max-dc
    12  float I/O             0  pwmgen.0.min-dc
    12  float I/O     0.1142857  pwmgen.0.offset
    12  bit   OUT         FALSE  pwmgen.0.pwm ==> spindle-pwm
    12  float I/O           100  pwmgen.0.pwm-freq
    12  float I/O      1166.667  pwmgen.0.scale
    12  float IN              0  pwmgen.0.value <== spindle-cmd-rpm
    12  s32   OUT            63  pwmgen.make-pulses.time
    12  s32   OUT           288  pwmgen.update.time
     9  s32   OUT          8208  servo-thread.time
     7  bit   IN          FALSE  spindle.0.amp-fault-in
     7  bit   IN           TRUE  spindle.0.at-speed <== spindle-at-speed
     7  bit   OUT          TRUE  spindle.0.brake
     7  bit   OUT         FALSE  spindle.0.forward ==> spindle-cw
     7  bit   I/O         FALSE  spindle.0.index-enable
     7  bit   IN          FALSE  spindle.0.inhibit
     7  bit   IN          FALSE  spindle.0.is-oriented
     7  bit   OUT         FALSE  spindle.0.locked
     7  bit   OUT         FALSE  spindle.0.on ==> spindle-on
     7  bit   OUT         FALSE  spindle.0.orient
     7  float OUT             0  spindle.0.orient-angle
     7  s32   IN              0  spindle.0.orient-fault
     7  s32   OUT             0  spindle.0.orient-mode
     7  bit   OUT         FALSE  spindle.0.reverse
     7  float IN              0  spindle.0.revs
     7  float OUT             0  spindle.0.speed-cmd-rps
     7  float IN              0  spindle.0.speed-in
     7  float OUT             0  spindle.0.speed-out ==> spindle-cmd-rpm
     7  float OUT             0  spindle.0.speed-out-abs ==> spindle-cmd-rpm-abs
     7  float OUT             0  spindle.0.speed-out-rps ==> spindle-cmd-rps
     7  float OUT             0  spindle.0.speed-out-rps-abs ==> spindle-cmd-rps-abs
    11  s32   OUT             0  stepgen.0.counts
    11  bit   OUT         FALSE  stepgen.0.dir ==> xdir
    11  bit   IN          FALSE  stepgen.0.enable <== xenable
    11  float IN              0  stepgen.0.position-cmd <== xpos-cmd
    11  float OUT             0  stepgen.0.position-fb ==> xpos-fb
    11  bit   OUT         FALSE  stepgen.0.step ==> xstep
    11  s32   OUT             0  stepgen.1.counts
    11  bit   OUT         FALSE  stepgen.1.dir ==> y1dir
    11  bit   IN          FALSE  stepgen.1.enable <== y1enable
    11  float IN              0  stepgen.1.position-cmd <== y1pos-cmd
    11  float OUT             0  stepgen.1.position-fb ==> y1pos-fb
    11  bit   OUT         FALSE  stepgen.1.step ==> y1step
    11  s32   OUT             0  stepgen.2.counts
    11  bit   OUT         FALSE  stepgen.2.dir ==> y2dir
    11  bit   IN          FALSE  stepgen.2.enable <== y2enable
    11  float IN              0  stepgen.2.position-cmd <== y2pos-cmd
    11  float OUT             0  stepgen.2.position-fb ==> y2pos-fb
    11  bit   OUT         FALSE  stepgen.2.step ==> y2step
    11  s32   OUT             0  stepgen.3.counts
    11  bit   OUT         FALSE  stepgen.3.dir ==> zdir
    11  bit   IN          FALSE  stepgen.3.enable <== zenable
    11  float IN              0  stepgen.3.position-cmd <== zpos-cmd
    11  float OUT             0  stepgen.3.position-fb ==> zpos-fb
    11  bit   OUT         FALSE  stepgen.3.step ==> zstep
    11  s32   OUT           261  stepgen.capture-position.time
    11  s32   OUT           189  stepgen.make-pulses.time
    11  s32   OUT           333  stepgen.update-freq.time

Pin Aliases:
 Alias                                            Original Name

Signals:
Type          Value  Name     (linked to)
bit           FALSE  both-home-x
                         ==> joint.0.home-sw-in
                         ==> joint.0.neg-lim-sw-in
                         ==> joint.0.pos-lim-sw-in
                         <== parport.0.pin-15-in-not
bit           FALSE  both-home-y
                         ==> joint.1.home-sw-in
                         ==> joint.1.neg-lim-sw-in
                         ==> joint.1.pos-lim-sw-in
                         ==> joint.2.home-sw-in
                         ==> joint.2.neg-lim-sw-in
                         ==> joint.2.pos-lim-sw-in
                         <== parport.0.pin-11-in-not
bit           FALSE  both-home-z
                         ==> joint.3.home-sw-in
                         ==> joint.3.neg-lim-sw-in
                         ==> joint.3.pos-lim-sw-in
                         <== parport.0.pin-12-in-not
bit            TRUE  estop-ext
                         ==> iocontrol.0.emc-enable-in
                         <== parport.0.pin-10-in
bit           FALSE  estop-out
                         <== iocontrol.0.user-enable-out
bit            TRUE  probe-in
                         ==> motion.probe-input
                         <== parport.0.pin-13-in
bit            TRUE  spindle-at-speed
                         ==> spindle.0.at-speed
float             0  spindle-cmd-rpm
                         ==> pwmgen.0.value
                         <== spindle.0.speed-out
float             0  spindle-cmd-rpm-abs
                         <== spindle.0.speed-out-abs
float             0  spindle-cmd-rps
                         <== spindle.0.speed-out-rps
float             0  spindle-cmd-rps-abs
                         <== spindle.0.speed-out-rps-abs
bit           FALSE  spindle-cw
                         ==> parport.0.pin-14-out
                         <== spindle.0.forward
bit           FALSE  spindle-on
                         ==> parport.0.pin-01-out
                         ==> pwmgen.0.enable
                         <== spindle.0.on
bit           FALSE  spindle-pwm
                         ==> parport.0.pin-16-out
                         <== pwmgen.0.pwm
bit           FALSE  tool-change
                         ==> hal_manualtoolchange.change
                         <== iocontrol.0.tool-change
bit           FALSE  tool-changed
                         <== hal_manualtoolchange.changed
                         ==> iocontrol.0.tool-changed
s32               0  tool-number
                         ==> hal_manualtoolchange.number
                         <== iocontrol.0.tool-prep-number
bit           FALSE  tool-prepare-loopback
                         <== iocontrol.0.tool-prepare
                         ==> iocontrol.0.tool-prepared
bit           FALSE  xdir
                         ==> parport.0.pin-03-out
                         <== stepgen.0.dir
bit           FALSE  xenable
                         <== joint.0.amp-enable-out
                         ==> parport.0.pin-17-out
                         ==> stepgen.0.enable
float             0  xpos-cmd
                         <== joint.0.motor-pos-cmd
                         ==> stepgen.0.position-cmd
float             0  xpos-fb
                         ==> joint.0.motor-pos-fb
                         <== stepgen.0.position-fb
bit           FALSE  xstep
                         ==> parport.0.pin-02-out
                         <== stepgen.0.step
bit           FALSE  y1dir
                         ==> parport.0.pin-05-out
                         <== stepgen.1.dir
bit           FALSE  y1enable
                         <== joint.1.amp-enable-out
                         ==> stepgen.1.enable
float             0  y1pos-cmd
                         <== joint.1.motor-pos-cmd
                         ==> stepgen.1.position-cmd
float             0  y1pos-fb
                         ==> joint.1.motor-pos-fb
                         <== stepgen.1.position-fb
bit           FALSE  y1step
                         ==> parport.0.pin-04-out
                         <== stepgen.1.step
bit           FALSE  y2dir
                         ==> parport.0.pin-07-out
                         <== stepgen.2.dir
bit           FALSE  y2enable
                         <== joint.2.amp-enable-out
                         ==> stepgen.2.enable
float             0  y2pos-cmd
                         <== joint.2.motor-pos-cmd
                         ==> stepgen.2.position-cmd
float             0  y2pos-fb
                         ==> joint.2.motor-pos-fb
                         <== stepgen.2.position-fb
bit           FALSE  y2step
                         ==> parport.0.pin-06-out
                         <== stepgen.2.step
bit           FALSE  zdir
                         ==> parport.0.pin-09-out
                         <== stepgen.3.dir
bit           FALSE  zenable
                         <== joint.3.amp-enable-out
                         ==> stepgen.3.enable
float             0  zpos-cmd
                         <== joint.3.motor-pos-cmd
                         ==> stepgen.3.position-cmd
float             0  zpos-fb
                         ==> joint.3.motor-pos-fb
                         <== stepgen.3.position-fb
bit           FALSE  zstep
                         ==> parport.0.pin-08-out
                         <== stepgen.3.step

Parameters:
Owner   Type  Dir         Value  Name
     8  s32   RW          63666  base-thread.tmax
     5  s32   RO              0  iocontrol.0.tool-prep-index
     7  s32   RW          10710  motion-command-handler.tmax
     7  bit   RO          FALSE  motion-command-handler.tmax-increased
     7  s32   RW          46260  motion-controller.tmax
     7  bit   RO          FALSE  motion-controller.tmax-increased
     7  bit   RO          FALSE  motion.debug-bit-0
     7  bit   RO          FALSE  motion.debug-bit-1
     7  float RO              0  motion.debug-float-0
     7  float RO              0  motion.debug-float-1
     7  float RO              0  motion.debug-float-2
     7  float RO              1  motion.debug-float-3
     7  s32   RO              0  motion.debug-s32-0
     7  s32   RO              0  motion.debug-s32-1
    10  u32   RW     0x00000000  parport.0.debug1
    10  u32   RW     0x00000000  parport.0.debug2
    10  bit   RW          FALSE  parport.0.pin-01-out-invert
    10  bit   RW          FALSE  parport.0.pin-01-out-reset
    10  bit   RW           TRUE  parport.0.pin-02-out-invert
    10  bit   RW           TRUE  parport.0.pin-02-out-reset
    10  bit   RW           TRUE  parport.0.pin-03-out-invert
    10  bit   RW          FALSE  parport.0.pin-03-out-reset
    10  bit   RW           TRUE  parport.0.pin-04-out-invert
    10  bit   RW           TRUE  parport.0.pin-04-out-reset
    10  bit   RW           TRUE  parport.0.pin-05-out-invert
    10  bit   RW          FALSE  parport.0.pin-05-out-reset
    10  bit   RW          FALSE  parport.0.pin-06-out-invert
    10  bit   RW           TRUE  parport.0.pin-06-out-reset
    10  bit   RW          FALSE  parport.0.pin-07-out-invert
    10  bit   RW          FALSE  parport.0.pin-07-out-reset
    10  bit   RW           TRUE  parport.0.pin-08-out-invert
    10  bit   RW           TRUE  parport.0.pin-08-out-reset
    10  bit   RW           TRUE  parport.0.pin-09-out-invert
    10  bit   RW          FALSE  parport.0.pin-09-out-reset
    10  bit   RW          FALSE  parport.0.pin-14-out-invert
    10  bit   RW          FALSE  parport.0.pin-14-out-reset
    10  bit   RW          FALSE  parport.0.pin-16-out-invert
    10  bit   RW          FALSE  parport.0.pin-16-out-reset
    10  bit   RW          FALSE  parport.0.pin-17-out-invert
    10  bit   RW          FALSE  parport.0.pin-17-out-reset
    10  s32   RW          27882  parport.0.read.tmax
    10  bit   RO          FALSE  parport.0.read.tmax-increased
    10  u32   RW     0x00001388  parport.0.reset-time
    10  s32   RW           8379  parport.0.reset.tmax
    10  bit   RO          FALSE  parport.0.reset.tmax-increased
    10  s32   RW          48645  parport.0.write.tmax
    10  bit   RO          FALSE  parport.0.write.tmax-increased
    10  s32   RW              0  parport.read-all.tmax
    10  bit   RO          FALSE  parport.read-all.tmax-increased
    10  s32   RW              0  parport.write-all.tmax
    10  bit   RO          FALSE  parport.write-all.tmax-increased
    12  s32   RW           8451  pwmgen.make-pulses.tmax
    12  bit   RO          FALSE  pwmgen.make-pulses.tmax-increased
    12  s32   RW           2493  pwmgen.update.tmax
    12  bit   RO          FALSE  pwmgen.update.tmax-increased
     9  s32   RW          53037  servo-thread.tmax
    11  u32   RW     0x00018674  stepgen.0.dirhold
    11  u32   RW     0x00018674  stepgen.0.dirsetup
    11  float RO              0  stepgen.0.frequency
    11  float RW            125  stepgen.0.maxaccel
    11  float RW              0  stepgen.0.maxvel
    11  float RW       53.33333  stepgen.0.position-scale
    11  s32   RO              0  stepgen.0.rawcounts
    11  u32   RW     0x00018674  stepgen.0.steplen
    11  u32   RW     0x00000000  stepgen.0.stepspace
    11  u32   RW     0x00018674  stepgen.1.dirhold
    11  u32   RW     0x00018674  stepgen.1.dirsetup
    11  float RO              0  stepgen.1.frequency
    11  float RW            125  stepgen.1.maxaccel
    11  float RW              0  stepgen.1.maxvel
    11  float RW       53.33333  stepgen.1.position-scale
    11  s32   RO              0  stepgen.1.rawcounts
    11  u32   RW     0x00018674  stepgen.1.steplen
    11  u32   RW     0x00000000  stepgen.1.stepspace
    11  u32   RW     0x00018674  stepgen.2.dirhold
    11  u32   RW     0x00018674  stepgen.2.dirsetup
    11  float RO              0  stepgen.2.frequency
    11  float RW            125  stepgen.2.maxaccel
    11  float RW              0  stepgen.2.maxvel
    11  float RW       53.33333  stepgen.2.position-scale
    11  s32   RO              0  stepgen.2.rawcounts
    11  u32   RW     0x00018674  stepgen.2.steplen
    11  u32   RW     0x00000000  stepgen.2.stepspace
    11  u32   RW     0x00018674  stepgen.3.dirhold
    11  u32   RW     0x00018674  stepgen.3.dirsetup
    11  float RO              0  stepgen.3.frequency
    11  float RW            125  stepgen.3.maxaccel
    11  float RW              0  stepgen.3.maxvel
    11  float RW       106.6667  stepgen.3.position-scale
    11  s32   RO              0  stepgen.3.rawcounts
    11  u32   RW     0x00018674  stepgen.3.steplen
    11  u32   RW     0x00000000  stepgen.3.stepspace
    11  s32   RW           9153  stepgen.capture-position.tmax
    11  bit   RO          FALSE  stepgen.capture-position.tmax-increased
    11  s32   RW          17109  stepgen.make-pulses.tmax
    11  bit   RO          FALSE  stepgen.make-pulses.tmax-increased
    11  s32   RW           2889  stepgen.update-freq.tmax
    11  bit   RO          FALSE  stepgen.update-freq.tmax-increased
     7  float RO              0  tc.0.acc
     7  float RO              0  tc.0.pos
     7  float RO              0  tc.0.vel
     7  float RO              0  tc.1.acc
     7  float RO              0  tc.1.pos
     7  float RO              0  tc.1.vel
     7  float RO              0  tc.2.acc
     7  float RO              0  tc.2.pos
     7  float RO              0  tc.2.vel
     7  float RO              0  tc.3.acc
     7  float RO              0  tc.3.pos
     7  float RO              0  tc.3.vel
     7  u32   RO     0x00000000  traj.active_tc
     7  float RO              0  traj.pos_out
     7  float RO              0  traj.vel_out

Parameter Aliases:
 Alias                                            Original Name

Exported Functions:
Owner   CodeAddr  Arg       FP   Users  Name
 00007  f8de18d0  00000000  YES      1   motion-command-handler
 00007  f8de6260  00000000  YES      1   motion-controller
 00010  f86f6000  f90aa6b8  NO       1   parport.0.read
 00010  f86f62a0  f90aa6b8  NO       1   parport.0.reset
 00010  f86f63a0  f90aa6b8  NO       1   parport.0.write
 00010  f86f60f0  f90aa6b8  NO       0   parport.read-all
 00010  f86f6570  f90aa6b8  NO       0   parport.write-all
 00012  f86d7000  f90aab28  NO       1   pwmgen.make-pulses
 00012  f86d7170  f90aab28  YES      1   pwmgen.update
 00011  f8d4d350  f90aa7d0  YES      1   stepgen.capture-position
 00011  f8d4d000  f90aa7d0  NO       1   stepgen.make-pulses
 00011  f8d4d430  f90aa7d0  YES      1   stepgen.update-freq

Realtime Threads:
     Period  FP     Name               (     Time, Max-Time )
     999560  YES          servo-thread (     8208,    53037 )
                  1 stepgen.capture-position
                  2 motion-command-handler
                  3 motion-controller
                  4 stepgen.update-freq
                  5 pwmgen.update
      99956  NO            base-thread (     8991,    63666 )
                  1 parport.0.read
                  2 stepgen.make-pulses
                  3 pwmgen.make-pulses
                  4 parport.0.write
                  5 parport.0.reset

Please Log in or Create an account to join the conversation.

More
22 Sep 2019 17:07 #145870 by PCW
Have you ever homed the gantry?
(that is I suspect you have never got out of telop mode due to homing issues)
The following user(s) said Thank You: chochoit

Please Log in or Create an account to join the conversation.

More
22 Sep 2019 17:44 #145875 by chochoit
Hi everyone,
I finally find out where I went wrong.

I start from the beginning, checking my wiring, find out that my Y1 and Y2 's motor connectors using different configuration.
My Y1's connector looks like B+ B- A- A+, but my Y2's A+ A- B- B+.
In the first place, I thought their wiring arrangement should be the same.
So, In the Stepconfig, I invert Y1 pulse and Y1 dir, but leave Y2 as default (unchecked)
That's the main reason why my Y2 get no go.

The second mistake I made in Stepconfig, is that I select my limit switch as:
"X pos+neg", "Y pos+neg", "Z pos" .
Since my machine has no separate home switch, I should have selected:
"X home+pos+neg", "Y home+pos+neg", "Z home+pos" .
I think that's why my ini missing several settings for homing in the first place, such as:
HOME_IGNORE_LIMITS
HOME_SEARCH_VEL
HOME_LATCH_VEL
HOME_FINAL_VEL

Finally, I change Y2 section of my hal:
From:
#*** Y1 Axis Output Pins
net y1step           => parport.0.pin-04-out
setp parport.0.pin-04-out-invert 1
setp parport.0.pin-04-out-reset 1
setp parport.0.pin-05-out-invert 1
net y1dir            => parport.0.pin-05-out

#*** Wrong for my Y2 wiring
net y2step           => parport.0.pin-06-out
setp parport.0.pin-06-out-reset 1
net y2dir            => parport.0.pin-07-out

To:
#*** Y1 Axis Output Pins
net y1step           => parport.0.pin-04-out
setp parport.0.pin-04-out-invert 1
setp parport.0.pin-04-out-reset 1
setp parport.0.pin-05-out-invert 1
net y1dir            => parport.0.pin-05-out

#*** Y2 Axis Output Pins
net y2step           => parport.0.pin-06-out
setp parport.0.pin-06-out-invert 1 
setp parport.0.pin-06-out-reset 1
setp parport.0.pin-07-out-invert 1 
net y2dir            => parport.0.pin-07-out

Besides that, I did some minor changes to other config values.

Right now my machine works like a charm.
well, I haven't actually put some real work for it to run, but at least it "jogs" like a charm.

Many thanks to PCW, tommylight, Todd Zuercher, Clive s.
Your suggestions gave me good clues to start debugging my hal and ini.
Saving me form overwhelmed by hundreds pages of documents.

There's more to discover in linuxcnc.
But right now, I am very happy that my machine finally start operating.
The following user(s) said Thank You: tommylight, Clive S

Please Log in or Create an account to join the conversation.

More
22 Sep 2019 18:12 #145877 by chochoit
I am going to post my working hal and ini.
Hope that will help someone like me.

My system info:
Software: linuxcnc 2.9 (upgrade from linuxcnc 2.7.0 with Debian wheezy)
Controller: Mainly TB6560 with X Y Z A B , and various pings for limit switch.
X: 1 nema 23 step motor with 2 limit switch.
Y: 2 nema 23 step motors with 2 limit switch, forming a Y gantry.
Z: 1 nema 23 step motor with 1 limit switch.

Note that my Y1 and Y2 motor's should rotate in reverse way( Y1 go clockwise, Y2 must go counterclockwise)
to correctly move Y gantry.
And, by factory default, my Y1 and Y2 motors' connectors wiring are different.
Y1 looks like B+ B- A- A+, Y2 looks like A+ A- B- B+
In this case, the setting in Stepconfig for Y1 and Y2 should be THE SAME.
I.E. if Y1 check invert, Y2 should check invert, vise versa.

Last but not least, my X and Y both have 2 limit switches for pos and neg, but have no separate home switch.
So, when selecting switch mode for limit switch in Stepconfig,
one should choose something like "X +home+both".

By using the following hal and ini, my linuxcnc can be up and running.
The X and Y can jog at full speed.
There might be some other issue in these configs,
but it's a good start point for me.
# This config file was created 2019-09-19 08:13:39.070156 by the update_ini script
# The original config files may be found in the /home/spuser/linuxcnc/configs/120x120/120x120.old.old directory

# Generated by stepconf 1.1 at Thu Sep 19 05:29:10 2019
# If you make changes to this file, they will be
# overwritten when you run stepconf again

[EMC]
# The version string for this INI file.
VERSION = 1.1

MACHINE = 120x120
DEBUG = 0

[DISPLAY]
DISPLAY = axis
#DISPLAY = gmoccapy
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
ARCDIVISION = 64
GRIDS = 10mm 20mm 50mm 100mm 1in 2in 5in 10in
MAX_FEED_OVERRIDE = 2
MIN_SPINDLE_OVERRIDE = 0.5
MAX_SPINDLE_OVERRIDE = 1.2
DEFAULT_LINEAR_VELOCITY = 100.00
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 300.00
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/spuser/linuxcnc/nc_files
INCREMENTS =200mm 100mm 10mm 1mm .1mm .01mm .001mm
PYVCP = custompanel.xml

[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python

[RS274NGC]
PARAMETER_FILE = linuxcnc.var


[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
## ?? ##
BASE_PERIOD = 31250
SERVO_PERIOD = 1000000

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[HAL]
HALFILE = 120x120.hal
HALFILE = custom.hal
POSTGUI_HALFILE = custom_postgui.hal

[HALUI]
#No Content

[KINS]
JOINTS = 4
KINEMATICS = trivkins coordinates=XYYZ kinstype=BOTH
#This is a best-guess at the number of joints, it should be checked

[TRAJ]
COORDINATES =  XYZ
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 60.00
MAX_LINEAR_VELOCITY = 600.00

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl

[AXIS_X]
MIN_LIMIT = 0.0
MAX_LIMIT = 1200.0
MAX_VELOCITY = 300.0
MAX_ACCELERATION = 300.0

[JOINT_0]
TYPE = LINEAR
MAX_VELOCITY = 300.0
MAX_ACCELERATION = 300.0
STEPGEN_MAXACCEL = 330.0
SCALE = 53.3333333333
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = 0.0
MAX_LIMIT = 1200.0
HOME_SEQUENCE = 1
HOME = 100.0
HOME_OFFSET = 5.0
HOME_IGNORE_LIMITS = YES
HOME_SEARCH_VEL = -8
HOME_LATCH_VEL = -1
HOME_FINAL_VEL = 300
HOME_USE_INDEX = NO

[AXIS_Y]
MIN_LIMIT = 0.0
MAX_LIMIT = 1200.0
MAX_VELOCITY = 300.0
MAX_ACCELERATION = 300.0

[JOINT_1]
TYPE = LINEAR
MAX_VELOCITY = 300.0
MAX_ACCELERATION = 300.0
STEPGEN_MAXACCEL = 330.0
SCALE = 53.3333333333
FERROR = 1
HOME_SEQUENCE = -2
HOME = 100
HOME_OFFSET = 5.0
HOME_IGNORE_LIMITS = YES
HOME_SEARCH_VEL = -8
HOME_LATCH_VEL = -1
HOME_FINAL_VEL = 300
HOME_USE_INDEX = NO

[JOINT_2]
TYPE = LINEAR
MAX_VELOCITY = 300.0
MAX_ACCELERATION = 300.0
STEPGEN_MAXACCEL = 330.0
SCALE = 53.3333333333
FERROR = 1
HOME_SEQUENCE = -2
HOME = 100
HOME_OFFSET = 5.0
HOME_IGNORE_LIMITS = YES
HOME_SEARCH_VEL = -8
HOME_LATCH_VEL = -1
HOME_FINAL_VEL = 300
HOME_USE_INDEX = NO

[AXIS_Z]
MIN_LIMIT = -150.0
MAX_LIMIT = 5
MAX_VELOCITY = 300.0
MAX_ACCELERATION = 300.0

[JOINT_3]
TYPE = LINEAR
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 300.0
STEPGEN_MAXACCEL = 330.0
SCALE = 106.666666667
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -150.0
MAX_LIMIT = 5
HOME_SEQUENCE = 0
HOME = 2.0
HOME_OFFSET = 5.0
HOME_IGNORE_LIMITS = YES
HOME_SEARCH_VEL = 6
HOME_LATCH_VEL = 1
HOME_USE_INDEX = NO


my working hal
# Generated by stepconf 1.1 at Thu Sep 19 05:29:10 2019
# If you make changes to this file, they will be
# overwritten when you run stepconf again
loadrt [KINS]KINEMATICS
#autoconverted  trivkins
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,0
loadrt pwmgen output_type=1

addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf pwmgen.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
addf pwmgen.update servo-thread

net spindle-cmd-rpm => pwmgen.0.value
net spindle-on <= spindle.0.on => pwmgen.0.enable
net spindle-pwm <= pwmgen.0.pwm
setp pwmgen.0.pwm-freq 100.0
setp pwmgen.0.scale 1166.66666667
setp pwmgen.0.offset 0.114285714286
setp pwmgen.0.dither-pwm true
net spindle-cmd-rpm     <= spindle.0.speed-out
net spindle-cmd-rpm-abs <= spindle.0.speed-out-abs
net spindle-cmd-rps     <= spindle.0.speed-out-rps
net spindle-cmd-rps-abs <= spindle.0.speed-out-rps-abs
net spindle-at-speed    => spindle.0.at-speed
net spindle-cw <= spindle.0.forward

net probe-in => motion.probe-input

net spindle-on      => parport.0.pin-01-out

#*** X Axis Output Pins
net xstep           => parport.0.pin-02-out
setp parport.0.pin-02-out-invert 1
setp parport.0.pin-02-out-reset 1
setp parport.0.pin-03-out-invert 1
net xdir            => parport.0.pin-03-out

#*** Y1 Axis Output Pins
net y1step           => parport.0.pin-04-out
setp parport.0.pin-04-out-invert 1
setp parport.0.pin-04-out-reset 1
setp parport.0.pin-05-out-invert 1
net y1dir            => parport.0.pin-05-out

#*** Y2 Axis Output Pins
net y2step           => parport.0.pin-06-out
setp parport.0.pin-06-out-invert 1
setp parport.0.pin-06-out-reset 1
setp parport.0.pin-07-out-invert 1
net y2dir            => parport.0.pin-07-out

#*** Z Axis Output Pins
net zstep           => parport.0.pin-08-out
setp parport.0.pin-08-out-invert 1
setp parport.0.pin-08-out-reset 1
setp parport.0.pin-09-out-invert 1
net zdir            => parport.0.pin-09-out

#*** Home and limit switch inputs
net spindle-cw      => parport.0.pin-14-out
net spindle-pwm     => parport.0.pin-16-out
net xenable         => parport.0.pin-17-out
net estop-ext       <= parport.0.pin-10-in
#net min-home-y      <= parport.0.pin-11-in
#net min-home-z      <= parport.0.pin-12-in-not
#net probe-in        <= parport.0.pin-13-in
#net min-home-x      <= parport.0.pin-15-in
net both-home-y          <= parport.0.pin-11-in-not
net both-home-z          <= parport.0.pin-12-in-not
net probe-in        <= parport.0.pin-13-in
net both-home-x          <= parport.0.pin-15-in-not

setp stepgen.0.position-scale [JOINT_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 0
setp stepgen.0.dirhold 35000
setp stepgen.0.dirsetup 35000
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 both-home-x => joint.0.neg-lim-sw-in
net both-home-x => joint.0.pos-lim-sw-in
net both-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 35000
setp stepgen.1.dirsetup 35000
setp stepgen.1.maxaccel [JOINT_1]STEPGEN_MAXACCEL
net y1pos-cmd joint.1.motor-pos-cmd => stepgen.1.position-cmd
net y1pos-fb stepgen.1.position-fb => joint.1.motor-pos-fb
net y1step <= stepgen.1.step
net y1dir <= stepgen.1.dir
net y1enable joint.1.amp-enable-out => stepgen.1.enable
net both-home-y => joint.1.neg-lim-sw-in
net both-home-y => joint.1.pos-lim-sw-in
net both-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 35000
setp stepgen.2.dirsetup 35000
setp stepgen.2.maxaccel [JOINT_2]STEPGEN_MAXACCEL
net y2pos-cmd joint.2.motor-pos-cmd => stepgen.2.position-cmd
net y2pos-fb stepgen.2.position-fb => joint.2.motor-pos-fb
net y2step <= stepgen.2.step
net y2dir <= stepgen.2.dir
net y2enable joint.2.amp-enable-out => stepgen.2.enable
net both-home-y => joint.2.neg-lim-sw-in
net both-home-y => joint.2.pos-lim-sw-in
net both-home-y => joint.2.home-sw-in

setp stepgen.3.position-scale [JOINT_3]SCALE
setp stepgen.3.steplen 1
setp stepgen.3.stepspace 0
setp stepgen.3.dirhold 35000
setp stepgen.3.dirsetup 35000
setp stepgen.3.maxaccel [JOINT_3]STEPGEN_MAXACCEL
net zpos-cmd joint.3.motor-pos-cmd => stepgen.3.position-cmd
net zpos-fb stepgen.3.position-fb => joint.3.motor-pos-fb
net zstep <= stepgen.3.step
net zdir <= stepgen.3.dir
net zenable joint.3.amp-enable-out => stepgen.3.enable
net both-home-z => joint.3.neg-lim-sw-in
net both-home-z => joint.3.pos-lim-sw-in
net both-home-z => joint.3.home-sw-in

net estop-out <= iocontrol.0.user-enable-out
net estop-ext => iocontrol.0.emc-enable-in

loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
The following user(s) said Thank You: andypugh

Please Log in or Create an account to join the conversation.

More
22 Sep 2019 18:16 #145879 by chochoit

Have you ever homed the gantry?
(that is I suspect you have never got out of telop mode due to homing issues)


I got my system working.
Thank you for continuing follow my problem.
I do learned a lot from your suggestions.

Please Log in or Create an account to join the conversation.

More
18 Feb 2020 09:14 - 18 Feb 2020 09:27 #157691 by Bobi
Hello, I`m now a Wheezy 2.9 user with gantry XYYZ machine. On ver. 2.7 my YY motors where connected together as one axis. Max Jog Velocity for the axis where 46000 mm/min. Now after update to 2.9 I have separate joints Y1 Y2 with homing sensors for each joint. But at the same Max Jog Velocity as V 2.7,( I mean 46000 mm/min) " joint 1, or joint 2 following error " message occurs. After reducing Max Velocity by half , the machine works ok, and the massage does not occur.
Where does the diffrence in Max Jog Velocity come from? Any ideas?

PS. The machine is based on stepper motors.
Last edit: 18 Feb 2020 09:27 by Bobi.

Please Log in or Create an account to join the conversation.

More
18 Feb 2020 10:10 #157695 by captain chaos
Have you checked your latency, after updating mine almost doubled, when from old Ubuntu 10.04 Linuxcnc3 to Wheezy 2.7 with Linux cnc2.8

cheers
Paul

Please Log in or Create an account to join the conversation.

Time to create page: 0.095 seconds
Powered by Kunena Forum