Provided by: linuxcnc-uspace_2.9.0~pre0+git20220402.2500863908-4build1_amd64 bug

NAME

       gantry - LinuxCNC HAL component for driving multiple joints from a single axis

SYNOPSIS

       loadrt gantry [count=N|names=name1[,name2...]] [personality=P,P,...]

DESCRIPTION

       Drives multiple physical motors (joints) from a single axis input

       The  `personality'  value  is  the number of joints to control.  Two is typical, but up to
       seven is supported (a three joint setup has been tested with hardware).

       All controlled joints track the commanded position (with a per-joint offset) unless in the
       process  of  homing.   Homing  is when the commanded position is moving towards the homing
       switches (as determined by the sign of search-vel) and the joint home switches are not all
       in  the  same  state.   When  the  system is homing and a joint home switch activates, the
       command value sent to that joint is  "frozen"  and  the  joint  offset  value  is  updated
       instead.   Once  all  home  switches are active, there are no more adjustments made to the
       offset values and all joints run in lock-step once more.

       For best results, set HOME_SEARCH_VEL and HOME_LATCH_VEL to the same direction and as slow
       as  practical.   When  a  joint  home  switch  trips,  the  commanded  velocity  will drop
       immediately from HOME_SEARCH_VEL to zero, with no limit on acceleration.

FUNCTIONS

       gantry.N.read (requires a floating-point thread)
              Update position-fb and home/limit outputs based on joint values

       gantry.N.write (requires a floating-point thread)
              Update joint pos-cmd outputs based on position-cmd in

PINS

       gantry.N.joint.MM.pos-cmd float out (MM=00..personality)
              Per-joint commanded position

       gantry.N.joint.MM.pos-fb float in (MM=00..personality)
              Per-joint position feedback

       gantry.N.joint.MM.home bit in (MM=00..personality)
              Per-joint home switch

       gantry.N.joint.MM.offset float out (MM=00..personality)
              (debugging) Per-joint offset value, updated when homing

       gantry.N.position-cmd float in
              Commanded position from motion

       gantry.N.position-fb float out
              Position feedback to motion

       gantry.N.home bit out
              Combined home signal, true if all joint home inputs are true

       gantry.N.limit bit out
              Combined limit signal, true if any joint home input is true

       gantry.N.search-vel float in
              HOME_SEARCH_VEL from ini file

LICENSE

       GPL